diff --git a/.gitignore b/.gitignore index 611abc7a..c38c29cd 100644 --- a/.gitignore +++ b/.gitignore @@ -25,4 +25,4 @@ junit.xml .xo-resources.json coverage /.vscode -/storybook-static +/storybook-static \ No newline at end of file diff --git a/README.md b/README.md index b48e3af7..2b4a6508 100644 --- a/README.md +++ b/README.md @@ -114,11 +114,32 @@ Example of usage: ``` -### Issues +## Issues -Create an issue on github +Create an [issue](/issues) on github -## [Contributing](CONTRIBUTING.md) +## Contributing + +View [contributing docs](CONTRIBUTING.md) + +## Figma Code Connect + +**Publishing** + +``` +npx figma connect publish --token +``` + +**Unpublishing** + +``` +npx figma connect unpublish --token +``` + +**Helpful links:** + +- [React Docs](https://github.com/figma/code-connect/blob/main/cli/README.md) +- [SwiftUI Docs](https://github.com/figma/code-connect/blob/main/swiftui/README.md) ## Changelog diff --git a/figma.config.json b/figma.config.json new file mode 100644 index 00000000..4436bbbd --- /dev/null +++ b/figma.config.json @@ -0,0 +1,33 @@ +{ + "codeConnect": { + "include": ["src/**/*.figma.tsx", "src/**/*.tsx"], + "exclude": ["test/**", "docs/**", "build/**"], + + "react": { + "importPaths": { + "src/ebay-alert-dialog/*": "@ebay/ui-core-react/ebay-alert-dialog", + "src/ebay-badge/*": "@ebay/ui-core-react/ebay-badge", + "src/ebay-breadcrumbs/*": "@ebay/ui-core-react/ebay-breadcrumbs", + "src/ebay-button/*": "@ebay/ui-core-react/ebay-button", + "src/ebay-calendar/*": "@ebay/ui-core-react/ebay-calendar", + "src/ebay-checkbox/*": "@ebay/ui-core-react/ebay-checkbox", + "src/ebay-icon-button/*": "@ebay/ui-core-react/ebay-icon-button", + "src/ebay-page-notice/*": "@ebay/ui-core-react/ebay-page-notice", + "src/ebay-pagination/*": "@ebay/ui-core-react/ebay-pagination", + "src/ebay-progress-stepper/*": "@ebay/ui-core-react/ebay-progress-stepper", + "src/ebay-radio/*": "@ebay/ui-core-react/ebay-radio", + "src/ebay-select/*": "@ebay/ui-core-react/ebay-select", + "src/ebay-section-title/*": "@ebay/ui-core-react/ebay-section-title", + "src/ebay-signal/*": "@ebay/ui-core-react/ebay-signal", + "src/ebay-snackbar-dialog/*": "@ebay/ui-core-react/ebay-snackbar-dialog", + "src/ebay-switch/*": "@ebay/ui-core-react/ebay-switch", + "src/ebay-tabs/*": "@ebay/ui-core-react/ebay-tabs", + "src/ebay-textbox/*": "@ebay/ui-core-react/ebay-textbox", + "src/ebay-tooltip/*": "@ebay/ui-core-react/ebay-tooltip", + "src/ebay-tourtip/*": "@ebay/ui-core-react/ebay-tourtip", + "src/ebay-video/*": "@ebay/ui-core-react/ebay-video" + }, + "paths": {} + } + } +} diff --git a/package.json b/package.json index fd04560b..91058b91 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,8 @@ "storybook-node16": "storybook dev -p 9001 -c .storybook", "build-storybook": "storybook build", "storybook:publish": "NODE_OPTIONS=--openssl-legacy-provider yarn build-storybook --output-dir storybook-static/$(git branch --show-current) && gh-pages --add --message=\"Deploying to gh-pages from @ eBay/ebayui-core-react@$(git rev-parse --short HEAD) 🚀\" -d storybook-static", + "figma:publish": "npx figma connect publish --token $FIGMA_TOKEN", + "figma:unpublish": "npx figma connect unpublish --token $FIGMA_TOKEN", "test": "yarn jest", "build": "yarn typecheck && yarn tsc", "typecheck": "tsc --project tsconfig.typecheck.json", @@ -62,6 +64,7 @@ "@babel/preset-typescript": "^7.23.3", "@babel/register": "^7.0.0", "@ebay/skin": "^17.0.0", + "@figma/code-connect": "^0.1.2", "@microsoft/eslint-formatter-sarif": "^3.0.0", "@storybook/addon-a11y": "^7.6.12", "@storybook/addon-essentials": "^7.4.6", diff --git a/src/ebay-alert-dialog/README.md b/src/ebay-alert-dialog/README.md index ba6e3ffc..c19639f5 100644 --- a/src/ebay-alert-dialog/README.md +++ b/src/ebay-alert-dialog/README.md @@ -6,7 +6,7 @@ ## Usage ```react - + Heading

Body content

