diff --git a/.changeset/eleven-plants-grow.md b/.changeset/eleven-plants-grow.md new file mode 100644 index 00000000000..b08e57e1660 --- /dev/null +++ b/.changeset/eleven-plants-grow.md @@ -0,0 +1,5 @@ +--- +"@spectrum-css/generator": patch +--- + +Update story templates to include the cssprops imports diff --git a/.changeset/new-bulldogs-add.md b/.changeset/new-bulldogs-add.md new file mode 100644 index 00000000000..a5328a1d0ac --- /dev/null +++ b/.changeset/new-bulldogs-add.md @@ -0,0 +1,5 @@ +--- +"@spectrum-css/preview": minor +--- + +New feature: Custom properties panel added to the development preview showing a list of modifiable custom properties as loaded from the metadata/metadata.json resource in each component. diff --git a/.eslintrc b/.eslintrc index f422aa9e96a..90621e80f66 100644 --- a/.eslintrc +++ b/.eslintrc @@ -8,6 +8,11 @@ "parserOptions": { "sourceType": "module" }, + "settings": { + "react": { + "version": "detect" + } + }, "extends": "eslint:recommended", "rules": { "brace-style": ["warn", "stroustrup", { "allowSingleLine": true }], @@ -17,7 +22,8 @@ "no-console": ["warn", { "allow": ["warn", "error"] }], "quotes": ["warn", "double"], "semi": ["warn", "always"], - "space-before-blocks": ["warn", "always"] + "space-before-blocks": ["warn", "always"], + "react/jsx-filename-extension": [1, { "extensions": [".js", ".jsx"] }] }, "overrides": [ { @@ -172,8 +178,10 @@ "files": [ "components/*/stories/*.js", ".storybook/*.js", - ".storybook/**/*.js" + ".storybook/**/*.js", + "plugins/storybook-addon-*/*.js" ], + "extends": ["plugin:react/recommended", "plugin:react/jsx-runtime"], "parserOptions": { "ecmaVersion": "latest", "sourceType": "module", diff --git a/.storybook/decorators/utilities.js b/.storybook/decorators/utilities.js index f6722ae79ea..bd22ac68401 100644 --- a/.storybook/decorators/utilities.js +++ b/.storybook/decorators/utilities.js @@ -556,12 +556,12 @@ export const renderContent = (content = [], { if (content.length === 0) return nothing; return html` - ${content.map((c) => { + ${content.map((c, idx) => { if (typeof c === "undefined") return nothing; /* If the content is an object (but not a lit object), we need to merge the object with the template */ if (typeof c !== "string" && (typeof c === "object" && !c._$litType$)) { - return callback({ ...args, ...c }, context); + return callback({ ...args, ...c, idx }, context); } if (typeof c === "function") { diff --git a/.storybook/main.js b/.storybook/main.js index ccd00e2f45e..93e1f9f8f53 100644 --- a/.storybook/main.js +++ b/.storybook/main.js @@ -63,11 +63,13 @@ export default { name: "@storybook/addon-actions", options: {}, }, - // https://www.npmjs.com/package/@whitespace/storybook-addon-html - "@whitespace/storybook-addon-html", + // Local: plugins/storybook-addon-custom-properties + "@spectrum-tools/storybook-addon-custom-properties", // https://github.com/storybookjs/storybook/tree/next/code/addons/a11y - "@storybook/addon-a11y", + "@whitespace/storybook-addon-html", // https://storybook.js.org/addons/@etchteam/storybook-addon-status + "@storybook/addon-a11y", + // https://www.npmjs.com/package/@whitespace/storybook-addon-html "@etchteam/storybook-addon-status", // https://github.com/storybookjs/storybook/tree/next/code/addons/interactions "@storybook/addon-interactions", diff --git a/.storybook/package.json b/.storybook/package.json index 30ab7f9cddf..5ae48b7784c 100644 --- a/.storybook/package.json +++ b/.storybook/package.json @@ -46,9 +46,10 @@ "@spectrum-css/ui-icons": "1.1.2" }, "devDependencies": { - "@babel/core": "^7.26.0", + "@babel/core": "^7.26.10", "@chromatic-com/storybook": "^3.2.3", "@etchteam/storybook-addon-status": "^5.0.0", + "@spectrum-tools/storybook-addon-custom-properties": "0.0.0", "@storybook/addon-a11y": "8.4.7", "@storybook/addon-actions": "8.4.7", "@storybook/addon-designs": "^8.2.1", @@ -65,7 +66,7 @@ "@storybook/theming": "8.4.7", "@storybook/web-components-vite": "8.4.7", "@whitespace/storybook-addon-html": "^6.1.1", - "chromatic": "^11.22.2", + "chromatic": "^11.27.0", "lit": "^3.2.1", "lodash-es": "^4.17.21", "npm-registry-fetch": "^18.0.2", @@ -77,7 +78,7 @@ "remark-gfm": "^4.0.0", "rollup-plugin-postcss-lit": "^2.1.0", "storybook": "8.4.7", - "vite": "^5.4.11" + "vite": "^5.4.14" }, "keywords": [ "design-system", diff --git a/components/accordion/index.css b/components/accordion/index.css index 2e0a7616455..5efc16a6419 100644 --- a/components/accordion/index.css +++ b/components/accordion/index.css @@ -72,6 +72,7 @@ &:lang(ja), &:lang(zh), &:lang(ko) { + /* @description When the language is CJK, update line-height values to prevent cut off diacritics */ --spectrum-accordion-item-header-line-height: var(--spectrum-cjk-line-height-100); --spectrum-accordion-item-content-line-height: var(--spectrum-cjk-line-height-100); } diff --git a/components/accordion/stories/accordion.stories.js b/components/accordion/stories/accordion.stories.js index 3709e75871f..b3aae204bf5 100644 --- a/components/accordion/stories/accordion.stories.js +++ b/components/accordion/stories/accordion.stories.js @@ -3,11 +3,14 @@ import { Sizes } from "@spectrum-css/preview/decorators"; import { disableDefaultModes } from "@spectrum-css/preview/modes"; import { size } from "@spectrum-css/preview/types"; import { Template as Typography } from "@spectrum-css/typography/stories/template.js"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; import { AccordionGroup } from "./accordion.test.js"; import { Template } from "./template.js"; +// Local assets to render the component styles and structure +import styles from "../index.css?inline"; +import metadata from "../dist/metadata.json"; +import packageJson from "../package.json"; + /** * The accordion element contains a list of items that can be expanded or collapsed to reveal additional content or information associated with each item. There can be zero expanded items, exactly one expanded item, or more than one item expanded at a time, depending on the configuration. This list of items is defined by child accordion item elements. * @@ -68,6 +71,7 @@ export default { }, packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/components/actionbar/stories/actionbar.stories.js b/components/actionbar/stories/actionbar.stories.js index aa2e867ea09..1c5706fbd1d 100644 --- a/components/actionbar/stories/actionbar.stories.js +++ b/components/actionbar/stories/actionbar.stories.js @@ -3,11 +3,14 @@ import { default as CloseButton } from "@spectrum-css/closebutton/stories/closeb import { default as Popover } from "@spectrum-css/popover/stories/popover.stories.js"; import { disableDefaultModes } from "@spectrum-css/preview/modes"; import { isEmphasized, isOpen } from "@spectrum-css/preview/types"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; import { ActionBarGroup } from "./actionbar.test.js"; import { BehavioralTemplate } from "./template.js"; +// Local assets to render the component styles and structure +import styles from "../index.css?inline"; +import metadata from "../dist/metadata.json"; +import packageJson from "../package.json"; + /** * The action bar component is a floating full width bar that appears upon selection. Action bars are used for single and bulk selection patterns, when a user needs to perform actions on either a single or multiple items at the same time. * @@ -72,6 +75,7 @@ export default { }, packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/components/actionbar/stories/template.js b/components/actionbar/stories/template.js index 8b134157bd2..d1b9125cfcc 100644 --- a/components/actionbar/stories/template.js +++ b/components/actionbar/stories/template.js @@ -1,10 +1,11 @@ -import { Container } from "@spectrum-css/preview/decorators"; import { Template as ActionGroup } from "@spectrum-css/actiongroup/stories/template.js"; import { Template as CloseButton } from "@spectrum-css/closebutton/stories/template.js"; import { Template as FieldLabel } from "@spectrum-css/fieldlabel/stories/template.js"; import { Template as Popover } from "@spectrum-css/popover/stories/template.js"; +import { Container, getRandomId } from "@spectrum-css/preview/decorators"; import { html } from "lit"; import { classMap } from "lit/directives/class-map.js"; +import { ifDefined } from "lit/directives/if-defined.js"; import { styleMap } from "lit/directives/style-map.js"; import "../index.css"; @@ -14,6 +15,7 @@ import "../themes/express.css"; export const Template = ({ rootClass = "spectrum-ActionBar", + id = getRandomId("action-bar"), size = "m", isOpen = true, isEmphasized = false, @@ -36,6 +38,7 @@ export const Template = ({ "is-open": isOpen, ...customClasses.reduce((a, c) => ({ ...a, [c]: true }), {}), })} + id=${ifDefined(id)} style=${styleMap(customStyles)} > ${Popover({ diff --git a/components/actionbutton/stories/actionbutton.stories.js b/components/actionbutton/stories/actionbutton.stories.js index a08f0f7bbfc..db2ab14815a 100644 --- a/components/actionbutton/stories/actionbutton.stories.js +++ b/components/actionbutton/stories/actionbutton.stories.js @@ -2,11 +2,14 @@ import { default as IconStories } from "@spectrum-css/icon/stories/icon.stories. import { Sizes } from "@spectrum-css/preview/decorators"; import { disableDefaultModes } from "@spectrum-css/preview/modes"; import { isActive, isDisabled, isEmphasized, isFocused, isHovered, isQuiet, isSelected, size, staticColor } from "@spectrum-css/preview/types"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; import { ActionButtonGroup } from "./actionbutton.test.js"; import { ActionButtonsWithIconOptions, IconOnlyOption, TreatmentTemplate } from "./template.js"; +// Local assets to render the component styles and structure +import styles from "../index.css?inline"; +import metadata from "../dist/metadata.json"; +import packageJson from "../package.json"; + /** * The action button component represents an action a user can take. * @@ -90,6 +93,7 @@ export default { }, packageJson, metadata, + cssprops: { styles }, docs: { story: { height: "auto", diff --git a/components/actionbutton/stories/template.js b/components/actionbutton/stories/template.js index 425b7e4115c..8fe3fb96d59 100644 --- a/components/actionbutton/stories/template.js +++ b/components/actionbutton/stories/template.js @@ -46,6 +46,7 @@ import { Template as Icon } from "@spectrum-css/icon/stories/template.js"; */ export const Template = ({ rootClass = "spectrum-ActionButton", + id = getRandomId("action-button"), size = "m", iconName, iconSet = "workflow", @@ -65,7 +66,6 @@ export const Template = ({ customStyles = {}, customIconClasses = [], onclick, - id = getRandomId("actionbutton"), testId, role = "button", } = {}, context = {}) => { diff --git a/components/actiongroup/stories/actiongroup.stories.js b/components/actiongroup/stories/actiongroup.stories.js index a83857b9e54..f1de7f56585 100644 --- a/components/actiongroup/stories/actiongroup.stories.js +++ b/components/actiongroup/stories/actiongroup.stories.js @@ -2,11 +2,14 @@ import { default as ActionButton } from "@spectrum-css/actionbutton/stories/acti import { Sizes } from "@spectrum-css/preview/decorators"; import { disableDefaultModes } from "@spectrum-css/preview/modes"; import { size } from "@spectrum-css/preview/types"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; import { ActionGroups } from "./actiongroup.test.js"; import { OverflowOption, TreatmentTemplate } from "./template.js"; +// Local assets to render the component styles and structure +import styles from "../index.css?inline"; +import metadata from "../dist/metadata.json"; +import packageJson from "../package.json"; + /** * An action group is a grouping of [action buttons](/docs/components-action-button--docs) that are related to each other. */ @@ -99,6 +102,7 @@ export default { }, packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/components/actiongroup/stories/template.js b/components/actiongroup/stories/template.js index d13cdac64aa..29bf8f1af7c 100644 --- a/components/actiongroup/stories/template.js +++ b/components/actiongroup/stories/template.js @@ -1,7 +1,8 @@ import { Template as ActionButton } from "@spectrum-css/actionbutton/stories/template.js"; -import { Container, renderContent } from "@spectrum-css/preview/decorators"; +import { Container, getRandomId, renderContent } from "@spectrum-css/preview/decorators"; import { html } from "lit"; import { classMap } from "lit/directives/class-map.js"; +import { ifDefined } from "lit/directives/if-defined.js"; import { styleMap } from "lit/directives/style-map.js"; import { capitalize } from "lodash-es"; @@ -12,6 +13,7 @@ import "../themes/express.css"; export const Template = ({ rootClass = "spectrum-ActionGroup", + id = getRandomId("accordion-group"), size = "m", areQuiet = false, areEmphasized = false, @@ -41,6 +43,7 @@ export const Template = ({ ...customClasses.reduce((a, c) => ({ ...a, [c]: true }), {}), })} style=${styleMap(customStyles)} + id=${ifDefined(id)} > ${renderContent(content, { callback: ActionButton, diff --git a/components/actionmenu/stories/actionmenu.stories.js b/components/actionmenu/stories/actionmenu.stories.js index e9cdd3b8a14..44bc6cc0f6c 100644 --- a/components/actionmenu/stories/actionmenu.stories.js +++ b/components/actionmenu/stories/actionmenu.stories.js @@ -4,9 +4,11 @@ import { default as Menu } from "@spectrum-css/menu/stories/menu.stories.js"; import { default as Popover } from "@spectrum-css/popover/stories/popover.stories.js"; import { disableDefaultModes } from "@spectrum-css/preview/modes"; import { isOpen } from "@spectrum-css/preview/types"; -import packageJson from "../package.json"; import { ActionMenuGroup } from "./actionmenu.test.js"; +// Local assets to render the component styles and structure +import packageJson from "../package.json"; + /** * The action menu component is an action button with a popover. The `is-selected` class should be applied to the button when the menu is open. Note that the accessibility roles are different for an action menu compared to a normal menu. */ @@ -49,6 +51,7 @@ export default { ], }, packageJson, + cssprops: false, docs: { story: { height: "200px", diff --git a/components/actionmenu/stories/template.js b/components/actionmenu/stories/template.js index c4bc29768d9..19b6e722612 100644 --- a/components/actionmenu/stories/template.js +++ b/components/actionmenu/stories/template.js @@ -4,7 +4,7 @@ import { Template as Popover } from "@spectrum-css/popover/stories/template.js"; import { getRandomId } from "@spectrum-css/preview/decorators"; export const Template = ({ - id = getRandomId("actionmenu"), + id = getRandomId("action-menu"), testId, triggerId = getRandomId("actionmenu-trigger"), customClasses = [], diff --git a/components/alertbanner/stories/alertbanner.stories.js b/components/alertbanner/stories/alertbanner.stories.js index cd49c21a70e..581607409be 100644 --- a/components/alertbanner/stories/alertbanner.stories.js +++ b/components/alertbanner/stories/alertbanner.stories.js @@ -5,6 +5,9 @@ import packageJson from "../package.json"; import { AlertBannerGroup } from "./alertbanner.test.js"; import { ActionableOptionsTemplate, Template, TextOverflowTemplate } from "./template.js"; +// Local assets to render the component styles and structure +import styles from "../index.css?inline"; + /** * The alert banner shows pressing and high-signal messages, such as system alerts. It is meant to be noticed and prompt users to take action. * It should occupy all of the available horizontal space until it reaches its maximum allowed width. @@ -75,6 +78,7 @@ export default { }, packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/components/alertbanner/stories/template.js b/components/alertbanner/stories/template.js index 3eb719c0612..11134f2a311 100644 --- a/components/alertbanner/stories/template.js +++ b/components/alertbanner/stories/template.js @@ -16,7 +16,7 @@ import "../themes/express.css"; export const Template = ({ rootClass = "spectrum-AlertBanner", - id = getRandomId("alertbanner"), + id = getRandomId("alert-banner"), testId, isOpen = true, text, @@ -35,7 +35,7 @@ export const Template = ({ ...customClasses.reduce((a, c) => ({ ...a, [c]: true }), {}), })} style=${styleMap(customStyles)} - id=${id} + id=${ifDefined(id)} data-testid=${ifDefined(testId)} >
{ return html` diff --git a/components/asset/stories/asset.stories.js b/components/asset/stories/asset.stories.js index 927c1009aad..8ace5641b75 100644 --- a/components/asset/stories/asset.stories.js +++ b/components/asset/stories/asset.stories.js @@ -1,9 +1,12 @@ import { disableDefaultModes } from "@spectrum-css/preview/modes"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; import { AssetGroup } from "./asset.test.js"; import { Template } from "./template.js"; +// Local assets to render the component styles and structure +import styles from "../index.css?inline"; +import metadata from "../dist/metadata.json"; +import packageJson from "../package.json"; + /** * Use an asset element to visually represent a file, folder or image. File and folder representations will center themselves horizontally and vertically in the space provided to the element. Images will be contained to the element, growing to the element's full height while centering itself within the width provided. */ @@ -38,6 +41,7 @@ export default { parameters: { packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/components/assetcard/stories/assetcard.stories.js b/components/assetcard/stories/assetcard.stories.js index 2e917fbc25c..a56e9eeb17a 100644 --- a/components/assetcard/stories/assetcard.stories.js +++ b/components/assetcard/stories/assetcard.stories.js @@ -1,11 +1,14 @@ import { default as Checkbox } from "@spectrum-css/checkbox/stories/checkbox.stories.js"; import { disableDefaultModes } from "@spectrum-css/preview/modes"; import { isFocused, isSelected } from "@spectrum-css/preview/types"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; import { AssetCardGroup } from "./assetcard.test.js"; import { Template } from "./template.js"; +// Local assets to render the component styles and structure +import styles from "../index.css?inline"; +import metadata from "../dist/metadata.json"; +import packageJson from "../package.json"; + /** * The asset card component allows users to select and manage assets and their metadata in a grid. * @@ -92,6 +95,7 @@ export default { }, packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/components/assetcard/stories/template.js b/components/assetcard/stories/template.js index 864fcd951b7..6620830bba5 100644 --- a/components/assetcard/stories/template.js +++ b/components/assetcard/stories/template.js @@ -14,6 +14,7 @@ import "../themes/express.css"; export const Template = ({ rootClass = "spectrum-AssetCard", + id = getRandomId("asset-card"), image, exampleImage, title, @@ -25,7 +26,6 @@ export const Template = ({ isDropTarget = false, customClasses = [], customStyles = {}, - id = getRandomId("assetcard"), testId, } = {}, context = {}) => { const { updateArgs } = context; diff --git a/components/assetlist/stories/assetlist.stories.js b/components/assetlist/stories/assetlist.stories.js index d421267b95d..3f0b733070c 100644 --- a/components/assetlist/stories/assetlist.stories.js +++ b/components/assetlist/stories/assetlist.stories.js @@ -1,8 +1,11 @@ import { default as Checkbox } from "@spectrum-css/checkbox/stories/checkbox.stories.js"; import { disableDefaultModes } from "@spectrum-css/preview/modes"; +import { AssetListGroup } from "./assetlist.test.js"; + +// Local assets to render the component styles and structure +import styles from "../index.css?inline"; import metadata from "../dist/metadata.json"; import packageJson from "../package.json"; -import { AssetListGroup } from "./assetlist.test.js"; /** * A selectable list of assets, often used inside of miller columns. @@ -22,6 +25,7 @@ export default { }, packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/components/assetlist/stories/template.js b/components/assetlist/stories/template.js index 96d8f75a80c..ec54c32659e 100644 --- a/components/assetlist/stories/template.js +++ b/components/assetlist/stories/template.js @@ -25,6 +25,7 @@ export const AssetListItem = ({ isBranch = false, onclick = () => {}, } = {}, context = {}) => html` + ${when(styles, () => html``)}
  • + ${when(image, () => html`asset image thumbnail` )} - ${when(iconName, () => + ${when(iconName, () => Icon({ iconName, setName: iconSet, @@ -76,9 +77,9 @@ export const AssetListItem = ({ export const Template = ({ rootClass = "spectrum-AssetList", + id = getRandomId("asset-list"), items = [], customClasses = [], - id = getRandomId("assetlist"), } = {}, context = {}) => { return html` diff --git a/components/button/stories/button.stories.js b/components/button/stories/button.stories.js index 2de4d54053b..eaebf344006 100644 --- a/components/button/stories/button.stories.js +++ b/components/button/stories/button.stories.js @@ -2,11 +2,14 @@ import { default as IconStories } from "@spectrum-css/icon/stories/icon.stories. import { Sizes } from "@spectrum-css/preview/decorators"; import { disableDefaultModes } from "@spectrum-css/preview/modes"; import { isActive, isDisabled, isFocused, isHovered, isPending, size, staticColor } from "@spectrum-css/preview/types"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; import { ButtonGroups } from "./button.test.js"; import { ButtonsWithIconOptions, TextOverflowTemplate, TextWrapTemplate, TreatmentTemplate } from "./template.js"; +// Local assets to render the component styles and structure +import styles from "../index.css?inline"; +import metadata from "../dist/metadata.json"; +import packageJson from "../package.json"; + /** * Buttons allow users to perform an action or to navigate to another page. They have multiple styles for various needs, and are ideal for calling attention to where a user needs to do something in order to move forward in a flow. * @@ -95,6 +98,7 @@ export default { }, packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/components/buttongroup/stories/buttongroup.stories.js b/components/buttongroup/stories/buttongroup.stories.js index ba7e125de76..c0778981d27 100644 --- a/components/buttongroup/stories/buttongroup.stories.js +++ b/components/buttongroup/stories/buttongroup.stories.js @@ -1,11 +1,14 @@ import { default as Icon } from "@spectrum-css/icon/stories/icon.stories.js"; import { disableDefaultModes } from "@spectrum-css/preview/modes"; import { size } from "@spectrum-css/preview/types"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; import { ButtonGroup } from "./buttongroup.test.js"; import { Template } from "./template.js"; +// Local assets to render the component styles and structure +import styles from "../index.css?inline"; +import metadata from "../dist/metadata.json"; +import packageJson from "../package.json"; + /** * A button group is a grouping of buttons whose actions are related to each other. */ @@ -64,6 +67,7 @@ export default { }, packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/components/calendar/stories/calendar.stories.js b/components/calendar/stories/calendar.stories.js index 303121e9610..699437f72d1 100644 --- a/components/calendar/stories/calendar.stories.js +++ b/components/calendar/stories/calendar.stories.js @@ -1,11 +1,14 @@ import ActionButtonStories from "@spectrum-css/actionbutton/stories/actionbutton.stories.js"; import { disableDefaultModes } from "@spectrum-css/preview/modes"; import { isDisabled, isFocused } from "@spectrum-css/preview/types"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; import { CalendarGroup } from "./calendar.test.js"; import { Template } from "./template.js"; +// Local assets to render the component styles and structure +import styles from "../index.css?inline"; +import metadata from "../dist/metadata.json"; +import packageJson from "../package.json"; + const months = [...Array(12).keys()].map((key) => new Date(0, key).toLocaleString("en", { month: "long" }) ); @@ -117,6 +120,7 @@ export default { }, packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/components/card/stories/card.stories.js b/components/card/stories/card.stories.js index 2d8147cda37..96024b10944 100644 --- a/components/card/stories/card.stories.js +++ b/components/card/stories/card.stories.js @@ -2,11 +2,14 @@ import { default as ActionButton } from "@spectrum-css/actionbutton/stories/acti import { default as Checkbox } from "@spectrum-css/checkbox/stories/checkbox.stories.js"; import { disableDefaultModes } from "@spectrum-css/preview/modes"; import { isFocused, isQuiet, isSelected } from "@spectrum-css/preview/types"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; import { CardGroup } from "./card.test.js"; import { Template } from "./template.js"; +// Local assets to render the component styles and structure +import styles from "../index.css?inline"; +import metadata from "../dist/metadata.json"; +import packageJson from "../package.json"; + /** * A card represents a rectangular space to contain text or images. Cards are typically used to encapsulate units of a data set, such as a gallery of image/caption pairs. */ @@ -127,6 +130,7 @@ export default { }, packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/components/checkbox/stories/checkbox.stories.js b/components/checkbox/stories/checkbox.stories.js index cbcad99494f..ad053fb21df 100644 --- a/components/checkbox/stories/checkbox.stories.js +++ b/components/checkbox/stories/checkbox.stories.js @@ -6,6 +6,11 @@ import packageJson from "../package.json"; import { CheckboxGroup } from "./checkbox.test.js"; import { AllVariantsCheckboxGroup, DocsCheckboxGroup, Template } from "./template.js"; +// Local assets to render the component styles and structure +import styles from "../index.css?inline"; +import metadata from "../dist/metadata.json"; +import packageJson from "../package.json"; + /** * Checkboxes allow users to select multiple items from a list of individual items, or mark one individual item as selected. * @@ -59,6 +64,7 @@ export default { }, packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/components/clearbutton/stories/clearbutton.stories.js b/components/clearbutton/stories/clearbutton.stories.js index a8dd5359278..631c8cf0388 100644 --- a/components/clearbutton/stories/clearbutton.stories.js +++ b/components/clearbutton/stories/clearbutton.stories.js @@ -1,11 +1,14 @@ import { Sizes } from "@spectrum-css/preview/decorators"; import { disableDefaultModes } from "@spectrum-css/preview/modes"; import { isDisabled, isQuiet, size, staticColor } from "@spectrum-css/preview/types"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; import { ClearButtonGroup } from "./clearbutton.test.js"; import { Template } from "./template.js"; +// Local assets to render the component styles and structure +import styles from "../index.css?inline"; +import metadata from "../dist/metadata.json"; +import packageJson from "../package.json"; + /** * The clear button component is an in-field button used in search and tags. * @@ -61,6 +64,7 @@ export default { parameters: { packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/components/closebutton/stories/closebutton.stories.js b/components/closebutton/stories/closebutton.stories.js index f048e3e23b0..a9e7353cbb7 100644 --- a/components/closebutton/stories/closebutton.stories.js +++ b/components/closebutton/stories/closebutton.stories.js @@ -1,11 +1,14 @@ import { Sizes } from "@spectrum-css/preview/decorators"; import { disableDefaultModes } from "@spectrum-css/preview/modes"; import { isDisabled, isFocused, isHovered, isKeyboardFocused, size, staticColor } from "@spectrum-css/preview/types"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; import { CloseButtonGroup } from "./closebutton.test.js"; import { CloseButtonExample, Template } from "./template.js"; +// Local assets to render the component styles and structure +import styles from "../index.css?inline"; +import metadata from "../dist/metadata.json"; +import packageJson from "../package.json"; + /** * Close button is used to close or dismiss its parent component. It is used inside of other components such * as [toast](?path=/docs/components-toast--docs) and [action bar](?path=/docs/components-action-bar--docs). @@ -52,6 +55,7 @@ export default { }, packageJson, metadata, + cssprops: { styles }, }, }; @@ -135,7 +139,6 @@ StaticBlack.parameters = { chromatic: { disableSnapshot: true }, }; - // ********* VRT ONLY ********* // export const WithForcedColors = CloseButtonGroup.bind({}); WithForcedColors.tags = ["!autodocs", "!dev"]; diff --git a/components/closebutton/stories/template.js b/components/closebutton/stories/template.js index 644ce705f62..d7d54e207e2 100644 --- a/components/closebutton/stories/template.js +++ b/components/closebutton/stories/template.js @@ -12,6 +12,7 @@ import "../themes/express.css"; export const Template = ({ rootClass = "spectrum-CloseButton", + id = getRandomId("close-button"), size = "m", iconSize = "regular", label = "Close", @@ -21,7 +22,6 @@ export const Template = ({ isFocused = false, isKeyboardFocused = false, customClasses = [], - id = getRandomId("closebutton"), onclick, } = {}, context = {}) => { return html` diff --git a/components/coachindicator/stories/coachindicator.stories.js b/components/coachindicator/stories/coachindicator.stories.js index f206b3bef9a..8d6b67ce602 100644 --- a/components/coachindicator/stories/coachindicator.stories.js +++ b/components/coachindicator/stories/coachindicator.stories.js @@ -1,10 +1,13 @@ import { disableDefaultModes } from "@spectrum-css/preview/modes"; import { isQuiet, staticColor } from "@spectrum-css/preview/types"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; import { CoachIndicatorGroup } from "./coachindicator.test.js"; import { Template } from "./template.js"; +// Local assets to render the component styles and structure +import styles from "../index.css?inline"; +import metadata from "../dist/metadata.json"; +import packageJson from "../package.json"; + /** * The coach indicator component can be used to bring added attention to specific parts of a page. * @@ -30,6 +33,7 @@ export default { }, packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/components/coachmark/stories/coachmark.stories.js b/components/coachmark/stories/coachmark.stories.js index e13b70fce24..25d021cea58 100644 --- a/components/coachmark/stories/coachmark.stories.js +++ b/components/coachmark/stories/coachmark.stories.js @@ -1,11 +1,14 @@ import { default as ActionButton } from "@spectrum-css/actionbutton/stories/actionbutton.stories.js"; import { default as Menu } from "@spectrum-css/menu/stories/menu.stories.js"; import { disableDefaultModes } from "@spectrum-css/preview/modes"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; import { CoachMarkGroup } from "./coachmark.test.js"; import { CoachmarkMenuStatesTemplate, Template } from "./template.js"; +// Local assets to render the component styles and structure +import styles from "../index.css?inline"; +import metadata from "../dist/metadata.json"; +import packageJson from "../package.json"; + /** * The coach mark component can be used to bring added attention to specific parts of a page, like during a tour. It is a separate component from [the coach indicator](/docs/components-coach-indicator--docs) and similar to [a popover](/docs/components-purpose--docs). */ @@ -60,6 +63,7 @@ export default { }, packageJson, metadata, + cssprops: { styles }, docs: { story: { height: "300px", @@ -69,6 +73,7 @@ export default { }; export const Default = CoachMarkGroup.bind({}); +Default.title = "Standard"; Default.tags = ["!autodocs"]; Default.args = {}; diff --git a/components/colorarea/stories/colorarea.stories.js b/components/colorarea/stories/colorarea.stories.js index ec418649f05..155d2c0c087 100644 --- a/components/colorarea/stories/colorarea.stories.js +++ b/components/colorarea/stories/colorarea.stories.js @@ -1,10 +1,13 @@ import { disableDefaultModes } from "@spectrum-css/preview/modes"; import { isDisabled, isFocused } from "@spectrum-css/preview/types"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; import { ColorAreaGroup } from "./colorarea.test.js"; import { Template } from "./template.js"; +// Local assets to render the component styles and structure +import metadata from "../dist/metadata.json"; +import styles from "../index.css?inline"; +import packageJson from "../package.json"; + /** * The color area component allows users to visually select two properties of a color simultaneously. It's commonly used together with a [color slider](/docs/components-color-slider--docs) or [color wheel](/docs/components-color-wheel--docs). * @@ -49,6 +52,7 @@ export default { }, packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/components/colorhandle/stories/colorhandle.stories.js b/components/colorhandle/stories/colorhandle.stories.js index b3923e6d17e..f23ba91a643 100644 --- a/components/colorhandle/stories/colorhandle.stories.js +++ b/components/colorhandle/stories/colorhandle.stories.js @@ -1,10 +1,13 @@ import { disableDefaultModes } from "@spectrum-css/preview/modes"; import { isDisabled, isFocused } from "@spectrum-css/preview/types"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; import { ColorHandleGroup } from "./colorhandle.test.js"; import { Template } from "./template.js"; +// Local assets to render the component styles and structure +import metadata from "../dist/metadata.json"; +import styles from "../index.css?inline"; +import packageJson from "../package.json"; + /** * The color handle component is used with [color area](/docs/components-color-area--docs), [color slider](/docs/components-color-slider--docs) and [color wheel](/docs/components-color-wheel--docs) as the color selector. */ @@ -52,6 +55,7 @@ export default { }, packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/components/colorloupe/stories/colorloupe.stories.js b/components/colorloupe/stories/colorloupe.stories.js index f07cdf83ee7..30fd98b6378 100644 --- a/components/colorloupe/stories/colorloupe.stories.js +++ b/components/colorloupe/stories/colorloupe.stories.js @@ -1,8 +1,11 @@ import { disableDefaultModes } from "@spectrum-css/preview/modes"; import { isDisabled, isOpen } from "@spectrum-css/preview/types"; +import { ColorLoupeGroup } from "./colorloupe.test.js"; + +// Local assets to render the component styles and structure import metadata from "../dist/metadata.json"; +import styles from "../index.css?inline"; import packageJson from "../package.json"; -import { ColorLoupeGroup } from "./colorloupe.test.js"; /** * The color loupe component shows the output color that would otherwise be covered by a cursor, stylus, or finger during color selection. @@ -45,6 +48,7 @@ export default { }, packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/components/colorslider/stories/colorslider.stories.js b/components/colorslider/stories/colorslider.stories.js index 633fa48b8be..789054dd034 100644 --- a/components/colorslider/stories/colorslider.stories.js +++ b/components/colorslider/stories/colorslider.stories.js @@ -1,10 +1,13 @@ import { disableDefaultModes } from "@spectrum-css/preview/modes"; import { isDisabled, isFocused } from "@spectrum-css/preview/types"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; import { ColorSliderGroup } from "./colorslider.test.js"; import { Template } from "./template.js"; +// Local assets to render the component styles and structure +import metadata from "../dist/metadata.json"; +import styles from "../index.css?inline"; +import packageJson from "../package.json"; + /** * The color slider component lets users visually change an individual channel of a color. * @@ -62,6 +65,7 @@ export default { }, packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/components/colorwheel/stories/colorwheel.stories.js b/components/colorwheel/stories/colorwheel.stories.js index 15bba48a20a..57252f375b9 100644 --- a/components/colorwheel/stories/colorwheel.stories.js +++ b/components/colorwheel/stories/colorwheel.stories.js @@ -1,10 +1,13 @@ import { disableDefaultModes } from "@spectrum-css/preview/modes"; import { isDisabled, isFocused } from "@spectrum-css/preview/types"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; import { ColorWheelGroup } from "./colorwheel.test.js"; import { Template } from "./template.js"; +// Local assets to render the component styles and structure +import metadata from "../dist/metadata.json"; +import styles from "../index.css?inline"; +import packageJson from "../package.json"; + /** * The color wheel component lets users visually change an individual channel of a color on a circular track. * @@ -53,6 +56,7 @@ export default { }, packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/components/combobox/stories/combobox.stories.js b/components/combobox/stories/combobox.stories.js index baea4599d01..45cba6bcf8f 100644 --- a/components/combobox/stories/combobox.stories.js +++ b/components/combobox/stories/combobox.stories.js @@ -2,11 +2,14 @@ import { Template as Menu } from "@spectrum-css/menu/stories/template.js"; import { disableDefaultModes } from "@spectrum-css/preview/modes"; import { isDisabled, isFocused, isInvalid, isKeyboardFocused, isLoading, isOpen, isQuiet, isReadOnly, size } from "@spectrum-css/preview/types"; import { within } from "@storybook/test"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; import { ComboBoxGroup } from "./combobox.test.js"; import { Template, VariantGroup } from "./template.js"; +// Local assets to render the component styles and structure +import metadata from "../dist/metadata.json"; +import styles from "../index.css?inline"; +import packageJson from "../package.json"; + /** * Comboboxes combine a text entry with a picker menu, allowing users to filter longer lists to only the selections matching a query. * @@ -144,6 +147,7 @@ export default { }, packageJson, metadata, + cssprops: { styles }, }, play: async ({ canvasElement }) => { const canvas = within(canvasElement); diff --git a/components/commons/package.json b/components/commons/package.json index 78062afd633..76632cac5b0 100644 --- a/components/commons/package.json +++ b/components/commons/package.json @@ -15,11 +15,10 @@ }, "exports": { ".": "./index.css", - "./*.css": "./*.css", "./CHANGELOG.md": "./CHANGELOG.md", "./README.md": "./README.md", - "./package.json": "./package.json", - "./stories/*": "./stories/*" + "./*.css": "./*.css", + "./package.json": "./package.json" }, "main": "index.css", "files": [ diff --git a/components/contextualhelp/stories/contextualhelp.stories.js b/components/contextualhelp/stories/contextualhelp.stories.js index 4b7abd0296a..c7ffe7be60e 100644 --- a/components/contextualhelp/stories/contextualhelp.stories.js +++ b/components/contextualhelp/stories/contextualhelp.stories.js @@ -1,10 +1,13 @@ import { default as ActionButtonStories } from "@spectrum-css/actionbutton/stories/actionbutton.stories.js"; import { disableDefaultModes } from "@spectrum-css/preview/modes"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; import { ContextualHelpGroup } from "./contextualhelp.test.js"; import { Template } from "./template.js"; +// Local assets to render the component styles and structure +import metadata from "../dist/metadata.json"; +import styles from "../index.css?inline"; +import packageJson from "../package.json"; + /** * Contextual help shows a user extra information in relation to another component or view. */ @@ -97,6 +100,7 @@ export default { }, packageJson, metadata, + cssprops: { styles }, docs: { story: { height: "200px", diff --git a/components/contextualhelp/stories/template.js b/components/contextualhelp/stories/template.js index aaeac140d32..136b4b339db 100644 --- a/components/contextualhelp/stories/template.js +++ b/components/contextualhelp/stories/template.js @@ -11,7 +11,7 @@ import "../index.css"; export const Template = ({ rootClass = "spectrum-ContextualHelp", - id = getRandomId("contextualhelp"), + id = getRandomId("contextual-help"), iconName, iconSet = "workflow", title, diff --git a/components/datepicker/stories/datepicker.stories.js b/components/datepicker/stories/datepicker.stories.js index 0d40c563888..d590976f8fc 100644 --- a/components/datepicker/stories/datepicker.stories.js +++ b/components/datepicker/stories/datepicker.stories.js @@ -2,11 +2,14 @@ import { default as CalendarStories } from "@spectrum-css/calendar/stories/calen import { disableDefaultModes } from "@spectrum-css/preview/modes"; import { isDisabled, isInvalid, isOpen, isQuiet, isReadOnly, isRequired, isValid } from "@spectrum-css/preview/types"; import { within } from "@storybook/test"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; import { DatePickerGroup } from "./datepicker.test.js"; import { OpenClosedTemplate, Template } from "./template.js"; +// Local assets to render the component styles and structure +import metadata from "../dist/metadata.json"; +import styles from "../index.css?inline"; +import packageJson from "../package.json"; + /** * A date picker displays a text field input with a button next to it, and can display two text fields next to each other for choosing a date range. * @@ -77,6 +80,7 @@ export default { }, packageJson, metadata, + cssprops: { styles }, }, play: async ({ canvasElement }) => { const canvas = within(canvasElement); diff --git a/components/datepicker/stories/template.js b/components/datepicker/stories/template.js index 2d56102d24e..d79f7ee42aa 100644 --- a/components/datepicker/stories/template.js +++ b/components/datepicker/stories/template.js @@ -15,7 +15,7 @@ import "../themes/express.css"; export const DatePicker = ({ rootClass = "spectrum-DatePicker", - id = getRandomId("datepicker"), + id = getRandomId("date-picker"), customClasses = [], isOpen = true, isInvalid = false, diff --git a/components/dial/stories/dial.stories.js b/components/dial/stories/dial.stories.js index 9e9970e234b..729e5efa89f 100644 --- a/components/dial/stories/dial.stories.js +++ b/components/dial/stories/dial.stories.js @@ -1,10 +1,13 @@ import { disableDefaultModes } from "@spectrum-css/preview/modes"; import { isDisabled, isDragged, isFocused, size } from "@spectrum-css/preview/types"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; import { DialGroup } from "./dial.test.js"; import { Template } from "./template.js"; +// Local assets to render the component styles and structure +import metadata from "../dist/metadata.json"; +import styles from "../index.css?inline"; +import packageJson from "../package.json"; + /** * A dial is an input control used for selecting a value within a range, similar to a slider. It's often used in audio and video mixing and editing applications, where horizontal space is limited. */ @@ -35,6 +38,7 @@ export default { parameters: { packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/components/dialog/stories/dialog.stories.js b/components/dialog/stories/dialog.stories.js index 45bec9bc1d1..25d2863561a 100644 --- a/components/dialog/stories/dialog.stories.js +++ b/components/dialog/stories/dialog.stories.js @@ -2,11 +2,14 @@ import { withUnderlayWrapper } from "@spectrum-css/preview/decorators"; import { disableDefaultModes } from "@spectrum-css/preview/modes"; import { isOpen, size } from "@spectrum-css/preview/types"; import { Template as Typography } from "@spectrum-css/typography/stories/template.js"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; import { DialogFullscreen, DialogFullscreenTakeover, DialogGroup } from "./dialog.test.js"; import { Template } from "./template.js"; +// Local assets to render the component styles and structure +import metadata from "../dist/metadata.json"; +import styles from "../index.css?inline"; +import packageJson from "../package.json"; + /** * A dialog displays important information that users need to acknowledge. They appear over the interface and block further interactions. * @@ -117,6 +120,7 @@ export default { }, packageJson, metadata, + cssprops: { styles }, }, decorators: [ withUnderlayWrapper, diff --git a/components/divider/stories/divider.stories.js b/components/divider/stories/divider.stories.js index 306e5c0c453..cff0b88d70b 100644 --- a/components/divider/stories/divider.stories.js +++ b/components/divider/stories/divider.stories.js @@ -1,11 +1,14 @@ import { Sizes } from "@spectrum-css/preview/decorators"; import { disableDefaultModes } from "@spectrum-css/preview/modes"; import { size, staticColor } from "@spectrum-css/preview/types"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; import { DividerGroup } from "./divider.test.js"; import { Template } from "./template.js"; +// Local assets to render the component styles and structure +import metadata from "../dist/metadata.json"; +import styles from "../index.css?inline"; +import packageJson from "../package.json"; + /** * Dividers bring clarity to a layout by grouping and dividing content that exists in close proximity. It can also be used to establish rhythm and hierarchy. */ @@ -40,6 +43,7 @@ export default { }, packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/components/dropindicator/stories/dropindicator.stories.js b/components/dropindicator/stories/dropindicator.stories.js index ea28cb3b5f1..6585e95bbfd 100644 --- a/components/dropindicator/stories/dropindicator.stories.js +++ b/components/dropindicator/stories/dropindicator.stories.js @@ -1,9 +1,12 @@ import { disableDefaultModes } from "@spectrum-css/preview/modes"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; import { DropIndicatorGroup } from "./dropindicator.test.js"; import { DocsDropIndicatorGroup } from "./template.js"; +// Local assets to render the component styles and structure +import metadata from "../dist/metadata.json"; +import styles from "../index.css?inline"; +import packageJson from "../package.json"; + /** * The drop indicator component is used to show the insertion position into a list or table. */ @@ -41,6 +44,7 @@ export default { parameters: { packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/components/dropzone/stories/dropzone.stories.js b/components/dropzone/stories/dropzone.stories.js index 9d0d7e4c3d2..7ae1a340f76 100644 --- a/components/dropzone/stories/dropzone.stories.js +++ b/components/dropzone/stories/dropzone.stories.js @@ -4,9 +4,12 @@ import { Template as Link } from "@spectrum-css/link/stories/template.js"; import { disableDefaultModes } from "@spectrum-css/preview/modes"; import { isDragged } from "@spectrum-css/preview/types"; import { html } from "lit"; +import { DropzoneGroup } from "./dropzone.test.js"; + +// Local assets to render the component styles and structure import metadata from "../dist/metadata.json"; +import styles from "../index.css?inline"; import packageJson from "../package.json"; -import { DropzoneGroup } from "./dropzone.test.js"; /** * A drop zone is an area on the screen into a which an object can be dragged and dropped to accomplish a task. It's a common interaction in uploading and file management workflows. For example, a drop zone might be used in an upload workflow to enable the user to simply drop a file from their operating system into the drop zone, which is a more efficient and intuitive action, rather than utilizing the standard "Choose file" dialog. @@ -41,6 +44,7 @@ export default { }, packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/components/dropzone/stories/template.js b/components/dropzone/stories/template.js index 9eb2dfface7..227ab0fa17d 100644 --- a/components/dropzone/stories/template.js +++ b/components/dropzone/stories/template.js @@ -20,7 +20,7 @@ export const Template = ({ heading, description, label, - id = getRandomId("dropzone"), + id = getRandomId("drop-zone"), } = {}, context = {}) => { return html`
    { diff --git a/components/icon/stories/icon.stories.js b/components/icon/stories/icon.stories.js index da5fc2cda00..ddb501d4fb5 100644 --- a/components/icon/stories/icon.stories.js +++ b/components/icon/stories/icon.stories.js @@ -7,6 +7,11 @@ import { IconGroup } from "./icon.test.js"; import { IconListTemplate, Template, UIDefaultTemplate } from "./template.js"; import { uiIconSizes, uiIconsWithDirections, workflowIcons } from "./utilities.js"; +// Local assets to render the component styles and structure +import metadata from "../dist/metadata.json"; +import styles from "../index.css?inline"; +import packageJson from "../package.json"; + /** * Create a list of all UI Icons with their sizing numbers. * @@ -102,6 +107,7 @@ export default { parameters: { packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/components/illustratedmessage/stories/illustratedmessage.stories.js b/components/illustratedmessage/stories/illustratedmessage.stories.js index 2b00b063d31..b76362325be 100644 --- a/components/illustratedmessage/stories/illustratedmessage.stories.js +++ b/components/illustratedmessage/stories/illustratedmessage.stories.js @@ -1,11 +1,14 @@ import { Template as Link } from "@spectrum-css/link/stories/template.js"; import { disableDefaultModes } from "@spectrum-css/preview/modes"; import { html } from "lit"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; import { IllustratedMessageGroup } from "./illustratedmessage.test.js"; import { Template } from "./template.js"; +// Local assets to render the component styles and structure +import metadata from "../dist/metadata.json"; +import styles from "../index.css?inline"; +import packageJson from "../package.json"; + /** * The Illustrated Message displays an illustration along with a heading and description. Optionally, part of the illustration can use an accent color. It can be used for status and errors, or as a call to action. For example, the Drop Zone component makes use of Illustrated Message as an area to drag and drop files. */ @@ -50,6 +53,7 @@ export default { }, packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/components/infieldbutton/stories/infieldbutton.stories.js b/components/infieldbutton/stories/infieldbutton.stories.js index 0f435313795..9f12168c107 100644 --- a/components/infieldbutton/stories/infieldbutton.stories.js +++ b/components/infieldbutton/stories/infieldbutton.stories.js @@ -1,11 +1,14 @@ import { default as IconStories } from "@spectrum-css/icon/stories/icon.stories.js"; import { disableDefaultModes } from "@spectrum-css/preview/modes"; import { isActive, isDisabled, isFocused, isHovered, isQuiet, size } from "@spectrum-css/preview/types"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; import { InfieldButtonGroup } from "./infieldbutton.test.js"; import { Template } from "./template.js"; +// Local assets to render the component styles and structure +import metadata from "../dist/metadata.json"; +import styles from "../index.css?inline"; +import packageJson from "../package.json"; + /** * The in-field button component is a button used inside a text field. */ @@ -50,6 +53,7 @@ export default { parameters: { packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/components/inlinealert/stories/inlinealert.stories.js b/components/inlinealert/stories/inlinealert.stories.js index 6ed4d7c5f18..78b31f36ac9 100644 --- a/components/inlinealert/stories/inlinealert.stories.js +++ b/components/inlinealert/stories/inlinealert.stories.js @@ -1,9 +1,12 @@ import { disableDefaultModes } from "@spectrum-css/preview/modes"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; import { InlineAlertGroup } from "./inlinealert.test.js"; import { Template } from "./template.js"; +// Local assets to render the component styles and structure +import metadata from "../dist/metadata.json"; +import styles from "../index.css?inline"; +import packageJson from "../package.json"; + /** * In-line alerts display a non-modal message associated with objects in a view. These are often used in form validation, providing a place to aggregate feedback related to multiple fields. */ @@ -65,6 +68,7 @@ export default { }, packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/components/link/stories/link.stories.js b/components/link/stories/link.stories.js index 53c71bfacb2..a87e706294f 100644 --- a/components/link/stories/link.stories.js +++ b/components/link/stories/link.stories.js @@ -1,10 +1,13 @@ import { disableDefaultModes } from "@spectrum-css/preview/modes"; import { isActive, isFocused, isHovered, isQuiet, staticColor } from "@spectrum-css/preview/types"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; import { LinkGroup } from "./link.test.js"; import { TemplateWithFillerText } from "./template.js"; +// Local assets to render the component styles and structure +import metadata from "../dist/metadata.json"; +import styles from "../index.css?inline"; +import packageJson from "../package.json"; + /** * A link allows users to navigate to a different location. They can be presented in-line inside a paragraph or as standalone text. */ @@ -76,6 +79,7 @@ export default { }, packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/components/logicbutton/stories/logicbutton.stories.js b/components/logicbutton/stories/logicbutton.stories.js index 6b38a131275..8575adebed1 100644 --- a/components/logicbutton/stories/logicbutton.stories.js +++ b/components/logicbutton/stories/logicbutton.stories.js @@ -1,10 +1,13 @@ import { disableDefaultModes } from "@spectrum-css/preview/modes"; import { isDisabled } from "@spectrum-css/preview/types"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; import { LogicButtonGroup } from "./logicbutton.test.js"; import { Template, VariantGroup } from "./template.js"; +// Local assets to render the component styles and structure +import metadata from "../dist/metadata.json"; +import styles from "../index.css?inline"; +import packageJson from "../package.json"; + /** * A logic button displays an operator within a boolean logic sequence. */ @@ -32,6 +35,7 @@ export default { parameters: { packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/components/menu/stories/menu.stories.js b/components/menu/stories/menu.stories.js index 23f82bfd300..cdf4cf11717 100644 --- a/components/menu/stories/menu.stories.js +++ b/components/menu/stories/menu.stories.js @@ -2,11 +2,14 @@ import { default as IconStories } from "@spectrum-css/icon/stories/icon.stories. import { Sizes } from "@spectrum-css/preview/decorators"; import { disableDefaultModes } from "@spectrum-css/preview/modes"; import { isActive, isDisabled, isFocused, isHovered, isSelected, size } from "@spectrum-css/preview/types"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; import { MenuItemGroup, MenuTraySubmenu, MenuWithVariants } from "./menu.test.js"; import { DisabledItemGroup, OverflowGroup, SelectionGroup, SubmenuInPopover, Template } from "./template.js"; +// Local assets to render the component styles and structure +import metadata from "../dist/metadata.json"; +import styles from "../index.css?inline"; +import packageJson from "../package.json"; + /** * A menu is used for creating a menu list. The various elements inside a menu can be: a menu group, a menu item, or a * menu divider. Often a menu will appear in a popover so that it displays as a toggling menu. @@ -88,6 +91,7 @@ export default { }, packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/components/menu/stories/template.js b/components/menu/stories/template.js index c50482cb696..feae8f6270c 100644 --- a/components/menu/stories/template.js +++ b/components/menu/stories/template.js @@ -41,7 +41,7 @@ export const MenuItem = ( iconName, iconSet = "workflow", hasActions = false, - id = getRandomId("menuitem"), + id = getRandomId("menu-item"), idx = 0, isActive = false, isCollapsible = false, @@ -226,7 +226,7 @@ export const MenuGroup = ( { hasActions = false, heading, - id = getRandomId("menugroup"), + id = getRandomId("menu-group"), idx = 0, items = [], isDisabled = false, diff --git a/components/meter/stories/meter.stories.js b/components/meter/stories/meter.stories.js index 15603bc9d7c..ebb97e78703 100644 --- a/components/meter/stories/meter.stories.js +++ b/components/meter/stories/meter.stories.js @@ -2,11 +2,14 @@ import { Sizes } from "@spectrum-css/preview/decorators"; import { disableDefaultModes } from "@spectrum-css/preview/modes"; import { size } from "@spectrum-css/preview/types"; import { default as ProgressBar } from "@spectrum-css/progressbar/stories/progressbar.stories.js"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; import { MeterGroup } from "./meter.test.js"; import { FillGroup, Template } from "./template.js"; +// Local assets to render the component styles and structure +import metadata from "../dist/metadata.json"; +import styles from "../index.css?inline"; +import packageJson from "../package.json"; + /** * The meter component is a visual representations of a quantity or an achievement. The progress is determined by user actions, rather than system actions. * @@ -47,6 +50,7 @@ export default { }, packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/components/miller/stories/miller.stories.js b/components/miller/stories/miller.stories.js index a255362e891..d95371245b1 100644 --- a/components/miller/stories/miller.stories.js +++ b/components/miller/stories/miller.stories.js @@ -1,9 +1,12 @@ import { disableDefaultModes } from "@spectrum-css/preview/modes"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; import { MillerGroup } from "./miller.test.js"; import { Template } from "./template.js"; +// Local assets to render the component styles and structure +import metadata from "../dist/metadata.json"; +import styles from "../index.css?inline"; +import packageJson from "../package.json"; + /** * Miller columns are a browsing/visualization technique that can be applied to tree structures. The columns allow for multiple levels of the hierarchy to be open at once and provide a visual representation of the current location. */ @@ -79,6 +82,7 @@ export default { parameters: { packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/components/modal/stories/modal.stories.js b/components/modal/stories/modal.stories.js index a4ce483de5f..78be019d738 100644 --- a/components/modal/stories/modal.stories.js +++ b/components/modal/stories/modal.stories.js @@ -2,9 +2,12 @@ import { withUnderlayWrapper } from "@spectrum-css/preview/decorators"; import { disableDefaultModes } from "@spectrum-css/preview/modes"; import { isOpen } from "@spectrum-css/preview/types"; import { Template as Typography } from "@spectrum-css/typography/stories/template.js"; +import { ModalGroup } from "./modal.test.js"; + +// Local assets to render the component styles and structure import metadata from "../dist/metadata.json"; +import styles from "../index.css?inline"; import packageJson from "../package.json"; -import { ModalGroup } from "./modal.test.js"; /** * A modal component is a dialog box/popup window that is displayed on top of the current page using `position: fixed`. @@ -51,6 +54,7 @@ export default { }, packageJson, metadata, + cssprops: { styles }, }, decorators: [ withUnderlayWrapper, diff --git a/components/opacitycheckerboard/stories/opacitycheckerboard.stories.js b/components/opacitycheckerboard/stories/opacitycheckerboard.stories.js index e908a5cd05b..514ab6ae874 100644 --- a/components/opacitycheckerboard/stories/opacitycheckerboard.stories.js +++ b/components/opacitycheckerboard/stories/opacitycheckerboard.stories.js @@ -1,9 +1,12 @@ import { disableDefaultModes } from "@spectrum-css/preview/modes"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; import { OpacityCheckboardGroup } from "./opacitycheckerboard.test.js"; import { Template } from "./template.js"; +// Local assets to render the component styles and structure +import metadata from "../dist/metadata.json"; +import styles from "../index.css?inline"; +import packageJson from "../package.json"; + /** * Opacity checkerboard is used with other components to highlight opacity. */ @@ -32,6 +35,7 @@ export default { parameters: { packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/components/pagination/stories/pagination.stories.js b/components/pagination/stories/pagination.stories.js index 7fa6fa909e1..5de433218e9 100644 --- a/components/pagination/stories/pagination.stories.js +++ b/components/pagination/stories/pagination.stories.js @@ -1,11 +1,14 @@ import { default as ActionButton } from "@spectrum-css/actionbutton/stories/actionbutton.stories"; import { disableDefaultModes } from "@spectrum-css/preview/modes"; import { size } from "@spectrum-css/preview/types"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; import { PaginationGroup } from "./pagination.test.js"; import { Template } from "./template.js"; +// Local assets to render the component styles and structure +import metadata from "../dist/metadata.json"; +import styles from "../index.css?inline"; +import packageJson from "../package.json"; + /** * The pagination component displays numbered buttons or an input field to allow for navigation. */ @@ -70,6 +73,7 @@ export default { }, packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/components/picker/stories/picker.stories.js b/components/picker/stories/picker.stories.js index c2fa56e619d..e52ec4e1b3c 100644 --- a/components/picker/stories/picker.stories.js +++ b/components/picker/stories/picker.stories.js @@ -2,11 +2,14 @@ import { WithDividers as MenuStories } from "@spectrum-css/menu/stories/menu.sto import { Sizes } from "@spectrum-css/preview/decorators"; import { disableDefaultModes } from "@spectrum-css/preview/modes"; import { isActive, isDisabled, isHovered, isInvalid, isKeyboardFocused, isLoading, isOpen, isQuiet, size } from "@spectrum-css/preview/types"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; import { PickerGroup } from "./picker.test.js"; import { ClosedAndOpenTemplate, DisabledTemplate, Template } from "./template.js"; +// Local assets to render the component styles and structure +import metadata from "../dist/metadata.json"; +import styles from "../index.css?inline"; +import packageJson from "../package.json"; + /** * The picker component (sometimes known as a "dropdown" or "select") allows users to choose from a list of options in a limited space. The list of options can change based on the context. */ @@ -139,6 +142,7 @@ export default { }, packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/components/pickerbutton/stories/pickerbutton.stories.js b/components/pickerbutton/stories/pickerbutton.stories.js index c01a0f00eec..efdb7b6ee31 100644 --- a/components/pickerbutton/stories/pickerbutton.stories.js +++ b/components/pickerbutton/stories/pickerbutton.stories.js @@ -2,11 +2,14 @@ import { default as Icon } from "@spectrum-css/icon/stories/icon.stories.js"; import { Sizes } from "@spectrum-css/preview/decorators"; import { disableDefaultModes } from "@spectrum-css/preview/modes"; import { isDisabled, isFocused, isOpen, isQuiet, size } from "@spectrum-css/preview/types"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; import { PickerGroup } from "./pickerbutton.test.js"; import { CustomIconTemplate, Template } from "./template.js"; +// Local assets to render the component styles and structure +import metadata from "../dist/metadata.json"; +import styles from "../index.css?inline"; +import packageJson from "../package.json"; + /** * The picker button component is used as a dropdown trigger within other components such as [combobox](?path=/docs/components-combobox--docs). */ @@ -87,6 +90,7 @@ export default { parameters: { packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/components/pickerbutton/stories/template.js b/components/pickerbutton/stories/template.js index 3df4f85b636..47472844720 100644 --- a/components/pickerbutton/stories/template.js +++ b/components/pickerbutton/stories/template.js @@ -14,7 +14,7 @@ import "../themes/express.css"; export const Template = ({ rootClass = "spectrum-PickerButton", - id = getRandomId("pickerbutton"), + id = getRandomId("picker-button"), size = "m", label, position, diff --git a/components/popover/stories/popover.stories.js b/components/popover/stories/popover.stories.js index e5e7f986607..fd93933b08f 100644 --- a/components/popover/stories/popover.stories.js +++ b/components/popover/stories/popover.stories.js @@ -5,11 +5,14 @@ import { disableDefaultModes } from "@spectrum-css/preview/modes"; import { isOpen } from "@spectrum-css/preview/types"; import { Template as Typography } from "@spectrum-css/typography/stories/template.js"; import { html } from "lit"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; import { PopoverGroup } from "./popover.test.js"; import { FixedWidthSourceTemplate, Template, TipPlacementVariants } from "./template.js"; +// Local assets to render the component styles and structure +import metadata from "../dist/metadata.json"; +import styles from "../index.css?inline"; +import packageJson from "../package.json"; + /** * A popover is used to display transient content (menus, options, additional actions, etc.) and appears when clicking/tapping on a source (tools, buttons, etc.). * It stands out via its visual style (stroke and drop shadow) and floats on top of the rest of the interface. @@ -97,6 +100,7 @@ export default { }, packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/components/progressbar/stories/progressbar.stories.js b/components/progressbar/stories/progressbar.stories.js index 4468a701277..d80243a50a4 100644 --- a/components/progressbar/stories/progressbar.stories.js +++ b/components/progressbar/stories/progressbar.stories.js @@ -1,11 +1,14 @@ import { Sizes } from "@spectrum-css/preview/decorators"; import { disableDefaultModes } from "@spectrum-css/preview/modes"; import { isIndeterminate, size, staticColor } from "@spectrum-css/preview/types"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; import { ProgressBarGroup } from "./progressbar.test.js"; import { IndeterminateGroup, Template } from "./template.js"; +// Local assets to render the component styles and structure +import metadata from "../dist/metadata.json"; +import styles from "../index.css?inline"; +import packageJson from "../package.json"; + /** * The progress bar component shows the progression of a system operation such as downloading, uploading, processing, etc. in a visual way. * @@ -98,6 +101,7 @@ export default { }, packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/components/progresscircle/stories/progresscircle.stories.js b/components/progresscircle/stories/progresscircle.stories.js index f64c2f2780a..80d5fab24d6 100644 --- a/components/progresscircle/stories/progresscircle.stories.js +++ b/components/progresscircle/stories/progresscircle.stories.js @@ -1,11 +1,14 @@ import { Sizes } from "@spectrum-css/preview/decorators"; import { disableDefaultModes } from "@spectrum-css/preview/modes"; import { isIndeterminate, size, staticColor } from "@spectrum-css/preview/types"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; import { ProgressCircleGroup } from "./progresscircle.test.js"; import { Template } from "./template.js"; +// Local assets to render the component styles and structure +import metadata from "../dist/metadata.json"; +import styles from "../index.css?inline"; +import packageJson from "../package.json"; + /** * Progress circles show the progression of a system operation such as downloading, uploading, processing, etc. in a visual way. They can represent determinate or indeterminate progress. */ @@ -33,6 +36,7 @@ export default { }, packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/components/radio/stories/radio.stories.js b/components/radio/stories/radio.stories.js index 1d6ff3d9b16..528445d7ce3 100644 --- a/components/radio/stories/radio.stories.js +++ b/components/radio/stories/radio.stories.js @@ -1,11 +1,14 @@ import { Sizes } from "@spectrum-css/preview/decorators"; import { disableDefaultModes } from "@spectrum-css/preview/modes"; import { isChecked, isDisabled, isEmphasized, isReadOnly, size } from "@spectrum-css/preview/types"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; import { RadioGroup } from "./radio.test.js"; import { BasicGroupTemplate } from "./template.js"; +// Local assets to render the component styles and structure +import metadata from "../dist/metadata.json"; +import styles from "../index.css?inline"; +import packageJson from "../package.json"; + /** * Radio buttons allow users to select a single option from a list of mutually exclusive options. All possible options are exposed up front for users to compare. * @@ -60,6 +63,7 @@ export default { }, packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/components/rating/stories/rating.stories.js b/components/rating/stories/rating.stories.js index e9315f918c2..9e55e252dde 100644 --- a/components/rating/stories/rating.stories.js +++ b/components/rating/stories/rating.stories.js @@ -1,10 +1,13 @@ import { disableDefaultModes } from "@spectrum-css/preview/modes"; import { isDisabled, isEmphasized, isFocused, isReadOnly } from "@spectrum-css/preview/types"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; import { RatingGroup } from "./rating.test.js"; import { Template } from "./template.js"; +// Local assets to render the component styles and structure +import metadata from "../dist/metadata.json"; +import styles from "../index.css?inline"; +import packageJson from "../package.json"; + /** * The rating component is used to display or collect a user's rating of an item as represented by a number of stars. * @@ -59,6 +62,7 @@ export default { }, packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/components/search/stories/search.stories.js b/components/search/stories/search.stories.js index fd3e3807c8e..3f57b556828 100644 --- a/components/search/stories/search.stories.js +++ b/components/search/stories/search.stories.js @@ -1,11 +1,14 @@ import { Sizes } from "@spectrum-css/preview/decorators"; import { disableDefaultModes } from "@spectrum-css/preview/modes"; import { isDisabled, isQuiet, size } from "@spectrum-css/preview/types"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; import { SearchGroup } from "./search.test.js"; import { SearchOptions, Template } from "./template.js"; +// Local assets to render the component styles and structure +import metadata from "../dist/metadata.json"; +import styles from "../index.css?inline"; +import packageJson from "../package.json"; + /** * A search field is used for searching and filtering items. * @@ -62,6 +65,7 @@ export default { }, packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/components/sidenav/stories/sidenav.stories.js b/components/sidenav/stories/sidenav.stories.js index b5381efd78d..64adf1bf9bc 100644 --- a/components/sidenav/stories/sidenav.stories.js +++ b/components/sidenav/stories/sidenav.stories.js @@ -1,9 +1,12 @@ import { disableDefaultModes } from "@spectrum-css/preview/modes"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; import { SideNavGroup } from "./sidenav.test.js"; import { Template } from "./template.js"; +// Local assets to render the component styles and structure +import metadata from "../dist/metadata.json"; +import styles from "../index.css?inline"; +import packageJson from "../package.json"; + /** * Side nav lets users navigate the entire content of a product or a section. These can be used for a single level or a multi-level navigation. * @@ -69,6 +72,7 @@ export default { }, packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/components/slider/stories/slider.stories.js b/components/slider/stories/slider.stories.js index 1d6f5b9d479..225ab67a507 100644 --- a/components/slider/stories/slider.stories.js +++ b/components/slider/stories/slider.stories.js @@ -1,11 +1,14 @@ import { Sizes } from "@spectrum-css/preview/decorators"; import { disableDefaultModes } from "@spectrum-css/preview/modes"; import { isDisabled, isFocused, size } from "@spectrum-css/preview/types"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; import { SliderGroup } from "./slider.test.js"; import { Template } from "./template.js"; +// Local assets to render the component styles and structure +import metadata from "../dist/metadata.json"; +import styles from "../index.css?inline"; +import packageJson from "../package.json"; + /** * A slider allows users to quickly select a value within a range. They should be used when the upper and lower bounds to the range are invariable. * @@ -146,6 +149,7 @@ export default { }, packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/components/splitview/stories/splitview.stories.js b/components/splitview/stories/splitview.stories.js index 1c615f12b97..09d94b56d73 100644 --- a/components/splitview/stories/splitview.stories.js +++ b/components/splitview/stories/splitview.stories.js @@ -1,10 +1,13 @@ import { disableDefaultModes } from "@spectrum-css/preview/modes"; import { isFocused } from "@spectrum-css/preview/types"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; import { SplitViewGroup } from "./splitview.test.js"; import { Template } from "./template.js"; +// Local assets to render the component styles and structure +import metadata from "../dist/metadata.json"; +import styles from "../index.css?inline"; +import packageJson from "../package.json"; + export default { title: "Split view", component: "SplitView", @@ -81,6 +84,7 @@ export default { parameters: { packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/components/statuslight/stories/statuslight.stories.js b/components/statuslight/stories/statuslight.stories.js index b385bcc9da3..fe42ea289e4 100644 --- a/components/statuslight/stories/statuslight.stories.js +++ b/components/statuslight/stories/statuslight.stories.js @@ -1,11 +1,14 @@ import { Sizes } from "@spectrum-css/preview/decorators"; import { disableDefaultModes } from "@spectrum-css/preview/modes"; import { isDisabled, size } from "@spectrum-css/preview/types"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; import { StatusLightGroup } from "./statuslight.test.js"; import { NonsemanticGroup, SemanticGroup, Template } from "./template.js"; +// Local assets to render the component styles and structure +import metadata from "../dist/metadata.json"; +import styles from "../index.css?inline"; +import packageJson from "../package.json"; + /** * Status lights describe the condition of an entity. They can be used to convey semantic meaning, such as statuses and categories. */ @@ -71,6 +74,7 @@ export default { }, packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/components/steplist/stories/steplist.stories.js b/components/steplist/stories/steplist.stories.js index 9266631e646..ad8d5afec5a 100644 --- a/components/steplist/stories/steplist.stories.js +++ b/components/steplist/stories/steplist.stories.js @@ -1,9 +1,12 @@ import { disableDefaultModes } from "@spectrum-css/preview/modes"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; import { SteplistGroup } from "./steplist.test.js"; import { DocsSteplistGroup } from "./template.js"; +// Local assets to render the component styles and structure +import metadata from "../dist/metadata.json"; +import styles from "../index.css?inline"; +import packageJson from "../package.json"; + /** * A steplist can communicate the progress of a task or workflow. It can help users understand where they are in a process and what they need to do next. * @@ -76,6 +79,7 @@ export default { parameters: { packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/components/stepper/stories/stepper.stories.js b/components/stepper/stories/stepper.stories.js index 8775574a342..d188828c567 100644 --- a/components/stepper/stories/stepper.stories.js +++ b/components/stepper/stories/stepper.stories.js @@ -1,11 +1,14 @@ import { Sizes } from "@spectrum-css/preview/decorators"; import { disableDefaultModes } from "@spectrum-css/preview/modes"; import { isDisabled, isFocused, isHovered, isInvalid, isKeyboardFocused, isQuiet, size } from "@spectrum-css/preview/types"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; import { StepperGroup } from "./stepper.test.js"; import { AllDefaultVariantsGroup, DisabledVariantsGroup, Template } from "./template.js"; +// Local assets to render the component styles and structure +import metadata from "../dist/metadata.json"; +import styles from "../index.css?inline"; +import packageJson from "../package.json"; + /** * A stepper can be used to increment or decrement a value by a specified amount via an up/down button. An input field displays the current value. */ @@ -48,6 +51,7 @@ export default { }, packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/components/swatch/stories/swatch.stories.js b/components/swatch/stories/swatch.stories.js index d3d1b44b1c2..009fb863ecd 100644 --- a/components/swatch/stories/swatch.stories.js +++ b/components/swatch/stories/swatch.stories.js @@ -1,11 +1,14 @@ import { Sizes } from "@spectrum-css/preview/decorators"; import { disableDefaultModes } from "@spectrum-css/preview/modes"; import { isDisabled, isSelected, size } from "@spectrum-css/preview/types"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; import { SwatchGroup } from "./swatch.test.js"; import { BorderGroup, DisabledGroup, EmptyGroup, RoundingGroup, SizingGroup, Template } from "./template.js"; +// Local assets to render the component styles and structure +import metadata from "../dist/metadata.json"; +import styles from "../index.css?inline"; +import packageJson from "../package.json"; + /** * A swatch shows a small sample of a fill--such as a color, gradient, texture, or material--that is intended to be applied to an object. * @@ -105,6 +108,7 @@ export default { }, packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/components/swatchgroup/stories/swatchgroup.stories.js b/components/swatchgroup/stories/swatchgroup.stories.js index 2a842f06695..571af6b18c3 100644 --- a/components/swatchgroup/stories/swatchgroup.stories.js +++ b/components/swatchgroup/stories/swatchgroup.stories.js @@ -1,11 +1,14 @@ import { Sizes } from "@spectrum-css/preview/decorators"; import { disableDefaultModes } from "@spectrum-css/preview/modes"; import { default as Swatch } from "@spectrum-css/swatch/stories/swatch.stories.js"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; import { SwatchgroupGroup } from "./swatchgroup.test.js"; import { RoundingTemplate, Template } from "./template.js"; +// Local assets to render the component styles and structure +import metadata from "../dist/metadata.json"; +import styles from "../index.css?inline"; +import packageJson from "../package.json"; + /** * The swatch group component is a collection of [swatches](?path=/docs/components-swatch--docs). * @@ -118,6 +121,7 @@ export default { }, packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/components/swatchgroup/stories/template.js b/components/swatchgroup/stories/template.js index 01c059998bd..caa7978e606 100644 --- a/components/swatchgroup/stories/template.js +++ b/components/swatchgroup/stories/template.js @@ -9,6 +9,7 @@ import "../index.css"; export const Template = ({ rootClass = "spectrum-SwatchGroup", + id = getRandomId("swatch-group"), customClasses = [], size = "m", density = "regular", @@ -19,7 +20,6 @@ export const Template = ({ customStyles = {}, isDisabled =false, isSelected = false, - id = getRandomId("swatchgroup"), } = {}, context = {}) => html`
    ` element that lets a user input a longer amount of text than a standard text field. It can include all of the standard validation options supported by the text field component. */ @@ -27,6 +30,7 @@ export default { type: "figma", url: "https://www.figma.com/design/Mngz9H7WZLbrCvGQf3GnsY/S2-%2F-Desktop?node-id=725-2579", }, + cssprops: { styles }, } }; diff --git a/components/textfield/stories/textfield.stories.js b/components/textfield/stories/textfield.stories.js index 79f5ec0415d..5ad97ae5b56 100644 --- a/components/textfield/stories/textfield.stories.js +++ b/components/textfield/stories/textfield.stories.js @@ -1,11 +1,14 @@ import { Sizes } from "@spectrum-css/preview/decorators"; import { disableDefaultModes } from "@spectrum-css/preview/modes"; import { isDisabled, isFocused, isInvalid, isKeyboardFocused, isLoading, isQuiet, isReadOnly, isRequired, isValid, size } from "@spectrum-css/preview/types"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; import { HelpTextOptions, KeyboardFocusTemplate, Template, TextFieldOptions } from "./template.js"; import { TextFieldGroup } from "./textfield.test.js"; +// Local assets to render the component styles and structure +import metadata from "../dist/metadata.json"; +import styles from "../index.css?inline"; +import packageJson from "../package.json"; + /** * Text fields are text boxes that allow users to input custom text entries with a keyboard. Various decorations can be displayed around the field to communicate the entry requirements. * @@ -142,6 +145,7 @@ export default { }, packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/components/thumbnail/stories/thumbnail.stories.js b/components/thumbnail/stories/thumbnail.stories.js index cf32fab1dbb..3df2b76618e 100644 --- a/components/thumbnail/stories/thumbnail.stories.js +++ b/components/thumbnail/stories/thumbnail.stories.js @@ -1,11 +1,14 @@ import { Sizes } from "@spectrum-css/preview/decorators"; import { disableDefaultModes } from "@spectrum-css/preview/modes"; import { isDisabled, isFocused, isSelected, size } from "@spectrum-css/preview/types"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; import { Template } from "./template.js"; import { ThumbnailGroup } from "./thumbnail.test.js"; +// Local assets to render the component styles and structure +import metadata from "../dist/metadata.json"; +import styles from "../index.css?inline"; +import packageJson from "../package.json"; + /** * A thumbnail is used to display a preview of an image, layer, or effect. */ @@ -94,6 +97,7 @@ export default { }, packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/components/toast/stories/toast.stories.js b/components/toast/stories/toast.stories.js index 9271ef70225..8abc34ae6e6 100644 --- a/components/toast/stories/toast.stories.js +++ b/components/toast/stories/toast.stories.js @@ -1,9 +1,12 @@ import { disableDefaultModes } from "@spectrum-css/preview/modes"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; import { ActionTemplate, Template, ToastWrapOptions } from "./template.js"; import { ToastGroup } from "./toast.test.js"; +// Local assets to render the component styles and structure +import metadata from "../dist/metadata.json"; +import styles from "../index.css?inline"; +import packageJson from "../package.json"; + /** * Toasts display brief, temporary notifications. They are noticeable but do not disrupt the user experience and do not require an action to be taken. */ @@ -54,6 +57,7 @@ export default { url: "https://www.figma.com/design/Mngz9H7WZLbrCvGQf3GnsY/S2-%2F-Desktop?node-id=2666-4482", }, metadata, + cssprops: { styles }, }, }; diff --git a/components/tooltip/stories/tooltip.stories.js b/components/tooltip/stories/tooltip.stories.js index a594409e4b7..a7d77214a8b 100644 --- a/components/tooltip/stories/tooltip.stories.js +++ b/components/tooltip/stories/tooltip.stories.js @@ -1,10 +1,13 @@ import { disableDefaultModes } from "@spectrum-css/preview/modes"; import { isFocused, isOpen } from "@spectrum-css/preview/types"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; import { SemanticVariantGroup, TooltipPlacementGroup, TooltipShowOnHover } from "./template.js"; import { PlacementVariants } from "./tooltip.test.js"; +// Local assets to render the component styles and structure +import metadata from "../dist/metadata.json"; +import styles from "../index.css?inline"; +import packageJson from "../package.json"; + /** * A tooltip shows contextual help or information about specific components when a user hovers or focuses on it. */ @@ -96,6 +99,7 @@ export default { }, packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/components/tray/stories/tray.stories.js b/components/tray/stories/tray.stories.js index 2f9221df9f6..680972c39b0 100644 --- a/components/tray/stories/tray.stories.js +++ b/components/tray/stories/tray.stories.js @@ -1,9 +1,12 @@ import { Template as Dialog } from "@spectrum-css/dialog/stories/template.js"; import { disableDefaultModes } from "@spectrum-css/preview/modes"; import { isOpen } from "@spectrum-css/preview/types"; +import { TrayGroup } from "./tray.test.js"; + +// Local assets to render the component styles and structure import metadata from "../dist/metadata.json"; +import styles from "../index.css?inline"; import packageJson from "../package.json"; -import { TrayGroup } from "./tray.test.js"; /** * A tray is typically used to display transient content (menus, options, additional actions, etc.) on mobile devices or smaller screens, exposing types of content that may be too overwhelming for [popovers](?path=/docs/components-popover--docs). @@ -40,6 +43,7 @@ export default { }, packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/components/treeview/stories/treeview.stories.js b/components/treeview/stories/treeview.stories.js index 19621954270..4cb5f8bb3bd 100644 --- a/components/treeview/stories/treeview.stories.js +++ b/components/treeview/stories/treeview.stories.js @@ -1,11 +1,14 @@ import { Sizes } from "@spectrum-css/preview/decorators"; import { disableDefaultModes } from "@spectrum-css/preview/modes"; import { isQuiet, size } from "@spectrum-css/preview/types"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; import { Template } from "./template.js"; import { TreeViewGroup } from "./treeview.test.js"; +// Local assets to render the component styles and structure +import styles from "../index.css?inline"; +import metadata from "../dist/metadata.json"; +import packageJson from "../package.json"; + /** * The typical usage of a treeview involves nesting a `.spectrum-Treeview element` within the `.spectrum-TreeView-item` parent element. * @@ -43,6 +46,7 @@ export default { }, packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/components/typography/stories/typography.stories.js b/components/typography/stories/typography.stories.js index c6595cb6a24..29e6ca809df 100644 --- a/components/typography/stories/typography.stories.js +++ b/components/typography/stories/typography.stories.js @@ -1,8 +1,7 @@ import { Sizes } from "@spectrum-css/preview/decorators"; import { disableDefaultModes } from "@spectrum-css/preview/modes"; import { size } from "@spectrum-css/preview/types"; -import metadata from "../dist/metadata.json"; -import packageJson from "../package.json"; + import { DocsBodyVariants, DocsCodeVariants, @@ -13,10 +12,16 @@ import { DocsInternationalizedCodeVariants, DocsInternationalizedDetailVariants, DocsInternationalizedHeadingBodyPairing, - DocsInternationalizedHeadingVariants, Template + DocsInternationalizedHeadingVariants, + Template } from "./template.js"; import { TypographyGroup } from "./typography.test.js"; +// Local assets to render the component styles and structure +import styles from "../index.css?inline"; +import metadata from "../dist/metadata.json"; +import packageJson from "../package.json"; + /** * Spectrum typography is broken out into several separate components: heading, body, detail, and code. Internationalized typography examples are also shown. */ @@ -83,6 +88,7 @@ export default { }, packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/components/underlay/stories/underlay.stories.js b/components/underlay/stories/underlay.stories.js index 4b9a61662ba..827ef33e1fe 100644 --- a/components/underlay/stories/underlay.stories.js +++ b/components/underlay/stories/underlay.stories.js @@ -1,9 +1,12 @@ import { Default as ModalStory } from "@spectrum-css/modal/stories/modal.stories.js"; import { Template as Modal } from "@spectrum-css/modal/stories/template.js"; import { isOpen } from "@spectrum-css/preview/types"; +import { Template } from "./template.js"; + +// Local assets to render the component styles and structure +import styles from "../index.css?inline"; import metadata from "../dist/metadata.json"; import packageJson from "../package.json"; -import { Template } from "./template.js"; /** * An underlay component is used with [modal](?path=/docs/components-modal--docs) and [dialog](?path=/docs/components-dialog--docs). It lays over the rest of the page to deliver a blocking layer between the two contexts. @@ -31,6 +34,7 @@ export default { chromatic: { disableSnapshot: true }, packageJson, metadata, + cssprops: { styles }, } }; diff --git a/components/well/stories/well.stories.js b/components/well/stories/well.stories.js index 0858075e6e4..212d5008efd 100644 --- a/components/well/stories/well.stories.js +++ b/components/well/stories/well.stories.js @@ -1,9 +1,12 @@ import { Template as Link } from "@spectrum-css/link/stories/template.js"; import { disableDefaultModes } from "@spectrum-css/preview/modes"; import { Template as Typography } from "@spectrum-css/typography/stories/template.js"; +import { WellGroup } from "./well.test.js"; + +// Local assets to render the component styles and structure +import styles from "../index.css?inline"; import metadata from "../dist/metadata.json"; import packageJson from "../package.json"; -import { WellGroup } from "./well.test.js"; /** * A well is a content container that displays non-editable content separate from other content on the screen. Often this is used to display preformatted text, such as code/markup examples on a documentation page. The well may also be labeled by an optional heading outside of the component. @@ -23,6 +26,7 @@ export default { }, packageJson, metadata, + cssprops: { styles }, }, }; diff --git a/package.json b/package.json index 4bcca63f213..22712e41cf5 100644 --- a/package.json +++ b/package.json @@ -74,7 +74,7 @@ "@spectrum-tools/postcss-add-theming-layer": "1.0.2", "@spectrum-tools/postcss-property-rollup": "0.0.1", "@spectrum-tools/postcss-rgb-mapping": "1.1.0", - "@yarnpkg/types": "^4.0.0", + "@yarnpkg/types": "^4.0.1", "at-rule-packer": "^0.4.2", "autoprefixer": "^10.4.21", "colors": "^1.4.0", @@ -83,9 +83,10 @@ "cssnano-preset-advanced": "^7.0.6", "diff": "^7.0.0", "diff2html": "^3.4.51", - "eslint": "^8.57.0", - "eslint-plugin-jsonc": "^2.18.2", - "eslint-plugin-prettier": "^5.1.3", + "eslint": "^8.57.1", + "eslint-plugin-jsonc": "^2.20.0", + "eslint-plugin-prettier": "^5.2.5", + "eslint-plugin-react": "^7.37.4", "fast-glob": "^3.3.3", "gh-pages": "^6.3.0", "husky": "^9.1.7", diff --git a/plugins/storybook-addon-custom-properties/CHANGELOG.md b/plugins/storybook-addon-custom-properties/CHANGELOG.md new file mode 100644 index 00000000000..e69de29bb2d diff --git a/plugins/storybook-addon-custom-properties/README.md b/plugins/storybook-addon-custom-properties/README.md new file mode 100644 index 00000000000..15250ef96d6 --- /dev/null +++ b/plugins/storybook-addon-custom-properties/README.md @@ -0,0 +1,78 @@ +# Component Tokens Addon + +Forked from `@kickstartds/storybook-addon-component-tokens` at v3.0.1. + +Displays CSS Custom Properties used inside a component. Extracts those values using [`custom-property-extract`](https://github.com/Dschungelabenteuer/custom-property-extract), and then converts those to a format displayed alongside your component inside **Storybook**. + +This helps in making token associations explicit (which **Component Token** uses what **Design Token** under the hood), while also illustrating the layering of tokens inside a single component (for example to generate style variations). + +You can also interact with those variables, for example changing some colors around. Those changes get persisted in your browser session, so you can easily verify if your changes work in the context of other components, too. + +**Table of contents:** + +- [Component Tokens Addon](#component-tokens-addon) + - [What it's for](#what-its-for) + - [Getting started](#getting-started) + - [Usage](#usage) + - [Adding to DocsPage and MDX](#adding-to-docspage-and-mdx) + - [DocsPage](#docspage) + - [Advanced configuration](#advanced-configuration) + - [Development](#development) + - [TODOs and ideas for the future](#todos-and-ideas-for-the-future) + - [Credits](#credits) + +## What it's for + +Main things you can do with this addon: + +1. Look through defined and layered **Component Token** +2. Modify token assignments live in **Storybook** +3. Test those changed tokens in all available contexts + +## Getting started + +```sh +yarn add --dev @kickstartds/storybook-addon-component-tokens +``` + +Enable the addon in [`.storybook/main.js`](https://storybook.js.org/docs/react/configure/overview#configure-your-storybook-project): + +```js +module.exports = { + addons: ["@kickstartds/storybook-addon-component-tokens"], +}; +``` + +To use it inside MDX, or when customising the docs page: + +```js +import { CssPropsBlock } from "@kickstartds/storybook-addon-component-tokens"; +``` + +### Usage + +Include your component tokens, the addon will apply and document this automatically. + +```jsx +export default { + title: "Simple component", + parameters: { + cssprops: { + customProperties: { + "--color-primary": [ + { + value: "#ff017d", + selector: ":root", + }, + ], + }, + }, + }, +}; +``` + +## Credits + +Based on [storybook-addon-cssprops](https://github.com/ljcl/storybook-addon-cssprops) from Luke Clark ([@ljcl](https://github.com/ljcl)). + +Portions of this package are sourced from the storybook source code in order to maintain look and feel. diff --git a/plugins/storybook-addon-custom-properties/components/CssPropsContext.jsx b/plugins/storybook-addon-custom-properties/components/CssPropsContext.jsx new file mode 100644 index 00000000000..e5a246d553c --- /dev/null +++ b/plugins/storybook-addon-custom-properties/components/CssPropsContext.jsx @@ -0,0 +1,68 @@ +/** @import type { FC, PropsWithChildren } from 'react' */ +/** @import type { CssPropsContextStore } from '../types' */ + +import { useChannel } from "@storybook/manager-api"; +import React, { + createContext, + useCallback, + useContext, + useEffect, + useState, +} from "react"; + +import { HIGHLIGHT } from "@storybook/addon-highlight"; +import { convert, themes } from "@storybook/theming"; + +/** + * @type {import("react").Context} + */ +export const CssPropsContext = createContext({ + highlighted: [], + toggleHighlight: () => {}, + clearHighlights: () => {}, +}); + +/** + * @type {FC} + */ +export const CssPropsContextProvider = (props) => { + const highlightColor = convert(themes.light).color.positive; + /** @type {string[]} */ + const [highlighted, setHighlighted] = useState([]); + + /** + * @type {(target: string[], highlight: boolean) => void} + */ + const handleToggleHighlight = useCallback((target, highlight) => { + setHighlighted((prevHighlighted) => + highlight + ? [...prevHighlighted, ...target] + : prevHighlighted.filter((t) => !target.includes(t)), + ); + }, []); + + const handleClearHighlights = useCallback(() => setHighlighted([]), []); + + const emit = useChannel({ + [HIGHLIGHT]: ({ elements, color }) => { + handleToggleHighlight(elements, !!color); + }, + }, [handleToggleHighlight]); + + useEffect(() => { + emit(HIGHLIGHT, { elements: highlighted, color: highlightColor }); + }, [emit, highlighted, highlightColor]); + + return ( + + ); +}; + +export const useCssPropsContext = () => useContext(CssPropsContext); diff --git a/plugins/storybook-addon-custom-properties/components/CssPropsPanel.jsx b/plugins/storybook-addon-custom-properties/components/CssPropsPanel.jsx new file mode 100644 index 00000000000..1f43eff532a --- /dev/null +++ b/plugins/storybook-addon-custom-properties/components/CssPropsPanel.jsx @@ -0,0 +1,78 @@ +import { Accordion, Disclosure, DisclosurePanel, DisclosureTitle } from "@react-spectrum/s2"; +import { useParameter } from "@storybook/manager-api"; +// import { isEqual } from "es-toolkit"; +import React, { useState } from "react"; +import { PARAM_KEY } from "../constants"; +import { extract, orderBySelector } from "../tools/extractor"; +import { hasEntries } from "../tools/utilities"; +import { Element } from "./Element"; +import { PanelMessage } from "./PanelMessage"; + +/** + * Used by the Storybook Addons Panel + * @type {import("react").FC} CssPropsPanel + */ +export const CssPropsPanel = ({ + // api, +}) => { + // console.log(api); + + const [customProperties, updateCustomProperties] = useState({}); + + // @todo, do we need a way to flag if styles were updated here + /** @type {import("../constants").CssPropsParameter} */ + const cssprops = useParameter(PARAM_KEY, { + styles: undefined, + mode: "full", + customProperties: {}, + }); + + // We can't continue without styles or customProperties + if (!cssprops || !cssprops?.styles) { + return ( + + This story is not configured with the custom properties add-on. + + ); + } + + // @todo where is the best place to attach these values + /* Attempt to extract custom properties from the styles provided */ + const extractedCustomProperties = extract(cssprops.styles, { + mode: "full", + ignoreSelectors: [".spectrum", /\.spectrum--([a-z]+)/], + ignoreCustomProperties: [/^--highcontrast/, /^--mod/], + }); + + // Check if the extracted custom properties are different from the current custom properties + // if (!isEqual(extractedCustomProperties, customProperties)) { + updateCustomProperties(extractedCustomProperties); + // } + + if (!hasEntries(customProperties)) { + return ( + + This story is not configured with the custom properties add-on. + + ); + } + + // CssProps has data keyed on custom property name, not by selector + // so we need to restructure the data to be keyed by selector + // to match the data structure of the Item + const csspropsBySelector = orderBySelector(customProperties); + console.log(csspropsBySelector); + + return ( + + {Object.entries(csspropsBySelector).map(([selector, props]) => ( + + {selector} + + + + + ))} + + ); +}; diff --git a/plugins/storybook-addon-custom-properties/components/Element.jsx b/plugins/storybook-addon-custom-properties/components/Element.jsx new file mode 100644 index 00000000000..5889751bda9 --- /dev/null +++ b/plugins/storybook-addon-custom-properties/components/Element.jsx @@ -0,0 +1,58 @@ +import { Column, Row, TableBody, TableHeader, TableView } from "@react-spectrum/s2"; +import React from "react"; + +/** + * @typedef {Object} NodeResult + * @property {Array} any - The 'any' rules. + * @property {Array} all - The 'all' rules. + * @property {Array} none - The 'none' rules. + * @property {Array} target - The target elements. + */ + +/** + * @typedef {Object} ElementProps + * @property {string} customProperty - The custom property name. + * @property {string} value - The value assigned to the custom property at this selector. + */ + +/** + * @param {ElementProps} props - The custom property key-value pairs for the Element component. + * @returns {JSX.Element} - The Element component. + */ +export const Element = ({ selector, props }) => { + let columns = [ + { name: "Custom property", uid: "name" }, + { name: "Default value", uid: "value" }, + { name: "Current value", uid: "current" }, + ]; + + let rows = Object.entries(props).map(([customProperty, value]) => { + return { + name: customProperty, + value: value, + current: "", + }; + }); + + return ( + + + {column => ( + {column.name} + )} + + + {item => ( + + {columnKey => {item[columnKey]}} + + )} + + + ); +}; diff --git a/plugins/storybook-addon-custom-properties/components/HighlightToggle.jsx b/plugins/storybook-addon-custom-properties/components/HighlightToggle.jsx new file mode 100644 index 00000000000..13a07da397b --- /dev/null +++ b/plugins/storybook-addon-custom-properties/components/HighlightToggle.jsx @@ -0,0 +1,76 @@ +import { styled } from '@storybook/theming'; +import React from 'react'; +import { useCssPropsContext } from './CssPropsContext'; + +const Checkbox = styled.input(({ disabled }) => ({ + cursor: disabled ? 'not-allowed' : 'pointer', +})); + +/** + * @typedef {Object} ElementToHighlight + * @property {Array} target - The target elements to highlight. + */ + +/** + * @param {ElementToHighlight[]} elementsToHighlight - The elements to highlight. + * @param {Array} highlighted - The currently highlighted elements. + * @returns {'UNCHECKED' | 'CHECKED' | 'INDETERMINATE'} - The state of the checkbox. + */ +function areAllRequiredElementsHighlighted(elementsToHighlight, highlighted) { + const highlightedCount = elementsToHighlight.filter((item) => + highlighted.includes(item.target[0]) + ).length; + + return highlightedCount === 0 + ? 'UNCHECKED' + : highlightedCount === elementsToHighlight.length + ? 'CHECKED' + : 'INDETERMINATE'; +} + +/** + * @typedef {Object} HighlightToggleProps + * @property {string} toggleId - The ID for the toggle. + * @property {ElementToHighlight[]} [elementsToHighlight=[]] - The elements to highlight. + */ + +/** + * @param {HighlightToggleProps} props - The props for the HighlightToggle component. + * @returns {JSX.Element} - The HighlightToggle component. + */ +const HighlightToggle = ({ toggleId, elementsToHighlight = [] }) => { + const { toggleHighlight, highlighted } = useCssPropsContext(); + const checkBoxRef = React.useRef(null); + const [checkBoxState, setChecked] = React.useState( + areAllRequiredElementsHighlighted(elementsToHighlight, highlighted) + ); + + React.useEffect(() => { + const newState = areAllRequiredElementsHighlighted(elementsToHighlight, highlighted); + if (checkBoxRef.current) { + checkBoxRef.current.indeterminate = newState === 'INDETERMINATE'; + } + setChecked(newState); + }, [elementsToHighlight, highlighted]); + + const handleToggle = React.useCallback(() => { + toggleHighlight( + elementsToHighlight.map((e) => e.target[0]), + checkBoxState !== 'CHECKED' + ); + }, [elementsToHighlight, checkBoxState, toggleHighlight]); + + return ( + + ); +}; + +export default HighlightToggle; diff --git a/plugins/storybook-addon-custom-properties/components/PanelMessage.jsx b/plugins/storybook-addon-custom-properties/components/PanelMessage.jsx new file mode 100644 index 00000000000..459d4d19ab9 --- /dev/null +++ b/plugins/storybook-addon-custom-properties/components/PanelMessage.jsx @@ -0,0 +1,17 @@ +import { Content, Heading, InlineAlert } from "@react-spectrum/s2"; + +/** + * An informative message to display in the panel. + * @param {import("@react-spectrum/s2").InlineAlert} settings + * @returns + */ +export const PanelMessage = ({ + variant = "informative", + heading, + children, +}) => ( + + {heading && {heading}} + {children} + +); diff --git a/plugins/storybook-addon-custom-properties/components/PropertiesTable.jsx b/plugins/storybook-addon-custom-properties/components/PropertiesTable.jsx new file mode 100644 index 00000000000..414e0225072 --- /dev/null +++ b/plugins/storybook-addon-custom-properties/components/PropertiesTable.jsx @@ -0,0 +1,100 @@ +import { PureArgsTable } from "@storybook/blocks"; +import { ResetWrapper } from "@storybook/components"; +import React, { useMemo, useState } from "react"; + +import { fetchResolvedValue } from "../tools/useInjectStyle"; +import { isValidColor } from "../tools/utilities"; + +/** + * @typedef {Object} PropertiesTableProps + * @property {import("../constants").CssPropsParameter} [customProperties] + * @property {boolean} [inAddonPanel] + */ +/** @typedef {(a: import('@storybook/types').ArgType, b: import('@storybook/types').ArgType) => string} SortFn */ +/** @typedef {'alpha'|'requiredFirst'|'none'} SortType */ + +const createArgTypes = ({ + name, + description, + value, + resolvedValue, + selector, + subcategory, +}) => ({ + name, + description: description, + control: { type: resolvedValue && isValidColor(resolvedValue) ? "color" : "text" }, + table: { + category: selector, + subcategory, + type: { summary: "string", detail: description }, + defaultValue: { summary: value }, + }, +}); + +/** @type {import("react").FC} */ +export const PropertiesTable = ({ + customProperties = {}, + inAddonPanel = true, +} = {}) => { + const { rows = {}, initialArgs = {}, argsKeys = [] } = useMemo(() => { + return Object.entries(customProperties).reduce( + (prev, [name, values]) => { + if (!Array.isArray(values)) return prev; + + // Iterate over each value and create the appropriate rows + values.forEach((item = {}) => { + if (!item.selector) return; + + const rowHeading = `${item.selector.trim()}/${name?.trim()}${ + item.media ? `/${item.media}` : "" + }`; + + // Resolve global token values + const resolvedValue = fetchResolvedValue(name, item.selector); + + // Add the argType to the rows to render in the table + prev.rows[rowHeading] = createArgTypes({ ...item, name, resolvedValue }); + // Add the resolved value to the initialArgs object for the table + prev.initialArgs[rowHeading] = resolvedValue; + }); + + prev.argsKeys = Object.keys(prev.initialArgs ?? {}); + return prev; + }, + { + /** @type {import("@storybook/types").ArgTypes} */ + rows: {}, + /** @type {import("@storybook/types").Args} */ + initialArgs: {}, + /** @type {string[]} */ + argsKeys: [], + }, + ); + }, [customProperties]); + + const [theArgs, setProperties] = useState(initialArgs); + + console.log("inject styles", {initialArgs, theArgs}); + // useInjectStyle(initialArgs); + + return ( + + { + setProperties({...initialArgs, ...args}); + // useInjectStyle({...initialArgs, ...args}); + }} + resetArgs={() => { + setProperties(initialArgs); + // useInjectStyle(initialArgs); + }} + rows={rows} + args={initialArgs} + isLoading={argsKeys.length <= 0} + /> + + ); +}; diff --git a/plugins/storybook-addon-custom-properties/components/Skeleton.jsx b/plugins/storybook-addon-custom-properties/components/Skeleton.jsx new file mode 100644 index 00000000000..730b160a24a --- /dev/null +++ b/plugins/storybook-addon-custom-properties/components/Skeleton.jsx @@ -0,0 +1,97 @@ +import React from 'react'; + +import { styled } from '@storybook/theming'; + +const Row = styled.div(({ theme }) => ({ + display: 'flex', + gap: 16, + borderBottom: `1px solid ${theme.appBorderColor}`, + + '&:last-child': { + borderBottom: 0, + }, +})); + +const Column = styled.div(({ numColumn }) => ({ + display: 'flex', + flexDirection: 'column', + flex: numColumn || 1, + gap: 5, + padding: '12px 20px', +})); + +const SkeletonText = styled.div( + ({ theme, width, height }) => ({ + animation: `${theme.animation.glow} 1.5s ease-in-out infinite`, + background: theme.appBorderColor, + width: width || '100%', + height: height || 16, + borderRadius: 3, + }) +); + +const columnWidth = [2, 4, 2, 2]; + +export const Skeleton = () => ( + <> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +); diff --git a/plugins/storybook-addon-custom-properties/constants.js b/plugins/storybook-addon-custom-properties/constants.js new file mode 100644 index 00000000000..aae92330374 --- /dev/null +++ b/plugins/storybook-addon-custom-properties/constants.js @@ -0,0 +1,15 @@ +export const PARAM_KEY = "cssprops"; +export const ADDON_ID = "addon-custom-properties"; +export const PANEL_ID = `${ADDON_ID}/panel`; + +const RESULT = `${ADDON_ID}/result`; +const REQUEST = `${ADDON_ID}/request`; +const RUNNING = `${ADDON_ID}/running`; +const ERROR = `${ADDON_ID}/error`; +const MANUAL = `${ADDON_ID}/manual`; + +export const TEST_PROVIDER_ID = 'storybook/addon-a11y/test-provider'; + +export const EVENTS = { RESULT, REQUEST, RUNNING, ERROR, MANUAL }; + +export const A11Y_TEST_TAG = 'a11ytest'; diff --git a/plugins/storybook-addon-custom-properties/expected/basic.json b/plugins/storybook-addon-custom-properties/expected/basic.json new file mode 100644 index 00000000000..d59bfcec7fd --- /dev/null +++ b/plugins/storybook-addon-custom-properties/expected/basic.json @@ -0,0 +1,462 @@ +{ + "--spectrum-logical-rotation": [ + { + "selector": ".spectrum-Widget:dir(rtl)", + "value": "matrix(-1, 0, 0, 1, 0, 0)" + }, + { + "selector": "[dir=\"rtl\"] .spectrum-Widget", + "value": "matrix(-1, 0, 0, 1, 0, 0)" + } + ], + "--spectrum-widget-background-color-default": [ + { + "selector": ".spectrum-Widget", + "value": "rgba(var(--spectrum-gray-900-rgb), var(--spectrum-background-opacity-default))" + } + ], + "--spectrum-widget-background-color-down": [ + { + "selector": ".spectrum-Widget", + "value": "rgba(var(--spectrum-gray-900-rgb), var(--spectrum-background-opacity-down))" + } + ], + "--spectrum-widget-background-color-hover": [ + { + "selector": ".spectrum-Widget", + "value": "rgba(var(--spectrum-gray-900-rgb), var(--spectrum-background-opacity-hover))" + } + ], + "--spectrum-widget-background-color-key-focus": [ + { + "selector": ".spectrum-Widget", + "value": "rgba(var(--spectrum-gray-900-rgb), var(--spectrum-background-opacity-key-focus))" + } + ], + "--spectrum-widget-component-edge-to-text": [ + { + "selector": ".spectrum-Widget", + "value": "var(--spectrum-component-edge-to-text-75)" + }, + { + "selector": ".spectrum-Widget--sizeS", + "value": "var(--spectrum-component-edge-to-text-50)" + }, + { + "selector": ".spectrum-Widget--sizeL", + "value": "var(--spectrum-component-edge-to-text-100)" + }, + { + "selector": ".spectrum-Widget--sizeXL", + "value": "var(--spectrum-component-edge-to-text-200)" + } + ], + "--spectrum-widget-corner-radius": [ + { + "selector": ".spectrum-Widget", + "value": "var(--spectrum-corner-radius-100)" + } + ], + "--spectrum-widget-disclosure-indicator-height": [ + { + "selector": ".spectrum-Widget", + "value": "var(--spectrum-component-height-100)", + "name": "--spectrum-widget-item-width will be removed in favor of --spectrum-widget-item-inline-size", + "isDeprecated": true + }, + { + "selector": ".spectrum-Widget--sizeS", + "value": "var(--spectrum-component-height-75)" + }, + { + "selector": ".spectrum-Widget--sizeL", + "value": "var(--spectrum-component-height-200)" + }, + { + "selector": ".spectrum-Widget--sizeXL", + "value": "var(--spectrum-component-height-300)" + } + ], + "--spectrum-widget-disclosure-indicator-to-text-space": [ + { + "selector": ".spectrum-Widget", + "value": "var(--spectrum-widget-disclosure-indicator-to-text)" + } + ], + "--spectrum-widget-divider-color": [ + { + "selector": ".spectrum-Widget", + "value": "var(--system-widget-divider-color)" + } + ], + "--spectrum-widget-edge-to-disclosure-indicator-space": [ + { + "selector": ".spectrum-Widget", + "value": "var(--spectrum-widget-edge-to-disclosure-indicator)" + } + ], + "--spectrum-widget-edge-to-text-space": [ + { + "selector": ".spectrum-Widget", + "value": "var(--spectrum-widget-edge-to-text)" + } + ], + "--spectrum-widget-focus-indicator-color": [ + { + "selector": ".spectrum-Widget", + "value": "var(--spectrum-focus-indicator-color)" + } + ], + "--spectrum-widget-focus-indicator-gap": [ + { + "selector": ".spectrum-Widget", + "value": "var(--spectrum-focus-indicator-gap)" + } + ], + "--spectrum-widget-focus-indicator-thickness": [ + { + "selector": ".spectrum-Widget", + "value": "var(--spectrum-focus-indicator-thickness)" + } + ], + "--spectrum-widget-item-content-area-bottom-to-content": [ + { + "selector": ".spectrum-Widget", + "value": "var(--spectrum-widget-content-area-bottom-to-content)" + } + ], + "--spectrum-widget-item-content-area-top-to-content": [ + { + "selector": ".spectrum-Widget", + "value": "var(--spectrum-widget-content-area-top-to-content)" + } + ], + "--spectrum-widget-item-content-color": [ + { + "selector": ".spectrum-Widget", + "value": "var(--spectrum-body-color)" + } + ], + "--spectrum-widget-item-content-disabled-color": [ + { + "selector": ".spectrum-Widget", + "value": "var(--spectrum-disabled-content-color)" + } + ], + "--spectrum-widget-item-content-font": [ + { + "selector": ".spectrum-Widget", + "value": "var(--spectrum-sans-font-family-stack)" + } + ], + "--spectrum-widget-item-content-font-size": [ + { + "selector": ".spectrum-Widget", + "value": "var(--spectrum-body-size-s)" + }, + { + "selector": ".spectrum-Widget--sizeS", + "value": "var(--spectrum-body-size-xs)" + }, + { + "selector": ".spectrum-Widget--sizeL", + "value": "var(--spectrum-body-size-m)" + }, + { + "selector": ".spectrum-Widget--sizeXL", + "value": "var(--spectrum-body-size-l)" + } + ], + "--spectrum-widget-item-content-font-style": [ + { + "selector": ".spectrum-Widget", + "value": "var(--spectrum-body-sans-serif-font-style)" + } + ], + "--spectrum-widget-item-content-font-weight": [ + { + "selector": ".spectrum-Widget", + "value": "var(--spectrum-body-sans-serif-font-weight)" + } + ], + "--spectrum-widget-item-content-line-height": [ + { + "selector": ".spectrum-Widget", + "value": "var(--spectrum-line-height-100)" + }, + { + "selector": ".spectrum-Widget:lang(ja)", + "value": "var(--spectrum-cjk-line-height-100)" + }, + { + "selector": ".spectrum-Widget:lang(ko)", + "value": "var(--spectrum-cjk-line-height-100)" + }, + { + "selector": ".spectrum-Widget:lang(zh)", + "value": "var(--spectrum-cjk-line-height-100)" + } + ], + "--spectrum-widget-item-header-bottom-to-text-space": [ + { + "selector": ".spectrum-Widget", + "value": "var(--spectrum-widget-bottom-to-text-regular-medium)" + }, + { + "selector": ".spectrum-Widget--compact", + "value": "var(--spectrum-widget-bottom-to-text-compact-medium)" + }, + { + "selector": ".spectrum-Widget--compact.spectrum-Widget--sizeS", + "value": "var(--spectrum-widget-bottom-to-text-compact-small)" + }, + { + "selector": ".spectrum-Widget--compact.spectrum-Widget--sizeL", + "value": "var(--spectrum-widget-bottom-to-text-compact-large)" + }, + { + "selector": ".spectrum-Widget--compact.spectrum-Widget--sizeXL", + "value": "var(--spectrum-widget-bottom-to-text-compact-extra-large)" + }, + { + "selector": ".spectrum-Widget--spacious", + "value": "var(--spectrum-widget-bottom-to-text-spacious-medium)" + }, + { + "selector": ".spectrum-Widget--spacious.spectrum-Widget--sizeS", + "value": "var(--spectrum-widget-bottom-to-text-spacious-small)" + }, + { + "selector": ".spectrum-Widget--spacious.spectrum-Widget--sizeL", + "value": "var(--spectrum-widget-bottom-to-text-spacious-large)" + }, + { + "selector": ".spectrum-Widget--spacious.spectrum-Widget--sizeXL", + "value": "var(--spectrum-widget-bottom-to-text-spacious-extra-large)" + }, + { + "selector": ".spectrum-Widget--sizeS", + "value": "var(--spectrum-widget-bottom-to-text-regular-small)" + }, + { + "selector": ".spectrum-Widget--sizeL", + "value": "var(--spectrum-widget-bottom-to-text-regular-large)" + }, + { + "selector": ".spectrum-Widget--sizeXL", + "value": "var(--spectrum-widget-bottom-to-text-regular-extra-large)" + } + ], + "--spectrum-widget-item-header-color-default": [ + { + "selector": ".spectrum-Widget", + "value": "var(--spectrum-neutral-content-color-default)" + } + ], + "--spectrum-widget-item-header-color-down": [ + { + "selector": ".spectrum-Widget", + "value": "var(--spectrum-neutral-content-color-down)" + } + ], + "--spectrum-widget-item-header-color-hover": [ + { + "selector": ".spectrum-Widget", + "value": "var(--spectrum-neutral-content-color-hover)" + } + ], + "--spectrum-widget-item-header-color-key-focus": [ + { + "selector": ".spectrum-Widget", + "value": "var(--spectrum-neutral-content-color-key-focus)" + } + ], + "--spectrum-widget-item-header-disabled-color": [ + { + "selector": ".spectrum-Widget", + "value": "var(--spectrum-disabled-content-color)" + } + ], + "--spectrum-widget-item-header-font": [ + { + "selector": ".spectrum-Widget", + "value": "var(--spectrum-sans-font-family-stack)" + } + ], + "--spectrum-widget-item-header-font-size": [ + { + "selector": ".spectrum-Widget", + "value": "var(--spectrum-font-size-300)" + }, + { + "selector": ".spectrum-Widget--sizeS", + "value": "var(--spectrum-font-size-200)" + }, + { + "selector": ".spectrum-Widget--sizeL", + "value": "var(--spectrum-font-size-500)" + }, + { + "selector": ".spectrum-Widget--sizeXL", + "value": "var(--spectrum-font-size-700)" + } + ], + "--spectrum-widget-item-header-font-style": [ + { + "selector": ".spectrum-Widget", + "value": "var(--spectrum-default-font-style)" + } + ], + "--spectrum-widget-item-header-font-weight": [ + { + "selector": ".spectrum-Widget", + "value": "var(--spectrum-bold-font-weight)" + } + ], + "--spectrum-widget-item-header-line-height": [ + { + "selector": ".spectrum-Widget", + "value": "1.25" + }, + { + "selector": ".spectrum-Widget:lang(ja)", + "value": "var(--spectrum-cjk-line-height-100)" + }, + { + "selector": ".spectrum-Widget:lang(ko)", + "value": "var(--spectrum-cjk-line-height-100)" + }, + { + "selector": ".spectrum-Widget:lang(zh)", + "value": "var(--spectrum-cjk-line-height-100)" + }, + { + "selector": ".spectrum-Widget--spacious", + "value": "1.278" + }, + { + "selector": ".spectrum-Widget--spacious.spectrum-Widget--sizeS", + "value": "1.25" + }, + { + "selector": ".spectrum-Widget--spacious.spectrum-Widget--sizeL", + "value": "1.273" + }, + { + "selector": ".spectrum-Widget--spacious.spectrum-Widget--sizeXL", + "value": "1.25" + } + ], + "--spectrum-widget-item-header-top-to-text-space": [ + { + "selector": ".spectrum-Widget", + "value": "var(--spectrum-widget-top-to-text-regular-medium)" + }, + { + "selector": ".spectrum-Widget--compact", + "value": "var(--spectrum-widget-top-to-text-compact-medium)" + }, + { + "selector": ".spectrum-Widget--compact.spectrum-Widget--sizeS", + "value": "var(--spectrum-widget-top-to-text-compact-small)" + }, + { + "selector": ".spectrum-Widget--compact.spectrum-Widget--sizeL", + "value": "var(--spectrum-widget-top-to-text-compact-large)" + }, + { + "selector": ".spectrum-Widget--compact.spectrum-Widget--sizeXL", + "value": "var(--spectrum-widget-top-to-text-compact-extra-large)" + }, + { + "selector": ".spectrum-Widget--spacious", + "value": "var(--spectrum-widget-top-to-text-spacious-medium)" + }, + { + "selector": ".spectrum-Widget--spacious.spectrum-Widget--sizeS", + "value": "var(--spectrum-widget-small-top-to-text-spacious)" + }, + { + "selector": ".spectrum-Widget--spacious.spectrum-Widget--sizeL", + "value": "var(--spectrum-widget-top-to-text-spacious-large)" + }, + { + "selector": ".spectrum-Widget--spacious.spectrum-Widget--sizeXL", + "value": "var(--spectrum-widget-top-to-text-spacious-extra-large)" + }, + { + "selector": ".spectrum-Widget--sizeS", + "value": "var(--spectrum-widget-top-to-text-regular-small)" + }, + { + "selector": ".spectrum-Widget--sizeL", + "value": "var(--spectrum-widget-top-to-text-regular-large)" + }, + { + "selector": ".spectrum-Widget--sizeXL", + "value": "var(--spectrum-widget-top-to-text-regular-extra-large)" + } + ], + "--spectrum-widget-item-height": [ + { + "selector": ".spectrum-Widget", + "value": "var(--spectrum-component-height-200)", + "name": "--spectrum-widget-item-height will be removed in favor of --spectrum-widget-item-block-size", + "isDeprecated": true + }, + { + "selector": ".spectrum-Widget--compact", + "value": "var(--spectrum-component-height-100)" + }, + { + "selector": ".spectrum-Widget--compact.spectrum-Widget--sizeS", + "value": "var(--spectrum-component-height-75)" + }, + { + "selector": ".spectrum-Widget--compact.spectrum-Widget--sizeL", + "value": "var(--spectrum-component-height-200)" + }, + { + "selector": ".spectrum-Widget--compact.spectrum-Widget--sizeXL", + "value": "var(--spectrum-component-height-300)" + }, + { + "selector": ".spectrum-Widget--sizeS", + "value": "var(--spectrum-component-height-100)" + }, + { + "selector": ".spectrum-Widget--sizeL", + "value": "var(--spectrum-component-height-300)" + }, + { + "selector": ".spectrum-Widget--sizeXL", + "value": "var(--spectrum-component-height-400)" + } + ], + "--spectrum-widget-item-width": [ + { + "selector": ".spectrum-Widget", + "value": "var(--spectrum-widget-minimum-width)" + } + ], + "--spectrum-widget-min-block-size": [ + { + "selector": ".spectrum-Widget", + "value": "max( var(--mod-widget-item-height, var(--spectrum-widget-item-height)), calc(var(--mod-widget-item-header-top-to-text-space, var(--spectrum-widget-item-header-top-to-text-space)) + var(--mod-widget-item-header-bottom-to-text-space, var(--spectrum-widget-item-header-bottom-to-text-space)) + var(--mod-widget-item-header-font-size, var(--spectrum-widget-item-header-font-size)) * var(--mod-widget-item-header-line-height, var(--spectrum-widget-item-header-line-height))) )" + } + ], + "--system-widget-divider-color": [ + { + "selector": ".spectrum", + "value": "var(--spectrum-gray-200)" + }, + { + "selector": ".spectrum.spectrum--legacy", + "value": "var(--spectrum-gray-300)" + }, + { + "selector": ".spectrum.spectrum--express", + "value": "var(--spectrum-gray-300)" + } + ] +} \ No newline at end of file diff --git a/plugins/storybook-addon-custom-properties/fixtures/basic.css b/plugins/storybook-addon-custom-properties/fixtures/basic.css new file mode 100644 index 00000000000..2ceecf20c46 --- /dev/null +++ b/plugins/storybook-addon-custom-properties/fixtures/basic.css @@ -0,0 +1,355 @@ +/*! + * Copyright 2024 Adobe. All rights reserved. + * + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +.spectrum { + --system-widget-divider-color: var(--spectrum-gray-200); +} + +/* @deprecated Selectors for legacy and express themes will be removed in the next major version */ +.spectrum.spectrum--legacy, +.spectrum.spectrum--express { + --system-widget-divider-color: var(--spectrum-gray-300); +} + +.spectrum-Widget { + --spectrum-widget-divider-color: var(--system-widget-divider-color); +} + + .spectrum-Widget { + /* @deprecated --spectrum-widget-item-height will be removed in favor of --spectrum-widget-item-block-size */ + --spectrum-widget-item-height: var(--spectrum-component-height-200); + --spectrum-widget-item-width: var(--spectrum-widget-minimum-width); /* @deprecated --spectrum-widget-item-width will be removed in favor of --spectrum-widget-item-inline-size */ + --spectrum-widget-disclosure-indicator-height: var(--spectrum-component-height-100); + --spectrum-widget-disclosure-indicator-to-text-space: var(--spectrum-widget-disclosure-indicator-to-text); + --spectrum-widget-edge-to-disclosure-indicator-space: var(--spectrum-widget-edge-to-disclosure-indicator); + --spectrum-widget-edge-to-text-space: var(--spectrum-widget-edge-to-text); + --spectrum-widget-item-header-top-to-text-space: var(--spectrum-widget-top-to-text-regular-medium); + --spectrum-widget-item-header-bottom-to-text-space: var(--spectrum-widget-bottom-to-text-regular-medium); + --spectrum-widget-focus-indicator-gap: var(--spectrum-focus-indicator-gap); + --spectrum-widget-focus-indicator-thickness: var(--spectrum-focus-indicator-thickness); + --spectrum-widget-corner-radius: var(--spectrum-corner-radius-100); + --spectrum-widget-item-content-area-top-to-content: var(--spectrum-widget-content-area-top-to-content); + --spectrum-widget-item-content-area-bottom-to-content: var(--spectrum-widget-content-area-bottom-to-content); + --spectrum-widget-component-edge-to-text: var(--spectrum-component-edge-to-text-75); + --spectrum-widget-item-header-font: var(--spectrum-sans-font-family-stack); + --spectrum-widget-item-header-font-weight: var(--spectrum-bold-font-weight); + --spectrum-widget-item-header-font-style: var(--spectrum-default-font-style); + --spectrum-widget-item-header-font-size: var(--spectrum-font-size-300); + --spectrum-widget-item-header-line-height: 1.25; + --spectrum-widget-item-content-font: var(--spectrum-sans-font-family-stack); + --spectrum-widget-item-content-font-weight: var(--spectrum-body-sans-serif-font-weight); + --spectrum-widget-item-content-font-style: var(--spectrum-body-sans-serif-font-style); + --spectrum-widget-item-content-font-size: var(--spectrum-body-size-s); + --spectrum-widget-item-content-line-height: var(--spectrum-line-height-100); + --spectrum-widget-background-color-default: rgba(var(--spectrum-gray-900-rgb), var(--spectrum-background-opacity-default)); + --spectrum-widget-background-color-hover: rgba(var(--spectrum-gray-900-rgb), var(--spectrum-background-opacity-hover)); + --spectrum-widget-background-color-down: rgba(var(--spectrum-gray-900-rgb), var(--spectrum-background-opacity-down)); + --spectrum-widget-background-color-key-focus: rgba(var(--spectrum-gray-900-rgb), var(--spectrum-background-opacity-key-focus)); + --spectrum-widget-item-header-color-default: var(--spectrum-neutral-content-color-default); + --spectrum-widget-item-header-color-hover: var(--spectrum-neutral-content-color-hover); + --spectrum-widget-item-header-color-down: var(--spectrum-neutral-content-color-down); + --spectrum-widget-item-header-color-key-focus: var(--spectrum-neutral-content-color-key-focus); + + --spectrum-widget-item-header-disabled-color: var(--spectrum-disabled-content-color); + --spectrum-widget-item-content-disabled-color: var(--spectrum-disabled-content-color); + --spectrum-widget-item-content-color: var(--spectrum-body-color); + --spectrum-widget-focus-indicator-color: var(--spectrum-focus-indicator-color); + + --spectrum-widget-min-block-size: max( + var(--mod-widget-item-height, var(--spectrum-widget-item-height)), + calc(var(--mod-widget-item-header-top-to-text-space, var(--spectrum-widget-item-header-top-to-text-space)) + var(--mod-widget-item-header-bottom-to-text-space, var(--spectrum-widget-item-header-bottom-to-text-space)) + var(--mod-widget-item-header-font-size, var(--spectrum-widget-item-header-font-size)) * var(--mod-widget-item-header-line-height, var(--spectrum-widget-item-header-line-height))) + ); +} + +.spectrum-Widget:dir(rtl), +[dir="rtl"] .spectrum-Widget { + --spectrum-logical-rotation: matrix(-1, 0, 0, 1, 0, 0); +} + +.spectrum-Widget:lang(ja), +.spectrum-Widget:lang(ko), +.spectrum-Widget:lang(zh) { + --spectrum-widget-item-header-line-height: var(--spectrum-cjk-line-height-100); + --spectrum-widget-item-content-line-height: var(--spectrum-cjk-line-height-100); +} + +.spectrum-Widget--compact { + --spectrum-widget-item-height: var(--spectrum-component-height-100); + --spectrum-widget-item-header-top-to-text-space: var(--spectrum-widget-top-to-text-compact-medium); + --spectrum-widget-item-header-bottom-to-text-space: var(--spectrum-widget-bottom-to-text-compact-medium); +} + +.spectrum-Widget--compact.spectrum-Widget--sizeS { + --spectrum-widget-item-height: var(--spectrum-component-height-75); + --spectrum-widget-item-header-top-to-text-space: var(--spectrum-widget-top-to-text-compact-small); + --spectrum-widget-item-header-bottom-to-text-space: var(--spectrum-widget-bottom-to-text-compact-small); +} + +.spectrum-Widget--compact.spectrum-Widget--sizeL { + --spectrum-widget-item-height: var(--spectrum-component-height-200); + --spectrum-widget-item-header-top-to-text-space: var(--spectrum-widget-top-to-text-compact-large); + --spectrum-widget-item-header-bottom-to-text-space: var(--spectrum-widget-bottom-to-text-compact-large); +} + +.spectrum-Widget--compact.spectrum-Widget--sizeXL { + --spectrum-widget-item-height: var(--spectrum-component-height-300); + --spectrum-widget-item-header-top-to-text-space: var(--spectrum-widget-top-to-text-compact-extra-large); + --spectrum-widget-item-header-bottom-to-text-space: var(--spectrum-widget-bottom-to-text-compact-extra-large); +} + +.spectrum-Widget--spacious { + --spectrum-widget-item-header-line-height: 1.278; + --spectrum-widget-item-header-top-to-text-space: var(--spectrum-widget-top-to-text-spacious-medium); + --spectrum-widget-item-header-bottom-to-text-space: var(--spectrum-widget-bottom-to-text-spacious-medium); +} + +.spectrum-Widget--spacious.spectrum-Widget--sizeS { + --spectrum-widget-item-header-line-height: 1.25; + --spectrum-widget-item-header-top-to-text-space: var(--spectrum-widget-small-top-to-text-spacious); + --spectrum-widget-item-header-bottom-to-text-space: var(--spectrum-widget-bottom-to-text-spacious-small); +} + +.spectrum-Widget--spacious.spectrum-Widget--sizeL { + --spectrum-widget-item-header-line-height: 1.273; + --spectrum-widget-item-header-top-to-text-space: var(--spectrum-widget-top-to-text-spacious-large); + --spectrum-widget-item-header-bottom-to-text-space: var(--spectrum-widget-bottom-to-text-spacious-large); +} + +.spectrum-Widget--spacious.spectrum-Widget--sizeXL { + --spectrum-widget-item-header-line-height: 1.25; + --spectrum-widget-item-header-top-to-text-space: var(--spectrum-widget-top-to-text-spacious-extra-large); + --spectrum-widget-item-header-bottom-to-text-space: var(--spectrum-widget-bottom-to-text-spacious-extra-large); +} + +.spectrum-Widget--sizeS { + --spectrum-widget-item-height: var(--spectrum-component-height-100); + --spectrum-widget-disclosure-indicator-height: var(--spectrum-component-height-75); + --spectrum-widget-component-edge-to-text: var(--spectrum-component-edge-to-text-50); + --spectrum-widget-item-header-font-size: var(--spectrum-font-size-200); + --spectrum-widget-item-content-font-size: var(--spectrum-body-size-xs); + --spectrum-widget-item-header-top-to-text-space: var(--spectrum-widget-top-to-text-regular-small); + --spectrum-widget-item-header-bottom-to-text-space: var(--spectrum-widget-bottom-to-text-regular-small); +} + +.spectrum-Widget--sizeL { + --spectrum-widget-item-height: var(--spectrum-component-height-300); + --spectrum-widget-disclosure-indicator-height: var(--spectrum-component-height-200); + --spectrum-widget-component-edge-to-text: var(--spectrum-component-edge-to-text-100); + --spectrum-widget-item-header-font-size: var(--spectrum-font-size-500); + --spectrum-widget-item-content-font-size: var(--spectrum-body-size-m); + --spectrum-widget-item-header-top-to-text-space: var(--spectrum-widget-top-to-text-regular-large); + --spectrum-widget-item-header-bottom-to-text-space: var(--spectrum-widget-bottom-to-text-regular-large); +} + +.spectrum-Widget--sizeXL { + --spectrum-widget-item-height: var(--spectrum-component-height-400); + --spectrum-widget-disclosure-indicator-height: var(--spectrum-component-height-300); + --spectrum-widget-component-edge-to-text: var(--spectrum-component-edge-to-text-200); + --spectrum-widget-item-header-font-size: var(--spectrum-font-size-700); + --spectrum-widget-item-content-font-size: var(--spectrum-body-size-l); + --spectrum-widget-item-header-top-to-text-space: var(--spectrum-widget-top-to-text-regular-extra-large); + --spectrum-widget-item-header-bottom-to-text-space: var(--spectrum-widget-bottom-to-text-regular-extra-large); +} + +.spectrum-Widget { + display: block; + list-style: none; + padding: 0; + margin: 0; +} + +.spectrum-Widget-item { + z-index: inherit; + position: relative; + + margin: 0; + + min-block-size: var(--mod-widget-item-height, var(--spectrum-widget-item-height)); + min-inline-size: var(--mod-widget-item-width, var(--spectrum-widget-item-width)); + + border-block-end: 1px solid transparent; + border-color: var(--mod-widget-divider-color, var(--spectrum-widget-divider-color)); + border-width: var(--mod-widget-divider-thickness, var(--spectrum-divider-thickness-small)); +} + +.spectrum-Widget-item:first-child { + border-block-start: 1px solid transparent; + border-color: var(--mod-widget-divider-color, var(--spectrum-widget-divider-color)); + border-width: var(--mod-widget-divider-thickness, var(--spectrum-divider-thickness-small)); +} + +.spectrum-Widget-itemHeading { + margin: 0; + position: relative; + box-sizing: border-box; +} + +.spectrum-Widget-itemIconContainer { + padding-inline-start: var(--mod-widget-edge-to-disclosure-indicator-space, var(--spectrum-widget-edge-to-disclosure-indicator-space)); + inline-size: var(--mod-widget-disclosure-indicator-height, var(--spectrum-widget-disclosure-indicator-height)); + block-size: var(--mod-widget-disclosure-indicator-height, var(--spectrum-widget-disclosure-indicator-height)); + display: flex; + justify-content: center; + align-items: center; + color: var(--mod-widget-item-header-color-default, var(--spectrum-widget-item-header-color-default)); + position: absolute; + inset-block-start: max(0px, calc((var(--mod-widget-min-block-size, var(--spectrum-widget-min-block-size)) - var(--mod-widget-disclosure-indicator-height, var(--spectrum-widget-disclosure-indicator-height))) / 2)); +} + +.spectrum-Widget-itemIconContainer:dir(rtl), +[dir="rtl"] .spectrum-Widget-itemIconContainer { + transform: scaleX(-1); +} + +.spectrum-Widget-itemContent { + padding-block: var(--mod-widget-item-content-area-top-to-content, var(--spectrum-widget-item-content-area-top-to-content)) var(--mod-widget-item-content-area-bottom-to-content, var(--spectrum-widget-item-content-area-bottom-to-content)); + padding-inline: var(--mod-widget-component-edge-to-text, var(--spectrum-widget-component-edge-to-text)) var(--mod-widget-component-edge-to-text, var(--spectrum-widget-component-edge-to-text)); + display: none; + color: var(--mod-widget-item-content-color, var(--spectrum-widget-item-content-color)); + font-weight: var(--mod-widget-item-content-font-weight, var(--spectrum-widget-item-content-font-weight)); + font-style: var(--mod-widget-item-content-font-style, var(--spectrum-widget-item-content-font-style)); + font-size: var(--mod-widget-item-content-font-size, var(--spectrum-widget-item-content-font-size)); + font-family: var(--mod-widget-item-content-font, var(--spectrum-widget-item-content-font)); + line-height: var(--mod-widget-item-content-line-height, var(--spectrum-widget-item-content-line-height)); +} + +.spectrum-Widget-itemHeader { + position: relative; + display: flex; + align-items: center; + justify-content: flex-start; + + box-sizing: border-box; + padding-block: var(--mod-widget-item-header-top-to-text-space, var(--spectrum-widget-item-header-top-to-text-space)) var(--mod-widget-item-header-bottom-to-text-space, var(--spectrum-widget-item-header-bottom-to-text-space)); + + padding-inline-start: calc(var(--mod-widget-disclosure-indicator-to-text-space, var(--spectrum-widget-disclosure-indicator-to-text-space)) + var(--mod-widget-disclosure-indicator-height, var(--spectrum-widget-disclosure-indicator-height))); + padding-inline-end: var(--mod-widget-edge-to-text-space, var(--spectrum-widget-edge-to-text-space)); + + min-block-size: var(--mod-widget-min-block-size, var(--spectrum-widget-min-block-size)); + line-height: var(--mod-widget-item-header-line-height, var(--spectrum-widget-item-header-line-height)); + + text-overflow: ellipsis; + cursor: pointer; + font-size: var(--mod-widget-item-header-font-size, var(--spectrum-widget-item-header-font-size)); + font-weight: var(--mod-widget-item-header-font-weight, var(--spectrum-widget-item-header-font-weight)); + font-style: var(--mod-widget-item-header-font-style, var(--spectrum-widget-item-header-font-style)); + font-family: var(--mod-widget-item-header-font, var(--spectrum-widget-item-header-font)); + appearance: none; + border: 0; + text-align: start; + inline-size: 100%; + color: var(--mod-widget-item-header-color-default, var(--spectrum-widget-item-header-color-default)); + background-color: var(--mod-widget-background-color-default, var(--spectrum-widget-background-color-default)); +} + +.spectrum-Widget-itemHeader:focus { + outline: none; +} + +.spectrum-Widget-itemHeader:focus:after { + content: ""; + position: absolute; + inset-inline-start: 0; +} + +.spectrum-Widget-itemHeader.is-hover { + background-color: var(--mod-widget-background-color-hover, var(--spectrum-widget-background-color-hover)); +} + +.spectrum-Widget-itemHeader.is-hover, +.spectrum-Widget-itemHeader.is-hover + .spectrum-Widget-itemIconContainer { + color: var(--mod-widget-item-header-color-hover, var(--spectrum-widget-item-header-color-hover)); +} + +.spectrum-Widget-itemHeader.is-focus-visible, +.spectrum-Widget-itemHeader:focus-visible { + border-radius: var(--mod-widget-corner-radius, var(--spectrum-widget-corner-radius)); + + outline: var(--mod-widget-focus-indicator-thickness, var(--spectrum-widget-focus-indicator-thickness)) solid var(--mod-widget-focus-indicator-color, var(--spectrum-widget-focus-indicator-color)); + background-color: var(--mod-widget-background-color-key-focus, var(--spectrum-widget-background-color-key-focus)); + color: var(--mod-widget-item-header-color-key-focus, var(--spectrum-widget-item-header-color-key-focus)); + outline-offset: calc(var(--mod-widget-focus-indicator-gap, var(--spectrum-widget-focus-indicator-gap)) * -1); +} + +.spectrum-Widget-itemHeader.is-active, +.spectrum-Widget-itemHeader:active { + background-color: var(--mod-widget-background-color-down, var(--spectrum-widget-background-color-down)); + color: var(--mod-widget-item-header-color-down, var(--spectrum-widget-item-header-color-down)); +} + +.spectrum-Widget-item.is-open .spectrum-Widget-itemHeader.is-hover { + background-color: var(--mod-widget-background-color-hover, var(--spectrum-widget-background-color-hover)); +} + +.spectrum-Widget-item.is-disabled .spectrum-Widget-itemHeader, +.spectrum-Widget-item.is-disabled .spectrum-Widget-itemHeader.is-focus-visible, +.spectrum-Widget-item.is-disabled .spectrum-Widget-itemHeader.is-hover, +.spectrum-Widget-item.is-disabled .spectrum-Widget-itemHeader:focus-visible { + color: var(--mod-widget-item-header-disabled-color, var(--spectrum-widget-item-header-disabled-color)); + background-color: initial; +} + +@media (hover: hover) { + .spectrum-Widget-itemHeader.is-hover, + .spectrum-Widget-itemHeader:hover { + background-color: var(--mod-widget-background-color-hover, var(--spectrum-widget-background-color-hover)); + } + + .spectrum-Widget-itemHeader.is-hover, + .spectrum-Widget-itemHeader:hover, + .spectrum-Widget-itemHeader:hover + .spectrum-Widget-itemIconContainer { + color: var(--mod-widget-item-header-color-hover, var(--spectrum-widget-item-header-color-hover)); + } + + .spectrum-Widget-item.is-open .spectrum-Widget-itemHeader.is-hover, + .spectrum-Widget-item.is-open .spectrum-Widget-itemHeader:hover { + background-color: var(--mod-widget-background-color-hover, var(--spectrum-widget-background-color-hover)); + } + + .spectrum-Widget-item.is-disabled .spectrum-Widget-itemHeader.is-hover, + .spectrum-Widget-item.is-disabled .spectrum-Widget-itemHeader:hover { + color: var(--mod-widget-item-header-disabled-color, var(--spectrum-widget-item-header-disabled-color)); + background-color: initial; + } +} + +.spectrum-Widget-item.is-disabled .spectrum-Widget-itemHeader + .spectrum-Widget-itemIconContainer { + color: var(--mod-widget-item-header-disabled-color, var(--spectrum-widget-item-header-disabled-color)); +} + +.spectrum-Widget-item.is-disabled .spectrum-Widget-itemContent { + color: var(--mod-widget-item-content-disabled-color, var(--spectrum-widget-item-content-disabled-color)); +} + +@media (forced-colors: active) { + .spectrum-Widget-itemHeader:after { + forced-color-adjust: none; + content: ""; + position: absolute; + inset-inline-start: 0; + } +} + +.spectrum-Widget-item.is-open > .spectrum-Widget-itemHeading > .spectrum-Widget-itemIconContainer > .spectrum-Widget-itemIndicator, +.spectrum-Widget-item.is-open > .spectrum-Widget-itemIconContainer > .spectrum-Widget-itemIndicator { + transform: rotate(90deg); + transform: var(--spectrum-logical-rotation,) rotate(90deg); +} + +.spectrum-Widget-item.is-open > .spectrum-Widget-itemContent { + display: block; +} + +.spectrum-Widget-item.is-disabled .spectrum-Widget-itemHeader { + cursor: default; +} diff --git a/plugins/storybook-addon-custom-properties/index.js b/plugins/storybook-addon-custom-properties/index.js new file mode 100644 index 00000000000..a696a95257c --- /dev/null +++ b/plugins/storybook-addon-custom-properties/index.js @@ -0,0 +1,6 @@ +export { CssPropsBlock } from "./components/CssPropsBlock"; +export { extract } from "./tools/extractor"; + +if (module && module.hot && module.hot.decline) { + module.hot.decline(); +} diff --git a/plugins/storybook-addon-custom-properties/manager.jsx b/plugins/storybook-addon-custom-properties/manager.jsx new file mode 100644 index 00000000000..422369180a7 --- /dev/null +++ b/plugins/storybook-addon-custom-properties/manager.jsx @@ -0,0 +1,37 @@ +import { Provider } from "@react-spectrum/s2"; +import { Badge, Spaced } from "@storybook/components"; +import { addons, types, useAddonState } from "@storybook/manager-api"; +import { CssPropsContextProvider } from "./components/CssPropsContext"; +import { CssPropsPanel } from "./components/CssPropsPanel"; +import { ADDON_ID, PARAM_KEY } from "./constants"; + +const Title = () => { + const [addonState] = useAddonState(ADDON_ID); + console.log("addonState", addonState); + + const customProperties = addonState?.customProperties || {}; + + const controlsCount = Object.values(customProperties).flat().length; + + return ( + + Custom properties + {controlsCount !== 0 ? {controlsCount} : null} + + ); +}; + +addons.register(ADDON_ID, (api) => { + addons.add(ADDON_ID, { + title: Title, + type: types.PANEL, + paramKey: PARAM_KEY, + render: ({ active = true }) => ( + + + {active ? : null} + + + ), + }); +}); diff --git a/plugins/storybook-addon-custom-properties/package.json b/plugins/storybook-addon-custom-properties/package.json new file mode 100644 index 00000000000..7293a262448 --- /dev/null +++ b/plugins/storybook-addon-custom-properties/package.json @@ -0,0 +1,62 @@ +{ + "name": "@spectrum-tools/storybook-addon-custom-properties", + "version": "0.0.0", + "license": "Apache-2.0", + "author": "Adobe", + "contributors": [ + "Cassondra Roberts " + ], + "type": "module", + "main": "index.js", + "files": [ + "components/*", + "package.json", + "*.js", + "*.jsx", + "*.md" + ], + "dependencies": { + "@adobe/react-spectrum": "^3.40.1", + "@react-spectrum/s2": "^0.7.1", + "es-toolkit": "^1.33.0", + "postcss": "^8.5.3", + "postcss-selector-parser": "^6.1.2" + }, + "peerDependencies": { + "@storybook/addon-docs": ">=8.2 <9", + "@storybook/blocks": ">=8.2 <9", + "@storybook/components": ">=8.2 <9", + "@storybook/manager-api": ">=8.2 <9", + "@storybook/theming": ">=8.2 <9", + "react": ">=18.2", + "react-dom": ">=18.2", + "storybook": ">=8.2 <9" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + }, + "devDependencies": { + "ava": "^6.2.0", + "c8": "^10.1.3" + }, + "keywords": [ + "css", + "custom-properties", + "addon", + "storybook" + ], + "repository": { + "type": "git", + "url": "https://github.com/adobe/spectrum-css.git", + "directory": "plugins/storybook-addon-custom-properties" + }, + "bugs": { + "url": "https://github.com/adobe/spectrum-css/issues" + }, + "homepage": "https://opensource.adobe.com/spectrum-css/" +} diff --git a/plugins/storybook-addon-custom-properties/project.json b/plugins/storybook-addon-custom-properties/project.json new file mode 100644 index 00000000000..f45b748d4f3 --- /dev/null +++ b/plugins/storybook-addon-custom-properties/project.json @@ -0,0 +1,16 @@ +{ + "$schema": "../../node_modules/nx/schemas/project-schema.json", + "name": "storybook-addon-custom-properties", + "tags": ["tooling", "storybook", "plugin"], + "targets": { + "format": { + "defaultConfiguration": "plugins" + }, + "lint": { + "defaultConfiguration": "plugins" + }, + "test": { + "defaultConfiguration": "plugins" + } + } +} diff --git a/plugins/storybook-addon-custom-properties/test.js b/plugins/storybook-addon-custom-properties/test.js new file mode 100644 index 00000000000..ab23a3cf7bf --- /dev/null +++ b/plugins/storybook-addon-custom-properties/test.js @@ -0,0 +1,40 @@ +/*! + * Copyright 2024 Adobe. All rights reserved. + * + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +import test from "ava"; +import { readFileSync } from "fs"; +import { extract } from "./tools/extractor.js"; + +function compare( + t, + fixtureFilePath, + expectedFilePath, + options = {} +) { + const content = readFile(`./fixtures/${fixtureFilePath}`); + const actual = extract(content, options); + + const expected = readFile(`./expected/${expectedFilePath}`); + + t.deepEqual(actual, JSON.parse(expected)); + + // writeFileSync(`./expected/${expectedFilePath}`, JSON.stringify(actual, null, 2), { encoding: "utf8" }); +} + +function readFile(filename) { + return readFileSync(filename, { encoding: "utf8" }); +} + +test("create basic output", (t) => { + return compare(t, "basic.css", "basic.json"); +}); diff --git a/plugins/storybook-addon-custom-properties/title.js b/plugins/storybook-addon-custom-properties/title.js new file mode 100644 index 00000000000..4855054fd2f --- /dev/null +++ b/plugins/storybook-addon-custom-properties/title.js @@ -0,0 +1,13 @@ +import { useParameter } from "@storybook/manager-api"; +import { PARAM_KEY } from "./constants"; + +export function getTitle() { + const { customProperties = {} } = useParameter(PARAM_KEY, { + customProperties: {}, + }); + + const controlsCount = Object.values(customProperties).flat().length; + const suffix = controlsCount === 0 ? "" : ` (${controlsCount})`; + + return `Component properties${suffix}`; +} diff --git a/plugins/storybook-addon-custom-properties/tools/extractor.js b/plugins/storybook-addon-custom-properties/tools/extractor.js new file mode 100644 index 00000000000..cae255573b9 --- /dev/null +++ b/plugins/storybook-addon-custom-properties/tools/extractor.js @@ -0,0 +1,150 @@ +/** @import { ExtractResult, CssPropsConfig } from '../types' */ + +import postcss from "postcss"; +const parser = require("postcss-selector-parser"); + +/** + * Get extracted Custom Property. + * @param {import('postcss').Node} node + * @param {CssPropsConfig} [options={}] + * @returns {ExtractResult} + */ +export const getExtractedCustomProperty = ( + node, + { + prefix, + ignoreSelectors = [], + ignoreCustomProperties = [], + ignoreMediaQueries = [], + } = {}, +) => { + let key; + + // Find out if the key is a custom property. + // @todo we should probably also gather data from used custom properties + if (!(node.type === "decl" && node.prop.startsWith("--"))) return { key }; + + + // If a prefix is provided, check that the node.content starts with that string. + if (prefix && ! node.prop.startsWith(prefix)) return { key }; + + // If the key is in the ignore list, skip it. + // Test using a regex if the key is in the ignore list. + if (ignoreCustomProperties.some((regex) => regex.test(node.prop))) return { key }; + + key = node.prop; + const value = node.value.replace(/\n/g, " ").replace(/\s+/g, " ").trim(); + + const result = []; + + // Determine what the selector is containing the custom property. + parser((selectors => { + selectors.each(selectorNode => { + const selector = selectorNode.toString().trim(); + + // If the selector is in the ignore list, skip it. + if (ignoreSelectors.includes(selector)) return; + + let metadata = { + selector, + value, + }; + + // Find out if the node is within an at-rule. + if (node.parent?.parent?.type === "atrule") { + // If the at-rule is in the ignore list, skip it. + if (ignoreMediaQueries.includes(node.parent.parent.params)) return; + + metadata.media = `@media ${node.parent.parent.params}`; + } + + // Look for any comments that might provide context. + if (node.prev() && node.prev().type === "comment" && node.prev().text.startsWith("@")) { + // @todo handle multiline comments with more than 1 set of @key value pairs + const commentType = node.prev().text.replace(/^@([a-z]+)\s.*/, "$1").trim(); + const commentContent = node.prev().text.replace(/^@([a-z]+)\s/, "").trim(); + + if (commentType.toLowerCase().startsWith("ignore")) { + return; + } + + if (commentType.toLowerCase().startsWith("deprecate")) { + metadata.isDeprecated = true; + } + + metadata.description = commentContent; + } + + result.push(metadata); + }); + })).processSync(node.parent.selector); + + return { key, value: result }; +}; + +/** + * @param {string} content -- CSS styles to extract custom properties from. + * @param {CssPropsConfig & import('postcss').ProcessOptions} options + * @returns {ExtractResult} + */ +export const extract = (content, options) => { + /** @type {import('postcss').ProcessOptions} */ + const postcssOptions = { + map: false, + ...options + }; + + /** @type {import('postcss').Root} */ + const root = postcss.parse(content, postcssOptions); + + /** + * This object is keyed by custom property names and contains arrays of their values; + * for simple mode, the value is just the value string. + * for full mode, the value is an object containing the value string and any other relevant data + * such as the selector, media query, or name. + * + * @type {ExtractResult} + */ + let output = new Map(); + + /* Fetch all declarations so we can being to extract custom properties */ + root.walkDecls((decl) => { + const { key, value } = getExtractedCustomProperty(decl, options); + if (!key) return; + if (!value || value === "") return; + + let data = output.get(key) || []; + + if (Array.isArray(value)) data.push(...value); + else data.push(value); + + output.set(key, data); + }); + + return [...output.entries()].sort().reduce((acc, [key, value]) => { + acc[key] = value; + return acc; + }, {}); +}; + +export const orderBySelector = (properties) => { + return Object.entries(properties).reduce((acc, [key, props]) => { + for (const { selector, value, media } of props) { + + const selectorProps = acc[selector] ?? {}; + + if (media) { + const mediaProps = selectorProps?.[media] ?? {}; + mediaProps[key] = value; + selectorProps[media] = mediaProps; + } + else { + selectorProps[key] = value; + } + + acc[selector] = selectorProps; + } + + return acc; + }, {}); +}; diff --git a/plugins/storybook-addon-custom-properties/tools/storage.js b/plugins/storybook-addon-custom-properties/tools/storage.js new file mode 100644 index 00000000000..e3b18200905 --- /dev/null +++ b/plugins/storybook-addon-custom-properties/tools/storage.js @@ -0,0 +1,90 @@ +import { ADDON_ID } from "../constants"; + +/** + * @param {string} key + * @returns {Record} + */ +const getSessionStorage = (key) => { + if (window && window.sessionStorage) { + try { + const sessionStorage = window.sessionStorage.getItem(key); + if (sessionStorage) { + const parsedStorage = JSON.parse(sessionStorage); + return parsedStorage; + } + } catch (e) { + console.warn( + "[storybook-addon-component-tokens]", + "Couldn't read sessionStorage", + e, + ); + return {}; + } + } + return {}; +}; + +/** + * @param {string} key + * @param {Record} data + * @returns {void} + */ +const setSessionStorage = (key, data) => { + if (window && window.sessionStorage) { + if (data) { + try { + window.sessionStorage.setItem(key, JSON.stringify(data)); + } catch (e) { + console.warn( + "[storybook-addon-component-tokens]", + "Couldn't write to sessionStorage", + ); + } + } + } +}; + +/** + * @param {import("@storybook/types").Args} cssProps + */ +export const updateStorage = (cssProps = {}) => { + const propertiesFromStorage = getSessionStorage(ADDON_ID); + /** @type import("@storybook/types").Args */ + const newProperties = {}; + + Object.keys(cssProps).forEach((key) => { + newProperties[key] = cssProps[key]; + }); + + const newStorage = { ...propertiesFromStorage, ...newProperties }; + setSessionStorage(ADDON_ID, newStorage); + return newStorage; +}; + +/** + * @param {string[]} cssPropNames + */ +export const resetStorage = (argKeys) => { + const storedProperties = getSessionStorage(ADDON_ID); + + if (argKeys) { + argKeys.forEach((key) => { + if (Object.keys(storedProperties).includes(key)) { + delete storedProperties[key]; + } + }); + } + + setSessionStorage(ADDON_ID, storedProperties); + + return storedProperties; +}; + +/** + * @param {import("@storybook/types").Args} fromParams + * @param {ReturnType} fromStorage + */ +export const mergeCustomPropertiesWithStorage = ( + fromParams = {}, + fromStorage = getSessionStorage(ADDON_ID), +) => ({ ...fromParams, ...fromStorage }); diff --git a/plugins/storybook-addon-custom-properties/tools/types.js b/plugins/storybook-addon-custom-properties/tools/types.js new file mode 100644 index 00000000000..113842f274a --- /dev/null +++ b/plugins/storybook-addon-custom-properties/tools/types.js @@ -0,0 +1,57 @@ +/** + * @typedef {Object} Group + * @property {string} label + * @property {string} [category] + * @property {string} [subcategory] + */ + +/** + * @typedef StyleNode + * @property {string} type + * @property {StyleNode[] | string} [content] + * @property {(type: string) => boolean} is + */ + +/** + * @typedef {Object} ExtractOptions + * @property {'simple'|'full'} mode -- How much information should be extracted from the styles. + * @property {string} prefix -- Optional prefix to filter custom properties by. + * @property {string} commentKeyword -- Optional keyword to check for in the styles to offer context. + */ + +/** + * @typedef {Object} CssPropsMetadata + * @property {string} name + * @property {string} media + * @property {string} selector + * @property {string} value + */ + +/** + * @typedef {Record} ExtractResult + */ + +/** + * @typedef {Object} CssPropsConfig + * @property {string} [prefix] -- Optional prefix to filter custom properties by. + * @property {string[]} ignoreSelectors -- Which CSS selectors to exclude from the final output. + * @property {string[]} ignoreCustomProperties -- Which custom properties to exclude from the final output. + * @property {string[]} ignoreMediaQueries -- Which media queries to exclude from the final output. + */ + +/** @typedef {'initial' | 'manual' | 'running' | 'error' | 'ran' | 'ready'} Status */ + +/** + * @typedef {Object} CssPropsContextStore + * @property {Results} results + * @property {string[]} highlighted + * @property {(target: string[], highlight: boolean) => void} toggleHighlight + * @property {() => void} clearHighlights + * @property {number} tab + * @property {(index: number) => void} setTab + * @property {Status} status + * @property {(status: Status) => void} setStatus + * @property {unknown} error + * @property {() => void} handleManual + * @property {TestDiscrepancy} discrepancy + */ diff --git a/plugins/storybook-addon-custom-properties/tools/useInjectStyle.js b/plugins/storybook-addon-custom-properties/tools/useInjectStyle.js new file mode 100644 index 00000000000..d346fb3a240 --- /dev/null +++ b/plugins/storybook-addon-custom-properties/tools/useInjectStyle.js @@ -0,0 +1,63 @@ +import { useEffect, useRef } from "react"; +import { ADDON_ID } from "../constants"; +import { useDocument } from "./utilities"; + +/** + * This hook fetches the resolved value of a CSS property + * at a specific selector from the document. + * @param {string} key -- the full custom property name (e.g. --spectrum-color-static-black) + * @param {string} selector -- the CSS selector to query in the document + * @returns {string | undefined} -- the resolved value of the CSS property + */ +export const fetchResolvedValue = (key, selector = ".spectrum") => { + // Get a reference to the document + const docRef = useDocument(); + + if (!docRef.current) return; + + const element = docRef.current.querySelector(selector); + if (!element) return; + + const styles = window.getComputedStyle(element); + if (!styles) return; + + return styles.getPropertyValue(key); +}; + +/** + * @param {import("@storybook/types").Args} args + */ +export const useInjectStyle = (args = {}) => { + /** @type {HTMLStyleElement} */ + const styleRef = useRef(); + const docRef = useDocument(); + + useEffect(() => { + if (docRef.current) { + /** @type {HTMLStyleElement} */ + styleRef.current = docRef.current.getElementById(ADDON_ID); + if (!styleRef.current) { + const styleEl = docRef.current.createElement("style"); + styleEl.id = ADDON_ID; + styleRef.current = docRef.current.head.appendChild(styleEl); + } + } + }, [docRef, styleRef, ADDON_ID]); + + useEffect(() => { + if (styleRef.current) { + const styles = Object.entries(args).reduce((prev, [key, value]) => { + const [selector, prop, media] = key.split("/"); + + // Do not include undefined or empty values + if (typeof value === "undefined" || value === null || value === "") return prev; + + const rule = `${selector} { ${prop}: ${value}; }\n`; + return prev + (media ? `@media ${media} {\n ${rule}}\n` : rule); + }, ""); + + console.log(styles); + styleRef.current.textContent = styles; + } + }, [args, styleRef]); +}; diff --git a/plugins/storybook-addon-custom-properties/tools/utilities.js b/plugins/storybook-addon-custom-properties/tools/utilities.js new file mode 100644 index 00000000000..6bfc185a8f9 --- /dev/null +++ b/plugins/storybook-addon-custom-properties/tools/utilities.js @@ -0,0 +1,46 @@ +import { useEffect, useRef } from "react"; + +/** + * @param {{ [key: string]: any }} object + */ +export const hasEntries = (object = {}) => + !!(object && Object.keys(object).length); + +// https://www.regextester.com/103656 +const colorRe = + /^#([\da-f]{3}){1,2}$|^#([\da-f]{4}){1,2}$|(rgb|hsl)a?\((\s*-?\d+%?\s*,){2}(\s*-?\d+%?\s*,?\s*\)?)(,\s*(0?\.\d+)?|1)?\)/i; +const varRe = /^(var|calc|\d|\.)/; + +/* @type {{ [key: string]: boolean }} */ +const memo = {}; +/** + * + * @param {string} strColor + */ +export const isValidColor = (strColor) => { + if (!(Object.keys(memo).includes(strColor))) { + if (varRe.test(strColor)) { + memo[strColor] = false; + } + else if (colorRe.test(strColor)) { + memo[strColor] = true; + } + else { + const s = new Option().style; + s.color = strColor; + memo[strColor] = s.color === strColor.toLowerCase(); + } + } + return memo[strColor]; +}; + +export const useDocument = () => { + /** @type {React.MutableRefObject} */ + const docRef = useRef(); + useEffect(() => { + /** @type {HTMLIFrameElement|null} */ + const iframe = document.getElementById("storybook-preview-iframe"); + docRef.current = iframe?.contentWindow?.document || document; + }, []); + return docRef; +}; diff --git a/tools/generator/templates/stories/{{ folderName }}.stories.js.hbs b/tools/generator/templates/stories/{{ folderName }}.stories.js.hbs index f161bee76cf..e72c1a9137d 100644 --- a/tools/generator/templates/stories/{{ folderName }}.stories.js.hbs +++ b/tools/generator/templates/stories/{{ folderName }}.stories.js.hbs @@ -1,7 +1,10 @@ import { Template } from "./template.js"; -import { isDisabled, isSelected, isHovered, isFocused } from "@spectrum-css/preview/types"; +import { isDisabled, isSelected, isHovered, isFocused, size } from "@spectrum-css/preview/types"; import { {{ pascalCase name }}Group } from "./{{ pascalCase name }}.test.js"; import { disableDefaultModes } from "@spectrum-css/preview/modes"; + +// Local assets to render the component styles and structure +import styles from "../index.css?inline"; import metadata from "../dist/metadata.json"; import packageJson from "../package.json"; @@ -9,42 +12,32 @@ import packageJson from "../package.json"; * {{ description }} */ export default { - title: "{{ name }}", - component: "{{ pascalCase name }}", - argTypes: { - size: { - name: "Size", - type: { name: "string", required: true }, - defaultValue: "m", - table: { - type: { summary: "string" }, - category: "Component", - defaultValue: { summary: "m" } - }, - options: ["s", "m", "l", "xl"], - control: "select" - }, - isDisabled, - isSelected, - isHovered, - isFocused, - }, - args: { - rootClass: "spectrum-{{ pascalCase name }}", - size: "m", - isDisabled: false - }, - parameters: { - actions: { - handles: ["click .spectrum-{{ pascalCase name }}"], - }, - design: { - type: "figma", - url: "", - }, - packageJson, - metadata, - } + title: "{{ name }}", + component: "{{ pascalCase name }}", + argTypes: { + size: size(["s", "m", "l", "xl"]), + isDisabled, + isSelected, + isHovered, + isFocused, + }, + args: { + rootClass: "spectrum-{{ pascalCase name }}", + size: "m", + isDisabled: false + }, + parameters: { + actions: { + handles: ["click .spectrum-{{ pascalCase name }}"], + }, + design: { + type: "figma", + url: "", + }, + packageJson, + metadata, + cssprops: { styles }, + } }; export const Default = {{ pascalCase name }}Group.bind({}); @@ -54,14 +47,14 @@ Default.args = {}; export const Disabled = Template.bind({}); Disabled.tags = ["!dev"]; Disabled.args = { - isDisabled: true + isDisabled: true }; Disabled.parameters = { - chromatic: { disableSnapshot: true }, + chromatic: { disableSnapshot: true }, }; // ********* VRT ONLY ********* // -export const WithForcedColors = Default.bind({}); +export const WithForcedColors = {{ pascalCase name }}Group.bind({}); WithForcedColors.args = Default.args; WithForcedColors.tags = ["!autodocs", "!dev"]; WithForcedColors.parameters = { diff --git a/yarn.lock b/yarn.lock index 15076127210..276c0eae178 100644 --- a/yarn.lock +++ b/yarn.lock @@ -113,6 +113,101 @@ __metadata: languageName: node linkType: hard +"@adobe/react-spectrum-ui@npm:1.2.1": + version: 1.2.1 + resolution: "@adobe/react-spectrum-ui@npm:1.2.1" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + checksum: 10c0/2166a623a07b9892466e4287e6841a9e5f7e6d4ef6d2c227601ceb6b01fa9f84a2553103d435b1e6a6606a47e3a23474df90bd97b12ea8e3c4d0c8bc632377d3 + languageName: node + linkType: hard + +"@adobe/react-spectrum-workflow@npm:2.3.5": + version: 2.3.5 + resolution: "@adobe/react-spectrum-workflow@npm:2.3.5" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + checksum: 10c0/65de62192cc28528befd5e8faaa3c6d188638501571df13ef045079f0a20e4cf41f352c06c4b0fe6ea17a9f037368fd774e41b9a36379a755dad8409a6f72ace + languageName: node + linkType: hard + +"@adobe/react-spectrum@npm:^3.40.1": + version: 3.40.1 + resolution: "@adobe/react-spectrum@npm:3.40.1" + dependencies: + "@internationalized/string": "npm:^3.2.5" + "@react-aria/collections": "npm:3.0.0-beta.1" + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/ssr": "npm:^3.9.7" + "@react-aria/utils": "npm:^3.28.1" + "@react-aria/visually-hidden": "npm:^3.8.21" + "@react-spectrum/accordion": "npm:^3.0.4" + "@react-spectrum/actionbar": "npm:^3.6.5" + "@react-spectrum/actiongroup": "npm:^3.10.13" + "@react-spectrum/avatar": "npm:^3.0.20" + "@react-spectrum/badge": "npm:^3.1.21" + "@react-spectrum/breadcrumbs": "npm:^3.9.15" + "@react-spectrum/button": "npm:^3.16.12" + "@react-spectrum/buttongroup": "npm:^3.6.20" + "@react-spectrum/calendar": "npm:^3.6.2" + "@react-spectrum/checkbox": "npm:^3.9.14" + "@react-spectrum/color": "npm:^3.0.5" + "@react-spectrum/combobox": "npm:^3.15.1" + "@react-spectrum/contextualhelp": "npm:^3.6.19" + "@react-spectrum/datepicker": "npm:^3.13.1" + "@react-spectrum/dialog": "npm:^3.8.19" + "@react-spectrum/divider": "npm:^3.5.21" + "@react-spectrum/dnd": "npm:^3.5.3" + "@react-spectrum/dropzone": "npm:^3.0.9" + "@react-spectrum/filetrigger": "npm:^3.0.9" + "@react-spectrum/form": "npm:^3.7.13" + "@react-spectrum/icon": "npm:^3.8.3" + "@react-spectrum/illustratedmessage": "npm:^3.5.8" + "@react-spectrum/image": "npm:^3.5.9" + "@react-spectrum/inlinealert": "npm:^3.2.13" + "@react-spectrum/labeledvalue": "npm:^3.2.1" + "@react-spectrum/layout": "npm:^3.6.13" + "@react-spectrum/link": "npm:^3.6.15" + "@react-spectrum/list": "npm:^3.9.3" + "@react-spectrum/listbox": "npm:^3.14.3" + "@react-spectrum/menu": "npm:^3.21.3" + "@react-spectrum/meter": "npm:^3.5.8" + "@react-spectrum/numberfield": "npm:^3.9.11" + "@react-spectrum/overlays": "npm:^5.7.3" + "@react-spectrum/picker": "npm:^3.15.7" + "@react-spectrum/progress": "npm:^3.7.14" + "@react-spectrum/provider": "npm:^3.10.3" + "@react-spectrum/radio": "npm:^3.7.14" + "@react-spectrum/searchfield": "npm:^3.8.14" + "@react-spectrum/slider": "npm:^3.7.3" + "@react-spectrum/statuslight": "npm:^3.5.20" + "@react-spectrum/switch": "npm:^3.5.13" + "@react-spectrum/table": "npm:^3.16.1" + "@react-spectrum/tabs": "npm:^3.8.18" + "@react-spectrum/tag": "npm:^3.2.14" + "@react-spectrum/text": "npm:^3.5.13" + "@react-spectrum/textfield": "npm:^3.13.1" + "@react-spectrum/theme-dark": "npm:^3.5.16" + "@react-spectrum/theme-default": "npm:^3.5.16" + "@react-spectrum/theme-light": "npm:^3.4.16" + "@react-spectrum/toast": "npm:^3.0.1" + "@react-spectrum/tooltip": "npm:^3.7.3" + "@react-spectrum/tree": "npm:^3.0.1" + "@react-spectrum/view": "npm:^3.6.17" + "@react-spectrum/well": "npm:^3.4.21" + "@react-stately/collections": "npm:^3.12.2" + "@react-stately/data": "npm:^3.12.2" + "@react-types/shared": "npm:^3.28.0" + client-only: "npm:^0.0.1" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/4bf74f68a03cc61a47fa559dec185e5cca71fbdb98af3f9611f519ede46faf4e11fef8776b90bee486ed02f48f22aad1070ee8b8c08207e8938ed84ea29a084d + languageName: node + linkType: hard + "@adobe/spectrum-css-monorepo@workspace:.": version: 0.0.0-use.local resolution: "@adobe/spectrum-css-monorepo@workspace:." @@ -126,7 +221,7 @@ __metadata: "@spectrum-tools/postcss-add-theming-layer": "npm:1.0.2" "@spectrum-tools/postcss-property-rollup": "npm:0.0.1" "@spectrum-tools/postcss-rgb-mapping": "npm:1.1.0" - "@yarnpkg/types": "npm:^4.0.0" + "@yarnpkg/types": "npm:^4.0.1" at-rule-packer: "npm:^0.4.2" autoprefixer: "npm:^10.4.21" colors: "npm:^1.4.0" @@ -135,9 +230,10 @@ __metadata: cssnano-preset-advanced: "npm:^7.0.6" diff: "npm:^7.0.0" diff2html: "npm:^3.4.51" - eslint: "npm:^8.57.0" - eslint-plugin-jsonc: "npm:^2.18.2" - eslint-plugin-prettier: "npm:^5.1.3" + eslint: "npm:^8.57.1" + eslint-plugin-jsonc: "npm:^2.20.0" + eslint-plugin-prettier: "npm:^5.2.5" + eslint-plugin-react: "npm:^7.37.4" fast-glob: "npm:^3.3.3" gh-pages: "npm:^6.3.0" husky: "npm:^9.1.7" @@ -445,7 +541,7 @@ __metadata: languageName: node linkType: hard -"@babel/core@npm:^7.26.0": +"@babel/core@npm:^7.26.10": version: 7.26.10 resolution: "@babel/core@npm:7.26.10" dependencies: @@ -495,15 +591,15 @@ __metadata: linkType: hard "@babel/generator@npm:^7.26.10": - version: 7.26.10 - resolution: "@babel/generator@npm:7.26.10" + version: 7.27.0 + resolution: "@babel/generator@npm:7.27.0" dependencies: - "@babel/parser": "npm:^7.26.10" - "@babel/types": "npm:^7.26.10" + "@babel/parser": "npm:^7.27.0" + "@babel/types": "npm:^7.27.0" "@jridgewell/gen-mapping": "npm:^0.3.5" "@jridgewell/trace-mapping": "npm:^0.3.25" jsesc: "npm:^3.0.2" - checksum: 10c0/88b3b3ea80592fc89349c4e1a145e1386e4042866d2507298adf452bf972f68d13bf699a845e6ab8c028bd52c2247013eb1221b86e1db5c9779faacba9c4b10e + checksum: 10c0/7cb10693d2b365c278f109a745dc08856cae139d262748b77b70ce1d97da84627f79648cab6940d847392c0e5d180441669ed958b3aee98d9c7d274b37c553bd languageName: node linkType: hard @@ -598,7 +694,7 @@ __metadata: languageName: node linkType: hard -"@babel/helpers@npm:^7.26.0, @babel/helpers@npm:^7.26.10": +"@babel/helpers@npm:^7.26.0": version: 7.26.10 resolution: "@babel/helpers@npm:7.26.10" dependencies: @@ -608,6 +704,16 @@ __metadata: languageName: node linkType: hard +"@babel/helpers@npm:^7.26.10": + version: 7.27.0 + resolution: "@babel/helpers@npm:7.27.0" + dependencies: + "@babel/template": "npm:^7.27.0" + "@babel/types": "npm:^7.27.0" + checksum: 10c0/a3c64fd2d8b164c041808826cc00769d814074ea447daaacaf2e3714b66d3f4237ef6e420f61d08f463d6608f3468c2ac5124ab7c68f704e20384def5ade95f4 + languageName: node + linkType: hard + "@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.20.7": version: 7.24.8 resolution: "@babel/parser@npm:7.24.8" @@ -639,7 +745,18 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.26.10, @babel/parser@npm:^7.26.9": +"@babel/parser@npm:^7.26.10, @babel/parser@npm:^7.27.0": + version: 7.27.0 + resolution: "@babel/parser@npm:7.27.0" + dependencies: + "@babel/types": "npm:^7.27.0" + bin: + parser: ./bin/babel-parser.js + checksum: 10c0/ba2ed3f41735826546a3ef2a7634a8d10351df221891906e59b29b0a0cd748f9b0e7a6f07576858a9de8e77785aad925c8389ddef146de04ea2842047c9d2859 + languageName: node + linkType: hard + +"@babel/parser@npm:^7.26.9": version: 7.26.10 resolution: "@babel/parser@npm:7.26.10" dependencies: @@ -837,7 +954,7 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.17.8, @babel/runtime@npm:^7.3.1, @babel/runtime@npm:^7.5.5": +"@babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.17.8, @babel/runtime@npm:^7.3.1": version: 7.26.10 resolution: "@babel/runtime@npm:7.26.10" dependencies: @@ -846,6 +963,24 @@ __metadata: languageName: node linkType: hard +"@babel/runtime@npm:^7.5.5": + version: 7.24.4 + resolution: "@babel/runtime@npm:7.24.4" + dependencies: + regenerator-runtime: "npm:^0.14.0" + checksum: 10c0/785aff96a3aa8ff97f90958e1e8a7b1d47f793b204b47c6455eaadc3f694f48c97cd5c0a921fe3596d818e71f18106610a164fb0f1c71fd68c622a58269d537c + languageName: node + linkType: hard + +"@babel/runtime@npm:^7.8.7": + version: 7.26.0 + resolution: "@babel/runtime@npm:7.26.0" + dependencies: + regenerator-runtime: "npm:^0.14.0" + checksum: 10c0/12c01357e0345f89f4f7e8c0e81921f2a3e3e101f06e8eaa18a382b517376520cd2fa8c237726eb094dab25532855df28a7baaf1c26342b52782f6936b07c287 + languageName: node + linkType: hard + "@babel/template@npm:^7.22.5, @babel/template@npm:^7.26.9, @babel/template@npm:^7.3.3": version: 7.26.9 resolution: "@babel/template@npm:7.26.9" @@ -868,6 +1003,17 @@ __metadata: languageName: node linkType: hard +"@babel/template@npm:^7.27.0": + version: 7.27.0 + resolution: "@babel/template@npm:7.27.0" + dependencies: + "@babel/code-frame": "npm:^7.26.2" + "@babel/parser": "npm:^7.27.0" + "@babel/types": "npm:^7.27.0" + checksum: 10c0/13af543756127edb5f62bf121f9b093c09a2b6fe108373887ccffc701465cfbcb17e07cf48aa7f440415b263f6ec006e9415c79dfc2e8e6010b069435f81f340 + languageName: node + linkType: hard + "@babel/traverse@npm:^7.25.9": version: 7.25.9 resolution: "@babel/traverse@npm:7.25.9" @@ -939,6 +1085,16 @@ __metadata: languageName: node linkType: hard +"@babel/types@npm:^7.27.0": + version: 7.27.0 + resolution: "@babel/types@npm:7.27.0" + dependencies: + "@babel/helper-string-parser": "npm:^7.25.9" + "@babel/helper-validator-identifier": "npm:^7.25.9" + checksum: 10c0/6f1592eabe243c89a608717b07b72969be9d9d2fce1dee21426238757ea1fa60fdfc09b29de9e48d8104311afc6e6fb1702565a9cc1e09bc1e76f2b2ddb0f6e1 + languageName: node + linkType: hard + "@bcoe/v8-coverage@npm:^0.2.3": version: 0.2.3 resolution: "@bcoe/v8-coverage@npm:0.2.3" @@ -2326,6 +2482,17 @@ __metadata: languageName: node linkType: hard +"@eslint-community/eslint-utils@npm:^4.5.1": + version: 4.5.1 + resolution: "@eslint-community/eslint-utils@npm:4.5.1" + dependencies: + eslint-visitor-keys: "npm:^3.4.3" + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + checksum: 10c0/b520ae1b7bd04531a5c5da2021071815df4717a9f7d13720e3a5ddccf5c9c619532039830811fcbae1c2f1c9d133e63af2435ee69e0fc0fabbd6d928c6800fb2 + languageName: node + linkType: hard + "@eslint-community/regexpp@npm:^4.6.1": version: 4.11.0 resolution: "@eslint-community/regexpp@npm:4.11.0" @@ -2350,10 +2517,10 @@ __metadata: languageName: node linkType: hard -"@eslint/js@npm:8.57.0": - version: 8.57.0 - resolution: "@eslint/js@npm:8.57.0" - checksum: 10c0/9a518bb8625ba3350613903a6d8c622352ab0c6557a59fe6ff6178bf882bf57123f9d92aa826ee8ac3ee74b9c6203fe630e9ee00efb03d753962dcf65ee4bd94 +"@eslint/js@npm:8.57.1": + version: 8.57.1 + resolution: "@eslint/js@npm:8.57.1" + checksum: 10c0/b489c474a3b5b54381c62e82b3f7f65f4b8a5eaaed126546520bf2fede5532a8ed53212919fed1e9048dcf7f37167c8561d58d0ba4492a4244004e7793805223 languageName: node linkType: hard @@ -2394,6 +2561,57 @@ __metadata: languageName: node linkType: hard +"@formatjs/ecma402-abstract@npm:2.3.1": + version: 2.3.1 + resolution: "@formatjs/ecma402-abstract@npm:2.3.1" + dependencies: + "@formatjs/fast-memoize": "npm:2.2.5" + "@formatjs/intl-localematcher": "npm:0.5.9" + decimal.js: "npm:10" + tslib: "npm:2" + checksum: 10c0/8c3b78d9e6047246633e613c809b6147f7568c5a66399f6d8e4e1b3c4600ae72d1649942da392ca3483de85b93e2c8e4689c1c2fdb243ede877aa9f2aa8c5365 + languageName: node + linkType: hard + +"@formatjs/fast-memoize@npm:2.2.5": + version: 2.2.5 + resolution: "@formatjs/fast-memoize@npm:2.2.5" + dependencies: + tslib: "npm:2" + checksum: 10c0/3a2b930d8d866d9e8a008b974f859875b2c920a1a5c472090658bed132a1e1a3c9ba68ce460e87a7bc15caea95e514e84c75c0bc3735f9422ede2b1b5aef9e76 + languageName: node + linkType: hard + +"@formatjs/icu-messageformat-parser@npm:2.9.7": + version: 2.9.7 + resolution: "@formatjs/icu-messageformat-parser@npm:2.9.7" + dependencies: + "@formatjs/ecma402-abstract": "npm:2.3.1" + "@formatjs/icu-skeleton-parser": "npm:1.8.11" + tslib: "npm:2" + checksum: 10c0/2eb0109e72a6632667d465f8cd6669eaad8fac1a281f266447f231362ce6fa0294763d41a2dcbc5fd6d622addff955743ed36c66e2e6102cdd27dcfb2ad6f6c9 + languageName: node + linkType: hard + +"@formatjs/icu-skeleton-parser@npm:1.8.11": + version: 1.8.11 + resolution: "@formatjs/icu-skeleton-parser@npm:1.8.11" + dependencies: + "@formatjs/ecma402-abstract": "npm:2.3.1" + tslib: "npm:2" + checksum: 10c0/577975b4e7c2e207e5ee8ba06135e38b0dbc985cace3428847a4c0683e63b9be33151dae57cd939c02f0a910590a1c14c43efed74c2204430e6892cc3370fb91 + languageName: node + linkType: hard + +"@formatjs/intl-localematcher@npm:0.5.9": + version: 0.5.9 + resolution: "@formatjs/intl-localematcher@npm:0.5.9" + dependencies: + tslib: "npm:2" + checksum: 10c0/0b66aee81b9fd8fff9e737fd98e71edd20beb077713fa81b471bd6b1c6fe17f5d5bd6d1883cc0bf6f7ea5bfaedd3a2009aa3235bfacdfbc4950f2b4106d5ac76 + languageName: node + linkType: hard + "@hapi/hoek@npm:^9.0.0, @hapi/hoek@npm:^9.3.0": version: 9.3.0 resolution: "@hapi/hoek@npm:9.3.0" @@ -2410,14 +2628,14 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/config-array@npm:^0.11.14": - version: 0.11.14 - resolution: "@humanwhocodes/config-array@npm:0.11.14" +"@humanwhocodes/config-array@npm:^0.13.0": + version: 0.13.0 + resolution: "@humanwhocodes/config-array@npm:0.13.0" dependencies: - "@humanwhocodes/object-schema": "npm:^2.0.2" + "@humanwhocodes/object-schema": "npm:^2.0.3" debug: "npm:^4.3.1" minimatch: "npm:^3.0.5" - checksum: 10c0/66f725b4ee5fdd8322c737cb5013e19fac72d4d69c8bf4b7feb192fcb83442b035b92186f8e9497c220e58b2d51a080f28a73f7899bc1ab288c3be172c467541 + checksum: 10c0/205c99e756b759f92e1f44a3dc6292b37db199beacba8f26c2165d4051fe73a4ae52fdcfd08ffa93e7e5cb63da7c88648f0e84e197d154bbbbe137b2e0dd332e languageName: node linkType: hard @@ -2428,7 +2646,7 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/object-schema@npm:^2.0.2": +"@humanwhocodes/object-schema@npm:^2.0.3": version: 2.0.3 resolution: "@humanwhocodes/object-schema@npm:2.0.3" checksum: 10c0/80520eabbfc2d32fe195a93557cef50dfe8c8905de447f022675aaf66abc33ae54098f5ea78548d925aa671cd4ab7c7daa5ad704fe42358c9b5e7db60f80696c @@ -2627,6 +2845,43 @@ __metadata: languageName: node linkType: hard +"@internationalized/date@npm:^3.7.0": + version: 3.7.0 + resolution: "@internationalized/date@npm:3.7.0" + dependencies: + "@swc/helpers": "npm:^0.5.0" + checksum: 10c0/4d0979dd49f0f979169073afa2b44ce8ae941407e22d4caba069e26e9d9a0c6d29fc11fb50d5e6fcad351f0f9b180e21cbd440fd4238e899719f5d3c84829985 + languageName: node + linkType: hard + +"@internationalized/message@npm:^3.1.6": + version: 3.1.6 + resolution: "@internationalized/message@npm:3.1.6" + dependencies: + "@swc/helpers": "npm:^0.5.0" + intl-messageformat: "npm:^10.1.0" + checksum: 10c0/8ccb0ed3f39e07c039670fd8a0c24d646c66893acf90f0d937cfbfcd398337004a6599291e32f1ad5c8e5a655042b876f1aefec1bda17a2e54829f4f8dd79586 + languageName: node + linkType: hard + +"@internationalized/number@npm:^3.6.0": + version: 3.6.0 + resolution: "@internationalized/number@npm:3.6.0" + dependencies: + "@swc/helpers": "npm:^0.5.0" + checksum: 10c0/fbb15c76e002b7cee85c398653a0b8b20c5e6b68b7be20592a56a3363798f68ad1b687289090d370ed89cbbf466ca276ebe5949210cc8d2a89fb6e79b26beb95 + languageName: node + linkType: hard + +"@internationalized/string@npm:^3.2.5": + version: 3.2.5 + resolution: "@internationalized/string@npm:3.2.5" + dependencies: + "@swc/helpers": "npm:^0.5.0" + checksum: 10c0/cb58fdc69857e558bdde5aa7c256af42cfc86cc72cf74893b91c812124e00cc671ff4ef9360052433b43a6b16090345e6b27be267820ca939a21933321bf1f48 + languageName: node + linkType: hard + "@isaacs/cliui@npm:^8.0.2": version: 8.0.2 resolution: "@isaacs/cliui@npm:8.0.2" @@ -3565,10 +3820,10 @@ __metadata: languageName: node linkType: hard -"@pkgr/core@npm:^0.1.0": - version: 0.1.1 - resolution: "@pkgr/core@npm:0.1.1" - checksum: 10c0/3f7536bc7f57320ab2cf96f8973664bef624710c403357429fbf680a5c3b4843c1dbd389bb43daa6b1f6f1f007bb082f5abcb76bb2b5dc9f421647743b71d3d8 +"@pkgr/core@npm:^0.2.0": + version: 0.2.0 + resolution: "@pkgr/core@npm:0.2.0" + checksum: 10c0/29cb9c15f4788096b8b8b786b19c75b6398b6afe814a97189922c3046d8acb5d24f1217fd2537c3f8e42c04e48d572295e7ee56d77964ddc932c44eb5a615931 languageName: node linkType: hard @@ -3623,208 +3878,3353 @@ __metadata: languageName: node linkType: hard -"@rollup/pluginutils@npm:^5.0.2, @rollup/pluginutils@npm:^5.1.3": - version: 5.1.4 - resolution: "@rollup/pluginutils@npm:5.1.4" +"@react-aria/actiongroup@npm:^3.7.14": + version: 3.7.14 + resolution: "@react-aria/actiongroup@npm:3.7.14" dependencies: - "@types/estree": "npm:^1.0.0" - estree-walker: "npm:^2.0.2" - picomatch: "npm:^4.0.2" + "@react-aria/focus": "npm:^3.20.1" + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/utils": "npm:^3.28.1" + "@react-stately/list": "npm:^3.12.0" + "@react-types/actiongroup": "npm:^3.4.15" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - checksum: 10c0/6d58fbc6f1024eb4b087bc9bf59a1d655a8056a60c0b4021d3beaeec3f0743503f52467fd89d2cf0e7eccf2831feb40a05ad541a17637ea21ba10b21c2004deb + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/3856c4f71acfa354e6cad308c4ba199f140b34ee394f9c0ce93b43162a8fc904308a88fd18a0e69ef3d27e6b16f312d23fad23903ce4d98156c1e6b26aba5b6b languageName: node linkType: hard -"@rollup/rollup-android-arm-eabi@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-android-arm-eabi@npm:4.22.4" - conditions: os=android & cpu=arm +"@react-aria/autocomplete@npm:3.0.0-beta.1": + version: 3.0.0-beta.1 + resolution: "@react-aria/autocomplete@npm:3.0.0-beta.1" + dependencies: + "@react-aria/combobox": "npm:^3.12.1" + "@react-aria/focus": "npm:^3.20.1" + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/listbox": "npm:^3.14.2" + "@react-aria/searchfield": "npm:^3.8.2" + "@react-aria/textfield": "npm:^3.17.1" + "@react-aria/utils": "npm:^3.28.1" + "@react-stately/autocomplete": "npm:3.0.0-beta.0" + "@react-stately/combobox": "npm:^3.10.3" + "@react-types/autocomplete": "npm:3.0.0-alpha.29" + "@react-types/button": "npm:^3.11.0" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/e5c81e2ef61b2286b3dd9a3f48ba3d16913f82ddc4d7c60f8a58204ddaafbedbfe5a99cee2d327634f4698720414a0aea5fc47bc433ca9a12273818cdcfd6535 languageName: node linkType: hard -"@rollup/rollup-android-arm64@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-android-arm64@npm:4.22.4" - conditions: os=android & cpu=arm64 +"@react-aria/breadcrumbs@npm:^3.5.22": + version: 3.5.22 + resolution: "@react-aria/breadcrumbs@npm:3.5.22" + dependencies: + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/link": "npm:^3.7.10" + "@react-aria/utils": "npm:^3.28.1" + "@react-types/breadcrumbs": "npm:^3.7.11" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/39962e53affe7ebebcf6e1dfe6a39241c8bf63f68121015fa268ff8891182e568dae8a39febdf29cac91dd7b2b646792b43fe8a8aa0958ee30e2e87a0a1170ef languageName: node linkType: hard -"@rollup/rollup-darwin-arm64@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-darwin-arm64@npm:4.22.4" - conditions: os=darwin & cpu=arm64 +"@react-aria/button@npm:^3.12.1": + version: 3.12.1 + resolution: "@react-aria/button@npm:3.12.1" + dependencies: + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/toolbar": "npm:3.0.0-beta.14" + "@react-aria/utils": "npm:^3.28.1" + "@react-stately/toggle": "npm:^3.8.2" + "@react-types/button": "npm:^3.11.0" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/d273b8bafc77dc82ec0abe0a11fcab6a5847ebc754de3ed9594ec66211c1b122d75952d86afd8c3521d0830f67b81eda6e4ffd6a649c061344b9e496af070cf9 languageName: node linkType: hard -"@rollup/rollup-darwin-x64@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-darwin-x64@npm:4.22.4" - conditions: os=darwin & cpu=x64 +"@react-aria/calendar@npm:^3.7.2": + version: 3.7.2 + resolution: "@react-aria/calendar@npm:3.7.2" + dependencies: + "@internationalized/date": "npm:^3.7.0" + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/live-announcer": "npm:^3.4.1" + "@react-aria/utils": "npm:^3.28.1" + "@react-stately/calendar": "npm:^3.7.1" + "@react-types/button": "npm:^3.11.0" + "@react-types/calendar": "npm:^3.6.1" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/202c2e63f829d137654bf4ec6d39c13400877c60995493264429b7beb11c69510e592ace33f444cb7e5f56537d9269e74d4ce2192e600d55d0fd66d6a8e7f8ac languageName: node linkType: hard -"@rollup/rollup-linux-arm-gnueabihf@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.22.4" - conditions: os=linux & cpu=arm & libc=glibc +"@react-aria/checkbox@npm:^3.15.3": + version: 3.15.3 + resolution: "@react-aria/checkbox@npm:3.15.3" + dependencies: + "@react-aria/form": "npm:^3.0.14" + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/label": "npm:^3.7.16" + "@react-aria/toggle": "npm:^3.11.1" + "@react-aria/utils": "npm:^3.28.1" + "@react-stately/checkbox": "npm:^3.6.12" + "@react-stately/form": "npm:^3.1.2" + "@react-stately/toggle": "npm:^3.8.2" + "@react-types/checkbox": "npm:^3.9.2" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/1840b7d708a663d7997a34d74eded3ed2266a8573665097417ca9ca8a13b99ddf42979dd1d8f6145c355a768edbc385833014c2068263e2cdeeac8a47475685c languageName: node linkType: hard -"@rollup/rollup-linux-arm-musleabihf@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.22.4" - conditions: os=linux & cpu=arm & libc=musl +"@react-aria/collections@npm:3.0.0-beta.1": + version: 3.0.0-beta.1 + resolution: "@react-aria/collections@npm:3.0.0-beta.1" + dependencies: + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/ssr": "npm:^3.9.7" + "@react-aria/utils": "npm:^3.28.1" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + use-sync-external-store: "npm:^1.4.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/5d2cae903e747aab4b28ab61fc2fbb88a8538c60ce70d207569d9d5b6f79544b4a4fce84dc1c1b8e87ad0f2b5b7a4280e03008e79726a74ebcd60ffcdc68550d languageName: node linkType: hard -"@rollup/rollup-linux-arm64-gnu@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.22.4" - conditions: os=linux & cpu=arm64 & libc=glibc +"@react-aria/color@npm:^3.0.5": + version: 3.0.5 + resolution: "@react-aria/color@npm:3.0.5" + dependencies: + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/numberfield": "npm:^3.11.12" + "@react-aria/slider": "npm:^3.7.17" + "@react-aria/spinbutton": "npm:^3.6.13" + "@react-aria/textfield": "npm:^3.17.1" + "@react-aria/utils": "npm:^3.28.1" + "@react-aria/visually-hidden": "npm:^3.8.21" + "@react-stately/color": "npm:^3.8.3" + "@react-stately/form": "npm:^3.1.2" + "@react-types/color": "npm:^3.0.3" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/e9ff235764b739f4dc8a182703cbbb9ef62558868e2ec7e415fb1d25898d5e22fda2df52afc086cc227fc806077ed4d783bd1d4e65359da555e9cc68e375a4ca + languageName: node + linkType: hard + +"@react-aria/combobox@npm:^3.12.1": + version: 3.12.1 + resolution: "@react-aria/combobox@npm:3.12.1" + dependencies: + "@react-aria/focus": "npm:^3.20.1" + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/listbox": "npm:^3.14.2" + "@react-aria/live-announcer": "npm:^3.4.1" + "@react-aria/menu": "npm:^3.18.1" + "@react-aria/overlays": "npm:^3.26.1" + "@react-aria/selection": "npm:^3.23.1" + "@react-aria/textfield": "npm:^3.17.1" + "@react-aria/utils": "npm:^3.28.1" + "@react-stately/collections": "npm:^3.12.2" + "@react-stately/combobox": "npm:^3.10.3" + "@react-stately/form": "npm:^3.1.2" + "@react-types/button": "npm:^3.11.0" + "@react-types/combobox": "npm:^3.13.3" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/1b7b751072541d53efe7c42a96b95154900c255da19dedf2cc1202f6522535dc6548f14f9f9383704a27205d82a4c52c5b8d6f37b03aa020d6a26027f86f3b98 + languageName: node + linkType: hard + +"@react-aria/datepicker@npm:^3.14.1": + version: 3.14.1 + resolution: "@react-aria/datepicker@npm:3.14.1" + dependencies: + "@internationalized/date": "npm:^3.7.0" + "@internationalized/number": "npm:^3.6.0" + "@internationalized/string": "npm:^3.2.5" + "@react-aria/focus": "npm:^3.20.1" + "@react-aria/form": "npm:^3.0.14" + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/label": "npm:^3.7.16" + "@react-aria/spinbutton": "npm:^3.6.13" + "@react-aria/utils": "npm:^3.28.1" + "@react-stately/datepicker": "npm:^3.13.0" + "@react-stately/form": "npm:^3.1.2" + "@react-types/button": "npm:^3.11.0" + "@react-types/calendar": "npm:^3.6.1" + "@react-types/datepicker": "npm:^3.11.0" + "@react-types/dialog": "npm:^3.5.16" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/c3c15ceb7cde2ba99a266ea5af8f01efe149c0e1ed99be22b8c92d485490976ede530203cd11ed273163749870cc8327b38bab8fa74bf731a19a1c206aa05654 + languageName: node + linkType: hard + +"@react-aria/dialog@npm:^3.5.23": + version: 3.5.23 + resolution: "@react-aria/dialog@npm:3.5.23" + dependencies: + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/overlays": "npm:^3.26.1" + "@react-aria/utils": "npm:^3.28.1" + "@react-types/dialog": "npm:^3.5.16" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/6501509895665674c85ccef569fa5102f15c495c9809c499eb6633ab017491ed526a82b837de6eb903e1f6a1e207c9622d241ca455081f82166d8e9ab44b213d + languageName: node + linkType: hard + +"@react-aria/disclosure@npm:^3.0.3": + version: 3.0.3 + resolution: "@react-aria/disclosure@npm:3.0.3" + dependencies: + "@react-aria/ssr": "npm:^3.9.7" + "@react-aria/utils": "npm:^3.28.1" + "@react-stately/disclosure": "npm:^3.0.2" + "@react-types/button": "npm:^3.11.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/042729741c415ae72dcdd4e18dcb432435cae8025b9212f292fd556252e1f5a205d631b3efb46b37ae43c3c2e27bede7adf5e4ce2243c0fc7498bad000b4e228 languageName: node linkType: hard -"@rollup/rollup-linux-arm64-musl@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-linux-arm64-musl@npm:4.22.4" - conditions: os=linux & cpu=arm64 & libc=musl +"@react-aria/dnd@npm:^3.9.1": + version: 3.9.1 + resolution: "@react-aria/dnd@npm:3.9.1" + dependencies: + "@internationalized/string": "npm:^3.2.5" + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/live-announcer": "npm:^3.4.1" + "@react-aria/overlays": "npm:^3.26.1" + "@react-aria/utils": "npm:^3.28.1" + "@react-stately/dnd": "npm:^3.5.2" + "@react-types/button": "npm:^3.11.0" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/a2796ccd648f957218ddc0ef9abb1ba795bd8fe209de1049d34ef376d1d281058c3f313881d588aac257e0a27128e7ea9c28a39afbf28901cb145972f0be1b42 languageName: node linkType: hard -"@rollup/rollup-linux-powerpc64le-gnu@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.22.4" - conditions: os=linux & cpu=ppc64 & libc=glibc +"@react-aria/focus@npm:^3.20.1": + version: 3.20.1 + resolution: "@react-aria/focus@npm:3.20.1" + dependencies: + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/utils": "npm:^3.28.1" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + clsx: "npm:^2.0.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/be982f6cff4531d12894f35b99c326835315d723bf736e36d044cbbffab3b35307620bdbcbd92454010f94a35d851e5976fa9318b4b38ad8d15b1dee447710d6 languageName: node linkType: hard -"@rollup/rollup-linux-riscv64-gnu@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.22.4" - conditions: os=linux & cpu=riscv64 & libc=glibc +"@react-aria/form@npm:^3.0.14": + version: 3.0.14 + resolution: "@react-aria/form@npm:3.0.14" + dependencies: + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/utils": "npm:^3.28.1" + "@react-stately/form": "npm:^3.1.2" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/8f43f4ff5a8dfdf6474f3e1f05b1077648cf05dd3fd1e0314e602ac0ea35c9840ebf9114c79c60df982b1bd5c25ab49c258a2c82e92fc974f9b3efaa12874869 languageName: node linkType: hard -"@rollup/rollup-linux-s390x-gnu@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.22.4" - conditions: os=linux & cpu=s390x & libc=glibc +"@react-aria/grid@npm:^3.12.1": + version: 3.12.1 + resolution: "@react-aria/grid@npm:3.12.1" + dependencies: + "@react-aria/focus": "npm:^3.20.1" + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/live-announcer": "npm:^3.4.1" + "@react-aria/selection": "npm:^3.23.1" + "@react-aria/utils": "npm:^3.28.1" + "@react-stately/collections": "npm:^3.12.2" + "@react-stately/grid": "npm:^3.11.0" + "@react-stately/selection": "npm:^3.20.0" + "@react-types/checkbox": "npm:^3.9.2" + "@react-types/grid": "npm:^3.3.0" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/e9462a9aec744963689b9eea817aa94044218a88476bf448a1cf538bf7490f214eeb9682f2002fb2ea230947a02c8e625219e4ad0b169a616cc384de18579da6 languageName: node linkType: hard -"@rollup/rollup-linux-x64-gnu@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-linux-x64-gnu@npm:4.22.4" - conditions: os=linux & cpu=x64 & libc=glibc +"@react-aria/gridlist@npm:^3.11.1": + version: 3.11.1 + resolution: "@react-aria/gridlist@npm:3.11.1" + dependencies: + "@react-aria/focus": "npm:^3.20.1" + "@react-aria/grid": "npm:^3.12.1" + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/selection": "npm:^3.23.1" + "@react-aria/utils": "npm:^3.28.1" + "@react-stately/collections": "npm:^3.12.2" + "@react-stately/list": "npm:^3.12.0" + "@react-stately/tree": "npm:^3.8.8" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/3e33834ac85e000f9500228c3fcfa9406e2976a5e61cb7df36c23471d5f1c41d1f266afffa9af607481e159cce274811dcbc28a0e415983cf8b424e69f7644f3 languageName: node linkType: hard -"@rollup/rollup-linux-x64-musl@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-linux-x64-musl@npm:4.22.4" - conditions: os=linux & cpu=x64 & libc=musl +"@react-aria/i18n@npm:^3.12.7": + version: 3.12.7 + resolution: "@react-aria/i18n@npm:3.12.7" + dependencies: + "@internationalized/date": "npm:^3.7.0" + "@internationalized/message": "npm:^3.1.6" + "@internationalized/number": "npm:^3.6.0" + "@internationalized/string": "npm:^3.2.5" + "@react-aria/ssr": "npm:^3.9.7" + "@react-aria/utils": "npm:^3.28.1" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/414f44f1a0377943d7d3a1ced74a340144206b65d83010aee584c80b8cf02a81e8b0b11f338e8a2668f89c77a06e00d49be92536d694ae415b56c9659e22c869 languageName: node linkType: hard -"@rollup/rollup-win32-arm64-msvc@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.22.4" - conditions: os=win32 & cpu=arm64 +"@react-aria/interactions@npm:^3.24.1": + version: 3.24.1 + resolution: "@react-aria/interactions@npm:3.24.1" + dependencies: + "@react-aria/ssr": "npm:^3.9.7" + "@react-aria/utils": "npm:^3.28.1" + "@react-stately/flags": "npm:^3.1.0" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/984c5782336eca52a09536733bd41e6b88b15ed648ebe471dbaccc4dabec7b8e3018d1f2c95054272c8ce723379384efd2908181209dee7e204ba5c663c80964 languageName: node linkType: hard -"@rollup/rollup-win32-ia32-msvc@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.22.4" - conditions: os=win32 & cpu=ia32 +"@react-aria/label@npm:^3.7.16": + version: 3.7.16 + resolution: "@react-aria/label@npm:3.7.16" + dependencies: + "@react-aria/utils": "npm:^3.28.1" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/098c0ba80e1dc5042cce15eba5bbbde82a93fddd9bb35b31f08a5dd63df11517bdff916b6359f3da2a6fb8375f0ca74d0753b0b805c80aa40a462786796357c2 languageName: node linkType: hard -"@rollup/rollup-win32-x64-msvc@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-win32-x64-msvc@npm:4.22.4" - conditions: os=win32 & cpu=x64 +"@react-aria/landmark@npm:^3.0.1": + version: 3.0.1 + resolution: "@react-aria/landmark@npm:3.0.1" + dependencies: + "@react-aria/utils": "npm:^3.28.1" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + use-sync-external-store: "npm:^1.4.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/4c82363925dda7b8a2552861a844956c5e356bf6de0a082ce8d9428791b47c252f075f37a6d99a98b4142a3ee1f3b5c82fea9d19060a172e6704cc61be641257 languageName: node linkType: hard -"@sideway/address@npm:^4.1.5": - version: 4.1.5 - resolution: "@sideway/address@npm:4.1.5" +"@react-aria/link@npm:^3.7.10": + version: 3.7.10 + resolution: "@react-aria/link@npm:3.7.10" dependencies: - "@hapi/hoek": "npm:^9.0.0" - checksum: 10c0/638eb6f7e7dba209053dd6c8da74d7cc995e2b791b97644d0303a7dd3119263bcb7225a4f6804d4db2bc4f96e5a9d262975a014f58eae4d1753c27cbc96ef959 + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/utils": "npm:^3.28.1" + "@react-types/link": "npm:^3.5.11" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/28cf88e30bdf8fe48da101f85f4c75394ac8fcc32272556de9c8e09d988f6373079ad66451a88ef2c3ac7b2ca650a0731ba2d3f45fced7815c9ddd1b42d7e2e7 languageName: node linkType: hard -"@sideway/formula@npm:^3.0.1": - version: 3.0.1 - resolution: "@sideway/formula@npm:3.0.1" - checksum: 10c0/3fe81fa9662efc076bf41612b060eb9b02e846ea4bea5bd114f1662b7f1541e9dedcf98aff0d24400bcb92f113964a50e0290b86e284edbdf6346fa9b7e2bf2c +"@react-aria/listbox@npm:^3.14.2": + version: 3.14.2 + resolution: "@react-aria/listbox@npm:3.14.2" + dependencies: + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/label": "npm:^3.7.16" + "@react-aria/selection": "npm:^3.23.1" + "@react-aria/utils": "npm:^3.28.1" + "@react-stately/collections": "npm:^3.12.2" + "@react-stately/list": "npm:^3.12.0" + "@react-types/listbox": "npm:^3.5.5" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/166755df3b081b5b1f5d420ed746add5aa18d0708810b1b013e3089eb70489356669f898f4a2f314589d1757eb5645a7f66a6074005469873af86df5d9bc52b2 languageName: node linkType: hard -"@sideway/pinpoint@npm:^2.0.0": - version: 2.0.0 - resolution: "@sideway/pinpoint@npm:2.0.0" - checksum: 10c0/d2ca75dacaf69b8fc0bb8916a204e01def3105ee44d8be16c355e5f58189eb94039e15ce831f3d544f229889ccfa35562a0ce2516179f3a7ee1bbe0b71e55b36 +"@react-aria/live-announcer@npm:^3.4.1": + version: 3.4.1 + resolution: "@react-aria/live-announcer@npm:3.4.1" + dependencies: + "@swc/helpers": "npm:^0.5.0" + checksum: 10c0/285ce2e72e607c6e2793a3e8978bdaa388aad34168de3211bc88f78ec994a393ce1a4f3e728d8c57d7acc8a7ce1ca1e926c8badc371e547af7f4e3d55a99c1c8 languageName: node linkType: hard -"@sinclair/typebox@npm:^0.27.8": - version: 0.27.8 - resolution: "@sinclair/typebox@npm:0.27.8" - checksum: 10c0/ef6351ae073c45c2ac89494dbb3e1f87cc60a93ce4cde797b782812b6f97da0d620ae81973f104b43c9b7eaa789ad20ba4f6a1359f1cc62f63729a55a7d22d4e +"@react-aria/menu@npm:^3.18.1": + version: 3.18.1 + resolution: "@react-aria/menu@npm:3.18.1" + dependencies: + "@react-aria/focus": "npm:^3.20.1" + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/overlays": "npm:^3.26.1" + "@react-aria/selection": "npm:^3.23.1" + "@react-aria/utils": "npm:^3.28.1" + "@react-stately/collections": "npm:^3.12.2" + "@react-stately/menu": "npm:^3.9.2" + "@react-stately/selection": "npm:^3.20.0" + "@react-stately/tree": "npm:^3.8.8" + "@react-types/button": "npm:^3.11.0" + "@react-types/menu": "npm:^3.9.15" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/8f34e204e83846d561ee25dd0645e12f100a85c6d1ba384ed203589943dc017ca2045b9f608f16ddca51ba02d8b9428660534e9ac50910a27f4c3ec27a16d6f4 languageName: node linkType: hard -"@sindresorhus/is@npm:^4.6.0": - version: 4.6.0 - resolution: "@sindresorhus/is@npm:4.6.0" - checksum: 10c0/33b6fb1d0834ec8dd7689ddc0e2781c2bfd8b9c4e4bacbcb14111e0ae00621f2c264b8a7d36541799d74888b5dccdf422a891a5cb5a709ace26325eedc81e22e +"@react-aria/meter@npm:^3.4.21": + version: 3.4.21 + resolution: "@react-aria/meter@npm:3.4.21" + dependencies: + "@react-aria/progress": "npm:^3.4.21" + "@react-types/meter": "npm:^3.4.7" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/0988e04f3c8a877cb73b72de99ec478c5fac6031b1c31a10353b02c0b141b6d71143278f0ea9f403adbd54db766a2219a2875a262f1a0eea2dfd0955a832c883 languageName: node linkType: hard -"@sindresorhus/merge-streams@npm:^2.1.0": - version: 2.3.0 - resolution: "@sindresorhus/merge-streams@npm:2.3.0" - checksum: 10c0/69ee906f3125fb2c6bb6ec5cdd84e8827d93b49b3892bce8b62267116cc7e197b5cccf20c160a1d32c26014ecd14470a72a5e3ee37a58f1d6dadc0db1ccf3894 +"@react-aria/numberfield@npm:^3.11.12": + version: 3.11.12 + resolution: "@react-aria/numberfield@npm:3.11.12" + dependencies: + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/spinbutton": "npm:^3.6.13" + "@react-aria/textfield": "npm:^3.17.1" + "@react-aria/utils": "npm:^3.28.1" + "@react-stately/form": "npm:^3.1.2" + "@react-stately/numberfield": "npm:^3.9.10" + "@react-types/button": "npm:^3.11.0" + "@react-types/numberfield": "npm:^3.8.9" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/0009234817989fbd381ac3e151510cec4b2effe40a4cdbf089011d6a764159166a0ea64bd5bb77a7cdaf46172dcecef7aa38fcfcd9a1a65cd30831a552b96b4c languageName: node linkType: hard -"@sinonjs/commons@npm:^3.0.0": - version: 3.0.1 - resolution: "@sinonjs/commons@npm:3.0.1" +"@react-aria/overlays@npm:^3.26.1": + version: 3.26.1 + resolution: "@react-aria/overlays@npm:3.26.1" dependencies: - type-detect: "npm:4.0.8" - checksum: 10c0/1227a7b5bd6c6f9584274db996d7f8cee2c8c350534b9d0141fc662eaf1f292ea0ae3ed19e5e5271c8fd390d27e492ca2803acd31a1978be2cdc6be0da711403 + "@react-aria/focus": "npm:^3.20.1" + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/ssr": "npm:^3.9.7" + "@react-aria/utils": "npm:^3.28.1" + "@react-aria/visually-hidden": "npm:^3.8.21" + "@react-stately/overlays": "npm:^3.6.14" + "@react-types/button": "npm:^3.11.0" + "@react-types/overlays": "npm:^3.8.13" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/6dfb5de858643d87103261c9663fbf155f5d988c03d42fa601233906425cc0fa4d09c519b8b02e9addd48a44afb69a8eb1ee666fe2f2ec1a0dcc137f5a2c8bb4 languageName: node linkType: hard -"@sinonjs/fake-timers@npm:^10.0.2": - version: 10.3.0 - resolution: "@sinonjs/fake-timers@npm:10.3.0" +"@react-aria/progress@npm:^3.4.21": + version: 3.4.21 + resolution: "@react-aria/progress@npm:3.4.21" dependencies: - "@sinonjs/commons": "npm:^3.0.0" - checksum: 10c0/2e2fb6cc57f227912814085b7b01fede050cd4746ea8d49a1e44d5a0e56a804663b0340ae2f11af7559ea9bf4d087a11f2f646197a660ea3cb04e19efc04aa63 + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/label": "npm:^3.7.16" + "@react-aria/utils": "npm:^3.28.1" + "@react-types/progress": "npm:^3.5.10" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/a2fab816a7328afcea2d03830dcce945d8b51f4edd900987229f2b6697703b2bb32a16ddcead1b6c4aa18848ef98d058d8bda512ca5ca68d8d8c13dd872aadbf languageName: node linkType: hard -"@spectrum-css/accordion@npm:7.1.0, @spectrum-css/accordion@workspace:components/accordion": - version: 0.0.0-use.local - resolution: "@spectrum-css/accordion@workspace:components/accordion" +"@react-aria/radio@npm:^3.11.1": + version: 3.11.1 + resolution: "@react-aria/radio@npm:3.11.1" dependencies: - "@spectrum-css/icon": "npm:9.1.0" - "@spectrum-css/tokens": "npm:16.0.1" + "@react-aria/focus": "npm:^3.20.1" + "@react-aria/form": "npm:^3.0.14" + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/label": "npm:^3.7.16" + "@react-aria/utils": "npm:^3.28.1" + "@react-stately/radio": "npm:^3.10.11" + "@react-types/radio": "npm:^3.8.7" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" peerDependencies: - "@spectrum-css/icon": ">=9.0.0 <10.0.0" - "@spectrum-css/tokens": ">=16.0.0 <17.0.0" - peerDependenciesMeta: - "@spectrum-css/icon": - optional: true + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/49a6b932a67639e6569913797fcf499a4812a51607c5e48de5adae0b2a3f5ab05ab24ff21414bf6505840c509b8b1da6c4b71125f2dbb62a18552e00f5624fd7 + languageName: node + linkType: hard + +"@react-aria/searchfield@npm:^3.8.2": + version: 3.8.2 + resolution: "@react-aria/searchfield@npm:3.8.2" + dependencies: + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/textfield": "npm:^3.17.1" + "@react-aria/utils": "npm:^3.28.1" + "@react-stately/searchfield": "npm:^3.5.10" + "@react-types/button": "npm:^3.11.0" + "@react-types/searchfield": "npm:^3.6.0" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/a0de7e77a5b9aae608c724457694ff546845c8d2cdd10875571dedaf2869022e510321818256d29252d9eb57e552eea26b2f2fd98306444c847b5797b8b75358 + languageName: node + linkType: hard + +"@react-aria/select@npm:^3.15.3": + version: 3.15.3 + resolution: "@react-aria/select@npm:3.15.3" + dependencies: + "@react-aria/form": "npm:^3.0.14" + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/label": "npm:^3.7.16" + "@react-aria/listbox": "npm:^3.14.2" + "@react-aria/menu": "npm:^3.18.1" + "@react-aria/selection": "npm:^3.23.1" + "@react-aria/utils": "npm:^3.28.1" + "@react-aria/visually-hidden": "npm:^3.8.21" + "@react-stately/select": "npm:^3.6.11" + "@react-types/button": "npm:^3.11.0" + "@react-types/select": "npm:^3.9.10" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/e3ff76c4b2906503898daf665c3571403a18bd35c95134fbe76a75a480b58850f3b04d6d17592628a9f8e884af15582a06c0a3276c95e4b3e9a93cdde5a7a847 + languageName: node + linkType: hard + +"@react-aria/selection@npm:^3.23.1": + version: 3.23.1 + resolution: "@react-aria/selection@npm:3.23.1" + dependencies: + "@react-aria/focus": "npm:^3.20.1" + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/utils": "npm:^3.28.1" + "@react-stately/selection": "npm:^3.20.0" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/1f83c4cee234035dc3478cd5cb6153e61f12a3a0e22cfc8dfd2ba0788627a5c0df798a0a4684127a883c9e3ec63ec01e8484dc24c596e9c69c45d155c499257e + languageName: node + linkType: hard + +"@react-aria/separator@npm:^3.4.7": + version: 3.4.7 + resolution: "@react-aria/separator@npm:3.4.7" + dependencies: + "@react-aria/utils": "npm:^3.28.1" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/6d36c7448def03a407a6d18f44798cb0f400734b86e1c6ba55169be2a5c03ce5c325cab3402f814422e87b193b8b6954718f12c0ea0413558ae100041249728f + languageName: node + linkType: hard + +"@react-aria/slider@npm:^3.7.17": + version: 3.7.17 + resolution: "@react-aria/slider@npm:3.7.17" + dependencies: + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/label": "npm:^3.7.16" + "@react-aria/utils": "npm:^3.28.1" + "@react-stately/slider": "npm:^3.6.2" + "@react-types/shared": "npm:^3.28.0" + "@react-types/slider": "npm:^3.7.9" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/0544a8e81554bea28c179521803c4b8176688b0e31156c80b2c81c7e5fce03a1f74642851e719a048b57d40b7672b6fa6da9873e0c3c84f495f1ef8debe61ac6 + languageName: node + linkType: hard + +"@react-aria/spinbutton@npm:^3.6.13": + version: 3.6.13 + resolution: "@react-aria/spinbutton@npm:3.6.13" + dependencies: + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/live-announcer": "npm:^3.4.1" + "@react-aria/utils": "npm:^3.28.1" + "@react-types/button": "npm:^3.11.0" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/47167cc261c56eee8f293e741d42d376d27413c4c523d8c81ddd22a6ac4b3c4b6ebb419bcc0c50e38ef228447e8321503ad0da7ae950f63dd52ffcfa72b437c5 + languageName: node + linkType: hard + +"@react-aria/ssr@npm:^3.9.7": + version: 3.9.7 + resolution: "@react-aria/ssr@npm:3.9.7" + dependencies: + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/37168cd81b1e8223aedb906c1333381f3c436dadf58cbd675606ced314605ce5c49eee5c831309648bfbab78a8598c344be636a85962c742ebf11ae7e87ee93e + languageName: node + linkType: hard + +"@react-aria/switch@npm:^3.7.1": + version: 3.7.1 + resolution: "@react-aria/switch@npm:3.7.1" + dependencies: + "@react-aria/toggle": "npm:^3.11.1" + "@react-stately/toggle": "npm:^3.8.2" + "@react-types/shared": "npm:^3.28.0" + "@react-types/switch": "npm:^3.5.9" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/9197777121aa67886c6f83e4bd21f71072cbbedd7c8a50c24a39376c7c2ba0580d067d57d446c2c7530033fc12cb357a09c59de570942c358b83f3a1461f9f4c + languageName: node + linkType: hard + +"@react-aria/table@npm:^3.17.1": + version: 3.17.1 + resolution: "@react-aria/table@npm:3.17.1" + dependencies: + "@react-aria/focus": "npm:^3.20.1" + "@react-aria/grid": "npm:^3.12.1" + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/live-announcer": "npm:^3.4.1" + "@react-aria/utils": "npm:^3.28.1" + "@react-aria/visually-hidden": "npm:^3.8.21" + "@react-stately/collections": "npm:^3.12.2" + "@react-stately/flags": "npm:^3.1.0" + "@react-stately/table": "npm:^3.14.0" + "@react-types/checkbox": "npm:^3.9.2" + "@react-types/grid": "npm:^3.3.0" + "@react-types/shared": "npm:^3.28.0" + "@react-types/table": "npm:^3.11.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/8598f39e10b652f40824b6f80d8f5b413b954b19e55d3d06c5a98b0e9b43fc7807488981783f343163472da657b2972ebf414cea829126bcc2a90cd9732febe7 + languageName: node + linkType: hard + +"@react-aria/tabs@npm:^3.10.1": + version: 3.10.1 + resolution: "@react-aria/tabs@npm:3.10.1" + dependencies: + "@react-aria/focus": "npm:^3.20.1" + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/selection": "npm:^3.23.1" + "@react-aria/utils": "npm:^3.28.1" + "@react-stately/tabs": "npm:^3.8.0" + "@react-types/shared": "npm:^3.28.0" + "@react-types/tabs": "npm:^3.3.13" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/743c51316454437db21bc16c50668d99da0940c5b085f32f7c04d07e21bef056f81b1582b4bb634abf12c38cf2e9641df2fafafd8dd023747d75571c4e20fae9 + languageName: node + linkType: hard + +"@react-aria/tag@npm:^3.5.1": + version: 3.5.1 + resolution: "@react-aria/tag@npm:3.5.1" + dependencies: + "@react-aria/gridlist": "npm:^3.11.1" + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/label": "npm:^3.7.16" + "@react-aria/selection": "npm:^3.23.1" + "@react-aria/utils": "npm:^3.28.1" + "@react-stately/list": "npm:^3.12.0" + "@react-types/button": "npm:^3.11.0" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/2cdf4e3d0cc82d13f96098d34d70fd90f2fdb8d25ab70d92a89783af550d3787defd2021c4a0858dc85f2a142bf208182dcda3c6410423fb8ec1ebd11ea1fc75 + languageName: node + linkType: hard + +"@react-aria/textfield@npm:^3.17.1": + version: 3.17.1 + resolution: "@react-aria/textfield@npm:3.17.1" + dependencies: + "@react-aria/form": "npm:^3.0.14" + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/label": "npm:^3.7.16" + "@react-aria/utils": "npm:^3.28.1" + "@react-stately/form": "npm:^3.1.2" + "@react-stately/utils": "npm:^3.10.5" + "@react-types/shared": "npm:^3.28.0" + "@react-types/textfield": "npm:^3.12.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/82ab6a218fb7b714bdc66dfd6437ec61047212101a1db2a46e981f3e7d17c911b59b403f36172a78adbf528e8cf8664cf3a8993a525f4e1fb7fc60ab0639e79a + languageName: node + linkType: hard + +"@react-aria/toast@npm:^3.0.1": + version: 3.0.1 + resolution: "@react-aria/toast@npm:3.0.1" + dependencies: + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/landmark": "npm:^3.0.1" + "@react-aria/utils": "npm:^3.28.1" + "@react-stately/toast": "npm:^3.0.0" + "@react-types/button": "npm:^3.11.0" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/36d7ed0654dfae7965b472147dcbf39ec1d24bba5b71f90696d590793898b2fc69a2d5e2ebff9b5959072d38f9fa4dede90df5dfd9f69ae63ec0e58ca3fe331f + languageName: node + linkType: hard + +"@react-aria/toggle@npm:^3.11.1": + version: 3.11.1 + resolution: "@react-aria/toggle@npm:3.11.1" + dependencies: + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/utils": "npm:^3.28.1" + "@react-stately/toggle": "npm:^3.8.2" + "@react-types/checkbox": "npm:^3.9.2" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/2e266554ce75a5d13b77190fb99bacdb9c253f1cd4d956fc15581009c9d898df31c527bb31f3f6b619c57d947cf832edfdfb3da44c9ff61467e31bfa3c0d5f59 + languageName: node + linkType: hard + +"@react-aria/toolbar@npm:3.0.0-beta.14": + version: 3.0.0-beta.14 + resolution: "@react-aria/toolbar@npm:3.0.0-beta.14" + dependencies: + "@react-aria/focus": "npm:^3.20.1" + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/utils": "npm:^3.28.1" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/71ceddd731d32c18bc5716d9beb213703e4bf7eaaa515a4f994ee8d8c03a92b5bc902dfaf6e1574fccb6df2949331ce32d567521e426733ebd02f755779177d9 + languageName: node + linkType: hard + +"@react-aria/tooltip@npm:^3.8.1": + version: 3.8.1 + resolution: "@react-aria/tooltip@npm:3.8.1" + dependencies: + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/utils": "npm:^3.28.1" + "@react-stately/tooltip": "npm:^3.5.2" + "@react-types/shared": "npm:^3.28.0" + "@react-types/tooltip": "npm:^3.4.15" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/25eb4cb5eda7e6ab0e2507f6dc9336f6df388c0aea03755417095ccfa4535dbf18c21c8cc314e0b73367582ce508459d2f78c117945e0e4666fb65eefc06ddc0 + languageName: node + linkType: hard + +"@react-aria/tree@npm:^3.0.1": + version: 3.0.1 + resolution: "@react-aria/tree@npm:3.0.1" + dependencies: + "@react-aria/gridlist": "npm:^3.11.1" + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/selection": "npm:^3.23.1" + "@react-aria/utils": "npm:^3.28.1" + "@react-stately/tree": "npm:^3.8.8" + "@react-types/button": "npm:^3.11.0" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/3e396c9501353f35ee67ffa283593840827bf971ff864bb2222b011194262b7a9d4b0af8097b014ba6fadae4ab835dc6cfd5b5a905bba035684d51c102b08b18 + languageName: node + linkType: hard + +"@react-aria/utils@npm:^3.28.1": + version: 3.28.1 + resolution: "@react-aria/utils@npm:3.28.1" + dependencies: + "@react-aria/ssr": "npm:^3.9.7" + "@react-stately/flags": "npm:^3.1.0" + "@react-stately/utils": "npm:^3.10.5" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + clsx: "npm:^2.0.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/dcda0e238b3bbd9cd6a59563a0491320cf68f27b0b1e2bd4ee540ab4d7aaa7483cf20d96bbcd0041b5746598f4990239d1a697a6d57348607ac4cc452f69a147 + languageName: node + linkType: hard + +"@react-aria/virtualizer@npm:^4.1.3": + version: 4.1.3 + resolution: "@react-aria/virtualizer@npm:4.1.3" + dependencies: + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/utils": "npm:^3.28.1" + "@react-stately/virtualizer": "npm:^4.3.1" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/a6c62731d7a5011471b49e38ca6271312263ddd007749043da97b8e39f0c3794cfeccf51460238397071642480f0f5be141d0814ce3ee634dc388ec409bdcb3d + languageName: node + linkType: hard + +"@react-aria/visually-hidden@npm:^3.8.21": + version: 3.8.21 + resolution: "@react-aria/visually-hidden@npm:3.8.21" + dependencies: + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/utils": "npm:^3.28.1" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/cedb1eada8327187f828767e9934c3e5151ef18824c810b46883cc74e57a0ff64f7e40bad49e5866aab1e34de19ebc20ca93c1fef499d6ab5b7de51d64627ed3 + languageName: node + linkType: hard + +"@react-spectrum/accordion@npm:^3.0.4": + version: 3.0.4 + resolution: "@react-spectrum/accordion@npm:3.0.4" + dependencies: + "@react-aria/i18n": "npm:^3.12.7" + "@react-spectrum/utils": "npm:^3.12.3" + "@react-types/shared": "npm:^3.28.0" + "@spectrum-icons/ui": "npm:^3.6.14" + "@swc/helpers": "npm:^0.5.0" + react-aria-components: "npm:^1.7.1" + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/dcfa1e5ed6694d415e28b14e243f3d592e4034dc0c86d9de119342f74cb8278e2c6ed1c8aae77d21e3deeb514928db97199c49842140bdb2be5b1ac4fd53ff4e + languageName: node + linkType: hard + +"@react-spectrum/actionbar@npm:^3.6.5": + version: 3.6.5 + resolution: "@react-spectrum/actionbar@npm:3.6.5" + dependencies: + "@react-aria/focus": "npm:^3.20.1" + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/live-announcer": "npm:^3.4.1" + "@react-aria/utils": "npm:^3.28.1" + "@react-spectrum/actiongroup": "npm:^3.10.13" + "@react-spectrum/button": "npm:^3.16.12" + "@react-spectrum/overlays": "npm:^5.7.3" + "@react-spectrum/text": "npm:^3.5.13" + "@react-spectrum/utils": "npm:^3.12.3" + "@react-stately/collections": "npm:^3.12.2" + "@react-types/actionbar": "npm:^3.1.13" + "@react-types/shared": "npm:^3.28.0" + "@spectrum-icons/ui": "npm:^3.6.14" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/7f13afd4c0cd71fd6a77c9a65d19ba0ead987f01bebef416fdd8fcb7490dd3c722484647efde721e9678a96c86585f3160e20124f3c45681313915ed9ca5c5df + languageName: node + linkType: hard + +"@react-spectrum/actiongroup@npm:^3.10.13": + version: 3.10.13 + resolution: "@react-spectrum/actiongroup@npm:3.10.13" + dependencies: + "@react-aria/actiongroup": "npm:^3.7.14" + "@react-aria/focus": "npm:^3.20.1" + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/utils": "npm:^3.28.1" + "@react-spectrum/button": "npm:^3.16.12" + "@react-spectrum/menu": "npm:^3.21.3" + "@react-spectrum/text": "npm:^3.5.13" + "@react-spectrum/tooltip": "npm:^3.7.3" + "@react-spectrum/utils": "npm:^3.12.3" + "@react-stately/collections": "npm:^3.12.2" + "@react-stately/list": "npm:^3.12.0" + "@react-types/actiongroup": "npm:^3.4.15" + "@react-types/shared": "npm:^3.28.0" + "@spectrum-icons/ui": "npm:^3.6.14" + "@spectrum-icons/workflow": "npm:^4.2.19" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + "@react-spectrum/provider": ^3.2.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/f2b173c509bcfce4f45f1edcc8695ad5c64e16dab8df8e4d7d7c9a63c4fbd347110bd6a68947c251a45796da3af6bb7309def68fe905a65ae50d7f66a0808701 + languageName: node + linkType: hard + +"@react-spectrum/avatar@npm:^3.0.20": + version: 3.0.20 + resolution: "@react-spectrum/avatar@npm:3.0.20" + dependencies: + "@react-aria/utils": "npm:^3.28.1" + "@react-spectrum/utils": "npm:^3.12.3" + "@react-types/avatar": "npm:^3.0.13" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + "@react-spectrum/provider": ^3.2.1 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/251d1940ad6ba44d924dc6feaa7f90925676c1942e83d483721e59c0086130348ed2b5e4389f1c8f97ac877dee86c95ef7d73f51477648779b8552809fde2d40 + languageName: node + linkType: hard + +"@react-spectrum/badge@npm:^3.1.21": + version: 3.1.21 + resolution: "@react-spectrum/badge@npm:3.1.21" + dependencies: + "@react-aria/utils": "npm:^3.28.1" + "@react-spectrum/text": "npm:^3.5.13" + "@react-spectrum/utils": "npm:^3.12.3" + "@react-types/badge": "npm:^3.1.15" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/e367340a74d4ff36186d7439d23b43097408fb47ffa0dbad145ac7bfb0c099c27e6190f1b7b8110c2f3a8fb8b01be5190a57386abdf696b6e0d24db0dde49cfd + languageName: node + linkType: hard + +"@react-spectrum/breadcrumbs@npm:^3.9.15": + version: 3.9.15 + resolution: "@react-spectrum/breadcrumbs@npm:3.9.15" + dependencies: + "@react-aria/breadcrumbs": "npm:^3.5.22" + "@react-aria/focus": "npm:^3.20.1" + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/utils": "npm:^3.28.1" + "@react-spectrum/button": "npm:^3.16.12" + "@react-spectrum/menu": "npm:^3.21.3" + "@react-spectrum/utils": "npm:^3.12.3" + "@react-stately/collections": "npm:^3.12.2" + "@react-types/breadcrumbs": "npm:^3.7.11" + "@react-types/shared": "npm:^3.28.0" + "@spectrum-icons/ui": "npm:^3.6.14" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/ea29e525508b8f568f2ca6cc8b1e89466a7c51abc1e83ee7c11d52f0fd789aeed493f3ac12e26e0158b32a7623998739df2825c0433bd3094817ba77acc389b6 + languageName: node + linkType: hard + +"@react-spectrum/button@npm:^3.16.12": + version: 3.16.12 + resolution: "@react-spectrum/button@npm:3.16.12" + dependencies: + "@react-aria/button": "npm:^3.12.1" + "@react-aria/focus": "npm:^3.20.1" + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/utils": "npm:^3.28.1" + "@react-spectrum/progress": "npm:^3.7.14" + "@react-spectrum/text": "npm:^3.5.13" + "@react-spectrum/utils": "npm:^3.12.3" + "@react-stately/toggle": "npm:^3.8.2" + "@react-types/button": "npm:^3.11.0" + "@react-types/shared": "npm:^3.28.0" + "@spectrum-icons/ui": "npm:^3.6.14" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/e2259961fb47393fd52df6d27f6b4e3f79763191bb7e5ae903f33dac74bed286c110e3aba03d2566bf816c89c93a0f041603acf47f716cc595921399c25202f5 + languageName: node + linkType: hard + +"@react-spectrum/buttongroup@npm:^3.6.20": + version: 3.6.20 + resolution: "@react-spectrum/buttongroup@npm:3.6.20" + dependencies: + "@react-aria/utils": "npm:^3.28.1" + "@react-spectrum/utils": "npm:^3.12.3" + "@react-types/buttongroup": "npm:^3.3.15" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/f7233c40cc54cfb7f0d5d6f8d7bd3518674b2bb518ff32ee7c3c0c417eacb5cbbe667403c9a34383017d217446dfb310c2c079962c7bf7ae2c41237fc4a66e42 + languageName: node + linkType: hard + +"@react-spectrum/calendar@npm:^3.6.2": + version: 3.6.2 + resolution: "@react-spectrum/calendar@npm:3.6.2" + dependencies: + "@internationalized/date": "npm:^3.7.0" + "@react-aria/calendar": "npm:^3.7.2" + "@react-aria/focus": "npm:^3.20.1" + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/utils": "npm:^3.28.1" + "@react-aria/visually-hidden": "npm:^3.8.21" + "@react-spectrum/button": "npm:^3.16.12" + "@react-spectrum/label": "npm:^3.16.13" + "@react-spectrum/utils": "npm:^3.12.3" + "@react-stately/calendar": "npm:^3.7.1" + "@react-types/button": "npm:^3.11.0" + "@react-types/calendar": "npm:^3.6.1" + "@react-types/shared": "npm:^3.28.0" + "@spectrum-icons/ui": "npm:^3.6.14" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/a93d25d58f970040ee55464525cd1015e4111c26a3a8af47b9892ca01dfd99ef02a09ff8deaf6ec7d7673a0402cd3dd14e8aebe953486da13bd26a1fc30fcb8c + languageName: node + linkType: hard + +"@react-spectrum/checkbox@npm:^3.9.14": + version: 3.9.14 + resolution: "@react-spectrum/checkbox@npm:3.9.14" + dependencies: + "@react-aria/checkbox": "npm:^3.15.3" + "@react-aria/focus": "npm:^3.20.1" + "@react-aria/interactions": "npm:^3.24.1" + "@react-spectrum/form": "npm:^3.7.13" + "@react-spectrum/label": "npm:^3.16.13" + "@react-spectrum/utils": "npm:^3.12.3" + "@react-stately/checkbox": "npm:^3.6.12" + "@react-stately/toggle": "npm:^3.8.2" + "@react-types/checkbox": "npm:^3.9.2" + "@react-types/shared": "npm:^3.28.0" + "@spectrum-icons/ui": "npm:^3.6.14" + "@swc/helpers": "npm:^0.5.0" + react-aria-components: "npm:^1.7.1" + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/a996b9646963a751bd775254273d7b2f43857c5d0360d425c38fc5fa9323f7668f020e76d3cc54d9799b8f8485942cad2533e0ed156ed85118f281ce0f174e8f + languageName: node + linkType: hard + +"@react-spectrum/color@npm:^3.0.5": + version: 3.0.5 + resolution: "@react-spectrum/color@npm:3.0.5" + dependencies: + "@react-aria/color": "npm:^3.0.5" + "@react-aria/focus": "npm:^3.20.1" + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/utils": "npm:^3.28.1" + "@react-spectrum/dialog": "npm:^3.8.19" + "@react-spectrum/form": "npm:^3.7.13" + "@react-spectrum/label": "npm:^3.16.13" + "@react-spectrum/overlays": "npm:^5.7.3" + "@react-spectrum/picker": "npm:^3.15.7" + "@react-spectrum/textfield": "npm:^3.13.1" + "@react-spectrum/utils": "npm:^3.12.3" + "@react-spectrum/view": "npm:^3.6.17" + "@react-stately/color": "npm:^3.8.3" + "@react-types/color": "npm:^3.0.3" + "@react-types/shared": "npm:^3.28.0" + "@react-types/textfield": "npm:^3.12.0" + "@swc/helpers": "npm:^0.5.0" + react-aria-components: "npm:^1.7.1" + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/72701f0ce5cf6c5d598faaafca19393b71c64c72ac39b627998f74d00072c8b60a3ea96eaf3cb6d8e4a56e275b0f88015c1767c8edb04f65e3db1dc63e3cd6b9 + languageName: node + linkType: hard + +"@react-spectrum/combobox@npm:^3.15.1": + version: 3.15.1 + resolution: "@react-spectrum/combobox@npm:3.15.1" + dependencies: + "@react-aria/button": "npm:^3.12.1" + "@react-aria/combobox": "npm:^3.12.1" + "@react-aria/dialog": "npm:^3.5.23" + "@react-aria/focus": "npm:^3.20.1" + "@react-aria/form": "npm:^3.0.14" + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/label": "npm:^3.7.16" + "@react-aria/overlays": "npm:^3.26.1" + "@react-aria/utils": "npm:^3.28.1" + "@react-spectrum/button": "npm:^3.16.12" + "@react-spectrum/form": "npm:^3.7.13" + "@react-spectrum/label": "npm:^3.16.13" + "@react-spectrum/listbox": "npm:^3.14.3" + "@react-spectrum/overlays": "npm:^5.7.3" + "@react-spectrum/progress": "npm:^3.7.14" + "@react-spectrum/textfield": "npm:^3.13.1" + "@react-spectrum/utils": "npm:^3.12.3" + "@react-stately/collections": "npm:^3.12.2" + "@react-stately/combobox": "npm:^3.10.3" + "@react-types/button": "npm:^3.11.0" + "@react-types/combobox": "npm:^3.13.3" + "@react-types/shared": "npm:^3.28.0" + "@spectrum-icons/ui": "npm:^3.6.14" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/028241ea64695585e63f5c5c0ab33fd94a5ff58480396139e14ffbd1e8de57e3b2647819171e7dff9ab136a6afb04b5c1d6d2dce8db253ba81832eb05087a5c5 + languageName: node + linkType: hard + +"@react-spectrum/contextualhelp@npm:^3.6.19": + version: 3.6.19 + resolution: "@react-spectrum/contextualhelp@npm:3.6.19" + dependencies: + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/utils": "npm:^3.28.1" + "@react-spectrum/button": "npm:^3.16.12" + "@react-spectrum/dialog": "npm:^3.8.19" + "@react-spectrum/utils": "npm:^3.12.3" + "@react-types/contextualhelp": "npm:^3.2.16" + "@react-types/shared": "npm:^3.28.0" + "@spectrum-icons/workflow": "npm:^4.2.19" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/283b0f76922b6c43ac42225e1c676583386b249b6486bfb8ef0f759ea6fb01a1d86b35d61f34ccd278a4f778801e0546e3392e5a1bf53fb1caf68efd78637275 + languageName: node + linkType: hard + +"@react-spectrum/datepicker@npm:^3.13.1": + version: 3.13.1 + resolution: "@react-spectrum/datepicker@npm:3.13.1" + dependencies: + "@internationalized/date": "npm:^3.7.0" + "@react-aria/datepicker": "npm:^3.14.1" + "@react-aria/focus": "npm:^3.20.1" + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/utils": "npm:^3.28.1" + "@react-spectrum/button": "npm:^3.16.12" + "@react-spectrum/calendar": "npm:^3.6.2" + "@react-spectrum/dialog": "npm:^3.8.19" + "@react-spectrum/form": "npm:^3.7.13" + "@react-spectrum/label": "npm:^3.16.13" + "@react-spectrum/layout": "npm:^3.6.13" + "@react-spectrum/utils": "npm:^3.12.3" + "@react-spectrum/view": "npm:^3.6.17" + "@react-stately/datepicker": "npm:^3.13.0" + "@react-types/datepicker": "npm:^3.11.0" + "@react-types/shared": "npm:^3.28.0" + "@spectrum-icons/ui": "npm:^3.6.14" + "@spectrum-icons/workflow": "npm:^4.2.19" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/385cd6c08278826bfdd99df26aeb4350bf4c000603fdcd26d46e484a4bacaa572174189996b4724b847a20381b484111007fb53782a3a4982e2237e991f6027a + languageName: node + linkType: hard + +"@react-spectrum/dialog@npm:^3.8.19": + version: 3.8.19 + resolution: "@react-spectrum/dialog@npm:3.8.19" + dependencies: + "@react-aria/dialog": "npm:^3.5.23" + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/overlays": "npm:^3.26.1" + "@react-aria/utils": "npm:^3.28.1" + "@react-spectrum/button": "npm:^3.16.12" + "@react-spectrum/buttongroup": "npm:^3.6.20" + "@react-spectrum/divider": "npm:^3.5.21" + "@react-spectrum/layout": "npm:^3.6.13" + "@react-spectrum/overlays": "npm:^5.7.3" + "@react-spectrum/text": "npm:^3.5.13" + "@react-spectrum/utils": "npm:^3.12.3" + "@react-spectrum/view": "npm:^3.6.17" + "@react-stately/overlays": "npm:^3.6.14" + "@react-types/button": "npm:^3.11.0" + "@react-types/dialog": "npm:^3.5.16" + "@react-types/shared": "npm:^3.28.0" + "@spectrum-icons/ui": "npm:^3.6.14" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/43dc75f828f60d9b7b144021253a3b2cfba1fe83ef385ce93f0226fbba4955c9165edbe23d78d99c9c60ba95ed48d947f4c5988171c4c2ded2699304c9a81e93 + languageName: node + linkType: hard + +"@react-spectrum/divider@npm:^3.5.21": + version: 3.5.21 + resolution: "@react-spectrum/divider@npm:3.5.21" + dependencies: + "@react-aria/separator": "npm:^3.4.7" + "@react-spectrum/utils": "npm:^3.12.3" + "@react-types/divider": "npm:^3.3.15" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/06ca9b30b0961cba2bb297507b83d6ea7c6835aea91ccb28b1dea5657d7514b421e3726fe377937079a65461234dd24be2812ceec92f469963fec95552fb0509 + languageName: node + linkType: hard + +"@react-spectrum/dnd@npm:^3.5.3": + version: 3.5.3 + resolution: "@react-spectrum/dnd@npm:3.5.3" + dependencies: + "@react-aria/dnd": "npm:^3.9.1" + "@react-stately/dnd": "npm:^3.5.2" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/ab56f925d4667b6e791eb985e627dbfd6df0e1f120b6037bbeea72557541d371e800f5c3014867d80be6dce3c4047a0c0a2aa7752e67ea86381a1addd165fe90 + languageName: node + linkType: hard + +"@react-spectrum/dropzone@npm:^3.0.9": + version: 3.0.9 + resolution: "@react-spectrum/dropzone@npm:3.0.9" + dependencies: + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/utils": "npm:^3.28.1" + "@react-spectrum/utils": "npm:^3.12.3" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + react-aria-components: "npm:^1.7.1" + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/82fc5baea724840e95a1d9d8dce0fd05e336084b642bdaa77da13860566242616d9299758e1a914a89f37eb5304fac40a99191a475ca4be643f241c65a58aaba + languageName: node + linkType: hard + +"@react-spectrum/filetrigger@npm:^3.0.9": + version: 3.0.9 + resolution: "@react-spectrum/filetrigger@npm:3.0.9" + dependencies: + "@swc/helpers": "npm:^0.5.0" + react-aria-components: "npm:^1.7.1" + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/6db2da5149f31a35632ecf971020e1d5612e757989ebb17c79e2e7e483be5c2797d2eaf85b1a0accf2e3348878236628f249dd0c8f742672501f0a637f72f572 + languageName: node + linkType: hard + +"@react-spectrum/form@npm:^3.7.13": + version: 3.7.13 + resolution: "@react-spectrum/form@npm:3.7.13" + dependencies: + "@react-aria/utils": "npm:^3.28.1" + "@react-spectrum/utils": "npm:^3.12.3" + "@react-stately/form": "npm:^3.1.2" + "@react-types/form": "npm:^3.7.10" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/3bdc0808ae35165df64ca2b66dda0dd73322a18c952035f2637e6e6e5da047b123ae9744ec2f79f24ad29528153d8164ba324ce5df6d1593df3751b08e19bd32 + languageName: node + linkType: hard + +"@react-spectrum/icon@npm:^3.8.3": + version: 3.8.3 + resolution: "@react-spectrum/icon@npm:3.8.3" + dependencies: + "@react-aria/utils": "npm:^3.28.1" + "@react-spectrum/utils": "npm:^3.12.3" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/d94a26aacb7a7b627134c93b8160f43465ebc6398479d77f4d4ab3a5bfdcdd8ef0461cde168382d2012c9849d4dc863d31a11d92cc449822b8c22cd785218ac1 + languageName: node + linkType: hard + +"@react-spectrum/illustratedmessage@npm:^3.5.8": + version: 3.5.8 + resolution: "@react-spectrum/illustratedmessage@npm:3.5.8" + dependencies: + "@react-aria/utils": "npm:^3.28.1" + "@react-spectrum/layout": "npm:^3.6.13" + "@react-spectrum/utils": "npm:^3.12.3" + "@react-types/illustratedmessage": "npm:^3.3.15" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/924046487b386531e0ab560dec0a55d60ce835296b9de9129a4b12dddb43da0db18187bc5c86fca5bbec0236d878b010b17b133d68cf76d4821360ac6ed792f7 + languageName: node + linkType: hard + +"@react-spectrum/image@npm:^3.5.9": + version: 3.5.9 + resolution: "@react-spectrum/image@npm:3.5.9" + dependencies: + "@react-aria/utils": "npm:^3.28.1" + "@react-spectrum/utils": "npm:^3.12.3" + "@react-types/image": "npm:^3.4.7" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/e46c3aabce801907c1c82d499308727f5869867b53de96d038009814ca41755c2c9ef6865cec876c68da7aebebee5e90afa9c80225bdcf4766fa038a73914cf2 + languageName: node + linkType: hard + +"@react-spectrum/inlinealert@npm:^3.2.13": + version: 3.2.13 + resolution: "@react-spectrum/inlinealert@npm:3.2.13" + dependencies: + "@react-aria/focus": "npm:^3.20.1" + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/utils": "npm:^3.28.1" + "@react-spectrum/layout": "npm:^3.6.13" + "@react-spectrum/utils": "npm:^3.12.3" + "@react-types/shared": "npm:^3.28.0" + "@spectrum-icons/ui": "npm:^3.6.14" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/781867ecf7504aacbb3b16a1d12a342380edae98f525b1f10167541fd060170f3b3a9e546c0144962bc67a41a5ac363e11b2e2dcc87fbdca99f7c1737d96b05f + languageName: node + linkType: hard + +"@react-spectrum/label@npm:^3.16.13": + version: 3.16.13 + resolution: "@react-spectrum/label@npm:3.16.13" + dependencies: + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/utils": "npm:^3.28.1" + "@react-spectrum/form": "npm:^3.7.13" + "@react-spectrum/layout": "npm:^3.6.13" + "@react-spectrum/utils": "npm:^3.12.3" + "@react-types/label": "npm:^3.9.9" + "@react-types/shared": "npm:^3.28.0" + "@spectrum-icons/ui": "npm:^3.6.14" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/d629fef592754e0ea9f8fc9b96f7af587e78887a033b018fb3c3fc82de27649577a52abc2641255472c74c4d5dcfb7bfe6788e1c68ccafa22c2f1dcafa320b97 + languageName: node + linkType: hard + +"@react-spectrum/labeledvalue@npm:^3.2.1": + version: 3.2.1 + resolution: "@react-spectrum/labeledvalue@npm:3.2.1" + dependencies: + "@internationalized/date": "npm:^3.7.0" + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/utils": "npm:^3.28.1" + "@react-spectrum/label": "npm:^3.16.13" + "@react-spectrum/utils": "npm:^3.12.3" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/689dfe3db1d0f072a5d6c6feb7141e9c37b9bf65f69ab2d34a75db998beb11dd911fbf32e56248ce69f00ba0fc0229c68d45e6e00c863bdf4a8cb51ca3f20054 + languageName: node + linkType: hard + +"@react-spectrum/layout@npm:^3.6.13": + version: 3.6.13 + resolution: "@react-spectrum/layout@npm:3.6.13" + dependencies: + "@react-aria/utils": "npm:^3.28.1" + "@react-spectrum/utils": "npm:^3.12.3" + "@react-types/layout": "npm:^3.3.21" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/bcf3f5e42af1e718ab1ce13b41549442931a10cf059f365be252953434590afad68f2972f8b52079bd82116b768881de08b8e2495736e0d6325db3b6d000c2c6 + languageName: node + linkType: hard + +"@react-spectrum/link@npm:^3.6.15": + version: 3.6.15 + resolution: "@react-spectrum/link@npm:3.6.15" + dependencies: + "@react-aria/focus": "npm:^3.20.1" + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/link": "npm:^3.7.10" + "@react-aria/utils": "npm:^3.28.1" + "@react-spectrum/utils": "npm:^3.12.3" + "@react-types/link": "npm:^3.5.11" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/f4e11f30c5a540f50f49ca9101cbb26cdffdb937ce758f275a6d3216f26e94934efe0884b2fa253292f4f54feb260371d81fe16fd6c08d8b97b1c9935982324e + languageName: node + linkType: hard + +"@react-spectrum/list@npm:^3.9.3": + version: 3.9.3 + resolution: "@react-spectrum/list@npm:3.9.3" + dependencies: + "@react-aria/button": "npm:^3.12.1" + "@react-aria/focus": "npm:^3.20.1" + "@react-aria/gridlist": "npm:^3.11.1" + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/selection": "npm:^3.23.1" + "@react-aria/utils": "npm:^3.28.1" + "@react-aria/virtualizer": "npm:^4.1.3" + "@react-aria/visually-hidden": "npm:^3.8.21" + "@react-spectrum/checkbox": "npm:^3.9.14" + "@react-spectrum/dnd": "npm:^3.5.3" + "@react-spectrum/layout": "npm:^3.6.13" + "@react-spectrum/progress": "npm:^3.7.14" + "@react-spectrum/text": "npm:^3.5.13" + "@react-spectrum/utils": "npm:^3.12.3" + "@react-stately/collections": "npm:^3.12.2" + "@react-stately/layout": "npm:^4.2.1" + "@react-stately/list": "npm:^3.12.0" + "@react-stately/virtualizer": "npm:^4.3.1" + "@react-types/grid": "npm:^3.3.0" + "@react-types/shared": "npm:^3.28.0" + "@spectrum-icons/ui": "npm:^3.6.14" + "@swc/helpers": "npm:^0.5.0" + react-transition-group: "npm:^4.4.5" + peerDependencies: + "@react-spectrum/provider": ^3.2.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/b924fb9d42cfe0017d7e50820aac89a0598a1c71764df2fc36f53d23a2b798c911dcd9178290be7b21369066e459bf3fd00c76a40ce364f7954006fbc0b79234 + languageName: node + linkType: hard + +"@react-spectrum/listbox@npm:^3.14.3": + version: 3.14.3 + resolution: "@react-spectrum/listbox@npm:3.14.3" + dependencies: + "@react-aria/focus": "npm:^3.20.1" + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/listbox": "npm:^3.14.2" + "@react-aria/utils": "npm:^3.28.1" + "@react-aria/virtualizer": "npm:^4.1.3" + "@react-spectrum/layout": "npm:^3.6.13" + "@react-spectrum/progress": "npm:^3.7.14" + "@react-spectrum/text": "npm:^3.5.13" + "@react-spectrum/utils": "npm:^3.12.3" + "@react-stately/collections": "npm:^3.12.2" + "@react-stately/layout": "npm:^4.2.1" + "@react-stately/list": "npm:^3.12.0" + "@react-stately/virtualizer": "npm:^4.3.1" + "@react-types/listbox": "npm:^3.5.5" + "@react-types/shared": "npm:^3.28.0" + "@spectrum-icons/ui": "npm:^3.6.14" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + "@react-spectrum/provider": ^3.2.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/66d9aae9d9fedf0f2eb5c626c0db494cb9da59f84ef3d3f9a22ac0585a042b20b9e4ee19f3b173b523214512845383b3a49e81f2e2f73ecec5125183c477339b + languageName: node + linkType: hard + +"@react-spectrum/menu@npm:^3.21.3": + version: 3.21.3 + resolution: "@react-spectrum/menu@npm:3.21.3" + dependencies: + "@react-aria/focus": "npm:^3.20.1" + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/menu": "npm:^3.18.1" + "@react-aria/overlays": "npm:^3.26.1" + "@react-aria/separator": "npm:^3.4.7" + "@react-aria/utils": "npm:^3.28.1" + "@react-spectrum/button": "npm:^3.16.12" + "@react-spectrum/layout": "npm:^3.6.13" + "@react-spectrum/overlays": "npm:^5.7.3" + "@react-spectrum/text": "npm:^3.5.13" + "@react-spectrum/utils": "npm:^3.12.3" + "@react-stately/collections": "npm:^3.12.2" + "@react-stately/menu": "npm:^3.9.2" + "@react-stately/overlays": "npm:^3.6.14" + "@react-stately/tree": "npm:^3.8.8" + "@react-types/menu": "npm:^3.9.15" + "@react-types/overlays": "npm:^3.8.13" + "@react-types/shared": "npm:^3.28.0" + "@spectrum-icons/ui": "npm:^3.6.14" + "@spectrum-icons/workflow": "npm:^4.2.19" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/5bf4e8f485cfa268bd80c60005de0d58d1e845dc9c1c135dad81778500e930ff40148afd755571b218ce1b0fbfc0c381185625c0478b4aa0cf3676acb6c68ae9 + languageName: node + linkType: hard + +"@react-spectrum/meter@npm:^3.5.8": + version: 3.5.8 + resolution: "@react-spectrum/meter@npm:3.5.8" + dependencies: + "@react-aria/meter": "npm:^3.4.21" + "@react-spectrum/progress": "npm:^3.7.14" + "@react-spectrum/utils": "npm:^3.12.3" + "@react-types/meter": "npm:^3.4.7" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/0aff7b96bd020d44c2c2d287dbfbd969dec2193be113896f4723fc8a6f83affdf398762e40a66776dfe7d58190c58ef1d188b4a930970ebd644bea481f2ac938 + languageName: node + linkType: hard + +"@react-spectrum/numberfield@npm:^3.9.11": + version: 3.9.11 + resolution: "@react-spectrum/numberfield@npm:3.9.11" + dependencies: + "@react-aria/button": "npm:^3.12.1" + "@react-aria/focus": "npm:^3.20.1" + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/numberfield": "npm:^3.11.12" + "@react-aria/utils": "npm:^3.28.1" + "@react-spectrum/form": "npm:^3.7.13" + "@react-spectrum/label": "npm:^3.16.13" + "@react-spectrum/textfield": "npm:^3.13.1" + "@react-spectrum/utils": "npm:^3.12.3" + "@react-stately/numberfield": "npm:^3.9.10" + "@react-types/button": "npm:^3.11.0" + "@react-types/numberfield": "npm:^3.8.9" + "@react-types/shared": "npm:^3.28.0" + "@spectrum-icons/ui": "npm:^3.6.14" + "@spectrum-icons/workflow": "npm:^4.2.19" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/34144149191c1ab74d123719f7f8e7e4530dbc1c6a0726e7e50d0f985d561d5e8f2cf0f605065c6b9f39eb2098e1245036ee1eca42da3b85964f31a718fb17e4 + languageName: node + linkType: hard + +"@react-spectrum/overlays@npm:^5.7.3": + version: 5.7.3 + resolution: "@react-spectrum/overlays@npm:5.7.3" + dependencies: + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/overlays": "npm:^3.26.1" + "@react-aria/utils": "npm:^3.28.1" + "@react-spectrum/utils": "npm:^3.12.3" + "@react-stately/overlays": "npm:^3.6.14" + "@react-types/overlays": "npm:^3.8.13" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + react-transition-group: "npm:^4.4.5" + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/1bd416a45f73426d77853290e9a494cb3f22221c7fa980638b6472dbbdece5c47680cbd14f3e979b23b5c9c28cae8834304bf55dea136670564348172055f4c7 + languageName: node + linkType: hard + +"@react-spectrum/picker@npm:^3.15.7": + version: 3.15.7 + resolution: "@react-spectrum/picker@npm:3.15.7" + dependencies: + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/select": "npm:^3.15.3" + "@react-aria/utils": "npm:^3.28.1" + "@react-spectrum/button": "npm:^3.16.12" + "@react-spectrum/form": "npm:^3.7.13" + "@react-spectrum/label": "npm:^3.16.13" + "@react-spectrum/listbox": "npm:^3.14.3" + "@react-spectrum/overlays": "npm:^5.7.3" + "@react-spectrum/progress": "npm:^3.7.14" + "@react-spectrum/text": "npm:^3.5.13" + "@react-spectrum/utils": "npm:^3.12.3" + "@react-stately/collections": "npm:^3.12.2" + "@react-stately/select": "npm:^3.6.11" + "@react-types/select": "npm:^3.9.10" + "@react-types/shared": "npm:^3.28.0" + "@spectrum-icons/ui": "npm:^3.6.14" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + "@react-spectrum/provider": ^3.1.4 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/81032184eb565a3ffac5fe3040e323fc8073bf40ee8c48c5836c8219f07af4036a984df136ef4fb77f3d401c864fcc40600396263ad96f548b678564de2ed12e + languageName: node + linkType: hard + +"@react-spectrum/progress@npm:^3.7.14": + version: 3.7.14 + resolution: "@react-spectrum/progress@npm:3.7.14" + dependencies: + "@react-aria/progress": "npm:^3.4.21" + "@react-aria/utils": "npm:^3.28.1" + "@react-spectrum/utils": "npm:^3.12.3" + "@react-types/progress": "npm:^3.5.10" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/976f2aae06ad6634cdd0e241236b4824c897ad2b6cea383b8d2892dc3df014babed5380be0581a66473439ff5c2b26f35b71e0bc287b3e12bc79bbc8e8d7b434 + languageName: node + linkType: hard + +"@react-spectrum/provider@npm:^3.10.3": + version: 3.10.3 + resolution: "@react-spectrum/provider@npm:3.10.3" + dependencies: + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/overlays": "npm:^3.26.1" + "@react-aria/utils": "npm:^3.28.1" + "@react-spectrum/utils": "npm:^3.12.3" + "@react-types/provider": "npm:^3.8.7" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + clsx: "npm:^2.0.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/5389098729346c19c841adc83d3c3c0bb34b30cb9d2fde9485ef5ed91ba951552062a07773ddec2dc849b7f7ccdd9d5b51d2a9c4ecfb74da69c9dc0ed081b55f + languageName: node + linkType: hard + +"@react-spectrum/radio@npm:^3.7.14": + version: 3.7.14 + resolution: "@react-spectrum/radio@npm:3.7.14" + dependencies: + "@react-aria/focus": "npm:^3.20.1" + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/radio": "npm:^3.11.1" + "@react-spectrum/form": "npm:^3.7.13" + "@react-spectrum/label": "npm:^3.16.13" + "@react-spectrum/utils": "npm:^3.12.3" + "@react-stately/radio": "npm:^3.10.11" + "@react-types/radio": "npm:^3.8.7" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/60146ec33541484b13d0c90f10866534ced1673683519bdfa45e74247fcf80fa27e82daf129b69a518141a9836d4fbb1d99ef5909423586d086e27961c94990b + languageName: node + linkType: hard + +"@react-spectrum/s2@npm:^0.7.1": + version: 0.7.1 + resolution: "@react-spectrum/s2@npm:0.7.1" + dependencies: + "@react-aria/collections": "npm:3.0.0-beta.1" + "@react-aria/focus": "npm:^3.20.1" + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/live-announcer": "npm:^3.4.1" + "@react-aria/utils": "npm:^3.28.1" + "@react-spectrum/utils": "npm:^3.12.3" + "@react-stately/layout": "npm:^4.2.1" + "@react-stately/utils": "npm:^3.10.5" + "@react-types/dialog": "npm:^3.5.16" + "@react-types/grid": "npm:^3.3.0" + "@react-types/provider": "npm:^3.8.7" + "@react-types/shared": "npm:^3.28.0" + "@react-types/table": "npm:^3.11.0" + "@react-types/textfield": "npm:^3.12.0" + csstype: "npm:^3.0.2" + react-aria: "npm:^3.38.1" + react-aria-components: "npm:^1.7.1" + peerDependencies: + react: ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/7186ffc6b821a02a7d2ba03d6f3c30008740f7c185f233660461b63a037b4eebf09ba5c16d7380719032b5bbe2a478007387477d140491a23b744f29683c0e6a + languageName: node + linkType: hard + +"@react-spectrum/searchfield@npm:^3.8.14": + version: 3.8.14 + resolution: "@react-spectrum/searchfield@npm:3.8.14" + dependencies: + "@react-aria/searchfield": "npm:^3.8.2" + "@react-spectrum/button": "npm:^3.16.12" + "@react-spectrum/form": "npm:^3.7.13" + "@react-spectrum/textfield": "npm:^3.13.1" + "@react-spectrum/utils": "npm:^3.12.3" + "@react-stately/searchfield": "npm:^3.5.10" + "@react-types/searchfield": "npm:^3.6.0" + "@react-types/textfield": "npm:^3.12.0" + "@spectrum-icons/ui": "npm:^3.6.14" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/5baac65a182010d92391460a219337b1ef95ba2b8c9b411cd9d9abce1169f44e6c0a8b8a945f761d89c5464b9d43d2e9e00d23f33ce57359c58f4b5e5b69848e + languageName: node + linkType: hard + +"@react-spectrum/slider@npm:^3.7.3": + version: 3.7.3 + resolution: "@react-spectrum/slider@npm:3.7.3" + dependencies: + "@react-aria/focus": "npm:^3.20.1" + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/slider": "npm:^3.7.17" + "@react-aria/utils": "npm:^3.28.1" + "@react-aria/visually-hidden": "npm:^3.8.21" + "@react-spectrum/utils": "npm:^3.12.3" + "@react-stately/slider": "npm:^3.6.2" + "@react-types/shared": "npm:^3.28.0" + "@react-types/slider": "npm:^3.7.9" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/96901fd425eb5973fd7619260b76e56bf8dd41089e7266df0552e22a4c95bd1632fea5cca731ceca5c4823eb85ebd8180d2e1e19ebfcd5e469a674ad68c2caf4 + languageName: node + linkType: hard + +"@react-spectrum/statuslight@npm:^3.5.20": + version: 3.5.20 + resolution: "@react-spectrum/statuslight@npm:3.5.20" + dependencies: + "@react-aria/utils": "npm:^3.28.1" + "@react-spectrum/utils": "npm:^3.12.3" + "@react-types/shared": "npm:^3.28.0" + "@react-types/statuslight": "npm:^3.3.15" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/ba927b4b5603c84115d753d3d494c12956678f41cceeca0baffe4ca7c3189959b0e76cb175553b53160ea18e26042066bd7abdd4e1214b31b6dabf4812c3d667 + languageName: node + linkType: hard + +"@react-spectrum/switch@npm:^3.5.13": + version: 3.5.13 + resolution: "@react-spectrum/switch@npm:3.5.13" + dependencies: + "@react-aria/focus": "npm:^3.20.1" + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/switch": "npm:^3.7.1" + "@react-spectrum/utils": "npm:^3.12.3" + "@react-stately/toggle": "npm:^3.8.2" + "@react-types/shared": "npm:^3.28.0" + "@react-types/switch": "npm:^3.5.9" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/6a58fe9e44462eb7016e243351f62d52e6f5afffdfe12a0223d1b0941ddb3e4ed9dd9ce3f58f6534bcf3abcf910bef7a22e300b2d66363f0896448bf4a0e065d + languageName: node + linkType: hard + +"@react-spectrum/table@npm:^3.16.1": + version: 3.16.1 + resolution: "@react-spectrum/table@npm:3.16.1" + dependencies: + "@react-aria/button": "npm:^3.12.1" + "@react-aria/focus": "npm:^3.20.1" + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/overlays": "npm:^3.26.1" + "@react-aria/selection": "npm:^3.23.1" + "@react-aria/table": "npm:^3.17.1" + "@react-aria/utils": "npm:^3.28.1" + "@react-aria/virtualizer": "npm:^4.1.3" + "@react-aria/visually-hidden": "npm:^3.8.21" + "@react-spectrum/checkbox": "npm:^3.9.14" + "@react-spectrum/dnd": "npm:^3.5.3" + "@react-spectrum/layout": "npm:^3.6.13" + "@react-spectrum/menu": "npm:^3.21.3" + "@react-spectrum/progress": "npm:^3.7.14" + "@react-spectrum/tooltip": "npm:^3.7.3" + "@react-spectrum/utils": "npm:^3.12.3" + "@react-stately/flags": "npm:^3.1.0" + "@react-stately/layout": "npm:^4.2.1" + "@react-stately/table": "npm:^3.14.0" + "@react-stately/virtualizer": "npm:^4.3.1" + "@react-types/grid": "npm:^3.3.0" + "@react-types/shared": "npm:^3.28.0" + "@react-types/table": "npm:^3.11.0" + "@spectrum-icons/ui": "npm:^3.6.14" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/6d2d812a898bc35374386cb7f6a089517da06779bca9fd5ad913fffe5e3a2786c4d74cd3b8c93c917d3897330c6dd5e013b882169ff0c71aa28ae61263c9ebe3 + languageName: node + linkType: hard + +"@react-spectrum/tabs@npm:^3.8.18": + version: 3.8.18 + resolution: "@react-spectrum/tabs@npm:3.8.18" + dependencies: + "@react-aria/focus": "npm:^3.20.1" + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/tabs": "npm:^3.10.1" + "@react-aria/utils": "npm:^3.28.1" + "@react-spectrum/picker": "npm:^3.15.7" + "@react-spectrum/text": "npm:^3.5.13" + "@react-spectrum/utils": "npm:^3.12.3" + "@react-stately/collections": "npm:^3.12.2" + "@react-stately/list": "npm:^3.12.0" + "@react-stately/tabs": "npm:^3.8.0" + "@react-types/select": "npm:^3.9.10" + "@react-types/shared": "npm:^3.28.0" + "@react-types/tabs": "npm:^3.3.13" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/bf86a2f1b638e71f1620d9e106426851ee4ce0ccbfd7e7f9bc0fa7549f6f385fefc7d431858cf26712cc708ce1ec0ee885a518824138a6440037d8bb69ea19d3 + languageName: node + linkType: hard + +"@react-spectrum/tag@npm:^3.2.14": + version: 3.2.14 + resolution: "@react-spectrum/tag@npm:3.2.14" + dependencies: + "@react-aria/focus": "npm:^3.20.1" + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/selection": "npm:^3.23.1" + "@react-aria/tag": "npm:^3.5.1" + "@react-aria/utils": "npm:^3.28.1" + "@react-spectrum/button": "npm:^3.16.12" + "@react-spectrum/form": "npm:^3.7.13" + "@react-spectrum/label": "npm:^3.16.13" + "@react-spectrum/text": "npm:^3.5.13" + "@react-spectrum/utils": "npm:^3.12.3" + "@react-stately/collections": "npm:^3.12.2" + "@react-stately/list": "npm:^3.12.0" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/b3470f6484cfbd63c67e3046f174f06aa8f675e7bb0873849cb98a89a51d73c321885b4be337581af971ff0350cbc80175b46543e98b1139c935bf7271dc5a56 + languageName: node + linkType: hard + +"@react-spectrum/text@npm:^3.5.13": + version: 3.5.13 + resolution: "@react-spectrum/text@npm:3.5.13" + dependencies: + "@react-aria/utils": "npm:^3.28.1" + "@react-spectrum/utils": "npm:^3.12.3" + "@react-types/shared": "npm:^3.28.0" + "@react-types/text": "npm:^3.3.15" + "@swc/helpers": "npm:^0.5.0" + react-aria-components: "npm:^1.7.1" + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/7a1ad8e0b765b87f9de7b6462a71478c0bbbdec6accac3eaafd9ab388dd5540c9288763e69c8d737586d86ff10dc65641133c1a8135b268cad0a6460854195c3 + languageName: node + linkType: hard + +"@react-spectrum/textfield@npm:^3.13.1": + version: 3.13.1 + resolution: "@react-spectrum/textfield@npm:3.13.1" + dependencies: + "@react-aria/focus": "npm:^3.20.1" + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/textfield": "npm:^3.17.1" + "@react-aria/utils": "npm:^3.28.1" + "@react-spectrum/form": "npm:^3.7.13" + "@react-spectrum/label": "npm:^3.16.13" + "@react-spectrum/utils": "npm:^3.12.3" + "@react-stately/utils": "npm:^3.10.5" + "@react-types/shared": "npm:^3.28.0" + "@react-types/textfield": "npm:^3.12.0" + "@spectrum-icons/ui": "npm:^3.6.14" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/3e8f2239c63dc3929699314844204717acb3e9d9269069d717410833f1d18b11b0cf31c92f691ca9645520decb77b4c2ca39556b5d2c829f50982437b235b7f9 + languageName: node + linkType: hard + +"@react-spectrum/theme-dark@npm:^3.5.16": + version: 3.5.16 + resolution: "@react-spectrum/theme-dark@npm:3.5.16" + dependencies: + "@react-types/provider": "npm:^3.8.7" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/313d26d54cb75ebc2a169d6d604b63a2ee541801c8d2f4288a8383c826a26191b9f9a83687be0d3d918255fd45fd70ad0cd04784671b564d0f3ed906219f90b6 + languageName: node + linkType: hard + +"@react-spectrum/theme-default@npm:^3.5.16": + version: 3.5.16 + resolution: "@react-spectrum/theme-default@npm:3.5.16" + dependencies: + "@react-types/provider": "npm:^3.8.7" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/1d1eea6322d3a8d4c06ddca61265a798000e6d1f008e05c52c5d52803aa6c2b888794010d4a4079d064c3272c6d1dadb199c51f30bf41a3546d50dadf0f98302 + languageName: node + linkType: hard + +"@react-spectrum/theme-light@npm:^3.4.16": + version: 3.4.16 + resolution: "@react-spectrum/theme-light@npm:3.4.16" + dependencies: + "@react-types/provider": "npm:^3.8.7" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/8e9da4a7e5b55e2fd2d4841e9a4022058e02bf87ccc5be86243550444a2d18efee011dd79b535b87d1a7599cfe4a37dcbc27909b1615172e475a586c13d9b23c + languageName: node + linkType: hard + +"@react-spectrum/toast@npm:^3.0.1": + version: 3.0.1 + resolution: "@react-spectrum/toast@npm:3.0.1" + dependencies: + "@react-aria/focus": "npm:^3.20.1" + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/overlays": "npm:^3.26.1" + "@react-aria/toast": "npm:^3.0.1" + "@react-aria/utils": "npm:^3.28.1" + "@react-spectrum/button": "npm:^3.16.12" + "@react-spectrum/utils": "npm:^3.12.3" + "@react-stately/toast": "npm:^3.0.0" + "@react-types/shared": "npm:^3.28.0" + "@spectrum-icons/ui": "npm:^3.6.14" + "@swc/helpers": "npm:^0.5.0" + use-sync-external-store: "npm:^1.4.0" + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/2490223b7a7a73a2509a82e0b419767999aaad90133b3063fb7c2f809baa95f7a1f35bb79ce4392758a0c22c40656dc74a4ffa78a5f1b6c57698cab92c92b997 + languageName: node + linkType: hard + +"@react-spectrum/tooltip@npm:^3.7.3": + version: 3.7.3 + resolution: "@react-spectrum/tooltip@npm:3.7.3" + dependencies: + "@react-aria/focus": "npm:^3.20.1" + "@react-aria/overlays": "npm:^3.26.1" + "@react-aria/tooltip": "npm:^3.8.1" + "@react-aria/utils": "npm:^3.28.1" + "@react-spectrum/overlays": "npm:^5.7.3" + "@react-spectrum/utils": "npm:^3.12.3" + "@react-stately/tooltip": "npm:^3.5.2" + "@react-types/overlays": "npm:^3.8.13" + "@react-types/shared": "npm:^3.28.0" + "@react-types/tooltip": "npm:^3.4.15" + "@spectrum-icons/ui": "npm:^3.6.14" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/8bf4301f03ed9dbc8be5c02b034b6a84c95e03bcdeef7d19a8d41badd4b32543f8661c566b998af56793529c08ae92b4963acdb06c7ccd583c4a4d16b6f33871 + languageName: node + linkType: hard + +"@react-spectrum/tree@npm:^3.0.1": + version: 3.0.1 + resolution: "@react-spectrum/tree@npm:3.0.1" + dependencies: + "@react-aria/button": "npm:^3.12.1" + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/tree": "npm:^3.0.1" + "@react-aria/utils": "npm:^3.28.1" + "@react-spectrum/checkbox": "npm:^3.9.14" + "@react-spectrum/text": "npm:^3.5.13" + "@react-spectrum/utils": "npm:^3.12.3" + "@react-types/shared": "npm:^3.28.0" + "@spectrum-icons/ui": "npm:^3.6.14" + "@swc/helpers": "npm:^0.5.0" + react-aria-components: "npm:^1.7.1" + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/b63f2becf4ff5befbfe7b966d6f9b4dd12bb39b70aabdab325a972ba8651da9a369dc9d5852dee7854f0a3d4c85b7d025d52597f470c98ca795cc5725a4eeac1 + languageName: node + linkType: hard + +"@react-spectrum/utils@npm:^3.12.3": + version: 3.12.3 + resolution: "@react-spectrum/utils@npm:3.12.3" + dependencies: + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/ssr": "npm:^3.9.7" + "@react-aria/utils": "npm:^3.28.1" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + clsx: "npm:^2.0.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/dfd08f71db5c07179cb8ddaafc2d0ef3bae22a04515e72daa4b48ed78811548c72f2f9e60cbdef9a167d6fe75c2910e6c89612b133c378ec2c74eda8404c270a + languageName: node + linkType: hard + +"@react-spectrum/view@npm:^3.6.17": + version: 3.6.17 + resolution: "@react-spectrum/view@npm:3.6.17" + dependencies: + "@react-aria/utils": "npm:^3.28.1" + "@react-spectrum/utils": "npm:^3.12.3" + "@react-types/shared": "npm:^3.28.0" + "@react-types/view": "npm:^3.4.15" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/2886244158864bb28d4b0c84314c6db085605b8f82c7c2cf18df0cad049f29a646e4ea1b97ac58123e52692e8618e1497ccbc4e3b8fa7841a790be3445a9c923 + languageName: node + linkType: hard + +"@react-spectrum/well@npm:^3.4.21": + version: 3.4.21 + resolution: "@react-spectrum/well@npm:3.4.21" + dependencies: + "@react-aria/utils": "npm:^3.28.1" + "@react-spectrum/utils": "npm:^3.12.3" + "@react-types/shared": "npm:^3.28.0" + "@react-types/well": "npm:^3.3.15" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/3443ad2c83a9c9b09a2893699356baae4dd02ae03e053325f3b7fcbc1fac44caf02bdfe5bc6b5e7a2dd7d1752445efe90a78d4af1f30fede60842be7351c8e82 + languageName: node + linkType: hard + +"@react-stately/autocomplete@npm:3.0.0-beta.0": + version: 3.0.0-beta.0 + resolution: "@react-stately/autocomplete@npm:3.0.0-beta.0" + dependencies: + "@react-stately/utils": "npm:^3.10.4" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/8a127ba8365b73ba383fc762fe9092053446d9eae9120ed49c972ea1df7fb048bb9ba729951bd8f60dd422458a591bf59cbbdaca1a14d3c8fec3a7be7c6a24c3 + languageName: node + linkType: hard + +"@react-stately/calendar@npm:^3.7.1": + version: 3.7.1 + resolution: "@react-stately/calendar@npm:3.7.1" + dependencies: + "@internationalized/date": "npm:^3.7.0" + "@react-stately/utils": "npm:^3.10.5" + "@react-types/calendar": "npm:^3.6.1" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/4151c8435e8aac82f579d8bed325409f01d81735aab08b2f34fbf576b86333e3a42d767b880f8a74f5914ce7558776c14177385971fb5bf312a00e7e9164e9f3 + languageName: node + linkType: hard + +"@react-stately/checkbox@npm:^3.6.12": + version: 3.6.12 + resolution: "@react-stately/checkbox@npm:3.6.12" + dependencies: + "@react-stately/form": "npm:^3.1.2" + "@react-stately/utils": "npm:^3.10.5" + "@react-types/checkbox": "npm:^3.9.2" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/b278e9d11773a1dd3a61f0fb0afcfdff7a27a0a64e442517f2cb0efbec14b3070d5a29b412ba7b81864d44f1afc90a7f6182992dfe5c2a9ce7985de78cfe6fc1 + languageName: node + linkType: hard + +"@react-stately/collections@npm:^3.12.2": + version: 3.12.2 + resolution: "@react-stately/collections@npm:3.12.2" + dependencies: + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/ac999a43f1d594abe8e65018ab3915918b8f8320d9ab210e61de4e98ad27ba188df96377d0c4934e266821c9c35310956020189ac33150243ce4721daf1a36a1 + languageName: node + linkType: hard + +"@react-stately/color@npm:^3.8.3": + version: 3.8.3 + resolution: "@react-stately/color@npm:3.8.3" + dependencies: + "@internationalized/number": "npm:^3.6.0" + "@internationalized/string": "npm:^3.2.5" + "@react-stately/form": "npm:^3.1.2" + "@react-stately/numberfield": "npm:^3.9.10" + "@react-stately/slider": "npm:^3.6.2" + "@react-stately/utils": "npm:^3.10.5" + "@react-types/color": "npm:^3.0.3" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/5a2bd21f090faf5acef41858a6632d55a1cf98d2411155b7c166841b63d4193b59320ba578377e48b27a0367246b69fd287bfe3f8c4fd5546c6d9c7e207c9f45 + languageName: node + linkType: hard + +"@react-stately/combobox@npm:^3.10.3": + version: 3.10.3 + resolution: "@react-stately/combobox@npm:3.10.3" + dependencies: + "@react-stately/collections": "npm:^3.12.2" + "@react-stately/form": "npm:^3.1.2" + "@react-stately/list": "npm:^3.12.0" + "@react-stately/overlays": "npm:^3.6.14" + "@react-stately/select": "npm:^3.6.11" + "@react-stately/utils": "npm:^3.10.5" + "@react-types/combobox": "npm:^3.13.3" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/f5ac99513daf27a27e0a2112051556afab1258b5cd58e5275df8c6e17c0fce7c2120d4167514d39d448d9c7a73bd3c80a7ca103bb631bff492796eebe6b6cae6 + languageName: node + linkType: hard + +"@react-stately/data@npm:^3.12.2": + version: 3.12.2 + resolution: "@react-stately/data@npm:3.12.2" + dependencies: + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/fd14082326203795019c0917d56fae587709178ffef2858d455bc17415ebbac74b406b57fe5909dbd8fb4bafeaeb38100669129b21153625aad91fe733f0f2ba + languageName: node + linkType: hard + +"@react-stately/datepicker@npm:^3.13.0": + version: 3.13.0 + resolution: "@react-stately/datepicker@npm:3.13.0" + dependencies: + "@internationalized/date": "npm:^3.7.0" + "@internationalized/string": "npm:^3.2.5" + "@react-stately/form": "npm:^3.1.2" + "@react-stately/overlays": "npm:^3.6.14" + "@react-stately/utils": "npm:^3.10.5" + "@react-types/datepicker": "npm:^3.11.0" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/37a4c30fb0bda06a36d94565cf1df69dfd5e29ab04bb245e58b0a660208a6629d32b6d36c220781edcf95784166c9c8172073291ea52d57a3320a7a9e75123e5 + languageName: node + linkType: hard + +"@react-stately/disclosure@npm:^3.0.2": + version: 3.0.2 + resolution: "@react-stately/disclosure@npm:3.0.2" + dependencies: + "@react-stately/utils": "npm:^3.10.5" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/5a6465b429400f633ec68090bf9ea8a3ff83c768a96ed8ee912ac12e68121cfcd42c758dd7ef44a87d18541de433caf9f877bdad1affd106b42882afe6092675 + languageName: node + linkType: hard + +"@react-stately/dnd@npm:^3.5.2": + version: 3.5.2 + resolution: "@react-stately/dnd@npm:3.5.2" + dependencies: + "@react-stately/selection": "npm:^3.20.0" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/ff9762dc41929532b3213c6995c9448f9ec4874e22b5d31197df9001118347d51c30ddbe5fbfb37830582d7f35c5323368afc35c47327d9d796073c57c011179 + languageName: node + linkType: hard + +"@react-stately/flags@npm:^3.1.0": + version: 3.1.0 + resolution: "@react-stately/flags@npm:3.1.0" + dependencies: + "@swc/helpers": "npm:^0.5.0" + checksum: 10c0/94508383e329d8340dbdaa6fdc82fe8227bf73335ca9651b4fdc7f8f0dc39fcdb6ecbf57fb8bc1722939b524e734344e18c76e9d9dbd380e850e87fa171d6960 + languageName: node + linkType: hard + +"@react-stately/form@npm:^3.1.2": + version: 3.1.2 + resolution: "@react-stately/form@npm:3.1.2" + dependencies: + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/29fd2680a81defe15c678c29fdb1006f265bf3413bc22b78f9d2b7b07afe0991a54d44aab872de1c0b9ac06d69e008dbe08f1f7b2c7bedb90967cda89961828f + languageName: node + linkType: hard + +"@react-stately/grid@npm:^3.11.0": + version: 3.11.0 + resolution: "@react-stately/grid@npm:3.11.0" + dependencies: + "@react-stately/collections": "npm:^3.12.2" + "@react-stately/selection": "npm:^3.20.0" + "@react-types/grid": "npm:^3.3.0" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/a25abb0df4252f377673bf751c4a23f4c1327fbc862099010b9d011a6925e9192f586668b8b4e53ce09e4edb724ae32486914d94521c64e93dbec5f7e4eb79af + languageName: node + linkType: hard + +"@react-stately/layout@npm:^4.2.1": + version: 4.2.1 + resolution: "@react-stately/layout@npm:4.2.1" + dependencies: + "@react-stately/collections": "npm:^3.12.2" + "@react-stately/table": "npm:^3.14.0" + "@react-stately/virtualizer": "npm:^4.3.1" + "@react-types/grid": "npm:^3.3.0" + "@react-types/shared": "npm:^3.28.0" + "@react-types/table": "npm:^3.11.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/76f01cea157ab782c8bb77bdafc4632bb18d79097f1e342ee1761a4f995ca4b4598d361ce7a8e817ef1c891c940d9fa944e813294e0e422f0a269553bfed7e81 + languageName: node + linkType: hard + +"@react-stately/list@npm:^3.12.0": + version: 3.12.0 + resolution: "@react-stately/list@npm:3.12.0" + dependencies: + "@react-stately/collections": "npm:^3.12.2" + "@react-stately/selection": "npm:^3.20.0" + "@react-stately/utils": "npm:^3.10.5" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/d2d14e31112643440d3e6c7cf33a6c84cc605a5a7854c744edaa780532a965c67dc05d9a43e4298e16ac5b69a1ea9da3d25c2d75e1341f6188d14970dafabf26 + languageName: node + linkType: hard + +"@react-stately/menu@npm:^3.9.2": + version: 3.9.2 + resolution: "@react-stately/menu@npm:3.9.2" + dependencies: + "@react-stately/overlays": "npm:^3.6.14" + "@react-types/menu": "npm:^3.9.15" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/51dc6516fb36f4427fe37ab12b4609f0c0792107579ee6ddfef0d69fc50fe752c9420ccb28995cdda9f10d9960f218bc07e9ab8433d3aa48be7e040e61967761 + languageName: node + linkType: hard + +"@react-stately/numberfield@npm:^3.9.10": + version: 3.9.10 + resolution: "@react-stately/numberfield@npm:3.9.10" + dependencies: + "@internationalized/number": "npm:^3.6.0" + "@react-stately/form": "npm:^3.1.2" + "@react-stately/utils": "npm:^3.10.5" + "@react-types/numberfield": "npm:^3.8.9" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/ad1d953a267f593339946f5996f2c687a51ce5b5d3bf10bae59ad86a25effed017b6b7651faa7a45a75d772d46caa0c7a264dedf8d9f5528ffa2f03411841e50 + languageName: node + linkType: hard + +"@react-stately/overlays@npm:^3.6.14": + version: 3.6.14 + resolution: "@react-stately/overlays@npm:3.6.14" + dependencies: + "@react-stately/utils": "npm:^3.10.5" + "@react-types/overlays": "npm:^3.8.13" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/f46caddcb164e94ecf85de57cf4657316ab8c2e28119a61ba226149a6c9df2fbbf60221b011068eb11ce6c89dc5f5e34b74ec7e72c0ca1bd49dbf018507dae8b + languageName: node + linkType: hard + +"@react-stately/radio@npm:^3.10.11": + version: 3.10.11 + resolution: "@react-stately/radio@npm:3.10.11" + dependencies: + "@react-stately/form": "npm:^3.1.2" + "@react-stately/utils": "npm:^3.10.5" + "@react-types/radio": "npm:^3.8.7" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/092bc0715b63170dd02f2f30bc8c8a64636bc1af337e1494a9cb981cdf0b258bc85287a5834456480178a845135e4dd03a910628134c2ac1676706176f79fbaf + languageName: node + linkType: hard + +"@react-stately/searchfield@npm:^3.5.10": + version: 3.5.10 + resolution: "@react-stately/searchfield@npm:3.5.10" + dependencies: + "@react-stately/utils": "npm:^3.10.5" + "@react-types/searchfield": "npm:^3.6.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/70ec5cf5903c858422f03b2a5dc7a810cc630fa450af7040eb62c5d491abd470aa6b5932ef6037dd1702c443f9d0aa522d6ea637d96b855d94d3145d7184c053 + languageName: node + linkType: hard + +"@react-stately/select@npm:^3.6.11": + version: 3.6.11 + resolution: "@react-stately/select@npm:3.6.11" + dependencies: + "@react-stately/form": "npm:^3.1.2" + "@react-stately/list": "npm:^3.12.0" + "@react-stately/overlays": "npm:^3.6.14" + "@react-types/select": "npm:^3.9.10" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/f825707b6a8d4e4bbea99098fcc8e495fcbd98d902722ba8b280280d9ade0566a3546941a5c46f8e844a55ff217f05c33a5da3761aa367fb2df8b600ceec5144 + languageName: node + linkType: hard + +"@react-stately/selection@npm:^3.20.0": + version: 3.20.0 + resolution: "@react-stately/selection@npm:3.20.0" + dependencies: + "@react-stately/collections": "npm:^3.12.2" + "@react-stately/utils": "npm:^3.10.5" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/fa0341db474d762ca89967e84cf97d289c37ba3a0ca70f9b5f174e3e8003e68207f1c3f8beb958a5a8da7888db69de8d587c0b23ded2de26f54e4949fff9a518 + languageName: node + linkType: hard + +"@react-stately/slider@npm:^3.6.2": + version: 3.6.2 + resolution: "@react-stately/slider@npm:3.6.2" + dependencies: + "@react-stately/utils": "npm:^3.10.5" + "@react-types/shared": "npm:^3.28.0" + "@react-types/slider": "npm:^3.7.9" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/fe7aba4b65fc42d52000821fc8fae4293665e7ce1ec2a57116a2dd49279e2a89058acfb4e095e83f34106c728caa7fd8eb5caccd4cf8b8e61346c03307208527 + languageName: node + linkType: hard + +"@react-stately/table@npm:^3.14.0": + version: 3.14.0 + resolution: "@react-stately/table@npm:3.14.0" + dependencies: + "@react-stately/collections": "npm:^3.12.2" + "@react-stately/flags": "npm:^3.1.0" + "@react-stately/grid": "npm:^3.11.0" + "@react-stately/selection": "npm:^3.20.0" + "@react-stately/utils": "npm:^3.10.5" + "@react-types/grid": "npm:^3.3.0" + "@react-types/shared": "npm:^3.28.0" + "@react-types/table": "npm:^3.11.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/6a96fde2838f49258b6368e3eac1bf1b09315b52a8323c5cb2374fa1e03fdc5021d15e631ab2ae72f1ceb42cf190da99e599a01e9b0f9e64425056979bcb893a + languageName: node + linkType: hard + +"@react-stately/tabs@npm:^3.8.0": + version: 3.8.0 + resolution: "@react-stately/tabs@npm:3.8.0" + dependencies: + "@react-stately/list": "npm:^3.12.0" + "@react-types/shared": "npm:^3.28.0" + "@react-types/tabs": "npm:^3.3.13" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/81fa764cf15aefe1e9b83cd3d5b984532dd33f2fb1d93a86d110249fdaad181d5ebeeae1d542a84ae8f6c465987d0e8ebc0d11f4d98607ed12ca8a6dd1df52e8 + languageName: node + linkType: hard + +"@react-stately/toast@npm:^3.0.0": + version: 3.0.0 + resolution: "@react-stately/toast@npm:3.0.0" + dependencies: + "@swc/helpers": "npm:^0.5.0" + use-sync-external-store: "npm:^1.4.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/437269f8210cf751e8530917b9fa7939889a1742adb1cd0eae32603a24cbf4ff9a7d4b79f2ce2b2c32a3d1bd392867af53d1fb510bfae1ff88939a3389f76076 + languageName: node + linkType: hard + +"@react-stately/toggle@npm:^3.8.2": + version: 3.8.2 + resolution: "@react-stately/toggle@npm:3.8.2" + dependencies: + "@react-stately/utils": "npm:^3.10.5" + "@react-types/checkbox": "npm:^3.9.2" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/a4d9c66d0be7fbdc2cc441df94d4f4263d4f2c49689b46401fb73c9604ced462d0955a6c56155b23b37001daaa3b34d1a2a3b5946fc3c4ef096311b97179c7f1 + languageName: node + linkType: hard + +"@react-stately/tooltip@npm:^3.5.2": + version: 3.5.2 + resolution: "@react-stately/tooltip@npm:3.5.2" + dependencies: + "@react-stately/overlays": "npm:^3.6.14" + "@react-types/tooltip": "npm:^3.4.15" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/ac7683fa99e263621ed30fcb7b51ef6c6d6ba13139796b3f06ae025483d636e190f2ddd006ec047febdf270e331575896203a0e6465032453d8d3d377fa195b8 + languageName: node + linkType: hard + +"@react-stately/tree@npm:^3.8.8": + version: 3.8.8 + resolution: "@react-stately/tree@npm:3.8.8" + dependencies: + "@react-stately/collections": "npm:^3.12.2" + "@react-stately/selection": "npm:^3.20.0" + "@react-stately/utils": "npm:^3.10.5" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/368e15d22d111b772c8fb38782506f309e73cfa8fcff1f81989d8932df727610f7e2bb09e2d775df15a2b3d06df2aa14dab9ab9dd01aeb3852205448185a2b0d + languageName: node + linkType: hard + +"@react-stately/utils@npm:^3.10.4, @react-stately/utils@npm:^3.10.5": + version: 3.10.5 + resolution: "@react-stately/utils@npm:3.10.5" + dependencies: + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/188500fef26361515d1a6c506ad347f68c82a1d61a13a09109080966a195e1cf97686991143e0d5684fd0b1a3c6a0a1e0149c92c0665bcc34c2026cd9730af1c + languageName: node + linkType: hard + +"@react-stately/virtualizer@npm:^4.3.1": + version: 4.3.1 + resolution: "@react-stately/virtualizer@npm:4.3.1" + dependencies: + "@react-aria/utils": "npm:^3.28.1" + "@react-types/shared": "npm:^3.28.0" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/85f7d0c737d015cd817415dd759828cd0a997f3e3bdcc3b4c6cb3bbf7955a9606b659dbe29824de6f460e9be858e28a4238d346339498597b10d97353ab63315 + languageName: node + linkType: hard + +"@react-types/actionbar@npm:^3.1.13": + version: 3.1.13 + resolution: "@react-types/actionbar@npm:3.1.13" + dependencies: + "@react-types/shared": "npm:^3.28.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/dfbe740b5d9ff65ffc13212f6bf9f9dece8c7a900608a46688171f0785a6feb8891a4755f6233f08258e7cb1b6cb28bc888b07b48e55bff01fa46ac3e493b180 + languageName: node + linkType: hard + +"@react-types/actiongroup@npm:^3.4.15": + version: 3.4.15 + resolution: "@react-types/actiongroup@npm:3.4.15" + dependencies: + "@react-types/shared": "npm:^3.28.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/2e79fa3d3b98181b1f91448af49e00f0c92a73b72a303e24b8343b8312ff5138497bc3862b6a7440080fc31b2859a402a55612087102a45675d9f39530cf6d0b + languageName: node + linkType: hard + +"@react-types/autocomplete@npm:3.0.0-alpha.29": + version: 3.0.0-alpha.29 + resolution: "@react-types/autocomplete@npm:3.0.0-alpha.29" + dependencies: + "@react-types/combobox": "npm:^3.13.3" + "@react-types/searchfield": "npm:^3.6.0" + "@react-types/shared": "npm:^3.28.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/3ebe256bc99586284cab626fa9385ed04ac07d90dde25797bf8272d93a862729fcb05f78ddf4a19147fcca47ce515b7fdf82b7b2f65ec44ea87039bc3a0fbcb5 + languageName: node + linkType: hard + +"@react-types/avatar@npm:^3.0.13": + version: 3.0.13 + resolution: "@react-types/avatar@npm:3.0.13" + dependencies: + "@react-types/shared": "npm:^3.28.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/a812c2276a8c2282320c3f05a83ffc9bb5bc939e6be284b848804a75bcc7fee8adf9fbf7a6f45b6c6430066240b0f487edb02e2fc9bd5f89d5d62bc569b9fb2f + languageName: node + linkType: hard + +"@react-types/badge@npm:^3.1.15": + version: 3.1.15 + resolution: "@react-types/badge@npm:3.1.15" + dependencies: + "@react-types/shared": "npm:^3.28.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/d9b144ba7936be95d11d538a54104100cba5715f7f66bf79d91766cacb4555bcc8e12530a67f1f79f8f6a01fd181ce391e7f9b1909f371934e5dd5bf883e3ccd + languageName: node + linkType: hard + +"@react-types/breadcrumbs@npm:^3.7.11": + version: 3.7.11 + resolution: "@react-types/breadcrumbs@npm:3.7.11" + dependencies: + "@react-types/link": "npm:^3.5.11" + "@react-types/shared": "npm:^3.28.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/ec09129e85a6bbcbd7d5abbd184a9ebc9e2eca79c9a99334dd6a5499548f53f1da9a6dd32e4e0f0a8d037627a00e3d0f0331899a482effd0ff9c4121f95a53dd + languageName: node + linkType: hard + +"@react-types/button@npm:^3.11.0": + version: 3.11.0 + resolution: "@react-types/button@npm:3.11.0" + dependencies: + "@react-types/shared": "npm:^3.28.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/d7a7ef366f9d001089dbe38116bae0dd896e3698d3fa297447ba3b3b37c051a5dfccbab1d2b67ddb3471b6a0ff4ef8773c7293b535d2ceb91527dadd2ee63f60 + languageName: node + linkType: hard + +"@react-types/buttongroup@npm:^3.3.15": + version: 3.3.15 + resolution: "@react-types/buttongroup@npm:3.3.15" + dependencies: + "@react-types/shared": "npm:^3.28.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/db42e7acc433bdaafcdb5087980fe9b4175949257ce5265ca3bfd7dbcbcb9d814b81533c71023de8be90841b614f7d127eaf6aff9734c10e7a167f1e54a01340 + languageName: node + linkType: hard + +"@react-types/calendar@npm:^3.6.1": + version: 3.6.1 + resolution: "@react-types/calendar@npm:3.6.1" + dependencies: + "@internationalized/date": "npm:^3.7.0" + "@react-types/shared": "npm:^3.28.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/296dcc46898e1b22bfce3d2fb5da7bce13007a007bfb3b547f60e6f1337f2ad6556b709ee20b7c85ff5737d9003b445be414433602ff50f6383aa47ce92561ba + languageName: node + linkType: hard + +"@react-types/checkbox@npm:^3.9.2": + version: 3.9.2 + resolution: "@react-types/checkbox@npm:3.9.2" + dependencies: + "@react-types/shared": "npm:^3.28.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/3b924f70eab5c656f889408a23d673f4f1167244bf1548f4c9622fdc1ff31ecd499ed5da0b3ff9225d0bd45ce4ec78f4bbfbf4d9103ea8b69e79447fea6c1f6f + languageName: node + linkType: hard + +"@react-types/color@npm:^3.0.3": + version: 3.0.3 + resolution: "@react-types/color@npm:3.0.3" + dependencies: + "@react-types/shared": "npm:^3.28.0" + "@react-types/slider": "npm:^3.7.9" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/21744c1812b3e7a82b391d8f9736971e60b4e4f3d1b8073674aadd2777afc9e41487cded6850edfd2026298db9a13f52a4bd784f19a17cc165bdc45262453388 + languageName: node + linkType: hard + +"@react-types/combobox@npm:^3.13.3": + version: 3.13.3 + resolution: "@react-types/combobox@npm:3.13.3" + dependencies: + "@react-types/shared": "npm:^3.28.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/ac0a65f54d9dbc817163cf2ecb365016ca0c2cefea290bbdcc3df7727a6088c8a6a2280adf18964dd00cfd3f8a7975deecae1d0202bb77b92362b93305c803e2 + languageName: node + linkType: hard + +"@react-types/contextualhelp@npm:^3.2.16": + version: 3.2.16 + resolution: "@react-types/contextualhelp@npm:3.2.16" + dependencies: + "@react-types/overlays": "npm:^3.8.13" + "@react-types/shared": "npm:^3.28.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/fa3f90073eca240950a2bf3e6f26bc53d228d140634d899e8493a34a7342bfed51dc1e201fe6eb98fecefa0243ad99cd8e175b06d95a892c52c160f728c21c01 + languageName: node + linkType: hard + +"@react-types/datepicker@npm:^3.11.0": + version: 3.11.0 + resolution: "@react-types/datepicker@npm:3.11.0" + dependencies: + "@internationalized/date": "npm:^3.7.0" + "@react-types/calendar": "npm:^3.6.1" + "@react-types/overlays": "npm:^3.8.13" + "@react-types/shared": "npm:^3.28.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/4a59c092417f42e256b2b8c80bd2d4a92962817c94a4ef98bdb15589856d28cdbefb697d52169623821e3f6c92c55e052ce872a826aed4035c92a78739d51e27 + languageName: node + linkType: hard + +"@react-types/dialog@npm:^3.5.16": + version: 3.5.16 + resolution: "@react-types/dialog@npm:3.5.16" + dependencies: + "@react-types/overlays": "npm:^3.8.13" + "@react-types/shared": "npm:^3.28.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/d407b27024f618307434c358a56ef56c84381ce298ad94a8b8846252ad2372cdc272f0bab1122449b40f839b7071593929f018cd9563cef39a5e9069a430dfc8 + languageName: node + linkType: hard + +"@react-types/divider@npm:^3.3.15": + version: 3.3.15 + resolution: "@react-types/divider@npm:3.3.15" + dependencies: + "@react-types/shared": "npm:^3.28.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/f5ecdbaa6b181e36302aba4449190f0527cd5e741b8ade01fd09d034504930f988cd8f1f3f94c2e3c79ebee5d974ead97c247a4fe9b0b94eefa25c2ca18d36df + languageName: node + linkType: hard + +"@react-types/form@npm:^3.7.10": + version: 3.7.10 + resolution: "@react-types/form@npm:3.7.10" + dependencies: + "@react-types/shared": "npm:^3.28.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/76ce5ebfbab6b30a2ca2d367106b6bcea30317dc144c196f7d48a59fa6393238e9ad3a798247c46ceb27c492ab67344efea18f886492ba863e092d14403416b7 + languageName: node + linkType: hard + +"@react-types/grid@npm:^3.3.0": + version: 3.3.0 + resolution: "@react-types/grid@npm:3.3.0" + dependencies: + "@react-types/shared": "npm:^3.28.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/b884bb114b92675b8ee66e0e7213eea2932cd0628af3dec5460d46e9cb692c54650e43aca5f33e12b6f242e83f18684f375c14c7df945fff75cf463858048ebf + languageName: node + linkType: hard + +"@react-types/illustratedmessage@npm:^3.3.15": + version: 3.3.15 + resolution: "@react-types/illustratedmessage@npm:3.3.15" + dependencies: + "@react-types/shared": "npm:^3.28.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/104871f93bd32f114dc853e85b9444c5c16ee39c9562bf4d91612bc1bf89d385f86e543a9e8bbb71caaf01ec40aa096657c1ac8d41f8425d76da6847c3232739 + languageName: node + linkType: hard + +"@react-types/image@npm:^3.4.7": + version: 3.4.7 + resolution: "@react-types/image@npm:3.4.7" + dependencies: + "@react-types/shared": "npm:^3.28.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/4d364c568983a9bb9fb6ba51b1043510262858ca48e431f1e3037f15dd62adb6e2083a6a9849dc4f80f6265b3e94df2efb3bdb00af9ff92e68b04a207e58a3b1 + languageName: node + linkType: hard + +"@react-types/label@npm:^3.9.9": + version: 3.9.9 + resolution: "@react-types/label@npm:3.9.9" + dependencies: + "@react-types/shared": "npm:^3.28.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/fba4697682619ddfcf9758bed9bc0709dce6753a24a4ababe497e6faa64a6ee183fd35ff5d144e572a203718e2dfe8f4b717fae05563dfd73133dc9f0adb5ba0 + languageName: node + linkType: hard + +"@react-types/layout@npm:^3.3.21": + version: 3.3.21 + resolution: "@react-types/layout@npm:3.3.21" + dependencies: + "@react-types/shared": "npm:^3.28.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/9f7b2fcf87abf402c88750353f9431612d866d4046a70c719d6b295c5fd69764801ec88403e3518ceb700c5d82d16de7253c4d81c2bd505d6a668dff1bd691b5 + languageName: node + linkType: hard + +"@react-types/link@npm:^3.5.11": + version: 3.5.11 + resolution: "@react-types/link@npm:3.5.11" + dependencies: + "@react-types/shared": "npm:^3.28.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/9dba4ad19841bde1f96193f4ee410a343a482a1d5ae5240cfe1d331a3cf7c0533ca8f428a695eaae413e0daba80aaa2ce3137052fb379327714fa3584f045816 + languageName: node + linkType: hard + +"@react-types/listbox@npm:^3.5.5": + version: 3.5.5 + resolution: "@react-types/listbox@npm:3.5.5" + dependencies: + "@react-types/shared": "npm:^3.28.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/f1a3d97fb2480bc723c93ea2b772264b00cca9083eac9ec4231d70ff9a71876e2169f0cb1f39d356bb3c1abb885d5d45f4005359acfaf7a4da89aeb73dd24616 + languageName: node + linkType: hard + +"@react-types/menu@npm:^3.9.15": + version: 3.9.15 + resolution: "@react-types/menu@npm:3.9.15" + dependencies: + "@react-types/overlays": "npm:^3.8.13" + "@react-types/shared": "npm:^3.28.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/082a572f57eaf053336ef10ed705c5cde618415dc4d4f84c30697ec199fae6dcbdeca64ceac336694900b0be39a02472239ec28f4fd5b922775ddc13295f755f + languageName: node + linkType: hard + +"@react-types/meter@npm:^3.4.7": + version: 3.4.7 + resolution: "@react-types/meter@npm:3.4.7" + dependencies: + "@react-types/progress": "npm:^3.5.10" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/e7f0fc19384c163cff41ad109c7d7fb688b7780622394b7ea7125a27f8549fdcb111f5a447e0df14ba1114b17045bd7a98baac23dfe4548271237d3c1f31fbd1 + languageName: node + linkType: hard + +"@react-types/numberfield@npm:^3.8.9": + version: 3.8.9 + resolution: "@react-types/numberfield@npm:3.8.9" + dependencies: + "@react-types/shared": "npm:^3.28.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/944da3d7210df0175390a0b9f3c6803840d39def220346d6a1fd8f50f3a1165ab32fca891fbe3b193754d0d5aab0df46df37514e25d17335b45c102f9e29e389 + languageName: node + linkType: hard + +"@react-types/overlays@npm:^3.8.13": + version: 3.8.13 + resolution: "@react-types/overlays@npm:3.8.13" + dependencies: + "@react-types/shared": "npm:^3.28.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/ea8b3f1497c5f668b2fa23a411940693e18ead6619e13da549361246c3778a8062d0131ffabea8873bcfd74815a9db6c7a014360b4850c5a2272d8fdd1f4486b + languageName: node + linkType: hard + +"@react-types/progress@npm:^3.5.10": + version: 3.5.10 + resolution: "@react-types/progress@npm:3.5.10" + dependencies: + "@react-types/shared": "npm:^3.28.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/0a949b8e04870f1c12d7bf254b138d6fe6096b5051e31c592c2da013432ac85438b4565df1447331eac65e44431245fa801b30ccc0d941c0bcf4899595832df2 + languageName: node + linkType: hard + +"@react-types/provider@npm:^3.8.7": + version: 3.8.7 + resolution: "@react-types/provider@npm:3.8.7" + dependencies: + "@react-types/shared": "npm:^3.28.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/3df5d1a8ff0d5342ce85bd4530bbd83b00dd6fdf81c7680c8d0a4c25b0f8c99962dcef671b0e0a3b4b123f6a40837bda2056d7c1cb123a8843305c4fb25e95d9 + languageName: node + linkType: hard + +"@react-types/radio@npm:^3.8.7": + version: 3.8.7 + resolution: "@react-types/radio@npm:3.8.7" + dependencies: + "@react-types/shared": "npm:^3.28.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/991a674d1e7fe2848b035c17a9ad9568ee615bbd7a06a466934dfbbe067e85a0d4d26a0323a5b2464c0c0e28ac9d462b7b71e937779ae07eb76853428ee1b136 + languageName: node + linkType: hard + +"@react-types/searchfield@npm:^3.6.0": + version: 3.6.0 + resolution: "@react-types/searchfield@npm:3.6.0" + dependencies: + "@react-types/shared": "npm:^3.28.0" + "@react-types/textfield": "npm:^3.12.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/f8df1dd04656162e0bcf062f96ef36371e9e1ba7faa1cce1bf46a3d39cd7fbe9ed6893aa4d65e65d85fe923dd619f3804643d0d9ea54ea276ac88dac52c47381 + languageName: node + linkType: hard + +"@react-types/select@npm:^3.9.10": + version: 3.9.10 + resolution: "@react-types/select@npm:3.9.10" + dependencies: + "@react-types/shared": "npm:^3.28.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/76747ea6f55cb36374bde98d0a1349eb73c3068c13437cd97e680feae83d8b17c6184b02ee5ace7026afb575667ad6873e0649c9c24200631bbae42a2480ca31 + languageName: node + linkType: hard + +"@react-types/shared@npm:^3.28.0": + version: 3.28.0 + resolution: "@react-types/shared@npm:3.28.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/d5dbba060c9b3204bb6d6db1fec4c7d8b56a185ce000fe0676a136b07a2655885a9db3cd3e6b30564f1761bf91de12fb36ba869bc90152c865bebec8ce8e3b0a + languageName: node + linkType: hard + +"@react-types/slider@npm:^3.7.9": + version: 3.7.9 + resolution: "@react-types/slider@npm:3.7.9" + dependencies: + "@react-types/shared": "npm:^3.28.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/52e88969056ebd7c7b741fe5c8d3db1eaebcd719f6ecf86e684b8d78f170d2f01ad4ef670646bfc2a86859609ed84b1f41d9ca4c1c3e92d470a701e56314ca69 + languageName: node + linkType: hard + +"@react-types/statuslight@npm:^3.3.15": + version: 3.3.15 + resolution: "@react-types/statuslight@npm:3.3.15" + dependencies: + "@react-types/shared": "npm:^3.28.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/342cc3275ee7821e338b7459d3abb7bccd713928ae7ae38fac909647f5064dad4bc8247e3f747b97f708e3e05c264f0d6e6fd243deb79087b46e109d31574b74 + languageName: node + linkType: hard + +"@react-types/switch@npm:^3.5.9": + version: 3.5.9 + resolution: "@react-types/switch@npm:3.5.9" + dependencies: + "@react-types/shared": "npm:^3.28.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/edb6f96453592ccb62ab3776a58717a84af30fbab1bc40bfb9f9925724024e55eede4652e0d373e8039bfeb42f05296877b0338598b99773922d9387df390ad2 + languageName: node + linkType: hard + +"@react-types/table@npm:^3.11.0": + version: 3.11.0 + resolution: "@react-types/table@npm:3.11.0" + dependencies: + "@react-types/grid": "npm:^3.3.0" + "@react-types/shared": "npm:^3.28.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/0cc6dffb7ec405e7d9934caaeabc4f543c7537d088261d26bafce40c04f4a0c7e48eead8d613dad9f5831b02a71c1bdbcb9377ef43708637e775fdff26d67abc + languageName: node + linkType: hard + +"@react-types/tabs@npm:^3.3.13": + version: 3.3.13 + resolution: "@react-types/tabs@npm:3.3.13" + dependencies: + "@react-types/shared": "npm:^3.28.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/dba8bf3281e6d6a5dd417aac2cfa6ef976ef42263d00e452fe4704577b7baaa641853e1194c088cec2e1df359df97b768a4892c30bbc1da3ea1c0735905f4c76 + languageName: node + linkType: hard + +"@react-types/text@npm:^3.3.15": + version: 3.3.15 + resolution: "@react-types/text@npm:3.3.15" + dependencies: + "@react-types/shared": "npm:^3.28.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/dde2a8d292e3c9aa60cbaefbe8a7f0150c1c27a0e62241aca0c4d055e70f0f5a4af158010be89c650a40155a4b7413654d70bcbbabc5e4936fe6af4900027226 + languageName: node + linkType: hard + +"@react-types/textfield@npm:^3.12.0": + version: 3.12.0 + resolution: "@react-types/textfield@npm:3.12.0" + dependencies: + "@react-types/shared": "npm:^3.28.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/331944ef963cdc62147215db65f9e002382e1e62aae19f1626088162e9e6d12e328aface7d2808baa2489e1cceb3c122636dae082fc2d1b5127260d81079bc5d + languageName: node + linkType: hard + +"@react-types/tooltip@npm:^3.4.15": + version: 3.4.15 + resolution: "@react-types/tooltip@npm:3.4.15" + dependencies: + "@react-types/overlays": "npm:^3.8.13" + "@react-types/shared": "npm:^3.28.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/53bfc90d32627ab8f03cf006a967e85c2c76b3023ce698bd9446bd52f8b94f65d97177a682001a35e1ab1b9cb1c885171fde581d4536b6818fd350dc39d755ca + languageName: node + linkType: hard + +"@react-types/view@npm:^3.4.15": + version: 3.4.15 + resolution: "@react-types/view@npm:3.4.15" + dependencies: + "@react-types/shared": "npm:^3.28.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/79659028ced06e5e95881d8b0e5efff4832aaf830758aedbde67bfcfe891d7232e7962be665ae994a94f6e0f185d8332e2091d9eb03785bc8794fdf529f497fb + languageName: node + linkType: hard + +"@react-types/well@npm:^3.3.15": + version: 3.3.15 + resolution: "@react-types/well@npm:3.3.15" + dependencies: + "@react-types/shared": "npm:^3.28.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/488ca1cb141c5b2d0d705b46769e66ac78a50cae2107747694a5029ee37b8d525ffeca1ddd33228cefd4056504856b4a54e5b996ddb1458829ddb7d57f62bde3 + languageName: node + linkType: hard + +"@rollup/pluginutils@npm:^5.0.2, @rollup/pluginutils@npm:^5.1.3": + version: 5.1.4 + resolution: "@rollup/pluginutils@npm:5.1.4" + dependencies: + "@types/estree": "npm:^1.0.0" + estree-walker: "npm:^2.0.2" + picomatch: "npm:^4.0.2" + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + checksum: 10c0/6d58fbc6f1024eb4b087bc9bf59a1d655a8056a60c0b4021d3beaeec3f0743503f52467fd89d2cf0e7eccf2831feb40a05ad541a17637ea21ba10b21c2004deb + languageName: node + linkType: hard + +"@rollup/rollup-android-arm-eabi@npm:4.22.4": + version: 4.22.4 + resolution: "@rollup/rollup-android-arm-eabi@npm:4.22.4" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@rollup/rollup-android-arm64@npm:4.22.4": + version: 4.22.4 + resolution: "@rollup/rollup-android-arm64@npm:4.22.4" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-darwin-arm64@npm:4.22.4": + version: 4.22.4 + resolution: "@rollup/rollup-darwin-arm64@npm:4.22.4" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-darwin-x64@npm:4.22.4": + version: 4.22.4 + resolution: "@rollup/rollup-darwin-x64@npm:4.22.4" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm-gnueabihf@npm:4.22.4": + version: 4.22.4 + resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.22.4" + conditions: os=linux & cpu=arm & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm-musleabihf@npm:4.22.4": + version: 4.22.4 + resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.22.4" + conditions: os=linux & cpu=arm & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm64-gnu@npm:4.22.4": + version: 4.22.4 + resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.22.4" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm64-musl@npm:4.22.4": + version: 4.22.4 + resolution: "@rollup/rollup-linux-arm64-musl@npm:4.22.4" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-powerpc64le-gnu@npm:4.22.4": + version: 4.22.4 + resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.22.4" + conditions: os=linux & cpu=ppc64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-riscv64-gnu@npm:4.22.4": + version: 4.22.4 + resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.22.4" + conditions: os=linux & cpu=riscv64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-s390x-gnu@npm:4.22.4": + version: 4.22.4 + resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.22.4" + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-x64-gnu@npm:4.22.4": + version: 4.22.4 + resolution: "@rollup/rollup-linux-x64-gnu@npm:4.22.4" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-x64-musl@npm:4.22.4": + version: 4.22.4 + resolution: "@rollup/rollup-linux-x64-musl@npm:4.22.4" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-win32-arm64-msvc@npm:4.22.4": + version: 4.22.4 + resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.22.4" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-win32-ia32-msvc@npm:4.22.4": + version: 4.22.4 + resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.22.4" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@rollup/rollup-win32-x64-msvc@npm:4.22.4": + version: 4.22.4 + resolution: "@rollup/rollup-win32-x64-msvc@npm:4.22.4" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@sideway/address@npm:^4.1.5": + version: 4.1.5 + resolution: "@sideway/address@npm:4.1.5" + dependencies: + "@hapi/hoek": "npm:^9.0.0" + checksum: 10c0/638eb6f7e7dba209053dd6c8da74d7cc995e2b791b97644d0303a7dd3119263bcb7225a4f6804d4db2bc4f96e5a9d262975a014f58eae4d1753c27cbc96ef959 + languageName: node + linkType: hard + +"@sideway/formula@npm:^3.0.1": + version: 3.0.1 + resolution: "@sideway/formula@npm:3.0.1" + checksum: 10c0/3fe81fa9662efc076bf41612b060eb9b02e846ea4bea5bd114f1662b7f1541e9dedcf98aff0d24400bcb92f113964a50e0290b86e284edbdf6346fa9b7e2bf2c + languageName: node + linkType: hard + +"@sideway/pinpoint@npm:^2.0.0": + version: 2.0.0 + resolution: "@sideway/pinpoint@npm:2.0.0" + checksum: 10c0/d2ca75dacaf69b8fc0bb8916a204e01def3105ee44d8be16c355e5f58189eb94039e15ce831f3d544f229889ccfa35562a0ce2516179f3a7ee1bbe0b71e55b36 + languageName: node + linkType: hard + +"@sinclair/typebox@npm:^0.27.8": + version: 0.27.8 + resolution: "@sinclair/typebox@npm:0.27.8" + checksum: 10c0/ef6351ae073c45c2ac89494dbb3e1f87cc60a93ce4cde797b782812b6f97da0d620ae81973f104b43c9b7eaa789ad20ba4f6a1359f1cc62f63729a55a7d22d4e + languageName: node + linkType: hard + +"@sindresorhus/is@npm:^4.6.0": + version: 4.6.0 + resolution: "@sindresorhus/is@npm:4.6.0" + checksum: 10c0/33b6fb1d0834ec8dd7689ddc0e2781c2bfd8b9c4e4bacbcb14111e0ae00621f2c264b8a7d36541799d74888b5dccdf422a891a5cb5a709ace26325eedc81e22e + languageName: node + linkType: hard + +"@sindresorhus/merge-streams@npm:^2.1.0": + version: 2.3.0 + resolution: "@sindresorhus/merge-streams@npm:2.3.0" + checksum: 10c0/69ee906f3125fb2c6bb6ec5cdd84e8827d93b49b3892bce8b62267116cc7e197b5cccf20c160a1d32c26014ecd14470a72a5e3ee37a58f1d6dadc0db1ccf3894 + languageName: node + linkType: hard + +"@sinonjs/commons@npm:^3.0.0": + version: 3.0.1 + resolution: "@sinonjs/commons@npm:3.0.1" + dependencies: + type-detect: "npm:4.0.8" + checksum: 10c0/1227a7b5bd6c6f9584274db996d7f8cee2c8c350534b9d0141fc662eaf1f292ea0ae3ed19e5e5271c8fd390d27e492ca2803acd31a1978be2cdc6be0da711403 + languageName: node + linkType: hard + +"@sinonjs/fake-timers@npm:^10.0.2": + version: 10.3.0 + resolution: "@sinonjs/fake-timers@npm:10.3.0" + dependencies: + "@sinonjs/commons": "npm:^3.0.0" + checksum: 10c0/2e2fb6cc57f227912814085b7b01fede050cd4746ea8d49a1e44d5a0e56a804663b0340ae2f11af7559ea9bf4d087a11f2f646197a660ea3cb04e19efc04aa63 + languageName: node + linkType: hard + +"@spectrum-css/accordion@npm:7.1.0, @spectrum-css/accordion@workspace:components/accordion": + version: 0.0.0-use.local + resolution: "@spectrum-css/accordion@workspace:components/accordion" + dependencies: + "@spectrum-css/icon": "npm:9.1.0" + "@spectrum-css/tokens": "npm:16.0.1" + peerDependencies: + "@spectrum-css/icon": ">=9.0.0 <10.0.0" + "@spectrum-css/tokens": ">=16.0.0 <17.0.0" + peerDependenciesMeta: + "@spectrum-css/icon": + optional: true "@spectrum-css/tokens": optional: true languageName: unknown @@ -5097,13 +8497,14 @@ __metadata: resolution: "@spectrum-css/preview@workspace:.storybook" dependencies: "@adobe/spectrum-css-workflow-icons": "npm:^1.5.4" - "@babel/core": "npm:^7.26.0" + "@babel/core": "npm:^7.26.10" "@chromatic-com/storybook": "npm:^3.2.3" "@etchteam/storybook-addon-status": "npm:^5.0.0" "@spectrum-css/bundle": "npm:1.0.1" "@spectrum-css/tokens": "npm:16.0.1" "@spectrum-css/tokens-legacy": "npm:@spectrum-css/tokens@^15.0.0" "@spectrum-css/ui-icons": "npm:1.1.2" + "@spectrum-tools/storybook-addon-custom-properties": "npm:0.0.0" "@storybook/addon-a11y": "npm:8.4.7" "@storybook/addon-actions": "npm:8.4.7" "@storybook/addon-designs": "npm:^8.2.1" @@ -5120,7 +8521,7 @@ __metadata: "@storybook/theming": "npm:8.4.7" "@storybook/web-components-vite": "npm:8.4.7" "@whitespace/storybook-addon-html": "npm:^6.1.1" - chromatic: "npm:^11.22.2" + chromatic: "npm:^11.27.0" lit: "npm:^3.2.1" lodash-es: "npm:^4.17.21" npm-registry-fetch: "npm:^18.0.2" @@ -5132,7 +8533,7 @@ __metadata: remark-gfm: "npm:^4.0.0" rollup-plugin-postcss-lit: "npm:^2.1.0" storybook: "npm:8.4.7" - vite: "npm:^5.4.11" + vite: "npm:^5.4.14" languageName: unknown linkType: soft @@ -5682,6 +9083,34 @@ __metadata: languageName: unknown linkType: soft +"@spectrum-icons/ui@npm:^3.6.14": + version: 3.6.14 + resolution: "@spectrum-icons/ui@npm:3.6.14" + dependencies: + "@adobe/react-spectrum-ui": "npm:1.2.1" + "@react-spectrum/icon": "npm:^3.8.3" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/d733803e4a6be4de32f4e2643b35b921cb0ae4640b90b0fbc9d0d87d45875872f4094cafa3ca3caf3607e69ec51a2b2dc05d6f166f2e07def5488f445af080e1 + languageName: node + linkType: hard + +"@spectrum-icons/workflow@npm:^4.2.19": + version: 4.2.19 + resolution: "@spectrum-icons/workflow@npm:4.2.19" + dependencies: + "@adobe/react-spectrum-workflow": "npm:2.3.5" + "@react-spectrum/icon": "npm:^3.8.3" + "@swc/helpers": "npm:^0.5.0" + peerDependencies: + "@react-spectrum/provider": ^3.0.0 + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/3e0bcd1b9bb44e63fbe4b38d326d0f7e2d214af9c29d018d0ba3e3bfc6a04317219d77666ccfa63f86e2ab558648328dedef7a9b7fb96a1ed0c8dadb404412f0 + languageName: node + linkType: hard + "@spectrum-tools/gh-action-file-diff@workspace:.github/actions/file-diff": version: 0.0.0-use.local resolution: "@spectrum-tools/gh-action-file-diff@workspace:.github/actions/file-diff" @@ -5734,6 +9163,34 @@ __metadata: languageName: unknown linkType: soft +"@spectrum-tools/storybook-addon-custom-properties@npm:0.0.0, @spectrum-tools/storybook-addon-custom-properties@workspace:plugins/storybook-addon-custom-properties": + version: 0.0.0-use.local + resolution: "@spectrum-tools/storybook-addon-custom-properties@workspace:plugins/storybook-addon-custom-properties" + dependencies: + "@adobe/react-spectrum": "npm:^3.40.1" + "@react-spectrum/s2": "npm:^0.7.1" + ava: "npm:^6.2.0" + c8: "npm:^10.1.3" + es-toolkit: "npm:^1.33.0" + postcss: "npm:^8.5.3" + postcss-selector-parser: "npm:^6.1.2" + peerDependencies: + "@storybook/addon-docs": ">=8.2 <9" + "@storybook/blocks": ">=8.2 <9" + "@storybook/components": ">=8.2 <9" + "@storybook/manager-api": ">=8.2 <9" + "@storybook/theming": ">=8.2 <9" + react: ">=18.2" + react-dom: ">=18.2" + storybook: ">=8.2 <9" + peerDependenciesMeta: + react: + optional: true + react-dom: + optional: true + languageName: unknown + linkType: soft + "@spectrum-tools/stylelint-no-missing-var@workspace:plugins/stylelint-no-missing-var": version: 0.0.0-use.local resolution: "@spectrum-tools/stylelint-no-missing-var@workspace:plugins/stylelint-no-missing-var" @@ -6343,6 +9800,15 @@ __metadata: languageName: node linkType: hard +"@swc/helpers@npm:^0.5.0": + version: 0.5.15 + resolution: "@swc/helpers@npm:0.5.15" + dependencies: + tslib: "npm:^2.8.0" + checksum: 10c0/33002f74f6f885f04c132960835fdfc474186983ea567606db62e86acd0680ca82f34647e8e610f4e1e422d1c16fce729dde22cd3b797ab1fd9061a825dabca4 + languageName: node + linkType: hard + "@swc/jest@npm:^0.2.23": version: 0.2.37 resolution: "@swc/jest@npm:0.2.37" @@ -6804,12 +10270,12 @@ __metadata: languageName: node linkType: hard -"@yarnpkg/types@npm:^4.0.0": - version: 4.0.0 - resolution: "@yarnpkg/types@npm:4.0.0" +"@yarnpkg/types@npm:^4.0.1": + version: 4.0.1 + resolution: "@yarnpkg/types@npm:4.0.1" dependencies: tslib: "npm:^2.4.0" - checksum: 10c0/41f67a4aa5c414c1e228f51453451fa15e0dd70c5cf2b1ae1ca142a3f018f25e4a37e60372cd0f5970c755e1804a2e31e208bff427add1cf13f899b0b9adc1e0 + checksum: 10c0/90226789475680ba599833571dd76c0718dd5b4c5022481263ef309d6a628f6246671cd6ca86e49c966ddefa7aca6ccef82240dc1476d2cea702ea5bee2a6b72 languageName: node linkType: hard @@ -6945,6 +10411,15 @@ __metadata: languageName: node linkType: hard +"acorn@npm:^8.14.0": + version: 8.14.1 + resolution: "acorn@npm:8.14.1" + bin: + acorn: bin/acorn + checksum: 10c0/dbd36c1ed1d2fa3550140000371fcf721578095b18777b85a79df231ca093b08edc6858d75d6e48c73e431c174dcf9214edbd7e6fa5911b93bd8abfa54e47123 + languageName: node + linkType: hard + "acorn@npm:^8.5.0, acorn@npm:^8.6.0, acorn@npm:^8.9.0": version: 8.11.3 resolution: "acorn@npm:8.11.3" @@ -7296,6 +10771,20 @@ __metadata: languageName: node linkType: hard +"array-includes@npm:^3.1.6, array-includes@npm:^3.1.8": + version: 3.1.8 + resolution: "array-includes@npm:3.1.8" + dependencies: + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.2" + es-object-atoms: "npm:^1.0.0" + get-intrinsic: "npm:^1.2.4" + is-string: "npm:^1.0.7" + checksum: 10c0/5b1004d203e85873b96ddc493f090c9672fd6c80d7a60b798da8a14bff8a670ff95db5aafc9abc14a211943f05220dacf8ea17638ae0af1a6a47b8c0b48ce370 + languageName: node + linkType: hard + "array-slice@npm:^1.0.0": version: 1.1.0 resolution: "array-slice@npm:1.1.0" @@ -7310,6 +10799,44 @@ __metadata: languageName: node linkType: hard +"array.prototype.findlast@npm:^1.2.5": + version: 1.2.5 + resolution: "array.prototype.findlast@npm:1.2.5" + dependencies: + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.2" + es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.0.0" + es-shim-unscopables: "npm:^1.0.2" + checksum: 10c0/ddc952b829145ab45411b9d6adcb51a8c17c76bf89c9dd64b52d5dffa65d033da8c076ed2e17091779e83bc892b9848188d7b4b33453c5565e65a92863cb2775 + languageName: node + linkType: hard + +"array.prototype.flat@npm:^1.3.1": + version: 1.3.3 + resolution: "array.prototype.flat@npm:1.3.3" + dependencies: + call-bind: "npm:^1.0.8" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.5" + es-shim-unscopables: "npm:^1.0.2" + checksum: 10c0/d90e04dfbc43bb96b3d2248576753d1fb2298d2d972e29ca7ad5ec621f0d9e16ff8074dae647eac4f31f4fb7d3f561a7ac005fb01a71f51705a13b5af06a7d8a + languageName: node + linkType: hard + +"array.prototype.flatmap@npm:^1.3.3": + version: 1.3.3 + resolution: "array.prototype.flatmap@npm:1.3.3" + dependencies: + call-bind: "npm:^1.0.8" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.5" + es-shim-unscopables: "npm:^1.0.2" + checksum: 10c0/ba899ea22b9dc9bf276e773e98ac84638ed5e0236de06f13d63a90b18ca9e0ec7c97d622d899796e3773930b946cd2413d098656c0c5d8cc58c6f25c21e6bd54 + languageName: node + linkType: hard + "array.prototype.reduce@npm:^1.0.6": version: 1.0.7 resolution: "array.prototype.reduce@npm:1.0.7" @@ -7325,6 +10852,19 @@ __metadata: languageName: node linkType: hard +"array.prototype.tosorted@npm:^1.1.4": + version: 1.1.4 + resolution: "array.prototype.tosorted@npm:1.1.4" + dependencies: + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.3" + es-errors: "npm:^1.3.0" + es-shim-unscopables: "npm:^1.0.2" + checksum: 10c0/eb3c4c4fc0381b0bf6dba2ea4d48d367c2827a0d4236a5718d97caaccc6b78f11f4cadf090736e86301d295a6aa4967ed45568f92ced51be8cbbacd9ca410943 + languageName: node + linkType: hard + "arraybuffer.prototype.slice@npm:^1.0.4": version: 1.0.4 resolution: "arraybuffer.prototype.slice@npm:1.0.4" @@ -8030,7 +11570,7 @@ __metadata: languageName: node linkType: hard -"call-bind@npm:^1.0.2, call-bind@npm:^1.0.7": +"call-bind@npm:^1.0.2, call-bind@npm:^1.0.5, call-bind@npm:^1.0.6, call-bind@npm:^1.0.7": version: 1.0.7 resolution: "call-bind@npm:1.0.7" dependencies: @@ -8103,13 +11643,27 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.0, caniuse-lite@npm:^1.0.30001646, caniuse-lite@npm:^1.0.30001669, caniuse-lite@npm:^1.0.30001688, caniuse-lite@npm:^1.0.30001702": +"caniuse-lite@npm:^1.0.0, caniuse-lite@npm:^1.0.30001688, caniuse-lite@npm:^1.0.30001702": version: 1.0.30001703 resolution: "caniuse-lite@npm:1.0.30001703" checksum: 10c0/ed88e318da28e9e59c4ac3a2e3c42859558b7b713aebf03696a1f916e4ed4b70734dda82be04635e2b62ec355b8639bbed829b7b12ff528d7f9cc31a3a5bea91 languageName: node linkType: hard +"caniuse-lite@npm:^1.0.30001646": + version: 1.0.30001660 + resolution: "caniuse-lite@npm:1.0.30001660" + checksum: 10c0/d28900b56c597176d515c3175ca75c454f2d30cb2c09a44d7bdb009bb0c4d8a2557905adb77642889bbe9feb85fbfe9d974c8b8e53521fb4b50ee16ab246104e + languageName: node + linkType: hard + +"caniuse-lite@npm:^1.0.30001669": + version: 1.0.30001673 + resolution: "caniuse-lite@npm:1.0.30001673" + checksum: 10c0/0e73a2b0f06973052e563dec9990a6fd440d510fa2ff54fa50310e736abb86e96c96b43c10e609fc22f2109f98fe76428b70441baf6b1a49f69ccf50c1879f6b + languageName: node + linkType: hard + "capital-case@npm:^1.0.4": version: 1.0.4 resolution: "capital-case@npm:1.0.4" @@ -8427,7 +11981,7 @@ __metadata: languageName: node linkType: hard -"chromatic@npm:^11.15.0": +"chromatic@npm:^11.15.0, chromatic@npm:^11.27.0": version: 11.27.0 resolution: "chromatic@npm:11.27.0" peerDependencies: @@ -8446,25 +12000,6 @@ __metadata: languageName: node linkType: hard -"chromatic@npm:^11.22.2": - version: 11.22.2 - resolution: "chromatic@npm:11.22.2" - peerDependencies: - "@chromatic-com/cypress": ^0.*.* || ^1.0.0 - "@chromatic-com/playwright": ^0.*.* || ^1.0.0 - peerDependenciesMeta: - "@chromatic-com/cypress": - optional: true - "@chromatic-com/playwright": - optional: true - bin: - chroma: dist/bin.js - chromatic: dist/bin.js - chromatic-cli: dist/bin.js - checksum: 10c0/29b9afa333e83a1e04434030a948cb175c22de8b5908915d0507644aeaa3a5fe127ef7e5d0da6c53f48cc3d3d615325ff53da09cc471567b48187bf6336a68f9 - languageName: node - linkType: hard - "chunkd@npm:^2.0.1": version: 2.0.1 resolution: "chunkd@npm:2.0.1" @@ -8574,6 +12109,13 @@ __metadata: languageName: node linkType: hard +"client-only@npm:^0.0.1": + version: 0.0.1 + resolution: "client-only@npm:0.0.1" + checksum: 10c0/9d6cfd0c19e1c96a434605added99dff48482152af791ec4172fb912a71cff9027ff174efd8cdb2160cc7f377543e0537ffc462d4f279bc4701de3f2a3c4b358 + languageName: node + linkType: hard + "cliui@npm:^6.0.0": version: 6.0.0 resolution: "cliui@npm:6.0.0" @@ -8603,6 +12145,13 @@ __metadata: languageName: node linkType: hard +"clsx@npm:^2.0.0": + version: 2.1.1 + resolution: "clsx@npm:2.1.1" + checksum: 10c0/c4c8eb865f8c82baab07e71bfa8897c73454881c4f99d6bc81585aecd7c441746c1399d08363dc096c550cceaf97bd4ce1e8854e1771e9998d9f94c4fe075839 + languageName: node + linkType: hard + "co@npm:^4.6.0": version: 4.6.0 resolution: "co@npm:4.6.0" @@ -9289,6 +12838,13 @@ __metadata: languageName: node linkType: hard +"csstype@npm:^3.0.2": + version: 3.1.3 + resolution: "csstype@npm:3.1.3" + checksum: 10c0/80c089d6f7e0c5b2bd83cf0539ab41474198579584fa10d86d0cafe0642202343cbc119e076a0b1aece191989477081415d66c9fefbf3c957fc2fc4b7009f248 + languageName: node + linkType: hard + "currently-unhandled@npm:^0.4.1": version: 0.4.1 resolution: "currently-unhandled@npm:0.4.1" @@ -9331,6 +12887,17 @@ __metadata: languageName: node linkType: hard +"data-view-buffer@npm:^1.0.1": + version: 1.0.1 + resolution: "data-view-buffer@npm:1.0.1" + dependencies: + call-bind: "npm:^1.0.6" + es-errors: "npm:^1.3.0" + is-data-view: "npm:^1.0.1" + checksum: 10c0/8984119e59dbed906a11fcfb417d7d861936f16697a0e7216fe2c6c810f6b5e8f4a5281e73f2c28e8e9259027190ac4a33e2a65fdd7fa86ac06b76e838918583 + languageName: node + linkType: hard + "data-view-buffer@npm:^1.0.2": version: 1.0.2 resolution: "data-view-buffer@npm:1.0.2" @@ -9342,6 +12909,17 @@ __metadata: languageName: node linkType: hard +"data-view-byte-length@npm:^1.0.1": + version: 1.0.1 + resolution: "data-view-byte-length@npm:1.0.1" + dependencies: + call-bind: "npm:^1.0.7" + es-errors: "npm:^1.3.0" + is-data-view: "npm:^1.0.1" + checksum: 10c0/b7d9e48a0cf5aefed9ab7d123559917b2d7e0d65531f43b2fd95b9d3a6b46042dd3fca597c42bba384e66b70d7ad66ff23932f8367b241f53d93af42cfe04ec2 + languageName: node + linkType: hard + "data-view-byte-length@npm:^1.0.2": version: 1.0.2 resolution: "data-view-byte-length@npm:1.0.2" @@ -9353,6 +12931,17 @@ __metadata: languageName: node linkType: hard +"data-view-byte-offset@npm:^1.0.0": + version: 1.0.0 + resolution: "data-view-byte-offset@npm:1.0.0" + dependencies: + call-bind: "npm:^1.0.6" + es-errors: "npm:^1.3.0" + is-data-view: "npm:^1.0.1" + checksum: 10c0/21b0d2e53fd6e20cc4257c873bf6d36d77bd6185624b84076c0a1ddaa757b49aaf076254006341d35568e89f52eecd1ccb1a502cfb620f2beca04f48a6a62a8f + languageName: node + linkType: hard + "data-view-byte-offset@npm:^1.0.1": version: 1.0.1 resolution: "data-view-byte-offset@npm:1.0.1" @@ -9422,7 +13011,19 @@ __metadata: languageName: node linkType: hard -"debug@npm:^4.0.0, debug@npm:^4.1.1, debug@npm:^4.3.7, debug@npm:~4.4.0": +"debug@npm:^4.0.0, debug@npm:^4.3.7": + version: 4.3.7 + resolution: "debug@npm:4.3.7" + dependencies: + ms: "npm:^2.1.3" + peerDependenciesMeta: + supports-color: + optional: true + checksum: 10c0/1471db19c3b06d485a622d62f65947a19a23fbd0dd73f7fd3eafb697eec5360cde447fb075919987899b1a2096e85d35d4eb5a4de09a57600ac9cf7e6c8e768b + languageName: node + linkType: hard + +"debug@npm:^4.1.1, debug@npm:~4.4.0": version: 4.4.0 resolution: "debug@npm:4.4.0" dependencies: @@ -9441,6 +13042,13 @@ __metadata: languageName: node linkType: hard +"decimal.js@npm:10": + version: 10.4.3 + resolution: "decimal.js@npm:10.4.3" + checksum: 10c0/6d60206689ff0911f0ce968d40f163304a6c1bc739927758e6efc7921cfa630130388966f16bf6ef6b838cb33679fbe8e7a78a2f3c478afce841fd55ac8fb8ee + languageName: node + linkType: hard + "declare.js@npm:~0.0.4": version: 0.0.8 resolution: "declare.js@npm:0.0.8" @@ -9695,6 +13303,15 @@ __metadata: languageName: node linkType: hard +"doctrine@npm:^2.1.0": + version: 2.1.0 + resolution: "doctrine@npm:2.1.0" + dependencies: + esutils: "npm:^2.0.2" + checksum: 10c0/b6416aaff1f380bf56c3b552f31fdf7a69b45689368deca72d28636f41c16bb28ec3ebc40ace97db4c1afc0ceeb8120e8492fe0046841c94c2933b2e30a7d5ac + languageName: node + linkType: hard + "doctrine@npm:^3.0.0": version: 3.0.0 resolution: "doctrine@npm:3.0.0" @@ -9718,6 +13335,16 @@ __metadata: languageName: node linkType: hard +"dom-helpers@npm:^5.0.1": + version: 5.2.1 + resolution: "dom-helpers@npm:5.2.1" + dependencies: + "@babel/runtime": "npm:^7.8.7" + csstype: "npm:^3.0.2" + checksum: 10c0/f735074d66dd759b36b158fa26e9d00c9388ee0e8c9b16af941c38f014a37fc80782de83afefd621681b19ac0501034b4f1c4a3bff5caa1b8667f0212b5e124c + languageName: node + linkType: hard + "dom-serializer@npm:0": version: 0.2.2 resolution: "dom-serializer@npm:0.2.2" @@ -10112,7 +13739,63 @@ __metadata: languageName: node linkType: hard -"es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.5, es-abstract@npm:^1.23.9": +"es-abstract@npm:^1.17.5, es-abstract@npm:^1.23.3": + version: 1.23.6 + resolution: "es-abstract@npm:1.23.6" + dependencies: + array-buffer-byte-length: "npm:^1.0.1" + arraybuffer.prototype.slice: "npm:^1.0.4" + available-typed-arrays: "npm:^1.0.7" + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.3" + data-view-buffer: "npm:^1.0.1" + data-view-byte-length: "npm:^1.0.1" + data-view-byte-offset: "npm:^1.0.0" + es-define-property: "npm:^1.0.1" + es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.0.0" + es-set-tostringtag: "npm:^2.0.3" + es-to-primitive: "npm:^1.3.0" + function.prototype.name: "npm:^1.1.7" + get-intrinsic: "npm:^1.2.6" + get-symbol-description: "npm:^1.0.2" + globalthis: "npm:^1.0.4" + gopd: "npm:^1.2.0" + has-property-descriptors: "npm:^1.0.2" + has-proto: "npm:^1.2.0" + has-symbols: "npm:^1.1.0" + hasown: "npm:^2.0.2" + internal-slot: "npm:^1.1.0" + is-array-buffer: "npm:^3.0.4" + is-callable: "npm:^1.2.7" + is-data-view: "npm:^1.0.2" + is-negative-zero: "npm:^2.0.3" + is-regex: "npm:^1.2.1" + is-shared-array-buffer: "npm:^1.0.3" + is-string: "npm:^1.1.1" + is-typed-array: "npm:^1.1.13" + is-weakref: "npm:^1.1.0" + math-intrinsics: "npm:^1.0.0" + object-inspect: "npm:^1.13.3" + object-keys: "npm:^1.1.1" + object.assign: "npm:^4.1.5" + regexp.prototype.flags: "npm:^1.5.3" + safe-array-concat: "npm:^1.1.3" + safe-regex-test: "npm:^1.1.0" + string.prototype.trim: "npm:^1.2.10" + string.prototype.trimend: "npm:^1.0.9" + string.prototype.trimstart: "npm:^1.0.8" + typed-array-buffer: "npm:^1.0.2" + typed-array-byte-length: "npm:^1.0.1" + typed-array-byte-offset: "npm:^1.0.3" + typed-array-length: "npm:^1.0.7" + unbox-primitive: "npm:^1.0.2" + which-typed-array: "npm:^1.1.16" + checksum: 10c0/87c9cd85264f42e993ee2f7157c5e49c2866651bd7ff89a0799cc5bcfb962b19814e1f58c9970101072bab2a68a4fb859f094c6e8f161ba8042569431f0c1ec4 + languageName: node + linkType: hard + +"es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.5, es-abstract@npm:^1.23.6, es-abstract@npm:^1.23.9": version: 1.23.9 resolution: "es-abstract@npm:1.23.9" dependencies: @@ -10192,6 +13875,30 @@ __metadata: languageName: node linkType: hard +"es-iterator-helpers@npm:^1.2.1": + version: 1.2.1 + resolution: "es-iterator-helpers@npm:1.2.1" + dependencies: + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.3" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.6" + es-errors: "npm:^1.3.0" + es-set-tostringtag: "npm:^2.0.3" + function-bind: "npm:^1.1.2" + get-intrinsic: "npm:^1.2.6" + globalthis: "npm:^1.0.4" + gopd: "npm:^1.2.0" + has-property-descriptors: "npm:^1.0.2" + has-proto: "npm:^1.2.0" + has-symbols: "npm:^1.1.0" + internal-slot: "npm:^1.1.0" + iterator.prototype: "npm:^1.1.4" + safe-array-concat: "npm:^1.1.3" + checksum: 10c0/97e3125ca472d82d8aceea11b790397648b52c26d8768ea1c1ee6309ef45a8755bb63225a43f3150c7591cffc17caf5752459f1e70d583b4184370a8f04ebd2f + languageName: node + linkType: hard + "es-object-atoms@npm:^1.0.0, es-object-atoms@npm:^1.1.1": version: 1.1.1 resolution: "es-object-atoms@npm:1.1.1" @@ -10201,6 +13908,17 @@ __metadata: languageName: node linkType: hard +"es-set-tostringtag@npm:^2.0.3": + version: 2.0.3 + resolution: "es-set-tostringtag@npm:2.0.3" + dependencies: + get-intrinsic: "npm:^1.2.4" + has-tostringtag: "npm:^1.0.2" + hasown: "npm:^2.0.1" + checksum: 10c0/f22aff1585eb33569c326323f0b0d175844a1f11618b86e193b386f8be0ea9474cfbe46df39c45d959f7aa8f6c06985dc51dd6bce5401645ec5a74c4ceaa836a + languageName: node + linkType: hard + "es-set-tostringtag@npm:^2.1.0": version: 2.1.0 resolution: "es-set-tostringtag@npm:2.1.0" @@ -10213,6 +13931,15 @@ __metadata: languageName: node linkType: hard +"es-shim-unscopables@npm:^1.0.2": + version: 1.0.2 + resolution: "es-shim-unscopables@npm:1.0.2" + dependencies: + hasown: "npm:^2.0.0" + checksum: 10c0/f495af7b4b7601a4c0cfb893581c352636e5c08654d129590386a33a0432cf13a7bdc7b6493801cadd990d838e2839b9013d1de3b880440cb537825e834fe783 + languageName: node + linkType: hard + "es-to-primitive@npm:^1.3.0": version: 1.3.0 resolution: "es-to-primitive@npm:1.3.0" @@ -10224,6 +13951,18 @@ __metadata: languageName: node linkType: hard +"es-toolkit@npm:^1.33.0": + version: 1.33.0 + resolution: "es-toolkit@npm:1.33.0" + dependenciesMeta: + "@trivago/prettier-plugin-sort-imports@4.3.0": + unplugged: true + prettier-plugin-sort-re-exports@0.0.1: + unplugged: true + checksum: 10c0/4c8dea3167a813070812e5c3f827fb677b4729b622c209cfad68dd5b449a008df6f3b515e675a4a8519618f52b87fe1d157c320668be871165f934a15c1d2f37 + languageName: node + linkType: hard + "es6-error@npm:^4.0.1": version: 4.1.1 resolution: "es6-error@npm:4.1.1" @@ -10450,7 +14189,7 @@ __metadata: languageName: node linkType: hard -"eslint-compat-utils@npm:^0.6.0": +"eslint-compat-utils@npm:^0.6.4": version: 0.6.4 resolution: "eslint-compat-utils@npm:0.6.4" dependencies: @@ -10476,41 +14215,69 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-jsonc@npm:^2.18.2": - version: 2.18.2 - resolution: "eslint-plugin-jsonc@npm:2.18.2" +"eslint-plugin-jsonc@npm:^2.20.0": + version: 2.20.0 + resolution: "eslint-plugin-jsonc@npm:2.20.0" dependencies: - "@eslint-community/eslint-utils": "npm:^4.2.0" - eslint-compat-utils: "npm:^0.6.0" + "@eslint-community/eslint-utils": "npm:^4.5.1" + eslint-compat-utils: "npm:^0.6.4" eslint-json-compat-utils: "npm:^0.2.1" - espree: "npm:^9.6.1" + espree: "npm:^9.6.1 || ^10.3.0" graphemer: "npm:^1.4.0" - jsonc-eslint-parser: "npm:^2.0.4" + jsonc-eslint-parser: "npm:^2.4.0" natural-compare: "npm:^1.4.0" - synckit: "npm:^0.6.0" + synckit: "npm:^0.6.2 || ^0.7.3 || ^0.10.3" peerDependencies: eslint: ">=6.0.0" - checksum: 10c0/5ba6fa7f5320838066e0a55d6b5b4e1fa5f244b76593be76e60a5e7153bc6c7b05c8faa38873a663acdc7efc892589f1285f367765b4c8934a941324c14dc107 + checksum: 10c0/9fedfd7b84ec6e777a3777745526e2ad457321714046c4f0491c156e5ae2c44dc6dbc6725c3fa52c8c32ea28be70831c6e9efc012c8f56cd18b540c0b6569986 languageName: node linkType: hard -"eslint-plugin-prettier@npm:^5.1.3": - version: 5.2.1 - resolution: "eslint-plugin-prettier@npm:5.2.1" +"eslint-plugin-prettier@npm:^5.2.5": + version: 5.2.5 + resolution: "eslint-plugin-prettier@npm:5.2.5" dependencies: prettier-linter-helpers: "npm:^1.0.0" - synckit: "npm:^0.9.1" + synckit: "npm:^0.10.2" peerDependencies: "@types/eslint": ">=8.0.0" eslint: ">=8.0.0" - eslint-config-prettier: "*" + eslint-config-prettier: ">= 7.0.0 <10.0.0 || >=10.1.0" prettier: ">=3.0.0" peerDependenciesMeta: "@types/eslint": optional: true eslint-config-prettier: optional: true - checksum: 10c0/4bc8bbaf5bb556c9c501dcdff369137763c49ccaf544f9fa91400360ed5e3a3f1234ab59690e06beca5b1b7e6f6356978cdd3b02af6aba3edea2ffe69ca6e8b2 + checksum: 10c0/b88d4ecfccfdea786aa8c2df8c6b52754070fec48ef5df0dcd325daf7cbe01730a96fb6a8c5ae0ddd173472b43704d6452169b058284e842dfee5894172f310b + languageName: node + linkType: hard + +"eslint-plugin-react@npm:^7.37.4": + version: 7.37.4 + resolution: "eslint-plugin-react@npm:7.37.4" + dependencies: + array-includes: "npm:^3.1.8" + array.prototype.findlast: "npm:^1.2.5" + array.prototype.flatmap: "npm:^1.3.3" + array.prototype.tosorted: "npm:^1.1.4" + doctrine: "npm:^2.1.0" + es-iterator-helpers: "npm:^1.2.1" + estraverse: "npm:^5.3.0" + hasown: "npm:^2.0.2" + jsx-ast-utils: "npm:^2.4.1 || ^3.0.0" + minimatch: "npm:^3.1.2" + object.entries: "npm:^1.1.8" + object.fromentries: "npm:^2.0.8" + object.values: "npm:^1.2.1" + prop-types: "npm:^15.8.1" + resolve: "npm:^2.0.0-next.5" + semver: "npm:^6.3.1" + string.prototype.matchall: "npm:^4.0.12" + string.prototype.repeat: "npm:^1.0.0" + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 + checksum: 10c0/4acbbdb19669dfa9a162ed8847c3ad1918f6aea1ceb675ee320b5d903b4e463fdef25e15233295b6d0a726fef2ea8b015c527da769c7690932ddc52d5b82ba12 languageName: node linkType: hard @@ -10531,15 +14298,22 @@ __metadata: languageName: node linkType: hard -"eslint@npm:^8.57.0": - version: 8.57.0 - resolution: "eslint@npm:8.57.0" +"eslint-visitor-keys@npm:^4.2.0": + version: 4.2.0 + resolution: "eslint-visitor-keys@npm:4.2.0" + checksum: 10c0/2ed81c663b147ca6f578312919483eb040295bbab759e5a371953456c636c5b49a559883e2677112453728d66293c0a4c90ab11cab3428cf02a0236d2e738269 + languageName: node + linkType: hard + +"eslint@npm:^8.57.1": + version: 8.57.1 + resolution: "eslint@npm:8.57.1" dependencies: "@eslint-community/eslint-utils": "npm:^4.2.0" "@eslint-community/regexpp": "npm:^4.6.1" "@eslint/eslintrc": "npm:^2.1.4" - "@eslint/js": "npm:8.57.0" - "@humanwhocodes/config-array": "npm:^0.11.14" + "@eslint/js": "npm:8.57.1" + "@humanwhocodes/config-array": "npm:^0.13.0" "@humanwhocodes/module-importer": "npm:^1.0.1" "@nodelib/fs.walk": "npm:^1.2.8" "@ungap/structured-clone": "npm:^1.2.0" @@ -10575,7 +14349,7 @@ __metadata: text-table: "npm:^0.2.0" bin: eslint: bin/eslint.js - checksum: 10c0/00bb96fd2471039a312435a6776fe1fd557c056755eaa2b96093ef3a8508c92c8775d5f754768be6b1dddd09fdd3379ddb231eeb9b6c579ee17ea7d68000a529 + checksum: 10c0/1fd31533086c1b72f86770a4d9d7058ee8b4643fd1cfd10c7aac1ecb8725698e88352a87805cf4b2ce890aa35947df4b4da9655fb7fdfa60dbb448a43f6ebcf1 languageName: node linkType: hard @@ -10590,6 +14364,17 @@ __metadata: languageName: node linkType: hard +"espree@npm:^9.6.1 || ^10.3.0": + version: 10.3.0 + resolution: "espree@npm:10.3.0" + dependencies: + acorn: "npm:^8.14.0" + acorn-jsx: "npm:^5.3.2" + eslint-visitor-keys: "npm:^4.2.0" + checksum: 10c0/272beeaca70d0a1a047d61baff64db04664a33d7cfb5d144f84bc8a5c6194c6c8ebe9cc594093ca53add88baa23e59b01e69e8a0160ab32eac570482e165c462 + languageName: node + linkType: hard + "esprima@npm:^4.0.0, esprima@npm:~4.0.0": version: 4.0.1 resolution: "esprima@npm:4.0.1" @@ -10618,7 +14403,7 @@ __metadata: languageName: node linkType: hard -"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0": +"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0, estraverse@npm:^5.3.0": version: 5.3.0 resolution: "estraverse@npm:5.3.0" checksum: 10c0/1ff9447b96263dec95d6d67431c5e0771eb9776427421260a3e2f0fdd5d6bd4f8e37a7338f5ad2880c9f143450c9b1e4fc2069060724570a49cf9cf0312bd107 @@ -11472,6 +15257,19 @@ __metadata: languageName: node linkType: hard +"function.prototype.name@npm:^1.1.7": + version: 1.1.7 + resolution: "function.prototype.name@npm:1.1.7" + dependencies: + call-bind: "npm:^1.0.8" + define-properties: "npm:^1.2.1" + functions-have-names: "npm:^1.2.3" + hasown: "npm:^2.0.2" + is-callable: "npm:^1.2.7" + checksum: 10c0/f369f794099a9883e8253290d84a7a3e37ed9d4e2b185bdb3034fcfe02d6ee9dd72b41ea1e6e556c49bce897c535aa373b8e31dab5b018875cf9bc0a70c5215f + languageName: node + linkType: hard + "functions-have-names@npm:^1.2.3": version: 1.2.3 resolution: "functions-have-names@npm:1.2.3" @@ -11523,21 +15321,39 @@ __metadata: languageName: node linkType: hard -"get-intrinsic@npm:^1.2.4, get-intrinsic@npm:^1.2.5, get-intrinsic@npm:^1.2.6, get-intrinsic@npm:^1.2.7, get-intrinsic@npm:^1.3.0": +"get-intrinsic@npm:^1.2.4, get-intrinsic@npm:^1.2.7, get-intrinsic@npm:^1.3.0": version: 1.3.0 resolution: "get-intrinsic@npm:1.3.0" dependencies: call-bind-apply-helpers: "npm:^1.0.2" es-define-property: "npm:^1.0.1" es-errors: "npm:^1.3.0" - es-object-atoms: "npm:^1.1.1" + es-object-atoms: "npm:^1.1.1" + function-bind: "npm:^1.1.2" + get-proto: "npm:^1.0.1" + gopd: "npm:^1.2.0" + has-symbols: "npm:^1.1.0" + hasown: "npm:^2.0.2" + math-intrinsics: "npm:^1.1.0" + checksum: 10c0/52c81808af9a8130f581e6a6a83e1ba4a9f703359e7a438d1369a5267a25412322f03dcbd7c549edaef0b6214a0630a28511d7df0130c93cfd380f4fa0b5b66a + languageName: node + linkType: hard + +"get-intrinsic@npm:^1.2.5, get-intrinsic@npm:^1.2.6": + version: 1.2.6 + resolution: "get-intrinsic@npm:1.2.6" + dependencies: + call-bind-apply-helpers: "npm:^1.0.1" + dunder-proto: "npm:^1.0.0" + es-define-property: "npm:^1.0.1" + es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.0.0" function-bind: "npm:^1.1.2" - get-proto: "npm:^1.0.1" gopd: "npm:^1.2.0" has-symbols: "npm:^1.1.0" hasown: "npm:^2.0.2" - math-intrinsics: "npm:^1.1.0" - checksum: 10c0/52c81808af9a8130f581e6a6a83e1ba4a9f703359e7a438d1369a5267a25412322f03dcbd7c549edaef0b6214a0630a28511d7df0130c93cfd380f4fa0b5b66a + math-intrinsics: "npm:^1.0.0" + checksum: 10c0/0f1ea6d807d97d074e8a31ac698213a12757fcfa9a8f4778263d2e4702c40fe83198aadd3dba2e99aabc2e4cf8a38345545dbb0518297d3df8b00b56a156c32a languageName: node linkType: hard @@ -11572,6 +15388,17 @@ __metadata: languageName: node linkType: hard +"get-symbol-description@npm:^1.0.2": + version: 1.0.2 + resolution: "get-symbol-description@npm:1.0.2" + dependencies: + call-bind: "npm:^1.0.5" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.4" + checksum: 10c0/867be6d63f5e0eb026cb3b0ef695ec9ecf9310febb041072d2e142f260bd91ced9eeb426b3af98791d1064e324e653424afa6fd1af17dee373bea48ae03162bc + languageName: node + linkType: hard + "get-symbol-description@npm:^1.1.0": version: 1.1.0 resolution: "get-symbol-description@npm:1.1.0" @@ -11875,6 +15702,13 @@ __metadata: languageName: node linkType: hard +"has-bigints@npm:^1.0.1": + version: 1.0.2 + resolution: "has-bigints@npm:1.0.2" + checksum: 10c0/724eb1485bfa3cdff6f18d95130aa190561f00b3fcf9f19dc640baf8176b5917c143b81ec2123f8cddb6c05164a198c94b13e1377c497705ccc8e1a80306e83b + languageName: node + linkType: hard + "has-bigints@npm:^1.0.2": version: 1.1.0 resolution: "has-bigints@npm:1.1.0" @@ -11912,7 +15746,7 @@ __metadata: languageName: node linkType: hard -"has-proto@npm:^1.0.1": +"has-proto@npm:^1.0.1, has-proto@npm:^1.0.3": version: 1.0.3 resolution: "has-proto@npm:1.0.3" checksum: 10c0/35a6989f81e9f8022c2f4027f8b48a552de714938765d019dbea6bb547bd49ce5010a3c7c32ec6ddac6e48fc546166a3583b128f5a7add8b058a6d8b4afec205 @@ -11928,6 +15762,13 @@ __metadata: languageName: node linkType: hard +"has-symbols@npm:^1.0.2": + version: 1.0.3 + resolution: "has-symbols@npm:1.0.3" + checksum: 10c0/e6922b4345a3f37069cdfe8600febbca791c94988c01af3394d86ca3360b4b93928bbf395859158f88099cb10b19d98e3bbab7c9ff2c1bd09cf665ee90afa2c3 + languageName: node + linkType: hard + "has-symbols@npm:^1.0.3, has-symbols@npm:^1.1.0": version: 1.1.0 resolution: "has-symbols@npm:1.1.0" @@ -11954,7 +15795,7 @@ __metadata: languageName: node linkType: hard -"hasown@npm:^2.0.2": +"hasown@npm:^2.0.0, hasown@npm:^2.0.1, hasown@npm:^2.0.2": version: 2.0.2 resolution: "hasown@npm:2.0.2" dependencies: @@ -12429,6 +16270,18 @@ __metadata: languageName: node linkType: hard +"intl-messageformat@npm:^10.1.0": + version: 10.7.10 + resolution: "intl-messageformat@npm:10.7.10" + dependencies: + "@formatjs/ecma402-abstract": "npm:2.3.1" + "@formatjs/fast-memoize": "npm:2.2.5" + "@formatjs/icu-messageformat-parser": "npm:2.9.7" + tslib: "npm:2" + checksum: 10c0/caf26689bb5dab90b2b2accc25f7e18696a5dde5ec028ae06b86870f8de091928bdc2b76499f832f26ac9695346e3c110dcae785da0e3d267160661a6725f1d2 + languageName: node + linkType: hard + "ip-address@npm:^9.0.5": version: 9.0.5 resolution: "ip-address@npm:9.0.5" @@ -12531,6 +16384,15 @@ __metadata: languageName: node linkType: hard +"is-bigint@npm:^1.0.1": + version: 1.0.4 + resolution: "is-bigint@npm:1.0.4" + dependencies: + has-bigints: "npm:^1.0.1" + checksum: 10c0/eb9c88e418a0d195ca545aff2b715c9903d9b0a5033bc5922fec600eb0c3d7b1ee7f882dbf2e0d5a6e694e42391be3683e4368737bd3c4a77f8ac293e7773696 + languageName: node + linkType: hard + "is-bigint@npm:^1.1.0": version: 1.1.0 resolution: "is-bigint@npm:1.1.0" @@ -12549,6 +16411,16 @@ __metadata: languageName: node linkType: hard +"is-boolean-object@npm:^1.1.0": + version: 1.1.2 + resolution: "is-boolean-object@npm:1.1.2" + dependencies: + call-bind: "npm:^1.0.2" + has-tostringtag: "npm:^1.0.0" + checksum: 10c0/6090587f8a8a8534c0f816da868bc94f32810f08807aa72fa7e79f7e11c466d281486ffe7a788178809c2aa71fe3e700b167fe80dd96dad68026bfff8ebf39f7 + languageName: node + linkType: hard + "is-boolean-object@npm:^1.2.1": version: 1.2.2 resolution: "is-boolean-object@npm:1.2.2" @@ -12690,19 +16562,7 @@ __metadata: languageName: node linkType: hard -"is-generator-function@npm:^1.0.10": - version: 1.1.0 - resolution: "is-generator-function@npm:1.1.0" - dependencies: - call-bound: "npm:^1.0.3" - get-proto: "npm:^1.0.0" - has-tostringtag: "npm:^1.0.2" - safe-regex-test: "npm:^1.1.0" - checksum: 10c0/fdfa96c8087bf36fc4cd514b474ba2ff404219a4dd4cfa6cf5426404a1eed259bdcdb98f082a71029a48d01f27733e3436ecc6690129a7ec09cb0434bee03a2a - languageName: node - linkType: hard - -"is-generator-function@npm:^1.0.7": +"is-generator-function@npm:^1.0.10, is-generator-function@npm:^1.0.7": version: 1.0.10 resolution: "is-generator-function@npm:1.0.10" dependencies: @@ -12783,6 +16643,22 @@ __metadata: languageName: node linkType: hard +"is-negative-zero@npm:^2.0.3": + version: 2.0.3 + resolution: "is-negative-zero@npm:2.0.3" + checksum: 10c0/bcdcf6b8b9714063ffcfa9929c575ac69bfdabb8f4574ff557dfc086df2836cf07e3906f5bbc4f2a5c12f8f3ba56af640c843cdfc74da8caed86c7c7d66fd08e + languageName: node + linkType: hard + +"is-number-object@npm:^1.0.4": + version: 1.0.7 + resolution: "is-number-object@npm:1.0.7" + dependencies: + has-tostringtag: "npm:^1.0.0" + checksum: 10c0/aad266da1e530f1804a2b7bd2e874b4869f71c98590b3964f9d06cc9869b18f8d1f4778f838ecd2a11011bce20aeecb53cb269ba916209b79c24580416b74b1b + languageName: node + linkType: hard + "is-number-object@npm:^1.1.1": version: 1.1.1 resolution: "is-number-object@npm:1.1.1" @@ -12877,6 +16753,15 @@ __metadata: languageName: node linkType: hard +"is-shared-array-buffer@npm:^1.0.3": + version: 1.0.3 + resolution: "is-shared-array-buffer@npm:1.0.3" + dependencies: + call-bind: "npm:^1.0.7" + checksum: 10c0/adc11ab0acbc934a7b9e5e9d6c588d4ec6682f6fea8cda5180721704fa32927582ede5b123349e32517fdadd07958973d24716c80e7ab198970c47acc09e59c7 + languageName: node + linkType: hard + "is-shared-array-buffer@npm:^1.0.4": version: 1.0.4 resolution: "is-shared-array-buffer@npm:1.0.4" @@ -12900,6 +16785,15 @@ __metadata: languageName: node linkType: hard +"is-string@npm:^1.0.5": + version: 1.0.7 + resolution: "is-string@npm:1.0.7" + dependencies: + has-tostringtag: "npm:^1.0.0" + checksum: 10c0/905f805cbc6eedfa678aaa103ab7f626aac9ebbdc8737abb5243acaa61d9820f8edc5819106b8fcd1839e33db21de9f0116ae20de380c8382d16dc2a601921f6 + languageName: node + linkType: hard + "is-string@npm:^1.0.7, is-string@npm:^1.1.1": version: 1.1.1 resolution: "is-string@npm:1.1.1" @@ -12919,6 +16813,15 @@ __metadata: languageName: node linkType: hard +"is-symbol@npm:^1.0.3": + version: 1.0.4 + resolution: "is-symbol@npm:1.0.4" + dependencies: + has-symbols: "npm:^1.0.2" + checksum: 10c0/9381dd015f7c8906154dbcbf93fad769de16b4b961edc94f88d26eb8c555935caa23af88bda0c93a18e65560f6d7cca0fd5a3f8a8e1df6f1abbb9bead4502ef7 + languageName: node + linkType: hard + "is-symbol@npm:^1.0.4, is-symbol@npm:^1.1.1": version: 1.1.1 resolution: "is-symbol@npm:1.1.1" @@ -13008,7 +16911,7 @@ __metadata: languageName: node linkType: hard -"is-weakref@npm:^1.0.2, is-weakref@npm:^1.1.0": +"is-weakref@npm:^1.0.2": version: 1.1.1 resolution: "is-weakref@npm:1.1.1" dependencies: @@ -13017,6 +16920,15 @@ __metadata: languageName: node linkType: hard +"is-weakref@npm:^1.1.0": + version: 1.1.0 + resolution: "is-weakref@npm:1.1.0" + dependencies: + call-bound: "npm:^1.0.2" + checksum: 10c0/aa835f62e29cb60132ecb3ec7d11bd0f39ec7322325abe8412b805aef47153ec2daefdb21759b049711c674f49b13202a31d8d126bcdff7d8671c78babd4ae5b + languageName: node + linkType: hard + "is-weakset@npm:^2.0.3": version: 2.0.4 resolution: "is-weakset@npm:2.0.4" @@ -13201,6 +17113,20 @@ __metadata: languageName: node linkType: hard +"iterator.prototype@npm:^1.1.4": + version: 1.1.5 + resolution: "iterator.prototype@npm:1.1.5" + dependencies: + define-data-property: "npm:^1.1.4" + es-object-atoms: "npm:^1.0.0" + get-intrinsic: "npm:^1.2.6" + get-proto: "npm:^1.0.0" + has-symbols: "npm:^1.1.0" + set-function-name: "npm:^2.0.2" + checksum: 10c0/f7a262808e1b41049ab55f1e9c29af7ec1025a000d243b83edf34ce2416eedd56079b117fa59376bb4a724110690f13aa8427f2ee29a09eec63a7e72367626d0 + languageName: node + linkType: hard + "jackspeak@npm:^3.1.2": version: 3.4.3 resolution: "jackspeak@npm:3.4.3" @@ -13917,7 +17843,7 @@ __metadata: languageName: node linkType: hard -"jsonc-eslint-parser@npm:^2.0.4, jsonc-eslint-parser@npm:^2.4.0": +"jsonc-eslint-parser@npm:^2.4.0": version: 2.4.0 resolution: "jsonc-eslint-parser@npm:2.4.0" dependencies: @@ -13989,6 +17915,18 @@ __metadata: languageName: node linkType: hard +"jsx-ast-utils@npm:^2.4.1 || ^3.0.0": + version: 3.3.5 + resolution: "jsx-ast-utils@npm:3.3.5" + dependencies: + array-includes: "npm:^3.1.6" + array.prototype.flat: "npm:^1.3.1" + object.assign: "npm:^4.1.4" + object.values: "npm:^1.1.6" + checksum: 10c0/a32679e9cb55469cb6d8bbc863f7d631b2c98b7fc7bf172629261751a6e7bc8da6ae374ddb74d5fbd8b06cf0eb4572287b259813d92b36e384024ed35e4c13e1 + languageName: node + linkType: hard + "jwt-decode@npm:^3.1.2": version: 3.1.2 resolution: "jwt-decode@npm:3.1.2" @@ -14416,7 +18354,7 @@ __metadata: languageName: node linkType: hard -"loose-envify@npm:^1.1.0": +"loose-envify@npm:^1.1.0, loose-envify@npm:^1.4.0": version: 1.4.0 resolution: "loose-envify@npm:1.4.0" dependencies: @@ -14670,6 +18608,13 @@ __metadata: languageName: node linkType: hard +"math-intrinsics@npm:^1.0.0": + version: 1.0.0 + resolution: "math-intrinsics@npm:1.0.0" + checksum: 10c0/470ee2f267b4b3698eb9faa7f0bcf88696d87e2eeab25bba867dc676c09ddbae9b6f2e8ac7a2c1f0c9c2c5299c2a89f4f1f6d0e70d682725e2e7fca7507eef9f + languageName: node + linkType: hard + "math-intrinsics@npm:^1.1.0": version: 1.1.0 resolution: "math-intrinsics@npm:1.1.0" @@ -16130,6 +20075,13 @@ __metadata: languageName: node linkType: hard +"object-assign@npm:^4.1.1": + version: 4.1.1 + resolution: "object-assign@npm:4.1.1" + checksum: 10c0/1f4df9945120325d041ccf7b86f31e8bcc14e73d29171e37a7903050e96b81323784ec59f93f102ec635bcf6fa8034ba3ea0a8c7e69fa202b87ae3b6cec5a414 + languageName: node + linkType: hard + "object-extended@npm:0.0.7": version: 0.0.7 resolution: "object-extended@npm:0.0.7" @@ -16179,6 +20131,18 @@ __metadata: languageName: node linkType: hard +"object.assign@npm:^4.1.5": + version: 4.1.5 + resolution: "object.assign@npm:4.1.5" + dependencies: + call-bind: "npm:^1.0.5" + define-properties: "npm:^1.2.1" + has-symbols: "npm:^1.0.3" + object-keys: "npm:^1.1.1" + checksum: 10c0/60108e1fa2706f22554a4648299b0955236c62b3685c52abf4988d14fffb0e7731e00aa8c6448397e3eb63d087dcc124a9f21e1980f36d0b2667f3c18bacd469 + languageName: node + linkType: hard + "object.defaults@npm:^1.1.0": version: 1.1.0 resolution: "object.defaults@npm:1.1.0" @@ -16191,6 +20155,29 @@ __metadata: languageName: node linkType: hard +"object.entries@npm:^1.1.8": + version: 1.1.8 + resolution: "object.entries@npm:1.1.8" + dependencies: + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-object-atoms: "npm:^1.0.0" + checksum: 10c0/db9ea979d2956a3bc26c262da4a4d212d36f374652cc4c13efdd069c1a519c16571c137e2893d1c46e1cb0e15c88fd6419eaf410c945f329f09835487d7e65d3 + languageName: node + linkType: hard + +"object.fromentries@npm:^2.0.8": + version: 2.0.8 + resolution: "object.fromentries@npm:2.0.8" + dependencies: + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.2" + es-object-atoms: "npm:^1.0.0" + checksum: 10c0/cd4327e6c3369cfa805deb4cbbe919bfb7d3aeebf0bcaba291bb568ea7169f8f8cdbcabe2f00b40db0c20cd20f08e11b5f3a5a36fb7dd3fe04850c50db3bf83b + languageName: node + linkType: hard + "object.getownpropertydescriptors@npm:^2.1.6": version: 2.1.8 resolution: "object.getownpropertydescriptors@npm:2.1.8" @@ -16225,6 +20212,29 @@ __metadata: languageName: node linkType: hard +"object.values@npm:^1.1.6": + version: 1.2.0 + resolution: "object.values@npm:1.2.0" + dependencies: + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-object-atoms: "npm:^1.0.0" + checksum: 10c0/15809dc40fd6c5529501324fec5ff08570b7d70fb5ebbe8e2b3901afec35cf2b3dc484d1210c6c642cd3e7e0a5e18dd1d6850115337fef46bdae14ab0cb18ac3 + languageName: node + linkType: hard + +"object.values@npm:^1.2.1": + version: 1.2.1 + resolution: "object.values@npm:1.2.1" + dependencies: + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.3" + define-properties: "npm:^1.2.1" + es-object-atoms: "npm:^1.0.0" + checksum: 10c0/3c47814fdc64842ae3d5a74bc9d06bdd8d21563c04d9939bf6716a9c00596a4ebc342552f8934013d1ec991c74e3671b26710a0c51815f0b603795605ab6b2c9 + languageName: node + linkType: hard + "once@npm:^1.3.0, once@npm:^1.4.0": version: 1.4.0 resolution: "once@npm:1.4.0" @@ -18167,6 +22177,17 @@ __metadata: languageName: node linkType: hard +"prop-types@npm:^15.6.2, prop-types@npm:^15.8.1": + version: 15.8.1 + resolution: "prop-types@npm:15.8.1" + dependencies: + loose-envify: "npm:^1.4.0" + object-assign: "npm:^4.1.1" + react-is: "npm:^16.13.1" + checksum: 10c0/59ece7ca2fb9838031d73a48d4becb9a7cc1ed10e610517c7d8f19a1e02fa47f7c27d557d8a5702bec3cfeccddc853579832b43f449e54635803f277b1c78077 + languageName: node + linkType: hard + "property-information@npm:^5.0.0": version: 5.6.0 resolution: "property-information@npm:5.6.0" @@ -18241,6 +22262,96 @@ __metadata: languageName: node linkType: hard +"react-aria-components@npm:^1.7.1": + version: 1.7.1 + resolution: "react-aria-components@npm:1.7.1" + dependencies: + "@internationalized/date": "npm:^3.7.0" + "@internationalized/string": "npm:^3.2.5" + "@react-aria/autocomplete": "npm:3.0.0-beta.1" + "@react-aria/collections": "npm:3.0.0-beta.1" + "@react-aria/dnd": "npm:^3.9.1" + "@react-aria/focus": "npm:^3.20.1" + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/live-announcer": "npm:^3.4.1" + "@react-aria/toolbar": "npm:3.0.0-beta.14" + "@react-aria/utils": "npm:^3.28.1" + "@react-aria/virtualizer": "npm:^4.1.3" + "@react-stately/autocomplete": "npm:3.0.0-beta.0" + "@react-stately/layout": "npm:^4.2.1" + "@react-stately/selection": "npm:^3.20.0" + "@react-stately/table": "npm:^3.14.0" + "@react-stately/utils": "npm:^3.10.5" + "@react-stately/virtualizer": "npm:^4.3.1" + "@react-types/form": "npm:^3.7.10" + "@react-types/grid": "npm:^3.3.0" + "@react-types/shared": "npm:^3.28.0" + "@react-types/table": "npm:^3.11.0" + "@swc/helpers": "npm:^0.5.0" + client-only: "npm:^0.0.1" + react-aria: "npm:^3.38.1" + react-stately: "npm:^3.36.1" + use-sync-external-store: "npm:^1.4.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/586ddd71425a094409ef7edcc72ed8380a6decb1f26276a61fd598cd4f47d5edd9dc75af7b423307be5432d24ee5387e461c204b30518acd4265d0630426a90f + languageName: node + linkType: hard + +"react-aria@npm:^3.38.1": + version: 3.38.1 + resolution: "react-aria@npm:3.38.1" + dependencies: + "@internationalized/string": "npm:^3.2.5" + "@react-aria/breadcrumbs": "npm:^3.5.22" + "@react-aria/button": "npm:^3.12.1" + "@react-aria/calendar": "npm:^3.7.2" + "@react-aria/checkbox": "npm:^3.15.3" + "@react-aria/color": "npm:^3.0.5" + "@react-aria/combobox": "npm:^3.12.1" + "@react-aria/datepicker": "npm:^3.14.1" + "@react-aria/dialog": "npm:^3.5.23" + "@react-aria/disclosure": "npm:^3.0.3" + "@react-aria/dnd": "npm:^3.9.1" + "@react-aria/focus": "npm:^3.20.1" + "@react-aria/gridlist": "npm:^3.11.1" + "@react-aria/i18n": "npm:^3.12.7" + "@react-aria/interactions": "npm:^3.24.1" + "@react-aria/label": "npm:^3.7.16" + "@react-aria/landmark": "npm:^3.0.1" + "@react-aria/link": "npm:^3.7.10" + "@react-aria/listbox": "npm:^3.14.2" + "@react-aria/menu": "npm:^3.18.1" + "@react-aria/meter": "npm:^3.4.21" + "@react-aria/numberfield": "npm:^3.11.12" + "@react-aria/overlays": "npm:^3.26.1" + "@react-aria/progress": "npm:^3.4.21" + "@react-aria/radio": "npm:^3.11.1" + "@react-aria/searchfield": "npm:^3.8.2" + "@react-aria/select": "npm:^3.15.3" + "@react-aria/selection": "npm:^3.23.1" + "@react-aria/separator": "npm:^3.4.7" + "@react-aria/slider": "npm:^3.7.17" + "@react-aria/ssr": "npm:^3.9.7" + "@react-aria/switch": "npm:^3.7.1" + "@react-aria/table": "npm:^3.17.1" + "@react-aria/tabs": "npm:^3.10.1" + "@react-aria/tag": "npm:^3.5.1" + "@react-aria/textfield": "npm:^3.17.1" + "@react-aria/toast": "npm:^3.0.1" + "@react-aria/tooltip": "npm:^3.8.1" + "@react-aria/tree": "npm:^3.0.1" + "@react-aria/utils": "npm:^3.28.1" + "@react-aria/visually-hidden": "npm:^3.8.21" + "@react-types/shared": "npm:^3.28.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/03cd3bc275a8b49a20ab1a348966208846c7bb6695f7749fcaea831638243598b2bb72645cdd5f5d0faa1caea67ca7b6e8400ab37521b2746bca2e0c814af7e1 + languageName: node + linkType: hard + "react-confetti@npm:^6.1.0": version: 6.1.0 resolution: "react-confetti@npm:6.1.0" @@ -18264,6 +22375,13 @@ __metadata: languageName: node linkType: hard +"react-is@npm:^16.13.1": + version: 16.13.1 + resolution: "react-is@npm:16.13.1" + checksum: 10c0/33977da7a5f1a287936a0c85639fec6ca74f4f15ef1e59a6bc20338fc73dc69555381e211f7a3529b8150a1f71e4225525b41b60b52965bda53ce7d47377ada1 + languageName: node + linkType: hard + "react-is@npm:^17.0.1": version: 17.0.2 resolution: "react-is@npm:17.0.2" @@ -18278,6 +22396,42 @@ __metadata: languageName: node linkType: hard +"react-stately@npm:^3.36.1": + version: 3.36.1 + resolution: "react-stately@npm:3.36.1" + dependencies: + "@react-stately/calendar": "npm:^3.7.1" + "@react-stately/checkbox": "npm:^3.6.12" + "@react-stately/collections": "npm:^3.12.2" + "@react-stately/color": "npm:^3.8.3" + "@react-stately/combobox": "npm:^3.10.3" + "@react-stately/data": "npm:^3.12.2" + "@react-stately/datepicker": "npm:^3.13.0" + "@react-stately/disclosure": "npm:^3.0.2" + "@react-stately/dnd": "npm:^3.5.2" + "@react-stately/form": "npm:^3.1.2" + "@react-stately/list": "npm:^3.12.0" + "@react-stately/menu": "npm:^3.9.2" + "@react-stately/numberfield": "npm:^3.9.10" + "@react-stately/overlays": "npm:^3.6.14" + "@react-stately/radio": "npm:^3.10.11" + "@react-stately/searchfield": "npm:^3.5.10" + "@react-stately/select": "npm:^3.6.11" + "@react-stately/selection": "npm:^3.20.0" + "@react-stately/slider": "npm:^3.6.2" + "@react-stately/table": "npm:^3.14.0" + "@react-stately/tabs": "npm:^3.8.0" + "@react-stately/toast": "npm:^3.0.0" + "@react-stately/toggle": "npm:^3.8.2" + "@react-stately/tooltip": "npm:^3.5.2" + "@react-stately/tree": "npm:^3.8.8" + "@react-types/shared": "npm:^3.28.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + checksum: 10c0/2d98658e44fcbd4b37d39c9306b0a8d016c2b25874ad638d1e1254b72a5cd7d2227ad63cb080672fc5380d9403cdb8f00f5fc6d56934a00750debc8b485ded93 + languageName: node + linkType: hard + "react-syntax-highlighter@npm:^15.6.1": version: 15.6.1 resolution: "react-syntax-highlighter@npm:15.6.1" @@ -18294,6 +22448,21 @@ __metadata: languageName: node linkType: hard +"react-transition-group@npm:^4.4.5": + version: 4.4.5 + resolution: "react-transition-group@npm:4.4.5" + dependencies: + "@babel/runtime": "npm:^7.5.5" + dom-helpers: "npm:^5.0.1" + loose-envify: "npm:^1.4.0" + prop-types: "npm:^15.6.2" + peerDependencies: + react: ">=16.6.0" + react-dom: ">=16.6.0" + checksum: 10c0/2ba754ba748faefa15f87c96dfa700d5525054a0141de8c75763aae6734af0740e77e11261a1e8f4ffc08fd9ab78510122e05c21c2d79066c38bb6861a886c82 + languageName: node + linkType: hard + "react@npm:^16.8.0 || ^17.0.0 || ^18.0.0, react@npm:^18.3.1": version: 18.3.1 resolution: "react@npm:18.3.1" @@ -18600,6 +22769,19 @@ __metadata: languageName: node linkType: hard +"resolve@npm:^2.0.0-next.5": + version: 2.0.0-next.5 + resolution: "resolve@npm:2.0.0-next.5" + dependencies: + is-core-module: "npm:^2.13.0" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 10c0/a6c33555e3482ea2ec4c6e3d3bf0d78128abf69dca99ae468e64f1e30acaa318fd267fb66c8836b04d558d3e2d6ed875fe388067e7d8e0de647d3c21af21c43a + languageName: node + linkType: hard + "resolve@patch:resolve@npm%3A^1.1.7#optional!builtin, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin": version: 1.22.8 resolution: "resolve@patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d" @@ -18613,6 +22795,19 @@ __metadata: languageName: node linkType: hard +"resolve@patch:resolve@npm%3A^2.0.0-next.5#optional!builtin": + version: 2.0.0-next.5 + resolution: "resolve@patch:resolve@npm%3A2.0.0-next.5#optional!builtin::version=2.0.0-next.5&hash=c3c19d" + dependencies: + is-core-module: "npm:^2.13.0" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 10c0/78ad6edb8309a2bfb720c2c1898f7907a37f858866ce11a5974643af1203a6a6e05b2fa9c53d8064a673a447b83d42569260c306d43628bff5bb101969708355 + languageName: node + linkType: hard + "restore-cursor@npm:^3.1.0": version: 3.1.0 resolution: "restore-cursor@npm:3.1.0" @@ -19510,6 +23705,37 @@ __metadata: languageName: node linkType: hard +"string.prototype.matchall@npm:^4.0.12": + version: 4.0.12 + resolution: "string.prototype.matchall@npm:4.0.12" + dependencies: + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.3" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.6" + es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.0.0" + get-intrinsic: "npm:^1.2.6" + gopd: "npm:^1.2.0" + has-symbols: "npm:^1.1.0" + internal-slot: "npm:^1.1.0" + regexp.prototype.flags: "npm:^1.5.3" + set-function-name: "npm:^2.0.2" + side-channel: "npm:^1.1.0" + checksum: 10c0/1a53328ada73f4a77f1fdf1c79414700cf718d0a8ef6672af5603e709d26a24f2181208144aed7e858b1bcc1a0d08567a570abfb45567db4ae47637ed2c2f85c + languageName: node + linkType: hard + +"string.prototype.repeat@npm:^1.0.0": + version: 1.0.0 + resolution: "string.prototype.repeat@npm:1.0.0" + dependencies: + define-properties: "npm:^1.1.3" + es-abstract: "npm:^1.17.5" + checksum: 10c0/94c7978566cffa1327d470fd924366438af9b04b497c43a9805e476e2e908aa37a1fd34cc0911156c17556dab62159d12c7b92b3cc304c3e1281fe4c8e668f40 + languageName: node + linkType: hard + "string.prototype.trim@npm:^1.2.10": version: 1.2.10 resolution: "string.prototype.trim@npm:1.2.10" @@ -19947,22 +24173,13 @@ __metadata: languageName: node linkType: hard -"synckit@npm:^0.6.0": - version: 0.6.2 - resolution: "synckit@npm:0.6.2" - dependencies: - tslib: "npm:^2.3.1" - checksum: 10c0/9febaa6d1cbc21b57728e84d524e5925d47a72e1b81c18e055db20584f5ad31d38415d625feda761e44b6b4fe929b6e369f27956fb256fa779d38a33fb49e92d - languageName: node - linkType: hard - -"synckit@npm:^0.9.1": - version: 0.9.1 - resolution: "synckit@npm:0.9.1" +"synckit@npm:^0.10.2, synckit@npm:^0.6.2 || ^0.7.3 || ^0.10.3": + version: 0.10.3 + resolution: "synckit@npm:0.10.3" dependencies: - "@pkgr/core": "npm:^0.1.0" - tslib: "npm:^2.6.2" - checksum: 10c0/d8b89e1bf30ba3ffb469d8418c836ad9c0c062bf47028406b4d06548bc66af97155ea2303b96c93bf5c7c0f0d66153a6fbd6924c76521b434e6a9898982abc2e + "@pkgr/core": "npm:^0.2.0" + tslib: "npm:^2.8.1" + checksum: 10c0/9855d10231ae9b69c3aa08d46c96bd4befdcac33da44e29fb80e5c1430e453b5a33b8c073cdd25cfe9578f1d625c7d60c394ece1e202237116c1484def614041 languageName: node linkType: hard @@ -20317,14 +24534,14 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^2.0.0": +"tslib@npm:2, tslib@npm:^2.0.0, tslib@npm:^2.8.0, tslib@npm:^2.8.1": version: 2.8.1 resolution: "tslib@npm:2.8.1" checksum: 10c0/9c4759110a19c53f992d9aae23aac5ced636e99887b51b9e61def52611732872ff7668757d4e4c61f19691e36f4da981cd9485e869b4a7408d689f6bf1f14e62 languageName: node linkType: hard -"tslib@npm:^2.0.1, tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.2.0, tslib@npm:^2.3.0, tslib@npm:^2.3.1, tslib@npm:^2.4.0, tslib@npm:^2.6.2": +"tslib@npm:^2.0.1, tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.2.0, tslib@npm:^2.3.0, tslib@npm:^2.4.0, tslib@npm:^2.6.2": version: 2.6.3 resolution: "tslib@npm:2.6.3" checksum: 10c0/2598aef53d9dbe711af75522464b2104724d6467b26a60f2bdac8297d2b5f1f6b86a71f61717384aa8fd897240467aaa7bcc36a0700a0faf751293d1331db39a @@ -20429,6 +24646,17 @@ __metadata: languageName: node linkType: hard +"typed-array-buffer@npm:^1.0.2": + version: 1.0.2 + resolution: "typed-array-buffer@npm:1.0.2" + dependencies: + call-bind: "npm:^1.0.7" + es-errors: "npm:^1.3.0" + is-typed-array: "npm:^1.1.13" + checksum: 10c0/9e043eb38e1b4df4ddf9dde1aa64919ae8bb909571c1cc4490ba777d55d23a0c74c7d73afcdd29ec98616d91bb3ae0f705fad4421ea147e1daf9528200b562da + languageName: node + linkType: hard + "typed-array-buffer@npm:^1.0.3": version: 1.0.3 resolution: "typed-array-buffer@npm:1.0.3" @@ -20440,6 +24668,19 @@ __metadata: languageName: node linkType: hard +"typed-array-byte-length@npm:^1.0.1": + version: 1.0.1 + resolution: "typed-array-byte-length@npm:1.0.1" + dependencies: + call-bind: "npm:^1.0.7" + for-each: "npm:^0.3.3" + gopd: "npm:^1.0.1" + has-proto: "npm:^1.0.3" + is-typed-array: "npm:^1.1.13" + checksum: 10c0/fcebeffb2436c9f355e91bd19e2368273b88c11d1acc0948a2a306792f1ab672bce4cfe524ab9f51a0505c9d7cd1c98eff4235c4f6bfef6a198f6cfc4ff3d4f3 + languageName: node + linkType: hard + "typed-array-byte-length@npm:^1.0.3": version: 1.0.3 resolution: "typed-array-byte-length@npm:1.0.3" @@ -20453,6 +24694,21 @@ __metadata: languageName: node linkType: hard +"typed-array-byte-offset@npm:^1.0.3": + version: 1.0.3 + resolution: "typed-array-byte-offset@npm:1.0.3" + dependencies: + available-typed-arrays: "npm:^1.0.7" + call-bind: "npm:^1.0.7" + for-each: "npm:^0.3.3" + gopd: "npm:^1.0.1" + has-proto: "npm:^1.0.3" + is-typed-array: "npm:^1.1.13" + reflect.getprototypeof: "npm:^1.0.6" + checksum: 10c0/5da29585f96671c0521475226d3227000b3e01d1e99208b66bb05b75c7c8f4d0e9cc2e79920f3bfbc792a00102df1daa2608a2753e3f291b671d5a80245bde5b + languageName: node + linkType: hard + "typed-array-byte-offset@npm:^1.0.4": version: 1.0.4 resolution: "typed-array-byte-offset@npm:1.0.4" @@ -20547,6 +24803,18 @@ __metadata: languageName: node linkType: hard +"unbox-primitive@npm:^1.0.2": + version: 1.0.2 + resolution: "unbox-primitive@npm:1.0.2" + dependencies: + call-bind: "npm:^1.0.2" + has-bigints: "npm:^1.0.2" + has-symbols: "npm:^1.0.3" + which-boxed-primitive: "npm:^1.0.2" + checksum: 10c0/81ca2e81134167cc8f75fa79fbcc8a94379d6c61de67090986a2273850989dd3bae8440c163121b77434b68263e34787a675cbdcb34bb2f764c6b9c843a11b66 + languageName: node + linkType: hard + "unbox-primitive@npm:^1.1.0": version: 1.1.0 resolution: "unbox-primitive@npm:1.1.0" @@ -20794,6 +25062,15 @@ __metadata: languageName: node linkType: hard +"use-sync-external-store@npm:^1.4.0": + version: 1.4.0 + resolution: "use-sync-external-store@npm:1.4.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + checksum: 10c0/ec011a5055962c0f6b509d6e78c0b143f8cd069890ae370528753053c55e3b360d3648e76cfaa854faa7a59eb08d6c5fb1015e60ffde9046d32f5b2a295acea5 + languageName: node + linkType: hard + "util-deprecate@npm:^1.0.1, util-deprecate@npm:^1.0.2, util-deprecate@npm:~1.0.1": version: 1.0.2 resolution: "util-deprecate@npm:1.0.2" @@ -20901,9 +25178,9 @@ __metadata: languageName: node linkType: hard -"vite@npm:^5.4.11": - version: 5.4.11 - resolution: "vite@npm:5.4.11" +"vite@npm:^5.4.14": + version: 5.4.14 + resolution: "vite@npm:5.4.14" dependencies: esbuild: "npm:^0.21.3" fsevents: "npm:~2.3.3" @@ -20940,7 +25217,7 @@ __metadata: optional: true bin: vite: bin/vite.js - checksum: 10c0/d536bb7af57dd0eca2a808f95f5ff1d7b7ffb8d86e17c6893087680a0448bd0d15e07475270c8a6de65cb5115592d037130a1dd979dc76bcef8c1dda202a1874 + checksum: 10c0/8842933bd70ca6a98489a0bb9c8464bec373de00f9a97c8c7a4e64b24d15c88bfaa8c1acb38a68c3e5eb49072ffbccb146842c2d4edcdd036a9802964cffe3d1 languageName: node linkType: hard @@ -21037,6 +25314,19 @@ __metadata: languageName: node linkType: hard +"which-boxed-primitive@npm:^1.0.2": + version: 1.0.2 + resolution: "which-boxed-primitive@npm:1.0.2" + dependencies: + is-bigint: "npm:^1.0.1" + is-boolean-object: "npm:^1.1.0" + is-number-object: "npm:^1.0.4" + is-string: "npm:^1.0.5" + is-symbol: "npm:^1.0.3" + checksum: 10c0/0a62a03c00c91dd4fb1035b2f0733c341d805753b027eebd3a304b9cb70e8ce33e25317add2fe9b5fea6f53a175c0633ae701ff812e604410ddd049777cd435e + languageName: node + linkType: hard + "which-boxed-primitive@npm:^1.1.0, which-boxed-primitive@npm:^1.1.1": version: 1.1.1 resolution: "which-boxed-primitive@npm:1.1.1"