diff --git a/src/ebay-alert-dialog/index.figma.tsx b/src/ebay-alert-dialog/index.figma.tsx new file mode 100644 index 00000000..e09f0486 --- /dev/null +++ b/src/ebay-alert-dialog/index.figma.tsx @@ -0,0 +1,23 @@ +import figma from '@figma/code-connect' + +import React from 'react' +import { EbayAlertDialog } from '.' +/* @ts-ignore: this is only to help code connect */ +import { EbayDialogHeader } from '@ebay/ui-core-react/ebay-dialog-base' + +figma.connect( + EbayAlertDialog, + 'https://www.figma.com/design/zEBdEhbonrBOGzZ0fXzWvM/eBay-Design-System?node-id=16420-100&m=dev', + { + props: { + Title: figma.string('Title'), + Body: figma.string('Body') + }, + example: ({ Body, Title }) => ( + + {Title} +

{Body}

+
+ ) + } +) diff --git a/src/ebay-badge/index.figma.tsx b/src/ebay-badge/index.figma.tsx new file mode 100644 index 00000000..a4df0a1a --- /dev/null +++ b/src/ebay-badge/index.figma.tsx @@ -0,0 +1,15 @@ +import figma from '@figma/code-connect' + +import React from 'react' +import { EbayBadge } from '.' + +figma.connect( + EbayBadge, + 'https://www.figma.com/design/zEBdEhbonrBOGzZ0fXzWvM/eBay-Design-System?node-id=38612-44629&m=dev', + { + props: { + label: figma.string('label') + }, + example: ({ label }) => + } +) diff --git a/src/ebay-breadcrumbs/index.figma.tsx b/src/ebay-breadcrumbs/index.figma.tsx new file mode 100644 index 00000000..77810d3b --- /dev/null +++ b/src/ebay-breadcrumbs/index.figma.tsx @@ -0,0 +1,18 @@ +import figma from '@figma/code-connect' + +import React from 'react' +import { EbayBreadcrumbs, EbayBreadcrumbItem } from '.' + +figma.connect( + EbayBreadcrumbs, + 'https://www.figma.com/design/zEBdEhbonrBOGzZ0fXzWvM/eBay-Design-System?node-id=67603-81724&m=dev', + { + example: () => ( + + eBay + Auto Parts and Vehicles + Motors Parts and Accessories + + ) + } +) diff --git a/src/ebay-button/index.figma.tsx b/src/ebay-button/index.figma.tsx new file mode 100644 index 00000000..8b0befac --- /dev/null +++ b/src/ebay-button/index.figma.tsx @@ -0,0 +1,96 @@ +import figma from '@figma/code-connect' + +import React from 'react' +import { EbayButton } from '.' + +// button +figma.connect( + EbayButton, + 'https://www.figma.com/design/zEBdEhbonrBOGzZ0fXzWvM/eBay-Design-System?node-id=65849-91206&m=dev', + { + props: { + state: figma.enum('state', { + disabled: true, + enabled: false + }), + title: figma.string('Title'), + size: figma.enum('size', { + medium: 'regular', + small: 'small', + large: 'large' + }) + }, + example: ({ state, size, title }) => ( + + {title} + + ) + } +) + +// button destructive +figma.connect( + EbayButton, + 'https://www.figma.com/design/zEBdEhbonrBOGzZ0fXzWvM/eBay-Design-System?node-id=129298-738861&m=dev', + { + props: { + state: figma.enum('state', { + disabled: true, + enabled: false + }), + title: figma.string('Title'), + size: figma.enum('size', { + medium: 'regular', + small: 'small', + large: 'large' + }) + }, + example: ({ state, size, title }) => ( + + {title} + + ) + } +) + +// button branded +figma.connect( + EbayButton, + 'https://www.figma.com/design/zEBdEhbonrBOGzZ0fXzWvM/eBay-Design-System?node-id=129776-224141&m=dev', + { + props: { + title: figma.string('Title'), + size: figma.enum('size', { + medium: 'regular', + small: 'small', + large: 'large' + }) + }, + example: ({ size, title }) => ( + + {title} + + ) + } +) + +// button link (borderless) +figma.connect( + EbayButton, + 'https://www.figma.com/design/zEBdEhbonrBOGzZ0fXzWvM/eBay-Design-System?node-id=109500-131885&m=dev', + { + props: { + title: figma.string('Title'), + size: figma.enum('size', { + medium: 'regular', + small: 'small', + large: 'large' + }) + }, + example: ({ size, title }) => ( + + {title} + + ) + } +) diff --git a/src/ebay-calendar/README.md b/src/ebay-calendar/README.md index 6b7576e4..0877c844 100644 --- a/src/ebay-calendar/README.md +++ b/src/ebay-calendar/README.md @@ -21,27 +21,27 @@ import "@ebay/skin/calendar"; ## Attributes -| Name | Type | Stateful | Description | Data | +| Name | Type | Stateful | Description | Data | | | ---------------------- | ---------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ | --- | -| `navigable` | Boolean | No | If true, a header is included that allows for navigation between months | -| `interactive` | Boolean | No | Date cells are contained in buttons for interactive calendars, and spans otherwise | -| `numMonths` | Number | No | Number of months to be displayed at once | -| `range` | Boolean | No | True if selecting a range, false if a single value | -| `selected` | Date, Date[] | No | Date or list of dates that are selected, represented as an ISO string or an array of ISO strings | -| `locale` | String | No | Locale of the date picker, default to `navigator.language` | -| `disableBefore` | Date | No | First date that may be selected | -| `disableAfter` | Date | No | Last date that may be selected | -| `disableWeekdays` | Number[] | No | List of weekdays that are disabled. Must be an array of numbers, where Sunday is `0` and Saturday is `6` | -| `disableList` | String[], Date[] | No | List of specific days that are disabled. Should be a list of ISO strings, but also accepts timestamps or `Date` objects | -| `linkBuilder` | Function | No | Function used to build the href for each date. The function is passed the date as a `Date` object, and should return a url string. For dates that don't have a link, the function should return a falsy value | -| `getA11yShowMonthText` | Function | No | Function used to get the text for showing previous and next months, defaults to `Show ${monthName}` | -| `a11ySelectedText` | String | No | Text to be read by screen readers when a date is selected, defaults to `Selected` | -| `a11yRangeStartText` | String | No | Text to be read by screen readers when a date is the start of a range, defaults to `Start of range` | -| `a11yInRangeText` | String | No | Text to be read by screen readers when a date is in a range, defaults to `in range` | -| `a11yRangeEndText` | String | No | Text to be read by screen readers when a date is the end of a range, defaults to `End of range` | -| `a11yTodayText` | String | No | Text to be read by screen readers when a date is the current date, defaults to `Today` | -| `a11yDisabledText` | String | No | Text to be read by screen readers when a date is disabled, defaults to `inactive` | -| `a11ySeparator` | String | No | Text to be read by screen readers to separate properties, defaults to `-` | +| `navigable` | Boolean | No | If true, a header is included that allows for navigation between months | | | +| `interactive` | Boolean | No | Date cells are contained in buttons for interactive calendars, and spans otherwise | | | +| `numMonths` | Number | No | Number of months to be displayed at once | | | +| `range` | Boolean | No | True if selecting a range, false if a single value | | | +| `selected` | Date, Date[] | No | Date or list of dates that are selected, represented as an ISO string or an array of ISO strings | | | +| `locale` | String | No | Locale of the date picker, default to `navigator.language` | | | +| `disableBefore` | Date | No | First date that may be selected | | | +| `disableAfter` | Date | No | Last date that may be selected | | | +| `disableWeekdays` | Number[] | No | List of weekdays that are disabled. Must be an array of numbers, where Sunday is `0` and Saturday is `6` | | | +| `disableList` | String[], Date[] | No | List of specific days that are disabled. Should be a list of ISO strings, but also accepts timestamps or `Date` objects | | | +| `linkBuilder` | Function | No | Function used to build the href for each date. The function is passed the date as a `Date` object, and should return a url string. For dates that don't have a link, the function should return a falsy value | | | +| `getA11yShowMonthText` | Function | No | Function used to get the text for showing previous and next months, defaults to `Show ${monthName}` | | | +| `a11ySelectedText` | String | No | Text to be read by screen readers when a date is selected, defaults to `Selected` | | | +| `a11yRangeStartText` | String | No | Text to be read by screen readers when a date is the start of a range, defaults to `Start of range` | | | +| `a11yInRangeText` | String | No | Text to be read by screen readers when a date is in a range, defaults to `in range` | | | +| `a11yRangeEndText` | String | No | Text to be read by screen readers when a date is the end of a range, defaults to `End of range` | | | +| `a11yTodayText` | String | No | Text to be read by screen readers when a date is the current date, defaults to `Today` | | | +| `a11yDisabledText` | String | No | Text to be read by screen readers when a date is disabled, defaults to `inactive` | | | +| `a11ySeparator` | String | No | Text to be read by screen readers to separate properties, defaults to `-` | | | | `onFocus` | Function | - | Triggered when a day is focused on, typically via keyboard events | `(event: FocusEvent, { iso })` | | | `onSelect` | Function | - | Triggered when a day is selected | `(event: Event, { iso })` | | | `onMonthChange` | Function | - | Triggered during month navigation | `(event: Event, { iso })` | | diff --git a/src/ebay-calendar/index.figma.tsx b/src/ebay-calendar/index.figma.tsx new file mode 100644 index 00000000..66e44213 --- /dev/null +++ b/src/ebay-calendar/index.figma.tsx @@ -0,0 +1,26 @@ +import figma from '@figma/code-connect' + +import React from 'react' +import { EbayCalendar } from '.' + +// single month +figma.connect( + EbayCalendar, + 'https://www.figma.com/design/zEBdEhbonrBOGzZ0fXzWvM/eBay-Design-System?node-id=68524-79110&m=dev', + { + example: () => ( + + ) + } +) + +// multi-month +figma.connect( + EbayCalendar, + 'https://www.figma.com/design/zEBdEhbonrBOGzZ0fXzWvM/eBay-Design-System?node-id=68524-79119&m=dev', + { + example: () => ( + + ) + } +) diff --git a/src/ebay-checkbox/index.figma.tsx b/src/ebay-checkbox/index.figma.tsx new file mode 100644 index 00000000..87346256 --- /dev/null +++ b/src/ebay-checkbox/index.figma.tsx @@ -0,0 +1,31 @@ +import figma from '@figma/code-connect' + +import React from 'react' +import { EbayCheckbox } from '.' +/* @ts-ignore: this is only to help code connect */ +import { EbayLabel } from '@ebay/ui-core-react/ebay-field' + +// selection field +figma.connect( + EbayCheckbox, + 'https://www.figma.com/design/zEBdEhbonrBOGzZ0fXzWvM/eBay-Design-System?node-id=13789-23765&m=dev', + { + variant: { 'control type': 'checkbox' }, + example: () => ( + + Remember me + + ) + } +) + +// checkbox only +figma.connect( + EbayCheckbox, + 'https://www.figma.com/design/zEBdEhbonrBOGzZ0fXzWvM/eBay-Design-System?node-id=10407-293&m=dev', + { + example: () => ( + + ) + } +) diff --git a/src/ebay-icon-button/index.figma.tsx b/src/ebay-icon-button/index.figma.tsx new file mode 100644 index 00000000..8b3634f3 --- /dev/null +++ b/src/ebay-icon-button/index.figma.tsx @@ -0,0 +1,15 @@ +import figma from '@figma/code-connect' + +import React from 'react' +import { EbayIconButton } from '.' + +// button +figma.connect( + EbayIconButton, + 'https://www.figma.com/design/zEBdEhbonrBOGzZ0fXzWvM/eBay-Design-System?node-id=65935-91936&m=dev', + { + example: () => ( + + ) + } +) diff --git a/src/ebay-page-notice/index.figma.tsx b/src/ebay-page-notice/index.figma.tsx new file mode 100644 index 00000000..aa1cb5fa --- /dev/null +++ b/src/ebay-page-notice/index.figma.tsx @@ -0,0 +1,27 @@ +import figma from '@figma/code-connect' + +import React from 'react' +import { EbayPageNotice, EbayNoticeContent, EbayPageNoticeTitle, EbayPageNoticeFooter } from '.' +/* @ts-ignore: this is only to help code connect */ +import { EbayButton } from '@ebay/ui-core-react/ebay-button' + +figma.connect( + EbayPageNotice, + 'https://www.figma.com/design/zEBdEhbonrBOGzZ0fXzWvM/eBay-Design-System?node-id=64873-99272&m=dev', + { + props: { + Body: figma.string('Body') + }, + example: ({ Body }) => ( + + + Notification title +

{Body}

+
+ + Action + +
+ ) + } +) diff --git a/src/ebay-pagination/index.figma.tsx b/src/ebay-pagination/index.figma.tsx new file mode 100644 index 00000000..5879f179 --- /dev/null +++ b/src/ebay-pagination/index.figma.tsx @@ -0,0 +1,24 @@ +import figma from '@figma/code-connect' + +import React from 'react' +import { EbayPagination, EbayPaginationItem } from '.' + +figma.connect( + EbayPagination, + 'https://www.figma.com/design/zEBdEhbonrBOGzZ0fXzWvM/eBay-Design-System?node-id=30164-31155&m=dev', + { + example: () => ( + + + item 1 + item 2 + item 3 + + + ) + } +) diff --git a/src/ebay-progress-stepper/index.figma.tsx b/src/ebay-progress-stepper/index.figma.tsx new file mode 100644 index 00000000..c97debef --- /dev/null +++ b/src/ebay-progress-stepper/index.figma.tsx @@ -0,0 +1,19 @@ +import figma from '@figma/code-connect' + +import React from 'react' +import { EbayProgressStepper, EbayProgressStep as Step } from '.' + +figma.connect( + EbayProgressStepper, + 'https://www.figma.com/design/zEBdEhbonrBOGzZ0fXzWvM/eBay-Design-System?node-id=72990-81100&m=dev', + { + example: () => ( + + Started + Shipped + Transit + Delivered + + ) + } +) diff --git a/src/ebay-radio/index.figma.tsx b/src/ebay-radio/index.figma.tsx new file mode 100644 index 00000000..2fedc0ec --- /dev/null +++ b/src/ebay-radio/index.figma.tsx @@ -0,0 +1,31 @@ +import figma from '@figma/code-connect' + +import React from 'react' +import { EbayRadio } from '.' +/* @ts-ignore: this is only to help code connect */ +import { EbayLabel } from '@ebay/ui-core-react/ebay-field' + +// selection field +figma.connect( + EbayRadio, + 'https://www.figma.com/design/zEBdEhbonrBOGzZ0fXzWvM/eBay-Design-System?node-id=13789-23765&m=dev', + { + variant: { 'control type': 'radio' }, + example: () => ( + + Remember me + + ) + } +) + +// radio only +figma.connect( + EbayRadio, + 'https://www.figma.com/design/zEBdEhbonrBOGzZ0fXzWvM/eBay-Design-System?node-id=10385-1&m=dev', + { + example: () => ( + + ) + } +) diff --git a/src/ebay-section-title/index.figma.tsx b/src/ebay-section-title/index.figma.tsx new file mode 100644 index 00000000..ae2d83a9 --- /dev/null +++ b/src/ebay-section-title/index.figma.tsx @@ -0,0 +1,78 @@ +import figma from '@figma/code-connect' + +import React from 'react' +import { + EbaySectionTitle, + EbaySectionTitleTitle as Title, + EbaySectionTitleSubtitle as Subtitle +} from '.' + +// has both button and subtitle set +figma.connect( + EbaySectionTitle, + 'https://www.figma.com/design/zEBdEhbonrBOGzZ0fXzWvM/eBay-Design-System?node-id=78903-90028&m=dev', + { + variant: { 'button?': true, 'subtitle?': true }, + props: { + titleText: figma.string('Title') + }, + example: ({ titleText }) => ( + + {titleText} + Lorem ipsum dolor sit amet + + ) + } +) + +// only subtitle set +figma.connect( + EbaySectionTitle, + 'https://www.figma.com/design/zEBdEhbonrBOGzZ0fXzWvM/eBay-Design-System?node-id=78903-90028&m=dev', + { + variant: { 'button?': false, 'subtitle?': true }, + props: { + titleText: figma.string('Title') + }, + example: ({ titleText }) => ( + + {titleText} + Lorem ipsum dolor sit amet + + ) + } +) + +// only button set +figma.connect( + EbaySectionTitle, + 'https://www.figma.com/design/zEBdEhbonrBOGzZ0fXzWvM/eBay-Design-System?node-id=78903-90028&m=dev', + { + variant: { 'button?': true, 'subtitle?': false }, + props: { + titleText: figma.string('Title') + }, + example: ({ titleText }) => ( + + {titleText} + + ) + } +) + +// just title set +figma.connect( + EbaySectionTitle, + 'https://www.figma.com/design/zEBdEhbonrBOGzZ0fXzWvM/eBay-Design-System?node-id=78903-90028&m=dev', + { + variant: { 'button?': false, 'subtitle?': false }, + props: { + titleText: figma.string('Title') + }, + example: ({ titleText }) => ( + + {titleText} + + ) + } +) diff --git a/src/ebay-select/README.md b/src/ebay-select/README.md index 922ac14e..75a26df1 100644 --- a/src/ebay-select/README.md +++ b/src/ebay-select/README.md @@ -26,7 +26,7 @@ import '@ebay/skin/floating-label.css'; ## Usage When no selected option is specified: ```jsx harmony - + Option 1 Option 2 Option 3 diff --git a/src/ebay-select/index.figma.tsx b/src/ebay-select/index.figma.tsx new file mode 100644 index 00000000..588e3960 --- /dev/null +++ b/src/ebay-select/index.figma.tsx @@ -0,0 +1,32 @@ +import figma from '@figma/code-connect' + +import React from 'react' +import { EbaySelect, EbaySelectOption } from '.' + +figma.connect( + EbaySelect, + 'https://www.figma.com/design/zEBdEhbonrBOGzZ0fXzWvM/eBay-Design-System?node-id=137211-228217&m=dev', + { + example: () => ( + + Option 1 + Option 2 + Option 3 + + ) + } +) + +figma.connect( + EbaySelect, + 'https://www.figma.com/design/zEBdEhbonrBOGzZ0fXzWvM/eBay-Design-System?node-id=10031-217&m=dev', + { + example: () => ( + + Option 1 + Option 2 + Option 3 + + ) + } +) diff --git a/src/ebay-signal/index.figma.tsx b/src/ebay-signal/index.figma.tsx new file mode 100644 index 00000000..81eaa904 --- /dev/null +++ b/src/ebay-signal/index.figma.tsx @@ -0,0 +1,17 @@ +import figma from '@figma/code-connect' + +import React from 'react' +import { EbaySignal } from '.' + +figma.connect( + EbaySignal, + 'https://www.figma.com/design/zEBdEhbonrBOGzZ0fXzWvM/eBay-Design-System?node-id=10051-5&m=dev', + { + props: { + type: figma.string('type') + }, + example: ({ type }) => ( + {type} + ) + } +) diff --git a/src/ebay-snackbar-dialog/index.figma.tsx b/src/ebay-snackbar-dialog/index.figma.tsx new file mode 100644 index 00000000..a80a6e2b --- /dev/null +++ b/src/ebay-snackbar-dialog/index.figma.tsx @@ -0,0 +1,41 @@ +import figma from '@figma/code-connect' + +import React from 'react' +import { EbaySnackbarDialog, EbaySnackbarDialogAction } from '.' + +// no action needed +figma.connect( + EbaySnackbarDialog, + 'https://www.figma.com/design/zEBdEhbonrBOGzZ0fXzWvM/eBay-Design-System?node-id=15902-21578&m=dev', + { + variant: { 'action': 'none' }, + props: { + Body: figma.string('Body') + }, + example: ({ Body }) => ( + +

{Body}

+
+ ) + } +) + +// has action set +figma.connect( + EbaySnackbarDialog, + 'https://www.figma.com/design/zEBdEhbonrBOGzZ0fXzWvM/eBay-Design-System?node-id=15902-21578&m=dev', + { + props: { + Body: figma.string('Body'), + ButtonTitle: figma.string('Button title') + }, + example: ({ Body, ButtonTitle }) => ( + +

{Body}

+ + {ButtonTitle} + +
+ ) + } +) diff --git a/src/ebay-switch/index.figma.tsx b/src/ebay-switch/index.figma.tsx new file mode 100644 index 00000000..15b64146 --- /dev/null +++ b/src/ebay-switch/index.figma.tsx @@ -0,0 +1,31 @@ +import figma from '@figma/code-connect' + +import React from 'react' +import { EbaySwitch } from '.' +/* @ts-ignore: this is only to help code connect */ +import { EbayLabel } from '@ebay/ui-core-react/ebay-field' + +// selection field +figma.connect( + EbaySwitch, + 'https://www.figma.com/design/zEBdEhbonrBOGzZ0fXzWvM/eBay-Design-System?node-id=13789-23765&m=dev', + { + variant: { 'control type': 'switch' }, + example: () => ( + + Remember me + + ) + } +) + +// switch only +figma.connect( + EbaySwitch, + 'https://www.figma.com/design/zEBdEhbonrBOGzZ0fXzWvM/eBay-Design-System?node-id=10385-3&m=dev', + { + example: () => ( + + ) + } +) diff --git a/src/ebay-tabs/index.figma.tsx b/src/ebay-tabs/index.figma.tsx new file mode 100644 index 00000000..a8f52b4c --- /dev/null +++ b/src/ebay-tabs/index.figma.tsx @@ -0,0 +1,21 @@ +import figma from '@figma/code-connect' + +import React from 'react' +import { EbayTabs, EbayTab, EbayTabPanel } from '.' + +figma.connect( + EbayTabs, + 'https://www.figma.com/design/zEBdEhbonrBOGzZ0fXzWvM/eBay-Design-System?node-id=30493-33853&m=dev', + { + example: () => ( + + Tab 1 + Tab 2 + Tab 3 + Panel 1 + Panel 2 + Panel 3 + + ) + } +) diff --git a/src/ebay-textbox/index.figma.tsx b/src/ebay-textbox/index.figma.tsx new file mode 100644 index 00000000..2f9f465d --- /dev/null +++ b/src/ebay-textbox/index.figma.tsx @@ -0,0 +1,27 @@ +import figma from '@figma/code-connect' + +import React from 'react' +import { EbayTextbox } from '.' + +figma.connect( + EbayTextbox, + 'https://www.figma.com/design/zEBdEhbonrBOGzZ0fXzWvM/eBay-Design-System?node-id=25465-6418&m=dev', + { + props: { + Value: figma.string('Value') + }, + example: ({ Value }) => ( + + ) + } +) + +figma.connect( + EbayTextbox, + 'https://www.figma.com/design/zEBdEhbonrBOGzZ0fXzWvM/eBay-Design-System?node-id=25465-5522&m=dev', + { + example: () => ( + + ) + } +) diff --git a/src/ebay-tooltip/index.figma.tsx b/src/ebay-tooltip/index.figma.tsx new file mode 100644 index 00000000..6851b10c --- /dev/null +++ b/src/ebay-tooltip/index.figma.tsx @@ -0,0 +1,26 @@ +import figma from '@figma/code-connect' + +import React from 'react' +import { EbayTooltip, EbayTooltipHost, EbayTooltipContent } from '.' +/* @ts-ignore: this is only to help code connect */ +import { EbayButton } from '@ebay/ui-core-react/ebay-button' + +figma.connect( + EbayTooltip, + 'https://www.figma.com/design/zEBdEhbonrBOGzZ0fXzWvM/eBay-Design-System?node-id=54797-91005&m=dev', + { + props: { + Description: figma.string('Description') + }, + example: ({ Description }) => ( + + + Info + + + {Description} + + + ) + } +) diff --git a/src/ebay-tourtip/index.figma.tsx b/src/ebay-tourtip/index.figma.tsx new file mode 100644 index 00000000..471e3655 --- /dev/null +++ b/src/ebay-tourtip/index.figma.tsx @@ -0,0 +1,34 @@ +import figma from '@figma/code-connect' + +import React from 'react' +import { + EbayTourtip, + EbayTourtipContent, + EbayTourtipFooter, + EbayTourtipHeading, + EbayTourtipHost +} from '.' +/* @ts-ignore: this is only to help code connect */ +import { EbayButton } from '@ebay/ui-core-react/ebay-button' + +figma.connect( + EbayTourtip, + 'https://www.figma.com/design/zEBdEhbonrBOGzZ0fXzWvM/eBay-Design-System?node-id=54797-91102&m=dev', + { + example: () => ( + + + Info + + Title + +

Lorem ipsum dolor sit amet consectetur adipisicing elit.

+
+ + + + +
+ ) + } +) diff --git a/src/ebay-video/index.figma.tsx b/src/ebay-video/index.figma.tsx new file mode 100644 index 00000000..6f65662a --- /dev/null +++ b/src/ebay-video/index.figma.tsx @@ -0,0 +1,25 @@ +import figma from '@figma/code-connect' + +import React from 'react' +import { EbayVideo, EbayVideoSource } from '.' + +figma.connect( + EbayVideo, + 'https://www.figma.com/design/zEBdEhbonrBOGzZ0fXzWvM/eBay-Design-System?node-id=128145-216829&m=dev', + { + example: () => ( + { + // console.log('handle error', err) + }} + a11yLoadText="loading" + a11yPlayText="play" + errorText="error loading video" + > + + + ) + } +) diff --git a/yarn.lock b/yarn.lock index e7b5ba54..0480a211 100644 --- a/yarn.lock +++ b/yarn.lock @@ -42,6 +42,14 @@ "@babel/highlight" "^7.23.4" chalk "^2.4.2" +"@babel/code-frame@^7.24.2": + version "7.24.2" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.2.tgz#718b4b19841809a58b29b68cde80bc5e1aa6d9ae" + integrity sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ== + dependencies: + "@babel/highlight" "^7.24.2" + picocolors "^1.0.0" + "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.23.5": version "7.23.5" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.5.tgz#ffb878728bb6bdcb6f4510aa51b1be9afb8cfd98" @@ -68,6 +76,27 @@ json5 "^2.2.3" semver "^6.3.1" +"@babel/core@^7.23.6": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.24.5.tgz#15ab5b98e101972d171aeef92ac70d8d6718f06a" + integrity sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.24.2" + "@babel/generator" "^7.24.5" + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-module-transforms" "^7.24.5" + "@babel/helpers" "^7.24.5" + "@babel/parser" "^7.24.5" + "@babel/template" "^7.24.0" + "@babel/traverse" "^7.24.5" + "@babel/types" "^7.24.5" + convert-source-map "^2.0.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.3" + semver "^6.3.1" + "@babel/generator@^7.23.0", "@babel/generator@^7.23.6", "@babel/generator@^7.7.2": version "7.23.6" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.6.tgz#9e1fca4811c77a10580d17d26b57b036133f3c2e" @@ -78,6 +107,16 @@ "@jridgewell/trace-mapping" "^0.3.17" jsesc "^2.5.1" +"@babel/generator@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.24.5.tgz#e5afc068f932f05616b66713e28d0f04e99daeb3" + integrity sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA== + dependencies: + "@babel/types" "^7.24.5" + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.25" + jsesc "^2.5.1" + "@babel/helper-annotate-as-pure@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz#e7f06737b197d580a01edf75d97e2c8be99d3882" @@ -183,6 +222,13 @@ dependencies: "@babel/types" "^7.22.15" +"@babel/helper-module-imports@^7.24.3": + version "7.24.3" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz#6ac476e6d168c7c23ff3ba3cf4f7841d46ac8128" + integrity sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg== + dependencies: + "@babel/types" "^7.24.0" + "@babel/helper-module-transforms@^7.23.3": version "7.23.3" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1" @@ -194,6 +240,17 @@ "@babel/helper-split-export-declaration" "^7.22.6" "@babel/helper-validator-identifier" "^7.22.20" +"@babel/helper-module-transforms@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.24.5.tgz#ea6c5e33f7b262a0ae762fd5986355c45f54a545" + integrity sha512-9GxeY8c2d2mdQUP1Dye0ks3VDyIMS98kt/llQ2nUId8IsWqTF0l1LkSX0/uP7l7MCDrzXS009Hyhe2gzTiGW8A== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-module-imports" "^7.24.3" + "@babel/helper-simple-access" "^7.24.5" + "@babel/helper-split-export-declaration" "^7.24.5" + "@babel/helper-validator-identifier" "^7.24.5" + "@babel/helper-optimise-call-expression@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz#f21531a9ccbff644fdd156b4077c16ff0c3f609e" @@ -231,6 +288,13 @@ dependencies: "@babel/types" "^7.22.5" +"@babel/helper-simple-access@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.24.5.tgz#50da5b72f58c16b07fbd992810be6049478e85ba" + integrity sha512-uH3Hmf5q5n7n8mz7arjUlDOCbttY/DW4DYhE6FUsjKJ/oYC1kQQUvwEQWxRwUpX9qQKRXeqLwWxrqilMrf32sQ== + dependencies: + "@babel/types" "^7.24.5" + "@babel/helper-skip-transparent-expression-wrappers@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz#007f15240b5751c537c40e77abb4e89eeaaa8847" @@ -245,16 +309,33 @@ dependencies: "@babel/types" "^7.22.5" +"@babel/helper-split-export-declaration@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.5.tgz#b9a67f06a46b0b339323617c8c6213b9055a78b6" + integrity sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q== + dependencies: + "@babel/types" "^7.24.5" + "@babel/helper-string-parser@^7.23.4": version "7.23.4" resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz#9478c707febcbbe1ddb38a3d91a2e054ae622d83" integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ== +"@babel/helper-string-parser@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz#f99c36d3593db9540705d0739a1f10b5e20c696e" + integrity sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ== + "@babel/helper-validator-identifier@^7.22.20": version "7.22.20" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== +"@babel/helper-validator-identifier@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.5.tgz#918b1a7fa23056603506370089bd990d8720db62" + integrity sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA== + "@babel/helper-validator-option@^7.22.15", "@babel/helper-validator-option@^7.23.5": version "7.23.5" resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307" @@ -278,6 +359,15 @@ "@babel/traverse" "^7.24.0" "@babel/types" "^7.24.0" +"@babel/helpers@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.24.5.tgz#fedeb87eeafa62b621160402181ad8585a22a40a" + integrity sha512-CiQmBMMpMQHwM5m01YnrM6imUG1ebgYJ+fAIW4FZe6m4qHTPaRHti+R8cggAwkdz4oXhtO4/K9JWlh+8hIfR2Q== + dependencies: + "@babel/template" "^7.24.0" + "@babel/traverse" "^7.24.5" + "@babel/types" "^7.24.5" + "@babel/highlight@^7.10.4", "@babel/highlight@^7.23.4": version "7.23.4" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.23.4.tgz#edaadf4d8232e1a961432db785091207ead0621b" @@ -287,11 +377,26 @@ chalk "^2.4.2" js-tokens "^4.0.0" +"@babel/highlight@^7.24.2": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.5.tgz#bc0613f98e1dd0720e99b2a9ee3760194a704b6e" + integrity sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw== + dependencies: + "@babel/helper-validator-identifier" "^7.24.5" + chalk "^2.4.2" + js-tokens "^4.0.0" + picocolors "^1.0.0" + "@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.0", "@babel/parser@^7.23.9", "@babel/parser@^7.24.0": version "7.24.0" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.0.tgz#26a3d1ff49031c53a97d03b604375f028746a9ac" integrity sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg== +"@babel/parser@^7.23.6", "@babel/parser@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.5.tgz#4a4d5ab4315579e5398a82dcf636ca80c3392790" + integrity sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg== + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.23.3": version "7.23.3" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz#5cd1c87ba9380d0afb78469292c954fee5d2411a" @@ -1098,6 +1203,22 @@ debug "^4.3.1" globals "^11.1.0" +"@babel/traverse@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.5.tgz#972aa0bc45f16983bf64aa1f877b2dd0eea7e6f8" + integrity sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA== + dependencies: + "@babel/code-frame" "^7.24.2" + "@babel/generator" "^7.24.5" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.24.5" + "@babel/parser" "^7.24.5" + "@babel/types" "^7.24.5" + debug "^4.3.1" + globals "^11.1.0" + "@babel/types@^7.0.0", "@babel/types@^7.18.9", "@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.4", "@babel/types@^7.23.6", "@babel/types@^7.24.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": version "7.24.0" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.0.tgz#3b951f435a92e7333eba05b7566fd297960ea1bf" @@ -1107,6 +1228,15 @@ "@babel/helper-validator-identifier" "^7.22.20" to-fast-properties "^2.0.0" +"@babel/types@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.5.tgz#7661930afc638a5383eb0c4aee59b74f38db84d7" + integrity sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ== + dependencies: + "@babel/helper-string-parser" "^7.24.1" + "@babel/helper-validator-identifier" "^7.24.5" + to-fast-properties "^2.0.0" + "@base2/pretty-print-object@1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@base2/pretty-print-object/-/pretty-print-object-1.0.1.tgz#371ba8be66d556812dc7fb169ebc3c08378f69d4" @@ -1299,6 +1429,26 @@ resolved "https://registry.yarnpkg.com/@fal-works/esbuild-plugin-global-externals/-/esbuild-plugin-global-externals-2.1.2.tgz#c05ed35ad82df8e6ac616c68b92c2282bd083ba4" integrity sha512-cEee/Z+I12mZcFJshKcCqC8tuX5hG3s+d+9nZ3LabqKF1vKdF41B92pJVCBggjAGORAeOzyyDDKrZwIkLffeOQ== +"@figma/code-connect@^0.1.2": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@figma/code-connect/-/code-connect-0.1.2.tgz#11853f193f2b9988b80e8169b364a5ace132d520" + integrity sha512-50Jg5sxCt0Ch/WRDT1hOKWxG42IKB5JovpG3rLp4NO4z9qC4XPJKDTLwmRPg0VKw23Hn9ETPP4D8HyMVpsDVBA== + dependencies: + "@babel/core" "^7.23.6" + "@babel/generator" "^7.23.6" + "@babel/parser" "^7.23.6" + "@babel/types" "^7.23.6" + "@storybook/csf-tools" "^7.6.7" + axios "^1.6.0" + chalk "^4.1.2" + commander "^11.1.0" + dotenv "^16.3.1" + glob "^10.3.10" + lodash "^4.17.21" + minimatch "^9.0.3" + prettier "^3.2.4" + typescript "5.4.2" + "@floating-ui/core@^1.0.0": version "1.6.0" resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.6.0.tgz#fa41b87812a16bf123122bf945946bae3fdf7fc1" @@ -2268,6 +2418,18 @@ telejson "^7.2.0" tiny-invariant "^1.3.1" +"@storybook/channels@7.6.19": + version "7.6.19" + resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-7.6.19.tgz#730fa74f7800e2069707f8a880996ca6fc8957ab" + integrity sha512-2JGh+i95GwjtjqWqhtEh15jM5ifwbRGmXeFqkY7dpdHH50EEWafYHr2mg3opK3heVDwg0rJ/VBptkmshloXuvA== + dependencies: + "@storybook/client-logger" "7.6.19" + "@storybook/core-events" "7.6.19" + "@storybook/global" "^5.0.0" + qs "^6.10.0" + telejson "^7.2.0" + tiny-invariant "^1.3.1" + "@storybook/cli@7.6.17": version "7.6.17" resolved "https://registry.yarnpkg.com/@storybook/cli/-/cli-7.6.17.tgz#04462c97a926e3dfcc18f3df02519effe29740e2" @@ -2328,6 +2490,13 @@ dependencies: "@storybook/global" "^5.0.0" +"@storybook/client-logger@7.6.19": + version "7.6.19" + resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-7.6.19.tgz#a6f91af8cdc640ace9903674b6340ad8173238cc" + integrity sha512-oGzOxbmLmciSIfd5gsxDzPmX8DttWhoYdPKxjMuCuWLTO2TWpkCWp1FTUMWO72mm/6V/FswT/aqpJJBBvdZ3RQ== + dependencies: + "@storybook/global" "^5.0.0" + "@storybook/codemod@7.6.17": version "7.6.17" resolved "https://registry.yarnpkg.com/@storybook/codemod/-/codemod-7.6.17.tgz#c93d87d74f43fd475d48edb178233e89329b72c2" @@ -2431,6 +2600,13 @@ dependencies: ts-dedent "^2.0.0" +"@storybook/core-events@7.6.19": + version "7.6.19" + resolved "https://registry.yarnpkg.com/@storybook/core-events/-/core-events-7.6.19.tgz#cfa7d4581ad6cff1ee7eeade31d602a7d879d2b7" + integrity sha512-K/W6Uvum0ocZSgjbi8hiotpe+wDEHDZlvN+KlPqdh9ae9xDK8aBNBq9IelCoqM+uKO1Zj+dDfSQds7CD781DJg== + dependencies: + ts-dedent "^2.0.0" + "@storybook/core-server@7.6.17": version "7.6.17" resolved "https://registry.yarnpkg.com/@storybook/core-server/-/core-server-7.6.17.tgz#bf5b7a9db7abe157a14dba6279936e43efa79250" @@ -2512,6 +2688,21 @@ recast "^0.23.1" ts-dedent "^2.0.0" +"@storybook/csf-tools@^7.6.7": + version "7.6.19" + resolved "https://registry.yarnpkg.com/@storybook/csf-tools/-/csf-tools-7.6.19.tgz#5925f313b8ac4ebdd1c0b9d71279e18bbaab269a" + integrity sha512-8Vzia3cHhDdGHuS3XKXJReCRxmfRq3vmTm/Te9yKZnPSAsC58CCKcMh8FNEFJ44vxYF9itKTkRutjGs+DprKLQ== + dependencies: + "@babel/generator" "^7.23.0" + "@babel/parser" "^7.23.0" + "@babel/traverse" "^7.23.2" + "@babel/types" "^7.23.0" + "@storybook/csf" "^0.1.2" + "@storybook/types" "7.6.19" + fs-extra "^11.1.0" + recast "^0.23.1" + ts-dedent "^2.0.0" + "@storybook/csf@^0.1.0", "@storybook/csf@^0.1.2": version "0.1.3" resolved "https://registry.yarnpkg.com/@storybook/csf/-/csf-0.1.3.tgz#79047a4dece94ba7c8e78003723e9bd9e071379a" @@ -2809,6 +3000,16 @@ "@types/express" "^4.7.0" file-system-cache "2.3.0" +"@storybook/types@7.6.19": + version "7.6.19" + resolved "https://registry.yarnpkg.com/@storybook/types/-/types-7.6.19.tgz#ec73c9afb6003c57e260e1709441af4db9f50190" + integrity sha512-DeGYrRPRMGTVfT7o2rEZtRzyLT2yKTI2exgpnxbwPWEFAduZCSfzBrcBXZ/nb5B0pjA9tUNWls1YzGkJGlkhpg== + dependencies: + "@storybook/channels" "7.6.19" + "@types/babel__core" "^7.0.0" + "@types/express" "^4.7.0" + file-system-cache "2.3.0" + "@swc/core-darwin-arm64@1.4.8": version "1.4.8" resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.4.8.tgz#2fb702e209310c2da2bc712b0757c011b583a60d" @@ -4066,6 +4267,15 @@ axe-core@^4.2.0: resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.8.4.tgz#90db39a2b316f963f00196434d964e6e23648643" integrity sha512-CZLSKisu/bhJ2awW4kJndluz2HLZYIHh5Uy1+ZwDRkJi69811xgIXXfdU9HSLX0Th+ILrHj8qfL/5wzamsFtQg== +axios@^1.6.0: + version "1.6.8" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.8.tgz#66d294951f5d988a00e87a0ffb955316a619ea66" + integrity sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ== + dependencies: + follow-redirects "^1.15.6" + form-data "^4.0.0" + proxy-from-env "^1.1.0" + axobject-query@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-3.2.1.tgz#39c378a6e3b06ca679f29138151e45b2b32da62a" @@ -4587,7 +4797,7 @@ combined-stream@^1.0.8: dependencies: delayed-stream "~1.0.0" -commander@^11.0.0: +commander@^11.0.0, commander@^11.1.0: version "11.1.0" resolved "https://registry.yarnpkg.com/commander/-/commander-11.1.0.tgz#62fdce76006a68e5c1ab3314dc92e800eb83d906" integrity sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ== @@ -5176,7 +5386,7 @@ dotenv-expand@^10.0.0: resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-10.0.0.tgz#12605d00fb0af6d0a592e6558585784032e4ef37" integrity sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A== -dotenv@^16.0.0: +dotenv@^16.0.0, dotenv@^16.3.1: version "16.4.5" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.4.5.tgz#cdd3b3b604cb327e286b4762e13502f717cb099f" integrity sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg== @@ -6232,6 +6442,11 @@ flow-parser@0.*: resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.231.0.tgz#13daa172b3c06ffacbb31025592dc0db41fe28f3" integrity sha512-WVzuqwq7ZnvBceCG0DGeTQebZE+iIU0mlk5PmJgYj9DDrt+0isGC2m1ezW9vxL4V+HERJJo9ExppOnwKH2op6Q== +follow-redirects@^1.15.6: + version "1.15.6" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.6.tgz#7f815c0cda4249c74ff09e95ef97c23b5fd0399b" + integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA== + for-each@^0.3.3: version "0.3.3" resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" @@ -6502,6 +6717,17 @@ glob@^10.0.0: minipass "^5.0.0 || ^6.0.2 || ^7.0.0" path-scurry "^1.10.1" +glob@^10.3.10: + version "10.3.15" + resolved "https://registry.yarnpkg.com/glob/-/glob-10.3.15.tgz#e72bc61bc3038c90605f5dd48543dc67aaf3b50d" + integrity sha512-0c6RlJt1TICLyvJYIApxb8GsXoai0KUP7AxKKAtsYXdgJR1mGEUa7DgwShbdk1nly0PYoZj01xd4hzbq3fsjpw== + dependencies: + foreground-child "^3.1.0" + jackspeak "^2.3.6" + minimatch "^9.0.1" + minipass "^7.0.4" + path-scurry "^1.11.0" + glob@^7.0.3, glob@^7.0.5, glob@^7.1.3, glob@^7.1.4: version "7.2.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" @@ -7292,7 +7518,7 @@ iterator.prototype@^1.1.2: reflect.getprototypeof "^1.0.4" set-function-name "^2.0.1" -jackspeak@^2.3.5: +jackspeak@^2.3.5, jackspeak@^2.3.6: version "2.3.6" resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-2.3.6.tgz#647ecc472238aee4b06ac0e461acc21a8c505ca8" integrity sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ== @@ -8073,6 +8299,11 @@ lower-case@^2.0.2: dependencies: tslib "^2.0.3" +lru-cache@^10.2.0: + version "10.2.2" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.2.2.tgz#48206bc114c1252940c41b25b41af5b545aca878" + integrity sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ== + lru-cache@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" @@ -8311,6 +8542,13 @@ minimatch@^9.0.1: dependencies: brace-expansion "^2.0.1" +minimatch@^9.0.3: + version "9.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.4.tgz#8e49c731d1749cbec05050ee5145147b32496a51" + integrity sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw== + dependencies: + brace-expansion "^2.0.1" + minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: version "1.2.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" @@ -8333,6 +8571,11 @@ minipass@^5.0.0: resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.0.4.tgz#dbce03740f50a4786ba994c1fb908844d27b038c" integrity sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ== +minipass@^7.0.4: + version "7.1.1" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.1.tgz#f7f85aff59aa22f110b20e27692465cf3bf89481" + integrity sha512-UZ7eQ+h8ywIRAW1hIEl2AqdwzJucU/Kp59+8kkZeSvafXhZjul247BvIJjEVFVeON6d7lM46XX1HXCduKAS8VA== + minizlib@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" @@ -8836,6 +9079,14 @@ path-scurry@^1.10.1: lru-cache "^9.1.1 || ^10.0.0" minipass "^5.0.0 || ^6.0.2 || ^7.0.0" +path-scurry@^1.11.0: + version "1.11.1" + resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.11.1.tgz#7960a668888594a0720b12a911d1a742ab9f11d2" + integrity sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA== + dependencies: + lru-cache "^10.2.0" + minipass "^5.0.0 || ^6.0.2 || ^7.0.0" + path-to-regexp@0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" @@ -9009,6 +9260,11 @@ prettier@^2.8.0: resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== +prettier@^3.2.4: + version "3.2.5" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.2.5.tgz#e52bc3090586e824964a8813b09aba6233b28368" + integrity sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A== + pretty-error@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-4.0.0.tgz#90a703f46dd7234adb46d0f84823e9d1cb8f10d6" @@ -9090,7 +9346,7 @@ proxy-addr@~2.0.7: forwarded "0.2.0" ipaddr.js "1.9.1" -proxy-from-env@^1.0.0: +proxy-from-env@^1.0.0, proxy-from-env@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== @@ -10592,6 +10848,11 @@ typescript@4: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== +typescript@5.4.2: + version "5.4.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.4.2.tgz#0ae9cebcfae970718474fe0da2c090cad6577372" + integrity sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ== + ufo@^1.4.0: version "1.5.2" resolved "https://registry.yarnpkg.com/ufo/-/ufo-1.5.2.tgz#e547561ac56896fc8b9a3f2fb2552169f3629035"