From a61591d757cd71be0b00cb8e211f03caf37bef5f Mon Sep 17 00:00:00 2001 From: Robert Snow Date: Tue, 20 May 2025 15:28:54 +1000 Subject: [PATCH 01/10] Starting point --- .../custom-addons/descriptions/register.js | 8 +- .storybook/custom-addons/provider/register.js | 17 +- .../custom-addons/scrolling/register.js | 5 +- .../custom-addons/strictmode/register.js | 7 +- package.json | 39 +- .../chromatic/DatePicker.stories.tsx | 2 +- .../chromatic/DateRangePicker.stories.tsx | 2 +- .../menu/chromatic/Submenu.stories.tsx | 2 +- .../picker/stories/Picker.stories.tsx | 2 +- .../s2/chromatic/ActionMenu.stories.tsx | 2 +- .../s2/chromatic/AlertDialog.stories.tsx | 2 +- .../s2/chromatic/Breadcrumbs.stories.tsx | 2 +- .../s2/chromatic/Combobox.stories.tsx | 2 +- .../s2/chromatic/ContextualHelp.stories.tsx | 2 +- .../s2/chromatic/Dialog.stories.tsx | 2 +- .../s2/chromatic/Menu.stories.tsx | 2 +- .../s2/chromatic/Picker.stories.tsx | 2 +- .../s2/chromatic/Tooltip.stories.tsx | 2 +- .../gen-iframe-modern.js | 74 + .../storybook-builder-parcel/gen-iframe.js | 60 + .../gen-preview-modern.js | 206 + .../storybook-builder-parcel/gen-preview.js | 116 + .../dev/storybook-builder-parcel/package.json | 16 + .../dev/storybook-builder-parcel/preset.js | 128 + .../dev/storybook-react-parcel/package.json | 18 + packages/dev/storybook-react-parcel/preset.js | 4 + patches/@storybook+csf-tools+7.6.19.patch | 10 - patches/@storybook+react+7.6.19.patch | 13 - patches/@storybook+types+7.6.19.patch | 76 - patches/@types+storybook__react+4.0.2.patch | 13 - starters/docs/package.json | 18 +- starters/tailwind/package.json | 16 +- yarn.lock | 3446 +++++------------ 33 files changed, 1732 insertions(+), 2584 deletions(-) create mode 100644 packages/dev/storybook-builder-parcel/gen-iframe-modern.js create mode 100644 packages/dev/storybook-builder-parcel/gen-iframe.js create mode 100644 packages/dev/storybook-builder-parcel/gen-preview-modern.js create mode 100644 packages/dev/storybook-builder-parcel/gen-preview.js create mode 100644 packages/dev/storybook-builder-parcel/package.json create mode 100644 packages/dev/storybook-builder-parcel/preset.js create mode 100644 packages/dev/storybook-react-parcel/package.json create mode 100644 packages/dev/storybook-react-parcel/preset.js delete mode 100644 patches/@storybook+csf-tools+7.6.19.patch delete mode 100644 patches/@storybook+react+7.6.19.patch delete mode 100644 patches/@storybook+types+7.6.19.patch delete mode 100644 patches/@types+storybook__react+4.0.2.patch diff --git a/.storybook/custom-addons/descriptions/register.js b/.storybook/custom-addons/descriptions/register.js index 9878e6714b4..2ece754638d 100644 --- a/.storybook/custom-addons/descriptions/register.js +++ b/.storybook/custom-addons/descriptions/register.js @@ -1,8 +1,6 @@ - -import {addons, types} from '@storybook/manager-api'; +import {addons, types, useParameter} from '@storybook/manager-api'; import { AddonPanel } from '@storybook/components'; import React from 'react'; -import { useParameter } from '@storybook/api'; const ADDON_ID = 'descriptionAddon'; const PANEL_ID = `${ADDON_ID}/panel`; @@ -19,10 +17,10 @@ addons.register(ADDON_ID, (api) => { addons.add(PANEL_ID, { type: types.PANEL, title: 'Description', - render: ({ active }) => ( + render: ({active}) => ( - ), + ) }); }); diff --git a/.storybook/custom-addons/provider/register.js b/.storybook/custom-addons/provider/register.js index e8d2d923ed9..c74549a2dd7 100644 --- a/.storybook/custom-addons/provider/register.js +++ b/.storybook/custom-addons/provider/register.js @@ -1,15 +1,8 @@ - import {addons, types} from '@storybook/manager-api'; -import {getQueryParams} from '@storybook/preview-api'; +import {useParameter} from '@storybook/preview-api'; import {locales} from '../../constants'; import React, {useEffect, useState} from 'react'; -const providerValuesFromUrl = Object.entries(getQueryParams()).reduce((acc, [k, v]) => { - if (k.includes('providerSwitcher-')) { - return { ...acc, [k.replace('providerSwitcher-', '')]: v }; - } - return acc; -}, {}); let THEMES = [ {label: 'Auto', value: ''}, @@ -37,7 +30,13 @@ let TOAST_POSITIONS = [ ]; function ProviderFieldSetter({api}) { - let [values, setValues] = useState({locale: providerValuesFromUrl.locale || undefined, theme: providerValuesFromUrl.theme || undefined, scale: providerValuesFromUrl.scale || undefined, express: providerValuesFromUrl.express === 'true'}); + + let [values, setValues] = useState({ + locale: useParameter('providerSwitcher-locale') || undefined, + theme: useParameter('providerSwitcher-theme') || undefined, + scale: useParameter('providerSwitcher-scale') || undefined, + express: useParameter('providerSwitcher-express') === 'true' + }); let channel = addons.getChannel(); let onLocaleChange = (e) => { let newValue = e.target.value || undefined; diff --git a/.storybook/custom-addons/scrolling/register.js b/.storybook/custom-addons/scrolling/register.js index b25f1be3087..277f39fc367 100644 --- a/.storybook/custom-addons/scrolling/register.js +++ b/.storybook/custom-addons/scrolling/register.js @@ -1,10 +1,11 @@ import {addons, types} from '@storybook/manager-api'; -import {getQueryParams} from '@storybook/preview-api'; +import {useParameter} from '@storybook/preview-api'; import React, {useEffect, useState} from 'react'; const ScrollingToolbar = ({api}) => { let channel = addons.getChannel(); - let [isScrolling, setScrolling] = useState(getQueryParams()?.scrolling === 'true' || false); + let scrolling = useParameter('scrolling'); + let [isScrolling, setScrolling] = useState(scrolling === 'true' || false); let onChange = () => { setScrolling((old) => { channel.emit('scrolling/updated', !old); diff --git a/.storybook/custom-addons/strictmode/register.js b/.storybook/custom-addons/strictmode/register.js index c4d1b2b9068..8699ad281f7 100644 --- a/.storybook/custom-addons/strictmode/register.js +++ b/.storybook/custom-addons/strictmode/register.js @@ -1,15 +1,16 @@ import {addons, types} from '@storybook/manager-api'; -import {getQueryParams} from '@storybook/preview-api'; +import {useParameter} from '@storybook/preview-api'; import React, {useEffect, useState} from 'react'; const StrictModeToolBar = ({api}) => { let channel = addons.getChannel(); - let [isStrict, setStrict] = useState(getQueryParams()?.strict !== 'false'); + let strictParam = useParameter('strict'); + let [isStrict, setStrict] = useState(strictParam !== 'false'); let onChange = () => { setStrict((old) => { channel.emit('strict/updated', !old); return !old; - }) + }); }; useEffect(() => { diff --git a/package.json b/package.json index 800bf981ed2..f08a9213a21 100644 --- a/package.json +++ b/package.json @@ -103,23 +103,21 @@ "@react-spectrum/s2-icon-builder": "^0.2.0", "@spectrum-css/component-builder": "workspace:^", "@spectrum-css/vars": "^2.3.0", - "@storybook/addon-a11y": "patch:@storybook/addon-a11y@npm%3A^7.6.19#~/.yarn/patches/@storybook-addon-a11y-npm-7.6.19-04b470eae0.patch", - "@storybook/addon-actions": "^7.6.19", - "@storybook/addon-controls": "^7.6.19", - "@storybook/addon-essentials": "^7.6.19", - "@storybook/addon-interactions": "^7.6.19", - "@storybook/addon-links": "^7.6.19", - "@storybook/addon-onboarding": "1.0.8", - "@storybook/addon-themes": "^7.6.19", - "@storybook/api": "^7.6.19", - "@storybook/components": "^7.6.19", - "@storybook/jest": "^0.2.3", - "@storybook/manager-api": "^7.6.19", - "@storybook/preview": "^7.6.19", - "@storybook/preview-api": "^7.6.19", - "@storybook/react": "^7.6.19", - "@storybook/test-runner": "^0.16.0", - "@storybook/testing-library": "^0.2.2", + "@storybook/addon-a11y": "^8.6.7", + "@storybook/addon-actions": "^8.6.7", + "@storybook/addon-controls": "^8.6.7", + "@storybook/addon-essentials": "^8.6.7", + "@storybook/addon-interactions": "^8.6.7", + "@storybook/addon-jest": "^8.6.7", + "@storybook/addon-links": "^8.6.7", + "@storybook/addon-onboarding": "^8.6.7", + "@storybook/addon-themes": "^8.6.7", + "@storybook/components": "^8.6.7", + "@storybook/manager-api": "^8.6.7", + "@storybook/preview": "^8.6.7", + "@storybook/preview-api": "^8.6.7", + "@storybook/react": "^8.6.7", + "@storybook/test-runner": "^0.22.0", "@stylistic/eslint-plugin-ts": "^2.9.0", "@swc/core": "^1.3.36", "@swc/jest": "^0.2.36", @@ -130,7 +128,6 @@ "@testing-library/user-event": "patch:@testing-library/user-event@npm%3A14.6.1#~/.yarn/patches/@testing-library-user-event-npm-14.6.1-5da7e1d4e2.patch", "@types/react": "npm:types-react@19.0.0-rc.0", "@types/react-dom": "npm:types-react-dom@19.0.0-rc.0", - "@types/storybook__react": "^4.0.2", "@yarnpkg/types": "^4.0.0", "autoprefixer": "^9.6.0", "axe-core": "^4.6.3", @@ -200,9 +197,9 @@ "rimraf": "^2.6.3", "sharp": "^0.33.5", "sinon": "^7.3.1", - "storybook": "^7.6.19", - "storybook-dark-mode": "^3.0.3", - "storybook-react-parcel": "^0.0.1", + "storybook": "^8.6.7", + "storybook-dark-mode": "^4.0.2", + "storybook-react-parcel": "workspace:^", "tailwind-variants": "patch:tailwind-variants@npm%3A0.3.1#~/.yarn/patches/tailwind-variants-npm-0.3.1-48888516de.patch", "tailwindcss": "^4.0.0", "tailwindcss-animate": "^1.0.7", diff --git a/packages/@react-spectrum/datepicker/chromatic/DatePicker.stories.tsx b/packages/@react-spectrum/datepicker/chromatic/DatePicker.stories.tsx index e928ab54be3..b02a069d1b5 100644 --- a/packages/@react-spectrum/datepicker/chromatic/DatePicker.stories.tsx +++ b/packages/@react-spectrum/datepicker/chromatic/DatePicker.stories.tsx @@ -16,7 +16,7 @@ import {ContextualHelp} from '@react-spectrum/contextualhelp'; import {DatePicker} from '../'; import {Heading} from '@react-spectrum/text'; import React from 'react'; -import {userEvent, within} from '@storybook/testing-library'; +import {userEvent, within} from '@storybook/test'; export default { title: 'DatePicker', diff --git a/packages/@react-spectrum/datepicker/chromatic/DateRangePicker.stories.tsx b/packages/@react-spectrum/datepicker/chromatic/DateRangePicker.stories.tsx index 411030f8d1c..4f08a1043b1 100644 --- a/packages/@react-spectrum/datepicker/chromatic/DateRangePicker.stories.tsx +++ b/packages/@react-spectrum/datepicker/chromatic/DateRangePicker.stories.tsx @@ -16,7 +16,7 @@ import {ContextualHelp} from '@react-spectrum/contextualhelp'; import {DateRangePicker} from '../'; import {Heading} from '@react-spectrum/text'; import React from 'react'; -import {userEvent, within} from '@storybook/testing-library'; +import {userEvent, within} from '@storybook/test'; export default { title: 'DateRangePicker', diff --git a/packages/@react-spectrum/menu/chromatic/Submenu.stories.tsx b/packages/@react-spectrum/menu/chromatic/Submenu.stories.tsx index 3803ad0380e..9cbbe39fd3a 100644 --- a/packages/@react-spectrum/menu/chromatic/Submenu.stories.tsx +++ b/packages/@react-spectrum/menu/chromatic/Submenu.stories.tsx @@ -22,7 +22,7 @@ import React from 'react'; import {SpectrumMenuTriggerProps} from '@react-types/menu'; import TextIndentIncrease from '@spectrum-icons/workflow/TextIndentIncrease'; import TextItalics from '@spectrum-icons/workflow/TextItalic'; -import {userEvent, within} from '@storybook/testing-library'; +import {userEvent, within} from '@storybook/test'; const meta: Meta = { title: 'MenuTrigger/SubmenuTrigger', diff --git a/packages/@react-spectrum/picker/stories/Picker.stories.tsx b/packages/@react-spectrum/picker/stories/Picker.stories.tsx index 79c62b7b6b3..a39a303e681 100644 --- a/packages/@react-spectrum/picker/stories/Picker.stories.tsx +++ b/packages/@react-spectrum/picker/stories/Picker.stories.tsx @@ -27,7 +27,7 @@ import {Item, Picker, Section, SpectrumPickerProps} from '../'; import Paste from '@spectrum-icons/workflow/Paste'; import React, {useState} from 'react'; import {useAsyncList} from '@react-stately/data'; -import {userEvent, within} from '@storybook/testing-library'; +import {userEvent, within} from '@storybook/test'; let flatOptions = [ {id: 1, name: 'Aardvark'}, diff --git a/packages/@react-spectrum/s2/chromatic/ActionMenu.stories.tsx b/packages/@react-spectrum/s2/chromatic/ActionMenu.stories.tsx index 3425c9909a0..2e612d13117 100644 --- a/packages/@react-spectrum/s2/chromatic/ActionMenu.stories.tsx +++ b/packages/@react-spectrum/s2/chromatic/ActionMenu.stories.tsx @@ -13,7 +13,7 @@ import {ActionMenu} from '../src'; import {DynamicExample, Example} from '../stories/ActionMenu.stories'; import type {Meta, StoryObj} from '@storybook/react'; -import {userEvent, within} from '@storybook/testing-library'; +import {userEvent, within} from '@storybook/test'; const meta: Meta> = { component: ActionMenu, diff --git a/packages/@react-spectrum/s2/chromatic/AlertDialog.stories.tsx b/packages/@react-spectrum/s2/chromatic/AlertDialog.stories.tsx index 84b1288f3f9..034a7bface4 100644 --- a/packages/@react-spectrum/s2/chromatic/AlertDialog.stories.tsx +++ b/packages/@react-spectrum/s2/chromatic/AlertDialog.stories.tsx @@ -13,7 +13,7 @@ import {AlertDialog} from '../src'; import {Example as Base} from '../stories/AlertDialog.stories'; import type {Meta, StoryObj} from '@storybook/react'; -import {userEvent, within} from '@storybook/testing-library'; +import {userEvent, within} from '@storybook/test'; const meta: Meta = { component: AlertDialog, diff --git a/packages/@react-spectrum/s2/chromatic/Breadcrumbs.stories.tsx b/packages/@react-spectrum/s2/chromatic/Breadcrumbs.stories.tsx index d8c72597c5b..d0f2dee80de 100644 --- a/packages/@react-spectrum/s2/chromatic/Breadcrumbs.stories.tsx +++ b/packages/@react-spectrum/s2/chromatic/Breadcrumbs.stories.tsx @@ -16,7 +16,7 @@ import {Many} from '../stories/Breadcrumbs.stories'; import type {Meta, StoryObj} from '@storybook/react'; import {shortName} from './utils'; import {style} from '../style' with { type: 'macro' }; -import {userEvent, within} from '@storybook/testing-library'; +import {userEvent, within} from '@storybook/test'; const meta: Meta = { component: Breadcrumbs, diff --git a/packages/@react-spectrum/s2/chromatic/Combobox.stories.tsx b/packages/@react-spectrum/s2/chromatic/Combobox.stories.tsx index cac5d8127b4..814e7b79941 100644 --- a/packages/@react-spectrum/s2/chromatic/Combobox.stories.tsx +++ b/packages/@react-spectrum/s2/chromatic/Combobox.stories.tsx @@ -14,7 +14,7 @@ import {AsyncComboBoxStory, ContextualHelpExample, CustomWidth, Dynamic, EmptyCo import {ComboBox} from '../src'; import {expect} from '@storybook/jest'; import type {Meta, StoryObj} from '@storybook/react'; -import {userEvent, waitFor, within} from '@storybook/testing-library'; +import {userEvent, waitFor, within} from '@storybook/test'; const meta: Meta> = { component: ComboBox, diff --git a/packages/@react-spectrum/s2/chromatic/ContextualHelp.stories.tsx b/packages/@react-spectrum/s2/chromatic/ContextualHelp.stories.tsx index 40c4088274d..c605ff3c7d3 100644 --- a/packages/@react-spectrum/s2/chromatic/ContextualHelp.stories.tsx +++ b/packages/@react-spectrum/s2/chromatic/ContextualHelp.stories.tsx @@ -13,7 +13,7 @@ import {ContextualHelp} from '../src'; import {Example} from '../stories/ContextualHelp.stories'; import type {Meta} from '@storybook/react'; -import {userEvent, within} from '@storybook/testing-library'; +import {userEvent, within} from '@storybook/test'; const meta: Meta = { component: ContextualHelp, diff --git a/packages/@react-spectrum/s2/chromatic/Dialog.stories.tsx b/packages/@react-spectrum/s2/chromatic/Dialog.stories.tsx index 8b56e6a2741..20fcf525cea 100644 --- a/packages/@react-spectrum/s2/chromatic/Dialog.stories.tsx +++ b/packages/@react-spectrum/s2/chromatic/Dialog.stories.tsx @@ -13,7 +13,7 @@ import {Dialog} from '../src'; import {DialogContainerExample, DialogTriggerExample, Example} from '../stories/Dialog.stories'; import type {Meta, StoryObj} from '@storybook/react'; -import {userEvent, within} from '@storybook/testing-library'; +import {userEvent, within} from '@storybook/test'; const meta: Meta = { component: Dialog, diff --git a/packages/@react-spectrum/s2/chromatic/Menu.stories.tsx b/packages/@react-spectrum/s2/chromatic/Menu.stories.tsx index 8a23c5cbd5f..4911856b00e 100644 --- a/packages/@react-spectrum/s2/chromatic/Menu.stories.tsx +++ b/packages/@react-spectrum/s2/chromatic/Menu.stories.tsx @@ -13,7 +13,7 @@ import {BlendModes, DynamicExample, Example, KeyboardShortcuts, PublishAndExport} from '../stories/Menu.stories'; import {Menu} from '../src'; import type {Meta} from '@storybook/react'; -import {userEvent, within} from '@storybook/testing-library'; +import {userEvent, within} from '@storybook/test'; const meta: Meta> = { component: Menu, diff --git a/packages/@react-spectrum/s2/chromatic/Picker.stories.tsx b/packages/@react-spectrum/s2/chromatic/Picker.stories.tsx index 6dfb2a95789..99b7b3fa9ab 100644 --- a/packages/@react-spectrum/s2/chromatic/Picker.stories.tsx +++ b/packages/@react-spectrum/s2/chromatic/Picker.stories.tsx @@ -14,7 +14,7 @@ import {AsyncPickerStory, ContextualHelpExample, CustomWidth, Dynamic, Example, import {expect} from '@storybook/jest'; import type {Meta, StoryObj} from '@storybook/react'; import {Picker} from '../src'; -import {userEvent, waitFor, within} from '@storybook/testing-library'; +import {userEvent, waitFor, within} from '@storybook/test'; const meta: Meta> = { component: Picker, diff --git a/packages/@react-spectrum/s2/chromatic/Tooltip.stories.tsx b/packages/@react-spectrum/s2/chromatic/Tooltip.stories.tsx index 9e7f0586a46..6291592f64b 100644 --- a/packages/@react-spectrum/s2/chromatic/Tooltip.stories.tsx +++ b/packages/@react-spectrum/s2/chromatic/Tooltip.stories.tsx @@ -13,7 +13,7 @@ import {Example, LongLabel} from '../stories/Tooltip.stories'; import type {Meta, StoryObj} from '@storybook/react'; import {Tooltip} from '../src'; -import {userEvent, within} from '@storybook/testing-library'; +import {userEvent, within} from '@storybook/test'; const meta: Meta = { component: Tooltip, diff --git a/packages/dev/storybook-builder-parcel/gen-iframe-modern.js b/packages/dev/storybook-builder-parcel/gen-iframe-modern.js new file mode 100644 index 00000000000..8781f0a4059 --- /dev/null +++ b/packages/dev/storybook-builder-parcel/gen-iframe-modern.js @@ -0,0 +1,74 @@ +const { normalizeStories } = require("@storybook/core-common"); + +const TEMPLATE = ` + + + + <!-- [TITLE HERE] --> + + + + + + +
+
+ + + + +`; + +module.exports.generateIframeModern = async function generateIframeModern(options) { + const { configType, features, presets, serverChannelUrl, title } = options; + const frameworkOptions = await presets.apply("frameworkOptions"); + const headHtmlSnippet = await presets.apply("previewHead"); + const bodyHtmlSnippet = await presets.apply("previewBody"); + const logLevel = await presets.apply("logLevel", undefined); + const docsOptions = await presets.apply("docs"); + + const coreOptions = await presets.apply("core"); + const stories = normalizeStories( + await options.presets.apply("stories", [], options), + { + configDir: options.configDir, + workingDir: process.cwd(), + } + ).map((specifier) => ({ + ...specifier, + importPathMatcher: specifier.importPathMatcher.source, + })); + + return TEMPLATE + .replace("", title || "Storybook") + .replace("[CONFIG_TYPE HERE]", configType || "") + .replace("[LOGLEVEL HERE]", logLevel || "") + .replace(`'[FRAMEWORK_OPTIONS HERE]'`, JSON.stringify(frameworkOptions)) + .replace( + `'[CHANNEL_OPTIONS HERE]'`, + JSON.stringify( + coreOptions && coreOptions.channelOptions + ? coreOptions.channelOptions + : {} + ) + ) + .replace(`'[FEATURES HERE]'`, JSON.stringify(features || {})) + .replace(`'[STORIES HERE]'`, JSON.stringify(stories || {})) + .replace(`'[DOCS_OPTIONS HERE]'`, JSON.stringify(docsOptions || {})) + .replace(`'[SERVER_CHANNEL_URL HERE]'`, JSON.stringify(serverChannelUrl)) + .replace("", headHtmlSnippet || "") + .replace("", bodyHtmlSnippet || ""); +}; diff --git a/packages/dev/storybook-builder-parcel/gen-iframe.js b/packages/dev/storybook-builder-parcel/gen-iframe.js new file mode 100644 index 00000000000..f3b8953c040 --- /dev/null +++ b/packages/dev/storybook-builder-parcel/gen-iframe.js @@ -0,0 +1,60 @@ +const { normalizeStories } = require("@storybook/core-common"); + +module.exports.generateIframe = async function generateIframe(options) { + const { configType, features, framework, presets, serverChannelUrl, title } = + options; + const headHtmlSnippet = await presets.apply("previewHead"); + const bodyHtmlSnippet = await presets.apply("previewBody"); + const logLevel = await presets.apply("logLevel", undefined); + const frameworkOptions = await presets.apply(`${framework}Options`, {}); + const coreOptions = await presets.apply("core"); + const stories = normalizeStories( + await options.presets.apply("stories", [], options), + { + configDir: options.configDir, + workingDir: process.cwd(), + } + ).map((specifier) => ({ + ...specifier, + importPathMatcher: specifier.importPathMatcher.source, + })); + + let code = ` + + + + + ${title || "Storybook"} + + + ${headHtmlSnippet || ""} + + + + ${bodyHtmlSnippet || ""} +
+
+ + + + `; + + return code; +}; diff --git a/packages/dev/storybook-builder-parcel/gen-preview-modern.js b/packages/dev/storybook-builder-parcel/gen-preview-modern.js new file mode 100644 index 00000000000..92dde16c466 --- /dev/null +++ b/packages/dev/storybook-builder-parcel/gen-preview-modern.js @@ -0,0 +1,206 @@ +const path = require("path"); +const { + loadPreviewOrConfigFile, + getFrameworkName, + normalizeStories, + stripAbsNodeModulesPath, +} = require("@storybook/core-common"); +const { logger } = require("@storybook/node-logger"); +const { promise: glob } = require("glob-promise"); + +const absoluteToSpecifier = (generatedEntries, abs) => + "./" + path.relative(generatedEntries, abs); + +module.exports.generatePreviewModern = async function generatePreviewModern( + options, + generatedEntries +) { + const { presets, configDir } = options; + const frameworkName = await getFrameworkName(options); + + const previewAnnotations = await presets.apply( + "previewAnnotations", + [], + options + ); + const relativePreviewAnnotations = [ + ...previewAnnotations.map(processPreviewAnnotation), + absoluteToSpecifier( + generatedEntries, + loadPreviewOrConfigFile({ configDir }) + ), + ].filter(Boolean); + + const generateHMRHandler = (frameworkName) => { + // Web components are not compatible with HMR, so disable HMR, reload page instead. + if (frameworkName === "@storybook/web-components-vite") { + return ` + if (import.meta.hot) { + import.meta.hot.decline(); + }`.trim(); + } + + return ` + if (import.meta.hot) { + import.meta.hot.accept('${virtualStoriesFile}', (newModule) => { + // importFn has changed so we need to patch the new one in + preview.onStoriesChanged({ importFn: newModule.importFn }); + }); + + import.meta.hot.accept(${JSON.stringify( + relativePreviewAnnotations + )}, ([...newConfigEntries]) => { + const newGetProjectAnnotations = () => composeConfigs(newConfigEntries); + + // getProjectAnnotations has changed so we need to patch the new one in + preview.onGetProjectAnnotationsChanged({ getProjectAnnotations: newGetProjectAnnotations }); + }); + }`.trim(); + }; + + /** + * This code is largely taken from https://github.com/storybookjs/storybook/blob/d1195cbd0c61687f1720fefdb772e2f490a46584/lib/builder-webpack4/src/preview/virtualModuleModernEntry.js.handlebars + * Some small tweaks were made to `getProjectAnnotations` (since `import()` needs to be resolved asynchronously) + * and the HMR implementation has been tweaked to work with Vite. + * @todo Inline variable and remove `noinspection` + */ + const code = ` + import { composeConfigs, PreviewWeb, ClientApi } from '@storybook/preview-api'; + + // generateAddonSetupCode + import { createBrowserChannel } from '@storybook/channels'; + import { addons } from '@storybook/preview-api'; + + const channel = createBrowserChannel({ page: 'preview' }); + addons.setChannel(channel); + window.__STORYBOOK_ADDONS_CHANNEL__ = channel; + + ${ + // import { importFn } from '${virtualStoriesFile}'; + await generateImportFnScriptCode(options, generatedEntries) + } + + const getProjectAnnotations = async () => { + const configs = await Promise.all([${relativePreviewAnnotations + .map((previewAnnotation) => `import('${previewAnnotation}')`) + .join(",\n")}]) + return composeConfigs(configs); + } + + const preview = new PreviewWeb(); + + window.__STORYBOOK_PREVIEW__ = preview; + window.__STORYBOOK_STORY_STORE__ = preview.storyStore; + window.__STORYBOOK_CLIENT_API__ = new ClientApi({ storyStore: preview.storyStore }); + + preview.initialize({ importFn, getProjectAnnotations }); + + `; + // ${generateHMRHandler(frameworkName)}; + return code; +}; + +function processPreviewAnnotation(path) { + // If entry is an object, take the first, which is the + // bare (non-absolute) specifier. + // This is so that webpack can use an absolute path, and + // continue supporting super-addons in pnp/pnpm without + // requiring them to re-export their sub-addons as we do + // in addon-essentials. + if (typeof path === "object") { + return path.bare; + } + // resolve relative paths into absolute paths, but don't resolve "bare" imports + if (path?.startsWith("./") || path?.startsWith("../")) { + return /*slash*/ path.resolve(path); + } + // This should not occur, since we use `.filter(Boolean)` prior to + // calling this function, but this makes typescript happy + if (!path) { + throw new Error("Could not determine path for previewAnnotation"); + } + + // For addon dependencies that use require.resolve(), we need to convert to a bare path + // so that vite will process it as a dependency (cjs -> esm, etc). + if (path.includes("node_modules")) { + return stripAbsNodeModulesPath(path); + } + + return /*slash*/ path; +} + +/** + * This file is largely based on https://github.com/storybookjs/storybook/blob/d1195cbd0c61687f1720fefdb772e2f490a46584/lib/core-common/src/utils/to-importFn.ts + */ + +/** + * Paths get passed either with no leading './' - e.g. `src/Foo.stories.js`, + * or with a leading `../` (etc), e.g. `../src/Foo.stories.js`. + * We want to deal in importPaths relative to the working dir, so we normalize + */ +function toImportPath(relativePath) { + return relativePath.startsWith("../") ? relativePath : `./${relativePath}`; +} + +/** + * This function takes an array of stories and creates a mapping between the stories' relative paths + * to the working directory and their dynamic imports. The import is done in an asynchronous function + * to delay loading. It then creates a function, `importFn(path)`, which resolves a path to an import + * function and this is called by Storybook to fetch a story dynamically when needed. + * @param stories An array of absolute story paths. + */ +async function toImportFn(stories, generatedEntries) { + const objectEntries = stories.map((file) => { + const ext = path.extname(file); + const relativePath = /*normalizePath*/ path.relative(process.cwd(), file); + if (![".js", ".jsx", ".ts", ".tsx", ".mdx"].includes(ext)) { + logger.warn( + `Cannot process ${ext} file with storyStoreV7: ${relativePath}` + ); + } + + return ` '${toImportPath( + relativePath + )}': async () => import('${absoluteToSpecifier(generatedEntries, file)}')`; + }); + + return ` + const importers = { + ${objectEntries.join(",\n")} + }; + + async function importFn(path) { + return importers[path](); + } + `; +} + +async function generateImportFnScriptCode(options, generatedEntries) { + // First we need to get an array of stories and their absolute paths. + const stories = await listStories(options); + + // We can then call toImportFn to create a function that can be used to load each story dynamically. + return (await toImportFn(stories, generatedEntries)).trim(); +} + +async function listStories(options) { + return ( + await Promise.all( + normalizeStories(await options.presets.apply("stories", [], options), { + configDir: options.configDir, + workingDir: options.configDir, + }).map(({ directory, files }) => { + const pattern = path.join(directory, files); + + return glob( + path.isAbsolute(pattern) + ? pattern + : path.join(options.configDir, pattern), + { + follow: true, + } + ); + }) + ) + ).reduce((carry, stories) => carry.concat(stories), []); +} diff --git a/packages/dev/storybook-builder-parcel/gen-preview.js b/packages/dev/storybook-builder-parcel/gen-preview.js new file mode 100644 index 00000000000..d9ebd6d1fb7 --- /dev/null +++ b/packages/dev/storybook-builder-parcel/gen-preview.js @@ -0,0 +1,116 @@ +const path = require("path"); +const { + normalizeStories, + loadPreviewOrConfigFile, +} = require("@storybook/core-common"); + +module.exports.generatePreview = async function generatePreview( + options, + generatedEntries +) { + let { presets } = options; + let configs = [ + ...(await presets.apply("config", [], options)), + loadPreviewOrConfigFile(options), + ].filter(Boolean); + let stories = normalizeStories(await presets.apply("stories", [], options), { + configDir: options.configDir, + workingDir: process.cwd(), + }); + + let dir = path.relative( + generatedEntries, + path.join(process.cwd(), stories[0].directory) + ); + let files = stories[0].files; + + let code = ` + import 'regenerator-runtime'; + import {configure} from '@storybook/react'; + import { + addDecorator, + addParameters, + addLoader, + addArgTypesEnhancer, + addArgsEnhancer + } from '@storybook/preview-api'; + import { logger } from '@storybook/client-logger'; + import * as stories from '${path.join(dir, files)}'; + ${configs + .map( + (config, i) => + `import * as config_${i} from '${path.relative( + generatedEntries, + config + )}';` + ) + .join("\n")} + let configs = [${configs.map((_, i) => `config_${i}`)}]; + + configs.forEach(config => { + Object.keys(config).forEach((key) => { + const value = config[key]; + switch (key) { + case 'args': + case 'argTypes': { + return logger.warn('Invalid args/argTypes in config, ignoring.', JSON.stringify(value)); + } + case 'decorators': { + return value.forEach((decorator) => addDecorator(decorator, false)); + } + case 'loaders': { + return value.forEach((loader) => addLoader(loader, false)); + } + case 'parameters': { + return addParameters({ ...value }, false); + } + case 'argTypesEnhancers': { + return value.forEach((enhancer) => addArgTypesEnhancer(enhancer)); + } + case 'argsEnhancers': { + return value.forEach((enhancer) => addArgsEnhancer(enhancer)) + } + case 'globals': + case 'globalTypes': { + const v = {}; + v[key] = value; + return addParameters(v, false); + } + case 'decorateStory': + case 'renderToDOM': + case 'render': { + return null; // This key is not handled directly in v6 mode. + } + default: { + // eslint-disable-next-line prefer-template + return console.log(key + ' was not supported :( !'); + } + } + }); + }); + + let keyMap = {}; + function walk(obj, key) { + for (let k in obj) { + if (k === 'tsx' || k === 'ts' || k === 'js' || k === 'jsx') { + keyMap[key + '.' + k] = obj[k]; + } else { + walk(obj[k], (key ? key + '/' : '') + k); + } + } + } + + walk(stories); + + function context(key) { + return keyMap[key]; + } + + context.keys = () => Object.keys(keyMap); + context.resolve = (key) => key; + + configure(context, module, false); + `; + + return code; +}; diff --git a/packages/dev/storybook-builder-parcel/package.json b/packages/dev/storybook-builder-parcel/package.json new file mode 100644 index 00000000000..507030f22fa --- /dev/null +++ b/packages/dev/storybook-builder-parcel/package.json @@ -0,0 +1,16 @@ +{ + "name": "storybook-builder-parcel", + "version": "0.0.0", + "main": "preset.js", + "oldDeps": { + "@storybook/core-common": "^8.6.7" + }, + "dependencies": { + "@storybook/core-common": "^8.6.7", + "http-proxy-middleware": "^2.0.6" + }, + "peerDependencies": { + "@parcel/core": "^2.0.0", + "react": "*" + } +} diff --git a/packages/dev/storybook-builder-parcel/preset.js b/packages/dev/storybook-builder-parcel/preset.js new file mode 100644 index 00000000000..b2076be6b23 --- /dev/null +++ b/packages/dev/storybook-builder-parcel/preset.js @@ -0,0 +1,128 @@ +const { Parcel } = require("@parcel/core"); +const path = require("path"); +const { createProxyMiddleware } = require("http-proxy-middleware"); +const { + normalizeStories, + loadPreviewOrConfigFile, +} = require("@storybook/core-common"); +const fs = require("fs"); + +const { generateIframeModern } = require("./gen-iframe-modern.js"); +const { generateIframe } = require("./gen-iframe.js"); +const { generatePreviewModern } = require("./gen-preview-modern.js"); +const { generatePreview } = require("./gen-preview.js"); + +const generatedEntries = path.join(__dirname, "generated-entries"); + +exports.start = async function ({ options, router }) { + let parcel = await createParcel(options, true); + + router.use(async (req, res, next) => { + if (req.url === "/" || req.url === "/index.html") { + return next(); + } + + let proxy = createProxyMiddleware({ + target: "http://localhost:3000/", + selfHandleResponse: true, + logLevel: "warn", + onProxyRes(proxyRes, req, res) { + // Parcel dev server responds with main HTML page if the file doesn't exist... + if ( + proxyRes.statusCode === 404 || + (proxyRes.headers["content-type"]?.startsWith("text/html") && + !req.url.startsWith("/iframe.html")) + ) { + return next(); + } else { + res.statusCode = proxyRes.statusCode; + for (let header in proxyRes.headers) { + res.setHeader(header, proxyRes.headers[header]); + } + proxyRes.pipe(res); + } + }, + }); + + // Remove socket/connection temporarily to prevent proxy from subscribing to `close` event and triggering warning. + let { socket, connection } = req; + req.socket = null; + req.connection = null; + await proxy(req, res, next); + req.socket = socket; + req.connection = connection; + }); + + let subscription = await parcel.watch(); + process.on("SIGINT", async () => { + await subscription.unsubscribe(); + process.exit(); + }); + + return { + async bail(e) { + await subscription.unsubscribe(); + }, + stats: {}, + totalTime: 0, + }; +}; + +exports.build = async function ({ options }) { + let parcel = await createParcel(options); + await parcel.run(); +}; + +exports.corePresets = []; +exports.previewPresets = []; +exports.bail = async () => {}; + +async function createParcel(options, isDev = false) { + fs.mkdirSync(generatedEntries, { recursive: true }); + if (options.features?.storyStoreV7) { + fs.writeFileSync( + path.join(generatedEntries, "iframe.html"), + await generateIframeModern(options, generatedEntries) + ); + fs.writeFileSync( + path.join(generatedEntries, "preview.js"), + await generatePreviewModern(options, generatedEntries) + ); + } else { + fs.writeFileSync( + path.join(generatedEntries, "iframe.html"), + await generateIframe(options, generatedEntries) + ); + fs.writeFileSync( + path.join(generatedEntries, "preview.js"), + await generatePreview(options, generatedEntries) + ); + } + + return new Parcel({ + entries: path.join(generatedEntries, "iframe.html"), + config: path.resolve(options.configDir, ".parcelrc"), + mode: isDev ? "development" : "production", + serveOptions: isDev + ? { + port: 3000, + } + : null, + hmrOptions: isDev + ? { + port: 3001, + } + : null, + additionalReporters: [ + { + packageName: "@parcel/reporter-cli", + resolveFrom: __filename, + }, + ], + defaultTargetOptions: { + distDir: options.outputDir, + publicUrl: "./", + shouldScopeHoist: isDev ? false : true, + }, + }); +} diff --git a/packages/dev/storybook-react-parcel/package.json b/packages/dev/storybook-react-parcel/package.json new file mode 100644 index 00000000000..5dec7866e00 --- /dev/null +++ b/packages/dev/storybook-react-parcel/package.json @@ -0,0 +1,18 @@ +{ + "name": "storybook-react-parcel", + "version": "0.0.1", + "main": "preset.js", + "dependencies": { + "@storybook/react": "^8.6.7", + "storybook-builder-parcel": "workspace:^" + }, + "peerDependencies": { + "react": "^18.2.0", + "react-dom": "^18.2.0", + "storybook": "^8.6.7" + }, + "scripts": { + "build": "true", + "clean": "true" + } +} diff --git a/packages/dev/storybook-react-parcel/preset.js b/packages/dev/storybook-react-parcel/preset.js new file mode 100644 index 00000000000..23efab859db --- /dev/null +++ b/packages/dev/storybook-react-parcel/preset.js @@ -0,0 +1,4 @@ +module.exports.core = { + builder: 'storybook-builder-parcel', + renderer: '@storybook/react' +}; diff --git a/patches/@storybook+csf-tools+7.6.19.patch b/patches/@storybook+csf-tools+7.6.19.patch deleted file mode 100644 index 46da240d6c5..00000000000 --- a/patches/@storybook+csf-tools+7.6.19.patch +++ /dev/null @@ -1,10 +0,0 @@ -diff --git a/node_modules/@storybook/csf-tools/dist/index.js b/node_modules/@storybook/csf-tools/dist/index.js -index bfc04db..81072bb 100644 ---- a/node_modules/@storybook/csf-tools/dist/index.js -+++ b/node_modules/@storybook/csf-tools/dist/index.js -@@ -1,4 +1,4 @@ --"use strict";var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var src_exports={};__export(src_exports,{ConfigFile:()=>ConfigFile,CsfFile:()=>CsfFile,NoMetaError:()=>NoMetaError,babelParse:()=>babelParse,babelParseExpression:()=>babelParseExpression,babelPrint:()=>babelPrint,enrichCsf:()=>enrichCsf,enrichCsfMeta:()=>enrichCsfMeta,enrichCsfStory:()=>enrichCsfStory,extractDescription:()=>extractDescription,extractSource:()=>extractSource,formatConfig:()=>formatConfig,formatCsf:()=>formatCsf,getStorySortParameter:()=>getStorySortParameter,loadConfig:()=>loadConfig,loadCsf:()=>loadCsf,parserOptions:()=>parserOptions,printConfig:()=>printConfig,printCsf:()=>printCsf,readConfig:()=>readConfig,readCsf:()=>readCsf,writeConfig:()=>writeConfig,writeCsf:()=>writeCsf});module.exports=__toCommonJS(src_exports);var import_fs_extra=__toESM(require("fs-extra")),import_ts_dedent=require("ts-dedent"),t2=__toESM(require("@babel/types")),generate=__toESM(require("@babel/generator")),recast2=__toESM(require("recast")),traverse=__toESM(require("@babel/traverse")),import_csf=require("@storybook/csf");var babelParser=__toESM(require("@babel/parser")),recast=__toESM(require("recast"));function parseWithFlowOrTypescript(source,parserOptions2){let parserPlugins=/^\s*\/\/\s*@flow/.test(source)?["flow"]:["typescript"],mergedParserOptions={...parserOptions2,plugins:[...parserOptions2.plugins??[],...parserPlugins]};return babelParser.parse(source,mergedParserOptions)}var parserOptions={sourceType:"module",plugins:["jsx","decorators-legacy","classProperties"],tokens:!0},babelParse=code=>recast.parse(code,{parser:{parse(source){return parseWithFlowOrTypescript(source,parserOptions)}}}),babelPrint=ast=>recast.print(ast,{quote:"single",trailingComma:!0,tabWidth:2,wrapColumn:80,arrowParensAlways:!0}).code,babelParseExpression=code=>babelParser.parseExpression(code,parserOptions);var t=__toESM(require("@babel/types")),findVarInitialization=(identifier3,program)=>{let init=null,declarations=null;return program.body.find(node=>(t.isVariableDeclaration(node)?declarations=node.declarations:t.isExportNamedDeclaration(node)&&t.isVariableDeclaration(node.declaration)&&(declarations=node.declaration.declarations),declarations&&declarations.find(decl=>t.isVariableDeclarator(decl)&&t.isIdentifier(decl.id)&&decl.id.name===identifier3?(init=decl.init,!0):!1))),init};var logger=console;function parseIncludeExclude(prop){if(t2.isArrayExpression(prop))return prop.elements.map(e=>{if(t2.isStringLiteral(e))return e.value;throw new Error(`Expected string literal: ${e}`)});if(t2.isStringLiteral(prop))return new RegExp(prop.value);if(t2.isRegExpLiteral(prop))return new RegExp(prop.pattern,prop.flags);throw new Error(`Unknown include/exclude: ${prop}`)}function parseTags(prop){if(!t2.isArrayExpression(prop))throw new Error("CSF: Expected tags array");return prop.elements.map(e=>{if(t2.isStringLiteral(e))return e.value;throw new Error("CSF: Expected tag to be string literal")})}var formatLocation=(node,fileName)=>{var _a;let{line,column}=((_a=node.loc)==null?void 0:_a.start)||{};return`${fileName||""} (line ${line}, col ${column})`.trim()},isArgsStory=(init,parent,csf)=>{let storyFn=init;if(t2.isCallExpression(init)){let{callee,arguments:bindArguments}=init;if(t2.isProgram(parent)&&t2.isMemberExpression(callee)&&t2.isIdentifier(callee.object)&&t2.isIdentifier(callee.property)&&callee.property.name==="bind"&&(bindArguments.length===0||bindArguments.length===1&&t2.isObjectExpression(bindArguments[0])&&bindArguments[0].properties.length===0)){let boundIdentifier=callee.object.name,template=findVarInitialization(boundIdentifier,parent);template&&(csf._templates[boundIdentifier]=template,storyFn=template)}}return t2.isArrowFunctionExpression(storyFn)||t2.isFunctionDeclaration(storyFn)?storyFn.params.length>0:!1},parseExportsOrder=init=>{if(t2.isArrayExpression(init))return init.elements.map(item=>{if(t2.isStringLiteral(item))return item.value;throw new Error(`Expected string literal named export: ${item}`)});throw new Error(`Expected array of string literals: ${init}`)},sortExports=(exportByName,order)=>order.reduce((acc,name)=>{let namedExport=exportByName[name];return namedExport&&(acc[name]=namedExport),acc},{}),NoMetaError=class extends Error{constructor(message,ast,fileName){super(import_ts_dedent.dedent` -+"use strict";var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var src_exports={};__export(src_exports,{ConfigFile:()=>ConfigFile,CsfFile:()=>CsfFile,NoMetaError:()=>NoMetaError,babelParse:()=>babelParse,babelParseExpression:()=>babelParseExpression,babelPrint:()=>babelPrint,enrichCsf:()=>enrichCsf,enrichCsfMeta:()=>enrichCsfMeta,enrichCsfStory:()=>enrichCsfStory,extractDescription:()=>extractDescription,extractSource:()=>extractSource,formatConfig:()=>formatConfig,formatCsf:()=>formatCsf,getStorySortParameter:()=>getStorySortParameter,loadConfig:()=>loadConfig,loadCsf:()=>loadCsf,parserOptions:()=>parserOptions,printConfig:()=>printConfig,printCsf:()=>printCsf,readConfig:()=>readConfig,readCsf:()=>readCsf,writeConfig:()=>writeConfig,writeCsf:()=>writeCsf});module.exports=__toCommonJS(src_exports);var import_fs_extra=__toESM(require("fs-extra")),import_ts_dedent=require("ts-dedent"),t2=__toESM(require("@babel/types")),generate=__toESM(require("@babel/generator")),recast2=__toESM(require("recast")),traverse=__toESM(require("@babel/traverse")),import_csf=require("@storybook/csf");var babelParser=__toESM(require("@babel/parser")),recast=__toESM(require("recast"));function parseWithFlowOrTypescript(source,parserOptions2){let parserPlugins=/^\s*\/\/\s*@flow/.test(source)?["flow"]:["typescript"],mergedParserOptions={...parserOptions2,plugins:[...parserOptions2.plugins??[],...parserPlugins]};return babelParser.parse(source,mergedParserOptions)}var parserOptions={sourceType:"module",plugins:["jsx","decorators-legacy","classProperties","importAttributes"],tokens:!0},babelParse=code=>recast.parse(code,{parser:{parse(source){return parseWithFlowOrTypescript(source,parserOptions)}}}),babelPrint=ast=>recast.print(ast,{quote:"single",trailingComma:!0,tabWidth:2,wrapColumn:80,arrowParensAlways:!0}).code,babelParseExpression=code=>babelParser.parseExpression(code,parserOptions);var t=__toESM(require("@babel/types")),findVarInitialization=(identifier3,program)=>{let init=null,declarations=null;return program.body.find(node=>(t.isVariableDeclaration(node)?declarations=node.declarations:t.isExportNamedDeclaration(node)&&t.isVariableDeclaration(node.declaration)&&(declarations=node.declaration.declarations),declarations&&declarations.find(decl=>t.isVariableDeclarator(decl)&&t.isIdentifier(decl.id)&&decl.id.name===identifier3?(init=decl.init,!0):!1))),init};var logger=console;function parseIncludeExclude(prop){if(t2.isArrayExpression(prop))return prop.elements.map(e=>{if(t2.isStringLiteral(e))return e.value;throw new Error(`Expected string literal: ${e}`)});if(t2.isStringLiteral(prop))return new RegExp(prop.value);if(t2.isRegExpLiteral(prop))return new RegExp(prop.pattern,prop.flags);throw new Error(`Unknown include/exclude: ${prop}`)}function parseTags(prop){if(!t2.isArrayExpression(prop))throw new Error("CSF: Expected tags array");return prop.elements.map(e=>{if(t2.isStringLiteral(e))return e.value;throw new Error("CSF: Expected tag to be string literal")})}var formatLocation=(node,fileName)=>{var _a;let{line,column}=((_a=node.loc)==null?void 0:_a.start)||{};return`${fileName||""} (line ${line}, col ${column})`.trim()},isArgsStory=(init,parent,csf)=>{let storyFn=init;if(t2.isCallExpression(init)){let{callee,arguments:bindArguments}=init;if(t2.isProgram(parent)&&t2.isMemberExpression(callee)&&t2.isIdentifier(callee.object)&&t2.isIdentifier(callee.property)&&callee.property.name==="bind"&&(bindArguments.length===0||bindArguments.length===1&&t2.isObjectExpression(bindArguments[0])&&bindArguments[0].properties.length===0)){let boundIdentifier=callee.object.name,template=findVarInitialization(boundIdentifier,parent);template&&(csf._templates[boundIdentifier]=template,storyFn=template)}}return t2.isArrowFunctionExpression(storyFn)||t2.isFunctionDeclaration(storyFn)?storyFn.params.length>0:!1},parseExportsOrder=init=>{if(t2.isArrayExpression(init))return init.elements.map(item=>{if(t2.isStringLiteral(item))return item.value;throw new Error(`Expected string literal named export: ${item}`)});throw new Error(`Expected array of string literals: ${init}`)},sortExports=(exportByName,order)=>order.reduce((acc,name)=>{let namedExport=exportByName[name];return namedExport&&(acc[name]=namedExport),acc},{}),NoMetaError=class extends Error{constructor(message,ast,fileName){super(import_ts_dedent.dedent` - CSF: ${message} ${formatLocation(ast,fileName)} - - More info: https://storybook.js.org/docs/react/writing-stories#default-export diff --git a/patches/@storybook+react+7.6.19.patch b/patches/@storybook+react+7.6.19.patch deleted file mode 100644 index 00061d60f5e..00000000000 --- a/patches/@storybook+react+7.6.19.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/node_modules/@storybook/react/dist/index.d.ts b/node_modules/@storybook/react/dist/index.d.ts -index 4d065a3..e2d4c50 100644 ---- a/node_modules/@storybook/react/dist/index.d.ts -+++ b/node_modules/@storybook/react/dist/index.d.ts -@@ -2,7 +2,7 @@ import * as _storybook_types from '@storybook/types'; - import { Addon_ClientStoryApi, Addon_Loadable, Args, ComponentAnnotations, AnnotatedStoryFn, ArgsStoryFn, ArgsFromMeta, StoryAnnotations, DecoratorFunction, StrictArgs, LoaderFunction, StoryContext as StoryContext$1, ProjectAnnotations, StoryAnnotationsOrFn, Store_CSFExports, StoriesWithPartialProps } from '@storybook/types'; - export { ArgTypes, Args, Parameters, StrictArgs } from '@storybook/types'; - import { R as ReactRenderer } from './types-0fc72a6d.js'; --import { ComponentType, ComponentProps, JSXElementConstructor } from 'react'; -+import { ComponentType, ComponentProps, JSXElementConstructor, JSX } from 'react'; - import { Simplify, SetOptional } from 'type-fest'; - - interface ClientApi extends Addon_ClientStoryApi { diff --git a/patches/@storybook+types+7.6.19.patch b/patches/@storybook+types+7.6.19.patch deleted file mode 100644 index 5d6141e00dc..00000000000 --- a/patches/@storybook+types+7.6.19.patch +++ /dev/null @@ -1,76 +0,0 @@ -diff --git a/node_modules/@storybook/types/dist/index.d.ts b/node_modules/@storybook/types/dist/index.d.ts -index 1df952a..227cfce 100644 ---- a/node_modules/@storybook/types/dist/index.d.ts -+++ b/node_modules/@storybook/types/dist/index.d.ts -@@ -1,4 +1,4 @@ --import { ReactElement, ReactNode, WeakValidationMap, ValidationMap, FC, PropsWithChildren } from 'react'; -+import { ReactElement, ReactNode, FC, PropsWithChildren } from 'react'; - import { FileSystemCache } from 'file-system-cache'; - import { TransformOptions } from '@babel/core'; - import { Router } from 'express'; -@@ -4518,7 +4518,7 @@ interface Addon_BaseType { - * The title of the addon. - * This can be a simple string, but it can also be a React.FunctionComponent or a React.ReactElement. - */ -- title: FCWithoutChildren | ReactNode; -+ title: FC | ReactNode; - /** - * The type of the addon. - * @example Addon_TypesEnum.PANEL -@@ -4567,19 +4567,7 @@ interface Addon_BaseType { - */ - hidden?: boolean; - } --/** -- * This is a copy of FC from react/index.d.ts, but has the PropsWithChildren type removed -- * this is correct and more type strict, and future compatible with React.FC in React 18+ -- * -- * @deprecated This type is deprecated and will be removed in 8.0. (assuming the manager uses React 18 is out by then) -- */ --interface FCWithoutChildren

{ -- (props: P, context?: any): ReactElement | null; -- propTypes?: WeakValidationMap

| undefined; -- contextTypes?: ValidationMap | undefined; -- defaultProps?: Partial

| undefined; -- displayName?: string | undefined; --} -+ - interface Addon_PageType { - type: Addon_TypesEnum.experimental_PAGE; - /** -@@ -4593,7 +4581,7 @@ interface Addon_PageType { - /** - * The title is used in mobile mode to represent the page in the navigation. - */ -- title: FCWithoutChildren | string | ReactElement | ReactNode; -+ title: FC | string | ReactElement | ReactNode; - /** - * The main content of the addon, a function component without any props. - * Storybook will render your component always. -@@ -4610,7 +4598,7 @@ interface Addon_PageType { - * ); - * }; - */ -- render: FCWithoutChildren; -+ render: FC; - } - interface Addon_WrapperType { - type: Addon_TypesEnum.PREVIEW; -@@ -4640,7 +4628,7 @@ interface Addon_SidebarBottomType { - /** - * A React.FunctionComponent. - */ -- render: FCWithoutChildren; -+ render: FC; - } - interface Addon_SidebarTopType { - type: Addon_TypesEnum.experimental_SIDEBAR_TOP; -@@ -4651,7 +4639,7 @@ interface Addon_SidebarTopType { - /** - * A React.FunctionComponent. - */ -- render: FCWithoutChildren; -+ render: FC; - } - type Addon_TypeBaseNames = Exclude; - interface Addon_TypesMapping extends Record { diff --git a/patches/@types+storybook__react+4.0.2.patch b/patches/@types+storybook__react+4.0.2.patch deleted file mode 100644 index aa401177004..00000000000 --- a/patches/@types+storybook__react+4.0.2.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/node_modules/@types/storybook__react/index.d.ts b/node_modules/@types/storybook__react/index.d.ts -index 41de749..9a33396 100644 ---- a/node_modules/@types/storybook__react/index.d.ts -+++ b/node_modules/@types/storybook__react/index.d.ts -@@ -8,7 +8,7 @@ - - /// - --import * as React from 'react'; -+import React, {JSX} from 'react'; - - export type Renderable = React.ComponentType | JSX.Element; - export type RenderFunction = () => Renderable | Renderable[]; diff --git a/starters/docs/package.json b/starters/docs/package.json index 6e33630210a..d4d4d4e4287 100644 --- a/starters/docs/package.json +++ b/starters/docs/package.json @@ -1,14 +1,14 @@ { "devDependencies": { "@babel/preset-react": "^7.24.1", - "@storybook/addon-essentials": "^7.5.3", - "@storybook/addon-interactions": "^7.5.3", - "@storybook/addon-links": "^7.5.3", + "@storybook/addon-essentials": "^8.6.7", + "@storybook/addon-interactions": "^8.6.7", + "@storybook/addon-links": "^8.6.7", "@storybook/addon-onboarding": "^1.0.8", - "@storybook/blocks": "^7.5.3", - "@storybook/react": "^7.5.3", - "@storybook/react-webpack5": "^7.5.3", - "@storybook/testing-library": "^0.2.2", + "@storybook/blocks": "^8.6.7", + "@storybook/react": "^8.6.7", + "@storybook/react-webpack5": "^8.6.7", + "@storybook/test": "^8.6.7", "@types/react": "^18.3.0", "@types/react-dom": "^18.3.0", "lightningcss-loader": "^2.1.0", @@ -16,8 +16,8 @@ "react": "^18.2.0", "react-aria-components": "latest", "react-dom": "^18.2.0", - "storybook": "^7.5.3", - "storybook-dark-mode": "^3.0.1", + "storybook": "^8.6.7", + "storybook-dark-mode": "^4.0.2", "typescript": "5.3.3" }, "resolutions": { diff --git a/starters/tailwind/package.json b/starters/tailwind/package.json index 6f6527e0397..5d4389339ef 100644 --- a/starters/tailwind/package.json +++ b/starters/tailwind/package.json @@ -1,14 +1,14 @@ { "devDependencies": { "@babel/preset-react": "^7.24.1", - "@storybook/addon-essentials": "^7.5.3", - "@storybook/addon-interactions": "^7.5.3", - "@storybook/addon-links": "^7.5.3", + "@storybook/addon-essentials": "^8.6.7", + "@storybook/addon-interactions": "^8.6.7", + "@storybook/addon-links": "^8.6.7", "@storybook/addon-onboarding": "^1.0.8", - "@storybook/blocks": "^7.5.3", - "@storybook/react": "^7.5.3", - "@storybook/react-vite": "^7.5.3", - "@storybook/testing-library": "^0.2.2", + "@storybook/blocks": "^8.6.7", + "@storybook/react": "^8.6.7", + "@storybook/react-vite": "^8.6.7", + "@storybook/test": "^8.6.7", "@tailwindcss/postcss": "^4.0.0", "@types/react": "^18.3.0", "@types/react-dom": "^18.3.0", @@ -16,7 +16,7 @@ "prop-types": "^15.8.1", "react": "^18.2.0", "react-dom": "^18.2.0", - "storybook": "^7.5.3", + "storybook": "^8.6.7", "tailwindcss": "^4.0.0", "tailwindcss-animate": "^1.0.7", "tailwindcss-react-aria-components": "^1.0.0", diff --git a/yarn.lock b/yarn.lock index 7947850a18c..f9b3dabe1f5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -311,17 +311,6 @@ __metadata: languageName: node linkType: hard -"@aw-web-design/x-default-browser@npm:1.4.126": - version: 1.4.126 - resolution: "@aw-web-design/x-default-browser@npm:1.4.126" - dependencies: - default-browser-id: "npm:3.0.0" - bin: - x-default-browser: bin/x-default-browser.js - checksum: 10c0/634c7fad7a5f4df86e3fcd3a11e50034fcb6f6302281569727574cbda7532850063cb34ec328384a686ab0812f297bf301a5e2450bc7b93b5f80a006b1f2dfd7 - languageName: node - linkType: hard - "@babel/cli@npm:7.24.1": version: 7.24.1 resolution: "@babel/cli@npm:7.24.1" @@ -1916,13 +1905,6 @@ __metadata: languageName: node linkType: hard -"@base2/pretty-print-object@npm:1.0.1": - version: 1.0.1 - resolution: "@base2/pretty-print-object@npm:1.0.1" - checksum: 10c0/98f77ea185a30c854897feb2a68fe51be8451a1a0b531bac61a5dd67033926a0ba0c9be6e0f819b8cb72ca349b3e7648bf81c12fd21df0b45219c75a3a75784b - languageName: node - linkType: hard - "@bcoe/v8-coverage@npm:^0.2.3": version: 0.2.3 resolution: "@bcoe/v8-coverage@npm:0.2.3" @@ -1930,13 +1912,6 @@ __metadata: languageName: node linkType: hard -"@colors/colors@npm:1.5.0": - version: 1.5.0 - resolution: "@colors/colors@npm:1.5.0" - checksum: 10c0/eb42729851adca56d19a08e48d5a1e95efd2a32c55ae0323de8119052be0510d4b7a1611f2abcbf28c044a6c11e6b7d38f99fccdad7429300c37a8ea5fb95b44 - languageName: node - linkType: hard - "@colors/colors@npm:1.6.0, @colors/colors@npm:^1.6.0": version: 1.6.0 resolution: "@colors/colors@npm:1.6.0" @@ -2016,13 +1991,6 @@ __metadata: languageName: node linkType: hard -"@discoveryjs/json-ext@npm:^0.5.3": - version: 0.5.7 - resolution: "@discoveryjs/json-ext@npm:0.5.7" - checksum: 10c0/e10f1b02b78e4812646ddf289b7d9f2cb567d336c363b266bd50cd223cf3de7c2c74018d91cd2613041568397ef3a4a2b500aba588c6e5bd78c38374ba68f38c - languageName: node - linkType: hard - "@emnapi/runtime@npm:^1.2.0": version: 1.3.1 resolution: "@emnapi/runtime@npm:1.3.1" @@ -2032,15 +2000,6 @@ __metadata: languageName: node linkType: hard -"@emotion/use-insertion-effect-with-fallbacks@npm:^1.0.0": - version: 1.0.1 - resolution: "@emotion/use-insertion-effect-with-fallbacks@npm:1.0.1" - peerDependencies: - react: ">=16.8.0" - checksum: 10c0/a15b2167940e3a908160687b73fc4fcd81e59ab45136b6967f02c7c419d9a149acd22a416b325c389642d4f1c3d33cf4196cad6b618128b55b7c74f6807a240b - languageName: node - linkType: hard - "@es-joy/jsdoccomment@npm:~0.49.0": version: 0.49.0 resolution: "@es-joy/jsdoccomment@npm:0.49.0" @@ -2052,6 +2011,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/aix-ppc64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/aix-ppc64@npm:0.25.4" + conditions: os=aix & cpu=ppc64 + languageName: node + linkType: hard + "@esbuild/android-arm64@npm:0.18.20": version: 0.18.20 resolution: "@esbuild/android-arm64@npm:0.18.20" @@ -2059,6 +2025,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/android-arm64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/android-arm64@npm:0.25.4" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/android-arm@npm:0.18.20": version: 0.18.20 resolution: "@esbuild/android-arm@npm:0.18.20" @@ -2066,6 +2039,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/android-arm@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/android-arm@npm:0.25.4" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + "@esbuild/android-x64@npm:0.18.20": version: 0.18.20 resolution: "@esbuild/android-x64@npm:0.18.20" @@ -2073,6 +2053,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/android-x64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/android-x64@npm:0.25.4" + conditions: os=android & cpu=x64 + languageName: node + linkType: hard + "@esbuild/darwin-arm64@npm:0.18.20": version: 0.18.20 resolution: "@esbuild/darwin-arm64@npm:0.18.20" @@ -2080,6 +2067,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/darwin-arm64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/darwin-arm64@npm:0.25.4" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/darwin-x64@npm:0.18.20": version: 0.18.20 resolution: "@esbuild/darwin-x64@npm:0.18.20" @@ -2087,6 +2081,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/darwin-x64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/darwin-x64@npm:0.25.4" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + "@esbuild/freebsd-arm64@npm:0.18.20": version: 0.18.20 resolution: "@esbuild/freebsd-arm64@npm:0.18.20" @@ -2094,6 +2095,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/freebsd-arm64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/freebsd-arm64@npm:0.25.4" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/freebsd-x64@npm:0.18.20": version: 0.18.20 resolution: "@esbuild/freebsd-x64@npm:0.18.20" @@ -2101,6 +2109,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/freebsd-x64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/freebsd-x64@npm:0.25.4" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + "@esbuild/linux-arm64@npm:0.18.20": version: 0.18.20 resolution: "@esbuild/linux-arm64@npm:0.18.20" @@ -2108,6 +2123,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-arm64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/linux-arm64@npm:0.25.4" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/linux-arm@npm:0.18.20": version: 0.18.20 resolution: "@esbuild/linux-arm@npm:0.18.20" @@ -2115,6 +2137,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-arm@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/linux-arm@npm:0.25.4" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + "@esbuild/linux-ia32@npm:0.18.20": version: 0.18.20 resolution: "@esbuild/linux-ia32@npm:0.18.20" @@ -2122,6 +2151,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-ia32@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/linux-ia32@npm:0.25.4" + conditions: os=linux & cpu=ia32 + languageName: node + linkType: hard + "@esbuild/linux-loong64@npm:0.18.20": version: 0.18.20 resolution: "@esbuild/linux-loong64@npm:0.18.20" @@ -2129,6 +2165,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-loong64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/linux-loong64@npm:0.25.4" + conditions: os=linux & cpu=loong64 + languageName: node + linkType: hard + "@esbuild/linux-mips64el@npm:0.18.20": version: 0.18.20 resolution: "@esbuild/linux-mips64el@npm:0.18.20" @@ -2136,6 +2179,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-mips64el@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/linux-mips64el@npm:0.25.4" + conditions: os=linux & cpu=mips64el + languageName: node + linkType: hard + "@esbuild/linux-ppc64@npm:0.18.20": version: 0.18.20 resolution: "@esbuild/linux-ppc64@npm:0.18.20" @@ -2143,6 +2193,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-ppc64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/linux-ppc64@npm:0.25.4" + conditions: os=linux & cpu=ppc64 + languageName: node + linkType: hard + "@esbuild/linux-riscv64@npm:0.18.20": version: 0.18.20 resolution: "@esbuild/linux-riscv64@npm:0.18.20" @@ -2150,6 +2207,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-riscv64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/linux-riscv64@npm:0.25.4" + conditions: os=linux & cpu=riscv64 + languageName: node + linkType: hard + "@esbuild/linux-s390x@npm:0.18.20": version: 0.18.20 resolution: "@esbuild/linux-s390x@npm:0.18.20" @@ -2157,6 +2221,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-s390x@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/linux-s390x@npm:0.25.4" + conditions: os=linux & cpu=s390x + languageName: node + linkType: hard + "@esbuild/linux-x64@npm:0.18.20": version: 0.18.20 resolution: "@esbuild/linux-x64@npm:0.18.20" @@ -2164,6 +2235,20 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-x64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/linux-x64@npm:0.25.4" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/netbsd-arm64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/netbsd-arm64@npm:0.25.4" + conditions: os=netbsd & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/netbsd-x64@npm:0.18.20": version: 0.18.20 resolution: "@esbuild/netbsd-x64@npm:0.18.20" @@ -2171,6 +2256,20 @@ __metadata: languageName: node linkType: hard +"@esbuild/netbsd-x64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/netbsd-x64@npm:0.25.4" + conditions: os=netbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/openbsd-arm64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/openbsd-arm64@npm:0.25.4" + conditions: os=openbsd & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/openbsd-x64@npm:0.18.20": version: 0.18.20 resolution: "@esbuild/openbsd-x64@npm:0.18.20" @@ -2178,6 +2277,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/openbsd-x64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/openbsd-x64@npm:0.25.4" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + "@esbuild/sunos-x64@npm:0.18.20": version: 0.18.20 resolution: "@esbuild/sunos-x64@npm:0.18.20" @@ -2185,6 +2291,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/sunos-x64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/sunos-x64@npm:0.25.4" + conditions: os=sunos & cpu=x64 + languageName: node + linkType: hard + "@esbuild/win32-arm64@npm:0.18.20": version: 0.18.20 resolution: "@esbuild/win32-arm64@npm:0.18.20" @@ -2192,6 +2305,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/win32-arm64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/win32-arm64@npm:0.25.4" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/win32-ia32@npm:0.18.20": version: 0.18.20 resolution: "@esbuild/win32-ia32@npm:0.18.20" @@ -2199,6 +2319,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/win32-ia32@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/win32-ia32@npm:0.25.4" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + "@esbuild/win32-x64@npm:0.18.20": version: 0.18.20 resolution: "@esbuild/win32-x64@npm:0.18.20" @@ -2206,6 +2333,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/win32-x64@npm:0.25.4": + version: 0.25.4 + resolution: "@esbuild/win32-x64@npm:0.25.4" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + "@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0": version: 4.4.0 resolution: "@eslint-community/eslint-utils@npm:4.4.0" @@ -2383,51 +2517,6 @@ __metadata: languageName: node linkType: hard -"@fal-works/esbuild-plugin-global-externals@npm:^2.1.2": - version: 2.1.2 - resolution: "@fal-works/esbuild-plugin-global-externals@npm:2.1.2" - checksum: 10c0/2c84a8e6121b00ac8e4eb2469ab8f188142db2f1927391758e5d0142cb684b7eb0fad0c9d6caf358616eb2a77af2c067e08b9ec8e05749b415fc4dd0ef96d0fe - languageName: node - linkType: hard - -"@floating-ui/core@npm:^1.0.0": - version: 1.6.1 - resolution: "@floating-ui/core@npm:1.6.1" - dependencies: - "@floating-ui/utils": "npm:^0.2.0" - checksum: 10c0/7d78b3788d438807d3c1a52477ee1693a29b8a4416dd6e13761427925d9fba1d45c849527752d8fd9776842182d919fddf7ecbc34f3bf2de3bafa1717619a56f - languageName: node - linkType: hard - -"@floating-ui/dom@npm:^1.0.0": - version: 1.6.4 - resolution: "@floating-ui/dom@npm:1.6.4" - dependencies: - "@floating-ui/core": "npm:^1.0.0" - "@floating-ui/utils": "npm:^0.2.0" - checksum: 10c0/cee0b9e6efc1c6d978ec580c770078fdf416016fb03f3dd99630f7f32d0422722e608471fbc7578be86c783ad1c1e448c5fa5b9fdec889dfbf4b695f208730fd - languageName: node - linkType: hard - -"@floating-ui/react-dom@npm:^2.0.0": - version: 2.0.9 - resolution: "@floating-ui/react-dom@npm:2.0.9" - dependencies: - "@floating-ui/dom": "npm:^1.0.0" - peerDependencies: - react: ">=16.8.0" - react-dom: ">=16.8.0" - checksum: 10c0/d8cd1fb2b8a5012ca692d6f677a0af923ef81131f69accea8ce8b5413202ab4c3c79e6eda1446f4dad06a2dfd596ece748c562ba28c289678a856755db4f528f - languageName: node - linkType: hard - -"@floating-ui/utils@npm:^0.2.0": - version: 0.2.2 - resolution: "@floating-ui/utils@npm:0.2.2" - checksum: 10c0/b2becdcafdf395af1641348da0031ff1eaad2bc60c22e14bd3abad4acfe2c8401e03097173d89a2f646a99b75819a78ef21ebb2572cab0042a56dd654b0065cd - languageName: node - linkType: hard - "@formatjs/ecma402-abstract@npm:1.11.8": version: 1.11.8 resolution: "@formatjs/ecma402-abstract@npm:1.11.8" @@ -3055,7 +3144,7 @@ __metadata: languageName: node linkType: hard -"@jest/transform@npm:^29.3.1, @jest/transform@npm:^29.7.0": +"@jest/transform@npm:^29.7.0": version: 29.7.0 resolution: "@jest/transform@npm:29.7.0" dependencies: @@ -3179,13 +3268,6 @@ __metadata: languageName: node linkType: hard -"@juggle/resize-observer@npm:^3.3.1": - version: 3.4.0 - resolution: "@juggle/resize-observer@npm:3.4.0" - checksum: 10c0/12930242357298c6f2ad5d4ec7cf631dfb344ca7c8c830ab7f64e6ac11eb1aae486901d8d880fd08fb1b257800c160a0da3aee1e7ed9adac0ccbb9b7c5d93347 - languageName: node - linkType: hard - "@lerna/add@npm:3.18.0": version: 3.18.0 resolution: "@lerna/add@npm:3.18.0" @@ -4046,15 +4128,15 @@ __metadata: languageName: node linkType: hard -"@mdx-js/react@npm:^2.1.5": - version: 2.3.0 - resolution: "@mdx-js/react@npm:2.3.0" +"@mdx-js/react@npm:^3.0.0": + version: 3.1.0 + resolution: "@mdx-js/react@npm:3.1.0" dependencies: "@types/mdx": "npm:^2.0.0" - "@types/react": "npm:>=16" peerDependencies: + "@types/react": ">=16" react: ">=16" - checksum: 10c0/6d647115703dbe258f7fe372499fa8c6fe17a053ff0f2a208111c9973a71ae738a0ed376770445d39194d217e00e1a015644b24f32c2f7cb4f57988de0649b15 + checksum: 10c0/381ed1211ba2b8491bf0ad9ef0d8d1badcdd114e1931d55d44019d4b827cc2752586708f9c7d2f9c3244150ed81f1f671a6ca95fae0edd5797fb47a22e06ceca languageName: node linkType: hard @@ -4133,17 +4215,6 @@ __metadata: languageName: node linkType: hard -"@ndelangen/get-tarball@npm:^3.0.7": - version: 3.0.9 - resolution: "@ndelangen/get-tarball@npm:3.0.9" - dependencies: - gunzip-maybe: "npm:^1.4.2" - pump: "npm:^3.0.0" - tar-fs: "npm:^2.1.1" - checksum: 10c0/d66e76c6c990745d691c85d1dfa7f3dfd181405bb52c295baf4d1838b847d40c686e24602ea0ab1cdeb14d409db59f6bb9e2f96f56fe53da275da9cccf778e27 - languageName: node - linkType: hard - "@nicolo-ribaudo/chokidar-2@npm:2.1.8-no-fsevents.3": version: 2.1.8-no-fsevents.3 resolution: "@nicolo-ribaudo/chokidar-2@npm:2.1.8-no-fsevents.3" @@ -4429,7 +4500,7 @@ __metadata: languageName: node linkType: hard -"@parcel/core@npm:2.14.0, @parcel/core@npm:^2.13.1, @parcel/core@npm:^2.14.0": +"@parcel/core@npm:2.14.0, @parcel/core@npm:^2.14.0": version: 2.14.0 resolution: "@parcel/core@npm:2.14.0" dependencies: @@ -4788,7 +4859,7 @@ __metadata: languageName: node linkType: hard -"@parcel/reporter-cli@npm:2.14.0, @parcel/reporter-cli@npm:^2.13.1, @parcel/reporter-cli@npm:^2.14.0": +"@parcel/reporter-cli@npm:2.14.0, @parcel/reporter-cli@npm:^2.14.0": version: 2.14.0 resolution: "@parcel/reporter-cli@npm:2.14.0" dependencies: @@ -5379,646 +5450,78 @@ __metadata: languageName: node linkType: hard -"@radix-ui/number@npm:1.0.1": - version: 1.0.1 - resolution: "@radix-ui/number@npm:1.0.1" - dependencies: - "@babel/runtime": "npm:^7.13.10" - checksum: 10c0/42e4870cd14459da6da03e43c7507dc4c807ed787a87bda52912a0d1d6d5013326b697c18c9625fc6a2cf0af2b45d9c86747985b45358fd92ab646b983978e3c - languageName: node - linkType: hard - -"@radix-ui/primitive@npm:1.0.1": - version: 1.0.1 - resolution: "@radix-ui/primitive@npm:1.0.1" +"@react-aria/actiongroup@npm:^3.7.16, @react-aria/actiongroup@workspace:packages/@react-aria/actiongroup": + version: 0.0.0-use.local + resolution: "@react-aria/actiongroup@workspace:packages/@react-aria/actiongroup" dependencies: - "@babel/runtime": "npm:^7.13.10" - checksum: 10c0/912216455537db3ca77f3e7f70174fb2b454fbd4a37a0acb7cfadad9ab6131abdfb787472242574460a3c301edf45738340cc84f6717982710082840fde7d916 - languageName: node - linkType: hard + "@react-aria/focus": "npm:^3.20.3" + "@react-aria/i18n": "npm:^3.12.9" + "@react-aria/interactions": "npm:^3.25.1" + "@react-aria/utils": "npm:^3.29.0" + "@react-stately/list": "npm:^3.12.2" + "@react-types/actiongroup": "npm:^3.4.17" + "@react-types/shared": "npm:^3.29.1" + "@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 + languageName: unknown + linkType: soft -"@radix-ui/react-arrow@npm:1.0.3": - version: 1.0.3 - resolution: "@radix-ui/react-arrow@npm:1.0.3" +"@react-aria/aria-modal-polyfill@npm:^3.1.0, @react-aria/aria-modal-polyfill@workspace:packages/@react-aria/aria-modal-polyfill": + version: 0.0.0-use.local + resolution: "@react-aria/aria-modal-polyfill@workspace:packages/@react-aria/aria-modal-polyfill" dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/react-primitive": "npm:1.0.3" + "@swc/helpers": "npm:^0.5.0" + aria-hidden: "npm:^1.2.3" peerDependencies: - "@types/react": "*" - "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - "@types/react": - optional: true - "@types/react-dom": - optional: true - checksum: 10c0/c931f6d7e0bac50fd1654a0303a303aff74a68a13a33a851a43a7c88677b53a92ca6557920b9105144a3002f899ce888437d20ddd7803a5c716edac99587626d - languageName: node - linkType: hard - -"@radix-ui/react-collection@npm:1.0.3": - version: 1.0.3 - resolution: "@radix-ui/react-collection@npm:1.0.3" - dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/react-compose-refs": "npm:1.0.1" - "@radix-ui/react-context": "npm:1.0.1" - "@radix-ui/react-primitive": "npm:1.0.3" - "@radix-ui/react-slot": "npm:1.0.2" - peerDependencies: - "@types/react": "*" - "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - "@types/react": - optional: true - "@types/react-dom": - optional: true - checksum: 10c0/cefa56383d7451ca79e4bd5a29aaeef6c205a04297213efd149aaead82fc8cde4fb8298e20e6b3613e5696e43f814fb4489805428f6604834fb31f73c6725fa8 - languageName: node - linkType: hard + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + languageName: unknown + linkType: soft -"@radix-ui/react-compose-refs@npm:1.0.1": - version: 1.0.1 - resolution: "@radix-ui/react-compose-refs@npm:1.0.1" +"@react-aria/autocomplete@npm:3.0.0-beta.3, @react-aria/autocomplete@workspace:packages/@react-aria/autocomplete": + version: 0.0.0-use.local + resolution: "@react-aria/autocomplete@workspace:packages/@react-aria/autocomplete" dependencies: - "@babel/runtime": "npm:^7.13.10" + "@react-aria/combobox": "npm:^3.12.3" + "@react-aria/focus": "npm:^3.20.3" + "@react-aria/i18n": "npm:^3.12.9" + "@react-aria/interactions": "npm:^3.25.1" + "@react-aria/listbox": "npm:^3.14.4" + "@react-aria/searchfield": "npm:^3.8.4" + "@react-aria/textfield": "npm:^3.17.3" + "@react-aria/utils": "npm:^3.29.0" + "@react-stately/autocomplete": "npm:3.0.0-beta.1" + "@react-stately/combobox": "npm:^3.10.5" + "@react-types/autocomplete": "npm:3.0.0-alpha.31" + "@react-types/button": "npm:^3.12.1" + "@react-types/shared": "npm:^3.29.1" + "@swc/helpers": "npm:^0.5.0" peerDependencies: - "@types/react": "*" - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - "@types/react": - optional: true - checksum: 10c0/be06f8dab35b5a1bffa7a5982fb26218ddade1acb751288333e3b89d7b4a7dfb5a6371be83876dac0ec2ebe0866d295e8618b778608e1965342986ea448040ec - languageName: node - linkType: hard + 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 + languageName: unknown + linkType: soft -"@radix-ui/react-context@npm:1.0.1": - version: 1.0.1 - resolution: "@radix-ui/react-context@npm:1.0.1" +"@react-aria/breadcrumbs@npm:^3.5.24, @react-aria/breadcrumbs@workspace:packages/@react-aria/breadcrumbs": + version: 0.0.0-use.local + resolution: "@react-aria/breadcrumbs@workspace:packages/@react-aria/breadcrumbs" dependencies: - "@babel/runtime": "npm:^7.13.10" + "@react-aria/i18n": "npm:^3.12.9" + "@react-aria/link": "npm:^3.8.1" + "@react-aria/utils": "npm:^3.29.0" + "@react-types/breadcrumbs": "npm:^3.7.13" + "@react-types/shared": "npm:^3.29.1" + "@swc/helpers": "npm:^0.5.0" peerDependencies: - "@types/react": "*" - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - "@types/react": - optional: true - checksum: 10c0/3de5761b32cc70cd61715527f29d8c699c01ab28c195ced972ccbc7025763a373a68f18c9f948c7a7b922e469fd2df7fee5f7536e3f7bad44ffc06d959359333 - languageName: node - linkType: hard + 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 + languageName: unknown + linkType: soft -"@radix-ui/react-direction@npm:1.0.1": - version: 1.0.1 - resolution: "@radix-ui/react-direction@npm:1.0.1" - dependencies: - "@babel/runtime": "npm:^7.13.10" - peerDependencies: - "@types/react": "*" - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - "@types/react": - optional: true - checksum: 10c0/b1a45b4d1d5070ca3b5864b920f6c6210c962bdb519abb62b38b1baef9d06737dc3d8ecdb61860b7504a735235a539652f5977c7299ec021da84e6b0f64d988a - languageName: node - linkType: hard - -"@radix-ui/react-dismissable-layer@npm:1.0.4": - version: 1.0.4 - resolution: "@radix-ui/react-dismissable-layer@npm:1.0.4" - dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/primitive": "npm:1.0.1" - "@radix-ui/react-compose-refs": "npm:1.0.1" - "@radix-ui/react-primitive": "npm:1.0.3" - "@radix-ui/react-use-callback-ref": "npm:1.0.1" - "@radix-ui/react-use-escape-keydown": "npm:1.0.3" - peerDependencies: - "@types/react": "*" - "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - "@types/react": - optional: true - "@types/react-dom": - optional: true - checksum: 10c0/a7b9695092cd4109a7b4a4a66b7f634c42d4f39aa0893621a8ee5e8bc90f8ae27e741df66db726c341a60d2115e3f813520fee1f5cc4fb05d77914b4ade3819f - languageName: node - linkType: hard - -"@radix-ui/react-focus-guards@npm:1.0.1": - version: 1.0.1 - resolution: "@radix-ui/react-focus-guards@npm:1.0.1" - dependencies: - "@babel/runtime": "npm:^7.13.10" - peerDependencies: - "@types/react": "*" - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - "@types/react": - optional: true - checksum: 10c0/d5fd4e5aa9d9a87c8ad490b3b4992d6f1d9eddf18e56df2a2bcf8744c4332b275d73377fd193df3e6ba0ad9608dc497709beca5c64de2b834d5f5350b3c9a272 - languageName: node - linkType: hard - -"@radix-ui/react-focus-scope@npm:1.0.3": - version: 1.0.3 - resolution: "@radix-ui/react-focus-scope@npm:1.0.3" - dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/react-compose-refs": "npm:1.0.1" - "@radix-ui/react-primitive": "npm:1.0.3" - "@radix-ui/react-use-callback-ref": "npm:1.0.1" - peerDependencies: - "@types/react": "*" - "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - "@types/react": - optional: true - "@types/react-dom": - optional: true - checksum: 10c0/bfff46919666c122f5b812ee427494ae8408c0eebee30337bd2ce0eedf539f0feaa242f790304ef9df15425b837010ffc6061ce467bedd2c5fd9373bee2b95da - languageName: node - linkType: hard - -"@radix-ui/react-id@npm:1.0.1": - version: 1.0.1 - resolution: "@radix-ui/react-id@npm:1.0.1" - dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/react-use-layout-effect": "npm:1.0.1" - peerDependencies: - "@types/react": "*" - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - "@types/react": - optional: true - checksum: 10c0/e2859ca58bea171c956098ace7ecf615cf9432f58a118b779a14720746b3adcf0351c36c75de131548672d3cd290ca238198acbd33b88dc4706f98312e9317ad - languageName: node - linkType: hard - -"@radix-ui/react-popper@npm:1.1.2": - version: 1.1.2 - resolution: "@radix-ui/react-popper@npm:1.1.2" - dependencies: - "@babel/runtime": "npm:^7.13.10" - "@floating-ui/react-dom": "npm:^2.0.0" - "@radix-ui/react-arrow": "npm:1.0.3" - "@radix-ui/react-compose-refs": "npm:1.0.1" - "@radix-ui/react-context": "npm:1.0.1" - "@radix-ui/react-primitive": "npm:1.0.3" - "@radix-ui/react-use-callback-ref": "npm:1.0.1" - "@radix-ui/react-use-layout-effect": "npm:1.0.1" - "@radix-ui/react-use-rect": "npm:1.0.1" - "@radix-ui/react-use-size": "npm:1.0.1" - "@radix-ui/rect": "npm:1.0.1" - peerDependencies: - "@types/react": "*" - "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - "@types/react": - optional: true - "@types/react-dom": - optional: true - checksum: 10c0/4bd069b79f7046af2c0967b8e43f727cd09834cbd6df1e3d5a943c4f83428ff8b646882737fdf7593c22e261a1d13768a5c020138d79503862ae2e1729081bba - languageName: node - linkType: hard - -"@radix-ui/react-portal@npm:1.0.3": - version: 1.0.3 - resolution: "@radix-ui/react-portal@npm:1.0.3" - dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/react-primitive": "npm:1.0.3" - peerDependencies: - "@types/react": "*" - "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - "@types/react": - optional: true - "@types/react-dom": - optional: true - checksum: 10c0/baf295bbbf09ead37b64ee1dc025a6a540960f5e60552766d78f6065504c67d4bcf49fad5e2073617d9a3011daafad625aa3bd1da7a886c704833b22a49e888f - languageName: node - linkType: hard - -"@radix-ui/react-primitive@npm:1.0.3": - version: 1.0.3 - resolution: "@radix-ui/react-primitive@npm:1.0.3" - dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/react-slot": "npm:1.0.2" - peerDependencies: - "@types/react": "*" - "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - "@types/react": - optional: true - "@types/react-dom": - optional: true - checksum: 10c0/67a66ff8898a5e7739eda228ab6f5ce808858da1dce967014138d87e72b6bbfc93dc1467c706d98d1a2b93bf0b6e09233d1a24d31c78227b078444c1a69c42be - languageName: node - linkType: hard - -"@radix-ui/react-roving-focus@npm:1.0.4": - version: 1.0.4 - resolution: "@radix-ui/react-roving-focus@npm:1.0.4" - dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/primitive": "npm:1.0.1" - "@radix-ui/react-collection": "npm:1.0.3" - "@radix-ui/react-compose-refs": "npm:1.0.1" - "@radix-ui/react-context": "npm:1.0.1" - "@radix-ui/react-direction": "npm:1.0.1" - "@radix-ui/react-id": "npm:1.0.1" - "@radix-ui/react-primitive": "npm:1.0.3" - "@radix-ui/react-use-callback-ref": "npm:1.0.1" - "@radix-ui/react-use-controllable-state": "npm:1.0.1" - peerDependencies: - "@types/react": "*" - "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - "@types/react": - optional: true - "@types/react-dom": - optional: true - checksum: 10c0/61e3ddfd1647e64fba855434ff41e8e7ba707244fe8841f78c450fbdce525383b64259279475615d030dbf1625cbffd8eeebee72d91bf6978794f5dbcf887fc0 - languageName: node - linkType: hard - -"@radix-ui/react-select@npm:^1.2.2": - version: 1.2.2 - resolution: "@radix-ui/react-select@npm:1.2.2" - dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/number": "npm:1.0.1" - "@radix-ui/primitive": "npm:1.0.1" - "@radix-ui/react-collection": "npm:1.0.3" - "@radix-ui/react-compose-refs": "npm:1.0.1" - "@radix-ui/react-context": "npm:1.0.1" - "@radix-ui/react-direction": "npm:1.0.1" - "@radix-ui/react-dismissable-layer": "npm:1.0.4" - "@radix-ui/react-focus-guards": "npm:1.0.1" - "@radix-ui/react-focus-scope": "npm:1.0.3" - "@radix-ui/react-id": "npm:1.0.1" - "@radix-ui/react-popper": "npm:1.1.2" - "@radix-ui/react-portal": "npm:1.0.3" - "@radix-ui/react-primitive": "npm:1.0.3" - "@radix-ui/react-slot": "npm:1.0.2" - "@radix-ui/react-use-callback-ref": "npm:1.0.1" - "@radix-ui/react-use-controllable-state": "npm:1.0.1" - "@radix-ui/react-use-layout-effect": "npm:1.0.1" - "@radix-ui/react-use-previous": "npm:1.0.1" - "@radix-ui/react-visually-hidden": "npm:1.0.3" - aria-hidden: "npm:^1.1.1" - react-remove-scroll: "npm:2.5.5" - peerDependencies: - "@types/react": "*" - "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - "@types/react": - optional: true - "@types/react-dom": - optional: true - checksum: 10c0/888fffa703a8f79b45c01d5f03ad9aae66250ddfff827bbba4f222c4d0720aa2f01a3e4b6bd80acabaf5e2fa7ad79de9e9dfd14831f7f4c24337d4d8dfb58ccc - languageName: node - linkType: hard - -"@radix-ui/react-separator@npm:1.0.3": - version: 1.0.3 - resolution: "@radix-ui/react-separator@npm:1.0.3" - dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/react-primitive": "npm:1.0.3" - peerDependencies: - "@types/react": "*" - "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - "@types/react": - optional: true - "@types/react-dom": - optional: true - checksum: 10c0/87bcde47343f2bc4439a0dc34381f557905d9b3c1e8c5a0d32ceea62a8ef84f3abf671c5cb29309fc87759ad41d39af619ba546cf54109d64c8746e3ca683de3 - languageName: node - linkType: hard - -"@radix-ui/react-slot@npm:1.0.2": - version: 1.0.2 - resolution: "@radix-ui/react-slot@npm:1.0.2" - dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/react-compose-refs": "npm:1.0.1" - peerDependencies: - "@types/react": "*" - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - "@types/react": - optional: true - checksum: 10c0/3af6ea4891e6fa8091e666802adffe7718b3cd390a10fa9229a5f40f8efded9f3918ea01b046103d93923d41cc32119505ebb6bde76cad07a87b6cf4f2119347 - languageName: node - linkType: hard - -"@radix-ui/react-toggle-group@npm:1.0.4": - version: 1.0.4 - resolution: "@radix-ui/react-toggle-group@npm:1.0.4" - dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/primitive": "npm:1.0.1" - "@radix-ui/react-context": "npm:1.0.1" - "@radix-ui/react-direction": "npm:1.0.1" - "@radix-ui/react-primitive": "npm:1.0.3" - "@radix-ui/react-roving-focus": "npm:1.0.4" - "@radix-ui/react-toggle": "npm:1.0.3" - "@radix-ui/react-use-controllable-state": "npm:1.0.1" - peerDependencies: - "@types/react": "*" - "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - "@types/react": - optional: true - "@types/react-dom": - optional: true - checksum: 10c0/4f4761965022759ac0950ac026029b64049e1f18ef07a01ddde788b7606efcb262c9ae3a418de0c0756bf7285182ed0d268502c6f17ba86d2ff27eee5507bbf7 - languageName: node - linkType: hard - -"@radix-ui/react-toggle@npm:1.0.3": - version: 1.0.3 - resolution: "@radix-ui/react-toggle@npm:1.0.3" - dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/primitive": "npm:1.0.1" - "@radix-ui/react-primitive": "npm:1.0.3" - "@radix-ui/react-use-controllable-state": "npm:1.0.1" - peerDependencies: - "@types/react": "*" - "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - "@types/react": - optional: true - "@types/react-dom": - optional: true - checksum: 10c0/9b487dad213ea7e70b0aa205e7c6f790a6f2bf394c39912e22dbe003403fd0d24a41c2efd31695fc31ab7bac286f28253dbb2fc5202cacd572ebf909f1fdc86c - languageName: node - linkType: hard - -"@radix-ui/react-toolbar@npm:^1.0.4": - version: 1.0.4 - resolution: "@radix-ui/react-toolbar@npm:1.0.4" - dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/primitive": "npm:1.0.1" - "@radix-ui/react-context": "npm:1.0.1" - "@radix-ui/react-direction": "npm:1.0.1" - "@radix-ui/react-primitive": "npm:1.0.3" - "@radix-ui/react-roving-focus": "npm:1.0.4" - "@radix-ui/react-separator": "npm:1.0.3" - "@radix-ui/react-toggle-group": "npm:1.0.4" - peerDependencies: - "@types/react": "*" - "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - "@types/react": - optional: true - "@types/react-dom": - optional: true - checksum: 10c0/3ed7ebe22ef2e8369e08bb59776671a7b8c413628249c338b8db86b4b9ac40127b4201d5bd4a9c23ea1fd21464769b4fa427d3ebcda3a7fcdbd45b256b5a753a - languageName: node - linkType: hard - -"@radix-ui/react-use-callback-ref@npm:1.0.1": - version: 1.0.1 - resolution: "@radix-ui/react-use-callback-ref@npm:1.0.1" - dependencies: - "@babel/runtime": "npm:^7.13.10" - peerDependencies: - "@types/react": "*" - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - "@types/react": - optional: true - checksum: 10c0/331b432be1edc960ca148637ae6087220873ee828ceb13bd155926ef8f49e862812de5b379129f6aaefcd11be53715f3237e6caa9a33d9c0abfff43f3ba58938 - languageName: node - linkType: hard - -"@radix-ui/react-use-controllable-state@npm:1.0.1": - version: 1.0.1 - resolution: "@radix-ui/react-use-controllable-state@npm:1.0.1" - dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/react-use-callback-ref": "npm:1.0.1" - peerDependencies: - "@types/react": "*" - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - "@types/react": - optional: true - checksum: 10c0/29b069dbf09e48bca321af6272574ad0fc7283174e7d092731a10663fe00c0e6b4bde5e1b5ea67725fe48dcbe8026e7ff0d69d42891c62cbb9ca408498171fbe - languageName: node - linkType: hard - -"@radix-ui/react-use-escape-keydown@npm:1.0.3": - version: 1.0.3 - resolution: "@radix-ui/react-use-escape-keydown@npm:1.0.3" - dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/react-use-callback-ref": "npm:1.0.1" - peerDependencies: - "@types/react": "*" - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - "@types/react": - optional: true - checksum: 10c0/3c94c78902dcb40b60083ee2184614f45c95a189178f52d89323b467bd04bcf5fdb1bc4d43debecd7f0b572c3843c7e04edbcb56f40a4b4b43936fb2770fb8ad - languageName: node - linkType: hard - -"@radix-ui/react-use-layout-effect@npm:1.0.1": - version: 1.0.1 - resolution: "@radix-ui/react-use-layout-effect@npm:1.0.1" - dependencies: - "@babel/runtime": "npm:^7.13.10" - peerDependencies: - "@types/react": "*" - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - "@types/react": - optional: true - checksum: 10c0/13cd0c38395c5838bc9a18238020d3bcf67fb340039e6d1cbf438be1b91d64cf6900b78121f3dc9219faeb40dcc7b523ce0f17e4a41631655690e5a30a40886a - languageName: node - linkType: hard - -"@radix-ui/react-use-previous@npm:1.0.1": - version: 1.0.1 - resolution: "@radix-ui/react-use-previous@npm:1.0.1" - dependencies: - "@babel/runtime": "npm:^7.13.10" - peerDependencies: - "@types/react": "*" - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - "@types/react": - optional: true - checksum: 10c0/f5fbc602108668484a4ed506b7842482222d1d03094362e26abb7fdd593eee8794fc47d85b3524fb9d00884801c89a6eefd0bed0971eba1ec189c637b6afd398 - languageName: node - linkType: hard - -"@radix-ui/react-use-rect@npm:1.0.1": - version: 1.0.1 - resolution: "@radix-ui/react-use-rect@npm:1.0.1" - dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/rect": "npm:1.0.1" - peerDependencies: - "@types/react": "*" - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - "@types/react": - optional: true - checksum: 10c0/94c5ab31dfd3678c0cb77a30025e82b3a287577c1a8674b0d703a36d27434bc9c59790e0bebf57ed153f0b8e0d8c3b9675fc9787b9eac525a09abcda8fa9e7eb - languageName: node - linkType: hard - -"@radix-ui/react-use-size@npm:1.0.1": - version: 1.0.1 - resolution: "@radix-ui/react-use-size@npm:1.0.1" - dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/react-use-layout-effect": "npm:1.0.1" - peerDependencies: - "@types/react": "*" - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - "@types/react": - optional: true - checksum: 10c0/b109a4b3781781c4dc641a1173f0a6fcb0b0f7b2d7cdba5848a46070c9fb4e518909a46c20a3c2efbc78737c64859c59ead837f2940e8c8394d1c503ef58773b - languageName: node - linkType: hard - -"@radix-ui/react-visually-hidden@npm:1.0.3": - version: 1.0.3 - resolution: "@radix-ui/react-visually-hidden@npm:1.0.3" - dependencies: - "@babel/runtime": "npm:^7.13.10" - "@radix-ui/react-primitive": "npm:1.0.3" - peerDependencies: - "@types/react": "*" - "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - "@types/react": - optional: true - "@types/react-dom": - optional: true - checksum: 10c0/0cbc12c2156b3fa0e40090cafd8525ce84c16a6b5a038a8e8fc7cbb16ed6da9ab369593962c57a18c41a16ec8713e0195c68ea34072ef1ca254ed4d4c0770bb4 - languageName: node - linkType: hard - -"@radix-ui/rect@npm:1.0.1": - version: 1.0.1 - resolution: "@radix-ui/rect@npm:1.0.1" - dependencies: - "@babel/runtime": "npm:^7.13.10" - checksum: 10c0/4c5159661340acc31b11e1f2ebd87a1521d39bfa287544dd2cd75b399539a4b625d38a1501c90ceae21fcca18ed164b0c3735817ff140ae334098192c110e571 - languageName: node - linkType: hard - -"@react-aria/actiongroup@npm:^3.7.16, @react-aria/actiongroup@workspace:packages/@react-aria/actiongroup": - version: 0.0.0-use.local - resolution: "@react-aria/actiongroup@workspace:packages/@react-aria/actiongroup" - dependencies: - "@react-aria/focus": "npm:^3.20.3" - "@react-aria/i18n": "npm:^3.12.9" - "@react-aria/interactions": "npm:^3.25.1" - "@react-aria/utils": "npm:^3.29.0" - "@react-stately/list": "npm:^3.12.2" - "@react-types/actiongroup": "npm:^3.4.17" - "@react-types/shared": "npm:^3.29.1" - "@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 - languageName: unknown - linkType: soft - -"@react-aria/aria-modal-polyfill@npm:^3.1.0, @react-aria/aria-modal-polyfill@workspace:packages/@react-aria/aria-modal-polyfill": - version: 0.0.0-use.local - resolution: "@react-aria/aria-modal-polyfill@workspace:packages/@react-aria/aria-modal-polyfill" - dependencies: - "@swc/helpers": "npm:^0.5.0" - aria-hidden: "npm:^1.2.3" - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 - languageName: unknown - linkType: soft - -"@react-aria/autocomplete@npm:3.0.0-beta.3, @react-aria/autocomplete@workspace:packages/@react-aria/autocomplete": - version: 0.0.0-use.local - resolution: "@react-aria/autocomplete@workspace:packages/@react-aria/autocomplete" - dependencies: - "@react-aria/combobox": "npm:^3.12.3" - "@react-aria/focus": "npm:^3.20.3" - "@react-aria/i18n": "npm:^3.12.9" - "@react-aria/interactions": "npm:^3.25.1" - "@react-aria/listbox": "npm:^3.14.4" - "@react-aria/searchfield": "npm:^3.8.4" - "@react-aria/textfield": "npm:^3.17.3" - "@react-aria/utils": "npm:^3.29.0" - "@react-stately/autocomplete": "npm:3.0.0-beta.1" - "@react-stately/combobox": "npm:^3.10.5" - "@react-types/autocomplete": "npm:3.0.0-alpha.31" - "@react-types/button": "npm:^3.12.1" - "@react-types/shared": "npm:^3.29.1" - "@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 - languageName: unknown - linkType: soft - -"@react-aria/breadcrumbs@npm:^3.5.24, @react-aria/breadcrumbs@workspace:packages/@react-aria/breadcrumbs": - version: 0.0.0-use.local - resolution: "@react-aria/breadcrumbs@workspace:packages/@react-aria/breadcrumbs" - dependencies: - "@react-aria/i18n": "npm:^3.12.9" - "@react-aria/link": "npm:^3.8.1" - "@react-aria/utils": "npm:^3.29.0" - "@react-types/breadcrumbs": "npm:^3.7.13" - "@react-types/shared": "npm:^3.29.1" - "@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 - languageName: unknown - linkType: soft - -"@react-aria/button@npm:^3.13.1, @react-aria/button@workspace:packages/@react-aria/button": - version: 0.0.0-use.local - resolution: "@react-aria/button@workspace:packages/@react-aria/button" +"@react-aria/button@npm:^3.13.1, @react-aria/button@workspace:packages/@react-aria/button": + version: 0.0.0-use.local + resolution: "@react-aria/button@workspace:packages/@react-aria/button" dependencies: "@react-aria/interactions": "npm:^3.25.1" "@react-aria/toolbar": "npm:3.0.0-beta.16" @@ -9625,293 +9128,238 @@ __metadata: languageName: unknown linkType: soft -"@storybook/addon-a11y@npm:^7.6.19": - version: 7.6.20 - resolution: "@storybook/addon-a11y@npm:7.6.20" +"@storybook/addon-a11y@npm:^8.6.7": + version: 8.6.14 + resolution: "@storybook/addon-a11y@npm:8.6.14" dependencies: - "@storybook/addon-highlight": "npm:7.6.20" - axe-core: "npm:^4.2.0" - checksum: 10c0/f8274d0e8f3c55a53eedb98947615647433444a9b25ca4ab342cef1cf9778b7224500121e381e7b7c74583e4e14bacf9417ebf4c624bd15fec80a2be1eb516f0 - languageName: node - linkType: hard - -"@storybook/addon-a11y@patch:@storybook/addon-a11y@npm%3A^7.6.19#~/.yarn/patches/@storybook-addon-a11y-npm-7.6.19-04b470eae0.patch": - version: 7.6.20 - resolution: "@storybook/addon-a11y@patch:@storybook/addon-a11y@npm%3A7.6.20#~/.yarn/patches/@storybook-addon-a11y-npm-7.6.19-04b470eae0.patch::version=7.6.20&hash=793e5b" - dependencies: - "@storybook/addon-highlight": "npm:7.6.20" + "@storybook/addon-highlight": "npm:8.6.14" + "@storybook/global": "npm:^5.0.0" + "@storybook/test": "npm:8.6.14" axe-core: "npm:^4.2.0" - checksum: 10c0/3c1fc5e194d4f07731c52a65d71fc6cd40fc9ef33cd68d8337de9872cb6a3ba2debe4a2318163040b39573b924132aac54784e605011918646f0d6aa23db2a66 + peerDependencies: + storybook: ^8.6.14 + checksum: 10c0/bc1ea6bc4f4229f2a88f40a1fc768628cad7744ca39676228a99656211942d96783d1d20aa475ac03bc653c29ed896a6179b3b17c8226effb598111cd8c8d146 languageName: node linkType: hard -"@storybook/addon-actions@npm:7.6.20, @storybook/addon-actions@npm:^7.6.19": - version: 7.6.20 - resolution: "@storybook/addon-actions@npm:7.6.20" +"@storybook/addon-actions@npm:8.6.14, @storybook/addon-actions@npm:^8.6.7": + version: 8.6.14 + resolution: "@storybook/addon-actions@npm:8.6.14" dependencies: - "@storybook/core-events": "npm:7.6.20" "@storybook/global": "npm:^5.0.0" "@types/uuid": "npm:^9.0.1" dequal: "npm:^2.0.2" polished: "npm:^4.2.2" uuid: "npm:^9.0.0" - checksum: 10c0/f1cd564061850719607fddbe6c31ae8e54a577aea1f4f4a4a07695f72dc5952e0e0d9b32f4bda2153fef6f21ca484a5881b64aa19700088ce0d73985d12b7538 + peerDependencies: + storybook: ^8.6.14 + checksum: 10c0/7a5d4faa15dd42f8f98335b6d817e1e2ffb50084001dc430aa3baf5c77edece16f0e866e8ce488e1c7a7a8f85465a6a71421373b87877375beafbe4729ada14a languageName: node linkType: hard -"@storybook/addon-backgrounds@npm:7.6.20": - version: 7.6.20 - resolution: "@storybook/addon-backgrounds@npm:7.6.20" +"@storybook/addon-backgrounds@npm:8.6.14": + version: 8.6.14 + resolution: "@storybook/addon-backgrounds@npm:8.6.14" dependencies: "@storybook/global": "npm:^5.0.0" memoizerific: "npm:^1.11.3" ts-dedent: "npm:^2.0.0" - checksum: 10c0/6ab4187cfcafc5b48ddad9a1a8d155db4219138983dbe9da8ec989806bb25d90e2f85cdf97687d6aa6fb2397a58429a4f25faa2719ac38e3f22edb82547f8e97 + peerDependencies: + storybook: ^8.6.14 + checksum: 10c0/e42befb774082313e7c0b94676dbbaa6a79dfd65b127dd474966d878fbd94e70a35651d5daccd1e09138775a1d275257279ae1092ddaaa840b7dc21839f0f5b9 languageName: node linkType: hard -"@storybook/addon-controls@npm:7.6.20, @storybook/addon-controls@npm:^7.6.19": - version: 7.6.20 - resolution: "@storybook/addon-controls@npm:7.6.20" +"@storybook/addon-controls@npm:8.6.14, @storybook/addon-controls@npm:^8.6.7": + version: 8.6.14 + resolution: "@storybook/addon-controls@npm:8.6.14" dependencies: - "@storybook/blocks": "npm:7.6.20" - lodash: "npm:^4.17.21" + "@storybook/global": "npm:^5.0.0" + dequal: "npm:^2.0.2" ts-dedent: "npm:^2.0.0" - checksum: 10c0/73e924626a3b5efaf2b96091ce583aec82d4ad9855ccb022be8382c809db1841b4d70a449729e746b383deec3c656b1a255fc4cd47da47f189dab567e1e85bfd + peerDependencies: + storybook: ^8.6.14 + checksum: 10c0/a02a818be873ee7a630f5ca4a46fe16fc31edec2b16b0988ce4f8bcdd63650aaf1a2cd0356e1b42557e1a1bb2f46de4653e071e7b2b53a60c9a3e60a93fe19ef languageName: node linkType: hard -"@storybook/addon-docs@npm:7.6.20": - version: 7.6.20 - resolution: "@storybook/addon-docs@npm:7.6.20" +"@storybook/addon-docs@npm:8.6.14": + version: 8.6.14 + resolution: "@storybook/addon-docs@npm:8.6.14" dependencies: - "@jest/transform": "npm:^29.3.1" - "@mdx-js/react": "npm:^2.1.5" - "@storybook/blocks": "npm:7.6.20" - "@storybook/client-logger": "npm:7.6.20" - "@storybook/components": "npm:7.6.20" - "@storybook/csf-plugin": "npm:7.6.20" - "@storybook/csf-tools": "npm:7.6.20" - "@storybook/global": "npm:^5.0.0" - "@storybook/mdx2-csf": "npm:^1.0.0" - "@storybook/node-logger": "npm:7.6.20" - "@storybook/postinstall": "npm:7.6.20" - "@storybook/preview-api": "npm:7.6.20" - "@storybook/react-dom-shim": "npm:7.6.20" - "@storybook/theming": "npm:7.6.20" - "@storybook/types": "npm:7.6.20" - fs-extra: "npm:^11.1.0" - remark-external-links: "npm:^8.0.0" - remark-slug: "npm:^6.0.0" + "@mdx-js/react": "npm:^3.0.0" + "@storybook/blocks": "npm:8.6.14" + "@storybook/csf-plugin": "npm:8.6.14" + "@storybook/react-dom-shim": "npm:8.6.14" + react: "npm:^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + react-dom: "npm:^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" ts-dedent: "npm:^2.0.0" peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 10c0/f2264f0f92e9e13346896728b7f98fd915403d42a9f80549213a5f62f48dffeb38ecd708d682b2182238d0778d679ad5e44d7e04c26b3ee3fdbdaac8ec69dfa3 + storybook: ^8.6.14 + checksum: 10c0/1668d40977624e3495b0cd3f009957994db04cec6de39645311e892cc1de99bf5a98bea9e9783d8063627c27b9545d222b1fdc490c23c6fadeead42ce0605fcb languageName: node linkType: hard -"@storybook/addon-essentials@npm:^7.6.19": - version: 7.6.20 - resolution: "@storybook/addon-essentials@npm:7.6.20" - dependencies: - "@storybook/addon-actions": "npm:7.6.20" - "@storybook/addon-backgrounds": "npm:7.6.20" - "@storybook/addon-controls": "npm:7.6.20" - "@storybook/addon-docs": "npm:7.6.20" - "@storybook/addon-highlight": "npm:7.6.20" - "@storybook/addon-measure": "npm:7.6.20" - "@storybook/addon-outline": "npm:7.6.20" - "@storybook/addon-toolbars": "npm:7.6.20" - "@storybook/addon-viewport": "npm:7.6.20" - "@storybook/core-common": "npm:7.6.20" - "@storybook/manager-api": "npm:7.6.20" - "@storybook/node-logger": "npm:7.6.20" - "@storybook/preview-api": "npm:7.6.20" +"@storybook/addon-essentials@npm:^8.6.7": + version: 8.6.14 + resolution: "@storybook/addon-essentials@npm:8.6.14" + dependencies: + "@storybook/addon-actions": "npm:8.6.14" + "@storybook/addon-backgrounds": "npm:8.6.14" + "@storybook/addon-controls": "npm:8.6.14" + "@storybook/addon-docs": "npm:8.6.14" + "@storybook/addon-highlight": "npm:8.6.14" + "@storybook/addon-measure": "npm:8.6.14" + "@storybook/addon-outline": "npm:8.6.14" + "@storybook/addon-toolbars": "npm:8.6.14" + "@storybook/addon-viewport": "npm:8.6.14" ts-dedent: "npm:^2.0.0" peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 10c0/9f6da89f92cc26795a872509ada94bf5763803fd8deb46133a2a0328ab22065d77a0637919ad425d4084a16491d2899128e6ec99073cd1b81d2c68a9cc625497 + storybook: ^8.6.14 + checksum: 10c0/77235e359d25267f7339e3c4a920329fccf7febbc5b81e13e7fc1f7d429e22385027dfaf30e2639865271c270d810df815a165e11a512735eedebb5c649c5adf languageName: node linkType: hard -"@storybook/addon-highlight@npm:7.6.20": - version: 7.6.20 - resolution: "@storybook/addon-highlight@npm:7.6.20" +"@storybook/addon-highlight@npm:8.6.14": + version: 8.6.14 + resolution: "@storybook/addon-highlight@npm:8.6.14" dependencies: "@storybook/global": "npm:^5.0.0" - checksum: 10c0/4705c6956aef9a02c061968120bec412a8d324e4a25ca19f6f9bd29964bc32fead8c9e36b4135b22ec247d37adfd818bec0ed9c510d7959349b6a71444c7c33e + peerDependencies: + storybook: ^8.6.14 + checksum: 10c0/db04b21cc3dc6185ce0051de08e0402899986d0b4b640ddbf1c8386bea5b1ed54b5a9b7e8a40e02973b73706839bcda1b324daf1eaafb465215247e6f548f817 languageName: node linkType: hard -"@storybook/addon-interactions@npm:^7.6.19": - version: 7.6.20 - resolution: "@storybook/addon-interactions@npm:7.6.20" +"@storybook/addon-interactions@npm:^8.6.7": + version: 8.6.14 + resolution: "@storybook/addon-interactions@npm:8.6.14" dependencies: "@storybook/global": "npm:^5.0.0" - "@storybook/types": "npm:7.6.20" - jest-mock: "npm:^27.0.6" + "@storybook/instrumenter": "npm:8.6.14" + "@storybook/test": "npm:8.6.14" polished: "npm:^4.2.2" ts-dedent: "npm:^2.2.0" - checksum: 10c0/ba381fb1cce2a004fa1ebaa9afdf6abaeb74e581523b51e660716c94244ecea274bb846829ee8c669d08d73c6fafccaf8691ced95338aa8292479b64ba1e5b1d + peerDependencies: + storybook: ^8.6.14 + checksum: 10c0/953a6087a416f21355641bf3306aeaf8b8177a6e702148c07c26bbb1a2a25bc40ca19693760a7dc169813da0d4d3da005fbfd48cba6615391d72bddcdda95587 languageName: node linkType: hard -"@storybook/addon-links@npm:^7.6.19": - version: 7.6.20 - resolution: "@storybook/addon-links@npm:7.6.20" +"@storybook/addon-jest@npm:^8.6.7": + version: 8.6.14 + resolution: "@storybook/addon-jest@npm:8.6.14" dependencies: - "@storybook/csf": "npm:^0.1.2" "@storybook/global": "npm:^5.0.0" + tiny-invariant: "npm:^1.3.1" ts-dedent: "npm:^2.0.0" + upath: "npm:^2.0.1" peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + storybook: ^8.6.14 + checksum: 10c0/b1300b9ba6a87bc604537b9593bbc53a2bb05d2d49fdbed32f2f3de88f843e0a2db05db2be11a3c5c393b0a7c4e60d439cfb9615c8069ede521636c936367477 + languageName: node + linkType: hard + +"@storybook/addon-links@npm:^8.6.7": + version: 8.6.14 + resolution: "@storybook/addon-links@npm:8.6.14" + dependencies: + "@storybook/global": "npm:^5.0.0" + ts-dedent: "npm:^2.0.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + storybook: ^8.6.14 peerDependenciesMeta: react: optional: true - checksum: 10c0/ea5cb9b08de9ef08572651ff83ec426591101ffc2cd048915e42e832a42b618c796e7f984b42a030c1ee466e4d7310f4f6c8fafca9a83a3a40414d39db419955 + checksum: 10c0/ed0472781ec71a857e7c1319f6d2e394be9f99880e3882053319c3c2fd06f8ef107910545945301ab57d58382336cc8c6200b7a5b8fa6f7debaf017986411125 languageName: node linkType: hard -"@storybook/addon-measure@npm:7.6.20": - version: 7.6.20 - resolution: "@storybook/addon-measure@npm:7.6.20" +"@storybook/addon-measure@npm:8.6.14": + version: 8.6.14 + resolution: "@storybook/addon-measure@npm:8.6.14" dependencies: "@storybook/global": "npm:^5.0.0" tiny-invariant: "npm:^1.3.1" - checksum: 10c0/d79008c1cf4dcfe5d18952d179cbd16c3be34ca233a9919f21a63a85a5a5abfef365e6977962429dbfbfdc984aca5903acc74df7475f171fd351ea95d50ef623 + peerDependencies: + storybook: ^8.6.14 + checksum: 10c0/a44f1c23e1665adf01684ce62b9c98e5b460aa96024c3c7be4bf9caa7c1073c4d9470b88bc5f814856594b7b90d9b877d5d58cfdbef2df77d483c1c3694ce37e languageName: node linkType: hard -"@storybook/addon-onboarding@npm:1.0.8": - version: 1.0.8 - resolution: "@storybook/addon-onboarding@npm:1.0.8" - dependencies: - "@storybook/telemetry": "npm:^7.1.0-alpha.32" - react-confetti: "npm:^6.1.0" +"@storybook/addon-onboarding@npm:^8.6.7": + version: 8.6.14 + resolution: "@storybook/addon-onboarding@npm:8.6.14" peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 10c0/12444cd8831e289df6e46d76fb61932678e4424e591a3ea0be1517547e2111bd35e54161674b851d00d507b05b7e28c6ca83e2b1b09bca483004c51b8f4b5acd + storybook: ^8.6.14 + checksum: 10c0/822b005c5e49aa84fe46207c383d178292484edf211d38997b9c07fc481bc61ff88eea8244a187b465101ec8a3c420543d21e5baaf4dbb9df2cd0149b89bfc8d languageName: node linkType: hard -"@storybook/addon-outline@npm:7.6.20": - version: 7.6.20 - resolution: "@storybook/addon-outline@npm:7.6.20" +"@storybook/addon-outline@npm:8.6.14": + version: 8.6.14 + resolution: "@storybook/addon-outline@npm:8.6.14" dependencies: "@storybook/global": "npm:^5.0.0" ts-dedent: "npm:^2.0.0" - checksum: 10c0/6d20c76b3ccd48dcb0298bd3aaf95d29826360ccfd51bbf96bd237dbd995d8134b92c01f55e2d697be3ca8b894505f01214dbdf39c1c8b4aeb101db945eb7b26 + peerDependencies: + storybook: ^8.6.14 + checksum: 10c0/b54d71299a75588d7d424fb986433435d69974f4782986b7c4ef7db964bc9f85c75a07d5b0a2a0eec5b018284ddd4d4851e14fb4e131f41a6463fc16db234617 languageName: node linkType: hard -"@storybook/addon-themes@npm:^7.6.19": - version: 7.6.20 - resolution: "@storybook/addon-themes@npm:7.6.20" +"@storybook/addon-themes@npm:^8.6.7": + version: 8.6.14 + resolution: "@storybook/addon-themes@npm:8.6.14" dependencies: ts-dedent: "npm:^2.0.0" - checksum: 10c0/d0ec71bc9484ec8d3a30ae88fce42671e9c469793f4d185eb0f3f798e4b5ee4839ec8885702021b7a7feae709296c844a7fc2c5b8d26f54fa856f7aa77ca08d8 - languageName: node - linkType: hard - -"@storybook/addon-toolbars@npm:7.6.20": - version: 7.6.20 - resolution: "@storybook/addon-toolbars@npm:7.6.20" - checksum: 10c0/b5c560dd988df4629463c6f6b574d12fbdf8ae5f780b50f54b3332fe548185f4527285aa058f4bff89b7abb4669fb80574dff569c087e1ca60836cb7b552f2ae - languageName: node - linkType: hard - -"@storybook/addon-viewport@npm:7.6.20": - version: 7.6.20 - resolution: "@storybook/addon-viewport@npm:7.6.20" - dependencies: - memoizerific: "npm:^1.11.3" - checksum: 10c0/7bafdeeae4b1ae97b0d011887199b794b94bb5695313abcec194dc5c1a50fda98f194036949e900d9b2a5bb506806e8b69908ec52aaa0e0207869b5ba786cfcc - languageName: node - linkType: hard - -"@storybook/addons@npm:^7.0.0": - version: 7.6.20 - resolution: "@storybook/addons@npm:7.6.20" - dependencies: - "@storybook/manager-api": "npm:7.6.20" - "@storybook/preview-api": "npm:7.6.20" - "@storybook/types": "npm:7.6.20" - checksum: 10c0/e05d797e4871258925988446fddde662b9086aba71d4351c25f3cce6d64e3b7b5a22d7879db1d0b70f7c81fa9c41a70f2be2309564574f729cea1f3153bb6579 + peerDependencies: + storybook: ^8.6.14 + checksum: 10c0/6e04a6d99b87a4527bd2b98ef4b655b3bfc79cb17667fe3d773f02eda7998ee319a7ecadf6be79f2b0cf70d952aaf11d7009cff911e1a7cc2a794eed58dd28ea languageName: node linkType: hard -"@storybook/api@npm:^7.6.19": - version: 7.6.20 - resolution: "@storybook/api@npm:7.6.20" - dependencies: - "@storybook/client-logger": "npm:7.6.20" - "@storybook/manager-api": "npm:7.6.20" - checksum: 10c0/af0602d0202784cd0fa50d6f22e910f090c4fe0cdd17e3d4a54530f9c4a9217fb17cfadb4054f68fd1b9705c81a100bf7a546b4d07abfbb2ddf55f3efad0c1a6 +"@storybook/addon-toolbars@npm:8.6.14": + version: 8.6.14 + resolution: "@storybook/addon-toolbars@npm:8.6.14" + peerDependencies: + storybook: ^8.6.14 + checksum: 10c0/3fb0fe13fab65be101abda613c1c92e08c2aa0cba97ff2e37aa410af5fe2c1ebc15203627039c265e9667af294ea0cd7bb6e7bd84cb854bad5d0245a9ce66b79 languageName: node linkType: hard -"@storybook/blocks@npm:7.6.20": - version: 7.6.20 - resolution: "@storybook/blocks@npm:7.6.20" +"@storybook/addon-viewport@npm:8.6.14": + version: 8.6.14 + resolution: "@storybook/addon-viewport@npm:8.6.14" dependencies: - "@storybook/channels": "npm:7.6.20" - "@storybook/client-logger": "npm:7.6.20" - "@storybook/components": "npm:7.6.20" - "@storybook/core-events": "npm:7.6.20" - "@storybook/csf": "npm:^0.1.2" - "@storybook/docs-tools": "npm:7.6.20" - "@storybook/global": "npm:^5.0.0" - "@storybook/manager-api": "npm:7.6.20" - "@storybook/preview-api": "npm:7.6.20" - "@storybook/theming": "npm:7.6.20" - "@storybook/types": "npm:7.6.20" - "@types/lodash": "npm:^4.14.167" - color-convert: "npm:^2.0.1" - dequal: "npm:^2.0.2" - lodash: "npm:^4.17.21" - markdown-to-jsx: "npm:^7.1.8" memoizerific: "npm:^1.11.3" - polished: "npm:^4.2.2" - react-colorful: "npm:^5.1.2" - telejson: "npm:^7.2.0" - tocbot: "npm:^4.20.1" - ts-dedent: "npm:^2.0.0" - util-deprecate: "npm:^1.0.2" peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 10c0/d848cdc41dd352966cb401f5b36e68fc377375a61f158f75e92efa490ae78b00c01abaad7db87ba6fd3b922d5403d588bb013b1e67e6f8dedc35d311f1e169c8 + storybook: ^8.6.14 + checksum: 10c0/00a353ce87c79a7b08fd78cab87045c5d29996ea3fcd2a4072380e0f76a6e0bfc9385f743b98764aaff0740e8460b9d2a37864a1d0e91bf48f26e3d5a1984e51 languageName: node linkType: hard -"@storybook/builder-manager@npm:7.6.20": - version: 7.6.20 - resolution: "@storybook/builder-manager@npm:7.6.20" +"@storybook/blocks@npm:8.6.14": + version: 8.6.14 + resolution: "@storybook/blocks@npm:8.6.14" dependencies: - "@fal-works/esbuild-plugin-global-externals": "npm:^2.1.2" - "@storybook/core-common": "npm:7.6.20" - "@storybook/manager": "npm:7.6.20" - "@storybook/node-logger": "npm:7.6.20" - "@types/ejs": "npm:^3.1.1" - "@types/find-cache-dir": "npm:^3.2.1" - "@yarnpkg/esbuild-plugin-pnp": "npm:^3.0.0-rc.10" - browser-assert: "npm:^1.2.1" - ejs: "npm:^3.1.8" - esbuild: "npm:^0.18.0" - esbuild-plugin-alias: "npm:^0.2.1" - express: "npm:^4.17.3" - find-cache-dir: "npm:^3.0.0" - fs-extra: "npm:^11.1.0" - process: "npm:^0.11.10" - util: "npm:^0.12.4" - checksum: 10c0/a13742ddfae8b6ec228813139d38f437bd30a42387536bf19822a7660c093001ded77c2b234f25452691635e1851aa2249677397b4135ce9ef0b69f11b6343f5 + "@storybook/icons": "npm:^1.2.12" + ts-dedent: "npm:^2.0.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + storybook: ^8.6.14 + peerDependenciesMeta: + react: + optional: true + react-dom: + optional: true + checksum: 10c0/3f87c1f224031dee8b5fa6e296022997d21956832fea1e4ffa3525931c05a8ef6450b67c728635297a08548d65ef5abde05d7740d4ea3a9a811f2ff08a5f0148 languageName: node linkType: hard -"@storybook/channels@npm:7.6.20, @storybook/channels@npm:^7.6.4": +"@storybook/channels@npm:7.6.20": version: 7.6.20 resolution: "@storybook/channels@npm:7.6.20" dependencies: @@ -9925,58 +9373,7 @@ __metadata: languageName: node linkType: hard -"@storybook/cli@npm:7.6.20": - version: 7.6.20 - resolution: "@storybook/cli@npm:7.6.20" - dependencies: - "@babel/core": "npm:^7.23.2" - "@babel/preset-env": "npm:^7.23.2" - "@babel/types": "npm:^7.23.0" - "@ndelangen/get-tarball": "npm:^3.0.7" - "@storybook/codemod": "npm:7.6.20" - "@storybook/core-common": "npm:7.6.20" - "@storybook/core-events": "npm:7.6.20" - "@storybook/core-server": "npm:7.6.20" - "@storybook/csf-tools": "npm:7.6.20" - "@storybook/node-logger": "npm:7.6.20" - "@storybook/telemetry": "npm:7.6.20" - "@storybook/types": "npm:7.6.20" - "@types/semver": "npm:^7.3.4" - "@yarnpkg/fslib": "npm:2.10.3" - "@yarnpkg/libzip": "npm:2.3.0" - chalk: "npm:^4.1.0" - commander: "npm:^6.2.1" - cross-spawn: "npm:^7.0.3" - detect-indent: "npm:^6.1.0" - envinfo: "npm:^7.7.3" - execa: "npm:^5.0.0" - express: "npm:^4.17.3" - find-up: "npm:^5.0.0" - fs-extra: "npm:^11.1.0" - get-npm-tarball-url: "npm:^2.0.3" - get-port: "npm:^5.1.1" - giget: "npm:^1.0.0" - globby: "npm:^11.0.2" - jscodeshift: "npm:^0.15.1" - leven: "npm:^3.1.0" - ora: "npm:^5.4.1" - prettier: "npm:^2.8.0" - prompts: "npm:^2.4.0" - puppeteer-core: "npm:^2.1.1" - read-pkg-up: "npm:^7.0.1" - semver: "npm:^7.3.7" - strip-json-comments: "npm:^3.0.1" - tempy: "npm:^1.0.1" - ts-dedent: "npm:^2.0.0" - util-deprecate: "npm:^1.0.2" - bin: - getstorybook: ./bin/index.js - sb: ./bin/index.js - checksum: 10c0/93b267043908493347211a1489d5bd325997b416753a1b42c27e78d5c0534f1078da1bf8201f557b8746ecec64f90ac490c8d2854eb3a1283c15f0c1fdfa4df4 - languageName: node - linkType: hard - -"@storybook/client-logger@npm:7.6.20, @storybook/client-logger@npm:^7.6.4": +"@storybook/client-logger@npm:7.6.20": version: 7.6.20 resolution: "@storybook/client-logger@npm:7.6.20" dependencies: @@ -9985,60 +9382,16 @@ __metadata: languageName: node linkType: hard -"@storybook/codemod@npm:7.6.20": - version: 7.6.20 - resolution: "@storybook/codemod@npm:7.6.20" - dependencies: - "@babel/core": "npm:^7.23.2" - "@babel/preset-env": "npm:^7.23.2" - "@babel/types": "npm:^7.23.0" - "@storybook/csf": "npm:^0.1.2" - "@storybook/csf-tools": "npm:7.6.20" - "@storybook/node-logger": "npm:7.6.20" - "@storybook/types": "npm:7.6.20" - "@types/cross-spawn": "npm:^6.0.2" - cross-spawn: "npm:^7.0.3" - globby: "npm:^11.0.2" - jscodeshift: "npm:^0.15.1" - lodash: "npm:^4.17.21" - prettier: "npm:^2.8.0" - recast: "npm:^0.23.1" - checksum: 10c0/9800e9f8cbb25558fc23b3b4699f232d2fbbe5d27a2d795ffbf509460bce73d2d970aa4a84f7c94924708b73853d8659f677fae7141af0f641ce88b40f93462d - languageName: node - linkType: hard - -"@storybook/components@npm:7.6.20, @storybook/components@npm:^7.0.0, @storybook/components@npm:^7.6.19": - version: 7.6.20 - resolution: "@storybook/components@npm:7.6.20" - dependencies: - "@radix-ui/react-select": "npm:^1.2.2" - "@radix-ui/react-toolbar": "npm:^1.0.4" - "@storybook/client-logger": "npm:7.6.20" - "@storybook/csf": "npm:^0.1.2" - "@storybook/global": "npm:^5.0.0" - "@storybook/theming": "npm:7.6.20" - "@storybook/types": "npm:7.6.20" - memoizerific: "npm:^1.11.3" - use-resize-observer: "npm:^9.1.0" - util-deprecate: "npm:^1.0.2" +"@storybook/components@npm:8.6.14, @storybook/components@npm:^8.0.0, @storybook/components@npm:^8.6.7": + version: 8.6.14 + resolution: "@storybook/components@npm:8.6.14" peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 10c0/c8d46faa5f20ed85a4debb78c0d8bfd72a7c2947db24941f79ba1efc53e523b0be2b0b3a69976ae29de43b65c18991e46032d0e051440b21d9ffefee2f9fd865 - languageName: node - linkType: hard - -"@storybook/core-client@npm:7.6.20": - version: 7.6.20 - resolution: "@storybook/core-client@npm:7.6.20" - dependencies: - "@storybook/client-logger": "npm:7.6.20" - "@storybook/preview-api": "npm:7.6.20" - checksum: 10c0/cce90a3dfb89e088f1b97aa238a7a6dbfffbc27c8e5298276ccc08d87f931bca20406ad3bcbd56045f161d2493c11b7ee9754e2b86503825d25df61826bcda83 + storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 + checksum: 10c0/43a9192f312c8b2ac1aaeabcfc7c766215e934efd340b01edd9e71ca194ebf30ac896f60817ed539aec9d4183dc77296056e78c5c3705607875df79df7ab7acc languageName: node linkType: hard -"@storybook/core-common@npm:7.6.20, @storybook/core-common@npm:^7.0.0-beta.0 || ^7.0.0-rc.0 || ^7.0.0, @storybook/core-common@npm:^7.6.4": +"@storybook/core-common@npm:7.6.20": version: 7.6.20 resolution: "@storybook/core-common@npm:7.6.20" dependencies: @@ -10069,7 +9422,16 @@ __metadata: languageName: node linkType: hard -"@storybook/core-events@npm:7.6.20, @storybook/core-events@npm:^7.0.0": +"@storybook/core-common@npm:^8.6.7": + version: 8.6.14 + resolution: "@storybook/core-common@npm:8.6.14" + peerDependencies: + storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 + checksum: 10c0/0eb0c0bd3b79ec018cd1a7ecfcb1629009dfda46bdbeb280bd18e376399e0e8c1220af06127a5a622804dcbd814621f575890b789b0299cb5a21990f2f0fbea0 + languageName: node + linkType: hard + +"@storybook/core-events@npm:7.6.20": version: 7.6.20 resolution: "@storybook/core-events@npm:7.6.20" dependencies: @@ -10078,65 +9440,51 @@ __metadata: languageName: node linkType: hard -"@storybook/core-server@npm:7.6.20": - version: 7.6.20 - resolution: "@storybook/core-server@npm:7.6.20" +"@storybook/core-events@npm:^8.0.0": + version: 8.6.14 + resolution: "@storybook/core-events@npm:8.6.14" + peerDependencies: + storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 + checksum: 10c0/8fc9941e3ef9954ed82a845e29867ba4bcc2e0c1749c1ab6a916a24d3941d878cc509769b6c0c073e78ec91d22c7895787219bb6b5d3e787c8223963dbef6b3e + languageName: node + linkType: hard + +"@storybook/core@npm:8.6.14": + version: 8.6.14 + resolution: "@storybook/core@npm:8.6.14" dependencies: - "@aw-web-design/x-default-browser": "npm:1.4.126" - "@discoveryjs/json-ext": "npm:^0.5.3" - "@storybook/builder-manager": "npm:7.6.20" - "@storybook/channels": "npm:7.6.20" - "@storybook/core-common": "npm:7.6.20" - "@storybook/core-events": "npm:7.6.20" - "@storybook/csf": "npm:^0.1.2" - "@storybook/csf-tools": "npm:7.6.20" - "@storybook/docs-mdx": "npm:^0.1.0" - "@storybook/global": "npm:^5.0.0" - "@storybook/manager": "npm:7.6.20" - "@storybook/node-logger": "npm:7.6.20" - "@storybook/preview-api": "npm:7.6.20" - "@storybook/telemetry": "npm:7.6.20" - "@storybook/types": "npm:7.6.20" - "@types/detect-port": "npm:^1.3.0" - "@types/node": "npm:^18.0.0" - "@types/pretty-hrtime": "npm:^1.0.0" - "@types/semver": "npm:^7.3.4" + "@storybook/theming": "npm:8.6.14" better-opn: "npm:^3.0.2" - chalk: "npm:^4.1.0" - cli-table3: "npm:^0.6.1" - compression: "npm:^1.7.4" - detect-port: "npm:^1.3.0" - express: "npm:^4.17.3" - fs-extra: "npm:^11.1.0" - globby: "npm:^11.0.2" - lodash: "npm:^4.17.21" - open: "npm:^8.4.0" - pretty-hrtime: "npm:^1.0.3" - prompts: "npm:^2.4.0" - read-pkg-up: "npm:^7.0.1" - semver: "npm:^7.3.7" - telejson: "npm:^7.2.0" - tiny-invariant: "npm:^1.3.1" - ts-dedent: "npm:^2.0.0" - util: "npm:^0.12.4" - util-deprecate: "npm:^1.0.2" - watchpack: "npm:^2.2.0" + browser-assert: "npm:^1.2.1" + esbuild: "npm:^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0 || ^0.25.0" + esbuild-register: "npm:^3.5.0" + jsdoc-type-pratt-parser: "npm:^4.0.0" + process: "npm:^0.11.10" + recast: "npm:^0.23.5" + semver: "npm:^7.6.2" + util: "npm:^0.12.5" ws: "npm:^8.2.3" - checksum: 10c0/10bc1465f3629c1be7902b2aeec7822ff4d656a6b751b867506fb6776b2df82f42e4a61ed83ddad2c27a7275816db073a6a297429a7fb269b8991b55752e0ba4 + peerDependencies: + prettier: ^2 || ^3 + peerDependenciesMeta: + prettier: + optional: true + checksum: 10c0/d1756b4a120c76b8eafa0b54d43969180b4cba8b212b98295a422ab738d7e9ae19d0fd1853de9e8335a6b4f8091dd6457649f6db9615d268c83b2248ffe5bf30 languageName: node linkType: hard -"@storybook/csf-plugin@npm:7.6.20": - version: 7.6.20 - resolution: "@storybook/csf-plugin@npm:7.6.20" +"@storybook/csf-plugin@npm:8.6.14": + version: 8.6.14 + resolution: "@storybook/csf-plugin@npm:8.6.14" dependencies: - "@storybook/csf-tools": "npm:7.6.20" unplugin: "npm:^1.3.1" - checksum: 10c0/ddcce2cef7e3872a720f5eb07d64e37791ea42a5a0c6d608bf730f06b707bbbaa0c778fd429a564d83f3d7244695e82ae5e3e62d0b46d2f77f65ebba9c9d37e7 + peerDependencies: + storybook: ^8.6.14 + checksum: 10c0/3f2cebd6046aea554d2e740c4d262005c580018dfcbcca8d9a589f9e893d407da405ace235595b3e110fb6ed21b840ff1645508a98764017ca5d1d4c56027172 languageName: node linkType: hard -"@storybook/csf-tools@npm:7.6.20, @storybook/csf-tools@npm:^7, @storybook/csf-tools@npm:^7.0.0-beta.0 || ^7.0.0-rc.0 || ^7.0.0": +"@storybook/csf-tools@npm:^7": version: 7.6.20 resolution: "@storybook/csf-tools@npm:7.6.20" dependencies: @@ -10153,23 +9501,25 @@ __metadata: languageName: node linkType: hard -"@storybook/csf@npm:^0.1.1, @storybook/csf@npm:^0.1.2": - version: 0.1.11 - resolution: "@storybook/csf@npm:0.1.11" +"@storybook/csf@npm:^0.1.11": + version: 0.1.13 + resolution: "@storybook/csf@npm:0.1.13" dependencies: type-fest: "npm:^2.19.0" - checksum: 10c0/c5329fc13e7d762049b5c91df1bc1c0e510a1a898c401b72b68f1ff64139a85ab64a92f8e681d2fcb226c0a4a55d0f23b569b2bdb517e0f067bd05ea46228356 + checksum: 10c0/7c57b531ac95ca45239f498d419483d675e58cd8d549e0bac623519cc1ef4f3c9c6b75ec3873aa51cc2872728012db5dd5e1f2c2d8085014241eb4b896480996 languageName: node linkType: hard -"@storybook/docs-mdx@npm:^0.1.0": - version: 0.1.0 - resolution: "@storybook/docs-mdx@npm:0.1.0" - checksum: 10c0/e4d510f0452a7a3cb09d9617920c18b974f836299dfba38d6b2e62fbfea418d71f340b6c280a87201b1336a7221c7cc16b47794c1f8e81d01dcfa1f599343085 +"@storybook/csf@npm:^0.1.2": + version: 0.1.11 + resolution: "@storybook/csf@npm:0.1.11" + dependencies: + type-fest: "npm:^2.19.0" + checksum: 10c0/c5329fc13e7d762049b5c91df1bc1c0e510a1a898c401b72b68f1ff64139a85ab64a92f8e681d2fcb226c0a4a55d0f23b569b2bdb517e0f067bd05ea46228356 languageName: node linkType: hard -"@storybook/docs-tools@npm:7.6.20, @storybook/docs-tools@npm:^7": +"@storybook/docs-tools@npm:^7": version: 7.6.20 resolution: "@storybook/docs-tools@npm:7.6.20" dependencies: @@ -10200,6 +9550,28 @@ __metadata: languageName: node linkType: hard +"@storybook/icons@npm:^1.2.12, @storybook/icons@npm:^1.2.5": + version: 1.4.0 + resolution: "@storybook/icons@npm:1.4.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + checksum: 10c0/fd0514fb3fa431a8b5939fe1d9fc336b253ef2c25b34792d2d4ee59e13321108d34f8bf223a0981482f54f83c5ef47ffd1a98c376ca9071011c1b8afe2b01d43 + languageName: node + linkType: hard + +"@storybook/instrumenter@npm:8.6.14": + version: 8.6.14 + resolution: "@storybook/instrumenter@npm:8.6.14" + dependencies: + "@storybook/global": "npm:^5.0.0" + "@vitest/utils": "npm:^2.1.1" + peerDependencies: + storybook: ^8.6.14 + checksum: 10c0/6b887e25d11404bb1b0f27eea310529732d9a6222d2581ae9f5d66d28e02b76a4ebe0a31d97322d88d5c9d2d2bd503e5f3da6b6f7dfc4c025eb7f86371db0e23 + languageName: node + linkType: hard + "@storybook/jest@npm:^0.2.3": version: 0.2.3 resolution: "@storybook/jest@npm:0.2.3" @@ -10212,39 +9584,12 @@ __metadata: languageName: node linkType: hard -"@storybook/manager-api@npm:7.6.20, @storybook/manager-api@npm:^7.0.0, @storybook/manager-api@npm:^7.6.19": - version: 7.6.20 - resolution: "@storybook/manager-api@npm:7.6.20" - dependencies: - "@storybook/channels": "npm:7.6.20" - "@storybook/client-logger": "npm:7.6.20" - "@storybook/core-events": "npm:7.6.20" - "@storybook/csf": "npm:^0.1.2" - "@storybook/global": "npm:^5.0.0" - "@storybook/router": "npm:7.6.20" - "@storybook/theming": "npm:7.6.20" - "@storybook/types": "npm:7.6.20" - dequal: "npm:^2.0.2" - lodash: "npm:^4.17.21" - memoizerific: "npm:^1.11.3" - store2: "npm:^2.14.2" - telejson: "npm:^7.2.0" - ts-dedent: "npm:^2.0.0" - checksum: 10c0/3b773f203b7e95f6e55faca76875282a25ffb9f91061bbdac868976ae2d3e388b0a2306695e5472edbd74312d800eceb539f39c6d5a23f6be00260270eba5531 - languageName: node - linkType: hard - -"@storybook/manager@npm:7.6.20": - version: 7.6.20 - resolution: "@storybook/manager@npm:7.6.20" - checksum: 10c0/419f76a1fd87d553f014cbb9d4a0dbacd57bbbd1d5e2c4f8b6b077447bccaa5e241f43ad48357d53e73a2bff425fc49df1c24dd69e3505180c3024dd4f5641c9 - languageName: node - linkType: hard - -"@storybook/mdx2-csf@npm:^1.0.0": - version: 1.1.0 - resolution: "@storybook/mdx2-csf@npm:1.1.0" - checksum: 10c0/ba4496a51efae35edb3e509e488cd16066ccf0768d2dc527bbc2650d0bc0f630540985205772d63d1711d1a5dae66136a919077c90fa2ac7a02a13de43446baa +"@storybook/manager-api@npm:8.6.14, @storybook/manager-api@npm:^8.0.0, @storybook/manager-api@npm:^8.6.7": + version: 8.6.14 + resolution: "@storybook/manager-api@npm:8.6.14" + peerDependencies: + storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 + checksum: 10c0/141089caf50df9f1dbd18c22b8e8dfa45641f67ab148c9956c046c0141ff7a70f3341f440c454d5f6247dac389499d67bad8b6c81cbcd6f08c7fe34bf42fd264 languageName: node linkType: hard @@ -10255,14 +9600,7 @@ __metadata: languageName: node linkType: hard -"@storybook/postinstall@npm:7.6.20": - version: 7.6.20 - resolution: "@storybook/postinstall@npm:7.6.20" - checksum: 10c0/bfb55d4ce970e22076a31559e2ba849aad1de8b8f94a4c41fb1351b6f3df9d63b89d5eceeac6963919c9e0e0e2a4a23b86e48e93926db3013d8e82e18e3b03bb - languageName: node - linkType: hard - -"@storybook/preview-api@npm:7.6.20, @storybook/preview-api@npm:^7.0.0-beta.0 || ^7.0.0-rc.0 || ^7.0.0, @storybook/preview-api@npm:^7.6.19, @storybook/preview-api@npm:^7.6.4": +"@storybook/preview-api@npm:7.6.20": version: 7.6.20 resolution: "@storybook/preview-api@npm:7.6.20" dependencies: @@ -10284,105 +9622,73 @@ __metadata: languageName: node linkType: hard -"@storybook/preview@npm:^7.6.19, @storybook/preview@npm:^7.6.4": - version: 7.6.20 - resolution: "@storybook/preview@npm:7.6.20" - checksum: 10c0/8c779e4f12b7b35f4ba0c739ec1d58a06b124affb0120a198fe8b919eec66fcc5873409d7572ffa43cac0cdb12d48c2eb874558400366253d370f60a27cdb88e - languageName: node - linkType: hard - -"@storybook/react-dom-shim@npm:7.6.20": - version: 7.6.20 - resolution: "@storybook/react-dom-shim@npm:7.6.20" +"@storybook/preview-api@npm:8.6.14, @storybook/preview-api@npm:^8.6.7": + version: 8.6.14 + resolution: "@storybook/preview-api@npm:8.6.14" peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 10c0/444cd6bed0b4fb9f72038ce7c0ea0056377eba3c993a68f4e5a42357e0586e46ca2a4458669b38bbec2cd2569a3e5555eeb847e6e43496747b02989d9d42a884 + storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 + checksum: 10c0/2e960ae54453d50d27f706dbfc685881534fbc8c5c7ebf4ebfba7d24f33b007f5814f8f9613cd36feb495e7f82cd746c1f88a04e9e107f5aba9972c886afc040 languageName: node linkType: hard -"@storybook/react@npm:^7.6.19, @storybook/react@npm:^7.6.4": - version: 7.6.20 - resolution: "@storybook/react@npm:7.6.20" - dependencies: - "@storybook/client-logger": "npm:7.6.20" - "@storybook/core-client": "npm:7.6.20" - "@storybook/docs-tools": "npm:7.6.20" - "@storybook/global": "npm:^5.0.0" - "@storybook/preview-api": "npm:7.6.20" - "@storybook/react-dom-shim": "npm:7.6.20" - "@storybook/types": "npm:7.6.20" - "@types/escodegen": "npm:^0.0.6" - "@types/estree": "npm:^0.0.51" - "@types/node": "npm:^18.0.0" - acorn: "npm:^7.4.1" - acorn-jsx: "npm:^5.3.1" - acorn-walk: "npm:^7.2.0" - escodegen: "npm:^2.1.0" - html-tags: "npm:^3.1.0" - lodash: "npm:^4.17.21" - prop-types: "npm:^15.7.2" - react-element-to-jsx-string: "npm:^15.0.0" - ts-dedent: "npm:^2.0.0" - type-fest: "npm:~2.19" - util-deprecate: "npm:^1.0.2" +"@storybook/preview@npm:^8.6.7": + version: 8.6.14 + resolution: "@storybook/preview@npm:8.6.14" peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - typescript: "*" - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/2a61c94bc9414637d31a9860c65263cf40fe9051711fea0d6723fad409d153b640f9f04cd515254bf64734774dfe2aa59f406dfe36e4a6f49696670503dd9104 + storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 + checksum: 10c0/c4a81931250afe94cd022bb0db74442a448afe04be5b6040f1aa5e4af07973c60f46d5ab778fed8b886981a519ea947d9493579dd7ba128b0da727638e0d7419 languageName: node linkType: hard -"@storybook/router@npm:7.6.20": - version: 7.6.20 - resolution: "@storybook/router@npm:7.6.20" - dependencies: - "@storybook/client-logger": "npm:7.6.20" - memoizerific: "npm:^1.11.3" - qs: "npm:^6.10.0" - checksum: 10c0/0057c348acc84c0a733a9833d405fc20ccc1e434c8a9cf7c8011ed04450a71d05cfc6bbccae1cbff5594b6a4a1bdfeff43a36a8e645cc2643879d13f384ef58e +"@storybook/react-dom-shim@npm:8.6.14": + version: 8.6.14 + resolution: "@storybook/react-dom-shim@npm:8.6.14" + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + storybook: ^8.6.14 + checksum: 10c0/6e54c05ab19be1c34084e8acd133d8d358c3b6824db01b4aff159be3f818bd12c3a17217fe1947244c4576d7d02875b486578f011edb0e2290cb62541a263c5f languageName: node linkType: hard -"@storybook/telemetry@npm:7.6.20, @storybook/telemetry@npm:^7.1.0-alpha.32": - version: 7.6.20 - resolution: "@storybook/telemetry@npm:7.6.20" +"@storybook/react@npm:^8.6.7": + version: 8.6.14 + resolution: "@storybook/react@npm:8.6.14" dependencies: - "@storybook/client-logger": "npm:7.6.20" - "@storybook/core-common": "npm:7.6.20" - "@storybook/csf-tools": "npm:7.6.20" - chalk: "npm:^4.1.0" - detect-package-manager: "npm:^2.0.1" - fetch-retry: "npm:^5.0.2" - fs-extra: "npm:^11.1.0" - read-pkg-up: "npm:^7.0.1" - checksum: 10c0/8f0d5be9893d8fb56f07b83b56954b4a7f99492ae6b554051a2ebbe92d03999a3eb2160c6a365ca0a36287961e486a9f049110c801a058ecfedc672a69bd25bf + "@storybook/components": "npm:8.6.14" + "@storybook/global": "npm:^5.0.0" + "@storybook/manager-api": "npm:8.6.14" + "@storybook/preview-api": "npm:8.6.14" + "@storybook/react-dom-shim": "npm:8.6.14" + "@storybook/theming": "npm:8.6.14" + peerDependencies: + "@storybook/test": 8.6.14 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + storybook: ^8.6.14 + typescript: ">= 4.2.x" + peerDependenciesMeta: + "@storybook/test": + optional: true + typescript: + optional: true + checksum: 10c0/e447892d523b32a52708e6eabc142a3dc0433c23fc28d59206e3b03fe070df77e80998839c3496c22ad11b712499b8e0fbec0dacf31a006ea99b171dba74c43b languageName: node linkType: hard -"@storybook/test-runner@npm:^0.16.0": - version: 0.16.0 - resolution: "@storybook/test-runner@npm:0.16.0" +"@storybook/test-runner@npm:^0.22.0": + version: 0.22.0 + resolution: "@storybook/test-runner@npm:0.22.0" dependencies: "@babel/core": "npm:^7.22.5" "@babel/generator": "npm:^7.22.5" "@babel/template": "npm:^7.22.5" "@babel/types": "npm:^7.22.5" "@jest/types": "npm:^29.6.3" - "@storybook/core-common": "npm:^7.0.0-beta.0 || ^7.0.0-rc.0 || ^7.0.0" - "@storybook/csf": "npm:^0.1.1" - "@storybook/csf-tools": "npm:^7.0.0-beta.0 || ^7.0.0-rc.0 || ^7.0.0" - "@storybook/preview-api": "npm:^7.0.0-beta.0 || ^7.0.0-rc.0 || ^7.0.0" - "@swc/core": "npm:^1.3.18" + "@storybook/csf": "npm:^0.1.11" + "@swc/core": "npm:^1.5.22" "@swc/jest": "npm:^0.2.23" - can-bind-to-host: "npm:^1.1.1" - commander: "npm:^9.0.0" expect-playwright: "npm:^0.8.0" - glob: "npm:^10.2.2" jest: "npm:^29.6.4" jest-circus: "npm:^29.6.4" jest-environment-node: "npm:^29.6.4" @@ -10391,40 +9697,39 @@ __metadata: jest-runner: "npm:^29.6.4" jest-serializer-html: "npm:^7.1.0" jest-watch-typeahead: "npm:^2.0.0" - node-fetch: "npm:^2" + nyc: "npm:^15.1.0" playwright: "npm:^1.14.0" - read-pkg-up: "npm:^7.0.1" - tempy: "npm:^1.0.1" - ts-dedent: "npm:^2.0.0" + peerDependencies: + storybook: ^0.0.0-0 || ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 || ^9.0.0-0 bin: test-storybook: dist/test-storybook.js - checksum: 10c0/1f341b01090d891227277f4bc12d3f2df877184cd5e534ae0f9e954eb07409b8cd09489aa1f3836fd839b41cdf0a59af08edcc40a503de095c930ebf5e1d6bd6 + checksum: 10c0/f644ee495298e013f85f57643afbcbd26fe6579890aeb2e7e28a06f1a488e3dbbaf01473a3d961e75c5b9b341a484895eb464cd1b5781abdc6db8dd796eabafd languageName: node linkType: hard -"@storybook/testing-library@npm:^0.2.2": - version: 0.2.2 - resolution: "@storybook/testing-library@npm:0.2.2" +"@storybook/test@npm:8.6.14": + version: 8.6.14 + resolution: "@storybook/test@npm:8.6.14" dependencies: - "@testing-library/dom": "npm:^9.0.0" - "@testing-library/user-event": "npm:^14.4.0" - ts-dedent: "npm:^2.2.0" - checksum: 10c0/3179c74148c92267ea449068ce9fb00bf960dbf06654354de7869428415d16dc730a0d58b5adca7619d21e5a058ae0bf713e34c09be8bca574388ec0106c5068 + "@storybook/global": "npm:^5.0.0" + "@storybook/instrumenter": "npm:8.6.14" + "@testing-library/dom": "npm:10.4.0" + "@testing-library/jest-dom": "npm:6.5.0" + "@testing-library/user-event": "npm:14.5.2" + "@vitest/expect": "npm:2.0.5" + "@vitest/spy": "npm:2.0.5" + peerDependencies: + storybook: ^8.6.14 + checksum: 10c0/f2808db7d567b03320dbdd4a5e2b8ff8a92860138ff4fc87c7c18c3b2fbfb57158cc5ae936770222d7c3ef0fbed85f5e826762ddbeb7f0399961ab9528dbbcb8 languageName: node linkType: hard -"@storybook/theming@npm:7.6.20, @storybook/theming@npm:^7.0.0": - version: 7.6.20 - resolution: "@storybook/theming@npm:7.6.20" - dependencies: - "@emotion/use-insertion-effect-with-fallbacks": "npm:^1.0.0" - "@storybook/client-logger": "npm:7.6.20" - "@storybook/global": "npm:^5.0.0" - memoizerific: "npm:^1.11.3" +"@storybook/theming@npm:8.6.14, @storybook/theming@npm:^8.0.0": + version: 8.6.14 + resolution: "@storybook/theming@npm:8.6.14" peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 10c0/7ab97d6a93837900391212ac1638a247d2ccac55bd1261bb34739a11f226040c47da5fc5fde120d4829a3f068b55ce34a2d42c0b14bcfa71e97b18a4288161f3 + storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 + checksum: 10c0/765bfbfedcbdcdb719b164a14bb61b8ad60819c6124d0e1f243b6b45e62de877ec8dff6259092207a58d6c2771f4883650e9784a2be1aaf7e0ef0fe75465db0d languageName: node linkType: hard @@ -10600,6 +9905,13 @@ __metadata: languageName: node linkType: hard +"@swc/core-darwin-arm64@npm:1.11.24": + version: 1.11.24 + resolution: "@swc/core-darwin-arm64@npm:1.11.24" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + "@swc/core-darwin-x64@npm:1.11.11": version: 1.11.11 resolution: "@swc/core-darwin-x64@npm:1.11.11" @@ -10607,6 +9919,13 @@ __metadata: languageName: node linkType: hard +"@swc/core-darwin-x64@npm:1.11.24": + version: 1.11.24 + resolution: "@swc/core-darwin-x64@npm:1.11.24" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + "@swc/core-linux-arm-gnueabihf@npm:1.11.11": version: 1.11.11 resolution: "@swc/core-linux-arm-gnueabihf@npm:1.11.11" @@ -10614,6 +9933,13 @@ __metadata: languageName: node linkType: hard +"@swc/core-linux-arm-gnueabihf@npm:1.11.24": + version: 1.11.24 + resolution: "@swc/core-linux-arm-gnueabihf@npm:1.11.24" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + "@swc/core-linux-arm64-gnu@npm:1.11.11": version: 1.11.11 resolution: "@swc/core-linux-arm64-gnu@npm:1.11.11" @@ -10621,6 +9947,13 @@ __metadata: languageName: node linkType: hard +"@swc/core-linux-arm64-gnu@npm:1.11.24": + version: 1.11.24 + resolution: "@swc/core-linux-arm64-gnu@npm:1.11.24" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + "@swc/core-linux-arm64-musl@npm:1.11.11": version: 1.11.11 resolution: "@swc/core-linux-arm64-musl@npm:1.11.11" @@ -10628,6 +9961,13 @@ __metadata: languageName: node linkType: hard +"@swc/core-linux-arm64-musl@npm:1.11.24": + version: 1.11.24 + resolution: "@swc/core-linux-arm64-musl@npm:1.11.24" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + "@swc/core-linux-x64-gnu@npm:1.11.11": version: 1.11.11 resolution: "@swc/core-linux-x64-gnu@npm:1.11.11" @@ -10635,6 +9975,13 @@ __metadata: languageName: node linkType: hard +"@swc/core-linux-x64-gnu@npm:1.11.24": + version: 1.11.24 + resolution: "@swc/core-linux-x64-gnu@npm:1.11.24" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + "@swc/core-linux-x64-musl@npm:1.11.11": version: 1.11.11 resolution: "@swc/core-linux-x64-musl@npm:1.11.11" @@ -10642,6 +9989,13 @@ __metadata: languageName: node linkType: hard +"@swc/core-linux-x64-musl@npm:1.11.24": + version: 1.11.24 + resolution: "@swc/core-linux-x64-musl@npm:1.11.24" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + "@swc/core-win32-arm64-msvc@npm:1.11.11": version: 1.11.11 resolution: "@swc/core-win32-arm64-msvc@npm:1.11.11" @@ -10649,6 +10003,13 @@ __metadata: languageName: node linkType: hard +"@swc/core-win32-arm64-msvc@npm:1.11.24": + version: 1.11.24 + resolution: "@swc/core-win32-arm64-msvc@npm:1.11.24" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + "@swc/core-win32-ia32-msvc@npm:1.11.11": version: 1.11.11 resolution: "@swc/core-win32-ia32-msvc@npm:1.11.11" @@ -10656,14 +10017,28 @@ __metadata: languageName: node linkType: hard -"@swc/core-win32-x64-msvc@npm:1.11.11": - version: 1.11.11 - resolution: "@swc/core-win32-x64-msvc@npm:1.11.11" +"@swc/core-win32-ia32-msvc@npm:1.11.24": + version: 1.11.24 + resolution: "@swc/core-win32-ia32-msvc@npm:1.11.24" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@swc/core-win32-x64-msvc@npm:1.11.11": + version: 1.11.11 + resolution: "@swc/core-win32-x64-msvc@npm:1.11.11" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@swc/core-win32-x64-msvc@npm:1.11.24": + version: 1.11.24 + resolution: "@swc/core-win32-x64-msvc@npm:1.11.24" conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@swc/core@npm:^1.11.5, @swc/core@npm:^1.3.18, @swc/core@npm:^1.3.36": +"@swc/core@npm:^1.11.5, @swc/core@npm:^1.3.36": version: 1.11.11 resolution: "@swc/core@npm:1.11.11" dependencies: @@ -10709,6 +10084,52 @@ __metadata: languageName: node linkType: hard +"@swc/core@npm:^1.5.22": + version: 1.11.24 + resolution: "@swc/core@npm:1.11.24" + dependencies: + "@swc/core-darwin-arm64": "npm:1.11.24" + "@swc/core-darwin-x64": "npm:1.11.24" + "@swc/core-linux-arm-gnueabihf": "npm:1.11.24" + "@swc/core-linux-arm64-gnu": "npm:1.11.24" + "@swc/core-linux-arm64-musl": "npm:1.11.24" + "@swc/core-linux-x64-gnu": "npm:1.11.24" + "@swc/core-linux-x64-musl": "npm:1.11.24" + "@swc/core-win32-arm64-msvc": "npm:1.11.24" + "@swc/core-win32-ia32-msvc": "npm:1.11.24" + "@swc/core-win32-x64-msvc": "npm:1.11.24" + "@swc/counter": "npm:^0.1.3" + "@swc/types": "npm:^0.1.21" + peerDependencies: + "@swc/helpers": ">=0.5.17" + dependenciesMeta: + "@swc/core-darwin-arm64": + optional: true + "@swc/core-darwin-x64": + optional: true + "@swc/core-linux-arm-gnueabihf": + optional: true + "@swc/core-linux-arm64-gnu": + optional: true + "@swc/core-linux-arm64-musl": + optional: true + "@swc/core-linux-x64-gnu": + optional: true + "@swc/core-linux-x64-musl": + optional: true + "@swc/core-win32-arm64-msvc": + optional: true + "@swc/core-win32-ia32-msvc": + optional: true + "@swc/core-win32-x64-msvc": + optional: true + peerDependenciesMeta: + "@swc/helpers": + optional: true + checksum: 10c0/26c524a505927ebd4229ec20fecf5f38b6a3265f22f3ede3a334834b37d01eedd133676e231d19ecaae2923bdfb0fa66acb925ffaee6e472e36ed81a7ace90f7 + languageName: node + linkType: hard + "@swc/counter@npm:^0.1.3": version: 0.1.3 resolution: "@swc/counter@npm:0.1.3" @@ -10747,6 +10168,15 @@ __metadata: languageName: node linkType: hard +"@swc/types@npm:^0.1.21": + version: 0.1.21 + resolution: "@swc/types@npm:0.1.21" + dependencies: + "@swc/counter": "npm:^0.1.3" + checksum: 10c0/2baa89c824426e0de0c84e212278010e2df8dc2d6ffaa6f1e306e1b2930c6404b3d3f8989307e8c42ceb95ac143ab7a80be138af6a014d5c782dce5be94dcd5e + languageName: node + linkType: hard + "@tailwindcss/node@npm:^4.0.0": version: 4.0.0 resolution: "@tailwindcss/node@npm:4.0.0" @@ -10891,9 +10321,9 @@ __metadata: languageName: node linkType: hard -"@testing-library/dom@npm:^10.1.0": - version: 10.1.0 - resolution: "@testing-library/dom@npm:10.1.0" +"@testing-library/dom@npm:10.4.0": + version: 10.4.0 + resolution: "@testing-library/dom@npm:10.4.0" dependencies: "@babel/code-frame": "npm:^7.10.4" "@babel/runtime": "npm:^7.12.5" @@ -10903,23 +10333,38 @@ __metadata: dom-accessibility-api: "npm:^0.5.9" lz-string: "npm:^1.5.0" pretty-format: "npm:^27.0.2" - checksum: 10c0/81f0e0a510d24e458c3af17777960ed678fb4fe464903ef8ec9ed816c9794fc69a673ea94f87b9e054b181383c51814605451dbf4fd9df93d0d8f24b4859990d + checksum: 10c0/0352487720ecd433400671e773df0b84b8268fb3fe8e527cdfd7c11b1365b398b4e0eddba6e7e0c85e8d615f48257753283fccec41f6b986fd6c85f15eb5f84f languageName: node linkType: hard -"@testing-library/dom@npm:^9.0.0": - version: 9.2.0 - resolution: "@testing-library/dom@npm:9.2.0" +"@testing-library/dom@npm:^10.1.0": + version: 10.1.0 + resolution: "@testing-library/dom@npm:10.1.0" dependencies: "@babel/code-frame": "npm:^7.10.4" "@babel/runtime": "npm:^7.12.5" "@types/aria-query": "npm:^5.0.1" - aria-query: "npm:^5.0.0" + aria-query: "npm:5.3.0" chalk: "npm:^4.1.0" dom-accessibility-api: "npm:^0.5.9" lz-string: "npm:^1.5.0" pretty-format: "npm:^27.0.2" - checksum: 10c0/0b2284c06d445cb043686204417d17f5eff282cabed7d5187ab6d8bde41d52953bab69ddad86b36469424576f4c7277c2132c128d4d033b1df24476c523361eb + checksum: 10c0/81f0e0a510d24e458c3af17777960ed678fb4fe464903ef8ec9ed816c9794fc69a673ea94f87b9e054b181383c51814605451dbf4fd9df93d0d8f24b4859990d + languageName: node + linkType: hard + +"@testing-library/jest-dom@npm:6.5.0": + version: 6.5.0 + resolution: "@testing-library/jest-dom@npm:6.5.0" + dependencies: + "@adobe/css-tools": "npm:^4.4.0" + aria-query: "npm:^5.0.0" + chalk: "npm:^3.0.0" + css.escape: "npm:^1.5.1" + dom-accessibility-api: "npm:^0.6.3" + lodash: "npm:^4.17.21" + redent: "npm:^3.0.0" + checksum: 10c0/fd5936a547f04608d8de15a7de3ae26516f21023f8f45169b10c8c8847015fd20ec259b7309f08aa1031bcbc37c6e5e6f532d1bb85ef8f91bad654193ec66a4c languageName: node linkType: hard @@ -11118,15 +10563,6 @@ __metadata: languageName: node linkType: hard -"@types/cross-spawn@npm:^6.0.2": - version: 6.0.6 - resolution: "@types/cross-spawn@npm:6.0.6" - dependencies: - "@types/node": "npm:*" - checksum: 10c0/e3d476bb6b3a54a8934a97fe6ee4bd13e2e5eb29073929a4be76a52466602ffaea420b20774ffe8503f9fa24f3ae34817e95e7f625689fb0d1c10404f5b2889c - languageName: node - linkType: hard - "@types/debug@npm:^4.0.0": version: 4.1.7 resolution: "@types/debug@npm:4.1.7" @@ -11136,13 +10572,6 @@ __metadata: languageName: node linkType: hard -"@types/detect-port@npm:^1.3.0": - version: 1.3.5 - resolution: "@types/detect-port@npm:1.3.5" - checksum: 10c0/d8dd9d0e643106a2263f530b24ffdc3409d9391c50fc5e404018ba3633947aa3777db7fb094aeb0f49a13cc998aae8889747ad9edaa02b13a2de2385f37106ef - languageName: node - linkType: hard - "@types/doctrine@npm:^0.0.3": version: 0.0.3 resolution: "@types/doctrine@npm:0.0.3" @@ -11150,27 +10579,6 @@ __metadata: languageName: node linkType: hard -"@types/ejs@npm:^3.1.1": - version: 3.1.5 - resolution: "@types/ejs@npm:3.1.5" - checksum: 10c0/13d994cf0323d7e0ad33b9384914ccd3b4cd8bf282eced3649b1621b66ee7c784ac2d120a9d7b1f43d6f873518248fb8c3221b06a649b847860b9c2389a0b0ed - languageName: node - linkType: hard - -"@types/emscripten@npm:^1.39.6": - version: 1.39.11 - resolution: "@types/emscripten@npm:1.39.11" - checksum: 10c0/62c5d7ec204d7d6ba0d0c9672baca5c5194f33e56784b301065bd62b7f067f494871d5cb058f9c55a7c371345bc72bc577b0db2c7af192e3fb8f38992ba95a08 - languageName: node - linkType: hard - -"@types/escodegen@npm:^0.0.6": - version: 0.0.6 - resolution: "@types/escodegen@npm:0.0.6" - checksum: 10c0/bbef189319c7b0386486bc7224369f118c7aedf35cc13e40ae5879b9ab4f848936f31e8eea50e71d4de72d4b7a77d9e6e9e5ceec4406c648fbc0077ede634ed5 - languageName: node - linkType: hard - "@types/estree-jsx@npm:^0.0.1": version: 0.0.1 resolution: "@types/estree-jsx@npm:0.0.1" @@ -11201,10 +10609,10 @@ __metadata: languageName: node linkType: hard -"@types/estree@npm:^0.0.51": - version: 0.0.51 - resolution: "@types/estree@npm:0.0.51" - checksum: 10c0/a70c60d5e634e752fcd45b58c9c046ef22ad59ede4bc93ad5193c7e3b736ebd6bcd788ade59d9c3b7da6eeb0939235f011d4c59bb4fc04d8c346b76035099dd1 +"@types/estree@npm:^1.0.0": + version: 1.0.7 + resolution: "@types/estree@npm:1.0.7" + checksum: 10c0/be815254316882f7c40847336cd484c3bc1c3e34f710d197160d455dc9d6d050ffbf4c3bc76585dba86f737f020ab20bdb137ebe0e9116b0c86c7c0342221b8c languageName: node linkType: hard @@ -11406,13 +10814,6 @@ __metadata: languageName: node linkType: hard -"@types/lodash@npm:^4.14.167": - version: 4.14.194 - resolution: "@types/lodash@npm:4.14.194" - checksum: 10c0/2d1ecf21a356bf089d3b5de2e8ddb1376526f0c75456fea61c03c14d276898f29a8ff75d290a32865dc74933617c9eed4ecdec048257031569df927a2c053c0e - languageName: node - linkType: hard - "@types/mdast@npm:^3.0.0": version: 3.0.3 resolution: "@types/mdast@npm:3.0.3" @@ -11436,13 +10837,6 @@ __metadata: languageName: node linkType: hard -"@types/mime-types@npm:^2.1.0": - version: 2.1.4 - resolution: "@types/mime-types@npm:2.1.4" - checksum: 10c0/a10d57881d14a053556b3d09292de467968d965b0a06d06732c748da39b3aa569270b5b9f32529fd0e9ac1e5f3b91abb894f5b1996373254a65cb87903c86622 - languageName: node - linkType: hard - "@types/mime@npm:^1": version: 1.3.5 resolution: "@types/mime@npm:1.3.5" @@ -11545,13 +10939,6 @@ __metadata: languageName: node linkType: hard -"@types/semver@npm:^7.3.4": - version: 7.5.8 - resolution: "@types/semver@npm:7.5.8" - checksum: 10c0/8663ff927234d1c5fcc04b33062cb2b9fcfbe0f5f351ed26c4d1e1581657deebd506b41ff7fdf89e787e3d33ce05854bc01686379b89e9c49b564c4cfa988efa - languageName: node - linkType: hard - "@types/send@npm:*": version: 0.17.4 resolution: "@types/send@npm:0.17.4" @@ -11580,16 +10967,6 @@ __metadata: languageName: node linkType: hard -"@types/storybook__react@npm:^4.0.2": - version: 4.0.2 - resolution: "@types/storybook__react@npm:4.0.2" - dependencies: - "@types/react": "npm:*" - "@types/webpack-env": "npm:*" - checksum: 10c0/ffd16fe0a8c3147b6d88b71624215726b30b6ac8ac92c7446d24977b8e18ddb6ce46e80767cfeb2f85ebb6ec1f1ba09fb4940ecce20c77b6349026b13a698c8f - languageName: node - linkType: hard - "@types/testing-library__jest-dom@npm:^5.9.1": version: 5.9.2 resolution: "@types/testing-library__jest-dom@npm:5.9.2" @@ -11643,13 +11020,6 @@ __metadata: languageName: node linkType: hard -"@types/webpack-env@npm:*": - version: 1.18.8 - resolution: "@types/webpack-env@npm:1.18.8" - checksum: 10c0/527a5d1eb75c5243e4f3665d956c7c340f899955dd25d16c9fd9750406f32e95a3a17d207640295038e8235c0c2a2daf084f420e088e58b965d82fc74f6012d7 - languageName: node - linkType: hard - "@types/yargs-parser@npm:*": version: 13.1.0 resolution: "@types/yargs-parser@npm:13.1.0" @@ -12047,34 +11417,65 @@ __metadata: languageName: node linkType: hard -"@yarnpkg/esbuild-plugin-pnp@npm:^3.0.0-rc.10": - version: 3.0.0-rc.15 - resolution: "@yarnpkg/esbuild-plugin-pnp@npm:3.0.0-rc.15" +"@vitest/expect@npm:2.0.5": + version: 2.0.5 + resolution: "@vitest/expect@npm:2.0.5" dependencies: - tslib: "npm:^2.4.0" - peerDependencies: - esbuild: ">=0.10.0" - checksum: 10c0/5095bc316862971add31ca1fadb0095b6ad15f25120f6ab3a06086bb6a7be93c2f3c45bff80d5976689fc89b0e9bf82bd3d410e205c852739874d32d050c4e57 + "@vitest/spy": "npm:2.0.5" + "@vitest/utils": "npm:2.0.5" + chai: "npm:^5.1.1" + tinyrainbow: "npm:^1.2.0" + checksum: 10c0/08cb1b0f106d16a5b60db733e3d436fa5eefc68571488eb570dfe4f599f214ab52e4342273b03dbe12331cc6c0cdc325ac6c94f651ad254cd62f3aa0e3d185aa + languageName: node + linkType: hard + +"@vitest/pretty-format@npm:2.0.5": + version: 2.0.5 + resolution: "@vitest/pretty-format@npm:2.0.5" + dependencies: + tinyrainbow: "npm:^1.2.0" + checksum: 10c0/236c0798c5170a0b5ad5d4bd06118533738e820b4dd30079d8fbcb15baee949d41c60f42a9f769906c4a5ce366d7ef11279546070646c0efc03128c220c31f37 languageName: node linkType: hard -"@yarnpkg/fslib@npm:2.10.3": - version: 2.10.3 - resolution: "@yarnpkg/fslib@npm:2.10.3" +"@vitest/pretty-format@npm:2.1.9": + version: 2.1.9 + resolution: "@vitest/pretty-format@npm:2.1.9" dependencies: - "@yarnpkg/libzip": "npm:^2.3.0" - tslib: "npm:^1.13.0" - checksum: 10c0/c4fbbed99e801f17c381204e9699d9ea4fb51b14e99968985f477bdbc7b02b61e026860173f3f46bd60d9f46ae6a06f420a3edb3c02c3a45ae83779095928094 + tinyrainbow: "npm:^1.2.0" + checksum: 10c0/155f9ede5090eabed2a73361094bb35ed4ec6769ae3546d2a2af139166569aec41bb80e031c25ff2da22b71dd4ed51e5468e66a05e6aeda5f14b32e30bc18f00 languageName: node linkType: hard -"@yarnpkg/libzip@npm:2.3.0, @yarnpkg/libzip@npm:^2.3.0": - version: 2.3.0 - resolution: "@yarnpkg/libzip@npm:2.3.0" +"@vitest/spy@npm:2.0.5": + version: 2.0.5 + resolution: "@vitest/spy@npm:2.0.5" + dependencies: + tinyspy: "npm:^3.0.0" + checksum: 10c0/70634c21921eb271b54d2986c21d7ab6896a31c0f4f1d266940c9bafb8ac36237846d6736638cbf18b958bd98e5261b158a6944352742accfde50b7818ff655e + languageName: node + linkType: hard + +"@vitest/utils@npm:2.0.5": + version: 2.0.5 + resolution: "@vitest/utils@npm:2.0.5" + dependencies: + "@vitest/pretty-format": "npm:2.0.5" + estree-walker: "npm:^3.0.3" + loupe: "npm:^3.1.1" + tinyrainbow: "npm:^1.2.0" + checksum: 10c0/0d1de748298f07a50281e1ba058b05dcd58da3280c14e6f016265e950bd79adab6b97822de8f0ea82d3070f585654801a9b1bcf26db4372e51cf7746bf86d73b + languageName: node + linkType: hard + +"@vitest/utils@npm:^2.1.1": + version: 2.1.9 + resolution: "@vitest/utils@npm:2.1.9" dependencies: - "@types/emscripten": "npm:^1.39.6" - tslib: "npm:^1.13.0" - checksum: 10c0/0c2361ccb002e28463ed98541f3bdaab54f52aad6a2080666c2a9ea605ebd9cdfb7b0340b1db6f105820d05bcb803cdfb3ce755a8f6034657298c291bf884f81 + "@vitest/pretty-format": "npm:2.1.9" + loupe: "npm:^3.1.2" + tinyrainbow: "npm:^1.2.0" + checksum: 10c0/81a346cd72b47941f55411f5df4cc230e5f740d1e97e0d3f771b27f007266fc1f28d0438582f6409ea571bc0030ed37f684c64c58d1947d6298d770c21026fdf languageName: node linkType: hard @@ -12167,7 +11568,7 @@ __metadata: languageName: node linkType: hard -"acorn-jsx@npm:^5.0.0, acorn-jsx@npm:^5.3.1, acorn-jsx@npm:^5.3.2": +"acorn-jsx@npm:^5.0.0, acorn-jsx@npm:^5.3.2": version: 5.3.2 resolution: "acorn-jsx@npm:5.3.2" peerDependencies: @@ -12176,13 +11577,6 @@ __metadata: languageName: node linkType: hard -"acorn-walk@npm:^7.2.0": - version: 7.2.0 - resolution: "acorn-walk@npm:7.2.0" - checksum: 10c0/ff99f3406ed8826f7d6ef6ac76b7608f099d45a1ff53229fa267125da1924188dbacf02e7903dfcfd2ae4af46f7be8847dc7d564c73c4e230dfb69c8ea8e6b4c - languageName: node - linkType: hard - "acorn-walk@npm:^8.0.2, acorn-walk@npm:^8.1.1": version: 8.3.3 resolution: "acorn-walk@npm:8.3.3" @@ -12192,15 +11586,6 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^7.4.1": - version: 7.4.1 - resolution: "acorn@npm:7.4.1" - bin: - acorn: bin/acorn - checksum: 10c0/bd0b2c2b0f334bbee48828ff897c12bd2eb5898d03bf556dcc8942022cec795ac5bb5b6b585e2de687db6231faf07e096b59a361231dd8c9344d5df5f7f0e526 - languageName: node - linkType: hard - "acorn@npm:^8.0.0, acorn@npm:^8.1.0, acorn@npm:^8.11.0, acorn@npm:^8.12.0, acorn@npm:^8.12.1, acorn@npm:^8.4.1, acorn@npm:^8.8.1, acorn@npm:^8.8.2": version: 8.12.1 resolution: "acorn@npm:8.12.1" @@ -12210,13 +11595,6 @@ __metadata: languageName: node linkType: hard -"address@npm:^1.0.1": - version: 1.1.2 - resolution: "address@npm:1.1.2" - checksum: 10c0/3ac908133d1d8cc52110473833718e82775428e73b4eb51b42cd7c7f571c7459c28c3c54592231efdcb96f6ed376eb490194e97c533df9e8efb910fa29a34e55 - languageName: node - linkType: hard - "agent-base@npm:4, agent-base@npm:^4.3.0": version: 4.3.0 resolution: "agent-base@npm:4.3.0" @@ -12226,13 +11604,6 @@ __metadata: languageName: node linkType: hard -"agent-base@npm:5": - version: 5.1.1 - resolution: "agent-base@npm:5.1.1" - checksum: 10c0/3baa3f01072c16e3955ce7802166e576cde9831af82b262aae1c780af49c0c84e82e64ba9ef9e7d1704fe29e9f0096a78a4f998ec137360fee3cb95186f97161 - languageName: node - linkType: hard - "agent-base@npm:6": version: 6.0.2 resolution: "agent-base@npm:6.0.2" @@ -12590,7 +11961,7 @@ __metadata: languageName: node linkType: hard -"aria-hidden@npm:^1.1.1, aria-hidden@npm:^1.2.3": +"aria-hidden@npm:^1.2.3": version: 1.2.4 resolution: "aria-hidden@npm:1.2.4" dependencies: @@ -12736,13 +12107,6 @@ __metadata: languageName: node linkType: hard -"array-union@npm:^2.1.0": - version: 2.1.0 - resolution: "array-union@npm:2.1.0" - checksum: 10c0/429897e68110374f39b771ec47a7161fc6a8fc33e196857c0a396dc75df0b5f65e4d046674db764330b6bb66b39ef48dd7c53b6a2ee75cfb0681e0c1a7033962 - languageName: node - linkType: hard - "array-uniq@npm:^1.0.1, array-uniq@npm:^1.0.2": version: 1.0.3 resolution: "array-uniq@npm:1.0.3" @@ -12888,6 +12252,13 @@ __metadata: languageName: node linkType: hard +"assertion-error@npm:^2.0.1": + version: 2.0.1 + resolution: "assertion-error@npm:2.0.1" + checksum: 10c0/bbbcb117ac6480138f8c93cf7f535614282dea9dc828f540cdece85e3c665e8f78958b96afac52f29ff883c72638e6a87d469ecc9fe5bc902df03ed24a55dba8 + languageName: node + linkType: hard + "assign-symbols@npm:^1.0.0": version: 1.0.0 resolution: "assign-symbols@npm:1.0.0" @@ -12931,13 +12302,6 @@ __metadata: languageName: node linkType: hard -"async-limiter@npm:~1.0.0": - version: 1.0.1 - resolution: "async-limiter@npm:1.0.1" - checksum: 10c0/0693d378cfe86842a70d4c849595a0bb50dc44c11649640ca982fa90cbfc74e3cc4753b5a0847e51933f2e9c65ce8e05576e75e5e1fd963a086e673735b35969 - languageName: node - linkType: hard - "async-settle@npm:^2.0.0": version: 2.0.0 resolution: "async-settle@npm:2.0.0" @@ -13399,7 +12763,7 @@ __metadata: languageName: node linkType: hard -"base64-js@npm:^1.0.2, base64-js@npm:^1.3.1": +"base64-js@npm:^1.3.1": version: 1.5.1 resolution: "base64-js@npm:1.5.1" checksum: 10c0/f23823513b63173a001030fae4f2dabe283b99a9d324ade3ad3d148e218134676f1ee8568c877cd79ec1c53158dcf2d2ba527a97c606618928ba99dd930102bf @@ -13460,13 +12824,6 @@ __metadata: languageName: node linkType: hard -"big-integer@npm:^1.6.44": - version: 1.6.52 - resolution: "big-integer@npm:1.6.52" - checksum: 10c0/9604224b4c2ab3c43c075d92da15863077a9f59e5d4205f4e7e76acd0cd47e8d469ec5e5dba8d9b32aa233951893b29329ca56ac80c20ce094b4a647a66abae0 - languageName: node - linkType: hard - "binary-extensions@npm:^2.0.0": version: 2.2.0 resolution: "binary-extensions@npm:2.2.0" @@ -13474,17 +12831,6 @@ __metadata: languageName: node linkType: hard -"bl@npm:^4.0.3, bl@npm:^4.1.0": - version: 4.1.0 - resolution: "bl@npm:4.1.0" - dependencies: - buffer: "npm:^5.5.0" - inherits: "npm:^2.0.4" - readable-stream: "npm:^3.4.0" - checksum: 10c0/02847e1d2cb089c9dc6958add42e3cdeaf07d13f575973963335ac0fdece563a50ac770ac4c8fa06492d2dd276f6cc3b7f08c7cd9c7a7ad0f8d388b2a28def5f - languageName: node - linkType: hard - "bl@npm:^5.0.0": version: 5.1.0 resolution: "bl@npm:5.1.0" @@ -13561,15 +12907,6 @@ __metadata: languageName: node linkType: hard -"bplist-parser@npm:^0.2.0": - version: 0.2.0 - resolution: "bplist-parser@npm:0.2.0" - dependencies: - big-integer: "npm:^1.6.44" - checksum: 10c0/ce79c69e0f6efe506281e7c84e3712f7d12978991675b6e3a58a295b16f13ca81aa9b845c335614a545e0af728c8311b6aa3142af76ba1cb616af9bbac5c4a9f - languageName: node - linkType: hard - "brace-expansion@npm:^1.0.0, brace-expansion@npm:^1.1.7": version: 1.1.11 resolution: "brace-expansion@npm:1.1.11" @@ -13673,13 +13010,6 @@ __metadata: languageName: node linkType: hard -"buffer-crc32@npm:~0.2.3": - version: 0.2.13 - resolution: "buffer-crc32@npm:0.2.13" - checksum: 10c0/cb0a8ddf5cf4f766466db63279e47761eb825693eeba6a5a95ee4ec8cb8f81ede70aa7f9d8aeec083e781d47154290eb5d4d26b3f7a465ec57fb9e7d59c47150 - languageName: node - linkType: hard - "buffer-equal-constant-time@npm:1.0.1": version: 1.0.1 resolution: "buffer-equal-constant-time@npm:1.0.1" @@ -13694,16 +13024,6 @@ __metadata: languageName: node linkType: hard -"buffer@npm:^5.5.0": - version: 5.6.0 - resolution: "buffer@npm:5.6.0" - dependencies: - base64-js: "npm:^1.0.2" - ieee754: "npm:^1.1.4" - checksum: 10c0/07037a0278b07fbc779920f1ba1b473933ffb4a2e2f7b387c55daf6ac64a05b58c27da9e85730a4046e8f97a49f8acd9f7bf89605c0a4dfda88ebfb7e08bfe4a - languageName: node - linkType: hard - "buffer@npm:^6.0.3": version: 6.0.3 resolution: "buffer@npm:6.0.3" @@ -13971,15 +13291,6 @@ __metadata: languageName: node linkType: hard -"can-bind-to-host@npm:^1.1.1": - version: 1.1.2 - resolution: "can-bind-to-host@npm:1.1.2" - bin: - can-bind-to-host: dist/bin/can-bind-to-host.js - checksum: 10c0/1ff306af1568633ffb5fc932cb8a1f4d6fd1d4bd208d7585793a84401ed70a2fd13c4e31fee54cf783e5aa3706a1cbe5284bce842c0419032dd73c5a4d2c470e - languageName: node - linkType: hard - "caniuse-lite@npm:1.0.30001563": version: 1.0.30001563 resolution: "caniuse-lite@npm:1.0.30001563" @@ -14001,6 +13312,19 @@ __metadata: languageName: node linkType: hard +"chai@npm:^5.1.1": + version: 5.2.0 + resolution: "chai@npm:5.2.0" + dependencies: + assertion-error: "npm:^2.0.1" + check-error: "npm:^2.1.1" + deep-eql: "npm:^5.0.1" + loupe: "npm:^3.1.0" + pathval: "npm:^2.0.0" + checksum: 10c0/dfd1cb719c7cebb051b727672d382a35338af1470065cb12adb01f4ee451bbf528e0e0f9ab2016af5fc1eea4df6e7f4504dc8443f8f00bd8fb87ad32dc516f7d + languageName: node + linkType: hard + "chalk@npm:^0.5.0": version: 0.5.1 resolution: "chalk@npm:0.5.1" @@ -14048,7 +13372,7 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^4.0.0, chalk@npm:^4.0.2, chalk@npm:^4.1.0, chalk@npm:^4.1.2": +"chalk@npm:^4.0.0, chalk@npm:^4.1.0, chalk@npm:^4.1.2": version: 4.1.2 resolution: "chalk@npm:4.1.2" dependencies: @@ -14147,6 +13471,13 @@ __metadata: languageName: node linkType: hard +"check-error@npm:^2.1.1": + version: 2.1.1 + resolution: "check-error@npm:2.1.1" + checksum: 10c0/979f13eccab306cf1785fa10941a590b4e7ea9916ea2a4f8c87f0316fc3eab07eabefb6e587424ef0f88cbcd3805791f172ea739863ca3d7ce2afc54641c7f0e + languageName: node + linkType: hard + "chokidar@npm:^3.4.0, chokidar@npm:^3.5.3, chokidar@npm:^3.6.0": version: 3.6.0 resolution: "chokidar@npm:3.6.0" @@ -14227,15 +13558,6 @@ __metadata: languageName: node linkType: hard -"citty@npm:^0.1.6": - version: 0.1.6 - resolution: "citty@npm:0.1.6" - dependencies: - consola: "npm:^3.2.3" - checksum: 10c0/d26ad82a9a4a8858c7e149d90b878a3eceecd4cfd3e2ed3cd5f9a06212e451fb4f8cbe0fa39a3acb1b3e8f18e22db8ee5def5829384bad50e823d4b301609b48 - languageName: node - linkType: hard - "cjs-module-lexer@npm:^1.0.0": version: 1.2.2 resolution: "cjs-module-lexer@npm:1.2.2" @@ -14285,35 +13607,13 @@ __metadata: languageName: node linkType: hard -"cli-cursor@npm:^3.1.0": - version: 3.1.0 - resolution: "cli-cursor@npm:3.1.0" - dependencies: - restore-cursor: "npm:^3.1.0" - checksum: 10c0/92a2f98ff9037d09be3dfe1f0d749664797fb674bf388375a2207a1203b69d41847abf16434203e0089212479e47a358b13a0222ab9fccfe8e2644a7ccebd111 - languageName: node - linkType: hard - -"cli-spinners@npm:^2.0.0, cli-spinners@npm:^2.5.0": +"cli-spinners@npm:^2.0.0": version: 2.6.0 resolution: "cli-spinners@npm:2.6.0" checksum: 10c0/3cdb26c885d25fa38cd435f9e30ec7961893d6ff3af0e113dfebe8eb7b2d8d80532bd4c228449e2e51594dab53f3a93ce0309887543986597dfb7d8eb97ce5b2 languageName: node linkType: hard -"cli-table3@npm:^0.6.1": - version: 0.6.2 - resolution: "cli-table3@npm:0.6.2" - dependencies: - "@colors/colors": "npm:1.5.0" - string-width: "npm:^4.2.0" - dependenciesMeta: - "@colors/colors": - optional: true - checksum: 10c0/aaa87929d86ba36e651e0280ab34cc28660e13da9dd2b6f8aa36e800c40e331c32bff53597cb9126e8a2e88e7a9025aff9c240350fe69876207d51ba452ef5e0 - languageName: node - linkType: hard - "cli-width@npm:^2.0.0": version: 2.2.0 resolution: "cli-width@npm:2.2.0" @@ -14666,13 +13966,6 @@ __metadata: languageName: node linkType: hard -"commander@npm:^6.2.1": - version: 6.2.1 - resolution: "commander@npm:6.2.1" - checksum: 10c0/85748abd9d18c8bc88febed58b98f66b7c591d9b5017cad459565761d7b29ca13b7783ea2ee5ce84bf235897333706c4ce29adf1ce15c8252780e7000e2ce9ea - languageName: node - linkType: hard - "commander@npm:^7.2.0": version: 7.2.0 resolution: "commander@npm:7.2.0" @@ -14680,13 +13973,6 @@ __metadata: languageName: node linkType: hard -"commander@npm:^9.0.0": - version: 9.5.0 - resolution: "commander@npm:9.5.0" - checksum: 10c0/5f7784fbda2aaec39e89eb46f06a999e00224b3763dc65976e05929ec486e174fe9aac2655f03ba6a5e83875bd173be5283dc19309b7c65954701c02025b3c1d - languageName: node - linkType: hard - "comment-parser@npm:1.4.1": version: 1.4.1 resolution: "comment-parser@npm:1.4.1" @@ -14727,7 +14013,7 @@ __metadata: languageName: node linkType: hard -"compression@npm:1.7.5, compression@npm:^1.7.4": +"compression@npm:1.7.5": version: 1.7.5 resolution: "compression@npm:1.7.5" dependencies: @@ -14749,7 +14035,7 @@ __metadata: languageName: node linkType: hard -"concat-stream@npm:^1.5.0, concat-stream@npm:^1.5.2, concat-stream@npm:^1.6.2": +"concat-stream@npm:^1.5.0, concat-stream@npm:^1.5.2": version: 1.6.2 resolution: "concat-stream@npm:1.6.2" dependencies: @@ -14825,13 +14111,6 @@ __metadata: languageName: node linkType: hard -"consola@npm:^3.2.3": - version: 3.2.3 - resolution: "consola@npm:3.2.3" - checksum: 10c0/c606220524ec88a05bb1baf557e9e0e04a0c08a9c35d7a08652d99de195c4ddcb6572040a7df57a18ff38bbc13ce9880ad032d56630cef27bef72768ef0ac078 - languageName: node - linkType: hard - "console-control-strings@npm:^1.0.0, console-control-strings@npm:~1.1.0": version: 1.1.0 resolution: "console-control-strings@npm:1.1.0" @@ -15465,7 +14744,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:2.6.9, debug@npm:^2.2.0, debug@npm:^2.3.3, debug@npm:^2.6.0, debug@npm:^2.6.8, debug@npm:^2.6.9": +"debug@npm:2.6.9, debug@npm:^2.2.0, debug@npm:^2.3.3, debug@npm:^2.6.8": version: 2.6.9 resolution: "debug@npm:2.6.9" dependencies: @@ -15603,6 +14882,13 @@ __metadata: languageName: node linkType: hard +"deep-eql@npm:^5.0.1": + version: 5.0.2 + resolution: "deep-eql@npm:5.0.2" + checksum: 10c0/7102cf3b7bb719c6b9c0db2e19bf0aa9318d141581befe8c7ce8ccd39af9eaa4346e5e05adef7f9bd7015da0f13a3a25dcfe306ef79dc8668aedbecb658dd247 + languageName: node + linkType: hard + "deep-equal@npm:^2.0.5": version: 2.2.1 resolution: "deep-equal@npm:2.2.1" @@ -15650,16 +14936,6 @@ __metadata: languageName: node linkType: hard -"default-browser-id@npm:3.0.0": - version: 3.0.0 - resolution: "default-browser-id@npm:3.0.0" - dependencies: - bplist-parser: "npm:^0.2.0" - untildify: "npm:^4.0.0" - checksum: 10c0/8db3ab882eb3e1e8b59d84c8641320e6c66d8eeb17eb4bb848b7dd549b1e6fd313988e4a13542e95fbaeff03f6e9dedc5ad191ad4df7996187753eb0d45c00b7 - languageName: node - linkType: hard - "default-require-extensions@npm:^1.0.0": version: 1.0.0 resolution: "default-require-extensions@npm:1.0.0" @@ -15744,13 +15020,6 @@ __metadata: languageName: node linkType: hard -"defu@npm:^6.1.4": - version: 6.1.4 - resolution: "defu@npm:6.1.4" - checksum: 10c0/2d6cc366262dc0cb8096e429368e44052fdf43ed48e53ad84cc7c9407f890301aa5fcb80d0995abaaf842b3949f154d060be4160f7a46cb2bc2f7726c81526f5 - languageName: node - linkType: hard - "del@npm:^4.1.1": version: 4.1.1 resolution: "del@npm:4.1.1" @@ -15766,22 +15035,6 @@ __metadata: languageName: node linkType: hard -"del@npm:^6.0.0": - version: 6.1.1 - resolution: "del@npm:6.1.1" - dependencies: - globby: "npm:^11.0.1" - graceful-fs: "npm:^4.2.4" - is-glob: "npm:^4.0.1" - is-path-cwd: "npm:^2.2.0" - is-path-inside: "npm:^3.0.2" - p-map: "npm:^4.0.0" - rimraf: "npm:^3.0.2" - slash: "npm:^3.0.0" - checksum: 10c0/8a095c5ccade42c867a60252914ae485ec90da243d735d1f63ec1e64c1cfbc2b8810ad69a29ab6326d159d4fddaa2f5bad067808c42072351ec458efff86708f - languageName: node - linkType: hard - "delayed-stream@npm:~1.0.0": version: 1.0.0 resolution: "delayed-stream@npm:1.0.0" @@ -15861,13 +15114,6 @@ __metadata: languageName: node linkType: hard -"detect-indent@npm:^6.1.0": - version: 6.1.0 - resolution: "detect-indent@npm:6.1.0" - checksum: 10c0/dd83cdeda9af219cf77f5e9a0dc31d828c045337386cfb55ce04fad94ba872ee7957336834154f7647b89b899c3c7acc977c57a79b7c776b506240993f97acc7 - languageName: node - linkType: hard - "detect-libc@npm:^1.0.3": version: 1.0.3 resolution: "detect-libc@npm:1.0.3" @@ -15891,35 +15137,6 @@ __metadata: languageName: node linkType: hard -"detect-node-es@npm:^1.1.0": - version: 1.1.0 - resolution: "detect-node-es@npm:1.1.0" - checksum: 10c0/e562f00de23f10c27d7119e1af0e7388407eb4b06596a25f6d79a360094a109ff285de317f02b090faae093d314cf6e73ac3214f8a5bb3a0def5bece94557fbe - languageName: node - linkType: hard - -"detect-package-manager@npm:^2.0.1": - version: 2.0.1 - resolution: "detect-package-manager@npm:2.0.1" - dependencies: - execa: "npm:^5.1.1" - checksum: 10c0/56ffd65228d1ff3ead5ea7f8ab951a517a29270de27510b790c9a8b77d4f36efbd61493e170ca77ee3dc13cbb5218583ce65b78ad14a59dc48565c9bcbbf3c71 - languageName: node - linkType: hard - -"detect-port@npm:^1.3.0": - version: 1.3.0 - resolution: "detect-port@npm:1.3.0" - dependencies: - address: "npm:^1.0.1" - debug: "npm:^2.6.0" - bin: - detect: ./bin/detect-port - detect-port: ./bin/detect-port - checksum: 10c0/6cafbd72d4f20860ea580b2f06e4c3350452ecb9acdfc1051c49b8a3dfa6f3d6bb252a69c0e97b3c5e13a2fa31a368aca2f7102e996e2caa7c938f3053b72b62 - languageName: node - linkType: hard - "dezalgo@npm:^1.0.0": version: 1.0.3 resolution: "dezalgo@npm:1.0.3" @@ -15990,15 +15207,6 @@ __metadata: languageName: node linkType: hard -"dir-glob@npm:^3.0.1": - version: 3.0.1 - resolution: "dir-glob@npm:3.0.1" - dependencies: - path-type: "npm:^4.0.0" - checksum: 10c0/dcac00920a4d503e38bb64001acb19df4efc14536ada475725e12f52c16777afdee4db827f55f13a908ee7efc0cb282e2e3dbaeeb98c0993dd93d1802d3bf00c - languageName: node - linkType: hard - "doctrine@npm:^2.1.0": version: 2.1.0 resolution: "doctrine@npm:2.1.0" @@ -16320,17 +15528,6 @@ __metadata: languageName: node linkType: hard -"ejs@npm:^3.1.8": - version: 3.1.10 - resolution: "ejs@npm:3.1.10" - dependencies: - jake: "npm:^10.8.5" - bin: - ejs: bin/cli.js - checksum: 10c0/52eade9e68416ed04f7f92c492183340582a36482836b11eab97b159fcdcfdedc62233a1bf0bf5e5e1851c501f2dca0e2e9afd111db2599e4e7f53ee29429ae1 - languageName: node - linkType: hard - "electron-to-chromium@npm:^1.5.28": version: 1.5.31 resolution: "electron-to-chromium@npm:1.5.31" @@ -16403,7 +15600,7 @@ __metadata: languageName: node linkType: hard -"end-of-stream@npm:^1.0.0, end-of-stream@npm:^1.1.0, end-of-stream@npm:^1.4.1, end-of-stream@npm:^1.4.4": +"end-of-stream@npm:^1.0.0, end-of-stream@npm:^1.1.0, end-of-stream@npm:^1.4.4": version: 1.4.4 resolution: "end-of-stream@npm:1.4.4" dependencies: @@ -16473,7 +15670,7 @@ __metadata: languageName: node linkType: hard -"envinfo@npm:7.14.0, envinfo@npm:^7.7.3": +"envinfo@npm:7.14.0": version: 7.14.0 resolution: "envinfo@npm:7.14.0" bin: @@ -16683,13 +15880,6 @@ __metadata: languageName: node linkType: hard -"esbuild-plugin-alias@npm:^0.2.1": - version: 0.2.1 - resolution: "esbuild-plugin-alias@npm:0.2.1" - checksum: 10c0/a67bc6bc2744fc8637f7321f00c1f00e4fae86c182662421738ebfabf3ad344967b9c667185c6c34d9edd5b289807d34bfdceef94620e94e0a45683534af69e0 - languageName: node - linkType: hard - "esbuild-register@npm:^3.5.0": version: 3.5.0 resolution: "esbuild-register@npm:3.5.0" @@ -16778,6 +15968,92 @@ __metadata: languageName: node linkType: hard +"esbuild@npm:^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0 || ^0.25.0": + version: 0.25.4 + resolution: "esbuild@npm:0.25.4" + dependencies: + "@esbuild/aix-ppc64": "npm:0.25.4" + "@esbuild/android-arm": "npm:0.25.4" + "@esbuild/android-arm64": "npm:0.25.4" + "@esbuild/android-x64": "npm:0.25.4" + "@esbuild/darwin-arm64": "npm:0.25.4" + "@esbuild/darwin-x64": "npm:0.25.4" + "@esbuild/freebsd-arm64": "npm:0.25.4" + "@esbuild/freebsd-x64": "npm:0.25.4" + "@esbuild/linux-arm": "npm:0.25.4" + "@esbuild/linux-arm64": "npm:0.25.4" + "@esbuild/linux-ia32": "npm:0.25.4" + "@esbuild/linux-loong64": "npm:0.25.4" + "@esbuild/linux-mips64el": "npm:0.25.4" + "@esbuild/linux-ppc64": "npm:0.25.4" + "@esbuild/linux-riscv64": "npm:0.25.4" + "@esbuild/linux-s390x": "npm:0.25.4" + "@esbuild/linux-x64": "npm:0.25.4" + "@esbuild/netbsd-arm64": "npm:0.25.4" + "@esbuild/netbsd-x64": "npm:0.25.4" + "@esbuild/openbsd-arm64": "npm:0.25.4" + "@esbuild/openbsd-x64": "npm:0.25.4" + "@esbuild/sunos-x64": "npm:0.25.4" + "@esbuild/win32-arm64": "npm:0.25.4" + "@esbuild/win32-ia32": "npm:0.25.4" + "@esbuild/win32-x64": "npm:0.25.4" + dependenciesMeta: + "@esbuild/aix-ppc64": + optional: true + "@esbuild/android-arm": + optional: true + "@esbuild/android-arm64": + optional: true + "@esbuild/android-x64": + optional: true + "@esbuild/darwin-arm64": + optional: true + "@esbuild/darwin-x64": + optional: true + "@esbuild/freebsd-arm64": + optional: true + "@esbuild/freebsd-x64": + optional: true + "@esbuild/linux-arm": + optional: true + "@esbuild/linux-arm64": + optional: true + "@esbuild/linux-ia32": + optional: true + "@esbuild/linux-loong64": + optional: true + "@esbuild/linux-mips64el": + optional: true + "@esbuild/linux-ppc64": + optional: true + "@esbuild/linux-riscv64": + optional: true + "@esbuild/linux-s390x": + optional: true + "@esbuild/linux-x64": + optional: true + "@esbuild/netbsd-arm64": + optional: true + "@esbuild/netbsd-x64": + optional: true + "@esbuild/openbsd-arm64": + optional: true + "@esbuild/openbsd-x64": + optional: true + "@esbuild/sunos-x64": + optional: true + "@esbuild/win32-arm64": + optional: true + "@esbuild/win32-ia32": + optional: true + "@esbuild/win32-x64": + optional: true + bin: + esbuild: bin/esbuild + checksum: 10c0/db9f51248f0560bc46ab219461d338047617f6caf373c95f643b204760bdfa10c95b48cfde948949f7e509599ae4ab61c3f112092a3534936c6abfb800c565b0 + languageName: node + linkType: hard + "escalade@npm:^3.1.1, escalade@npm:^3.2.0": version: 3.2.0 resolution: "escalade@npm:3.2.0" @@ -16813,7 +16089,7 @@ __metadata: languageName: node linkType: hard -"escodegen@npm:^2.0.0, escodegen@npm:^2.1.0": +"escodegen@npm:^2.0.0": version: 2.1.0 resolution: "escodegen@npm:2.1.0" dependencies: @@ -17186,6 +16462,15 @@ __metadata: languageName: node linkType: hard +"estree-walker@npm:^3.0.3": + version: 3.0.3 + resolution: "estree-walker@npm:3.0.3" + dependencies: + "@types/estree": "npm:^1.0.0" + checksum: 10c0/c12e3c2b2642d2bcae7d5aa495c60fa2f299160946535763969a1c83fc74518ffa9c2cd3a8b69ac56aea547df6a8aac25f729a342992ef0bbac5f1c73e78995d + languageName: node + linkType: hard + "esutils@npm:^2.0.2": version: 2.0.3 resolution: "esutils@npm:2.0.3" @@ -17290,23 +16575,6 @@ __metadata: languageName: node linkType: hard -"execa@npm:^8.0.1": - version: 8.0.1 - resolution: "execa@npm:8.0.1" - dependencies: - cross-spawn: "npm:^7.0.3" - get-stream: "npm:^8.0.1" - human-signals: "npm:^5.0.0" - is-stream: "npm:^3.0.0" - merge-stream: "npm:^2.0.0" - npm-run-path: "npm:^5.1.0" - onetime: "npm:^6.0.0" - signal-exit: "npm:^4.1.0" - strip-final-newline: "npm:^3.0.0" - checksum: 10c0/2c52d8775f5bf103ce8eec9c7ab3059909ba350a5164744e9947ed14a53f51687c040a250bda833f906d1283aa8803975b84e6c8f7a7c42f99dc8ef80250d1af - languageName: node - linkType: hard - "exit@npm:^0.1.2": version: 0.1.2 resolution: "exit@npm:0.1.2" @@ -17399,7 +16667,7 @@ __metadata: languageName: node linkType: hard -"express@npm:4.21.2, express@npm:^4.17.3": +"express@npm:4.21.2": version: 4.21.2 resolution: "express@npm:4.21.2" dependencies: @@ -17500,20 +16768,6 @@ __metadata: languageName: node linkType: hard -"extract-zip@npm:^1.6.6": - version: 1.7.0 - resolution: "extract-zip@npm:1.7.0" - dependencies: - concat-stream: "npm:^1.6.2" - debug: "npm:^2.6.9" - mkdirp: "npm:^0.5.4" - yauzl: "npm:^2.10.0" - bin: - extract-zip: cli.js - checksum: 10c0/333f1349ee678d47268315f264dbfcd7003747d25640441e186e87c66efd7129f171f1bcfe8ff1151a24da19d5f8602daff002ee24145dc65516bc9a8e40ee08 - languageName: node - linkType: hard - "extsprintf@npm:1.3.0, extsprintf@npm:^1.2.0": version: 1.3.0 resolution: "extsprintf@npm:1.3.0" @@ -17570,7 +16824,7 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.1.0, fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.2": +"fast-glob@npm:^3.1.0, fast-glob@npm:^3.3.2": version: 3.3.2 resolution: "fast-glob@npm:3.3.2" dependencies: @@ -17670,15 +16924,6 @@ __metadata: languageName: node linkType: hard -"fd-slicer@npm:~1.1.0": - version: 1.1.0 - resolution: "fd-slicer@npm:1.1.0" - dependencies: - pend: "npm:~1.2.0" - checksum: 10c0/304dd70270298e3ffe3bcc05e6f7ade2511acc278bc52d025f8918b48b6aa3b77f10361bddfadfe2a28163f7af7adbdce96f4d22c31b2f648ba2901f0c5fc20e - languageName: node - linkType: hard - "fecha@npm:^4.2.0": version: 4.2.3 resolution: "fecha@npm:4.2.3" @@ -17686,13 +16931,6 @@ __metadata: languageName: node linkType: hard -"fetch-retry@npm:^5.0.2": - version: 5.0.2 - resolution: "fetch-retry@npm:5.0.2" - checksum: 10c0/694fae18ceec4c88c508daf682fccbf1e0736fa679e95daad50946e003df7e261d9a4d36388f6f9eab2426d1796b4ee054ced904794f1edad3ffdc55b2d4b785 - languageName: node - linkType: hard - "figgy-pudding@npm:^3.4.1, figgy-pudding@npm:^3.5.1": version: 3.5.1 resolution: "figgy-pudding@npm:3.5.1" @@ -17728,15 +16966,6 @@ __metadata: languageName: node linkType: hard -"filelist@npm:^1.0.4": - version: 1.0.4 - resolution: "filelist@npm:1.0.4" - dependencies: - minimatch: "npm:^5.0.1" - checksum: 10c0/426b1de3944a3d153b053f1c0ebfd02dccd0308a4f9e832ad220707a6d1f1b3c9784d6cadf6b2f68f09a57565f63ebc7bcdc913ccf8012d834f472c46e596f41 - languageName: node - linkType: hard - "filename-regex@npm:^2.0.0": version: 2.0.1 resolution: "filename-regex@npm:2.0.1" @@ -18213,13 +17442,6 @@ __metadata: languageName: node linkType: hard -"fs-constants@npm:^1.0.0": - version: 1.0.0 - resolution: "fs-constants@npm:1.0.0" - checksum: 10c0/a0cde99085f0872f4d244e83e03a46aa387b74f5a5af750896c6b05e9077fac00e9932fdf5aef84f2f16634cd473c63037d7a512576da7d5c2b9163d1909f3a8 - languageName: node - linkType: hard - "fs-exists-sync@npm:^0.1.0": version: 0.1.0 resolution: "fs-exists-sync@npm:0.1.0" @@ -18482,20 +17704,6 @@ __metadata: languageName: node linkType: hard -"get-nonce@npm:^1.0.0": - version: 1.0.1 - resolution: "get-nonce@npm:1.0.1" - checksum: 10c0/2d7df55279060bf0568549e1ffc9b84bc32a32b7541675ca092dce56317cdd1a59a98dcc4072c9f6a980779440139a3221d7486f52c488e69dc0fd27b1efb162 - languageName: node - linkType: hard - -"get-npm-tarball-url@npm:^2.0.3": - version: 2.1.0 - resolution: "get-npm-tarball-url@npm:2.1.0" - checksum: 10c0/af779fa5b9c89a3deaf9640630a23368f5ba6a028a1179872aaf581a59485fb2c2c6bd9b94670de228cfc5f23600c89a01e594879085f7fb4dddf820a63105b8 - languageName: node - linkType: hard - "get-package-type@npm:^0.1.0": version: 0.1.0 resolution: "get-package-type@npm:0.1.0" @@ -18525,13 +17733,6 @@ __metadata: languageName: node linkType: hard -"get-port@npm:^5.1.1": - version: 5.1.1 - resolution: "get-port@npm:5.1.1" - checksum: 10c0/2873877a469b24e6d5e0be490724a17edb39fafc795d1d662e7bea951ca649713b4a50117a473f9d162312cb0e946597bd0e049ed2f866e79e576e8e213d3d1c - languageName: node - linkType: hard - "get-proto@npm:^1.0.1": version: 1.0.1 resolution: "get-proto@npm:1.0.1" @@ -18572,13 +17773,6 @@ __metadata: languageName: node linkType: hard -"get-stream@npm:^8.0.1": - version: 8.0.1 - resolution: "get-stream@npm:8.0.1" - checksum: 10c0/5c2181e98202b9dae0bb4a849979291043e5892eb40312b47f0c22b9414fc9b28a3b6063d2375705eb24abc41ecf97894d9a51f64ff021511b504477b27b4290 - languageName: node - linkType: hard - "get-symbol-description@npm:^1.0.2": version: 1.0.2 resolution: "get-symbol-description@npm:1.0.2" @@ -18606,24 +17800,6 @@ __metadata: languageName: node linkType: hard -"giget@npm:^1.0.0": - version: 1.2.3 - resolution: "giget@npm:1.2.3" - dependencies: - citty: "npm:^0.1.6" - consola: "npm:^3.2.3" - defu: "npm:^6.1.4" - node-fetch-native: "npm:^1.6.3" - nypm: "npm:^0.3.8" - ohash: "npm:^1.1.3" - pathe: "npm:^1.1.2" - tar: "npm:^6.2.0" - bin: - giget: dist/cli.mjs - checksum: 10c0/0e82836783c704346fdda83e23d144e97f28a959320b1d8ee73c69a5af562362bcb727cf6ad99f90e45ed8a6abec140833534bb1fedcaa1c06fa026daaf3119c - languageName: node - linkType: hard - "git-raw-commits@npm:2.0.0": version: 2.0.0 resolution: "git-raw-commits@npm:2.0.0" @@ -18793,13 +17969,6 @@ __metadata: languageName: node linkType: hard -"glob-to-regexp@npm:^0.4.1": - version: 0.4.1 - resolution: "glob-to-regexp@npm:0.4.1" - checksum: 10c0/0486925072d7a916f052842772b61c3e86247f0a80cc0deb9b5a3e8a1a9faad5b04fb6f58986a09f34d3e96cd2a22a24b7e9882fb1cf904c31e9a310de96c429 - languageName: node - linkType: hard - "glob-watcher@npm:^0.0.6": version: 0.0.6 resolution: "glob-watcher@npm:0.0.6" @@ -19002,20 +18171,6 @@ __metadata: languageName: node linkType: hard -"globby@npm:^11.0.1, globby@npm:^11.0.2": - version: 11.1.0 - resolution: "globby@npm:11.1.0" - dependencies: - array-union: "npm:^2.1.0" - dir-glob: "npm:^3.0.1" - fast-glob: "npm:^3.2.9" - ignore: "npm:^5.2.0" - merge2: "npm:^1.4.1" - slash: "npm:^3.0.0" - checksum: 10c0/b39511b4afe4bd8a7aead3a27c4ade2b9968649abab0a6c28b1a90141b96ca68ca5db1302f7c7bd29eab66bf51e13916b8e0a3d0ac08f75e1e84a39b35691189 - languageName: node - linkType: hard - "globby@npm:^6.1.0": version: 6.1.0 resolution: "globby@npm:6.1.0" @@ -19602,13 +18757,6 @@ __metadata: languageName: node linkType: hard -"html-tags@npm:^3.1.0": - version: 3.2.0 - resolution: "html-tags@npm:3.2.0" - checksum: 10c0/fc8ac525e193354bf51b64f0e32a729a2e222b6c0f34cedab0259a35ddc5b7e31ddb556b516ea1a5725339a1085098a5f47ff385a3fa50291523d426b54012da - languageName: node - linkType: hard - "htmlnano@npm:^2.0.0": version: 2.0.0 resolution: "htmlnano@npm:2.0.0" @@ -19827,16 +18975,6 @@ __metadata: languageName: node linkType: hard -"https-proxy-agent@npm:^4.0.0": - version: 4.0.0 - resolution: "https-proxy-agent@npm:4.0.0" - dependencies: - agent-base: "npm:5" - debug: "npm:4" - checksum: 10c0/fbba3e037ec04e1850e867064a763b86dd884baae9c5f4ad380504e321068c9e9b5de79cf2f3a28ede7c36036dce905b58d9f51703c5b3884d887114f4887f77 - languageName: node - linkType: hard - "https-proxy-agent@npm:^7.0.1": version: 7.0.4 resolution: "https-proxy-agent@npm:7.0.4" @@ -19854,13 +18992,6 @@ __metadata: languageName: node linkType: hard -"human-signals@npm:^5.0.0": - version: 5.0.0 - resolution: "human-signals@npm:5.0.0" - checksum: 10c0/5a9359073fe17a8b58e5a085e9a39a950366d9f00217c4ff5878bd312e09d80f460536ea6a3f260b5943a01fe55c158d1cea3fc7bee3d0520aeef04f6d915c82 - languageName: node - linkType: hard - "humanize-ms@npm:^1.2.1": version: 1.2.1 resolution: "humanize-ms@npm:1.2.1" @@ -19897,7 +19028,7 @@ __metadata: languageName: node linkType: hard -"ieee754@npm:^1.1.4, ieee754@npm:^1.2.1": +"ieee754@npm:^1.2.1": version: 1.2.1 resolution: "ieee754@npm:1.2.1" checksum: 10c0/b0782ef5e0935b9f12883a2e2aa37baa75da6e66ce6515c168697b42160807d9330de9a32ec1ed73149aea02e0d822e572bca6f1e22bdcbd2149e13b050b17bb @@ -20148,7 +19279,7 @@ __metadata: languageName: node linkType: hard -"invariant@npm:^2.2.2, invariant@npm:^2.2.4": +"invariant@npm:^2.2.2": version: 2.2.4 resolution: "invariant@npm:2.2.4" dependencies: @@ -20188,13 +19319,6 @@ __metadata: languageName: node linkType: hard -"is-absolute-url@npm:^3.0.0": - version: 3.0.3 - resolution: "is-absolute-url@npm:3.0.3" - checksum: 10c0/04c415974c32e73a83d3a21a9bea18fc4e2c14fbe6bbd64832cf1e67a75ade2af0e900f552f0b8a447f1305f5ffc9d143ccd8d005dbe715d198c359d342b86f0 - languageName: node - linkType: hard - "is-absolute@npm:^1.0.0": version: 1.0.0 resolution: "is-absolute@npm:1.0.0" @@ -20605,13 +19729,6 @@ __metadata: languageName: node linkType: hard -"is-interactive@npm:^1.0.0": - version: 1.0.0 - resolution: "is-interactive@npm:1.0.0" - checksum: 10c0/dd47904dbf286cd20aa58c5192161be1a67138485b9836d5a70433b21a45442e9611b8498b8ab1f839fc962c7620667a50535fdfb4a6bc7989b8858645c06b4d - languageName: node - linkType: hard - "is-json@npm:^2.0.1": version: 2.0.1 resolution: "is-json@npm:2.0.1" @@ -20728,7 +19845,7 @@ __metadata: languageName: node linkType: hard -"is-path-cwd@npm:^2.0.0, is-path-cwd@npm:^2.2.0": +"is-path-cwd@npm:^2.0.0": version: 2.2.0 resolution: "is-path-cwd@npm:2.2.0" checksum: 10c0/afce71533a427a759cd0329301c18950333d7589533c2c90205bd3fdcf7b91eb92d1940493190567a433134d2128ec9325de2fd281e05be1920fbee9edd22e0a @@ -20762,13 +19879,6 @@ __metadata: languageName: node linkType: hard -"is-path-inside@npm:^3.0.2": - version: 3.0.3 - resolution: "is-path-inside@npm:3.0.3" - checksum: 10c0/cf7d4ac35fb96bab6a1d2c3598fe5ebb29aafb52c0aaa482b5a3ed9d8ba3edc11631e3ec2637660c44b3ce0e61a08d54946e8af30dec0b60a7c27296c68ffd05 - languageName: node - linkType: hard - "is-plain-obj@npm:^1.0.0, is-plain-obj@npm:^1.1.0": version: 1.1.0 resolution: "is-plain-obj@npm:1.1.0" @@ -20790,13 +19900,6 @@ __metadata: languageName: node linkType: hard -"is-plain-object@npm:5.0.0, is-plain-object@npm:^5.0.0": - version: 5.0.0 - resolution: "is-plain-object@npm:5.0.0" - checksum: 10c0/893e42bad832aae3511c71fd61c0bf61aa3a6d853061c62a307261842727d0d25f761ce9379f7ba7226d6179db2a3157efa918e7fe26360f3bf0842d9f28942c - languageName: node - linkType: hard - "is-plain-object@npm:^2.0.3, is-plain-object@npm:^2.0.4": version: 2.0.4 resolution: "is-plain-object@npm:2.0.4" @@ -20806,6 +19909,13 @@ __metadata: languageName: node linkType: hard +"is-plain-object@npm:^5.0.0": + version: 5.0.0 + resolution: "is-plain-object@npm:5.0.0" + checksum: 10c0/893e42bad832aae3511c71fd61c0bf61aa3a6d853061c62a307261842727d0d25f761ce9379f7ba7226d6179db2a3157efa918e7fe26360f3bf0842d9f28942c + languageName: node + linkType: hard + "is-posix-bracket@npm:^0.1.0": version: 0.1.1 resolution: "is-posix-bracket@npm:0.1.1" @@ -20922,13 +20032,6 @@ __metadata: languageName: node linkType: hard -"is-stream@npm:^3.0.0": - version: 3.0.0 - resolution: "is-stream@npm:3.0.0" - checksum: 10c0/eb2f7127af02ee9aa2a0237b730e47ac2de0d4e76a4a905a50a11557f2339df5765eaea4ceb8029f1efa978586abe776908720bfcb1900c20c6ec5145f6f29d8 - languageName: node - linkType: hard - "is-string@npm:^1.0.5, is-string@npm:^1.0.7": version: 1.0.7 resolution: "is-string@npm:1.0.7" @@ -20981,13 +20084,6 @@ __metadata: languageName: node linkType: hard -"is-unicode-supported@npm:^0.1.0": - version: 0.1.0 - resolution: "is-unicode-supported@npm:0.1.0" - checksum: 10c0/00cbe3455c3756be68d2542c416cab888aebd5012781d6819749fefb15162ff23e38501fe681b3d751c73e8ff561ac09a5293eba6f58fdf0178462ce6dcb3453 - languageName: node - linkType: hard - "is-upper-case@npm:^1.1.0": version: 1.1.2 resolution: "is-upper-case@npm:1.1.2" @@ -21323,20 +20419,6 @@ __metadata: languageName: node linkType: hard -"jake@npm:^10.8.5": - version: 10.8.7 - resolution: "jake@npm:10.8.7" - dependencies: - async: "npm:^3.2.3" - chalk: "npm:^4.0.2" - filelist: "npm:^1.0.4" - minimatch: "npm:^3.1.2" - bin: - jake: bin/cli.js - checksum: 10c0/89326d01a8bc110d02d973729a66394c79a34b34461116f5c530a2a2dbc30265683fe6737928f75df9178e9d369ff1442f5753fb983d525e740eefdadc56a103 - languageName: node - linkType: hard - "jest-changed-files@npm:^29.7.0": version: 29.7.0 resolution: "jest-changed-files@npm:29.7.0" @@ -21661,7 +20743,7 @@ __metadata: languageName: node linkType: hard -"jest-mock@npm:^27.0.6, jest-mock@npm:^27.3.0": +"jest-mock@npm:^27.3.0": version: 27.5.1 resolution: "jest-mock@npm:27.5.1" dependencies: @@ -22033,7 +21115,7 @@ __metadata: languageName: node linkType: hard -"jscodeshift@npm:^0.15.1, jscodeshift@npm:^0.15.2": +"jscodeshift@npm:^0.15.2": version: 0.15.2 resolution: "jscodeshift@npm:0.15.2" dependencies: @@ -22068,7 +21150,7 @@ __metadata: languageName: node linkType: hard -"jsdoc-type-pratt-parser@npm:~4.1.0": +"jsdoc-type-pratt-parser@npm:^4.0.0, jsdoc-type-pratt-parser@npm:~4.1.0": version: 4.1.0 resolution: "jsdoc-type-pratt-parser@npm:4.1.0" checksum: 10c0/7700372d2e733a32f7ea0a1df9cec6752321a5345c11a91b2ab478a031a426e934f16d5c1f15c8566c7b2c10af9f27892a29c2c789039f595470e929a4aa60ea @@ -23262,16 +22344,6 @@ __metadata: languageName: node linkType: hard -"log-symbols@npm:^4.1.0": - version: 4.1.0 - resolution: "log-symbols@npm:4.1.0" - dependencies: - chalk: "npm:^4.1.0" - is-unicode-supported: "npm:^0.1.0" - checksum: 10c0/67f445a9ffa76db1989d0fa98586e5bc2fd5247260dafb8ad93d9f0ccd5896d53fb830b0e54dade5ad838b9de2006c826831a3c528913093af20dff8bd24aca6 - languageName: node - linkType: hard - "logform@npm:^2.6.0, logform@npm:^2.6.1": version: 2.6.1 resolution: "logform@npm:2.6.1" @@ -23321,6 +22393,13 @@ __metadata: languageName: node linkType: hard +"loupe@npm:^3.1.0, loupe@npm:^3.1.1, loupe@npm:^3.1.2": + version: 3.1.3 + resolution: "loupe@npm:3.1.3" + checksum: 10c0/f5dab4144254677de83a35285be1b8aba58b3861439ce4ba65875d0d5f3445a4a496daef63100ccf02b2dbc25bf58c6db84c9cb0b96d6435331e9d0a33b48541 + languageName: node + linkType: hard + "lowdb@npm:1.0.0": version: 1.0.0 resolution: "lowdb@npm:1.0.0" @@ -23596,15 +22675,6 @@ __metadata: languageName: node linkType: hard -"markdown-to-jsx@npm:^7.1.8": - version: 7.4.7 - resolution: "markdown-to-jsx@npm:7.4.7" - peerDependencies: - react: ">= 0.14.0" - checksum: 10c0/7dab3e2c8d7374c45e6ca34fd12b40453533a5b89749eff3359975b1d296c553ff7675f56be7c9d1fb3b97b7b7d143d1b3237137d5c262322e0534eea72e2800 - languageName: node - linkType: hard - "math-intrinsics@npm:^1.1.0": version: 1.1.0 resolution: "math-intrinsics@npm:1.1.0" @@ -23646,15 +22716,6 @@ __metadata: languageName: node linkType: hard -"mdast-util-definitions@npm:^4.0.0": - version: 4.0.0 - resolution: "mdast-util-definitions@npm:4.0.0" - dependencies: - unist-util-visit: "npm:^2.0.0" - checksum: 10c0/d81bb0b702f99878c8e8e4f66dd7f6f673ab341f061b3d9487ba47dad28b584e02f16b4c42df23714eaac8a7dd8544ba7d77308fad8d4a9fd0ac92e2a7f56be9 - languageName: node - linkType: hard - "mdast-util-definitions@npm:^5.0.0": version: 5.1.0 resolution: "mdast-util-definitions@npm:5.1.0" @@ -23776,13 +22837,6 @@ __metadata: languageName: node linkType: hard -"mdast-util-to-string@npm:^1.0.0": - version: 1.1.0 - resolution: "mdast-util-to-string@npm:1.1.0" - checksum: 10c0/5dad9746ec0839792a8a35f504564e8d2b8c30013652410306c111963d33f1ee7b5477aa64ed77b64e13216363a29395809875ffd80e2031a08614657628a121 - languageName: node - linkType: hard - "mdast-util-to-string@npm:^3.0.0, mdast-util-to-string@npm:^3.1.0": version: 3.1.0 resolution: "mdast-util-to-string@npm:3.1.0" @@ -23910,7 +22964,7 @@ __metadata: languageName: node linkType: hard -"merge2@npm:^1.2.3, merge2@npm:^1.3.0, merge2@npm:^1.4.1": +"merge2@npm:^1.2.3, merge2@npm:^1.3.0": version: 1.4.1 resolution: "merge2@npm:1.4.1" checksum: 10c0/254a8a4605b58f450308fc474c82ac9a094848081bf4c06778200207820e5193726dc563a0d2c16468810516a5c97d9d3ea0ca6585d23c58ccfff2403e8dbbeb @@ -24334,7 +23388,7 @@ __metadata: languageName: node linkType: hard -"mime-types@npm:^2.1.12, mime-types@npm:^2.1.25, mime-types@npm:~2.1.19, mime-types@npm:~2.1.24, mime-types@npm:~2.1.34": +"mime-types@npm:^2.1.12, mime-types@npm:~2.1.19, mime-types@npm:~2.1.24, mime-types@npm:~2.1.34": version: 2.1.35 resolution: "mime-types@npm:2.1.35" dependencies: @@ -24361,7 +23415,7 @@ __metadata: languageName: node linkType: hard -"mime@npm:2.6.0, mime@npm:^2.0.3": +"mime@npm:2.6.0": version: 2.6.0 resolution: "mime@npm:2.6.0" bin: @@ -24384,13 +23438,6 @@ __metadata: languageName: node linkType: hard -"mimic-fn@npm:^4.0.0": - version: 4.0.0 - resolution: "mimic-fn@npm:4.0.0" - checksum: 10c0/de9cc32be9996fd941e512248338e43407f63f6d497abe8441fa33447d922e927de54d4cc3c1a3c6d652857acd770389d5a3823f311a744132760ce2be15ccbf - languageName: node - linkType: hard - "min-indent@npm:^1.0.0": version: 1.0.0 resolution: "min-indent@npm:1.0.0" @@ -24624,13 +23671,6 @@ __metadata: languageName: node linkType: hard -"mkdirp-classic@npm:^0.5.2": - version: 0.5.3 - resolution: "mkdirp-classic@npm:0.5.3" - checksum: 10c0/95371d831d196960ddc3833cc6907e6b8f67ac5501a6582f47dfae5eb0f092e9f8ce88e0d83afcae95d6e2b61a01741ba03714eeafb6f7a6e9dcc158ac85b168 - languageName: node - linkType: hard - "mkdirp-promise@npm:^5.0.1": version: 5.0.1 resolution: "mkdirp-promise@npm:5.0.1" @@ -24649,7 +23689,7 @@ __metadata: languageName: node linkType: hard -"mkdirp@npm:^0.5.0, mkdirp@npm:^0.5.1, mkdirp@npm:^0.5.4, mkdirp@npm:^0.5.5": +"mkdirp@npm:^0.5.0, mkdirp@npm:^0.5.1, mkdirp@npm:^0.5.5": version: 0.5.6 resolution: "mkdirp@npm:0.5.6" dependencies: @@ -24969,13 +24009,6 @@ __metadata: languageName: node linkType: hard -"node-fetch-native@npm:^1.6.3": - version: 1.6.4 - resolution: "node-fetch-native@npm:1.6.4" - checksum: 10c0/78334dc6def5d1d95cfe87b33ac76c4833592c5eb84779ad2b0c23c689f9dd5d1cfc827035ada72d6b8b218f717798968c5a99aeff0a1a8bf06657e80592f9c3 - languageName: node - linkType: hard - "node-fetch-npm@npm:^2.0.2": version: 2.0.2 resolution: "node-fetch-npm@npm:2.0.2" @@ -24987,7 +24020,7 @@ __metadata: languageName: node linkType: hard -"node-fetch@npm:^2, node-fetch@npm:^2.0.0, node-fetch@npm:^2.5.0, node-fetch@npm:^2.6.1": +"node-fetch@npm:^2.0.0, node-fetch@npm:^2.5.0, node-fetch@npm:^2.6.1": version: 2.7.0 resolution: "node-fetch@npm:2.7.0" dependencies: @@ -25315,15 +24348,6 @@ __metadata: languageName: node linkType: hard -"npm-run-path@npm:^5.1.0": - version: 5.3.0 - resolution: "npm-run-path@npm:5.3.0" - dependencies: - path-key: "npm:^4.0.0" - checksum: 10c0/124df74820c40c2eb9a8612a254ea1d557ddfab1581c3e751f825e3e366d9f00b0d76a3c94ecd8398e7f3eee193018622677e95816e8491f0797b21e30b2deba - languageName: node - linkType: hard - "npmlog@npm:0 || 1 || 2 || 3 || 4, npmlog@npm:2 || ^3.1.0 || ^4.0.0, npmlog@npm:^4.1.2": version: 4.1.2 resolution: "npmlog@npm:4.1.2" @@ -25447,21 +24471,6 @@ __metadata: languageName: node linkType: hard -"nypm@npm:^0.3.8": - version: 0.3.8 - resolution: "nypm@npm:0.3.8" - dependencies: - citty: "npm:^0.1.6" - consola: "npm:^3.2.3" - execa: "npm:^8.0.1" - pathe: "npm:^1.1.2" - ufo: "npm:^1.4.0" - bin: - nypm: dist/cli.mjs - checksum: 10c0/b910ad4f2156789e410443cb20e9e604baf9570dd54acc740bd3a7784cb6e96d4a2619c4e6ad2bea28a3f849acafbf4a8bdc9b9e52bd87379a5bd68e3b66400d - languageName: node - linkType: hard - "oauth-sign@npm:~0.9.0": version: 0.9.0 resolution: "oauth-sign@npm:0.9.0" @@ -25642,13 +24651,6 @@ __metadata: languageName: node linkType: hard -"ohash@npm:^1.1.3": - version: 1.1.3 - resolution: "ohash@npm:1.1.3" - checksum: 10c0/928f5bdbd8cd73f90cf544c0533dbda8e0a42d9b8c7454ab89e64e4d11bc85f85242830b4e107426ce13dc4dd3013286f8f5e0c84abd8942a014b907d9692540 - languageName: node - linkType: hard - "on-exit-leak-free@npm:^2.1.0": version: 2.1.2 resolution: "on-exit-leak-free@npm:2.1.2" @@ -25708,7 +24710,7 @@ __metadata: languageName: node linkType: hard -"onetime@npm:^5.1.0, onetime@npm:^5.1.2": +"onetime@npm:^5.1.2": version: 5.1.2 resolution: "onetime@npm:5.1.2" dependencies: @@ -25717,16 +24719,7 @@ __metadata: languageName: node linkType: hard -"onetime@npm:^6.0.0": - version: 6.0.0 - resolution: "onetime@npm:6.0.0" - dependencies: - mimic-fn: "npm:^4.0.0" - checksum: 10c0/4eef7c6abfef697dd4479345a4100c382d73c149d2d56170a54a07418c50816937ad09500e1ed1e79d235989d073a9bade8557122aee24f0576ecde0f392bb6c - languageName: node - linkType: hard - -"open@npm:^8.0.4, open@npm:^8.4.0": +"open@npm:^8.0.4": version: 8.4.2 resolution: "open@npm:8.4.2" dependencies: @@ -25765,23 +24758,6 @@ __metadata: languageName: node linkType: hard -"ora@npm:^5.4.1": - version: 5.4.1 - resolution: "ora@npm:5.4.1" - dependencies: - bl: "npm:^4.1.0" - chalk: "npm:^4.1.0" - cli-cursor: "npm:^3.1.0" - cli-spinners: "npm:^2.5.0" - is-interactive: "npm:^1.0.0" - is-unicode-supported: "npm:^0.1.0" - log-symbols: "npm:^4.1.0" - strip-ansi: "npm:^6.0.0" - wcwidth: "npm:^1.0.1" - checksum: 10c0/10ff14aace236d0e2f044193362b22edce4784add08b779eccc8f8ef97195cae1248db8ec1ec5f5ff076f91acbe573f5f42a98c19b78dba8c54eefff983cae85 - languageName: node - linkType: hard - "orchestrator@npm:^0.3.0": version: 0.3.8 resolution: "orchestrator@npm:0.3.8" @@ -26523,13 +25499,6 @@ __metadata: languageName: node linkType: hard -"path-key@npm:^4.0.0": - version: 4.0.0 - resolution: "path-key@npm:4.0.0" - checksum: 10c0/794efeef32863a65ac312f3c0b0a99f921f3e827ff63afa5cb09a377e202c262b671f7b3832a4e64731003fa94af0263713962d317b9887bd1e0c48a342efba3 - languageName: node - linkType: hard - "path-parse@npm:^1.0.5, path-parse@npm:^1.0.7": version: 1.0.7 resolution: "path-parse@npm:1.0.7" @@ -26606,10 +25575,10 @@ __metadata: languageName: node linkType: hard -"pathe@npm:^1.1.2": - version: 1.1.2 - resolution: "pathe@npm:1.1.2" - checksum: 10c0/64ee0a4e587fb0f208d9777a6c56e4f9050039268faaaaecd50e959ef01bf847b7872785c36483fa5cdcdbdfdb31fef2ff222684d4fc21c330ab60395c681897 +"pathval@npm:^2.0.0": + version: 2.0.0 + resolution: "pathval@npm:2.0.0" + checksum: 10c0/602e4ee347fba8a599115af2ccd8179836a63c925c23e04bd056d0674a64b39e3a081b643cc7bc0b84390517df2d800a46fcc5598d42c155fe4977095c2f77c5 languageName: node linkType: hard @@ -26633,13 +25602,6 @@ __metadata: languageName: node linkType: hard -"pend@npm:~1.2.0": - version: 1.2.0 - resolution: "pend@npm:1.2.0" - checksum: 10c0/8a87e63f7a4afcfb0f9f77b39bb92374afc723418b9cb716ee4257689224171002e07768eeade4ecd0e86f1fa3d8f022994219fb45634f2dbd78c6803e452458 - languageName: node - linkType: hard - "performance-now@npm:^2.1.0": version: 2.1.0 resolution: "performance-now@npm:2.1.0" @@ -26986,15 +25948,6 @@ __metadata: languageName: node linkType: hard -"prettier@npm:^2.8.0": - version: 2.8.8 - resolution: "prettier@npm:2.8.8" - bin: - prettier: bin-prettier.js - checksum: 10c0/463ea8f9a0946cd5b828d8cf27bd8b567345cf02f56562d5ecde198b91f47a76b7ac9eae0facd247ace70e927143af6135e8cf411986b8cb8478784a4d6d724a - languageName: node - linkType: hard - "pretty-format@npm:^25.1.0": version: 25.1.0 resolution: "pretty-format@npm:25.1.0" @@ -27100,13 +26053,6 @@ __metadata: languageName: node linkType: hard -"progress@npm:^2.0.1": - version: 2.0.3 - resolution: "progress@npm:2.0.3" - checksum: 10c0/1697e07cb1068055dbe9fe858d242368ff5d2073639e652b75a7eb1f2a1a8d4afd404d719de23c7b48481a6aa0040686310e2dac2f53d776daa2176d3f96369c - languageName: node - linkType: hard - "promise-inflight@npm:^1.0.1": version: 1.0.1 resolution: "promise-inflight@npm:1.0.1" @@ -27141,7 +26087,7 @@ __metadata: languageName: node linkType: hard -"prompts@npm:^2.0.1, prompts@npm:^2.4.0, prompts@npm:^2.4.1": +"prompts@npm:^2.0.1, prompts@npm:^2.4.1": version: 2.4.2 resolution: "prompts@npm:2.4.2" dependencies: @@ -27160,7 +26106,7 @@ __metadata: languageName: node linkType: hard -"prop-types@npm:^15.6.0, prop-types@npm:^15.6.2, prop-types@npm:^15.7.2, prop-types@npm:^15.8.1": +"prop-types@npm:^15.6.0, prop-types@npm:^15.6.2, prop-types@npm:^15.8.1": version: 15.8.1 resolution: "prop-types@npm:15.8.1" dependencies: @@ -27211,7 +26157,7 @@ __metadata: languageName: node linkType: hard -"proxy-from-env@npm:^1.0.0, proxy-from-env@npm:^1.1.0": +"proxy-from-env@npm:^1.1.0": version: 1.1.0 resolution: "proxy-from-env@npm:1.1.0" checksum: 10c0/fe7dd8b1bdbbbea18d1459107729c3e4a2243ca870d26d34c2c1bcd3e4425b7bcc5112362df2d93cc7fb9746f6142b5e272fd1cc5c86ddf8580175186f6ad42b @@ -27270,24 +26216,6 @@ __metadata: languageName: node linkType: hard -"puppeteer-core@npm:^2.1.1": - version: 2.1.1 - resolution: "puppeteer-core@npm:2.1.1" - dependencies: - "@types/mime-types": "npm:^2.1.0" - debug: "npm:^4.1.0" - extract-zip: "npm:^1.6.6" - https-proxy-agent: "npm:^4.0.0" - mime: "npm:^2.0.3" - mime-types: "npm:^2.1.25" - progress: "npm:^2.0.1" - proxy-from-env: "npm:^1.0.0" - rimraf: "npm:^2.6.1" - ws: "npm:^6.1.0" - checksum: 10c0/29a73c2327e208e6528bac05f841b3340ee1a8d7bd59e7b235c9d8b3c0bf266804ad1aa901a0e4a1d66ce4202646f242988c3c5c4dfb105e9ad082bf4aae69be - languageName: node - linkType: hard - "pure-rand@npm:^5.0.0": version: 5.0.0 resolution: "pure-rand@npm:5.0.0" @@ -27536,27 +26464,6 @@ __metadata: languageName: node linkType: hard -"react-colorful@npm:^5.1.2": - version: 5.6.1 - resolution: "react-colorful@npm:5.6.1" - peerDependencies: - react: ">=16.8.0" - react-dom: ">=16.8.0" - checksum: 10c0/48eb73cf71e10841c2a61b6b06ab81da9fffa9876134c239bfdebcf348ce2a47e56b146338e35dfb03512c85966bfc9a53844fc56bc50154e71f8daee59ff6f0 - languageName: node - linkType: hard - -"react-confetti@npm:^6.1.0": - version: 6.1.0 - resolution: "react-confetti@npm:6.1.0" - dependencies: - tween-functions: "npm:^1.2.0" - peerDependencies: - react: ^16.3.0 || ^17.0.1 || ^18.0.0 - checksum: 10c0/5b4eb23eef564695f6db1d25b294ed31d5fa21ff4092c6a38e641f85cd10e3e0b50014366e3ac0f7cf772e73faaecd14614e5b11a5531336fa769dda8068ab59 - languageName: node - linkType: hard - "react-docgen-typescript@npm:^2.2.2": version: 2.2.2 resolution: "react-docgen-typescript@npm:2.2.2" @@ -27566,6 +26473,17 @@ __metadata: languageName: node linkType: hard +"react-dom@npm:^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0": + version: 19.1.0 + resolution: "react-dom@npm:19.1.0" + dependencies: + scheduler: "npm:^0.26.0" + peerDependencies: + react: ^19.1.0 + checksum: 10c0/3e26e89bb6c67c9a6aa86cb888c7a7f8258f2e347a6d2a15299c17eb16e04c19194e3452bc3255bd34000a61e45e2cb51e46292392340432f133e5a5d2dfb5fc + languageName: node + linkType: hard + "react-dom@npm:^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0, react-dom@npm:^18.2.0": version: 18.3.1 resolution: "react-dom@npm:18.3.1" @@ -27578,20 +26496,6 @@ __metadata: languageName: node linkType: hard -"react-element-to-jsx-string@npm:^15.0.0": - version: 15.0.0 - resolution: "react-element-to-jsx-string@npm:15.0.0" - dependencies: - "@base2/pretty-print-object": "npm:1.0.1" - is-plain-object: "npm:5.0.0" - react-is: "npm:18.1.0" - peerDependencies: - react: ^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1 || ^18.0.0 - react-dom: ^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1 || ^18.0.0 - checksum: 10c0/0d60a0ea758529c32a706d0c69d70b69fb94de3c46442fffdee34f08f51ffceddbb5395b41dfd1565895653e9f60f98ca525835be9d5db1f16d6b22be12f4cd4 - languageName: node - linkType: hard - "react-frame-component@npm:^5.0.0": version: 5.2.6 resolution: "react-frame-component@npm:5.2.6" @@ -27603,13 +26507,6 @@ __metadata: languageName: node linkType: hard -"react-is@npm:18.1.0": - version: 18.1.0 - resolution: "react-is@npm:18.1.0" - checksum: 10c0/558874e4c3bd9805a9294426e090919ee6901be3ab07f80b997c36b5a01a8d691112802e7438d146f6c82fd6495d8c030f276ef05ec3410057f8740a8d723f8c - languageName: node - linkType: hard - "react-is@npm:^16.12.0 || ^17.0.0 || ^18.0.0, react-is@npm:^18.0.0, react-is@npm:^18.3.1": version: 18.3.1 resolution: "react-is@npm:18.3.1" @@ -27651,41 +26548,6 @@ __metadata: languageName: node linkType: hard -"react-remove-scroll-bar@npm:^2.3.3": - version: 2.3.6 - resolution: "react-remove-scroll-bar@npm:2.3.6" - dependencies: - react-style-singleton: "npm:^2.2.1" - tslib: "npm:^2.0.0" - peerDependencies: - "@types/react": ^16.8.0 || ^17.0.0 || ^18.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - "@types/react": - optional: true - checksum: 10c0/4e32ee04bf655a8bd3b4aacf6ffc596ae9eb1b9ba27eef83f7002632ee75371f61516ae62250634a9eae4b2c8fc6f6982d9b182de260f6c11841841e6e2e7515 - languageName: node - linkType: hard - -"react-remove-scroll@npm:2.5.5": - version: 2.5.5 - resolution: "react-remove-scroll@npm:2.5.5" - dependencies: - react-remove-scroll-bar: "npm:^2.3.3" - react-style-singleton: "npm:^2.2.1" - tslib: "npm:^2.1.0" - use-callback-ref: "npm:^1.3.0" - use-sidecar: "npm:^1.1.2" - peerDependencies: - "@types/react": ^16.8.0 || ^17.0.0 || ^18.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - "@types/react": - optional: true - checksum: 10c0/4952657e6a7b9d661d4ad4dfcef81b9c7fa493e35164abff99c35c0b27b3d172ef7ad70c09416dc44dd14ff2e6b38a5ec7da27e27e90a15cbad36b8fd2fd8054 - languageName: node - linkType: hard - "react-shallow-renderer@npm:^16.15.0": version: 16.15.0 resolution: "react-shallow-renderer@npm:16.15.0" @@ -27738,23 +26600,21 @@ __metadata: "@react-spectrum/s2-icon-builder": "npm:^0.2.0" "@spectrum-css/component-builder": "workspace:^" "@spectrum-css/vars": "npm:^2.3.0" - "@storybook/addon-a11y": "patch:@storybook/addon-a11y@npm%3A^7.6.19#~/.yarn/patches/@storybook-addon-a11y-npm-7.6.19-04b470eae0.patch" - "@storybook/addon-actions": "npm:^7.6.19" - "@storybook/addon-controls": "npm:^7.6.19" - "@storybook/addon-essentials": "npm:^7.6.19" - "@storybook/addon-interactions": "npm:^7.6.19" - "@storybook/addon-links": "npm:^7.6.19" - "@storybook/addon-onboarding": "npm:1.0.8" - "@storybook/addon-themes": "npm:^7.6.19" - "@storybook/api": "npm:^7.6.19" - "@storybook/components": "npm:^7.6.19" - "@storybook/jest": "npm:^0.2.3" - "@storybook/manager-api": "npm:^7.6.19" - "@storybook/preview": "npm:^7.6.19" - "@storybook/preview-api": "npm:^7.6.19" - "@storybook/react": "npm:^7.6.19" - "@storybook/test-runner": "npm:^0.16.0" - "@storybook/testing-library": "npm:^0.2.2" + "@storybook/addon-a11y": "npm:^8.6.7" + "@storybook/addon-actions": "npm:^8.6.7" + "@storybook/addon-controls": "npm:^8.6.7" + "@storybook/addon-essentials": "npm:^8.6.7" + "@storybook/addon-interactions": "npm:^8.6.7" + "@storybook/addon-jest": "npm:^8.6.7" + "@storybook/addon-links": "npm:^8.6.7" + "@storybook/addon-onboarding": "npm:^8.6.7" + "@storybook/addon-themes": "npm:^8.6.7" + "@storybook/components": "npm:^8.6.7" + "@storybook/manager-api": "npm:^8.6.7" + "@storybook/preview": "npm:^8.6.7" + "@storybook/preview-api": "npm:^8.6.7" + "@storybook/react": "npm:^8.6.7" + "@storybook/test-runner": "npm:^0.22.0" "@stylistic/eslint-plugin-ts": "npm:^2.9.0" "@swc/core": "npm:^1.3.36" "@swc/jest": "npm:^0.2.36" @@ -27765,7 +26625,6 @@ __metadata: "@testing-library/user-event": "patch:@testing-library/user-event@npm%3A14.6.1#~/.yarn/patches/@testing-library-user-event-npm-14.6.1-5da7e1d4e2.patch" "@types/react": "npm:types-react@19.0.0-rc.0" "@types/react-dom": "npm:types-react-dom@19.0.0-rc.0" - "@types/storybook__react": "npm:^4.0.2" "@yarnpkg/types": "npm:^4.0.0" autoprefixer: "npm:^9.6.0" axe-core: "npm:^4.6.3" @@ -27835,9 +26694,9 @@ __metadata: rimraf: "npm:^2.6.3" sharp: "npm:^0.33.5" sinon: "npm:^7.3.1" - storybook: "npm:^7.6.19" - storybook-dark-mode: "npm:^3.0.3" - storybook-react-parcel: "npm:^0.0.1" + storybook: "npm:^8.6.7" + storybook-dark-mode: "npm:^4.0.2" + storybook-react-parcel: "workspace:^" tailwind-variants: "patch:tailwind-variants@npm%3A0.3.1#~/.yarn/patches/tailwind-variants-npm-0.3.1-48888516de.patch" tailwindcss: "npm:^4.0.0" tailwindcss-animate: "npm:^1.0.7" @@ -27889,23 +26748,6 @@ __metadata: languageName: unknown linkType: soft -"react-style-singleton@npm:^2.2.1": - version: 2.2.1 - resolution: "react-style-singleton@npm:2.2.1" - dependencies: - get-nonce: "npm:^1.0.0" - invariant: "npm:^2.2.4" - tslib: "npm:^2.0.0" - peerDependencies: - "@types/react": ^16.8.0 || ^17.0.0 || ^18.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - "@types/react": - optional: true - checksum: 10c0/6d66f3bdb65e1ec79089f80314da97c9a005087a04ee034255a5de129a4c0d9fd0bf99fa7bf642781ac2dc745ca687aae3de082bd8afdd0d117bc953241e15ad - languageName: node - linkType: hard - "react-test-renderer@npm:^18.3.1": version: 18.3.1 resolution: "react-test-renderer@npm:18.3.1" @@ -27934,6 +26776,13 @@ __metadata: languageName: node linkType: hard +"react@npm:^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0": + version: 19.1.0 + resolution: "react@npm:19.1.0" + checksum: 10c0/530fb9a62237d54137a13d2cfb67a7db6a2156faed43eecc423f4713d9b20c6f2728b026b45e28fcd72e8eadb9e9ed4b089e99f5e295d2f0ad3134251bdd3698 + languageName: node + linkType: hard + "react@npm:^18.2.0": version: 18.3.1 resolution: "react@npm:18.3.1" @@ -28008,17 +26857,6 @@ __metadata: languageName: node linkType: hard -"read-pkg-up@npm:^7.0.1": - version: 7.0.1 - resolution: "read-pkg-up@npm:7.0.1" - dependencies: - find-up: "npm:^4.1.0" - read-pkg: "npm:^5.2.0" - type-fest: "npm:^0.8.1" - checksum: 10c0/82b3ac9fd7c6ca1bdc1d7253eb1091a98ff3d195ee0a45386582ce3e69f90266163c34121e6a0a02f1630073a6c0585f7880b3865efcae9c452fa667f02ca385 - languageName: node - linkType: hard - "read-pkg@npm:^1.0.0": version: 1.1.0 resolution: "read-pkg@npm:1.1.0" @@ -28375,19 +27213,6 @@ __metadata: languageName: node linkType: hard -"remark-external-links@npm:^8.0.0": - version: 8.0.0 - resolution: "remark-external-links@npm:8.0.0" - dependencies: - extend: "npm:^3.0.0" - is-absolute-url: "npm:^3.0.0" - mdast-util-definitions: "npm:^4.0.0" - space-separated-tokens: "npm:^1.0.0" - unist-util-visit: "npm:^2.0.0" - checksum: 10c0/5f0affc97e18ad3247e3b29449f4df98be5a75950cf0f0f13dd1755c4ef1065f9ab44626bba34d913d32bb92afd6f06a8e2f8068e83b48337f0b7a5d1f0cecfe - languageName: node - linkType: hard - "remark-frontmatter@npm:^4.0.1": version: 4.0.1 resolution: "remark-frontmatter@npm:4.0.1" @@ -28433,17 +27258,6 @@ __metadata: languageName: node linkType: hard -"remark-slug@npm:^6.0.0": - version: 6.1.0 - resolution: "remark-slug@npm:6.1.0" - dependencies: - github-slugger: "npm:^1.0.0" - mdast-util-to-string: "npm:^1.0.0" - unist-util-visit: "npm:^2.0.0" - checksum: 10c0/7cc2857936fce9c9c00b9c7d70de46d594cedf93bd8560fd006164dee7aacccdf472654ee35b33f4fb4bd0af882d89998c6d0c9088c2e95702a9fc15ebae002a - languageName: node - linkType: hard - "remark-slug@npm:^7.0.1": version: 7.0.1 resolution: "remark-slug@npm:7.0.1" @@ -28737,16 +27551,6 @@ __metadata: languageName: node linkType: hard -"restore-cursor@npm:^3.1.0": - version: 3.1.0 - resolution: "restore-cursor@npm:3.1.0" - dependencies: - onetime: "npm:^5.1.0" - signal-exit: "npm:^3.0.2" - checksum: 10c0/8051a371d6aa67ff21625fa94e2357bd81ffdc96267f3fb0fc4aaf4534028343836548ef34c240ffa8c25b280ca35eb36be00b3cb2133fa4f51896d7e73c6b4f - languageName: node - linkType: hard - "ret@npm:~0.1.10": version: 0.1.15 resolution: "ret@npm:0.1.15" @@ -28976,6 +27780,13 @@ __metadata: languageName: node linkType: hard +"scheduler@npm:^0.26.0": + version: 0.26.0 + resolution: "scheduler@npm:0.26.0" + checksum: 10c0/5b8d5bfddaae3513410eda54f2268e98a376a429931921a81b5c3a2873aab7ca4d775a8caac5498f8cbc7d0daeab947cf923dbd8e215d61671f9f4e392d34356 + languageName: node + linkType: hard + "semver-diff@npm:^2.0.0": version: 2.1.0 resolution: "semver-diff@npm:2.1.0" @@ -29003,7 +27814,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:7.6.3, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.5.2, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0, semver@npm:^7.6.3": +"semver@npm:7.6.3, semver@npm:^7.3.5, semver@npm:^7.5.2, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0, semver@npm:^7.6.3": version: 7.6.3 resolution: "semver@npm:7.6.3" bin: @@ -29039,6 +27850,15 @@ __metadata: languageName: node linkType: hard +"semver@npm:^7.6.2": + version: 7.7.2 + resolution: "semver@npm:7.7.2" + bin: + semver: bin/semver.js + checksum: 10c0/aca305edfbf2383c22571cb7714f48cadc7ac95371b4b52362fb8eeffdfbc0de0669368b82b2b15978f8848f01d7114da65697e56cd8c37b0dab8c58e543f9ea + languageName: node + linkType: hard + "semver@npm:~5.3.0": version: 5.3.0 resolution: "semver@npm:5.3.0" @@ -29293,7 +28113,7 @@ __metadata: languageName: node linkType: hard -"signal-exit@npm:^4.0.1, signal-exit@npm:^4.1.0": +"signal-exit@npm:^4.0.1": version: 4.1.0 resolution: "signal-exit@npm:4.1.0" checksum: 10c0/41602dce540e46d599edba9d9860193398d135f7ff72cab629db5171516cfae628d21e7bfccde1bbfdf11c48726bc2a6d1a8fb8701125852fbfda7cf19c6aa83 @@ -29580,13 +28400,6 @@ __metadata: languageName: node linkType: hard -"space-separated-tokens@npm:^1.0.0": - version: 1.1.5 - resolution: "space-separated-tokens@npm:1.1.5" - checksum: 10c0/3ee0a6905f89e1ffdfe474124b1ade9fe97276a377a0b01350bc079b6ec566eb5b219e26064cc5b7f3899c05bde51ffbc9154290b96eaf82916a1e2c2c13ead9 - languageName: node - linkType: hard - "space-separated-tokens@npm:^2.0.0": version: 2.0.1 resolution: "space-separated-tokens@npm:2.0.1" @@ -29853,74 +28666,62 @@ __metadata: languageName: node linkType: hard -"store2@npm:^2.14.2": - version: 2.14.3 - resolution: "store2@npm:2.14.3" - checksum: 10c0/22e1096e6d69590672ca0b7f891d82b060837ef4c3e5df0d4563e6cbed14c52ddf2589fa94b79f4311b6ec41d95d6142e5d01d194539e0175c3fb4090cca8244 - languageName: node - linkType: hard - -"storybook-builder-parcel@npm:^0.0.1": - version: 0.0.1 - resolution: "storybook-builder-parcel@npm:0.0.1" - dependencies: - "@parcel/core": "npm:^2.13.1" - "@parcel/reporter-cli": "npm:^2.13.1" - "@storybook/channels": "npm:^7.6.4" - "@storybook/client-logger": "npm:^7.6.4" - "@storybook/core-common": "npm:^7.6.4" - "@storybook/preview": "npm:^7.6.4" - "@storybook/preview-api": "npm:^7.6.4" +"storybook-builder-parcel@workspace:^, storybook-builder-parcel@workspace:packages/dev/storybook-builder-parcel": + version: 0.0.0-use.local + resolution: "storybook-builder-parcel@workspace:packages/dev/storybook-builder-parcel" + dependencies: + "@storybook/core-common": "npm:^8.6.7" http-proxy-middleware: "npm:^2.0.6" peerDependencies: + "@parcel/core": ^2.0.0 react: "*" - checksum: 10c0/44b4cfbdcba38664ede775424393ca84e6fd13e6b84698f93e79527a51870855adb5b12f40657d11d62107f18ddb8ccd9c0754b3261734644db3f3ab43f73eb4 - languageName: node - linkType: hard + languageName: unknown + linkType: soft -"storybook-dark-mode@npm:^3.0.3": - version: 3.0.3 - resolution: "storybook-dark-mode@npm:3.0.3" +"storybook-dark-mode@npm:^4.0.2": + version: 4.0.2 + resolution: "storybook-dark-mode@npm:4.0.2" dependencies: - "@storybook/addons": "npm:^7.0.0" - "@storybook/components": "npm:^7.0.0" - "@storybook/core-events": "npm:^7.0.0" + "@storybook/components": "npm:^8.0.0" + "@storybook/core-events": "npm:^8.0.0" "@storybook/global": "npm:^5.0.0" - "@storybook/manager-api": "npm:^7.0.0" - "@storybook/theming": "npm:^7.0.0" + "@storybook/icons": "npm:^1.2.5" + "@storybook/manager-api": "npm:^8.0.0" + "@storybook/theming": "npm:^8.0.0" fast-deep-equal: "npm:^3.1.3" memoizerific: "npm:^1.11.3" - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - react: - optional: true - react-dom: - optional: true - checksum: 10c0/a69f4f6107587e68ac6421ac6c598fc086266683880fd53c4443e31225f0a1fc99c41de03340d1d177b4d2bc7399205fb5c14a45727a72d418c13aad3eb963fc + checksum: 10c0/d4fc652ff080f6cc9f0effab0c989b66ead3372b267c2c328eef608f27c9822bf47aaa177405e42768b2de22f8a3e9a0280af50430efd0cf78bd6ed1f12c8b29 languageName: node linkType: hard -"storybook-react-parcel@npm:^0.0.1": - version: 0.0.1 - resolution: "storybook-react-parcel@npm:0.0.1" +"storybook-react-parcel@workspace:^, storybook-react-parcel@workspace:packages/dev/storybook-react-parcel": + version: 0.0.0-use.local + resolution: "storybook-react-parcel@workspace:packages/dev/storybook-react-parcel" dependencies: - "@storybook/react": "npm:^7.6.4" - storybook-builder-parcel: "npm:^0.0.1" - checksum: 10c0/20ba6df23f7113ecc16aa8362bc140cb67c2bf4d425800ea4ad14f8baf6dadaee9fb270058b05d0f55ac816fddd05b7fa03d5b9dc5769e6b48e735ffaff6b401 - languageName: node - linkType: hard + "@storybook/react": "npm:^8.6.7" + storybook-builder-parcel: "workspace:^" + peerDependencies: + react: ^18.2.0 + react-dom: ^18.2.0 + storybook: ^8.6.7 + languageName: unknown + linkType: soft -"storybook@npm:^7.6.19": - version: 7.6.20 - resolution: "storybook@npm:7.6.20" +"storybook@npm:^8.6.7": + version: 8.6.14 + resolution: "storybook@npm:8.6.14" dependencies: - "@storybook/cli": "npm:7.6.20" + "@storybook/core": "npm:8.6.14" + peerDependencies: + prettier: ^2 || ^3 + peerDependenciesMeta: + prettier: + optional: true bin: - sb: ./index.js - storybook: ./index.js - checksum: 10c0/c710019def6053c505ba072da539d873ca06dfbd4210ab63dcde12a1efb78b95af105b7b875571e685f2fc4e77c15462145e59372dbab3ebe176ae073915cd70 + getstorybook: ./bin/index.cjs + sb: ./bin/index.cjs + storybook: ./bin/index.cjs + checksum: 10c0/a39d5ca1c3fecb4e6d5b7867d510e9a31524b48053dcea485afffbeaf7fe8ced883fd2d44e1b5076a2f3044eeb095fe49282793f1041124a9aa2b47fa675c956 languageName: node linkType: hard @@ -30283,13 +29084,6 @@ __metadata: languageName: node linkType: hard -"strip-final-newline@npm:^3.0.0": - version: 3.0.0 - resolution: "strip-final-newline@npm:3.0.0" - checksum: 10c0/a771a17901427bac6293fd416db7577e2bc1c34a19d38351e9d5478c3c415f523f391003b42ed475f27e33a78233035df183525395f731d3bfb8cdcbd4da08ce - languageName: node - linkType: hard - "strip-indent@npm:^1.0.1": version: 1.0.1 resolution: "strip-indent@npm:1.0.1" @@ -30317,7 +29111,7 @@ __metadata: languageName: node linkType: hard -"strip-json-comments@npm:^3.0.1, strip-json-comments@npm:^3.1.1": +"strip-json-comments@npm:^3.1.1": version: 3.1.1 resolution: "strip-json-comments@npm:3.1.1" checksum: 10c0/9681a6257b925a7fa0f285851c0e613cc934a50661fa7bb41ca9cbbff89686bb4a0ee366e6ecedc4daafd01e83eee0720111ab294366fe7c185e935475ebcecd @@ -30546,31 +29340,6 @@ __metadata: languageName: node linkType: hard -"tar-fs@npm:^2.1.1": - version: 2.1.1 - resolution: "tar-fs@npm:2.1.1" - dependencies: - chownr: "npm:^1.1.1" - mkdirp-classic: "npm:^0.5.2" - pump: "npm:^3.0.0" - tar-stream: "npm:^2.1.4" - checksum: 10c0/871d26a934bfb7beeae4c4d8a09689f530b565f79bd0cf489823ff0efa3705da01278160da10bb006d1a793fa0425cf316cec029b32a9159eacbeaff4965fb6d - languageName: node - linkType: hard - -"tar-stream@npm:^2.1.4": - version: 2.2.0 - resolution: "tar-stream@npm:2.2.0" - dependencies: - bl: "npm:^4.0.3" - end-of-stream: "npm:^1.4.1" - fs-constants: "npm:^1.0.0" - inherits: "npm:^2.0.3" - readable-stream: "npm:^3.1.1" - checksum: 10c0/2f4c910b3ee7196502e1ff015a7ba321ec6ea837667220d7bcb8d0852d51cb04b87f7ae471008a6fb8f5b1a1b5078f62f3a82d30c706f20ada1238ac797e7692 - languageName: node - linkType: hard - "tar-stream@npm:^3.1.7": version: 3.1.7 resolution: "tar-stream@npm:3.1.7" @@ -30597,7 +29366,7 @@ __metadata: languageName: node linkType: hard -"tar@npm:^6.1.11, tar@npm:^6.1.2, tar@npm:^6.2.0": +"tar@npm:^6.1.11, tar@npm:^6.1.2": version: 6.2.1 resolution: "tar@npm:6.2.1" dependencies: @@ -30678,19 +29447,6 @@ __metadata: languageName: node linkType: hard -"tempy@npm:^1.0.1": - version: 1.0.1 - resolution: "tempy@npm:1.0.1" - dependencies: - del: "npm:^6.0.0" - is-stream: "npm:^2.0.0" - temp-dir: "npm:^2.0.0" - type-fest: "npm:^0.16.0" - unique-string: "npm:^2.0.0" - checksum: 10c0/864a1cf1b5536dc21e84ae45dbbc3ba4dd2c7ec1674d895f99c349cf209df959a53d797ca38d0b2cf69c7684d565fde5cfc67faaa63b7208ffb21d454b957472 - languageName: node - linkType: hard - "term-size@npm:^1.2.0": version: 1.2.0 resolution: "term-size@npm:1.2.0" @@ -30906,6 +29662,20 @@ __metadata: languageName: node linkType: hard +"tinyrainbow@npm:^1.2.0": + version: 1.2.0 + resolution: "tinyrainbow@npm:1.2.0" + checksum: 10c0/7f78a4b997e5ba0f5ecb75e7ed786f30bab9063716e7dff24dd84013fb338802e43d176cb21ed12480561f5649a82184cf31efb296601a29d38145b1cdb4c192 + languageName: node + linkType: hard + +"tinyspy@npm:^3.0.0": + version: 3.0.2 + resolution: "tinyspy@npm:3.0.2" + checksum: 10c0/55ffad24e346622b59292e097c2ee30a63919d5acb7ceca87fc0d1c223090089890587b426e20054733f97a58f20af2c349fb7cc193697203868ab7ba00bcea0 + languageName: node + linkType: hard + "title-case@npm:^2.1.0": version: 2.1.1 resolution: "title-case@npm:2.1.1" @@ -31013,13 +29783,6 @@ __metadata: languageName: node linkType: hard -"tocbot@npm:^4.20.1": - version: 4.27.18 - resolution: "tocbot@npm:4.27.18" - checksum: 10c0/73453f857b0752207b8831c3f5f7a7b57ffa77bc00e74b3124f89243e7e8e425c9063f9ddb1655cd2609a1157753b0d05c60f2df064f92da0c4098f394b28377 - languageName: node - linkType: hard - "toidentifier@npm:1.0.1": version: 1.0.1 resolution: "toidentifier@npm:1.0.1" @@ -31221,7 +29984,7 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^1.13.0, tslib@npm:^1.9.0": +"tslib@npm:^1.9.0": version: 1.14.1 resolution: "tslib@npm:1.14.1" checksum: 10c0/69ae09c49eea644bc5ebe1bca4fa4cc2c82b7b3e02f43b84bd891504edf66dbc6b2ec0eef31a957042de2269139e4acff911e6d186a258fb14069cd7f6febce2 @@ -31244,13 +30007,6 @@ __metadata: languageName: node linkType: hard -"tween-functions@npm:^1.2.0": - version: 1.2.0 - resolution: "tween-functions@npm:1.2.0" - checksum: 10c0/7e59295b8b0ee4132ed2fe335f56a9db5c87056dad6b6fd3011be72239fd20398003ddb4403bc98ad9f5c94468890830f64016edbbde35581faf95b32cda8305 - languageName: node - linkType: hard - "tweetnacl@npm:^0.14.3, tweetnacl@npm:~0.14.0": version: 0.14.5 resolution: "tweetnacl@npm:0.14.5" @@ -31288,13 +30044,6 @@ __metadata: languageName: node linkType: hard -"type-fest@npm:^0.16.0": - version: 0.16.0 - resolution: "type-fest@npm:0.16.0" - checksum: 10c0/6b4d846534e7bcb49a6160b068ffaed2b62570d989d909ac3f29df5ef1e993859f890a4242eebe023c9e923f96adbcb3b3e88a198c35a1ee9a731e147a6839c3 - languageName: node - linkType: hard - "type-fest@npm:^0.20.2": version: 0.20.2 resolution: "type-fest@npm:0.20.2" @@ -31323,7 +30072,7 @@ __metadata: languageName: node linkType: hard -"type-fest@npm:^2.19.0, type-fest@npm:~2.19": +"type-fest@npm:^2.19.0": version: 2.19.0 resolution: "type-fest@npm:2.19.0" checksum: 10c0/a5a7ecf2e654251613218c215c7493574594951c08e52ab9881c9df6a6da0aeca7528c213c622bc374b4e0cb5c443aa3ab758da4e3c959783ce884c3194e12cb @@ -31449,13 +30198,6 @@ __metadata: languageName: node linkType: hard -"ufo@npm:^1.4.0": - version: 1.5.3 - resolution: "ufo@npm:1.5.3" - checksum: 10c0/1df10702582aa74f4deac4486ecdfd660e74be057355f1afb6adfa14243476cf3d3acff734ccc3d0b74e9bfdefe91d578f3edbbb0a5b2430fe93cd672370e024 - languageName: node - linkType: hard - "uglify-js@npm:1.x": version: 1.3.5 resolution: "uglify-js@npm:1.3.5" @@ -31678,13 +30420,6 @@ __metadata: languageName: node linkType: hard -"unist-util-is@npm:^4.0.0": - version: 4.1.0 - resolution: "unist-util-is@npm:4.1.0" - checksum: 10c0/21ca3d7bacc88853b880b19cb1b133a056c501617d7f9b8cce969cd8b430ed7e1bc416a3a11b02540d5de6fb86807e169d00596108a459d034cf5faec97c055e - languageName: node - linkType: hard - "unist-util-is@npm:^5.0.0": version: 5.1.1 resolution: "unist-util-is@npm:5.1.1" @@ -31727,16 +30462,6 @@ __metadata: languageName: node linkType: hard -"unist-util-visit-parents@npm:^3.0.0": - version: 3.1.1 - resolution: "unist-util-visit-parents@npm:3.1.1" - dependencies: - "@types/unist": "npm:^2.0.0" - unist-util-is: "npm:^4.0.0" - checksum: 10c0/231c80c5ba8e79263956fcaa25ed2a11ad7fe77ac5ba0d322e9d51bbc4238501e3bb52f405e518bcdc5471e27b33eff520db0aa4a3b1feb9fb6e2de6ae385d49 - languageName: node - linkType: hard - "unist-util-visit-parents@npm:^4.0.0": version: 4.1.1 resolution: "unist-util-visit-parents@npm:4.1.1" @@ -31757,17 +30482,6 @@ __metadata: languageName: node linkType: hard -"unist-util-visit@npm:^2.0.0": - version: 2.0.3 - resolution: "unist-util-visit@npm:2.0.3" - dependencies: - "@types/unist": "npm:^2.0.0" - unist-util-is: "npm:^4.0.0" - unist-util-visit-parents: "npm:^3.0.0" - checksum: 10c0/7b11303d82271ca53a2ced2d56c87a689dd518596c99ff4a11cdff750f5cc5c0e4b64b146bd2363557cb29443c98713bfd1e8dc6d1c3f9d474b9eb1f23a60888 - languageName: node - linkType: hard - "unist-util-visit@npm:^3.0.0": version: 3.1.0 resolution: "unist-util-visit@npm:3.1.0" @@ -31886,13 +30600,6 @@ __metadata: languageName: node linkType: hard -"untildify@npm:^4.0.0": - version: 4.0.0 - resolution: "untildify@npm:4.0.0" - checksum: 10c0/d758e624c707d49f76f7511d75d09a8eda7f2020d231ec52b67ff4896bcf7013be3f9522d8375f57e586e9a2e827f5641c7e06ee46ab9c435fc2b2b2e9de517a - languageName: node - linkType: hard - "unzip-response@npm:^2.0.1": version: 2.0.1 resolution: "unzip-response@npm:2.0.1" @@ -31900,6 +30607,13 @@ __metadata: languageName: node linkType: hard +"upath@npm:^2.0.1": + version: 2.0.1 + resolution: "upath@npm:2.0.1" + checksum: 10c0/79e8e1296b00e24a093b077cfd7a238712d09290c850ce59a7a01458ec78c8d26dcc2ab50b1b9d6a84dabf6511fb4969afeb8a5c9a001aa7272b9cc74c34670f + languageName: node + linkType: hard + "update-browserslist-db@npm:^1.1.0": version: 1.1.1 resolution: "update-browserslist-db@npm:1.1.1" @@ -31983,49 +30697,6 @@ __metadata: languageName: node linkType: hard -"use-callback-ref@npm:^1.3.0": - version: 1.3.2 - resolution: "use-callback-ref@npm:1.3.2" - dependencies: - tslib: "npm:^2.0.0" - peerDependencies: - "@types/react": ^16.8.0 || ^17.0.0 || ^18.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - "@types/react": - optional: true - checksum: 10c0/d232c37160fe3970c99255da19b5fb5299fb5926a5d6141d928a87feb47732c323d29be2f8137d3b1e5499c70d284cd1d9cfad703cc58179db8be24d7dd8f1f2 - languageName: node - linkType: hard - -"use-resize-observer@npm:^9.1.0": - version: 9.1.0 - resolution: "use-resize-observer@npm:9.1.0" - dependencies: - "@juggle/resize-observer": "npm:^3.3.1" - peerDependencies: - react: 16.8.0 - 18 - react-dom: 16.8.0 - 18 - checksum: 10c0/6ccdeb09fe20566ec182b1635a22f189e13d46226b74610432590e69b31ef5d05d069badc3306ebd0d2bb608743b17981fb535763a1d7dc2c8ae462ee8e5999c - languageName: node - linkType: hard - -"use-sidecar@npm:^1.1.2": - version: 1.1.2 - resolution: "use-sidecar@npm:1.1.2" - dependencies: - detect-node-es: "npm:^1.1.0" - tslib: "npm:^2.0.0" - peerDependencies: - "@types/react": ^16.9.0 || ^17.0.0 || ^18.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - "@types/react": - optional: true - checksum: 10c0/89f0018fd9aee1fc17c85ac18c4bf8944d460d453d0d0e04ddbc8eaddf3fa591e9c74a1f8a438a1bff368a7a2417fab380bdb3df899d2194c4375b0982736de0 - 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" @@ -32077,7 +30748,7 @@ __metadata: languageName: node linkType: hard -"util@npm:^0.12.4, util@npm:^0.12.5": +"util@npm:^0.12.5": version: 0.12.5 resolution: "util@npm:0.12.5" dependencies: @@ -32512,16 +31183,6 @@ __metadata: languageName: node linkType: hard -"watchpack@npm:^2.2.0": - version: 2.3.1 - resolution: "watchpack@npm:2.3.1" - dependencies: - glob-to-regexp: "npm:^0.4.1" - graceful-fs: "npm:^4.1.2" - checksum: 10c0/00e44f5cc6ca299dd1ff52bf926a70a23ae1aeb6b399b7e32569d6d31ef1fc9bc3f5570ade6fef220dd6d74ee70259c9621b79cf487552caf1ea2727aa40f984 - languageName: node - linkType: hard - "wcwidth@npm:^1.0.0, wcwidth@npm:^1.0.1": version: 1.0.1 resolution: "wcwidth@npm:1.0.1" @@ -32955,15 +31616,6 @@ __metadata: languageName: node linkType: hard -"ws@npm:^6.1.0": - version: 6.2.2 - resolution: "ws@npm:6.2.2" - dependencies: - async-limiter: "npm:~1.0.0" - checksum: 10c0/d628a1e95668a296644b4f51ce5debb43d9f1d89ebb2e32fef205a685b9439378eb824d60ce3a40bbc3bad0e887d84a56b343f2076f48d74f17c4c0800c42967 - languageName: node - linkType: hard - "ws@npm:^8.11.0, ws@npm:^8.2.3": version: 8.13.0 resolution: "ws@npm:8.13.0" @@ -33267,16 +31919,6 @@ __metadata: languageName: node linkType: hard -"yauzl@npm:^2.10.0": - version: 2.10.0 - resolution: "yauzl@npm:2.10.0" - dependencies: - buffer-crc32: "npm:~0.2.3" - fd-slicer: "npm:~1.1.0" - checksum: 10c0/f265002af7541b9ec3589a27f5fb8f11cf348b53cc15e2751272e3c062cd73f3e715bc72d43257de71bbaecae446c3f1b14af7559e8ab0261625375541816422 - languageName: node - linkType: hard - "yn@npm:3.1.1": version: 3.1.1 resolution: "yn@npm:3.1.1" From 7814a355fba29dc0077228228b87db63b82a9d3f Mon Sep 17 00:00:00 2001 From: Robert Snow Date: Wed, 21 May 2025 10:33:26 +1000 Subject: [PATCH 02/10] install state with parcel-bundler-storybook local --- package.json | 3 + .../dev/parcel-config-storybook/package.json | 23 + .../storybook-config.json | 15 + .../StorybookResolver.ts | 54 ++ .../dev/parcel-resolver-storybook/index.js | 1 + .../parcel-resolver-storybook/package.json | 21 + .../StoryTransformer.ts | 280 +++++++++ .../parcel-transformer-storybook/csf-hmr.js | 150 +++++ .../dev/parcel-transformer-storybook/index.js | 1 + .../parcel-transformer-storybook/package.json | 25 + .../react-docgen-typescript.ts | 302 ++++++++++ .../dev/storybook-builder-parcel/.gitignore | 1 + .../gen-iframe-modern.js | 7 +- .../storybook-builder-parcel/gen-iframe.js | 60 -- .../gen-preview-modern.js | 116 ++-- .../storybook-builder-parcel/gen-preview.js | 116 ---- .../dev/storybook-builder-parcel/package.json | 35 +- .../dev/storybook-builder-parcel/preset.js | 47 +- .../dev/storybook-react-parcel/package.json | 6 +- packages/dev/storybook-react-parcel/preset.js | 4 +- patches/@types+lodash+4.14.194.patch | 20 - yarn.lock | 552 ++++++++++++++++-- 22 files changed, 1465 insertions(+), 374 deletions(-) create mode 100644 packages/dev/parcel-config-storybook/package.json create mode 100644 packages/dev/parcel-config-storybook/storybook-config.json create mode 100644 packages/dev/parcel-resolver-storybook/StorybookResolver.ts create mode 100644 packages/dev/parcel-resolver-storybook/index.js create mode 100644 packages/dev/parcel-resolver-storybook/package.json create mode 100644 packages/dev/parcel-transformer-storybook/StoryTransformer.ts create mode 100644 packages/dev/parcel-transformer-storybook/csf-hmr.js create mode 100644 packages/dev/parcel-transformer-storybook/index.js create mode 100644 packages/dev/parcel-transformer-storybook/package.json create mode 100644 packages/dev/parcel-transformer-storybook/react-docgen-typescript.ts create mode 100644 packages/dev/storybook-builder-parcel/.gitignore delete mode 100644 packages/dev/storybook-builder-parcel/gen-iframe.js delete mode 100644 packages/dev/storybook-builder-parcel/gen-preview.js delete mode 100644 patches/@types+lodash+4.14.194.patch diff --git a/package.json b/package.json index f08a9213a21..9884e9e5d05 100644 --- a/package.json +++ b/package.json @@ -263,6 +263,9 @@ "alias": { "@storybook/react-dom-shim": "@storybook/react-dom-shim/dist/react-18" }, + "@parcel/resolver-default": { + "packageExports": true + }, "@parcel/bundler-default": { "manualSharedBundles": [ { diff --git a/packages/dev/parcel-config-storybook/package.json b/packages/dev/parcel-config-storybook/package.json new file mode 100644 index 00000000000..02f767b82dd --- /dev/null +++ b/packages/dev/parcel-config-storybook/package.json @@ -0,0 +1,23 @@ +{ + "name": "@parcel/config-storybook", + "version": "0.0.2", + "main": "storybook-config.json", + "engines": { + "parcel": "^2.8.0" + }, + "publishConfig": { + "access": "public" + }, + "dependencies": { + "@parcel/config-default": "^2.13.1", + "@parcel/core": "^2.13.1", + "@parcel/resolver-storybook": "^0.0.0", + "@parcel/transformer-js": "^2.13.1", + "@parcel/transformer-react-refresh-wrap": "^2.13.1", + "@parcel/transformer-storybook": "^0.0.2" + }, + "scripts": { + "build": "true", + "clean": "true" + } +} diff --git a/packages/dev/parcel-config-storybook/storybook-config.json b/packages/dev/parcel-config-storybook/storybook-config.json new file mode 100644 index 00000000000..02f3229f3ac --- /dev/null +++ b/packages/dev/parcel-config-storybook/storybook-config.json @@ -0,0 +1,15 @@ +{ + "extends": "@parcel/config-default", + "resolvers": ["@parcel/resolver-storybook", "..."], + "transformers": { + "story:*": ["..."], + "*.stories.{ts,tsx,js,mjs,jsm,jsx,es6,cjs}": [ + "@parcel/transformer-storybook", + "@parcel/transformer-js" + ], + "*.{js,mjs,jsm,jsx,es6,cjs,ts,tsx}": [ + "@parcel/transformer-js", + "@parcel/transformer-react-refresh-wrap" + ] + } +} diff --git a/packages/dev/parcel-resolver-storybook/StorybookResolver.ts b/packages/dev/parcel-resolver-storybook/StorybookResolver.ts new file mode 100644 index 00000000000..ee4140d3f3a --- /dev/null +++ b/packages/dev/parcel-resolver-storybook/StorybookResolver.ts @@ -0,0 +1,54 @@ +import path from 'path'; +import { Resolver } from "@parcel/plugin"; +const reactVersion = require("react-dom/package.json").version; +import { default as NodeResolver } from "@parcel/node-resolver-core"; +// @ts-ignore +import { isGlob, glob, normalizeSeparators, relativePath } from '@parcel/utils'; + +const REACT_MAJOR_VERSION = parseInt(reactVersion.split('.')[0], 10); + +module.exports = new Resolver({ + async resolve({ dependency, options, specifier, pipeline, logger }) { + // Workaround for interop issue + if (specifier === "react-dom/client" && REACT_MAJOR_VERSION < 18) { + return { + filePath: __dirname + "/react.js", + code: ` + export * from 'react-dom'; + export * as default from 'react-dom' + `, + }; + } + + // Resolve story entry globs. Storybook expects an object with relative paths from the process cwd as keys. + // We do this in a resolver so that it invalidates the watcher when new stories are created. + if (pipeline === 'story') { + let sourceFile = dependency.resolveFrom ?? dependency.sourcePath!; + let normalized = normalizeSeparators(path.resolve(path.dirname(sourceFile), atob(specifier))); + let files = await glob(normalized, options.inputFS, { + onlyFiles: true, + }); + + let cwd = process.cwd(); + let dir = path.dirname(sourceFile); + let results = files.map(file => { + let key = relativePath(cwd, file); + let relative = relativePath(dir, file); + return ` ${JSON.stringify(key)}: () => import(${JSON.stringify(relative)}),\n`; + }); + + return { + filePath: path.join( + dir, + 'stories.js' + ), + code: `module.exports = {\n${results.join('\n')}\n};\n`, + invalidateOnFileCreate: [ + {glob: normalized} + ], + pipeline: null, + priority: 'sync', + }; + } + }, +}); diff --git a/packages/dev/parcel-resolver-storybook/index.js b/packages/dev/parcel-resolver-storybook/index.js new file mode 100644 index 00000000000..af5f97a5019 --- /dev/null +++ b/packages/dev/parcel-resolver-storybook/index.js @@ -0,0 +1 @@ +module.exports = require('./StorybookResolver.ts'); diff --git a/packages/dev/parcel-resolver-storybook/package.json b/packages/dev/parcel-resolver-storybook/package.json new file mode 100644 index 00000000000..4fe83cb4b3e --- /dev/null +++ b/packages/dev/parcel-resolver-storybook/package.json @@ -0,0 +1,21 @@ +{ + "name": "@parcel/resolver-storybook", + "version": "0.0.0", + "main": "dist/StorybookResolver.js", + "source": "StorybookResolver.ts", + "publishConfig": { + "access": "public" + }, + "engines": { + "parcel": "^2.8.0" + }, + "dependencies": { + "@parcel/core": "^2.13.1", + "@parcel/node-resolver-core": "^3.1.2", + "@parcel/plugin": "^2.10.2" + }, + "scripts": { + "build": "rm -rf dist && swc . -d dist --config-file ../../.swcrc", + "clean": "rm -rf dist" + } +} diff --git a/packages/dev/parcel-transformer-storybook/StoryTransformer.ts b/packages/dev/parcel-transformer-storybook/StoryTransformer.ts new file mode 100644 index 00000000000..b9ab1717597 --- /dev/null +++ b/packages/dev/parcel-transformer-storybook/StoryTransformer.ts @@ -0,0 +1,280 @@ +import { Transformer } from '@parcel/plugin'; +import { enrichCsf, formatCsf, babelParse, CsfFile } from '@storybook/csf-tools'; +import * as t from '@babel/types'; +import {parse} from '@babel/parser'; +import path from 'path'; +import crypto from 'crypto'; +import { getClient, getCacheDir } from './react-docgen-typescript'; +import {ComponentDoc} from 'react-docgen-typescript'; +import SourceMap from '@parcel/source-map'; + +module.exports = new Transformer({ + async transform({asset, options}) { + let docs: ComponentDoc | null = null; + if (asset.type === 'ts' || asset.type === 'tsx') { + let client = await getClient(options); + docs = await client.getDocs(asset.filePath); + } + let code = await asset.getCode(); + let name = options.hmrOptions ? `$parcel$ReactRefresh$${asset.id.slice(-4)}` : null; + let {code: compiledCode, rawMappings} = processCsf(code, asset.filePath, docs, name) as any; + + let map = new SourceMap(options.projectRoot); + if (rawMappings) { + map.addIndexedMappings(rawMappings); + } + + // Invalidate the asset whenever any types change. + asset.invalidateOnFileChange(path.join(getCacheDir(options), 'sentinel')); + asset.setCode(compiledCode); + asset.setMap(map); + return [asset]; + } +}); + +function processCsf(code: string, filePath: string, docs: ComponentDoc | null, refreshName: string | null) { + let ast = parse(code, { + sourceFilename: filePath, + sourceType: 'module', + plugins: ['typescript', 'jsx', 'importAttributes', 'classProperties'], + tokens: true + }); + + let csf = new CsfFile(ast, { + fileName: filePath, + makeTitle: title => title || 'default' + }).parse(); + enrichCsf(csf, csf); + + // Extract story functions into separate components. This enables React Fast Refresh to work properly. + let count = 0; + let addComponent = (node: t.Function) => { + let name = 'Story' + count++; + csf._ast.program.body.push(t.functionDeclaration( + t.identifier(name), + node.params.map(p => t.cloneNode(p)), + t.isExpression(node.body) ? t.blockStatement([t.returnStatement(node.body)]) : node.body + )); + node.body = t.blockStatement([ + t.returnStatement( + t.jsxElement( + t.jsxOpeningElement( + t.jsxIdentifier(name), + node.params.length && t.isIdentifier(node.params[0]) ? [t.jsxSpreadAttribute(t.cloneNode(node.params[0]))] : [], + true + ), + null, + [], + true + ) + ) + ]); + return name; + }; + + let handleRenderProperty = (node: t.ObjectExpression) => { + // CSF 3 style object story. Extract render function into a component. + let render = node.properties.find(p => (t.isObjectProperty(p) || t.isObjectMethod(p)) && t.isIdentifier(p.key) && p.key.name === 'render'); + if (render?.type === 'ObjectProperty' && t.isFunction(render.value)) { + let c = addComponent(render.value); + node.properties.push(t.objectProperty(t.identifier('_internalComponent'), t.identifier(c))); + } else if (render?.type === 'ObjectMethod') { + let c = addComponent(render); + node.properties.push(t.objectProperty(t.identifier('_internalComponent'), t.identifier(c))); + } else if (t.isObjectProperty(render) && render.value.type === 'Identifier') { + render.value = t.arrowFunctionExpression( + [t.identifier('args')], + t.jsxElement( + t.jsxOpeningElement( + t.jsxIdentifier(render.value.name), + [t.jsxSpreadAttribute(t.identifier('args'))], + true + ), + null, + [], + true + ) + ); + } + }; + + if (refreshName) { + for (let name in csf._storyExports) { + let node = csf.getStoryExport(name); + + // Generate a hash of the args and parameters. If this changes, we bail out of Fast Refresh. + let annotations = csf._storyAnnotations[name]; + let storyHash = ''; + if (annotations) { + let hash = crypto.createHash('md5'); + if (annotations.args) { + hash.update(code.slice(annotations.args.start!, annotations.args.end!)); + } + if (annotations.parameters) { + hash.update(code.slice(annotations.parameters.start!, annotations.parameters.end!)); + } + storyHash = hash.digest('hex'); + } + + if (t.isFunction(node)) { + // CSF 2 style function story. + let c = addComponent(node); + csf._ast.program.body.push(t.expressionStatement( + t.assignmentExpression( + '=', + t.memberExpression(t.identifier(name), t.identifier('_internalComponent')), + t.identifier(c) + ) + )); + + if (storyHash) { + csf._ast.program.body.push(t.expressionStatement( + t.assignmentExpression( + '=', + t.memberExpression(t.identifier(name), t.identifier('_hash')), + t.stringLiteral(storyHash) + ) + )); + } + } else if (node.type === 'ObjectExpression') { + handleRenderProperty(node); + if (storyHash) { + node.properties.push(t.objectProperty(t.identifier('_hash'), t.stringLiteral(storyHash))); + } + } + } + } + + // Hash the default export to invalidate Fast Refresh. + if (csf._metaNode?.type === 'ObjectExpression') { + if (docs) { + let component = csf._metaNode.properties.find(p => t.isObjectProperty(p) && t.isIdentifier(p.key) && p.key.name === 'component'); + if (t.isObjectProperty(component) && t.isExpression(component.value)) { + component.value = t.sequenceExpression([ + t.assignmentExpression('=', t.memberExpression(component.value, t.identifier('__docgenInfo')), t.valueToNode(docs)), + component.value + ]); + } + } + + + if (refreshName) { + handleRenderProperty(csf._metaNode); + + let hash = crypto.createHash('md5'); + hash.update(code.slice(csf._metaNode.start!, csf._metaNode.end!)); + hash.update(JSON.stringify(docs)); + let metaHash = hash.digest('hex'); + csf._metaNode.properties.push(t.objectProperty(t.identifier('_hash'), t.stringLiteral(metaHash))); + } + } + + if (refreshName) { + wrapRefresh(csf._ast.program, filePath, refreshName); + } + + // @ts-ignore + return formatCsf(csf, {sourceFileName: filePath, sourceMaps: true, importAttributesKeyword: 'with'}); +} + +function wrapRefresh(program: t.Program, filePath: string, refreshName: string) { + let wrapperPath = `${path.relative( + path.dirname(filePath), + __dirname, + )}/csf-hmr.js`; + + // Group imports, exports, and body statements which will be wrapped in a try...catch. + let imports: (t.ImportDeclaration | t.ExportDeclaration)[] = []; + let statements: t.Statement[] = []; + let exportVars: t.VariableDeclarator[] = []; + let exports: t.ExportSpecifier[] = []; + + for (let statement of program.body) { + if (t.isImportDeclaration(statement) || t.isExportAllDeclaration(statement)) { + imports.push(statement); + } else if (t.isExportNamedDeclaration(statement)) { + if (statement.exportKind === 'type' || statement.source) { + imports.push(statement); + } else if (statement.declaration) { + statements.push(statement.declaration); + for (let id in t.getOuterBindingIdentifiers(statement.declaration)) { + let name = refreshName + '$Export' + exportVars.length; + exportVars.push(t.variableDeclarator(t.identifier(name))); + exports.push(t.exportSpecifier(t.identifier(name), t.identifier(id))); + statements.push(t.expressionStatement(t.assignmentExpression('=', t.identifier(name), t.identifier(id)))); + } + } else if (statement.specifiers) { + for (let specifier of statement.specifiers) { + if (t.isExportSpecifier(specifier)) { + let name = refreshName + '$Export' + exportVars.length; + exportVars.push(t.variableDeclarator(t.identifier(name))); + exports.push(t.exportSpecifier(t.identifier(name), specifier.exported)); + statements.push(t.expressionStatement(t.assignmentExpression('=', t.identifier(name), specifier.local))); + } + } + } + } else if (t.isExportDefaultDeclaration(statement)) { + if (t.isExpression(statement.declaration)) { + let name = refreshName + '$Export' + exportVars.length; + exportVars.push(t.variableDeclarator(t.identifier(name))); + exports.push(t.exportSpecifier(t.identifier(name), t.identifier('default'))); + statements.push(t.expressionStatement(t.assignmentExpression('=', t.identifier(name), statement.declaration))); + } else { + statements.push(statement.declaration); + let name = refreshName + '$Export' + exportVars.length; + exportVars.push(t.variableDeclarator(t.identifier(name))); + exports.push(t.exportSpecifier(t.identifier(name), t.identifier('default'))); + } + } else { + statements.push(statement); + } + } + + program.body = [ + ...imports, + t.importDeclaration( + [t.importNamespaceSpecifier(t.identifier(refreshName + '$Helpers'))], + t.stringLiteral(wrapperPath) + ), + t.variableDeclaration('var', exportVars), + t.variableDeclaration('var', [ + t.variableDeclarator(t.identifier(refreshName + '$PrevRefreshReg'), t.memberExpression(t.identifier('window'), t.identifier('$RefreshReg$'))), + t.variableDeclarator(t.identifier(refreshName + '$PrevRefreshSig'), t.memberExpression(t.identifier('window'), t.identifier('$RefreshSig$'))) + ]), + t.expressionStatement( + t.callExpression( + t.memberExpression(t.identifier(refreshName + '$Helpers'), t.identifier('prelude')), + [t.identifier('module')] + ) + ), + t.tryStatement( + t.blockStatement([ + ...statements, + t.expressionStatement( + t.callExpression( + t.memberExpression(t.identifier(refreshName + '$Helpers'), t.identifier('postlude')), + [t.identifier('module')] + ) + ), + ]), + null, + t.blockStatement([ + t.expressionStatement( + t.assignmentExpression( + '=', + t.memberExpression(t.identifier('window'), t.identifier('$RefreshReg$')), + t.identifier(refreshName + '$PrevRefreshReg') + ), + ), + t.expressionStatement( + t.assignmentExpression( + '=', + t.memberExpression(t.identifier('window'), t.identifier('$RefreshSig$')), + t.identifier(refreshName + '$PrevRefreshSig') + ), + ), + ]) + ), + t.exportNamedDeclaration(null, exports) + ]; +} diff --git a/packages/dev/parcel-transformer-storybook/csf-hmr.js b/packages/dev/parcel-transformer-storybook/csf-hmr.js new file mode 100644 index 00000000000..7a6fc66b86b --- /dev/null +++ b/packages/dev/parcel-transformer-storybook/csf-hmr.js @@ -0,0 +1,150 @@ +"use strict"; + +var Refresh = require('react-refresh/runtime'); +function debounce(func, delay) { + if (process.env.NODE_ENV === 'test') { + return function (args) { + func.call(null, args); + }; + } else { + let timeout = undefined; + let lastTime = 0; + return function (args) { + // Call immediately if last call was more than the delay ago. + // Otherwise, set a timeout. This means the first call is fast + // (for the common case of a single update), and subsequent updates + // are batched. + let now = Date.now(); + if (now - lastTime > delay) { + lastTime = now; + func.call(null, args); + } else { + clearTimeout(timeout); + timeout = setTimeout(function () { + timeout = undefined; + lastTime = Date.now(); + func.call(null, args); + }, delay); + } + }; + } +} +var enqueueUpdate = debounce(function () { + Refresh.performReactRefresh(); +}, 30); + +// Everything below is either adapted or copied from +// https://github.com/facebook/metro/blob/61de16bd1edd7e738dd0311c89555a644023ab2d/packages/metro/src/lib/polyfills/require.js +// MIT License - Copyright (c) Facebook, Inc. and its affiliates. + +module.exports.prelude = function (module) { + window.$RefreshReg$ = function (type, id) { + Refresh.register(type, module.id + ' ' + id); + }; + window.$RefreshSig$ = Refresh.createSignatureFunctionForTransform; +}; +module.exports.postlude = function (module) { + registerExportsForReactRefresh(module); + if (module.hot) { + module.hot.dispose(function (data) { + if (Refresh.hasUnrecoverableErrors()) { + window.location.reload(); + } + data.prevExports = module.exports; + }); + module.hot.accept(function (getParents) { + var prevExports = module.hot.data.prevExports; + var nextExports = module.exports; + // It can also become ineligible if its exports are incompatible + // with the previous exports. + // For example, if you add/remove/change exports, we'll want + // to re-execute the importing modules, and force those components + // to re-render. Similarly, if you convert a class component + // to a function, we want to invalidate the boundary. + var didInvalidate = shouldInvalidateReactRefreshBoundary(prevExports, nextExports); + if (didInvalidate) { + // We'll be conservative. The only case in which we won't do a full + // reload is if all parent modules are also refresh boundaries. + // In that case we'll add them to the current queue. + var parents = getParents(); + if (parents.length === 0) { + // Looks like we bubbled to the root. Can't recover from that. + window.location.reload(); + return; + } + return parents; + } + enqueueUpdate(); + }); + } +}; + +function shouldInvalidateReactRefreshBoundary(prevExports, nextExports) { + var prevSignature = getRefreshBoundarySignature(prevExports); + var nextSignature = getRefreshBoundarySignature(nextExports); + if (prevSignature.length !== nextSignature.length) { + return true; + } + for (var i = 0; i < nextSignature.length; i++) { + if (prevSignature[i] !== nextSignature[i]) { + return true; + } + } + return false; +} + +// When this signature changes, it's unsafe to stop at this refresh boundary. +function getRefreshBoundarySignature(exports) { + let signature = []; + if (exports.default) { + // Full reload if story meta object changes. + signature.push(exports.default._hash); + } + + let isESM = ('__esModule' in exports); + for (let key in exports) { + if (key === '__esModule' || key === 'default') { + continue; + } + let desc = Object.getOwnPropertyDescriptor(exports, key); + if (desc && desc.get && !isESM) { + // Don't invoke getters for CJS as they may have side effects. + continue; + } + let exportValue = exports[key]; + let hash = exportValue?._hash; + if (exportValue && exportValue._internalComponent) { + exportValue = exportValue._internalComponent; + } + signature.push(key); + signature.push(Refresh.getFamilyByType(exportValue)); + signature.push(hash); + } + return signature; +} +function registerExportsForReactRefresh(module) { + var exports = module.exports, + id = module.id; + if (exports == null || typeof exports !== 'object') { + // Exit if we can't iterate over exports. + // (This is important for legacy environments.) + return; + } + let isESM = ('__esModule' in exports); + for (var key in exports) { + var desc = Object.getOwnPropertyDescriptor(exports, key); + if (desc && desc.get && !isESM) { + // Don't invoke getters for CJS as they may have side effects. + continue; + } + if (key === 'default') { + continue; + } + var exportValue = exports[key]; + if (exportValue && exportValue._internalComponent) { + exportValue = exportValue._internalComponent; + } + var typeID = id + ' %exports% ' + key; + Refresh.register(exportValue, typeID); + } +} diff --git a/packages/dev/parcel-transformer-storybook/index.js b/packages/dev/parcel-transformer-storybook/index.js new file mode 100644 index 00000000000..7b14abcf142 --- /dev/null +++ b/packages/dev/parcel-transformer-storybook/index.js @@ -0,0 +1 @@ +module.exports = require('./StoryTransformer.ts'); diff --git a/packages/dev/parcel-transformer-storybook/package.json b/packages/dev/parcel-transformer-storybook/package.json new file mode 100644 index 00000000000..0865a1d8691 --- /dev/null +++ b/packages/dev/parcel-transformer-storybook/package.json @@ -0,0 +1,25 @@ +{ + "name": "@parcel/transformer-storybook", + "version": "0.0.2", + "main": "dist/StoryTransformer.js", + "source": "StoryTransformer.ts", + "engines": { + "parcel": "^2.8.0" + }, + "publishConfig": { + "access": "public" + }, + "dependencies": { + "@babel/parser": "^7.23.0", + "@babel/types": "^7.23.0", + "@parcel/plugin": "^2.10.2", + "@storybook/csf-tools": "^7", + "@storybook/docs-tools": "^7", + "react-docgen-typescript": "^2.2.2", + "typescript": "^5.5.0" + }, + "scripts": { + "build": "rm -rf dist && swc . -d dist --config-file ../../.swcrc", + "clean": "rm -rf dist" + } +} diff --git a/packages/dev/parcel-transformer-storybook/react-docgen-typescript.ts b/packages/dev/parcel-transformer-storybook/react-docgen-typescript.ts new file mode 100644 index 00000000000..2df8f383f9e --- /dev/null +++ b/packages/dev/parcel-transformer-storybook/react-docgen-typescript.ts @@ -0,0 +1,302 @@ +import path from 'path'; +import ts from 'typescript'; +import {ComponentDoc, Parser} from 'react-docgen-typescript'; +import net from 'net'; +import fs from 'fs'; +import type {PluginOptions} from '@parcel/types'; + +export function getCacheDir(options: PluginOptions) { + return path.join(options.projectRoot, 'node_modules', '.cache', 'docgen'); +} + +function getSocketPath(options: PluginOptions) { + return process.platform === 'win32' ? path.join('\\\\?\\pipe', getCacheDir(options), options.instanceId) : path.join(getCacheDir(options), options.instanceId); +} + +// TypeScript is single threaded, but Parcel is multi-threaded. +// Create an IPC service that all Parcel threads will communicate with via a socket. +async function createService(options: PluginOptions) { + let dir = getCacheDir(options); + fs.mkdirSync(dir, {recursive: true}); + + let requested = new Map(); + let server = net.createServer((socket) => { + // Protocol is newline delimited JSON. + let buf = ''; + socket.on('data', data => { + buf += data.toString(); + + while (true) { + let index = buf.indexOf('\n'); + if (index < 0) { + break; + } + + let line = buf.slice(0, index); + buf = buf.slice(index + 1); + + let request = JSON.parse(line); + let docs = requested.get(request.path); + if (!docs) { + docs = parseStory(program, request.path); + requested.set(request.path, docs); + } + socket.write(JSON.stringify({req: request.req, res: docs}) + '\n'); + } + }); + + socket.on('error', () => {}); + }); + + await new Promise((resolve, reject) => { + let sock = getSocketPath(options); + server.listen(sock, () => resolve()); + server.on('error', e => { + // @ts-ignore + if (e.code === 'EEXIST') { + // If the file already exists, but is not in use, delete it and try again. + fs.unlinkSync(sock); + server.listen(sock, () => resolve()); + } else { + reject(e); + } + }); + }); + + let compilerOptions = { + jsx: ts.JsxEmit.React, + module: ts.ModuleKind.CommonJS, + target: ts.ScriptTarget.Latest + }; + + let program: ts.Program; + if (options.hmrOptions) { + let host = ts.createWatchCompilerHost( + './tsconfig.json', + compilerOptions, + ts.sys, + ts.createSemanticDiagnosticsBuilderProgram, + undefined, + () => {} + ); + + // Write a sentinel file when TypeScript updates. + // This will cause Parcel to update everything that depends on it. + host.afterProgramCreate = (p) => { + program = p.getProgram(); + let changed = false; + for (let [path, docs] of requested) { + let newDocs = parseStory(program, path); + if (JSON.stringify(docs) !== JSON.stringify(newDocs)) { + changed = true; + requested.set(path, newDocs); + } + } + if (changed) { + fs.writeFileSync(path.join(dir, 'sentinel'), Date.now().toString()); + } + }; + + let watch = ts.createWatchProgram(host); + program = watch.getProgram().getProgram(); + } else { + let {fileNames, options: tsOptions} = getTSConfigFile('./tsconfig.json'); + compilerOptions = { + ...compilerOptions, + ...tsOptions + }; + + program = ts.createProgram(fileNames, compilerOptions); + } +} + +function parseStory(program: ts.Program, filePath: string) { + // TODO: move this into a config file? + let excludedProps = new Set([ + 'id', + 'slot', + 'onCopy', + 'onCut', + 'onPaste', + 'onCompositionStart', + 'onCompositionEnd', + 'onCompositionUpdate', + 'onSelect', + 'onBeforeInput', + 'onInput', + 'onKeyDown', + 'onKeyUp', + 'onHoverStart', + 'onHoverEnd', + 'onHoverChange', + 'onFocus', + 'onBlur', + 'onFocusChange', + 'onScroll' + ]); + + let parser = new Parser(program, { + shouldExtractLiteralValuesFromEnum: true, + shouldRemoveUndefinedFromOptional: true, + propFilter: (prop) => !prop.name.startsWith('aria-') && !excludedProps.has(prop.name) + }); + + let checker = program.getTypeChecker(); + let sourceFile = program.getSourceFile(filePath); + if (!sourceFile) { + return null; + } + + let moduleSymbol = checker.getSymbolAtLocation(sourceFile); + if (!moduleSymbol) { + return null; + } + + // Find the default export of the story file. + let exports = checker.getExportsOfModule(moduleSymbol); + let symbol = exports.find(s => s.getName() === 'default'); + if (!symbol) { + return null; + } + + // Resolve the value. + let decl: ts.Node | undefined = symbol.valueDeclaration || symbol.declarations?.[0]; + if (decl && ts.isExportAssignment(decl)) { + symbol = checker.getSymbolAtLocation(decl.expression); + if (!symbol) { + return null; + } + } + + decl = symbol.valueDeclaration || symbol.declarations?.[0]; + if (!decl) { + return null; + } + + if (decl && ts.isVariableDeclaration(decl)) { + decl = decl.initializer; + } + + if (decl && ts.isObjectLiteralExpression(decl)) { + // Find the component property, and follow it to the original definition. + let component = decl.properties.find(p => p.name && ts.isIdentifier(p.name) && p.name.text === 'component'); + if (component && ts.isPropertyAssignment(component)) { + symbol = checker.getSymbolAtLocation(component.initializer); + if (symbol) { + let info = parser.getComponentInfo(symbol, sourceFile); + if (info) { + sortProps(info); + } + return info; + } + } + } + + return null; +} + +function sortProps(doc: ComponentDoc) { + // Sort props + doc.props = Object.fromEntries(Object.entries(doc.props).sort(([, a], [, b]) => { + // Required props first + if (a.required !== b.required) { + return a.required ? -1 : 1; + } + // Props from node_modules last. + if (a.parent?.fileName.includes('node_modules') !== b.parent?.fileName.includes('node_modules')) { + return a.parent?.fileName.includes('node_modules') ? 1 : -1; + } + // Events last. + if (/^on[A-Z]/.test(a.name) !== /^on[A-Z]/.test(b.name)) { + return /^on[A-Z]/.test(a.name) ? 1 : -1; + } + // Alphabetical. + return a.name.localeCompare(b.name); + })); +} + +export interface Client { + getDocs(path: string): Promise +} + +function createClient(options: PluginOptions): Promise { + return new Promise(resolve => { + let i = 0; + let waiting = new Map(); + let client = net.createConnection({path: getSocketPath(options)}, () => { + resolve({ + getDocs(path: string) { + // Queue a new request. + let req = i++; + return new Promise(resolve => { + waiting.set(req, resolve); + client.write(JSON.stringify({req, path}) + '\n'); + }); + } + }); + }); + + // Protocol is newline delimited JSON. + let buf = ''; + client.on('data', data => { + buf += data.toString(); + + while (true) { + let index = buf.indexOf('\n'); + if (index < 0) { + break; + } + + let line = buf.slice(0, index); + buf = buf.slice(index + 1); + + let response = JSON.parse(line); + let resolve = waiting.get(response.req); + if (resolve) { + resolve(response.res); + } + } + }); + + client.on('error', () => {}); + }); +} + +let clients = new Map(); +export async function getClient(options: PluginOptions): Promise { + let client = clients.get(options.instanceId); + if (client) { + return client; + } + + try { + await createService(options); + } catch (err) { + if (err.code !== 'EADDRINUSE') { + throw err; + } + } + + client = await createClient(options); + clients.set(options.instanceId, client); + return client; +} + +// Based on https://github.com/hipstersmoothie/react-docgen-typescript-plugin +// MIT license. +function getTSConfigFile(tsconfigPath: string): ts.ParsedCommandLine { + try { + const basePath = path.dirname(tsconfigPath); + const configFile = ts.readConfigFile(tsconfigPath, ts.sys.readFile); + + return ts.parseJsonConfigFileContent( + configFile.config, + ts.sys, + basePath, + {}, + tsconfigPath + ); + } catch { + return {} as ts.ParsedCommandLine; + } +} diff --git a/packages/dev/storybook-builder-parcel/.gitignore b/packages/dev/storybook-builder-parcel/.gitignore new file mode 100644 index 00000000000..ae113baf626 --- /dev/null +++ b/packages/dev/storybook-builder-parcel/.gitignore @@ -0,0 +1 @@ +generated-entries/ \ No newline at end of file diff --git a/packages/dev/storybook-builder-parcel/gen-iframe-modern.js b/packages/dev/storybook-builder-parcel/gen-iframe-modern.js index 8781f0a4059..005de57e712 100644 --- a/packages/dev/storybook-builder-parcel/gen-iframe-modern.js +++ b/packages/dev/storybook-builder-parcel/gen-iframe-modern.js @@ -15,18 +15,13 @@ const TEMPLATE = ` window.STORIES = '[STORIES HERE]'; window.DOCS_OPTIONS = '[DOCS_OPTIONS HERE]'; window.SERVER_CHANNEL_URL = '[SERVER_CHANNEL_URL HERE]'; - - // We do this so that "module && module.hot" etc. in Storybook source code - // doesn't fail (it will simply be disabled) - window.module = undefined; - +

- diff --git a/packages/dev/storybook-builder-parcel/gen-iframe.js b/packages/dev/storybook-builder-parcel/gen-iframe.js deleted file mode 100644 index f3b8953c040..00000000000 --- a/packages/dev/storybook-builder-parcel/gen-iframe.js +++ /dev/null @@ -1,60 +0,0 @@ -const { normalizeStories } = require("@storybook/core-common"); - -module.exports.generateIframe = async function generateIframe(options) { - const { configType, features, framework, presets, serverChannelUrl, title } = - options; - const headHtmlSnippet = await presets.apply("previewHead"); - const bodyHtmlSnippet = await presets.apply("previewBody"); - const logLevel = await presets.apply("logLevel", undefined); - const frameworkOptions = await presets.apply(`${framework}Options`, {}); - const coreOptions = await presets.apply("core"); - const stories = normalizeStories( - await options.presets.apply("stories", [], options), - { - configDir: options.configDir, - workingDir: process.cwd(), - } - ).map((specifier) => ({ - ...specifier, - importPathMatcher: specifier.importPathMatcher.source, - })); - - let code = ` - - - - - ${title || "Storybook"} - - - ${headHtmlSnippet || ""} - - - - ${bodyHtmlSnippet || ""} -
-
- - - - `; - - return code; -}; diff --git a/packages/dev/storybook-builder-parcel/gen-preview-modern.js b/packages/dev/storybook-builder-parcel/gen-preview-modern.js index 92dde16c466..fb9f19b2ff0 100644 --- a/packages/dev/storybook-builder-parcel/gen-preview-modern.js +++ b/packages/dev/storybook-builder-parcel/gen-preview-modern.js @@ -1,22 +1,16 @@ const path = require("path"); const { loadPreviewOrConfigFile, - getFrameworkName, normalizeStories, stripAbsNodeModulesPath, } = require("@storybook/core-common"); -const { logger } = require("@storybook/node-logger"); -const { promise: glob } = require("glob-promise"); - -const absoluteToSpecifier = (generatedEntries, abs) => - "./" + path.relative(generatedEntries, abs); +const {relativePath} = require('@parcel/utils'); module.exports.generatePreviewModern = async function generatePreviewModern( options, generatedEntries ) { const { presets, configDir } = options; - const frameworkName = await getFrameworkName(options); const previewAnnotations = await presets.apply( "previewAnnotations", @@ -25,39 +19,12 @@ module.exports.generatePreviewModern = async function generatePreviewModern( ); const relativePreviewAnnotations = [ ...previewAnnotations.map(processPreviewAnnotation), - absoluteToSpecifier( + relativePath( generatedEntries, loadPreviewOrConfigFile({ configDir }) ), ].filter(Boolean); - const generateHMRHandler = (frameworkName) => { - // Web components are not compatible with HMR, so disable HMR, reload page instead. - if (frameworkName === "@storybook/web-components-vite") { - return ` - if (import.meta.hot) { - import.meta.hot.decline(); - }`.trim(); - } - - return ` - if (import.meta.hot) { - import.meta.hot.accept('${virtualStoriesFile}', (newModule) => { - // importFn has changed so we need to patch the new one in - preview.onStoriesChanged({ importFn: newModule.importFn }); - }); - - import.meta.hot.accept(${JSON.stringify( - relativePreviewAnnotations - )}, ([...newConfigEntries]) => { - const newGetProjectAnnotations = () => composeConfigs(newConfigEntries); - - // getProjectAnnotations has changed so we need to patch the new one in - preview.onGetProjectAnnotationsChanged({ getProjectAnnotations: newGetProjectAnnotations }); - }); - }`.trim(); - }; - /** * This code is largely taken from https://github.com/storybookjs/storybook/blob/d1195cbd0c61687f1720fefdb772e2f490a46584/lib/builder-webpack4/src/preview/virtualModuleModernEntry.js.handlebars * Some small tweaks were made to `getProjectAnnotations` (since `import()` needs to be resolved asynchronously) @@ -65,21 +32,26 @@ module.exports.generatePreviewModern = async function generatePreviewModern( * @todo Inline variable and remove `noinspection` */ const code = ` - import { composeConfigs, PreviewWeb, ClientApi } from '@storybook/preview-api'; + import { setup } from 'storybook/internal/preview/runtime'; + + setup(); - // generateAddonSetupCode - import { createBrowserChannel } from '@storybook/channels'; - import { addons } from '@storybook/preview-api'; + import { createBrowserChannel } from 'storybook/internal/channels'; + import { addons } from 'storybook/internal/preview-api'; const channel = createBrowserChannel({ page: 'preview' }); addons.setChannel(channel); window.__STORYBOOK_ADDONS_CHANNEL__ = channel; - ${ - // import { importFn } from '${virtualStoriesFile}'; - await generateImportFnScriptCode(options, generatedEntries) + if (window.CONFIG_TYPE === 'DEVELOPMENT'){ + window.__STORYBOOK_SERVER_CHANNEL__ = channel; } + import { composeConfigs, PreviewWeb } from 'storybook/internal/preview-api'; + import { isPreview } from 'storybook/internal/csf'; + + ${await generateImportFnScriptCode(options, generatedEntries)} + const getProjectAnnotations = async () => { const configs = await Promise.all([${relativePreviewAnnotations .map((previewAnnotation) => `import('${previewAnnotation}')`) @@ -87,15 +59,20 @@ module.exports.generatePreviewModern = async function generatePreviewModern( return composeConfigs(configs); } - const preview = new PreviewWeb(); - window.__STORYBOOK_PREVIEW__ = preview; - window.__STORYBOOK_STORY_STORE__ = preview.storyStore; - window.__STORYBOOK_CLIENT_API__ = new ClientApi({ storyStore: preview.storyStore }); + window.__STORYBOOK_PREVIEW__ = window.__STORYBOOK_PREVIEW__ || new PreviewWeb(importFn, getProjectAnnotations); - preview.initialize({ importFn, getProjectAnnotations }); + window.__STORYBOOK_STORY_STORE__ = window.__STORYBOOK_STORY_STORE__ || window.__STORYBOOK_PREVIEW__.storyStore; - `; + + module.hot.accept(() => { + // importFn has changed so we need to patch the new one in + window.__STORYBOOK_PREVIEW__.onStoriesChanged({ importFn }); + + // getProjectAnnotations has changed so we need to patch the new one in + window.__STORYBOOK_PREVIEW__.onGetProjectAnnotationsChanged({ getProjectAnnotations }); + }); + `; // ${generateHMRHandler(frameworkName)}; return code; }; @@ -133,15 +110,6 @@ function processPreviewAnnotation(path) { * This file is largely based on https://github.com/storybookjs/storybook/blob/d1195cbd0c61687f1720fefdb772e2f490a46584/lib/core-common/src/utils/to-importFn.ts */ -/** - * Paths get passed either with no leading './' - e.g. `src/Foo.stories.js`, - * or with a leading `../` (etc), e.g. `../src/Foo.stories.js`. - * We want to deal in importPaths relative to the working dir, so we normalize - */ -function toImportPath(relativePath) { - return relativePath.startsWith("../") ? relativePath : `./${relativePath}`; -} - /** * This function takes an array of stories and creates a mapping between the stories' relative paths * to the working directory and their dynamic imports. The import is done in an asynchronous function @@ -150,34 +118,24 @@ function toImportPath(relativePath) { * @param stories An array of absolute story paths. */ async function toImportFn(stories, generatedEntries) { - const objectEntries = stories.map((file) => { - const ext = path.extname(file); - const relativePath = /*normalizePath*/ path.relative(process.cwd(), file); - if (![".js", ".jsx", ".ts", ".tsx", ".mdx"].includes(ext)) { - logger.warn( - `Cannot process ${ext} file with storyStoreV7: ${relativePath}` - ); - } - - return ` '${toImportPath( - relativePath - )}': async () => import('${absoluteToSpecifier(generatedEntries, file)}')`; + const entries = stories.map(glob => { + return `...import(${JSON.stringify('story:' + btoa(relativePath(generatedEntries, glob)))})`; }); return ` const importers = { - ${objectEntries.join(",\n")} + ${entries.join(',\n')} }; async function importFn(path) { - return importers[path](); + return importers[path](); } `; } async function generateImportFnScriptCode(options, generatedEntries) { // First we need to get an array of stories and their absolute paths. - const stories = await listStories(options); + let stories = await listStories(options); // We can then call toImportFn to create a function that can be used to load each story dynamically. return (await toImportFn(stories, generatedEntries)).trim(); @@ -190,16 +148,10 @@ async function listStories(options) { configDir: options.configDir, workingDir: options.configDir, }).map(({ directory, files }) => { - const pattern = path.join(directory, files); - - return glob( - path.isAbsolute(pattern) - ? pattern - : path.join(options.configDir, pattern), - { - follow: true, - } - ); + let pattern = path.join(directory, files); + return path.isAbsolute(pattern) + ? pattern + : path.join(options.configDir, pattern); }) ) ).reduce((carry, stories) => carry.concat(stories), []); diff --git a/packages/dev/storybook-builder-parcel/gen-preview.js b/packages/dev/storybook-builder-parcel/gen-preview.js deleted file mode 100644 index d9ebd6d1fb7..00000000000 --- a/packages/dev/storybook-builder-parcel/gen-preview.js +++ /dev/null @@ -1,116 +0,0 @@ -const path = require("path"); -const { - normalizeStories, - loadPreviewOrConfigFile, -} = require("@storybook/core-common"); - -module.exports.generatePreview = async function generatePreview( - options, - generatedEntries -) { - let { presets } = options; - let configs = [ - ...(await presets.apply("config", [], options)), - loadPreviewOrConfigFile(options), - ].filter(Boolean); - let stories = normalizeStories(await presets.apply("stories", [], options), { - configDir: options.configDir, - workingDir: process.cwd(), - }); - - let dir = path.relative( - generatedEntries, - path.join(process.cwd(), stories[0].directory) - ); - let files = stories[0].files; - - let code = ` - import 'regenerator-runtime'; - import {configure} from '@storybook/react'; - import { - addDecorator, - addParameters, - addLoader, - addArgTypesEnhancer, - addArgsEnhancer - } from '@storybook/preview-api'; - import { logger } from '@storybook/client-logger'; - import * as stories from '${path.join(dir, files)}'; - ${configs - .map( - (config, i) => - `import * as config_${i} from '${path.relative( - generatedEntries, - config - )}';` - ) - .join("\n")} - let configs = [${configs.map((_, i) => `config_${i}`)}]; - - configs.forEach(config => { - Object.keys(config).forEach((key) => { - const value = config[key]; - switch (key) { - case 'args': - case 'argTypes': { - return logger.warn('Invalid args/argTypes in config, ignoring.', JSON.stringify(value)); - } - case 'decorators': { - return value.forEach((decorator) => addDecorator(decorator, false)); - } - case 'loaders': { - return value.forEach((loader) => addLoader(loader, false)); - } - case 'parameters': { - return addParameters({ ...value }, false); - } - case 'argTypesEnhancers': { - return value.forEach((enhancer) => addArgTypesEnhancer(enhancer)); - } - case 'argsEnhancers': { - return value.forEach((enhancer) => addArgsEnhancer(enhancer)) - } - case 'globals': - case 'globalTypes': { - const v = {}; - v[key] = value; - return addParameters(v, false); - } - case 'decorateStory': - case 'renderToDOM': - case 'render': { - return null; // This key is not handled directly in v6 mode. - } - default: { - // eslint-disable-next-line prefer-template - return console.log(key + ' was not supported :( !'); - } - } - }); - }); - - let keyMap = {}; - function walk(obj, key) { - for (let k in obj) { - if (k === 'tsx' || k === 'ts' || k === 'js' || k === 'jsx') { - keyMap[key + '.' + k] = obj[k]; - } else { - walk(obj[k], (key ? key + '/' : '') + k); - } - } - } - - walk(stories); - - function context(key) { - return keyMap[key]; - } - - context.keys = () => Object.keys(keyMap); - context.resolve = (key) => key; - - configure(context, module, false); - `; - - return code; -}; diff --git a/packages/dev/storybook-builder-parcel/package.json b/packages/dev/storybook-builder-parcel/package.json index 507030f22fa..a28d2ccb70e 100644 --- a/packages/dev/storybook-builder-parcel/package.json +++ b/packages/dev/storybook-builder-parcel/package.json @@ -1,16 +1,23 @@ { - "name": "storybook-builder-parcel", - "version": "0.0.0", - "main": "preset.js", - "oldDeps": { - "@storybook/core-common": "^8.6.7" - }, - "dependencies": { - "@storybook/core-common": "^8.6.7", - "http-proxy-middleware": "^2.0.6" - }, - "peerDependencies": { - "@parcel/core": "^2.0.0", - "react": "*" - } + "name": "storybook-builder-parcel", + "version": "0.0.1", + "main": "preset.js", + "dependencies": { + "@parcel/core": "^2.13.1", + "@parcel/reporter-cli": "^2.13.1", + "@storybook/channels": "^8.6.7", + "@storybook/client-logger": "^8.6.7", + "@storybook/core-common": "^8.6.7", + "@storybook/preview": "^8.6.7", + "@storybook/preview-api": "^8.6.7", + "http-proxy-middleware": "^2.0.6", + "storybook": "^8.6.7" + }, + "peerDependencies": { + "react": "*" + }, + "scripts": { + "build": "true", + "clean": "true" + } } diff --git a/packages/dev/storybook-builder-parcel/preset.js b/packages/dev/storybook-builder-parcel/preset.js index b2076be6b23..0ae11c69d0e 100644 --- a/packages/dev/storybook-builder-parcel/preset.js +++ b/packages/dev/storybook-builder-parcel/preset.js @@ -1,16 +1,10 @@ const { Parcel } = require("@parcel/core"); const path = require("path"); const { createProxyMiddleware } = require("http-proxy-middleware"); -const { - normalizeStories, - loadPreviewOrConfigFile, -} = require("@storybook/core-common"); const fs = require("fs"); const { generateIframeModern } = require("./gen-iframe-modern.js"); -const { generateIframe } = require("./gen-iframe.js"); const { generatePreviewModern } = require("./gen-preview-modern.js"); -const { generatePreview } = require("./gen-preview.js"); const generatedEntries = path.join(__dirname, "generated-entries"); @@ -79,25 +73,14 @@ exports.bail = async () => {}; async function createParcel(options, isDev = false) { fs.mkdirSync(generatedEntries, { recursive: true }); - if (options.features?.storyStoreV7) { - fs.writeFileSync( - path.join(generatedEntries, "iframe.html"), - await generateIframeModern(options, generatedEntries) - ); - fs.writeFileSync( - path.join(generatedEntries, "preview.js"), - await generatePreviewModern(options, generatedEntries) - ); - } else { - fs.writeFileSync( - path.join(generatedEntries, "iframe.html"), - await generateIframe(options, generatedEntries) - ); - fs.writeFileSync( - path.join(generatedEntries, "preview.js"), - await generatePreview(options, generatedEntries) - ); - } + fs.writeFileSync( + path.join(generatedEntries, "iframe.html"), + await generateIframeModern(options, generatedEntries) + ); + fs.writeFileSync( + path.join(generatedEntries, "preview.js"), + await generatePreviewModern(options, generatedEntries) + ); return new Parcel({ entries: path.join(generatedEntries, "iframe.html"), @@ -119,10 +102,14 @@ async function createParcel(options, isDev = false) { resolveFrom: __filename, }, ], - defaultTargetOptions: { - distDir: options.outputDir, - publicUrl: "./", - shouldScopeHoist: isDev ? false : true, - }, + targets: { + storybook: { + distDir: options.outputDir, + publicUrl: "./", + engines: { + browsers: ['last 2 Chrome version', 'last 2 Safari versions', 'last 2 Edge version', 'last 2 Firefox versions'] + } + } + } }); } diff --git a/packages/dev/storybook-react-parcel/package.json b/packages/dev/storybook-react-parcel/package.json index 5dec7866e00..605ea907d2e 100644 --- a/packages/dev/storybook-react-parcel/package.json +++ b/packages/dev/storybook-react-parcel/package.json @@ -4,12 +4,10 @@ "main": "preset.js", "dependencies": { "@storybook/react": "^8.6.7", - "storybook-builder-parcel": "workspace:^" - }, - "peerDependencies": { "react": "^18.2.0", "react-dom": "^18.2.0", - "storybook": "^8.6.7" + "storybook": "^8.6.7", + "storybook-builder-parcel": "^0.0.1" }, "scripts": { "build": "true", diff --git a/packages/dev/storybook-react-parcel/preset.js b/packages/dev/storybook-react-parcel/preset.js index 23efab859db..b7149e91257 100644 --- a/packages/dev/storybook-react-parcel/preset.js +++ b/packages/dev/storybook-react-parcel/preset.js @@ -1,4 +1,4 @@ module.exports.core = { - builder: 'storybook-builder-parcel', - renderer: '@storybook/react' + builder: "storybook-builder-parcel", + renderer: "@storybook/react", }; diff --git a/patches/@types+lodash+4.14.194.patch b/patches/@types+lodash+4.14.194.patch deleted file mode 100644 index 3c1862c715f..00000000000 --- a/patches/@types+lodash+4.14.194.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/node_modules/@types/lodash/index.d.ts b/node_modules/@types/lodash/index.d.ts -index 8d1ec9f..0d4b05f 100755 ---- a/node_modules/@types/lodash/index.d.ts -+++ b/node_modules/@types/lodash/index.d.ts -@@ -31,15 +31,3 @@ declare namespace _ { - // tslint:disable-next-line no-empty-interface (This will be augmented) - interface LoDashStatic {} - } -- --// Backward compatibility with --target es5 --declare global { -- // tslint:disable-next-line:no-empty-interface -- interface Set { } -- // tslint:disable-next-line:no-empty-interface -- interface Map { } -- // tslint:disable-next-line:no-empty-interface -- interface WeakSet { } -- // tslint:disable-next-line:no-empty-interface -- interface WeakMap { } --} diff --git a/yarn.lock b/yarn.lock index f9b3dabe1f5..17e6d5d9e6c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4052,6 +4052,13 @@ __metadata: languageName: node linkType: hard +"@lezer/common@npm:^1.0.0": + version: 1.2.3 + resolution: "@lezer/common@npm:1.2.3" + checksum: 10c0/fe9f8e111080ef94037a34ca2af1221c8d01c1763ba5ecf708a286185c76119509a5d19d924c8842172716716ddce22d7834394670c4a9432f0ba9f3b7c0f50d + languageName: node + linkType: hard + "@lezer/lr@npm:^0.15.4": version: 0.15.8 resolution: "@lezer/lr@npm:0.15.8" @@ -4061,6 +4068,15 @@ __metadata: languageName: node linkType: hard +"@lezer/lr@npm:^1.0.0": + version: 1.4.2 + resolution: "@lezer/lr@npm:1.4.2" + dependencies: + "@lezer/common": "npm:^1.0.0" + checksum: 10c0/22bb5d0d4b33d0de5eb0706b7e5b5f2d20f570e112d9110009bd35b62ff10f2eb4eff8da4cf373dd4ddf5e06a304120b8f039add7ed9997c981c13945d5329cd + languageName: node + linkType: hard + "@lmdb/lmdb-darwin-arm64@npm:2.8.5": version: 2.8.5 resolution: "@lmdb/lmdb-darwin-arm64@npm:2.8.5" @@ -4163,6 +4179,17 @@ __metadata: languageName: node linkType: hard +"@mischnic/json-sourcemap@npm:^0.1.1": + version: 0.1.1 + resolution: "@mischnic/json-sourcemap@npm:0.1.1" + dependencies: + "@lezer/common": "npm:^1.0.0" + "@lezer/lr": "npm:^1.0.0" + json5: "npm:^2.2.1" + checksum: 10c0/e2e314fc048a16baedb10ec4d517c2622e464b8a9f8481cd4c008ebdabed1e5167a8f1407e06a14bb89f035addbb13851c1c5b6672ef8e089205f7f6d300cdd8 + languageName: node + linkType: hard + "@mrmlnc/readdir-enhanced@npm:^2.2.1": version: 2.2.1 resolution: "@mrmlnc/readdir-enhanced@npm:2.2.1" @@ -4427,6 +4454,20 @@ __metadata: languageName: node linkType: hard +"@parcel/cache@npm:2.15.1": + version: 2.15.1 + resolution: "@parcel/cache@npm:2.15.1" + dependencies: + "@parcel/fs": "npm:2.15.1" + "@parcel/logger": "npm:2.15.1" + "@parcel/utils": "npm:2.15.1" + lmdb: "npm:2.8.5" + peerDependencies: + "@parcel/core": ^2.15.1 + checksum: 10c0/dad7724904b27f2c8dc0ce8cbe0b695af9a7e60be8d19f62b1169d30a8c60013a2f3b911f130e929cb399264b0e94ac1c8bff38b81ea177c2f07d0436f076d4f + languageName: node + linkType: hard + "@parcel/codeframe@npm:2.14.0": version: 2.14.0 resolution: "@parcel/codeframe@npm:2.14.0" @@ -4436,6 +4477,15 @@ __metadata: languageName: node linkType: hard +"@parcel/codeframe@npm:2.15.1": + version: 2.15.1 + resolution: "@parcel/codeframe@npm:2.15.1" + dependencies: + chalk: "npm:^4.1.2" + checksum: 10c0/a7e31b33667fc1468cbe9a9bf147446e02bd395d9523fd8efdafe8e11a30a0aaa083468c1704b61a1ed5f6271edb90f62815625743197ed1684908ac7b6d2751 + languageName: node + linkType: hard + "@parcel/compressor-raw@npm:2.14.0, @parcel/compressor-raw@npm:^2.14.0": version: 2.14.0 resolution: "@parcel/compressor-raw@npm:2.14.0" @@ -4500,6 +4550,19 @@ __metadata: languageName: node linkType: hard +"@parcel/config-storybook@workspace:packages/dev/parcel-config-storybook": + version: 0.0.0-use.local + resolution: "@parcel/config-storybook@workspace:packages/dev/parcel-config-storybook" + dependencies: + "@parcel/config-default": "npm:^2.13.1" + "@parcel/core": "npm:^2.13.1" + "@parcel/resolver-storybook": "npm:^0.0.0" + "@parcel/transformer-js": "npm:^2.13.1" + "@parcel/transformer-react-refresh-wrap": "npm:^2.13.1" + "@parcel/transformer-storybook": "npm:^0.0.2" + languageName: unknown + linkType: soft + "@parcel/core@npm:2.14.0, @parcel/core@npm:^2.14.0": version: 2.14.0 resolution: "@parcel/core@npm:2.14.0" @@ -4533,6 +4596,39 @@ __metadata: languageName: node linkType: hard +"@parcel/core@npm:^2.13.1": + version: 2.15.1 + resolution: "@parcel/core@npm:2.15.1" + dependencies: + "@mischnic/json-sourcemap": "npm:^0.1.1" + "@parcel/cache": "npm:2.15.1" + "@parcel/diagnostic": "npm:2.15.1" + "@parcel/events": "npm:2.15.1" + "@parcel/feature-flags": "npm:2.15.1" + "@parcel/fs": "npm:2.15.1" + "@parcel/graph": "npm:3.5.1" + "@parcel/logger": "npm:2.15.1" + "@parcel/package-manager": "npm:2.15.1" + "@parcel/plugin": "npm:2.15.1" + "@parcel/profiler": "npm:2.15.1" + "@parcel/rust": "npm:2.15.1" + "@parcel/source-map": "npm:^2.1.1" + "@parcel/types": "npm:2.15.1" + "@parcel/utils": "npm:2.15.1" + "@parcel/workers": "npm:2.15.1" + base-x: "npm:^3.0.11" + browserslist: "npm:^4.24.5" + clone: "npm:^2.1.2" + dotenv: "npm:^16.5.0" + dotenv-expand: "npm:^11.0.7" + json5: "npm:^2.2.3" + msgpackr: "npm:^1.11.2" + nullthrows: "npm:^1.1.1" + semver: "npm:^7.7.1" + checksum: 10c0/7155f749ffee8d119f78e4c3d429c79c0e864c7ecb47e1e0ac919f92a25b7f72f45f94c0f33659043d61e0ec79083b07c5aa261a8fcc6eb5db43faa868afa4ce + languageName: node + linkType: hard + "@parcel/diagnostic@npm:2.14.0": version: 2.14.0 resolution: "@parcel/diagnostic@npm:2.14.0" @@ -4543,6 +4639,16 @@ __metadata: languageName: node linkType: hard +"@parcel/diagnostic@npm:2.15.1": + version: 2.15.1 + resolution: "@parcel/diagnostic@npm:2.15.1" + dependencies: + "@mischnic/json-sourcemap": "npm:^0.1.1" + nullthrows: "npm:^1.1.1" + checksum: 10c0/0a691320d7a779c129184a36ac5e12de0903d450b7517c00bcfc37ec6e36f708394298c6f146b4745237928ed283b50e43d787922af9229512a35d6ff4de8b51 + languageName: node + linkType: hard + "@parcel/error-overlay@npm:2.14.0": version: 2.14.0 resolution: "@parcel/error-overlay@npm:2.14.0" @@ -4557,6 +4663,13 @@ __metadata: languageName: node linkType: hard +"@parcel/events@npm:2.15.1": + version: 2.15.1 + resolution: "@parcel/events@npm:2.15.1" + checksum: 10c0/392e773827b4d99a7f6e4c99f04476afd0e4307719fb27b310d24e4fd1257058822b1617c9eacc90083930c78178e29e5752565f201a43c55fafca896f38e9e2 + languageName: node + linkType: hard + "@parcel/feature-flags@npm:2.14.0": version: 2.14.0 resolution: "@parcel/feature-flags@npm:2.14.0" @@ -4564,6 +4677,13 @@ __metadata: languageName: node linkType: hard +"@parcel/feature-flags@npm:2.15.1": + version: 2.15.1 + resolution: "@parcel/feature-flags@npm:2.15.1" + checksum: 10c0/87be5f4ae364dfdd695a87295aa26454869ef854c840f4e886185d04b275a9127d70b967ae2af9fd7e2cab12a2117d80f663d32da5084d2257bf0e2bf82ccf10 + languageName: node + linkType: hard + "@parcel/fs@npm:2.14.0, @parcel/fs@npm:^2.14.0": version: 2.14.0 resolution: "@parcel/fs@npm:2.14.0" @@ -4580,6 +4700,22 @@ __metadata: languageName: node linkType: hard +"@parcel/fs@npm:2.15.1": + version: 2.15.1 + resolution: "@parcel/fs@npm:2.15.1" + dependencies: + "@parcel/feature-flags": "npm:2.15.1" + "@parcel/rust": "npm:2.15.1" + "@parcel/types-internal": "npm:2.15.1" + "@parcel/utils": "npm:2.15.1" + "@parcel/watcher": "npm:^2.0.7" + "@parcel/workers": "npm:2.15.1" + peerDependencies: + "@parcel/core": ^2.15.1 + checksum: 10c0/df2f7e40fdb9f4a31c507987b35cb0aefe0ea0f61e1a53990d868d8e832559fffca8a166d5e033684f639c68cfddec8883ebccb6af76e30169c82f2ca6af3fc5 + languageName: node + linkType: hard + "@parcel/graph@npm:3.4.0": version: 3.4.0 resolution: "@parcel/graph@npm:3.4.0" @@ -4590,6 +4726,16 @@ __metadata: languageName: node linkType: hard +"@parcel/graph@npm:3.5.1": + version: 3.5.1 + resolution: "@parcel/graph@npm:3.5.1" + dependencies: + "@parcel/feature-flags": "npm:2.15.1" + nullthrows: "npm:^1.1.1" + checksum: 10c0/0c321b7a2aeb9c41a118fb13bc4853cd49f0bd8053a1ece7deda8e353c773a2201488fda778ab86ac725f58313937d0cc5c8dc681c85ccc859bbd4ee1d424652 + languageName: node + linkType: hard + "@parcel/logger@npm:2.14.0": version: 2.14.0 resolution: "@parcel/logger@npm:2.14.0" @@ -4600,6 +4746,16 @@ __metadata: languageName: node linkType: hard +"@parcel/logger@npm:2.15.1": + version: 2.15.1 + resolution: "@parcel/logger@npm:2.15.1" + dependencies: + "@parcel/diagnostic": "npm:2.15.1" + "@parcel/events": "npm:2.15.1" + checksum: 10c0/547368f0cb32a937d33bb9ec4b707f1e66823a6fed88c83e7bcfbf9c876753db52e75515baf6f9dbee583b828730ca3840e707fea619c9cda7501e02e8a5d484 + languageName: node + linkType: hard + "@parcel/macros@npm:^2.14.0": version: 2.14.0 resolution: "@parcel/macros@npm:2.14.0" @@ -4616,6 +4772,15 @@ __metadata: languageName: node linkType: hard +"@parcel/markdown-ansi@npm:2.15.1": + version: 2.15.1 + resolution: "@parcel/markdown-ansi@npm:2.15.1" + dependencies: + chalk: "npm:^4.1.2" + checksum: 10c0/436a462fbb6a7db655239fdebb5d9d8d67c6ca787a50943dd55b5891407b35229d509ab4b7520ed4138b98e745225a73667daf9ea358fbd92961d65f2050881c + languageName: node + linkType: hard + "@parcel/namer-default@npm:2.14.0, @parcel/namer-default@npm:^2.14.0": version: 2.14.0 resolution: "@parcel/namer-default@npm:2.14.0" @@ -4642,6 +4807,21 @@ __metadata: languageName: node linkType: hard +"@parcel/node-resolver-core@npm:3.6.1": + version: 3.6.1 + resolution: "@parcel/node-resolver-core@npm:3.6.1" + dependencies: + "@mischnic/json-sourcemap": "npm:^0.1.1" + "@parcel/diagnostic": "npm:2.15.1" + "@parcel/fs": "npm:2.15.1" + "@parcel/rust": "npm:2.15.1" + "@parcel/utils": "npm:2.15.1" + nullthrows: "npm:^1.1.1" + semver: "npm:^7.7.1" + checksum: 10c0/62d25ffe0a7d2ab2a3b33a98e88deebf11d462dceba559806aa8c9a226bab0ce285ff93b6dd5fc04b8d9ed95f51f68895cba8ec65d3cb225bad0ee589d129782 + languageName: node + linkType: hard + "@parcel/optimizer-css@npm:2.14.0": version: 2.14.0 resolution: "@parcel/optimizer-css@npm:2.14.0" @@ -4756,6 +4936,25 @@ __metadata: languageName: node linkType: hard +"@parcel/package-manager@npm:2.15.1": + version: 2.15.1 + resolution: "@parcel/package-manager@npm:2.15.1" + dependencies: + "@parcel/diagnostic": "npm:2.15.1" + "@parcel/fs": "npm:2.15.1" + "@parcel/logger": "npm:2.15.1" + "@parcel/node-resolver-core": "npm:3.6.1" + "@parcel/types": "npm:2.15.1" + "@parcel/utils": "npm:2.15.1" + "@parcel/workers": "npm:2.15.1" + "@swc/core": "npm:^1.11.24" + semver: "npm:^7.7.1" + peerDependencies: + "@parcel/core": ^2.15.1 + checksum: 10c0/6d79b01d37ef37951d28b49e0e039e1a395a82999c2c9c52dbc4a70ba417d715f289816abe6c07e34ece2eb8f8bf0c8501e46150c7cdf4946fccc88ee113a230 + languageName: node + linkType: hard + "@parcel/packager-css@npm:2.14.0": version: 2.14.0 resolution: "@parcel/packager-css@npm:2.14.0" @@ -4847,6 +5046,15 @@ __metadata: languageName: node linkType: hard +"@parcel/plugin@npm:2.15.1": + version: 2.15.1 + resolution: "@parcel/plugin@npm:2.15.1" + dependencies: + "@parcel/types": "npm:2.15.1" + checksum: 10c0/cd83f64c85512223b0d917fac8d188dbe75a1dc90d98687f820e785d18288b532b94550aef24501a64b635f7349125cf8ab91db087eafe3baaeb984453b45b22 + languageName: node + linkType: hard + "@parcel/profiler@npm:2.14.0": version: 2.14.0 resolution: "@parcel/profiler@npm:2.14.0" @@ -4859,6 +5067,18 @@ __metadata: languageName: node linkType: hard +"@parcel/profiler@npm:2.15.1": + version: 2.15.1 + resolution: "@parcel/profiler@npm:2.15.1" + dependencies: + "@parcel/diagnostic": "npm:2.15.1" + "@parcel/events": "npm:2.15.1" + "@parcel/types-internal": "npm:2.15.1" + chrome-trace-event: "npm:^1.0.2" + checksum: 10c0/2776f872462780421155c249d5c2ea8d758f46a7d7f29f82f48d649645a63dbdb6cfe59a22f824553ad589fa594cb1f78354cb63f980eff3f708ce87858eb774 + languageName: node + linkType: hard + "@parcel/reporter-cli@npm:2.14.0, @parcel/reporter-cli@npm:^2.14.0": version: 2.14.0 resolution: "@parcel/reporter-cli@npm:2.14.0" @@ -4872,6 +5092,19 @@ __metadata: languageName: node linkType: hard +"@parcel/reporter-cli@npm:^2.13.1": + version: 2.15.1 + resolution: "@parcel/reporter-cli@npm:2.15.1" + dependencies: + "@parcel/plugin": "npm:2.15.1" + "@parcel/types": "npm:2.15.1" + "@parcel/utils": "npm:2.15.1" + chalk: "npm:^4.1.2" + term-size: "npm:^2.2.1" + checksum: 10c0/dcb2ea51b1e43f8b93212d4f071f7d6952b947b76eb145ad7d31ad77d15d7c184034e7b6089b55ad983d04a0ac3a9760d660736c6d034299905da298abff2a92 + languageName: node + linkType: hard + "@parcel/reporter-dev-server@npm:2.14.0": version: 2.14.0 resolution: "@parcel/reporter-dev-server@npm:2.14.0" @@ -4929,6 +5162,16 @@ __metadata: languageName: node linkType: hard +"@parcel/resolver-storybook@workspace:packages/dev/parcel-resolver-storybook": + version: 0.0.0-use.local + resolution: "@parcel/resolver-storybook@workspace:packages/dev/parcel-resolver-storybook" + dependencies: + "@parcel/core": "npm:^2.13.1" + "@parcel/node-resolver-core": "npm:^3.1.2" + "@parcel/plugin": "npm:^2.10.2" + languageName: unknown + linkType: soft + "@parcel/runtime-browser-hmr@npm:2.14.0": version: 2.14.0 resolution: "@parcel/runtime-browser-hmr@npm:2.14.0" @@ -4974,6 +5217,62 @@ __metadata: languageName: node linkType: hard +"@parcel/rust-darwin-arm64@npm:2.15.1": + version: 2.15.1 + resolution: "@parcel/rust-darwin-arm64@npm:2.15.1" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@parcel/rust-darwin-x64@npm:2.15.1": + version: 2.15.1 + resolution: "@parcel/rust-darwin-x64@npm:2.15.1" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@parcel/rust-linux-arm-gnueabihf@npm:2.15.1": + version: 2.15.1 + resolution: "@parcel/rust-linux-arm-gnueabihf@npm:2.15.1" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@parcel/rust-linux-arm64-gnu@npm:2.15.1": + version: 2.15.1 + resolution: "@parcel/rust-linux-arm64-gnu@npm:2.15.1" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@parcel/rust-linux-arm64-musl@npm:2.15.1": + version: 2.15.1 + resolution: "@parcel/rust-linux-arm64-musl@npm:2.15.1" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@parcel/rust-linux-x64-gnu@npm:2.15.1": + version: 2.15.1 + resolution: "@parcel/rust-linux-x64-gnu@npm:2.15.1" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@parcel/rust-linux-x64-musl@npm:2.15.1": + version: 2.15.1 + resolution: "@parcel/rust-linux-x64-musl@npm:2.15.1" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@parcel/rust-win32-x64-msvc@npm:2.15.1": + version: 2.15.1 + resolution: "@parcel/rust-win32-x64-msvc@npm:2.15.1" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + "@parcel/rust@npm:2.14.0": version: 2.14.0 resolution: "@parcel/rust@npm:2.14.0" @@ -4986,6 +5285,44 @@ __metadata: languageName: node linkType: hard +"@parcel/rust@npm:2.15.1": + version: 2.15.1 + resolution: "@parcel/rust@npm:2.15.1" + dependencies: + "@parcel/rust-darwin-arm64": "npm:2.15.1" + "@parcel/rust-darwin-x64": "npm:2.15.1" + "@parcel/rust-linux-arm-gnueabihf": "npm:2.15.1" + "@parcel/rust-linux-arm64-gnu": "npm:2.15.1" + "@parcel/rust-linux-arm64-musl": "npm:2.15.1" + "@parcel/rust-linux-x64-gnu": "npm:2.15.1" + "@parcel/rust-linux-x64-musl": "npm:2.15.1" + "@parcel/rust-win32-x64-msvc": "npm:2.15.1" + peerDependencies: + napi-wasm: ^1.1.2 + dependenciesMeta: + "@parcel/rust-darwin-arm64": + optional: true + "@parcel/rust-darwin-x64": + optional: true + "@parcel/rust-linux-arm-gnueabihf": + optional: true + "@parcel/rust-linux-arm64-gnu": + optional: true + "@parcel/rust-linux-arm64-musl": + optional: true + "@parcel/rust-linux-x64-gnu": + optional: true + "@parcel/rust-linux-x64-musl": + optional: true + "@parcel/rust-win32-x64-msvc": + optional: true + peerDependenciesMeta: + napi-wasm: + optional: true + checksum: 10c0/488b493e1e54c82b2505344bbbdbd9b5d5459137e501152af6606c6a202ff58bbecb0a1a46f8df8753832fdfe2eec914973580ce5ceff4a70e30be3ed91e6f24 + languageName: node + linkType: hard + "@parcel/source-map@npm:^2.1.1": version: 2.1.1 resolution: "@parcel/source-map@npm:2.1.1" @@ -5182,6 +5519,20 @@ __metadata: languageName: node linkType: hard +"@parcel/transformer-storybook@workspace:packages/dev/parcel-transformer-storybook": + version: 0.0.0-use.local + resolution: "@parcel/transformer-storybook@workspace:packages/dev/parcel-transformer-storybook" + dependencies: + "@babel/parser": "npm:^7.23.0" + "@babel/types": "npm:^7.23.0" + "@parcel/plugin": "npm:^2.10.2" + "@storybook/csf-tools": "npm:^7" + "@storybook/docs-tools": "npm:^7" + react-docgen-typescript: "npm:^2.2.2" + typescript: "npm:^5.5.0" + languageName: unknown + linkType: soft + "@parcel/transformer-svg-react@npm:^2.14.0": version: 2.14.0 resolution: "@parcel/transformer-svg-react@npm:2.14.0" @@ -5250,6 +5601,18 @@ __metadata: languageName: node linkType: hard +"@parcel/types-internal@npm:2.15.1": + version: 2.15.1 + resolution: "@parcel/types-internal@npm:2.15.1" + dependencies: + "@parcel/diagnostic": "npm:2.15.1" + "@parcel/feature-flags": "npm:2.15.1" + "@parcel/source-map": "npm:^2.1.1" + utility-types: "npm:^3.11.0" + checksum: 10c0/ce6a3474aec2d248caef5629bc03158f5f5bee80a0ce64e9bc7893d794319147769055ed8bdcdf5ab29450512a3fd3ef73faef67208cf177724526e682ae0fda + languageName: node + linkType: hard + "@parcel/types@npm:2.14.0": version: 2.14.0 resolution: "@parcel/types@npm:2.14.0" @@ -5260,6 +5623,16 @@ __metadata: languageName: node linkType: hard +"@parcel/types@npm:2.15.1": + version: 2.15.1 + resolution: "@parcel/types@npm:2.15.1" + dependencies: + "@parcel/types-internal": "npm:2.15.1" + "@parcel/workers": "npm:2.15.1" + checksum: 10c0/d9364ba2f2fe99a651c4acec359385b920f5791a6079a4c2d8136241fe3d40df7fe45ab642c47688d3195bbaa39270363951eb2a0c5e0a7aef3b245de064e297 + languageName: node + linkType: hard + "@parcel/utils@npm:2.14.0, @parcel/utils@npm:^2.14.0": version: 2.14.0 resolution: "@parcel/utils@npm:2.14.0" @@ -5276,6 +5649,22 @@ __metadata: languageName: node linkType: hard +"@parcel/utils@npm:2.15.1": + version: 2.15.1 + resolution: "@parcel/utils@npm:2.15.1" + dependencies: + "@parcel/codeframe": "npm:2.15.1" + "@parcel/diagnostic": "npm:2.15.1" + "@parcel/logger": "npm:2.15.1" + "@parcel/markdown-ansi": "npm:2.15.1" + "@parcel/rust": "npm:2.15.1" + "@parcel/source-map": "npm:^2.1.1" + chalk: "npm:^4.1.2" + nullthrows: "npm:^1.1.1" + checksum: 10c0/6fb431cbb6abeaddf656e0fafe5da10004d8b503ce894d7176292c4093d137d0f0adf56c3812c275de3919ad0296cad968483ee90cfd62d6afe7252b126778d5 + languageName: node + linkType: hard + "@parcel/watcher-android-arm64@npm:2.5.1": version: 2.5.1 resolution: "@parcel/watcher-android-arm64@npm:2.5.1" @@ -5436,6 +5825,22 @@ __metadata: languageName: node linkType: hard +"@parcel/workers@npm:2.15.1": + version: 2.15.1 + resolution: "@parcel/workers@npm:2.15.1" + dependencies: + "@parcel/diagnostic": "npm:2.15.1" + "@parcel/logger": "npm:2.15.1" + "@parcel/profiler": "npm:2.15.1" + "@parcel/types-internal": "npm:2.15.1" + "@parcel/utils": "npm:2.15.1" + nullthrows: "npm:^1.1.1" + peerDependencies: + "@parcel/core": ^2.15.1 + checksum: 10c0/af1b136138da653ce661f384d3eea796aa29d84294efefece022c7eaa1cf28e4ce36cdffaf198a6f39150e38fc077759d2759da35ff5bbae4e844741ffc7cf21 + languageName: node + linkType: hard + "@pkgjs/parseargs@npm:^0.11.0": version: 0.11.0 resolution: "@pkgjs/parseargs@npm:0.11.0" @@ -9373,6 +9778,15 @@ __metadata: languageName: node linkType: hard +"@storybook/channels@npm:^8.6.7": + version: 8.6.14 + resolution: "@storybook/channels@npm:8.6.14" + peerDependencies: + storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 + checksum: 10c0/559fa605c48add2cbb3879854cf5e3df56cc5ec59bc6f8b6fa287ddeb0a210d345bcfe2c6ebd4eb8792b130cc9d831aae89cf190a1e708a15d9b7188dff438b4 + languageName: node + linkType: hard + "@storybook/client-logger@npm:7.6.20": version: 7.6.20 resolution: "@storybook/client-logger@npm:7.6.20" @@ -9382,6 +9796,15 @@ __metadata: languageName: node linkType: hard +"@storybook/client-logger@npm:^8.6.7": + version: 8.6.14 + resolution: "@storybook/client-logger@npm:8.6.14" + peerDependencies: + storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 + checksum: 10c0/118881c46073fe8bf418589e00bbcb7e9b6c5934bdc81bd1aceb970b123819160f0f48f474500ab61f7cd2b34e5c36aa9537c685d4dc31aea86f5b0fac067e11 + languageName: node + linkType: hard + "@storybook/components@npm:8.6.14, @storybook/components@npm:^8.0.0, @storybook/components@npm:^8.6.7": version: 8.6.14 resolution: "@storybook/components@npm:8.6.14" @@ -10038,24 +10461,24 @@ __metadata: languageName: node linkType: hard -"@swc/core@npm:^1.11.5, @swc/core@npm:^1.3.36": - version: 1.11.11 - resolution: "@swc/core@npm:1.11.11" +"@swc/core@npm:^1.11.24, @swc/core@npm:^1.5.22": + version: 1.11.24 + resolution: "@swc/core@npm:1.11.24" dependencies: - "@swc/core-darwin-arm64": "npm:1.11.11" - "@swc/core-darwin-x64": "npm:1.11.11" - "@swc/core-linux-arm-gnueabihf": "npm:1.11.11" - "@swc/core-linux-arm64-gnu": "npm:1.11.11" - "@swc/core-linux-arm64-musl": "npm:1.11.11" - "@swc/core-linux-x64-gnu": "npm:1.11.11" - "@swc/core-linux-x64-musl": "npm:1.11.11" - "@swc/core-win32-arm64-msvc": "npm:1.11.11" - "@swc/core-win32-ia32-msvc": "npm:1.11.11" - "@swc/core-win32-x64-msvc": "npm:1.11.11" + "@swc/core-darwin-arm64": "npm:1.11.24" + "@swc/core-darwin-x64": "npm:1.11.24" + "@swc/core-linux-arm-gnueabihf": "npm:1.11.24" + "@swc/core-linux-arm64-gnu": "npm:1.11.24" + "@swc/core-linux-arm64-musl": "npm:1.11.24" + "@swc/core-linux-x64-gnu": "npm:1.11.24" + "@swc/core-linux-x64-musl": "npm:1.11.24" + "@swc/core-win32-arm64-msvc": "npm:1.11.24" + "@swc/core-win32-ia32-msvc": "npm:1.11.24" + "@swc/core-win32-x64-msvc": "npm:1.11.24" "@swc/counter": "npm:^0.1.3" - "@swc/types": "npm:^0.1.19" + "@swc/types": "npm:^0.1.21" peerDependencies: - "@swc/helpers": "*" + "@swc/helpers": ">=0.5.17" dependenciesMeta: "@swc/core-darwin-arm64": optional: true @@ -10080,28 +10503,28 @@ __metadata: peerDependenciesMeta: "@swc/helpers": optional: true - checksum: 10c0/ae7038336e1e4dd1c4357c82fd1c8b76c80f0650d103714fc21dcf9b707f60be9bb8edb8de3a9ea26e6956a215c83759f6a77d8c9175ac760e6f9c192d666025 + checksum: 10c0/26c524a505927ebd4229ec20fecf5f38b6a3265f22f3ede3a334834b37d01eedd133676e231d19ecaae2923bdfb0fa66acb925ffaee6e472e36ed81a7ace90f7 languageName: node linkType: hard -"@swc/core@npm:^1.5.22": - version: 1.11.24 - resolution: "@swc/core@npm:1.11.24" +"@swc/core@npm:^1.11.5, @swc/core@npm:^1.3.36": + version: 1.11.11 + resolution: "@swc/core@npm:1.11.11" dependencies: - "@swc/core-darwin-arm64": "npm:1.11.24" - "@swc/core-darwin-x64": "npm:1.11.24" - "@swc/core-linux-arm-gnueabihf": "npm:1.11.24" - "@swc/core-linux-arm64-gnu": "npm:1.11.24" - "@swc/core-linux-arm64-musl": "npm:1.11.24" - "@swc/core-linux-x64-gnu": "npm:1.11.24" - "@swc/core-linux-x64-musl": "npm:1.11.24" - "@swc/core-win32-arm64-msvc": "npm:1.11.24" - "@swc/core-win32-ia32-msvc": "npm:1.11.24" - "@swc/core-win32-x64-msvc": "npm:1.11.24" + "@swc/core-darwin-arm64": "npm:1.11.11" + "@swc/core-darwin-x64": "npm:1.11.11" + "@swc/core-linux-arm-gnueabihf": "npm:1.11.11" + "@swc/core-linux-arm64-gnu": "npm:1.11.11" + "@swc/core-linux-arm64-musl": "npm:1.11.11" + "@swc/core-linux-x64-gnu": "npm:1.11.11" + "@swc/core-linux-x64-musl": "npm:1.11.11" + "@swc/core-win32-arm64-msvc": "npm:1.11.11" + "@swc/core-win32-ia32-msvc": "npm:1.11.11" + "@swc/core-win32-x64-msvc": "npm:1.11.11" "@swc/counter": "npm:^0.1.3" - "@swc/types": "npm:^0.1.21" + "@swc/types": "npm:^0.1.19" peerDependencies: - "@swc/helpers": ">=0.5.17" + "@swc/helpers": "*" dependenciesMeta: "@swc/core-darwin-arm64": optional: true @@ -10126,7 +10549,7 @@ __metadata: peerDependenciesMeta: "@swc/helpers": optional: true - checksum: 10c0/26c524a505927ebd4229ec20fecf5f38b6a3265f22f3ede3a334834b37d01eedd133676e231d19ecaae2923bdfb0fa66acb925ffaee6e472e36ed81a7ace90f7 + checksum: 10c0/ae7038336e1e4dd1c4357c82fd1c8b76c80f0650d103714fc21dcf9b707f60be9bb8edb8de3a9ea26e6956a215c83759f6a77d8c9175ac760e6f9c192d666025 languageName: node linkType: hard @@ -12754,6 +13177,15 @@ __metadata: languageName: node linkType: hard +"base-x@npm:^3.0.11": + version: 3.0.11 + resolution: "base-x@npm:3.0.11" + dependencies: + safe-buffer: "npm:^5.0.1" + checksum: 10c0/4c5b8cd9cef285973b0460934be4fc890eedfd22a8aca527fac3527f041c5d1c912f7b9a6816f19e43e69dc7c29a5deabfa326bd3d6a57ee46af0ad46e3991d5 + languageName: node + linkType: hard + "base-x@npm:^3.0.8": version: 3.0.8 resolution: "base-x@npm:3.0.8" @@ -15423,6 +15855,15 @@ __metadata: languageName: node linkType: hard +"dotenv-expand@npm:^11.0.7": + version: 11.0.7 + resolution: "dotenv-expand@npm:11.0.7" + dependencies: + dotenv: "npm:^16.4.5" + checksum: 10c0/d80b8a7be085edf351270b96ac0e794bc3ddd7f36157912939577cb4d33ba6492ebee349d59798b71b90e36f498d24a2a564fb4aa00073b2ef4c2a3a49c467b1 + languageName: node + linkType: hard + "dotenv@npm:^16.0.0, dotenv@npm:^16.4.4, dotenv@npm:^16.4.5": version: 16.4.5 resolution: "dotenv@npm:16.4.5" @@ -15430,6 +15871,13 @@ __metadata: languageName: node linkType: hard +"dotenv@npm:^16.5.0": + version: 16.5.0 + resolution: "dotenv@npm:16.5.0" + checksum: 10c0/5bc94c919fbd955bf0ba44d33922a1e93d1078e64a1db5c30faeded1d996e7a83c55332cb8ea4fae5a9ca4d0be44cbceb95c5811e70f9f095298df09d1997dd9 + languageName: node + linkType: hard + "dprint-node@npm:^1.0.7": version: 1.0.7 resolution: "dprint-node@npm:1.0.7" @@ -23787,6 +24235,18 @@ __metadata: languageName: node linkType: hard +"msgpackr@npm:^1.11.2": + version: 1.11.4 + resolution: "msgpackr@npm:1.11.4" + dependencies: + msgpackr-extract: "npm:^3.0.2" + dependenciesMeta: + msgpackr-extract: + optional: true + checksum: 10c0/171f6e15b628e91969cbb715c076e218886dc505fdac9ce31aa9e8641877cb5cf52d89fe0ca2930520711b1bbc9f792e10d0a9fc08806ad5d543c50abfab322c + languageName: node + linkType: hard + "msgpackr@npm:^1.9.5, msgpackr@npm:^1.9.9": version: 1.10.1 resolution: "msgpackr@npm:1.10.1" @@ -27850,7 +28310,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.6.2": +"semver@npm:^7.6.2, semver@npm:^7.7.1": version: 7.7.2 resolution: "semver@npm:7.7.2" bin: @@ -28666,14 +29126,20 @@ __metadata: languageName: node linkType: hard -"storybook-builder-parcel@workspace:^, storybook-builder-parcel@workspace:packages/dev/storybook-builder-parcel": +"storybook-builder-parcel@npm:^0.0.1, storybook-builder-parcel@workspace:packages/dev/storybook-builder-parcel": version: 0.0.0-use.local resolution: "storybook-builder-parcel@workspace:packages/dev/storybook-builder-parcel" dependencies: + "@parcel/core": "npm:^2.13.1" + "@parcel/reporter-cli": "npm:^2.13.1" + "@storybook/channels": "npm:^8.6.7" + "@storybook/client-logger": "npm:^8.6.7" "@storybook/core-common": "npm:^8.6.7" + "@storybook/preview": "npm:^8.6.7" + "@storybook/preview-api": "npm:^8.6.7" http-proxy-middleware: "npm:^2.0.6" + storybook: "npm:^8.6.7" peerDependencies: - "@parcel/core": ^2.0.0 react: "*" languageName: unknown linkType: soft @@ -28699,11 +29165,10 @@ __metadata: resolution: "storybook-react-parcel@workspace:packages/dev/storybook-react-parcel" dependencies: "@storybook/react": "npm:^8.6.7" - storybook-builder-parcel: "workspace:^" - peerDependencies: - react: ^18.2.0 - react-dom: ^18.2.0 - storybook: ^8.6.7 + react: "npm:^18.2.0" + react-dom: "npm:^18.2.0" + storybook: "npm:^8.6.7" + storybook-builder-parcel: "npm:^0.0.1" languageName: unknown linkType: soft @@ -30768,6 +31233,13 @@ __metadata: languageName: node linkType: hard +"utility-types@npm:^3.11.0": + version: 3.11.0 + resolution: "utility-types@npm:3.11.0" + checksum: 10c0/2f1580137b0c3e6cf5405f37aaa8f5249961a76d26f1ca8efc0ff49a2fc0e0b2db56de8e521a174d075758e0c7eb3e590edec0832eb44478b958f09914920f19 + languageName: node + linkType: hard + "utils-merge@npm:1.0.1": version: 1.0.1 resolution: "utils-merge@npm:1.0.1" From b6505beb1afb2bcb3673eb3ab225dc0f07f24e02 Mon Sep 17 00:00:00 2001 From: Robert Snow Date: Wed, 21 May 2025 12:44:47 +1000 Subject: [PATCH 03/10] renders v3 and s2 --- .storybook-s2/custom-addons/provider/index.js | 16 ++--- .../custom-addons/provider/register.js | 11 +--- .storybook-s2/docs/Illustrations.jsx | 5 +- .storybook-s2/docs/Intro.jsx | 18 +++--- .storybook-s2/preview.tsx | 2 +- .storybook/custom-addons/provider/index.js | 24 ++++---- .storybook/custom-addons/provider/register.js | 15 +++-- .storybook/custom-addons/scrolling/index.js | 5 +- .../custom-addons/scrolling/register.js | 3 +- .storybook/custom-addons/strictmode/index.js | 5 +- .../custom-addons/strictmode/register.js | 3 +- .storybook/main.js | 10 ++-- package.json | 5 +- .../calendar/stories/Calendar.stories.tsx | 4 +- .../stories/RangeCalendar.stories.tsx | 2 +- .../datepicker/stories/DatePicker.stories.tsx | 2 +- .../stories/DateRangePicker.stories.tsx | 2 +- .../dropzone/stories/DropZone.stories.tsx | 2 +- .../list/stories/ListViewDnD.stories.tsx | 2 +- .../list/stories/ListViewDnDUtil.stories.tsx | 2 +- yarn.lock | 58 ++----------------- 21 files changed, 68 insertions(+), 128 deletions(-) diff --git a/.storybook-s2/custom-addons/provider/index.js b/.storybook-s2/custom-addons/provider/index.js index 49535c86d83..deecfa6bec2 100644 --- a/.storybook-s2/custom-addons/provider/index.js +++ b/.storybook-s2/custom-addons/provider/index.js @@ -1,23 +1,17 @@ import React, {useEffect, useState} from 'react'; import {addons} from '@storybook/preview-api'; import {makeDecorator} from '@storybook/preview-api'; -import {getQueryParams} from '@storybook/preview-api'; // Importing from src so that HMR works. -// Without this, all HMR updates will bubble through the index.ts and up +// Without this, all HMR updates will bubble through the index.ts and up // to the root instead of stopping at the story files. -import {Provider} from '@react-spectrum/s2/src/Provider'; +import {Provider} from '../../../packages/@react-spectrum/s2/src/Provider'; document.body.style.margin = '0'; -const providerValuesFromUrl = Object.entries(getQueryParams()).reduce((acc, [k, v]) => { - if (k.includes('providerSwitcher-')) { - return { ...acc, [k.replace('providerSwitcher-', '')]: v }; - } - return acc; -}, {}); - function ProviderUpdater(props) { - let [localeValue, setLocale] = useState(providerValuesFromUrl.locale || undefined); + let params = new URLSearchParams(document.location.search); + let localeParam = params.get('providerSwitcher-locale') || undefined; + let [localeValue, setLocale] = useState(localeParam); useEffect(() => { let channel = addons.getChannel(); diff --git a/.storybook-s2/custom-addons/provider/register.js b/.storybook-s2/custom-addons/provider/register.js index ec994ea2f60..d61694aea44 100644 --- a/.storybook-s2/custom-addons/provider/register.js +++ b/.storybook-s2/custom-addons/provider/register.js @@ -1,18 +1,11 @@ import {addons, types} from '@storybook/manager-api'; -import {getQueryParams} from '@storybook/preview-api'; import {locales} from '../../constants'; import React, {useEffect, useState} from 'react'; -const providerValuesFromUrl = Object.entries(getQueryParams()).reduce((acc, [k, v]) => { - if (k.includes('providerSwitcher-')) { - return { ...acc, [k.replace('providerSwitcher-', '')]: v }; - } - return acc; -}, {}); - function ProviderFieldSetter({api}) { - let [values, setValues] = useState({locale: providerValuesFromUrl.locale || undefined}); + let localeParam = api.getQueryParam('providerSwitcher-locale') || undefined; + let [values, setValues] = useState({locale: localeParam}); let channel = addons.getChannel(); let onLocaleChange = (e) => { let newValue = e.target.value || undefined; diff --git a/.storybook-s2/docs/Illustrations.jsx b/.storybook-s2/docs/Illustrations.jsx index 9acd33ca2f1..4c18452466a 100644 --- a/.storybook-s2/docs/Illustrations.jsx +++ b/.storybook-s2/docs/Illustrations.jsx @@ -1,11 +1,10 @@ import linearIllustrations from '@react-spectrum/s2/spectrum-illustrations/linear/*.tsx'; import gradientIllustrations from '@react-spectrum/s2/spectrum-illustrations/gradient/*/*.tsx'; -import Paste from '@react-spectrum/s2/s2wf-icons/S2_Icon_Paste_20_N.svg'; +import Paste from '../../packages/@react-spectrum/s2/s2wf-icons/S2_Icon_Paste_20_N.svg'; import { style } from '../../packages/@react-spectrum/s2/style/spectrum-theme' with {type: 'macro'}; -import {ActionButton, Text} from '@react-spectrum/s2'; +import {ActionButton, Radio, RadioGroup} from '@react-spectrum/s2'; import {H2, H3, P, Code, Pre, Link} from './typography'; import {highlight} from './highlight' with {type: 'macro'}; -import { Radio, RadioGroup } from '../../packages/@react-spectrum/s2/src'; import { useState } from 'react'; export function Illustrations() { diff --git a/.storybook-s2/docs/Intro.jsx b/.storybook-s2/docs/Intro.jsx index ddf2c7c810e..4ac8b482141 100644 --- a/.storybook-s2/docs/Intro.jsx +++ b/.storybook-s2/docs/Intro.jsx @@ -1,13 +1,13 @@ import { style } from '../../packages/@react-spectrum/s2/style/spectrum-theme' with {type: 'macro'}; -import {Button, LinkButton, ButtonGroup, Checkbox, Content, Dialog, DialogTrigger, Footer, Header, Heading, Image, InlineAlert, Menu, MenuItem, MenuSection, MenuTrigger, SubmenuTrigger, Switch, Text} from '@react-spectrum/s2'; -import NewIcon from '@react-spectrum/s2/s2wf-icons/S2_Icon_New_20_N.svg'; -import ImgIcon from '@react-spectrum/s2/s2wf-icons/S2_Icon_Image_20_N.svg'; -import CopyIcon from '@react-spectrum/s2/s2wf-icons/S2_Icon_Copy_20_N.svg'; -import CommentTextIcon from '@react-spectrum/s2/s2wf-icons/S2_Icon_CommentText_20_N.svg'; -import ClockPendingIcon from '@react-spectrum/s2/s2wf-icons/S2_Icon_ClockPending_20_N.svg'; -import CommunityIcon from '@react-spectrum/s2/s2wf-icons/S2_Icon_Community_20_N.svg'; -import DeviceTabletIcon from '@react-spectrum/s2/s2wf-icons/S2_Icon_DeviceTablet_20_N.svg'; -import DeviceDesktopIcon from '@react-spectrum/s2/s2wf-icons/S2_Icon_DeviceDesktop_20_N.svg'; +import {Button, ButtonGroup, Checkbox, Content, Dialog, DialogTrigger, Footer, Header, Heading, Image, InlineAlert, Menu, MenuItem, MenuSection, MenuTrigger, SubmenuTrigger, Switch, Text} from '@react-spectrum/s2'; +import NewIcon from '../../packages/@react-spectrum/s2/s2wf-icons/S2_Icon_New_20_N.svg'; +import ImgIcon from '../../packages/@react-spectrum/s2/s2wf-icons/S2_Icon_Image_20_N.svg'; +import CopyIcon from '../../packages/@react-spectrum/s2/s2wf-icons/S2_Icon_Copy_20_N.svg'; +import CommentTextIcon from '../../packages/@react-spectrum/s2/s2wf-icons/S2_Icon_CommentText_20_N.svg'; +import ClockPendingIcon from '../../packages/@react-spectrum/s2/s2wf-icons/S2_Icon_ClockPending_20_N.svg'; +import CommunityIcon from '../../packages/@react-spectrum/s2/s2wf-icons/S2_Icon_Community_20_N.svg'; +import DeviceTabletIcon from '../../packages/@react-spectrum/s2/s2wf-icons/S2_Icon_DeviceTablet_20_N.svg'; +import DeviceDesktopIcon from '../../packages/@react-spectrum/s2/s2wf-icons/S2_Icon_DeviceDesktop_20_N.svg'; import {highlight} from './highlight' with {type: 'macro'}; import {H2, H3, H4, P, Pre, Code, Strong, Link} from './typography'; diff --git a/.storybook-s2/preview.tsx b/.storybook-s2/preview.tsx index 760fd9885c9..e7b8aa9b543 100644 --- a/.storybook-s2/preview.tsx +++ b/.storybook-s2/preview.tsx @@ -1,4 +1,4 @@ -import '@react-spectrum/s2/src/page'; +import '../packages/@react-spectrum/s2/src/page'; import { themes } from '@storybook/theming'; import { DARK_MODE_EVENT_NAME } from 'storybook-dark-mode'; import { store } from 'storybook-dark-mode/dist/esm/Tool'; diff --git a/.storybook/custom-addons/provider/index.js b/.storybook/custom-addons/provider/index.js index 9415413196f..537375ce04a 100644 --- a/.storybook/custom-addons/provider/index.js +++ b/.storybook/custom-addons/provider/index.js @@ -1,24 +1,21 @@ import React, {useEffect, useState} from 'react'; import {addons} from '@storybook/preview-api'; import {makeDecorator} from '@storybook/preview-api'; -import {getQueryParams} from '@storybook/preview-api'; import {Provider} from '@react-spectrum/provider'; import {expressThemes, themes, defaultTheme} from '../../constants'; document.body.style.margin = '0'; -const providerValuesFromUrl = Object.entries(getQueryParams()).reduce((acc, [k, v]) => { - if (k.includes('providerSwitcher-')) { - return { ...acc, [k.replace('providerSwitcher-', '')]: v }; - } - return acc; -}, {}); - function ProviderUpdater(props) { - let [localeValue, setLocale] = useState(providerValuesFromUrl.locale || undefined); - let [themeValue, setTheme] = useState(providerValuesFromUrl.theme || undefined); - let [scaleValue, setScale] = useState(providerValuesFromUrl.scale || undefined); - let [expressValue, setExpress] = useState(providerValuesFromUrl.express === 'true'); + let params = new URLSearchParams(document.location.search); + let localeParam = params.get("providerSwitcher-locale") || undefined; + let [localeValue, setLocale] = useState(localeParam); + let themeParam = params.get("providerSwitcher-theme") || undefined; + let [themeValue, setTheme] = useState(themeParam); + let scaleParam = params.get("providerSwitcher-scale") || undefined; + let [scaleValue, setScale] = useState(scaleParam); + let expressParam = params.get("providerSwitcher-express") || undefined; + let [expressValue, setExpress] = useState(expressParam === 'true'); let [storyReady, setStoryReady] = useState(window.parent === window || window.parent !== window.top); // reduce content flash because it takes a moment to get the provider details // Typically themes are provided with both light + dark, and both scales. // To build our selector to see all themes, we need to hack it a bit. @@ -27,6 +24,7 @@ function ProviderUpdater(props) { useEffect(() => { let channel = addons.getChannel(); let providerUpdate = (event) => { + console.log('providerUpdate', event); setLocale(event.locale); setTheme(event.theme === 'Auto' ? undefined : event.theme); setScale(event.scale === 'Auto' ? undefined : event.scale); @@ -42,6 +40,7 @@ function ProviderUpdater(props) { }, []); if (props.options.mainElement == null) { + console.log('mainElement is null', storyReady); return (
@@ -50,6 +49,7 @@ function ProviderUpdater(props) { ); } else { + console.log('mainElement is not null'); return ( {storyReady && props.children} diff --git a/.storybook/custom-addons/provider/register.js b/.storybook/custom-addons/provider/register.js index c74549a2dd7..b9706d82357 100644 --- a/.storybook/custom-addons/provider/register.js +++ b/.storybook/custom-addons/provider/register.js @@ -1,5 +1,4 @@ import {addons, types} from '@storybook/manager-api'; -import {useParameter} from '@storybook/preview-api'; import {locales} from '../../constants'; import React, {useEffect, useState} from 'react'; @@ -30,12 +29,16 @@ let TOAST_POSITIONS = [ ]; function ProviderFieldSetter({api}) { + let localeParam = api.getQueryParam('providerSwitcher-locale') || undefined; + let themeParam = api.getQueryParam('providerSwitcher-theme') || undefined; + let scaleParam = api.getQueryParam('providerSwitcher-scale') || undefined; + let expressParam = api.getQueryParam('providerSwitcher-express') || undefined; let [values, setValues] = useState({ - locale: useParameter('providerSwitcher-locale') || undefined, - theme: useParameter('providerSwitcher-theme') || undefined, - scale: useParameter('providerSwitcher-scale') || undefined, - express: useParameter('providerSwitcher-express') === 'true' + locale: localeParam, + theme: themeParam, + scale: scaleParam, + express: expressParam === 'true' }); let channel = addons.getChannel(); let onLocaleChange = (e) => { @@ -72,6 +75,7 @@ function ProviderFieldSetter({api}) { }; useEffect(() => { let storySwapped = () => { + console.log('storySwapped', values); channel.emit('provider/updated', values); }; channel.on('rsp/ready-for-update', storySwapped); @@ -118,6 +122,7 @@ function ProviderFieldSetter({api}) { } addons.register('ProviderSwitcher', (api) => { + console.log('ProviderSwitcher registering'); addons.add('ProviderSwitcher', { title: 'viewport', type: types.TOOL, diff --git a/.storybook/custom-addons/scrolling/index.js b/.storybook/custom-addons/scrolling/index.js index 6e016d9ed43..8806ef97da6 100644 --- a/.storybook/custom-addons/scrolling/index.js +++ b/.storybook/custom-addons/scrolling/index.js @@ -1,11 +1,12 @@ import {addons} from '@storybook/preview-api'; import clsx from 'clsx'; -import {getQueryParams} from '@storybook/preview-api'; import React, {useEffect, useState} from 'react'; function ScrollingDecorator(props) { let {children} = props; - let [isScrolling, setScrolling] = useState(getQueryParams()?.scrolling === 'true' || false); + let params = new URLSearchParams(document.location.search); + let scrolling = params.get('scrolling') || undefined; + let [isScrolling, setScrolling] = useState(scrolling === 'true' || false); useEffect(() => { let channel = addons.getChannel(); diff --git a/.storybook/custom-addons/scrolling/register.js b/.storybook/custom-addons/scrolling/register.js index 277f39fc367..97517f0b68b 100644 --- a/.storybook/custom-addons/scrolling/register.js +++ b/.storybook/custom-addons/scrolling/register.js @@ -1,10 +1,9 @@ import {addons, types} from '@storybook/manager-api'; -import {useParameter} from '@storybook/preview-api'; import React, {useEffect, useState} from 'react'; const ScrollingToolbar = ({api}) => { let channel = addons.getChannel(); - let scrolling = useParameter('scrolling'); + let scrolling = api.getQueryParam('scrolling'); let [isScrolling, setScrolling] = useState(scrolling === 'true' || false); let onChange = () => { setScrolling((old) => { diff --git a/.storybook/custom-addons/strictmode/index.js b/.storybook/custom-addons/strictmode/index.js index 61ae2a95651..34df03f1940 100644 --- a/.storybook/custom-addons/strictmode/index.js +++ b/.storybook/custom-addons/strictmode/index.js @@ -1,10 +1,11 @@ import {addons, makeDecorator} from '@storybook/preview-api'; -import {getQueryParams} from '@storybook/preview-api'; import React, {StrictMode, useEffect, useState} from 'react'; function StrictModeDecorator(props) { let {children} = props; - let [isStrict, setStrict] = useState(getQueryParams()?.strict !== 'false'); + let params = new URLSearchParams(document.location.search); + let strictParam = params.get("strict") || undefined; + let [isStrict, setStrict] = useState(strictParam !== 'false'); useEffect(() => { let channel = addons.getChannel(); diff --git a/.storybook/custom-addons/strictmode/register.js b/.storybook/custom-addons/strictmode/register.js index 8699ad281f7..d94cd2fcafc 100644 --- a/.storybook/custom-addons/strictmode/register.js +++ b/.storybook/custom-addons/strictmode/register.js @@ -1,10 +1,9 @@ import {addons, types} from '@storybook/manager-api'; -import {useParameter} from '@storybook/preview-api'; import React, {useEffect, useState} from 'react'; const StrictModeToolBar = ({api}) => { let channel = addons.getChannel(); - let strictParam = useParameter('strict'); + let strictParam = api.getQueryParam('strict'); let [isStrict, setStrict] = useState(strictParam !== 'false'); let onChange = () => { setStrict((old) => { diff --git a/.storybook/main.js b/.storybook/main.js index 95b64e2cdbb..c32ec3cc10c 100644 --- a/.storybook/main.js +++ b/.storybook/main.js @@ -11,11 +11,11 @@ module.exports = { "@storybook/addon-a11y", "@storybook/addon-controls", "storybook-dark-mode", - './custom-addons/provider/register', - './custom-addons/descriptions/register', - './custom-addons/theme/register', - './custom-addons/strictmode/register', - './custom-addons/scrolling/register' + './custom-addons/provider/register.js', + './custom-addons/descriptions/register.js', + './custom-addons/theme/register.js', + './custom-addons/strictmode/register.js', + './custom-addons/scrolling/register.js' ], typescript: { diff --git a/package.json b/package.json index 9884e9e5d05..ce3fdd2c421 100644 --- a/package.json +++ b/package.json @@ -232,6 +232,8 @@ "recast": "0.23.6", "ast-types": "0.16.1", "svgo": "^3", + "react": "18.3.1", + "react-dom": "18.3.1", "@testing-library/user-event": "patch:@testing-library/user-event@npm%3A14.6.1#~/.yarn/patches/@testing-library-user-event-npm-14.6.1-5da7e1d4e2.patch", "@types/node@npm:*": "^22", "@types/node@npm:^18.0.0": "^22", @@ -260,9 +262,6 @@ "hover": "is-hovered" } }, - "alias": { - "@storybook/react-dom-shim": "@storybook/react-dom-shim/dist/react-18" - }, "@parcel/resolver-default": { "packageExports": true }, diff --git a/packages/@react-spectrum/calendar/stories/Calendar.stories.tsx b/packages/@react-spectrum/calendar/stories/Calendar.stories.tsx index d12df3d13e3..44a5758bf4d 100644 --- a/packages/@react-spectrum/calendar/stories/Calendar.stories.tsx +++ b/packages/@react-spectrum/calendar/stories/Calendar.stories.tsx @@ -14,7 +14,7 @@ import {ActionButton} from '@react-spectrum/button'; import {Calendar} from '../'; import {CalendarDate, CalendarDateTime, getLocalTimeZone, parseZonedDateTime, today, ZonedDateTime} from '@internationalized/date'; import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; -import {Custom454Calendar} from '@internationalized/date/tests/customCalendarImpl'; +import {Custom454Calendar} from '../../../@internationalized/date/tests/customCalendarImpl'; import {DateValue} from '@react-types/calendar'; import {Flex} from '@react-spectrum/layout'; import {Item, Picker, Section} from '@react-spectrum/picker'; @@ -289,7 +289,7 @@ function ControlledFocus(props) { ); } -function CustomCalendar(props) { +function CustomCalendar(props) { return ( new Custom454Calendar()} focusedValue={new CalendarDate(2023, 2, 5)} /> ); diff --git a/packages/@react-spectrum/calendar/stories/RangeCalendar.stories.tsx b/packages/@react-spectrum/calendar/stories/RangeCalendar.stories.tsx index 21592bda299..a014ac868fc 100644 --- a/packages/@react-spectrum/calendar/stories/RangeCalendar.stories.tsx +++ b/packages/@react-spectrum/calendar/stories/RangeCalendar.stories.tsx @@ -13,7 +13,7 @@ import {action} from '@storybook/addon-actions'; import {CalendarDate, CalendarDateTime, getLocalTimeZone, isWeekend, parseZonedDateTime, today} from '@internationalized/date'; import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; -import {Custom454Calendar} from '@internationalized/date/tests/customCalendarImpl'; +import {Custom454Calendar} from '../../../@internationalized/date/tests/customCalendarImpl'; import {DateValue} from '@react-types/calendar'; import {Flex} from '@react-spectrum/layout'; import {RangeCalendar} from '../'; diff --git a/packages/@react-spectrum/datepicker/stories/DatePicker.stories.tsx b/packages/@react-spectrum/datepicker/stories/DatePicker.stories.tsx index f53d6ae8a6f..652a420d328 100644 --- a/packages/@react-spectrum/datepicker/stories/DatePicker.stories.tsx +++ b/packages/@react-spectrum/datepicker/stories/DatePicker.stories.tsx @@ -17,7 +17,7 @@ import {chain} from '@react-aria/utils'; import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; import {Content} from '@react-spectrum/view'; import {ContextualHelp} from '@react-spectrum/contextualhelp'; -import {Custom454Calendar} from '@internationalized/date/tests/customCalendarImpl'; +import {Custom454Calendar} from '../../../@internationalized/date/tests/customCalendarImpl'; import {DatePicker} from '../'; import {DateValue} from '@react-types/calendar'; import {Flex} from '@react-spectrum/layout'; diff --git a/packages/@react-spectrum/datepicker/stories/DateRangePicker.stories.tsx b/packages/@react-spectrum/datepicker/stories/DateRangePicker.stories.tsx index b71709b0f80..c142d595698 100644 --- a/packages/@react-spectrum/datepicker/stories/DateRangePicker.stories.tsx +++ b/packages/@react-spectrum/datepicker/stories/DateRangePicker.stories.tsx @@ -14,7 +14,7 @@ import {action} from '@storybook/addon-actions'; import {ActionButton} from '@react-spectrum/button'; import {CalendarDate, getLocalTimeZone, isWeekend, parseDate, today, toZoned} from '@internationalized/date'; import {chain} from '@react-aria/utils'; -import {Custom454Calendar} from '@internationalized/date/tests/customCalendarImpl'; +import {Custom454Calendar} from '../../../@internationalized/date/tests/customCalendarImpl'; import {DateRange} from '@react-types/datepicker'; import {DateRangePicker} from '../'; import {DateValue} from '@react-types/calendar'; diff --git a/packages/@react-spectrum/dropzone/stories/DropZone.stories.tsx b/packages/@react-spectrum/dropzone/stories/DropZone.stories.tsx index b78564d7dff..5140b4b1069 100644 --- a/packages/@react-spectrum/dropzone/stories/DropZone.stories.tsx +++ b/packages/@react-spectrum/dropzone/stories/DropZone.stories.tsx @@ -15,7 +15,7 @@ import {Button} from '@react-spectrum/button'; import {Cell, Column, Row, TableBody, TableHeader, TableView} from '@react-spectrum/table'; import {classNames} from '@react-spectrum/utils'; import {Content} from '@react-spectrum/view'; -import {Draggable} from '@react-aria/dnd/stories/dnd.stories'; +import {Draggable} from '../../../@react-aria/dnd/stories/dnd.stories'; import {DropEvent, FileDropItem, TextDropItem, useDrag} from 'react-aria'; import {DropZone} from '../'; import File from '@spectrum-icons/illustrations/File'; diff --git a/packages/@react-spectrum/list/stories/ListViewDnD.stories.tsx b/packages/@react-spectrum/list/stories/ListViewDnD.stories.tsx index 0b9bcf38f42..d46025df339 100644 --- a/packages/@react-spectrum/list/stories/ListViewDnD.stories.tsx +++ b/packages/@react-spectrum/list/stories/ListViewDnD.stories.tsx @@ -1,7 +1,7 @@ import {action} from '@storybook/addon-actions'; import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; import {DragBetweenListsExample, DragBetweenListsRootOnlyExample, DragExample, DragIntoItemExample, ReorderExample} from './ListViewDnDExamples'; -import {Droppable} from '@react-aria/dnd/stories/dnd.stories'; +import {Droppable} from '../../../@react-aria/dnd/stories/dnd.stories'; import {Flex} from '@react-spectrum/layout'; import {ListView} from '../'; import React from 'react'; diff --git a/packages/@react-spectrum/list/stories/ListViewDnDUtil.stories.tsx b/packages/@react-spectrum/list/stories/ListViewDnDUtil.stories.tsx index d2c56d02abe..057991599eb 100644 --- a/packages/@react-spectrum/list/stories/ListViewDnDUtil.stories.tsx +++ b/packages/@react-spectrum/list/stories/ListViewDnDUtil.stories.tsx @@ -1,7 +1,7 @@ import {action} from '@storybook/addon-actions'; import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; import {DragBetweenListsComplex, DragBetweenListsOverride, DragExampleUtilHandlers, FinderDropUtilHandlers, InsertExampleUtilHandlers, ItemDropExampleUtilHandlers, ReorderExampleUtilHandlers, RootDropExampleUtilHandlers} from './ListViewDnDUtilExamples'; -import {Droppable} from '@react-aria/dnd/stories/dnd.stories'; +import {Droppable} from '../../../@react-aria/dnd/stories/dnd.stories'; import {Flex} from '@react-spectrum/layout'; import {ListView} from '../'; import React from 'react'; diff --git a/yarn.lock b/yarn.lock index 17e6d5d9e6c..59589235bf3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5152,17 +5152,7 @@ __metadata: languageName: node linkType: hard -"@parcel/resolver-storybook@npm:^0.0.0": - version: 0.0.0 - resolution: "@parcel/resolver-storybook@npm:0.0.0" - dependencies: - "@parcel/node-resolver-core": "npm:^3.1.2" - "@parcel/plugin": "npm:^2.10.2" - checksum: 10c0/730b440fef53e6c1817d0dec1b72c8f127cde5c4fd3e37ecd129c9f47101bbd23184c01d32d1553e0a4d2388d27d978d5346eb8d6fe52a2db2a74c6250c9a67a - languageName: node - linkType: hard - -"@parcel/resolver-storybook@workspace:packages/dev/parcel-resolver-storybook": +"@parcel/resolver-storybook@npm:^0.0.0, @parcel/resolver-storybook@workspace:packages/dev/parcel-resolver-storybook": version: 0.0.0-use.local resolution: "@parcel/resolver-storybook@workspace:packages/dev/parcel-resolver-storybook" dependencies: @@ -5504,22 +5494,7 @@ __metadata: languageName: node linkType: hard -"@parcel/transformer-storybook@npm:^0.0.2": - version: 0.0.2 - resolution: "@parcel/transformer-storybook@npm:0.0.2" - dependencies: - "@babel/parser": "npm:^7.23.0" - "@babel/types": "npm:^7.23.0" - "@parcel/plugin": "npm:^2.10.2" - "@storybook/csf-tools": "npm:^7" - "@storybook/docs-tools": "npm:^7" - react-docgen-typescript: "npm:^2.2.2" - typescript: "npm:^5.5.0" - checksum: 10c0/9c612e1c1965048f75a4d0404d7fbaf89a0be800642558be105721e7eb48d22a294204e3148874de594b2cafe15719c8b31ed103c92405ab059ad672ea67b3f3 - languageName: node - linkType: hard - -"@parcel/transformer-storybook@workspace:packages/dev/parcel-transformer-storybook": +"@parcel/transformer-storybook@npm:^0.0.2, @parcel/transformer-storybook@workspace:packages/dev/parcel-transformer-storybook": version: 0.0.0-use.local resolution: "@parcel/transformer-storybook@workspace:packages/dev/parcel-transformer-storybook" dependencies: @@ -26933,18 +26908,7 @@ __metadata: languageName: node linkType: hard -"react-dom@npm:^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0": - version: 19.1.0 - resolution: "react-dom@npm:19.1.0" - dependencies: - scheduler: "npm:^0.26.0" - peerDependencies: - react: ^19.1.0 - checksum: 10c0/3e26e89bb6c67c9a6aa86cb888c7a7f8258f2e347a6d2a15299c17eb16e04c19194e3452bc3255bd34000a61e45e2cb51e46292392340432f133e5a5d2dfb5fc - languageName: node - linkType: hard - -"react-dom@npm:^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0, react-dom@npm:^18.2.0": +"react-dom@npm:18.3.1": version: 18.3.1 resolution: "react-dom@npm:18.3.1" dependencies: @@ -27236,14 +27200,7 @@ __metadata: languageName: node linkType: hard -"react@npm:^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0": - version: 19.1.0 - resolution: "react@npm:19.1.0" - checksum: 10c0/530fb9a62237d54137a13d2cfb67a7db6a2156faed43eecc423f4713d9b20c6f2728b026b45e28fcd72e8eadb9e9ed4b089e99f5e295d2f0ad3134251bdd3698 - languageName: node - linkType: hard - -"react@npm:^18.2.0": +"react@npm:18.3.1": version: 18.3.1 resolution: "react@npm:18.3.1" dependencies: @@ -28240,13 +28197,6 @@ __metadata: languageName: node linkType: hard -"scheduler@npm:^0.26.0": - version: 0.26.0 - resolution: "scheduler@npm:0.26.0" - checksum: 10c0/5b8d5bfddaae3513410eda54f2268e98a376a429931921a81b5c3a2873aab7ca4d775a8caac5498f8cbc7d0daeab947cf923dbd8e215d61671f9f4e392d34356 - languageName: node - linkType: hard - "semver-diff@npm:^2.0.0": version: 2.1.0 resolution: "semver-diff@npm:2.1.0" From 9f2dd97fc195f94b9081202a9d19d4894bd4629f Mon Sep 17 00:00:00 2001 From: Robert Snow Date: Wed, 21 May 2025 14:00:45 +1000 Subject: [PATCH 04/10] fix lint, multiple copies of storybook, paths --- .storybook-s2/docs/Icons.jsx | 2 +- .storybook-s2/main.ts | 3 + .storybook/main.js | 4 + .../actionbar/stories/ActionBar.stories.tsx | 6 +- .../stories/ActionGroup.stories.tsx | 6 +- .../actiongroup/stories/Toolbar.stories.tsx | 6 +- .../stories/SearchAutocomplete.stories.tsx | 6 +- .../badge/chromatic-fc/Badge.stories.tsx | 10 +- .../badge/chromatic/Badge.stories.tsx | 20 +- .../badge/stories/Badge.stories.tsx | 6 +- .../stories/Breadcrumbs.stories.tsx | 8 +- .../button/stories/ActionButton.stories.tsx | 6 +- .../button/stories/Button.stories.tsx | 12 +- .../button/stories/LogicButton.stories.tsx | 6 +- .../button/stories/ToggleButton.stories.tsx | 6 +- .../stories/ButtonGroup.stories.tsx | 6 +- .../calendar/stories/Calendar.stories.tsx | 6 +- .../stories/RangeCalendar.stories.tsx | 6 +- .../card/chromatic-fc/Card.stories.tsx | 4 +- .../card/chromatic-fc/QuietCard.stories.tsx | 4 +- .../card/chromatic/Card.stories.tsx | 6 +- .../card/chromatic/HorizontalCard.stories.tsx | 4 +- .../card/chromatic/QuietCard.stories.tsx | 4 +- .../card/stories/Card.stories.tsx | 6 +- .../card/stories/GalleryCardView.stories.tsx | 4 +- .../card/stories/GridCardView.stories.tsx | 18 +- .../card/stories/HorizontalCard.stories.tsx | 4 +- .../card/stories/QuietCard.stories.tsx | 4 +- .../stories/WaterfallCardView.stories.tsx | 6 +- .../checkbox/stories/Checkbox.stories.tsx | 6 +- .../stories/CheckboxGroup.stories.tsx | 6 +- .../color/stories/ColorArea.stories.tsx | 4 +- .../color/stories/ColorField.stories.tsx | 6 +- .../color/stories/ColorSlider.stories.tsx | 6 +- .../color/stories/ColorThumb.stories.tsx | 6 +- .../color/stories/ColorWheel.stories.tsx | 6 +- .../combobox/stories/ComboBox.stories.tsx | 6 +- .../stories/ContextualHelp.stories.tsx | 6 +- .../datepicker/stories/DateField.stories.tsx | 6 +- .../datepicker/stories/DatePicker.stories.tsx | 6 +- .../IllustratedMessage.Languages.stories.tsx | 8 +- .../chromatic/IllustratedMessage.stories.tsx | 12 +- .../stories/IllustratedMessage.stories.tsx | 6 +- .../image/stories/Image.stories.tsx | 6 +- .../label/chromatic/HelpText.stories.tsx | 6 +- .../label/chromatic/Label.stories.tsx | 6 +- .../label/stories/HelpText.stories.tsx | 8 +- .../label/stories/Label.stories.tsx | 6 +- .../chromatic/LabeledValue.stories.tsx | 6 +- .../link/stories/Link.stories.tsx | 6 +- .../list/stories/ListView.stories.tsx | 6 +- .../list/stories/ListViewActions.stories.tsx | 6 +- .../list/stories/ListViewDnD.stories.tsx | 6 +- .../list/stories/ListViewDnDUtil.stories.tsx | 6 +- .../stories/ListViewSelection.stories.tsx | 6 +- .../menu/chromatic/Submenu.stories.tsx | 4 +- .../meter/stories/Meter.stories.tsx | 6 +- .../picker/stories/Picker.stories.tsx | 20 +- .../stories/StatusLight.stories.tsx | 6 +- .../steplist/chromatic/StepList.stories.tsx | 6 +- .../steplist/stories/StepList.stories.tsx | 8 +- .../switch/stories/Switch.stories.tsx | 6 +- .../table/stories/Table.stories.tsx | 8 +- .../table/stories/TableDnD.stories.tsx | 4 +- .../table/stories/TableDnDUtil.stories.tsx | 4 +- .../table/stories/TreeGridTable.stories.tsx | 8 +- .../tag/chromatic/TagGroup.stories.tsx | 6 +- .../tag/stories/TagGroup.stories.tsx | 6 +- .../textfield/stories/Textfield.stories.tsx | 4 +- .../tooltip/chromatic/Tooltip.stories.tsx | 6 +- .../chromatic/TooltipTrigger.stories.tsx | 6 +- .../TooltipTriggerExpress.stories.tsx | 4 +- .../chromatic/TooltipTriggerRTL.stories.tsx | 4 +- .../tooltip/stories/Tooltip.stories.tsx | 6 +- .../stories/TooltipTrigger.stories.tsx | 6 +- .../view/chromatic/View.stories.tsx | 6 +- .../well/stories/Well.stories.tsx | 6 +- .../StorybookResolver.ts | 23 +- .../parcel-resolver-storybook/package.json | 3 +- .../StoryTransformer.ts | 260 +------ .../parcel-transformer-storybook/csf-hmr.js | 2 +- .../parcel-transformer-storybook/package.json | 8 +- .../react-docgen-typescript.ts | 13 +- .../gen-iframe-modern.js | 44 +- .../gen-preview-modern.js | 85 ++- .../dev/storybook-builder-parcel/preset.js | 64 +- packages/dev/storybook-react-parcel/preset.js | 4 +- .../stories/Toolbar.stories.tsx | 61 +- yarn.lock | 658 +----------------- 89 files changed, 442 insertions(+), 1276 deletions(-) diff --git a/.storybook-s2/docs/Icons.jsx b/.storybook-s2/docs/Icons.jsx index cff7168b49f..7c4ab5a190a 100644 --- a/.storybook-s2/docs/Icons.jsx +++ b/.storybook-s2/docs/Icons.jsx @@ -1,4 +1,4 @@ -import icons from '@react-spectrum/s2/s2wf-icons/*.svg'; +import icons from '../../packages/@react-spectrum/s2/s2wf-icons/*.svg'; import { style } from '../../packages/@react-spectrum/s2/style/spectrum-theme' with {type: 'macro'}; import {ActionButton, Text} from '@react-spectrum/s2'; import {H2, H3, P, Code, Pre, Link} from './typography'; diff --git a/.storybook-s2/main.ts b/.storybook-s2/main.ts index 6c0d906a774..949e310ac7f 100644 --- a/.storybook-s2/main.ts +++ b/.storybook-s2/main.ts @@ -31,6 +31,9 @@ const config: StorybookConfig = { framework: { name: "storybook-react-parcel", options: {}, + }, + core: { + disableWhatsNewNotifications: true } // typescript: { // reactDocgen: 'react-docgen-typescript', diff --git a/.storybook/main.js b/.storybook/main.js index c32ec3cc10c..e9986a2e7a6 100644 --- a/.storybook/main.js +++ b/.storybook/main.js @@ -26,5 +26,9 @@ module.exports = { framework: { name: "storybook-react-parcel", options: {}, + }, + + core: { + disableWhatsNewNotifications: true } }; diff --git a/packages/@react-spectrum/actionbar/stories/ActionBar.stories.tsx b/packages/@react-spectrum/actionbar/stories/ActionBar.stories.tsx index be67457cacf..e31037844c9 100644 --- a/packages/@react-spectrum/actionbar/stories/ActionBar.stories.tsx +++ b/packages/@react-spectrum/actionbar/stories/ActionBar.stories.tsx @@ -12,8 +12,8 @@ import {action} from '@storybook/addon-actions'; import {ActionBar} from '../src'; -import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; import {Example} from './Example'; +import {Meta, StoryObj} from '@storybook/react'; import React from 'react'; import {useViewportSize} from '@react-aria/utils'; @@ -37,9 +37,9 @@ export default { options: ['show', 'hide', 'collapse'] } } -} as ComponentMeta; +} as Meta; -export type ActionBarStory = ComponentStoryObj; +export type ActionBarStory = StoryObj; export const Default: ActionBarStory = { render: (args) => , diff --git a/packages/@react-spectrum/actiongroup/stories/ActionGroup.stories.tsx b/packages/@react-spectrum/actiongroup/stories/ActionGroup.stories.tsx index 352e0addcad..f1be08cd2a7 100644 --- a/packages/@react-spectrum/actiongroup/stories/ActionGroup.stories.tsx +++ b/packages/@react-spectrum/actiongroup/stories/ActionGroup.stories.tsx @@ -14,7 +14,6 @@ import {action} from '@storybook/addon-actions'; import {ActionGroup} from '../'; import BookIcon from '@spectrum-icons/workflow/Book'; import Brush from '@spectrum-icons/workflow/Brush'; -import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; import CopyIcon from '@spectrum-icons/workflow/Copy'; import DeleteIcon from '@spectrum-icons/workflow/Delete'; import DocumentIcon from '@spectrum-icons/workflow/Document'; @@ -24,6 +23,7 @@ import {Flex} from '@react-spectrum/layout'; import Heal from '@spectrum-icons/workflow/Heal'; import InfoIcon from '@spectrum-icons/workflow/Info'; import {Item} from '@react-stately/collections'; +import {Meta, StoryObj} from '@storybook/react'; import MoveIcon from '@spectrum-icons/workflow/MoveTo'; import PropertiesIcon from '@spectrum-icons/workflow/Properties'; import React from 'react'; @@ -126,9 +126,9 @@ export default { options: ['show', 'hide', 'collapse'] } } -} as ComponentMeta; +} as Meta; -export type ActionGroupStory = ComponentStoryObj; +export type ActionGroupStory = StoryObj; export const Default: ActionGroupStory = { args: {items: viewItems}, diff --git a/packages/@react-spectrum/actiongroup/stories/Toolbar.stories.tsx b/packages/@react-spectrum/actiongroup/stories/Toolbar.stories.tsx index 6f741d9f801..7bd61a50564 100644 --- a/packages/@react-spectrum/actiongroup/stories/Toolbar.stories.tsx +++ b/packages/@react-spectrum/actiongroup/stories/Toolbar.stories.tsx @@ -13,13 +13,13 @@ import {ActionGroup} from '../'; import {AriaLabelingProps, Orientation} from '@react-types/shared'; import {classNames, SlotProvider, useSlotProps} from '@react-spectrum/utils'; -import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; import CopyIcon from '@spectrum-icons/workflow/Copy'; import DeleteIcon from '@spectrum-icons/workflow/Delete'; import {Divider} from '@react-spectrum/divider'; import DrawIcon from '@spectrum-icons/workflow/Draw'; import InfoIcon from '@spectrum-icons/workflow/Info'; import {Item} from '@react-stately/collections'; +import {Meta, StoryObj} from '@storybook/react'; import PropertiesIcon from '@spectrum-icons/workflow/Properties'; import {Toolbar as RACToolbar} from 'react-aria-components'; import React, {ForwardedRef, forwardRef, ReactElement, ReactNode, useMemo} from 'react'; @@ -83,9 +83,9 @@ export default { } }, excludeStories: ['Toolbar'] -} as ComponentMeta; +} as Meta; -export type ToolbarStory = ComponentStoryObj; +export type ToolbarStory = StoryObj; let items1 = [ {id: 'edit', textValue: 'Edit', icon: DrawIcon}, diff --git a/packages/@react-spectrum/autocomplete/stories/SearchAutocomplete.stories.tsx b/packages/@react-spectrum/autocomplete/stories/SearchAutocomplete.stories.tsx index d1bf9cee42c..b7e3b8dd7a0 100644 --- a/packages/@react-spectrum/autocomplete/stories/SearchAutocomplete.stories.tsx +++ b/packages/@react-spectrum/autocomplete/stories/SearchAutocomplete.stories.tsx @@ -13,17 +13,17 @@ import {action} from '@storybook/addon-actions'; import {Avatar} from '@react-spectrum/avatar'; -import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; import Filter from '@spectrum-icons/workflow/Filter'; import {Flex} from '@react-spectrum/layout'; import {Item, SearchAutocomplete} from '@react-spectrum/autocomplete'; import {mergeProps} from '@react-aria/utils'; +import {Meta, StoryObj} from '@storybook/react'; import React from 'react'; import {Text} from '@react-spectrum/text'; import {useAsyncList} from '@react-stately/data'; -type SearchAutocompleteStory = ComponentStoryObj; +type SearchAutocompleteStory = StoryObj; export default { title: 'SearchAutocomplete', @@ -184,7 +184,7 @@ export default { } } } -} as ComponentMeta; +} as Meta; let items = [ {id: 1, name: 'Aerospace'}, diff --git a/packages/@react-spectrum/badge/chromatic-fc/Badge.stories.tsx b/packages/@react-spectrum/badge/chromatic-fc/Badge.stories.tsx index cc06ea58250..b0174eb7a9c 100644 --- a/packages/@react-spectrum/badge/chromatic-fc/Badge.stories.tsx +++ b/packages/@react-spectrum/badge/chromatic-fc/Badge.stories.tsx @@ -11,19 +11,19 @@ */ import {Badge} from '..'; -import {BadgeStory, renderVariants} from '../chromatic/Badge.stories'; -import CheckmarkCircle from '@spectrum-icons/workflow/src/CheckmarkCircle'; -import {ComponentMeta} from '@storybook/react'; +import {BadgeStory, RenderVariants} from '../chromatic/Badge.stories'; +import CheckmarkCircle from '@spectrum-icons/workflow/CheckmarkCircle'; +import {Meta} from '@storybook/react'; import React from 'react'; import {Text} from '@react-spectrum/text'; export default { title: 'Badge', component: Badge -} as ComponentMeta; +} as Meta; export const TextIcon: BadgeStory = { name: 'Text & icon', args: {children: <>Badge text}, - render: renderVariants + render: (args) => }; diff --git a/packages/@react-spectrum/badge/chromatic/Badge.stories.tsx b/packages/@react-spectrum/badge/chromatic/Badge.stories.tsx index 12702fbc7cc..8c7102039bb 100644 --- a/packages/@react-spectrum/badge/chromatic/Badge.stories.tsx +++ b/packages/@react-spectrum/badge/chromatic/Badge.stories.tsx @@ -11,9 +11,9 @@ */ import {Badge} from '../'; -import CheckmarkCircle from '@spectrum-icons/workflow/src/CheckmarkCircle'; -import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; +import CheckmarkCircle from '@spectrum-icons/workflow/CheckmarkCircle'; import {Flex} from '@react-spectrum/layout'; +import {Meta, StoryObj} from '@storybook/react'; import React from 'react'; import {SpectrumBadgeProps} from '@react-types/badge'; import {Text} from '@react-spectrum/text'; @@ -21,40 +21,40 @@ import {Text} from '@react-spectrum/text'; let variants: SpectrumBadgeProps['variant'][] = ['positive', 'info', 'negative', 'neutral', 'yellow', 'fuchsia', 'indigo', 'seafoam', 'magenta', 'purple']; -export type BadgeStory = ComponentStoryObj; +export type BadgeStory = StoryObj; export default { title: 'Badge', component: Badge, excludeStories: ['renderVariants'] -} as ComponentMeta; +} as Meta; -export const renderVariants = (args) => ( +export const RenderVariants = (args) => ( - {variants.map((variant) => )} + {variants.map((variant) => )} ); export const TextOnly: BadgeStory = { args: {children: 'Badge text'}, - render: renderVariants + render: (args) => }; export const IconOnly: BadgeStory = { args: {children: }, - render: renderVariants + render: (args) => }; export const IconText: BadgeStory = { name: 'Icon & text', args: {children: <>Badge text}, - render: renderVariants + render: (args) => }; export const TextIcon: BadgeStory = { name: 'Text & icon', args: {children: <>Badge text}, - render: renderVariants + render: (args) => }; export const Overflow: BadgeStory = { diff --git a/packages/@react-spectrum/badge/stories/Badge.stories.tsx b/packages/@react-spectrum/badge/stories/Badge.stories.tsx index d1934b06f51..392b5d1a3cf 100644 --- a/packages/@react-spectrum/badge/stories/Badge.stories.tsx +++ b/packages/@react-spectrum/badge/stories/Badge.stories.tsx @@ -12,11 +12,11 @@ import {Badge} from '../'; import CheckmarkCircle from '@spectrum-icons/workflow/CheckmarkCircle'; -import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; +import {Meta, StoryObj} from '@storybook/react'; import React from 'react'; import {Text} from '@react-spectrum/text'; -type BadgeStory = ComponentStoryObj; +type BadgeStory = StoryObj; export default { title: 'Badge', @@ -29,7 +29,7 @@ export default { } } } -} as ComponentMeta; +} as Meta; export const Default: BadgeStory = { args: {children: 'Licensed', variant: 'positive'}, diff --git a/packages/@react-spectrum/breadcrumbs/stories/Breadcrumbs.stories.tsx b/packages/@react-spectrum/breadcrumbs/stories/Breadcrumbs.stories.tsx index 8aae4aa358d..b39de3cc0bc 100644 --- a/packages/@react-spectrum/breadcrumbs/stories/Breadcrumbs.stories.tsx +++ b/packages/@react-spectrum/breadcrumbs/stories/Breadcrumbs.stories.tsx @@ -12,9 +12,9 @@ import {action} from '@storybook/addon-actions'; import {Breadcrumbs} from '../'; -import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; -// import {Heading} from '@react-spectrum/text'; import {Item} from '@react-stately/collections'; +// import {Heading} from '@react-spectrum/text'; +import {Meta, StoryObj} from '@storybook/react'; import React from 'react'; let styles = { @@ -22,7 +22,7 @@ let styles = { }; const CenterDecorator = storyFn =>
{storyFn()}
; -export type BreadcrumbsStory = ComponentStoryObj; +export type BreadcrumbsStory = StoryObj; export default { title: 'Breadcrumbs', @@ -54,7 +54,7 @@ export default { options: ['S', 'M', 'L'] } } -} as ComponentMeta; +} as Meta; export const Default: BreadcrumbsStory = { render: (args) => render(args), diff --git a/packages/@react-spectrum/button/stories/ActionButton.stories.tsx b/packages/@react-spectrum/button/stories/ActionButton.stories.tsx index b784c2e8785..ed952a551fd 100644 --- a/packages/@react-spectrum/button/stories/ActionButton.stories.tsx +++ b/packages/@react-spectrum/button/stories/ActionButton.stories.tsx @@ -13,13 +13,13 @@ import {action} from '@storybook/addon-actions'; import {ActionButton} from '../'; import Add from '@spectrum-icons/workflow/Add'; -import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; import {Flex} from '@react-spectrum/layout'; +import {Meta, StoryObj} from '@storybook/react'; import React from 'react'; import {Text} from '@react-spectrum/text'; import {View} from '@react-spectrum/view'; -export type ActionButtonStory = ComponentStoryObj; +export type ActionButtonStory = StoryObj; export default { title: 'Button/ActionButton', @@ -57,7 +57,7 @@ export default { control: 'boolean' } } -} as ComponentMeta; +} as Meta; export const Default: ActionButtonStory = { diff --git a/packages/@react-spectrum/button/stories/Button.stories.tsx b/packages/@react-spectrum/button/stories/Button.stories.tsx index 2746a546617..f78b53c236e 100644 --- a/packages/@react-spectrum/button/stories/Button.stories.tsx +++ b/packages/@react-spectrum/button/stories/Button.stories.tsx @@ -14,16 +14,16 @@ import {action} from '@storybook/addon-actions'; import {BackgroundColorValue} from '@react-types/shared'; import Bell from '@spectrum-icons/workflow/Bell'; import {Button} from '../'; -import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; import {Flex} from '@react-spectrum/layout'; import {Form} from '@react-spectrum/form'; +import {Meta, StoryObj} from '@storybook/react'; import React, {ElementType, useState} from 'react'; import {SpectrumButtonProps} from '@react-types/button'; import {Text} from '@react-spectrum/text'; import {Tooltip, TooltipTrigger} from '@react-spectrum/tooltip'; import {View} from '@react-spectrum/view'; -export type ButtonStory = ComponentStoryObj; +export type ButtonStory = StoryObj; export default { title: 'Button', @@ -36,7 +36,8 @@ export default { onPressUp: action('pressup'), onFocus: action('focus'), onBlur: action('blur'), - onKeyUp: action('keyup') + onKeyUp: action('keyup'), + variant: 'accent' }, argTypes: { onPress: { @@ -64,8 +65,7 @@ export default { }, variant: { control: 'select', - options: ['accent', 'primary', 'secondary', 'negative', 'cta', 'overBackground'], - defaultValue: 'accent' + options: ['accent', 'primary', 'secondary', 'negative', 'cta', 'overBackground'] }, style: { control: 'select', @@ -80,7 +80,7 @@ export default { defaultValue: false } } -} as ComponentMeta; +} as Meta; export const Default: ButtonStory = { render: (args) => render(args) diff --git a/packages/@react-spectrum/button/stories/LogicButton.stories.tsx b/packages/@react-spectrum/button/stories/LogicButton.stories.tsx index e5e4e23c621..c7ee73832a6 100644 --- a/packages/@react-spectrum/button/stories/LogicButton.stories.tsx +++ b/packages/@react-spectrum/button/stories/LogicButton.stories.tsx @@ -11,11 +11,11 @@ */ import {action} from '@storybook/addon-actions'; -import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; import {LogicButton} from '../'; +import {Meta, StoryObj} from '@storybook/react'; import React from 'react'; -export type LogicButtonStory = ComponentStoryObj; +export type LogicButtonStory = StoryObj; export default { title: 'Button/LogicButton', @@ -50,7 +50,7 @@ export default { defaultValue: 'and' } } -} as ComponentMeta; +} as Meta; export const Default: LogicButtonStory = { render: (args) => render(args) diff --git a/packages/@react-spectrum/button/stories/ToggleButton.stories.tsx b/packages/@react-spectrum/button/stories/ToggleButton.stories.tsx index 9dcee116b2d..163c0b3205e 100644 --- a/packages/@react-spectrum/button/stories/ToggleButton.stories.tsx +++ b/packages/@react-spectrum/button/stories/ToggleButton.stories.tsx @@ -12,12 +12,12 @@ import {action} from '@storybook/addon-actions'; import Add from '@spectrum-icons/workflow/Add'; -import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; import {Flex, Text, View} from '@adobe/react-spectrum'; +import {Meta, StoryObj} from '@storybook/react'; import React, {useState} from 'react'; import {ToggleButton} from '../'; -export type ToggleButtonStory = ComponentStoryObj; +export type ToggleButtonStory = StoryObj; export default { title: 'Button/ToggleButton', @@ -62,7 +62,7 @@ export default { control: 'boolean' } } -} as ComponentMeta; +} as Meta; export const Default: ToggleButtonStory = { render: (args) => render(args) diff --git a/packages/@react-spectrum/buttongroup/stories/ButtonGroup.stories.tsx b/packages/@react-spectrum/buttongroup/stories/ButtonGroup.stories.tsx index ac784ae6915..981731d9668 100644 --- a/packages/@react-spectrum/buttongroup/stories/ButtonGroup.stories.tsx +++ b/packages/@react-spectrum/buttongroup/stories/ButtonGroup.stories.tsx @@ -14,11 +14,11 @@ import {action} from '@storybook/addon-actions'; import Bell from '@spectrum-icons/workflow/Bell'; import {Button} from '@react-spectrum/button'; import {ButtonGroup} from '../'; -import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; +import {Meta, StoryObj} from '@storybook/react'; import React, {useState} from 'react'; import {Text} from '@react-spectrum/text'; -export type ButtonGroupStory = ComponentStoryObj; +export type ButtonGroupStory = StoryObj; export default { title: 'ButtonGroup', @@ -36,7 +36,7 @@ export default { options: ['start', 'end', 'center'] } } -} as ComponentMeta; +} as Meta; export const Default: ButtonGroupStory = { render: (args) => ( diff --git a/packages/@react-spectrum/calendar/stories/Calendar.stories.tsx b/packages/@react-spectrum/calendar/stories/Calendar.stories.tsx index 44a5758bf4d..04d513ded6d 100644 --- a/packages/@react-spectrum/calendar/stories/Calendar.stories.tsx +++ b/packages/@react-spectrum/calendar/stories/Calendar.stories.tsx @@ -13,19 +13,19 @@ import {action} from '@storybook/addon-actions'; import {ActionButton} from '@react-spectrum/button'; import {Calendar} from '../'; import {CalendarDate, CalendarDateTime, getLocalTimeZone, parseZonedDateTime, today, ZonedDateTime} from '@internationalized/date'; -import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; import {Custom454Calendar} from '../../../@internationalized/date/tests/customCalendarImpl'; import {DateValue} from '@react-types/calendar'; import {Flex} from '@react-spectrum/layout'; import {Item, Picker, Section} from '@react-spectrum/picker'; import {Key} from '@react-types/shared'; +import {Meta, StoryObj} from '@storybook/react'; import {Provider} from '@react-spectrum/provider'; import React, {useState} from 'react'; import {TimeField} from '@react-spectrum/datepicker'; import {useLocale} from '@react-aria/i18n'; import {View} from '@react-spectrum/view'; -export type CalendarStory = ComponentStoryObj; +export type CalendarStory = StoryObj; export default { title: 'Date and Time/Calendar', @@ -94,7 +94,7 @@ export default { control: 'text' } } -} as ComponentMeta; +} as Meta; export const Default: CalendarStory = { render: (args) => diff --git a/packages/@react-spectrum/calendar/stories/RangeCalendar.stories.tsx b/packages/@react-spectrum/calendar/stories/RangeCalendar.stories.tsx index a014ac868fc..e545b9dad5f 100644 --- a/packages/@react-spectrum/calendar/stories/RangeCalendar.stories.tsx +++ b/packages/@react-spectrum/calendar/stories/RangeCalendar.stories.tsx @@ -12,17 +12,17 @@ import {action} from '@storybook/addon-actions'; import {CalendarDate, CalendarDateTime, getLocalTimeZone, isWeekend, parseZonedDateTime, today} from '@internationalized/date'; -import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; import {Custom454Calendar} from '../../../@internationalized/date/tests/customCalendarImpl'; import {DateValue} from '@react-types/calendar'; import {Flex} from '@react-spectrum/layout'; +import {Meta, StoryObj} from '@storybook/react'; import {RangeCalendar} from '../'; import React, {useState} from 'react'; import {TimeField} from '@react-spectrum/datepicker'; import {useLocale} from '@react-aria/i18n'; import {View} from '@react-spectrum/view'; -export type RangeCalendarStory = ComponentStoryObj; +export type RangeCalendarStory = StoryObj; export default { title: 'Date and Time/RangeCalendar', @@ -86,7 +86,7 @@ export default { control: 'text' } } -} as ComponentMeta; +} as Meta; export const Default: RangeCalendarStory = { render: (args) => render(args) diff --git a/packages/@react-spectrum/card/chromatic-fc/Card.stories.tsx b/packages/@react-spectrum/card/chromatic-fc/Card.stories.tsx index 4ea85d9b0ab..30ea55a9bd6 100644 --- a/packages/@react-spectrum/card/chromatic-fc/Card.stories.tsx +++ b/packages/@react-spectrum/card/chromatic-fc/Card.stories.tsx @@ -17,17 +17,17 @@ import { WithColorfulIllustration as WithColorfulIllustrationStory, WithIllustration as WithIllustrationStory } from '../chromatic/Card.stories'; -import {ComponentMeta} from '@storybook/react'; import { Default as DefaultCard, Selected as SelectedStory } from '../stories/Card.stories'; +import {Meta} from '@storybook/react'; export default { title: 'Card/default', component: Card, excludeStories: ['WithColorfulIllustratedMessage'] -} as ComponentMeta; +} as Meta; export const Default: CardStory = DefaultCard; diff --git a/packages/@react-spectrum/card/chromatic-fc/QuietCard.stories.tsx b/packages/@react-spectrum/card/chromatic-fc/QuietCard.stories.tsx index 4f3f26f2a02..64cfc24543a 100644 --- a/packages/@react-spectrum/card/chromatic-fc/QuietCard.stories.tsx +++ b/packages/@react-spectrum/card/chromatic-fc/QuietCard.stories.tsx @@ -17,7 +17,7 @@ import { Default, Selected } from '../chromatic/Card.stories'; -import {ComponentMeta} from '@storybook/react'; +import {Meta} from '@storybook/react'; export default { title: 'Card/quiet', @@ -25,7 +25,7 @@ export default { args: { isQuiet: true } -} as ComponentMeta; +} as Meta; export const Quiet: CardStory = { ...Default diff --git a/packages/@react-spectrum/card/chromatic/Card.stories.tsx b/packages/@react-spectrum/card/chromatic/Card.stories.tsx index 04ebd6e6031..ee618c50a71 100644 --- a/packages/@react-spectrum/card/chromatic/Card.stories.tsx +++ b/packages/@react-spectrum/card/chromatic/Card.stories.tsx @@ -14,21 +14,21 @@ import assetStyles from '@adobe/spectrum-css-temp/components/asset/vars.css'; import {Card} from '..'; import {classNames, useSlotProps, useStyleProps} from '@react-spectrum/utils'; -import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; import {Content} from '@react-spectrum/view'; import {Default as DefaultCard, Selected as SelectedStory} from '../stories/Card.stories'; import {Heading, Text} from '@react-spectrum/text'; import {IllustratedMessage} from '@react-spectrum/illustratedmessage'; import {Image} from '@react-spectrum/image'; +import {Meta, StoryObj} from '@storybook/react'; import React from 'react'; export default { title: 'Card/default', component: Card, excludeStories: ['WithColorfulIllustratedMessage'] -} as ComponentMeta; +} as Meta; -export type CardStory = ComponentStoryObj; +export type CardStory = StoryObj; export const Default = DefaultCard; diff --git a/packages/@react-spectrum/card/chromatic/HorizontalCard.stories.tsx b/packages/@react-spectrum/card/chromatic/HorizontalCard.stories.tsx index 838c89bb754..ebf9bc38a52 100644 --- a/packages/@react-spectrum/card/chromatic/HorizontalCard.stories.tsx +++ b/packages/@react-spectrum/card/chromatic/HorizontalCard.stories.tsx @@ -24,7 +24,7 @@ import { NoDescriptionSquare, WithIllustration } from './Card.stories'; -import {ComponentMeta} from '@storybook/react'; +import {Meta} from '@storybook/react'; import React from 'react'; export default { @@ -33,7 +33,7 @@ export default { args: { orientation: 'horizontal' } -} as ComponentMeta; +} as Meta; export const Horizontal: CardStory = { ...Default, diff --git a/packages/@react-spectrum/card/chromatic/QuietCard.stories.tsx b/packages/@react-spectrum/card/chromatic/QuietCard.stories.tsx index abc9390c752..01d6ce68031 100644 --- a/packages/@react-spectrum/card/chromatic/QuietCard.stories.tsx +++ b/packages/@react-spectrum/card/chromatic/QuietCard.stories.tsx @@ -27,7 +27,7 @@ import { Selected, WithIllustration } from './Card.stories'; -import {ComponentMeta} from '@storybook/react'; +import {Meta} from '@storybook/react'; export default { title: 'Card/quiet', @@ -35,7 +35,7 @@ export default { args: { isQuiet: true } -} as ComponentMeta; +} as Meta; export const Quiet: CardStory = { ...Default diff --git a/packages/@react-spectrum/card/stories/Card.stories.tsx b/packages/@react-spectrum/card/stories/Card.stories.tsx index 1292fe60f6d..5466af33b00 100644 --- a/packages/@react-spectrum/card/stories/Card.stories.tsx +++ b/packages/@react-spectrum/card/stories/Card.stories.tsx @@ -15,11 +15,11 @@ import {Avatar} from '@react-spectrum/avatar'; import {Card} from '..'; import {CardBase} from '../src/CardBase'; import {CardViewContext} from '../src/CardViewContext'; -import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; import {Content} from '@react-spectrum/view'; import {getDescription, getImage} from './utils'; import {Heading, Text} from '@react-spectrum/text'; import {Image} from '@react-spectrum/image'; +import {Meta, StoryObj} from '@storybook/react'; import React, {Dispatch, SetStateAction, useState} from 'react'; import {SpectrumCardProps} from '@react-types/card'; import {usePress} from '@react-aria/interactions'; @@ -40,9 +40,9 @@ export default { } } } -} as ComponentMeta; +} as Meta; -export type CardStory = ComponentStoryObj; +export type CardStory = StoryObj; export const Default: CardStory = { args: { diff --git a/packages/@react-spectrum/card/stories/GalleryCardView.stories.tsx b/packages/@react-spectrum/card/stories/GalleryCardView.stories.tsx index bb59b03f79b..3263e0377ad 100644 --- a/packages/@react-spectrum/card/stories/GalleryCardView.stories.tsx +++ b/packages/@react-spectrum/card/stories/GalleryCardView.stories.tsx @@ -30,11 +30,11 @@ import { StaticCardViewStory } from './GridCardView.stories'; import {CardView, GalleryLayout} from '../'; -import {ComponentStoryObj} from '@storybook/react'; import {GalleryLayoutOptions} from '../src/GalleryLayout'; import React, {useMemo} from 'react'; import {Size} from '@react-stately/virtualizer'; import {SpectrumCardViewProps} from '@react-types/card'; +import {StoryObj} from '@storybook/react'; import {useCollator} from '@react-aria/i18n'; let itemsLowVariance = [ @@ -215,7 +215,7 @@ export const CustomLayoutOptions: CustomGalleryLayoutStory = { interface LayoutOptions { layoutOptions?: GalleryLayoutOptions } -type CustomGalleryLayoutStory = ComponentStoryObj; +type CustomGalleryLayoutStory = StoryObj; function CustomGalleryLayout(props: SpectrumCardViewProps & LayoutOptions) { let { layoutOptions, diff --git a/packages/@react-spectrum/card/stories/GridCardView.stories.tsx b/packages/@react-spectrum/card/stories/GridCardView.stories.tsx index 12b78121a15..647e26d74c4 100644 --- a/packages/@react-spectrum/card/stories/GridCardView.stories.tsx +++ b/packages/@react-spectrum/card/stories/GridCardView.stories.tsx @@ -14,7 +14,6 @@ import {action} from '@storybook/addon-actions'; import {ActionButton} from '@react-spectrum/button'; import {Card, CardView, GridLayout} from '../'; -import {ComponentStoryObj} from '@storybook/react'; import {Content, View} from '@react-spectrum/view'; import {Flex} from '@react-spectrum/layout'; import {getImageFullData} from './utils'; @@ -27,6 +26,7 @@ import {Link} from '@react-spectrum/link'; import React, {useMemo, useState} from 'react'; import {Size} from '@react-stately/virtualizer'; import {SpectrumCardViewProps} from '@react-types/card'; +import {StoryObj} from '@storybook/react'; import {TextField} from '@react-spectrum/textfield'; import {useAsyncList} from '@react-stately/data'; import {useCollator} from '@react-aria/i18n'; @@ -95,7 +95,7 @@ export default { options: ['none', 'single', 'multiple'] } } -} as ComponentStoryObj; +} as StoryObj; let onSelectionChange = action('onSelectionChange'); let actions = { @@ -201,7 +201,7 @@ export const CustomLayoutOptions: CustomLayoutStory = { name: 'Custom layout options' }; -export type CardViewIdKeysStory = ComponentStoryObj; +export type CardViewIdKeysStory = StoryObj; function CardViewIdKeys(props: SpectrumCardViewProps) { let {scale} = useProvider(); let collator = useCollator({usage: 'search', sensitivity: 'base'}); @@ -235,7 +235,7 @@ function CardViewIdKeys(props: SpectrumCardViewProps) { ); } -export type DynamicCardViewStory = ComponentStoryObj; +export type DynamicCardViewStory = StoryObj; function DynamicCardView(props: SpectrumCardViewProps) { let {scale} = useProvider(); let collator = useCollator({usage: 'search', sensitivity: 'base'}); @@ -282,7 +282,7 @@ function DynamicCardView(props: SpectrumCardViewProps) { ); } -export type ControlledCardViewStory = ComponentStoryObj; +export type ControlledCardViewStory = StoryObj; function ControlledCardView(props: SpectrumCardViewProps) { let {scale} = useProvider(); let collator = useCollator({usage: 'search', sensitivity: 'base'}); @@ -331,7 +331,7 @@ function ControlledCardView(props: SpectrumCardViewProps) { ); } -export type NoItemCardViewStory = ComponentStoryObj; +export type NoItemCardViewStory = StoryObj; function NoItemCardView(props: SpectrumCardViewProps) { let {scale} = useProvider(); let collator = useCollator({usage: 'search', sensitivity: 'base'}); @@ -365,7 +365,7 @@ function NoItemCardView(props: SpectrumCardViewProps) { ); } -export type StaticCardViewStory = ComponentStoryObj; +export type StaticCardViewStory = StoryObj; function StaticCardView(props: SpectrumCardViewProps) { let {scale} = useProvider(); let collator = useCollator({usage: 'search', sensitivity: 'base'}); @@ -419,7 +419,7 @@ function StaticCardView(props: SpectrumCardViewProps) { ); } -export type AsyncLoadingCardViewStory = ComponentStoryObj; +export type AsyncLoadingCardViewStory = StoryObj; function AsyncLoadingCardView(props: SpectrumCardViewProps) { interface StarWarsChar { name: string, @@ -477,7 +477,7 @@ function AsyncLoadingCardView(props: SpectrumCardViewProps) { interface LayoutOptions { layoutOptions?: GridLayoutOptions } -export type CustomLayoutStory = ComponentStoryObj; +export type CustomLayoutStory = StoryObj; export function CustomLayout(props: SpectrumCardViewProps & LayoutOptions) { let {scale} = useProvider(); let collator = useCollator({usage: 'search', sensitivity: 'base'}); diff --git a/packages/@react-spectrum/card/stories/HorizontalCard.stories.tsx b/packages/@react-spectrum/card/stories/HorizontalCard.stories.tsx index 34e7f7949d9..156906e6af6 100644 --- a/packages/@react-spectrum/card/stories/HorizontalCard.stories.tsx +++ b/packages/@react-spectrum/card/stories/HorizontalCard.stories.tsx @@ -13,12 +13,12 @@ import {Card} from '../index'; import {CardStory} from './Card.stories'; -import {ComponentMeta} from '@storybook/react'; import {Content} from '@react-spectrum/view'; import {getImage} from '../stories/utils'; import {Heading, Text} from '@react-spectrum/text'; import {Horizontal} from '../chromatic/HorizontalCard.stories'; import {Image} from '@react-spectrum/image'; +import {Meta} from '@storybook/react'; import React from 'react'; export default { @@ -39,7 +39,7 @@ export default { } } } -} as ComponentMeta; +} as Meta; export const CardGrid: CardStory = { render: (args, context) => , diff --git a/packages/@react-spectrum/card/stories/QuietCard.stories.tsx b/packages/@react-spectrum/card/stories/QuietCard.stories.tsx index e1f14600600..c32e4b44cda 100644 --- a/packages/@react-spectrum/card/stories/QuietCard.stories.tsx +++ b/packages/@react-spectrum/card/stories/QuietCard.stories.tsx @@ -14,12 +14,12 @@ import {Card} from '../index'; import {CardStory} from './Card.stories'; import {classNames} from '@react-spectrum/utils'; -import {ComponentMeta} from '@storybook/react'; import {Content} from '@react-spectrum/view'; import {File} from '../chromatic/Card.stories'; import {getDescription, getImage} from '../stories/utils'; import {Heading, Text} from '@react-spectrum/text'; import {Image} from '@react-spectrum/image'; +import {Meta} from '@storybook/react'; import {Quiet} from '../chromatic/QuietCard.stories'; import React from 'react'; import styles from '@adobe/spectrum-css-temp/components/card/vars.css'; @@ -47,7 +47,7 @@ export default { } } } -} as ComponentMeta; +} as Meta; export const CardGrid: CardStory = { render: (args, context) => , diff --git a/packages/@react-spectrum/card/stories/WaterfallCardView.stories.tsx b/packages/@react-spectrum/card/stories/WaterfallCardView.stories.tsx index 0cc0554cc1c..4253841ca04 100644 --- a/packages/@react-spectrum/card/stories/WaterfallCardView.stories.tsx +++ b/packages/@react-spectrum/card/stories/WaterfallCardView.stories.tsx @@ -30,10 +30,10 @@ import { StaticCardViewStory } from './GridCardView.stories'; import {CardView, WaterfallLayout} from '../'; -import {ComponentStoryObj} from '@storybook/react'; import React, {useMemo} from 'react'; import {Size} from '@react-stately/virtualizer'; import {SpectrumCardViewProps} from '@react-types/card'; +import {StoryObj} from '@storybook/react'; import {useCollator} from '@react-aria/i18n'; import {WaterfallLayoutOptions} from '../src/WaterfallLayout'; @@ -86,7 +86,7 @@ export default { options: ['none', 'single', 'multiple'] } } -} as ComponentStoryObj; +} as StoryObj; export const DefaultWaterfallStatic: StaticCardViewStory = { ...StaticCards, @@ -214,7 +214,7 @@ interface LayoutOptions { layoutOptions?: WaterfallLayoutOptions } -type CustomWaterfallLayoutStory = ComponentStoryObj; +type CustomWaterfallLayoutStory = StoryObj; function CustomWaterfallLayout(props: SpectrumCardViewProps & LayoutOptions) { let { layoutOptions, diff --git a/packages/@react-spectrum/checkbox/stories/Checkbox.stories.tsx b/packages/@react-spectrum/checkbox/stories/Checkbox.stories.tsx index 8f96ae98e3a..aefc08c5b0f 100644 --- a/packages/@react-spectrum/checkbox/stories/Checkbox.stories.tsx +++ b/packages/@react-spectrum/checkbox/stories/Checkbox.stories.tsx @@ -12,12 +12,12 @@ import {action} from '@storybook/addon-actions'; import {Checkbox} from '../'; -import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; import {Flex} from '@react-spectrum/layout'; import {Link} from '@react-spectrum/link'; +import {Meta, StoryObj} from '@storybook/react'; import React from 'react'; -export type CheckboxStory = ComponentStoryObj; +export type CheckboxStory = StoryObj; export default { title: 'Checkbox', @@ -56,7 +56,7 @@ export default { control: 'boolean' } } -} as ComponentMeta; +} as Meta; export const Default: CheckboxStory = { render: (args) => render(args) diff --git a/packages/@react-spectrum/checkbox/stories/CheckboxGroup.stories.tsx b/packages/@react-spectrum/checkbox/stories/CheckboxGroup.stories.tsx index c0c51e6d56d..9b0e77a950d 100644 --- a/packages/@react-spectrum/checkbox/stories/CheckboxGroup.stories.tsx +++ b/packages/@react-spectrum/checkbox/stories/CheckboxGroup.stories.tsx @@ -12,12 +12,12 @@ import {action} from '@storybook/addon-actions'; import {Checkbox, CheckboxGroup} from '../'; -import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; import {Content, ContextualHelp, Flex, Heading} from '@adobe/react-spectrum'; +import {Meta, StoryObj} from '@storybook/react'; import React, {useState} from 'react'; import {SpectrumCheckboxGroupProps} from '@react-types/checkbox'; -export type CheckboxGroupStory = ComponentStoryObj; +export type CheckboxGroupStory = StoryObj; export default { title: 'CheckboxGroup', @@ -94,7 +94,7 @@ export default { control: 'text' } } -} as ComponentMeta; +} as Meta; export const Default: CheckboxGroupStory = { render: (args) => render(args) diff --git a/packages/@react-spectrum/color/stories/ColorArea.stories.tsx b/packages/@react-spectrum/color/stories/ColorArea.stories.tsx index aa88b66bed9..73f623fbe60 100644 --- a/packages/@react-spectrum/color/stories/ColorArea.stories.tsx +++ b/packages/@react-spectrum/color/stories/ColorArea.stories.tsx @@ -12,8 +12,8 @@ import {action} from '@storybook/addon-actions'; import {ColorArea, ColorField, ColorSlider, ColorSwatch, ColorWheel} from '../'; -import {ComponentStoryObj, Meta, StoryFn} from '@storybook/react'; import {Flex, Grid, useLocale, View} from '@adobe/react-spectrum'; +import {Meta, StoryFn, StoryObj} from '@storybook/react'; import {parseColor} from '@react-stately/color'; import React, {useState} from 'react'; import {SpectrumColorAreaProps} from '@react-types/color'; @@ -133,7 +133,7 @@ function ColorAreaExample(props: SpectrumColorAreaProps) { ); } -type ColorAreaStory = ComponentStoryObj; +type ColorAreaStory = StoryObj; export const XBlueYGreen: ColorAreaStory = { render: Template, diff --git a/packages/@react-spectrum/color/stories/ColorField.stories.tsx b/packages/@react-spectrum/color/stories/ColorField.stories.tsx index df5dafc1556..14a17047433 100644 --- a/packages/@react-spectrum/color/stories/ColorField.stories.tsx +++ b/packages/@react-spectrum/color/stories/ColorField.stories.tsx @@ -13,17 +13,17 @@ import {action} from '@storybook/addon-actions'; import {Color, SpectrumColorFieldProps} from '@react-types/color'; import {ColorField} from '../'; -import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; import {Content, View} from '@react-spectrum/view'; import {ContextualHelp} from '@react-spectrum/contextualhelp'; import {Flex} from '@react-spectrum/layout'; import {Heading} from '@react-spectrum/text'; +import {Meta, StoryObj} from '@storybook/react'; import {parseColor} from '@react-stately/color'; import React, {useState} from 'react'; import {useId} from '@react-aria/utils'; import {VisuallyHidden} from '@react-aria/visually-hidden'; -export type ColorFieldStory = ComponentStoryObj; +export type ColorFieldStory = StoryObj; export default { title: 'ColorField', @@ -100,7 +100,7 @@ export default { options: [null, 'red', 'green', 'blue', 'hue', 'saturation', 'lightness', 'brightness'] } } -} as ComponentMeta; +} as Meta; export const Default: ColorFieldStory = { render: (args) => render(args) diff --git a/packages/@react-spectrum/color/stories/ColorSlider.stories.tsx b/packages/@react-spectrum/color/stories/ColorSlider.stories.tsx index c69002be23c..14d5949c065 100644 --- a/packages/@react-spectrum/color/stories/ColorSlider.stories.tsx +++ b/packages/@react-spectrum/color/stories/ColorSlider.stories.tsx @@ -12,16 +12,16 @@ import {action} from '@storybook/addon-actions'; import {ColorSlider, ColorSwatch} from '../'; -import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; import {Content} from '@react-spectrum/view'; import {ContextualHelp} from '@react-spectrum/contextualhelp'; import {Flex} from '@react-spectrum/layout'; import {Heading, Text} from '@react-spectrum/text'; +import {Meta, StoryObj} from '@storybook/react'; import {parseColor} from '@react-stately/color'; import React, {useState} from 'react'; import {useLocale} from '@react-aria/i18n'; -export type ColorSliderStory = ComponentStoryObj; +export type ColorSliderStory = StoryObj; export default { title: 'ColorSlider', @@ -74,7 +74,7 @@ export default { control: 'text' } } -} as ComponentMeta; +} as Meta; export const Default: ColorSliderStory = { args: {defaultValue: '#800000', channel: 'red'}, diff --git a/packages/@react-spectrum/color/stories/ColorThumb.stories.tsx b/packages/@react-spectrum/color/stories/ColorThumb.stories.tsx index 92915218976..dfff61c98b4 100644 --- a/packages/@react-spectrum/color/stories/ColorThumb.stories.tsx +++ b/packages/@react-spectrum/color/stories/ColorThumb.stories.tsx @@ -11,11 +11,11 @@ */ import {ColorThumb} from '../src/ColorThumb'; -import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; +import {Meta, StoryObj} from '@storybook/react'; import {parseColor} from '@react-stately/color'; import React from 'react'; -export type ColorThumbStory = ComponentStoryObj; +export type ColorThumbStory = StoryObj; export default { title: 'ColorThumb', @@ -36,7 +36,7 @@ export default { control: 'boolean' } } -} as ComponentMeta; +} as Meta; export const Default: ColorThumbStory = { args: {value: parseColor('#f00')}, diff --git a/packages/@react-spectrum/color/stories/ColorWheel.stories.tsx b/packages/@react-spectrum/color/stories/ColorWheel.stories.tsx index 65e1a72620f..c605fade451 100644 --- a/packages/@react-spectrum/color/stories/ColorWheel.stories.tsx +++ b/packages/@react-spectrum/color/stories/ColorWheel.stories.tsx @@ -12,12 +12,12 @@ import {action} from '@storybook/addon-actions'; import {ColorSwatch, ColorWheel} from '../'; -import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; import {Flex, useLocale} from '@adobe/react-spectrum'; +import {Meta, StoryObj} from '@storybook/react'; import {parseColor} from '@react-stately/color'; import React, {useState} from 'react'; -export type ColorWheelStory = ComponentStoryObj; +export type ColorWheelStory = StoryObj; export default { title: 'ColorWheel', @@ -45,7 +45,7 @@ export default { control: 'text' } } -} as ComponentMeta; +} as Meta; export const Default: ColorWheelStory = { args: {defaultValue: 'hsl(0, 100%, 50%)'}, diff --git a/packages/@react-spectrum/combobox/stories/ComboBox.stories.tsx b/packages/@react-spectrum/combobox/stories/ComboBox.stories.tsx index 7d46f8504c5..3f09391c437 100644 --- a/packages/@react-spectrum/combobox/stories/ComboBox.stories.tsx +++ b/packages/@react-spectrum/combobox/stories/ComboBox.stories.tsx @@ -19,7 +19,6 @@ import Bell from '@spectrum-icons/workflow/Bell'; import {ButtonGroup} from '@react-spectrum/buttongroup'; import {chain} from '@react-aria/utils'; import {ComboBox, Item, Section} from '../'; -import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; import {Content} from '@react-spectrum/view'; import {ContextualHelp} from '@react-spectrum/contextualhelp'; import Copy from '@spectrum-icons/workflow/Copy'; @@ -29,6 +28,7 @@ import {Flex} from '@react-spectrum/layout'; import {Heading, Text} from '@react-spectrum/text'; import {Key} from '@react-types/shared'; import {Link} from '@react-spectrum/link'; +import {Meta, StoryObj} from '@storybook/react'; import React, {useRef, useState} from 'react'; import {useAsyncList, useListData, useTreeData} from '@react-stately/data'; import {useFilter} from '@react-aria/i18n'; @@ -62,7 +62,7 @@ for (let i = 0; i < 50; i++) { lotsOfSections.push({name: 'Section ' + i, children}); } -export type ComboBoxStory = ComponentStoryObj; +export type ComboBoxStory = StoryObj; export default { title: 'ComboBox', @@ -207,7 +207,7 @@ export default { } } } -} as ComponentMeta; +} as Meta; export const Default: ComboBoxStory = { render: (args) => render(args), diff --git a/packages/@react-spectrum/contextualhelp/stories/ContextualHelp.stories.tsx b/packages/@react-spectrum/contextualhelp/stories/ContextualHelp.stories.tsx index 0940ee58f2c..54392c595db 100644 --- a/packages/@react-spectrum/contextualhelp/stories/ContextualHelp.stories.tsx +++ b/packages/@react-spectrum/contextualhelp/stories/ContextualHelp.stories.tsx @@ -11,8 +11,8 @@ */ import {Button, Content, Flex, Footer, Heading, Link, Text} from '@adobe/react-spectrum'; -import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; import {ContextualHelp} from '../src'; +import {Meta, StoryObj} from '@storybook/react'; import React from 'react'; export default { @@ -61,9 +61,9 @@ export default { table: {disable: true} } } -} as ComponentMeta; +} as Meta; -export type ContextualHelpStory = ComponentStoryObj; +export type ContextualHelpStory = StoryObj; const helpText = () => Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin sit amet tristique risus. In sit amet suscipit lorem.; diff --git a/packages/@react-spectrum/datepicker/stories/DateField.stories.tsx b/packages/@react-spectrum/datepicker/stories/DateField.stories.tsx index 3a495dd5ba6..14a47cd7d1e 100644 --- a/packages/@react-spectrum/datepicker/stories/DateField.stories.tsx +++ b/packages/@react-spectrum/datepicker/stories/DateField.stories.tsx @@ -12,7 +12,6 @@ import {action} from '@storybook/addon-actions'; import {CalendarDate, CalendarDateTime, parseAbsolute, parseAbsoluteToLocal, parseDate, parseDateTime, parseZonedDateTime, toZoned} from '@internationalized/date'; -import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; import {Content} from '@react-spectrum/view'; import {ContextualHelp} from '@react-spectrum/contextualhelp'; import {DateField} from '../'; @@ -20,12 +19,13 @@ import {Flex} from '@react-spectrum/layout'; import {Heading} from '@react-spectrum/text'; import {Item, Picker, Section} from '@react-spectrum/picker'; import {Key} from '@react-types/shared'; +import {Meta, StoryObj} from '@storybook/react'; import {Provider} from '@react-spectrum/provider'; import React from 'react'; import {useLocale} from '@react-aria/i18n'; -export type DateFieldStory = ComponentStoryObj; +export type DateFieldStory = StoryObj; const BlockDecorator = storyFn =>
{storyFn()}
; export default { @@ -160,7 +160,7 @@ export default { control: 'text' } } -} as ComponentMeta; +} as Meta; export const Default: DateFieldStory = { render: (args) => render(args) diff --git a/packages/@react-spectrum/datepicker/stories/DatePicker.stories.tsx b/packages/@react-spectrum/datepicker/stories/DatePicker.stories.tsx index 652a420d328..8bbf74979de 100644 --- a/packages/@react-spectrum/datepicker/stories/DatePicker.stories.tsx +++ b/packages/@react-spectrum/datepicker/stories/DatePicker.stories.tsx @@ -14,7 +14,6 @@ import {action} from '@storybook/addon-actions'; import {ActionButton} from '@react-spectrum/button'; import {CalendarDate, CalendarDateTime, getLocalTimeZone, parseAbsolute, parseAbsoluteToLocal, parseDate, parseDateTime, parseZonedDateTime, today, toZoned} from '@internationalized/date'; import {chain} from '@react-aria/utils'; -import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; import {Content} from '@react-spectrum/view'; import {ContextualHelp} from '@react-spectrum/contextualhelp'; import {Custom454Calendar} from '../../../@internationalized/date/tests/customCalendarImpl'; @@ -24,11 +23,12 @@ import {Flex} from '@react-spectrum/layout'; import {Heading} from '@react-spectrum/text'; import {Item, Picker, Section} from '@react-spectrum/picker'; import {Key} from '@react-types/shared'; +import {Meta, StoryObj} from '@storybook/react'; import {Provider} from '@react-spectrum/provider'; import React from 'react'; import {useLocale} from '@react-aria/i18n'; -export type DatePickerStory = ComponentStoryObj; +export type DatePickerStory = StoryObj; const BlockDecorator = storyFn =>
{storyFn()}
; export default { @@ -189,7 +189,7 @@ export default { options: [undefined, 'sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat'] } } -} as ComponentMeta; +} as Meta; export const Default: DatePickerStory = { render: (args) => render(args) diff --git a/packages/@react-spectrum/illustratedmessage/chromatic/IllustratedMessage.Languages.stories.tsx b/packages/@react-spectrum/illustratedmessage/chromatic/IllustratedMessage.Languages.stories.tsx index 3175105913a..f1cd186aca3 100644 --- a/packages/@react-spectrum/illustratedmessage/chromatic/IllustratedMessage.Languages.stories.tsx +++ b/packages/@react-spectrum/illustratedmessage/chromatic/IllustratedMessage.Languages.stories.tsx @@ -9,15 +9,15 @@ * OF ANY KIND, either express or implied. See the License for the specific language * governing permissions and limitations under the License. */ -import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; import {Content} from '@react-spectrum/view'; import {Flex} from '@react-spectrum/layout'; import {Heading} from '@react-spectrum/text'; import {IllustratedMessage} from '..'; -import NotFound from '@spectrum-icons/illustrations/src/NotFound'; +import {Meta, StoryObj} from '@storybook/react'; +import NotFound from '@spectrum-icons/illustrations/NotFound'; import React from 'react'; -type IllustratedMessageStory = ComponentStoryObj; +type IllustratedMessageStory = StoryObj; export default { title: 'Languages/IllustratedMessage', @@ -30,7 +30,7 @@ export default { scales: ['large', 'medium'] } } -} as ComponentMeta; +} as Meta; export const _NotFound: IllustratedMessageStory = { render: () => ( diff --git a/packages/@react-spectrum/illustratedmessage/chromatic/IllustratedMessage.stories.tsx b/packages/@react-spectrum/illustratedmessage/chromatic/IllustratedMessage.stories.tsx index 694bd89e31a..2fe10dc8730 100644 --- a/packages/@react-spectrum/illustratedmessage/chromatic/IllustratedMessage.stories.tsx +++ b/packages/@react-spectrum/illustratedmessage/chromatic/IllustratedMessage.stories.tsx @@ -9,26 +9,26 @@ * OF ANY KIND, either express or implied. See the License for the specific language * governing permissions and limitations under the License. */ -import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; import {Content} from '@react-spectrum/view'; -import Error from '@spectrum-icons/illustrations/src/Error'; +import Error from '@spectrum-icons/illustrations/Error'; import {Heading} from '@react-spectrum/text'; import {IllustratedMessage} from '../'; import {Link} from '@react-spectrum/link'; -import NoSearchResults from '@spectrum-icons/illustrations/src/NoSearchResults'; -import NotFound from '@spectrum-icons/illustrations/src/NotFound'; +import {Meta, StoryObj} from '@storybook/react'; +import NoSearchResults from '@spectrum-icons/illustrations/NoSearchResults'; +import NotFound from '@spectrum-icons/illustrations/NotFound'; import React from 'react'; import Timeout from '@spectrum-icons/illustrations/Timeout'; import Unauthorized from '@spectrum-icons/illustrations/Unauthorized'; import Unavailable from '@spectrum-icons/illustrations/Unavailable'; import Upload from '@spectrum-icons/illustrations/Upload'; -type IllustratedMessageStory = ComponentStoryObj; +type IllustratedMessageStory = StoryObj; let meta = { title: 'IllustratedMessage', component: IllustratedMessage -} as ComponentMeta; +} as Meta; export default meta; diff --git a/packages/@react-spectrum/illustratedmessage/stories/IllustratedMessage.stories.tsx b/packages/@react-spectrum/illustratedmessage/stories/IllustratedMessage.stories.tsx index 5fa18110440..b60d4e661fd 100644 --- a/packages/@react-spectrum/illustratedmessage/stories/IllustratedMessage.stories.tsx +++ b/packages/@react-spectrum/illustratedmessage/stories/IllustratedMessage.stories.tsx @@ -9,19 +9,19 @@ * OF ANY KIND, either express or implied. See the License for the specific language * governing permissions and limitations under the License. */ -import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; import {Content} from '@react-spectrum/view'; import {Heading} from '@react-spectrum/text'; import {IllustratedMessage} from '../'; +import {Meta, StoryObj} from '@storybook/react'; import NotFound from '@spectrum-icons/illustrations/NotFound'; import React from 'react'; -type IllustratedMessageStory = ComponentStoryObj; +type IllustratedMessageStory = StoryObj; let meta = { title: 'IllustratedMessage', component: IllustratedMessage -} as ComponentMeta; +} as Meta; export default meta; diff --git a/packages/@react-spectrum/image/stories/Image.stories.tsx b/packages/@react-spectrum/image/stories/Image.stories.tsx index a9343be7fef..6dac30d6a16 100644 --- a/packages/@react-spectrum/image/stories/Image.stories.tsx +++ b/packages/@react-spectrum/image/stories/Image.stories.tsx @@ -9,16 +9,16 @@ * OF ANY KIND, either express or implied. See the License for the specific language * governing permissions and limitations under the License. */ -import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; import {Image} from '../'; +import {Meta, StoryObj} from '@storybook/react'; import React, {useState} from 'react'; -export type ImageStory = ComponentStoryObj; +export type ImageStory = StoryObj; let meta = { title: 'Image', component: Image -} as ComponentMeta; +} as Meta; export default meta; diff --git a/packages/@react-spectrum/label/chromatic/HelpText.stories.tsx b/packages/@react-spectrum/label/chromatic/HelpText.stories.tsx index bdc755bd673..045cd61319f 100644 --- a/packages/@react-spectrum/label/chromatic/HelpText.stories.tsx +++ b/packages/@react-spectrum/label/chromatic/HelpText.stories.tsx @@ -9,12 +9,12 @@ * OF ANY KIND, either express or implied. See the License for the specific language * governing permissions and limitations under the License. */ -import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; import {Flex} from '@react-spectrum/layout'; +import {Meta, StoryObj} from '@storybook/react'; import React from 'react'; import {TextField} from '@react-spectrum/textfield'; -type HelpTextStory = ComponentStoryObj; +type HelpTextStory = StoryObj; export default { title: 'HelpText', @@ -23,7 +23,7 @@ export default { label: 'Password', description: 'Password must be at least 8 characters.' } -} as ComponentMeta; +} as Meta; export let Default: HelpTextStory = { name: 'description' diff --git a/packages/@react-spectrum/label/chromatic/Label.stories.tsx b/packages/@react-spectrum/label/chromatic/Label.stories.tsx index d820be5de37..1a5d4740ff3 100644 --- a/packages/@react-spectrum/label/chromatic/Label.stories.tsx +++ b/packages/@react-spectrum/label/chromatic/Label.stories.tsx @@ -9,12 +9,12 @@ * OF ANY KIND, either express or implied. See the License for the specific language * governing permissions and limitations under the License. */ -import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; import {Label} from '../'; +import {Meta, StoryObj} from '@storybook/react'; import React from 'react'; import {TextField} from '@react-spectrum/textfield'; -type LabelStory = ComponentStoryObj; +type LabelStory = StoryObj; export default { title: 'Label', @@ -30,7 +30,7 @@ export default { )] -} as ComponentMeta; +} as Meta; export let Default: LabelStory = {}; diff --git a/packages/@react-spectrum/label/stories/HelpText.stories.tsx b/packages/@react-spectrum/label/stories/HelpText.stories.tsx index b16f109e5da..f4bd0bd622d 100644 --- a/packages/@react-spectrum/label/stories/HelpText.stories.tsx +++ b/packages/@react-spectrum/label/stories/HelpText.stories.tsx @@ -9,14 +9,14 @@ * OF ANY KIND, either express or implied. See the License for the specific language * governing permissions and limitations under the License. */ -import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; import {Flex} from '@react-spectrum/layout'; +import {Meta, StoryObj} from '@storybook/react'; import {Radio, RadioGroup} from '@react-spectrum/radio'; import React, {useState} from 'react'; import {SpectrumTextFieldProps} from '@react-types/textfield'; import {TextField} from '@react-spectrum/textfield'; -type HelpTextStory = ComponentStoryObj; +type HelpTextStory = StoryObj; const argTypes = { label: { @@ -57,7 +57,7 @@ export default { description: 'Password must be at least 8 characters.' }, argTypes: argTypes -} as ComponentMeta; +} as Meta; export let Default: HelpTextStory = {}; @@ -150,7 +150,7 @@ function TextFieldWithValidationState(props: SpectrumTextFieldProps) { function TextFieldWithAriaLabelAndDynamicHelpText(props: SpectrumTextFieldProps) { let [value, setValue] = useState(''); - + return ( ; +type LabelStory = StoryObj; const argTypes = { labelAlign: { @@ -50,7 +50,7 @@ export default { )] -} as ComponentMeta; +} as Meta; export let Default: LabelStory = {}; diff --git a/packages/@react-spectrum/labeledvalue/chromatic/LabeledValue.stories.tsx b/packages/@react-spectrum/labeledvalue/chromatic/LabeledValue.stories.tsx index f530c95bc9e..e3c358d4813 100644 --- a/packages/@react-spectrum/labeledvalue/chromatic/LabeledValue.stories.tsx +++ b/packages/@react-spectrum/labeledvalue/chromatic/LabeledValue.stories.tsx @@ -11,19 +11,19 @@ */ import {CalendarDate, CalendarDateTime, Time, ZonedDateTime} from '@internationalized/date'; -import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; import {Content} from '@react-spectrum/view'; import {ContextualHelp} from '@react-spectrum/contextualhelp'; import {Heading} from '@react-spectrum/text'; import {LabeledValue} from '..'; +import {Meta, StoryObj} from '@storybook/react'; import React from 'react'; -type LabeledValueStory = ComponentStoryObj; +type LabeledValueStory = StoryObj; export default { title: 'LabeledValue', component: LabeledValue -} as ComponentMeta; +} as Meta; export let Default: LabeledValueStory = { args: {label: 'Test', value: 'This is some sample text'}, diff --git a/packages/@react-spectrum/link/stories/Link.stories.tsx b/packages/@react-spectrum/link/stories/Link.stories.tsx index 180965e973d..fed2ee539bd 100644 --- a/packages/@react-spectrum/link/stories/Link.stories.tsx +++ b/packages/@react-spectrum/link/stories/Link.stories.tsx @@ -10,12 +10,12 @@ * governing permissions and limitations under the License. */ -import {ArgTypes, ComponentMeta, ComponentStoryObj} from '@storybook/react'; +import {ArgTypes, Meta, StoryObj} from '@storybook/react'; import {Link} from '../'; import React from 'react'; import {SpectrumLinkProps} from '@react-types/link'; -type LinkStory = ComponentStoryObj; +type LinkStory = StoryObj; export default { title: 'Link', @@ -31,7 +31,7 @@ export default { action: 'pressend' } } -} as ComponentMeta; +} as Meta; export let Default: LinkStory = { args: {children: 'This is a React Spectrum Link'} diff --git a/packages/@react-spectrum/list/stories/ListView.stories.tsx b/packages/@react-spectrum/list/stories/ListView.stories.tsx index 6af4bf2fa6e..80d90183b74 100644 --- a/packages/@react-spectrum/list/stories/ListView.stories.tsx +++ b/packages/@react-spectrum/list/stories/ListView.stories.tsx @@ -2,7 +2,6 @@ import {action} from '@storybook/addon-actions'; import {ActionBar, ActionBarContainer} from '@react-spectrum/actionbar'; import {ActionButton, Button} from '@react-spectrum/button'; import {ActionGroup} from '@react-spectrum/actiongroup'; -import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; import {Content} from '@react-spectrum/view'; import Copy from '@spectrum-icons/workflow/Copy'; import Delete from '@spectrum-icons/workflow/Delete'; @@ -18,6 +17,7 @@ import {IllustratedMessage} from '@react-spectrum/illustratedmessage'; import {Image} from '@react-spectrum/image'; import {Item, ListView} from '../'; import {Link} from '@react-spectrum/link'; +import {Meta, StoryObj} from '@storybook/react'; import NoSearchResults from '@spectrum-icons/illustrations/NoSearchResults'; import React, {useEffect, useState} from 'react'; import {useAsyncList, useListData} from '@react-stately/data'; @@ -137,9 +137,9 @@ export default { options: ['selection', 'all'] } } -} as ComponentMeta; +} as Meta; -export type ListViewStory = ComponentStoryObj; +export type ListViewStory = StoryObj; export const Default: ListViewStory = { render: (args) => ( diff --git a/packages/@react-spectrum/list/stories/ListViewActions.stories.tsx b/packages/@react-spectrum/list/stories/ListViewActions.stories.tsx index 322d2538dd6..49683f70e5d 100644 --- a/packages/@react-spectrum/list/stories/ListViewActions.stories.tsx +++ b/packages/@react-spectrum/list/stories/ListViewActions.stories.tsx @@ -3,12 +3,12 @@ import {ActionButton} from '@react-spectrum/button'; import {ActionGroup} from '@react-spectrum/actiongroup'; import {ActionMenu} from '@react-spectrum/menu'; import Add from '@spectrum-icons/workflow/Add'; -import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; import Copy from '@spectrum-icons/workflow/Copy'; import Delete from '@spectrum-icons/workflow/Delete'; import Folder from '@spectrum-icons/illustrations/Folder'; import Info from '@spectrum-icons/workflow/Info'; import {Item, ListView} from '../'; +import {Meta, StoryObj} from '@storybook/react'; import React from 'react'; import RemoveCircle from '@spectrum-icons/workflow/RemoveCircle'; import {Text} from '@react-spectrum/text'; @@ -53,9 +53,9 @@ export default { options: ['selection', 'all'] } } -} as ComponentMeta; +} as Meta; -export type ListViewStory = ComponentStoryObj; +export type ListViewStory = StoryObj; export const ActionButtons: ListViewStory = { render: (args) => renderActionsExample(props => , args), diff --git a/packages/@react-spectrum/list/stories/ListViewDnD.stories.tsx b/packages/@react-spectrum/list/stories/ListViewDnD.stories.tsx index d46025df339..c1144e5149b 100644 --- a/packages/@react-spectrum/list/stories/ListViewDnD.stories.tsx +++ b/packages/@react-spectrum/list/stories/ListViewDnD.stories.tsx @@ -1,9 +1,9 @@ import {action} from '@storybook/addon-actions'; -import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; import {DragBetweenListsExample, DragBetweenListsRootOnlyExample, DragExample, DragIntoItemExample, ReorderExample} from './ListViewDnDExamples'; import {Droppable} from '../../../@react-aria/dnd/stories/dnd.stories'; import {Flex} from '@react-spectrum/layout'; import {ListView} from '../'; +import {Meta, StoryObj} from '@storybook/react'; import React from 'react'; import {View} from '@react-spectrum/view'; @@ -43,9 +43,9 @@ export default { options: ['selection', 'all'] } } -} as ComponentMeta; +} as Meta; -export type ListViewStory = ComponentStoryObj; +export type ListViewStory = StoryObj; let getAllowedDropOperationsAction = action('getAllowedDropOperationsAction'); export const DragOut: ListViewStory = { diff --git a/packages/@react-spectrum/list/stories/ListViewDnDUtil.stories.tsx b/packages/@react-spectrum/list/stories/ListViewDnDUtil.stories.tsx index 057991599eb..b478800e0a0 100644 --- a/packages/@react-spectrum/list/stories/ListViewDnDUtil.stories.tsx +++ b/packages/@react-spectrum/list/stories/ListViewDnDUtil.stories.tsx @@ -1,9 +1,9 @@ import {action} from '@storybook/addon-actions'; -import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; import {DragBetweenListsComplex, DragBetweenListsOverride, DragExampleUtilHandlers, FinderDropUtilHandlers, InsertExampleUtilHandlers, ItemDropExampleUtilHandlers, ReorderExampleUtilHandlers, RootDropExampleUtilHandlers} from './ListViewDnDUtilExamples'; import {Droppable} from '../../../@react-aria/dnd/stories/dnd.stories'; import {Flex} from '@react-spectrum/layout'; import {ListView} from '../'; +import {Meta, StoryObj} from '@storybook/react'; import React from 'react'; export default { @@ -42,9 +42,9 @@ export default { options: ['selection', 'all'] } } -} as ComponentMeta; +} as Meta; -export type ListViewStory = ComponentStoryObj; +export type ListViewStory = StoryObj; export const DragOut: ListViewStory = { render: (args) => ( diff --git a/packages/@react-spectrum/list/stories/ListViewSelection.stories.tsx b/packages/@react-spectrum/list/stories/ListViewSelection.stories.tsx index bd8dd8cb558..9850fe3ab27 100644 --- a/packages/@react-spectrum/list/stories/ListViewSelection.stories.tsx +++ b/packages/@react-spectrum/list/stories/ListViewSelection.stories.tsx @@ -3,11 +3,11 @@ import {ActionMenu} from '@react-spectrum/menu'; import Add from '@spectrum-icons/workflow/Add'; import {Breadcrumbs} from '@react-spectrum/breadcrumbs'; import {chain} from '@react-aria/utils'; -import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; import Delete from '@spectrum-icons/workflow/Delete'; import Folder from '@spectrum-icons/illustrations/Folder'; import {Item, ListView} from '../'; import {items} from './ListView.stories'; +import {Meta, StoryObj} from '@storybook/react'; import React, {useState} from 'react'; import {Text} from '@react-spectrum/text'; @@ -49,9 +49,9 @@ export default { options: ['selection', 'all'] } } -} as ComponentMeta; +} as Meta; -export type ListViewStory = ComponentStoryObj; +export type ListViewStory = StoryObj; export const Default: ListViewStory = { render: (args) => ( diff --git a/packages/@react-spectrum/menu/chromatic/Submenu.stories.tsx b/packages/@react-spectrum/menu/chromatic/Submenu.stories.tsx index 9cbbe39fd3a..3bdcd142198 100644 --- a/packages/@react-spectrum/menu/chromatic/Submenu.stories.tsx +++ b/packages/@react-spectrum/menu/chromatic/Submenu.stories.tsx @@ -15,9 +15,9 @@ import AlignCenter from '@spectrum-icons/workflow/AlignCenter'; import AlignLeft from '@spectrum-icons/workflow/AlignLeft'; import AlignRight from '@spectrum-icons/workflow/AlignRight'; import AnnotatePen from '@spectrum-icons/workflow/AnnotatePen'; -import {ComponentStoryObj, Meta} from '@storybook/react'; import {Item, Menu, MenuTrigger, Section, SubmenuTrigger} from '../'; import {Keyboard, Text} from '@react-spectrum/text'; +import {Meta, StoryObj} from '@storybook/react'; import React from 'react'; import {SpectrumMenuTriggerProps} from '@react-types/menu'; import TextIndentIncrease from '@spectrum-icons/workflow/TextIndentIncrease'; @@ -131,7 +131,7 @@ let dynamicRenderFuncSections = (item: ItemNode) => { } }; -export type DefaultStory = ComponentStoryObj; +export type DefaultStory = StoryObj; export const Default: DefaultStory = { render: () => , diff --git a/packages/@react-spectrum/meter/stories/Meter.stories.tsx b/packages/@react-spectrum/meter/stories/Meter.stories.tsx index c54d848c6b6..b342138c78d 100644 --- a/packages/@react-spectrum/meter/stories/Meter.stories.tsx +++ b/packages/@react-spectrum/meter/stories/Meter.stories.tsx @@ -10,12 +10,12 @@ * governing permissions and limitations under the License. */ -import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; +import {Meta, StoryObj} from '@storybook/react'; import {Meter} from '../'; import {NumberFormatOptions} from '@internationalized/number'; import React from 'react'; -type MeterStory = ComponentStoryObj; +type MeterStory = StoryObj; const formatOptions = { style: 'currency', @@ -56,7 +56,7 @@ export default { options: ['top', 'side'] } } -}as ComponentMeta; +}as Meta; export const Default: MeterStory = { args: {label: 'Meter', value: 50}, diff --git a/packages/@react-spectrum/picker/stories/Picker.stories.tsx b/packages/@react-spectrum/picker/stories/Picker.stories.tsx index a39a303e681..6225541b961 100644 --- a/packages/@react-spectrum/picker/stories/Picker.stories.tsx +++ b/packages/@react-spectrum/picker/stories/Picker.stories.tsx @@ -16,7 +16,6 @@ import AlignCenter from '@spectrum-icons/workflow/AlignCenter'; import AlignLeft from '@spectrum-icons/workflow/AlignLeft'; import AlignRight from '@spectrum-icons/workflow/AlignRight'; import {Avatar} from '@react-spectrum/avatar'; -import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; import {Content, View} from '@react-spectrum/view'; import {ContextualHelp} from '@react-spectrum/contextualhelp'; import Copy from '@spectrum-icons/workflow/Copy'; @@ -24,6 +23,7 @@ import Cut from '@spectrum-icons/workflow/Cut'; import {Flex} from '@react-spectrum/layout'; import {Heading, Text} from '@react-spectrum/text'; import {Item, Picker, Section, SpectrumPickerProps} from '../'; +import {Meta, StoryObj} from '@storybook/react'; import Paste from '@spectrum-icons/workflow/Paste'; import React, {useState} from 'react'; import {useAsyncList} from '@react-stately/data'; @@ -70,7 +70,7 @@ let withSection = [ ]} ]; -export type PickerStory = ComponentStoryObj; +export type PickerStory = StoryObj; export default { title: 'Picker', @@ -168,9 +168,9 @@ export default { control: 'boolean' } } -} as ComponentMeta; +} as Meta; -export type DefaultStory = ComponentStoryObj; +export type DefaultStory = StoryObj; export const Default: DefaultStory = { render: (args) => }; @@ -223,7 +223,7 @@ export const DynamicSections: PickerStory = { name: 'dynamic with sections' }; -export type ComplexItemsStory = ComponentStoryObj; +export type ComplexItemsStory = StoryObj; export const ComplexItems: ComplexItemsStory = { render: (args) => , name: 'complex items' @@ -269,7 +269,7 @@ export const FalsyKey: PickerStory = { name: 'falsy item key' }; -export type LabelledByStory = ComponentStoryObj; +export type LabelledByStory = StoryObj; export const LabelledBy: LabelledByStory = { args: { 'aria-label': null, @@ -341,13 +341,13 @@ export const Loading: PickerStory = { name: 'isLoading, no items' }; -export type AsyncLoadingStory = ComponentStoryObj; +export type AsyncLoadingStory = StoryObj; export const AsyncLoading: AsyncLoadingStory = { render: (args) => , name: 'async loading' }; -export type FocusStory = ComponentStoryObj; +export type FocusStory = StoryObj; export const Focus: FocusStory = { render: (args) => (
@@ -363,13 +363,13 @@ export const Focus: FocusStory = { name: 'keyboard tab focus' }; -export type ResizePickerStory = ComponentStoryObj; +export type ResizePickerStory = StoryObj; export const Resize: ResizePickerStory = { render: (args) => , name: 'resize' }; -export type ScrollingStory = ComponentStoryObj; +export type ScrollingStory = StoryObj; export const Scrolling: ScrollingStory = { render: (args) => ( diff --git a/packages/@react-spectrum/statuslight/stories/StatusLight.stories.tsx b/packages/@react-spectrum/statuslight/stories/StatusLight.stories.tsx index 5d85b67d08a..596b28801ca 100644 --- a/packages/@react-spectrum/statuslight/stories/StatusLight.stories.tsx +++ b/packages/@react-spectrum/statuslight/stories/StatusLight.stories.tsx @@ -10,10 +10,10 @@ * governing permissions and limitations under the License. */ -import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; +import {Meta, StoryObj} from '@storybook/react'; import {StatusLight} from '../'; -type StatusLightStory = ComponentStoryObj; +type StatusLightStory = StoryObj; export default { title: 'StatusLight', @@ -29,7 +29,7 @@ export default { control: 'boolean' } } -} as ComponentMeta; +} as Meta; export const Default: StatusLightStory = { args: {children: 'Status light of love', variant: 'positive'}, diff --git a/packages/@react-spectrum/steplist/chromatic/StepList.stories.tsx b/packages/@react-spectrum/steplist/chromatic/StepList.stories.tsx index 19f4c717e06..c99ac66fded 100644 --- a/packages/@react-spectrum/steplist/chromatic/StepList.stories.tsx +++ b/packages/@react-spectrum/steplist/chromatic/StepList.stories.tsx @@ -10,11 +10,11 @@ * governing permissions and limitations under the License. */ -import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; import {Item, StepList} from '../'; +import {Meta, StoryObj} from '@storybook/react'; import React from 'react'; -export type StepListStory = ComponentStoryObj; +export type StepListStory = StoryObj; export default { title: 'StepList', @@ -22,7 +22,7 @@ export default { parameters: { chromaticProvider: {disableAnimations: true} } -} as ComponentMeta; +} as Meta; export const HorizontalS: StepListStory = { args: { diff --git a/packages/@react-spectrum/steplist/stories/StepList.stories.tsx b/packages/@react-spectrum/steplist/stories/StepList.stories.tsx index e18c57d3e08..7cef5f38a90 100644 --- a/packages/@react-spectrum/steplist/stories/StepList.stories.tsx +++ b/packages/@react-spectrum/steplist/stories/StepList.stories.tsx @@ -13,10 +13,10 @@ import {action} from '@storybook/addon-actions'; import {Button} from '@react-spectrum/button'; import {ButtonGroup} from '@react-spectrum/buttongroup'; -import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; import {Flex} from '@react-spectrum/layout'; import {Item} from '@react-stately/collections'; import {Key} from '@react-types/shared'; +import {Meta, StoryObj} from '@storybook/react'; import {Picker} from '@react-spectrum/picker'; import React, {useCallback, useMemo, useState} from 'react'; import {SpectrumStepListProps, StepList} from '../'; @@ -74,7 +74,7 @@ export default { } } } -} as ComponentMeta; +} as Meta; function DefaultStepList(props: SpectrumStepListProps) { return ( @@ -84,8 +84,8 @@ function DefaultStepList(props: SpectrumStepListProps) { ); } -export type DefaultStory = ComponentStoryObj; -export type StepListStory = ComponentStoryObj; +export type DefaultStory = StoryObj; +export type StepListStory = StoryObj; export const Default: DefaultStory = { render: (args) => diff --git a/packages/@react-spectrum/switch/stories/Switch.stories.tsx b/packages/@react-spectrum/switch/stories/Switch.stories.tsx index c0dcaa1c1e5..63f5afec253 100644 --- a/packages/@react-spectrum/switch/stories/Switch.stories.tsx +++ b/packages/@react-spectrum/switch/stories/Switch.stories.tsx @@ -11,12 +11,12 @@ */ import {chain} from '@react-aria/utils'; -import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; import {Flex} from '@react-spectrum/layout'; +import {Meta, StoryObj} from '@storybook/react'; import React, {useState} from 'react'; import {Switch} from '../'; -type SwitchStory = ComponentStoryObj; +type SwitchStory = StoryObj; export default { title: 'Switch', @@ -35,7 +35,7 @@ export default { action: 'blur' } } -} as ComponentMeta; +} as Meta; export const Default: SwitchStory = { args: {children: <>Switch Label} diff --git a/packages/@react-spectrum/table/stories/Table.stories.tsx b/packages/@react-spectrum/table/stories/Table.stories.tsx index 96020a918ae..0b75cdce143 100644 --- a/packages/@react-spectrum/table/stories/Table.stories.tsx +++ b/packages/@react-spectrum/table/stories/Table.stories.tsx @@ -16,7 +16,6 @@ import Add from '@spectrum-icons/workflow/Add'; import {Breadcrumbs, Item} from '@react-spectrum/breadcrumbs'; import {ButtonGroup} from '@react-spectrum/buttongroup'; import {Cell, Column, Row, SpectrumTableProps, TableBody, TableHeader, TableView} from '../'; -import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; import {Content, View} from '@react-spectrum/view'; import {ControllingResize, PokemonColumn} from './ControllingResize'; import {CRUDExample} from './CRUDExample'; @@ -30,6 +29,7 @@ import {HidingColumnsAllowsResizing} from './HidingColumnsAllowsResizing'; import {IllustratedMessage} from '@react-spectrum/illustratedmessage'; import {Key, LoadingState} from '@react-types/shared'; import {Link} from '@react-spectrum/link'; +import {Meta, StoryObj} from '@storybook/react'; import NoSearchResults from '@spectrum-icons/illustrations/NoSearchResults'; import {Picker} from '@react-spectrum/picker'; import {Radio, RadioGroup} from '@react-spectrum/radio'; @@ -123,9 +123,9 @@ export default { options: ['all', 'selection'] } } -} as ComponentMeta; +} as Meta; -export type TableStory = ComponentStoryObj; +export type TableStory = StoryObj; // Known accessibility issue that will be caught by aXe: https://github.com/adobe/react-spectrum/wiki/Known-accessibility-false-positives#tableview @@ -741,7 +741,7 @@ const TableViewFilledCellWidths = (props: SpectrumTableProps & {allowsR ); }; -export const ShouldFillCellWidth: ComponentStoryObj = { +export const ShouldFillCellWidth: StoryObj = { args: { 'aria-label': 'TableView with filled cells', width: 500, diff --git a/packages/@react-spectrum/table/stories/TableDnD.stories.tsx b/packages/@react-spectrum/table/stories/TableDnD.stories.tsx index 19d6b27c74b..31d8cc25225 100644 --- a/packages/@react-spectrum/table/stories/TableDnD.stories.tsx +++ b/packages/@react-spectrum/table/stories/TableDnD.stories.tsx @@ -11,12 +11,12 @@ */ import {action} from '@storybook/addon-actions'; -import {ComponentMeta} from '@storybook/react'; import defaultConfig, {TableStory} from './Table.stories'; import {Divider} from '@react-spectrum/divider'; import {DragBetweenTablesExample, DragBetweenTablesRootOnlyExample, DragExample, DragOntoRowExample, DragWithoutRowHeaderExample, items, ReorderExample} from './TableDnDExamples'; import {Droppable} from '../../../@react-aria/dnd/stories/dnd.stories'; import {Flex} from '@react-spectrum/layout'; +import {Meta} from '@storybook/react'; import React from 'react'; import {TableView} from '../'; import {View} from '@react-spectrum/view'; @@ -24,7 +24,7 @@ import {View} from '@react-spectrum/view'; export default { ...defaultConfig, title: 'TableView/Drag and Drop' -} as ComponentMeta; +} as Meta; // Known accessibility issue that will be caught by aXe: https://github.com/adobe/react-spectrum/wiki/Known-accessibility-false-positives#tableview export const DragOutOfTable: TableStory = { diff --git a/packages/@react-spectrum/table/stories/TableDnDUtil.stories.tsx b/packages/@react-spectrum/table/stories/TableDnDUtil.stories.tsx index 993c452f0bd..03d65b615b9 100644 --- a/packages/@react-spectrum/table/stories/TableDnDUtil.stories.tsx +++ b/packages/@react-spectrum/table/stories/TableDnDUtil.stories.tsx @@ -11,18 +11,18 @@ */ import {action} from '@storybook/addon-actions'; -import {ComponentMeta} from '@storybook/react'; import defaultConfig, {TableStory} from './Table.stories'; import {DragBetweenTablesComplex, DragBetweenTablesOverride, DragExampleUtilHandlers, FinderDropUtilHandlers, InsertExampleUtilHandlers, ItemDropExampleUtilHandlers, ReorderExampleUtilHandlers, RootDropExampleUtilHandlers} from './TableDnDUtilExamples'; import {Droppable} from '../../../@react-aria/dnd/stories/dnd.stories'; import {Flex} from '@react-spectrum/layout'; +import {Meta} from '@storybook/react'; import React from 'react'; import {TableView} from '..'; export default { ...defaultConfig, title: 'TableView/Drag and Drop/Util Handlers' -} as ComponentMeta; +} as Meta; // Known accessibility issue that will be caught by aXe: https://github.com/adobe/react-spectrum/wiki/Known-accessibility-false-positives#tableview export const DragOutOfTable: TableStory = { diff --git a/packages/@react-spectrum/table/stories/TreeGridTable.stories.tsx b/packages/@react-spectrum/table/stories/TreeGridTable.stories.tsx index 424bbe7f357..8f0fb8418c6 100644 --- a/packages/@react-spectrum/table/stories/TreeGridTable.stories.tsx +++ b/packages/@react-spectrum/table/stories/TreeGridTable.stories.tsx @@ -14,11 +14,11 @@ import {action} from '@storybook/addon-actions'; import {ActionButton} from '@react-spectrum/button'; import {Cell, Column, Row, SpectrumTableProps, TableBody, TableHeader, TableView} from '../'; import {chain} from '@react-aria/utils'; -import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; import defaultConfig, {columns, EmptyStateTable, TableStory} from './Table.stories'; import {enableTableNestedRows} from '@react-stately/flags'; import {Flex} from '@react-spectrum/layout'; import {Key} from '@react-types/shared'; +import {Meta, StoryObj} from '@storybook/react'; import React, {useState} from 'react'; enableTableNestedRows(); @@ -26,7 +26,7 @@ enableTableNestedRows(); export default { ...defaultConfig, title: 'TableView/Expandable rows' -} as ComponentMeta; +} as Meta; // Known accessibility issue that will be caught by aXe: https://github.com/adobe/react-spectrum/wiki/Known-accessibility-false-positives#tableview export const StaticExpandableRows: TableStory = { @@ -179,7 +179,7 @@ function generateRows(count = 5) { for (let i = 1; i <= count; i++) { let row = generateRow(1, 3, i); manyRows.push(row); - } + } return manyRows; } @@ -216,7 +216,7 @@ function ManyExpandableRows(props: ManyExpandableRowsProps) { ); } -export const ManyExpandableRowsStory: ComponentStoryObj = { +export const ManyExpandableRowsStory: StoryObj = { args: { 'aria-label': 'TableView with many dynamic expandable rows', width: 500, diff --git a/packages/@react-spectrum/tag/chromatic/TagGroup.stories.tsx b/packages/@react-spectrum/tag/chromatic/TagGroup.stories.tsx index 886495a652b..d1420fe2d83 100644 --- a/packages/@react-spectrum/tag/chromatic/TagGroup.stories.tsx +++ b/packages/@react-spectrum/tag/chromatic/TagGroup.stories.tsx @@ -11,18 +11,18 @@ */ import Audio from '@spectrum-icons/workflow/Audio'; -import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; import {Item, TagGroup} from '../'; import {Link} from '@react-spectrum/link'; +import {Meta, StoryObj} from '@storybook/react'; import React from 'react'; import {Text} from '@react-spectrum/text'; -export type TagGroupStory = ComponentStoryObj; +export type TagGroupStory = StoryObj; export default { title: 'TagGroup', component: TagGroup -} as ComponentMeta; +} as Meta; let defaultItems = [ {id: 1, label: 'Cool Tag 1'}, diff --git a/packages/@react-spectrum/tag/stories/TagGroup.stories.tsx b/packages/@react-spectrum/tag/stories/TagGroup.stories.tsx index ff110fc3de5..f93eaec28dc 100644 --- a/packages/@react-spectrum/tag/stories/TagGroup.stories.tsx +++ b/packages/@react-spectrum/tag/stories/TagGroup.stories.tsx @@ -13,12 +13,12 @@ import {action} from '@storybook/addon-actions'; import Audio from '@spectrum-icons/workflow/Audio'; import {Avatar} from '@react-spectrum/avatar'; -import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; import {Content} from '@react-spectrum/view'; import {ContextualHelp} from '@react-spectrum/contextualhelp'; import {Heading, Text} from '@react-spectrum/text'; import {Item, SpectrumTagGroupProps, TagGroup} from '../src'; import {Link} from '@react-spectrum/link'; +import {Meta, StoryObj} from '@storybook/react'; import React, {useState} from 'react'; let manyItems: {key: number}[] = []; @@ -102,9 +102,9 @@ export default { } }, render: args => render(args) -} as ComponentMeta; +} as Meta; -export type TagGroupStory = ComponentStoryObj; +export type TagGroupStory = StoryObj; export const Default: TagGroupStory = {}; diff --git a/packages/@react-spectrum/textfield/stories/Textfield.stories.tsx b/packages/@react-spectrum/textfield/stories/Textfield.stories.tsx index 1f780f44bf9..a4b8f6192cb 100644 --- a/packages/@react-spectrum/textfield/stories/Textfield.stories.tsx +++ b/packages/@react-spectrum/textfield/stories/Textfield.stories.tsx @@ -12,9 +12,9 @@ import {action} from '@storybook/addon-actions'; import {ActionButton, Content, ContextualHelp, Heading, useLocale} from '@adobe/react-spectrum'; -import {ComponentStoryObj} from '@storybook/react'; import Info from '@spectrum-icons/workflow/Info'; import React from 'react'; +import {StoryObj} from '@storybook/react'; import {TextField} from '../'; export default { @@ -60,7 +60,7 @@ export default { } }; -export type TextFieldStory = ComponentStoryObj; +export type TextFieldStory = StoryObj; export const Default: TextFieldStory = { render: (args) => render(args) diff --git a/packages/@react-spectrum/tooltip/chromatic/Tooltip.stories.tsx b/packages/@react-spectrum/tooltip/chromatic/Tooltip.stories.tsx index d09b4441786..a9ec95e1d0f 100644 --- a/packages/@react-spectrum/tooltip/chromatic/Tooltip.stories.tsx +++ b/packages/@react-spectrum/tooltip/chromatic/Tooltip.stories.tsx @@ -9,11 +9,11 @@ * OF ANY KIND, either express or implied. See the License for the specific language * governing permissions and limitations under the License. */ -import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; +import {Meta, StoryObj} from '@storybook/react'; import React from 'react'; import {Tooltip} from '../'; -type TooltipStory = ComponentStoryObj; +type TooltipStory = StoryObj; export default { title: 'Tooltip', @@ -22,7 +22,7 @@ export default { isOpen: true, children: 'Tooltip content' } -} as ComponentMeta; +} as Meta; export const Default: TooltipStory = {}; diff --git a/packages/@react-spectrum/tooltip/chromatic/TooltipTrigger.stories.tsx b/packages/@react-spectrum/tooltip/chromatic/TooltipTrigger.stories.tsx index 7a0f1109c76..0b40c336b0a 100644 --- a/packages/@react-spectrum/tooltip/chromatic/TooltipTrigger.stories.tsx +++ b/packages/@react-spectrum/tooltip/chromatic/TooltipTrigger.stories.tsx @@ -10,11 +10,11 @@ * governing permissions and limitations under the License. */ import {ActionButton} from '@react-spectrum/button'; -import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; +import {Meta, StoryObj} from '@storybook/react'; import React from 'react'; import {Tooltip, TooltipTrigger} from '../'; -type TooltipTriggerStory = ComponentStoryObj; +type TooltipTriggerStory = StoryObj; export default { title: 'TooltipTrigger', @@ -39,7 +39,7 @@ export default { pauseAnimationAtEnd: true } } -} as ComponentMeta; +} as Meta; export const Default: TooltipTriggerStory = {}; diff --git a/packages/@react-spectrum/tooltip/chromatic/TooltipTriggerExpress.stories.tsx b/packages/@react-spectrum/tooltip/chromatic/TooltipTriggerExpress.stories.tsx index 085096cbf42..cd262c24df2 100644 --- a/packages/@react-spectrum/tooltip/chromatic/TooltipTriggerExpress.stories.tsx +++ b/packages/@react-spectrum/tooltip/chromatic/TooltipTriggerExpress.stories.tsx @@ -9,7 +9,7 @@ * OF ANY KIND, either express or implied. See the License for the specific language * governing permissions and limitations under the License. */ -import {ComponentMeta} from '@storybook/react'; +import {Meta} from '@storybook/react'; import {TooltipTrigger} from '../'; import {default as tooltipTriggerDefault} from './TooltipTrigger.stories'; @@ -27,6 +27,6 @@ export default { pauseAnimationAtEnd: true } } -} as ComponentMeta; +} as Meta; export * from './TooltipTrigger.stories'; diff --git a/packages/@react-spectrum/tooltip/chromatic/TooltipTriggerRTL.stories.tsx b/packages/@react-spectrum/tooltip/chromatic/TooltipTriggerRTL.stories.tsx index da0309582cc..a63082ea2e7 100644 --- a/packages/@react-spectrum/tooltip/chromatic/TooltipTriggerRTL.stories.tsx +++ b/packages/@react-spectrum/tooltip/chromatic/TooltipTriggerRTL.stories.tsx @@ -9,7 +9,7 @@ * OF ANY KIND, either express or implied. See the License for the specific language * governing permissions and limitations under the License. */ -import {ComponentMeta} from '@storybook/react'; +import {Meta} from '@storybook/react'; import {TooltipTrigger} from '../'; import {default as tooltipTriggerDefault} from './TooltipTrigger.stories'; @@ -30,7 +30,7 @@ export default { pauseAnimationAtEnd: true } } -} as ComponentMeta; +} as Meta; export { Default, diff --git a/packages/@react-spectrum/tooltip/stories/Tooltip.stories.tsx b/packages/@react-spectrum/tooltip/stories/Tooltip.stories.tsx index d3feb84c956..5e9c6744399 100644 --- a/packages/@react-spectrum/tooltip/stories/Tooltip.stories.tsx +++ b/packages/@react-spectrum/tooltip/stories/Tooltip.stories.tsx @@ -9,11 +9,11 @@ * OF ANY KIND, either express or implied. See the License for the specific language * governing permissions and limitations under the License. */ -import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; +import {Meta, StoryObj} from '@storybook/react'; import React from 'react'; import {Tooltip} from '../src'; -type TooltipStory = ComponentStoryObj; +type TooltipStory = StoryObj; const argTypes = { placement: { @@ -40,7 +40,7 @@ export default { children: 'This is a tooltip' }, argTypes: argTypes -} as ComponentMeta; +} as Meta; export const Default: TooltipStory = {}; diff --git a/packages/@react-spectrum/tooltip/stories/TooltipTrigger.stories.tsx b/packages/@react-spectrum/tooltip/stories/TooltipTrigger.stories.tsx index a4c64854058..0a70eb40117 100644 --- a/packages/@react-spectrum/tooltip/stories/TooltipTrigger.stories.tsx +++ b/packages/@react-spectrum/tooltip/stories/TooltipTrigger.stories.tsx @@ -12,11 +12,11 @@ import {action} from '@storybook/addon-actions'; import {ActionButton, Button} from '@react-spectrum/button'; import {ActionGroup, Item} from '@react-spectrum/actiongroup'; -import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; import Delete from '@spectrum-icons/workflow/Delete'; import Edit from '@spectrum-icons/workflow/Edit'; import {Flex} from '@react-spectrum/layout'; import {Link} from '@react-spectrum/link'; +import {Meta, StoryObj} from '@storybook/react'; import React, {useState} from 'react'; import SaveTo from '@spectrum-icons/workflow/SaveTo'; import {SpectrumTooltipTriggerProps} from '@react-types/tooltip'; @@ -32,7 +32,7 @@ interface MultipleTriggersProps extends SpectrumTooltipTriggerProps { isControlled?: boolean } -type TooltipTriggerStory = ComponentStoryObj; +type TooltipTriggerStory = StoryObj; const argTypes = { placement: { @@ -116,7 +116,7 @@ export default { onOpenChange: action('openChange') }, argTypes: argTypes -} as ComponentMeta; +} as Meta; export const Default: TooltipTriggerStory = {}; diff --git a/packages/@react-spectrum/view/chromatic/View.stories.tsx b/packages/@react-spectrum/view/chromatic/View.stories.tsx index 02a4ee3a65f..1546650d8dc 100644 --- a/packages/@react-spectrum/view/chromatic/View.stories.tsx +++ b/packages/@react-spectrum/view/chromatic/View.stories.tsx @@ -10,16 +10,16 @@ * governing permissions and limitations under the License. */ import {Button} from '@react-spectrum/button'; -import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; +import {Meta, StoryObj} from '@storybook/react'; import React from 'react'; import {View} from '../'; -type ViewStory = ComponentStoryObj; +type ViewStory = StoryObj; let meta = { title: 'View', component: View -} as ComponentMeta; +} as Meta; export default meta; diff --git a/packages/@react-spectrum/well/stories/Well.stories.tsx b/packages/@react-spectrum/well/stories/Well.stories.tsx index 157509bb66f..09b4aa795f7 100644 --- a/packages/@react-spectrum/well/stories/Well.stories.tsx +++ b/packages/@react-spectrum/well/stories/Well.stories.tsx @@ -10,16 +10,16 @@ * governing permissions and limitations under the License. */ -import {ComponentMeta, ComponentStoryObj} from '@storybook/react'; +import {Meta, StoryObj} from '@storybook/react'; import React from 'react'; import {Well} from '../'; -type WellStory = ComponentStoryObj; +type WellStory = StoryObj; let meta = { title: 'Well', component: Well -} as ComponentMeta; +} as Meta; export default meta; diff --git a/packages/dev/parcel-resolver-storybook/StorybookResolver.ts b/packages/dev/parcel-resolver-storybook/StorybookResolver.ts index ee4140d3f3a..54bf5e184a2 100644 --- a/packages/dev/parcel-resolver-storybook/StorybookResolver.ts +++ b/packages/dev/parcel-resolver-storybook/StorybookResolver.ts @@ -1,22 +1,21 @@ -import path from 'path'; -import { Resolver } from "@parcel/plugin"; -const reactVersion = require("react-dom/package.json").version; -import { default as NodeResolver } from "@parcel/node-resolver-core"; // @ts-ignore -import { isGlob, glob, normalizeSeparators, relativePath } from '@parcel/utils'; +import {glob, normalizeSeparators, relativePath} from '@parcel/utils'; +import path from 'path'; +import {Resolver} from '@parcel/plugin'; +const reactVersion = require('react-dom/package.json').version; const REACT_MAJOR_VERSION = parseInt(reactVersion.split('.')[0], 10); module.exports = new Resolver({ - async resolve({ dependency, options, specifier, pipeline, logger }) { + async resolve({dependency, options, specifier, pipeline}) { // Workaround for interop issue - if (specifier === "react-dom/client" && REACT_MAJOR_VERSION < 18) { + if (specifier === 'react-dom/client' && REACT_MAJOR_VERSION < 18) { return { - filePath: __dirname + "/react.js", + filePath: __dirname + '/react.js', code: ` export * from 'react-dom'; export * as default from 'react-dom' - `, + ` }; } @@ -26,7 +25,7 @@ module.exports = new Resolver({ let sourceFile = dependency.resolveFrom ?? dependency.sourcePath!; let normalized = normalizeSeparators(path.resolve(path.dirname(sourceFile), atob(specifier))); let files = await glob(normalized, options.inputFS, { - onlyFiles: true, + onlyFiles: true }); let cwd = process.cwd(); @@ -47,8 +46,8 @@ module.exports = new Resolver({ {glob: normalized} ], pipeline: null, - priority: 'sync', + priority: 'sync' }; } - }, + } }); diff --git a/packages/dev/parcel-resolver-storybook/package.json b/packages/dev/parcel-resolver-storybook/package.json index 4fe83cb4b3e..3207f996e79 100644 --- a/packages/dev/parcel-resolver-storybook/package.json +++ b/packages/dev/parcel-resolver-storybook/package.json @@ -12,7 +12,8 @@ "dependencies": { "@parcel/core": "^2.13.1", "@parcel/node-resolver-core": "^3.1.2", - "@parcel/plugin": "^2.10.2" + "@parcel/plugin": "^2.13.1", + "@parcel/utils": "^2.13.1" }, "scripts": { "build": "rm -rf dist && swc . -d dist --config-file ../../.swcrc", diff --git a/packages/dev/parcel-transformer-storybook/StoryTransformer.ts b/packages/dev/parcel-transformer-storybook/StoryTransformer.ts index b9ab1717597..e9144ace251 100644 --- a/packages/dev/parcel-transformer-storybook/StoryTransformer.ts +++ b/packages/dev/parcel-transformer-storybook/StoryTransformer.ts @@ -1,23 +1,13 @@ -import { Transformer } from '@parcel/plugin'; -import { enrichCsf, formatCsf, babelParse, CsfFile } from '@storybook/csf-tools'; -import * as t from '@babel/types'; -import {parse} from '@babel/parser'; +import {enrichCsf, formatCsf, loadCsf} from '@storybook/csf-tools'; +import {getCacheDir} from './react-docgen-typescript'; import path from 'path'; -import crypto from 'crypto'; -import { getClient, getCacheDir } from './react-docgen-typescript'; -import {ComponentDoc} from 'react-docgen-typescript'; import SourceMap from '@parcel/source-map'; +import {Transformer} from '@parcel/plugin'; module.exports = new Transformer({ async transform({asset, options}) { - let docs: ComponentDoc | null = null; - if (asset.type === 'ts' || asset.type === 'tsx') { - let client = await getClient(options); - docs = await client.getDocs(asset.filePath); - } let code = await asset.getCode(); - let name = options.hmrOptions ? `$parcel$ReactRefresh$${asset.id.slice(-4)}` : null; - let {code: compiledCode, rawMappings} = processCsf(code, asset.filePath, docs, name) as any; + let {code: compiledCode, rawMappings} = processCsf(code, asset.filePath) as any; let map = new SourceMap(options.projectRoot); if (rawMappings) { @@ -32,249 +22,13 @@ module.exports = new Transformer({ } }); -function processCsf(code: string, filePath: string, docs: ComponentDoc | null, refreshName: string | null) { - let ast = parse(code, { - sourceFilename: filePath, - sourceType: 'module', - plugins: ['typescript', 'jsx', 'importAttributes', 'classProperties'], - tokens: true - }); - - let csf = new CsfFile(ast, { +function processCsf(code: string, filePath: string) { + let csf = loadCsf(code, { fileName: filePath, makeTitle: title => title || 'default' - }).parse(); + }); enrichCsf(csf, csf); - // Extract story functions into separate components. This enables React Fast Refresh to work properly. - let count = 0; - let addComponent = (node: t.Function) => { - let name = 'Story' + count++; - csf._ast.program.body.push(t.functionDeclaration( - t.identifier(name), - node.params.map(p => t.cloneNode(p)), - t.isExpression(node.body) ? t.blockStatement([t.returnStatement(node.body)]) : node.body - )); - node.body = t.blockStatement([ - t.returnStatement( - t.jsxElement( - t.jsxOpeningElement( - t.jsxIdentifier(name), - node.params.length && t.isIdentifier(node.params[0]) ? [t.jsxSpreadAttribute(t.cloneNode(node.params[0]))] : [], - true - ), - null, - [], - true - ) - ) - ]); - return name; - }; - - let handleRenderProperty = (node: t.ObjectExpression) => { - // CSF 3 style object story. Extract render function into a component. - let render = node.properties.find(p => (t.isObjectProperty(p) || t.isObjectMethod(p)) && t.isIdentifier(p.key) && p.key.name === 'render'); - if (render?.type === 'ObjectProperty' && t.isFunction(render.value)) { - let c = addComponent(render.value); - node.properties.push(t.objectProperty(t.identifier('_internalComponent'), t.identifier(c))); - } else if (render?.type === 'ObjectMethod') { - let c = addComponent(render); - node.properties.push(t.objectProperty(t.identifier('_internalComponent'), t.identifier(c))); - } else if (t.isObjectProperty(render) && render.value.type === 'Identifier') { - render.value = t.arrowFunctionExpression( - [t.identifier('args')], - t.jsxElement( - t.jsxOpeningElement( - t.jsxIdentifier(render.value.name), - [t.jsxSpreadAttribute(t.identifier('args'))], - true - ), - null, - [], - true - ) - ); - } - }; - - if (refreshName) { - for (let name in csf._storyExports) { - let node = csf.getStoryExport(name); - - // Generate a hash of the args and parameters. If this changes, we bail out of Fast Refresh. - let annotations = csf._storyAnnotations[name]; - let storyHash = ''; - if (annotations) { - let hash = crypto.createHash('md5'); - if (annotations.args) { - hash.update(code.slice(annotations.args.start!, annotations.args.end!)); - } - if (annotations.parameters) { - hash.update(code.slice(annotations.parameters.start!, annotations.parameters.end!)); - } - storyHash = hash.digest('hex'); - } - - if (t.isFunction(node)) { - // CSF 2 style function story. - let c = addComponent(node); - csf._ast.program.body.push(t.expressionStatement( - t.assignmentExpression( - '=', - t.memberExpression(t.identifier(name), t.identifier('_internalComponent')), - t.identifier(c) - ) - )); - - if (storyHash) { - csf._ast.program.body.push(t.expressionStatement( - t.assignmentExpression( - '=', - t.memberExpression(t.identifier(name), t.identifier('_hash')), - t.stringLiteral(storyHash) - ) - )); - } - } else if (node.type === 'ObjectExpression') { - handleRenderProperty(node); - if (storyHash) { - node.properties.push(t.objectProperty(t.identifier('_hash'), t.stringLiteral(storyHash))); - } - } - } - } - - // Hash the default export to invalidate Fast Refresh. - if (csf._metaNode?.type === 'ObjectExpression') { - if (docs) { - let component = csf._metaNode.properties.find(p => t.isObjectProperty(p) && t.isIdentifier(p.key) && p.key.name === 'component'); - if (t.isObjectProperty(component) && t.isExpression(component.value)) { - component.value = t.sequenceExpression([ - t.assignmentExpression('=', t.memberExpression(component.value, t.identifier('__docgenInfo')), t.valueToNode(docs)), - component.value - ]); - } - } - - - if (refreshName) { - handleRenderProperty(csf._metaNode); - - let hash = crypto.createHash('md5'); - hash.update(code.slice(csf._metaNode.start!, csf._metaNode.end!)); - hash.update(JSON.stringify(docs)); - let metaHash = hash.digest('hex'); - csf._metaNode.properties.push(t.objectProperty(t.identifier('_hash'), t.stringLiteral(metaHash))); - } - } - - if (refreshName) { - wrapRefresh(csf._ast.program, filePath, refreshName); - } - // @ts-ignore return formatCsf(csf, {sourceFileName: filePath, sourceMaps: true, importAttributesKeyword: 'with'}); } - -function wrapRefresh(program: t.Program, filePath: string, refreshName: string) { - let wrapperPath = `${path.relative( - path.dirname(filePath), - __dirname, - )}/csf-hmr.js`; - - // Group imports, exports, and body statements which will be wrapped in a try...catch. - let imports: (t.ImportDeclaration | t.ExportDeclaration)[] = []; - let statements: t.Statement[] = []; - let exportVars: t.VariableDeclarator[] = []; - let exports: t.ExportSpecifier[] = []; - - for (let statement of program.body) { - if (t.isImportDeclaration(statement) || t.isExportAllDeclaration(statement)) { - imports.push(statement); - } else if (t.isExportNamedDeclaration(statement)) { - if (statement.exportKind === 'type' || statement.source) { - imports.push(statement); - } else if (statement.declaration) { - statements.push(statement.declaration); - for (let id in t.getOuterBindingIdentifiers(statement.declaration)) { - let name = refreshName + '$Export' + exportVars.length; - exportVars.push(t.variableDeclarator(t.identifier(name))); - exports.push(t.exportSpecifier(t.identifier(name), t.identifier(id))); - statements.push(t.expressionStatement(t.assignmentExpression('=', t.identifier(name), t.identifier(id)))); - } - } else if (statement.specifiers) { - for (let specifier of statement.specifiers) { - if (t.isExportSpecifier(specifier)) { - let name = refreshName + '$Export' + exportVars.length; - exportVars.push(t.variableDeclarator(t.identifier(name))); - exports.push(t.exportSpecifier(t.identifier(name), specifier.exported)); - statements.push(t.expressionStatement(t.assignmentExpression('=', t.identifier(name), specifier.local))); - } - } - } - } else if (t.isExportDefaultDeclaration(statement)) { - if (t.isExpression(statement.declaration)) { - let name = refreshName + '$Export' + exportVars.length; - exportVars.push(t.variableDeclarator(t.identifier(name))); - exports.push(t.exportSpecifier(t.identifier(name), t.identifier('default'))); - statements.push(t.expressionStatement(t.assignmentExpression('=', t.identifier(name), statement.declaration))); - } else { - statements.push(statement.declaration); - let name = refreshName + '$Export' + exportVars.length; - exportVars.push(t.variableDeclarator(t.identifier(name))); - exports.push(t.exportSpecifier(t.identifier(name), t.identifier('default'))); - } - } else { - statements.push(statement); - } - } - - program.body = [ - ...imports, - t.importDeclaration( - [t.importNamespaceSpecifier(t.identifier(refreshName + '$Helpers'))], - t.stringLiteral(wrapperPath) - ), - t.variableDeclaration('var', exportVars), - t.variableDeclaration('var', [ - t.variableDeclarator(t.identifier(refreshName + '$PrevRefreshReg'), t.memberExpression(t.identifier('window'), t.identifier('$RefreshReg$'))), - t.variableDeclarator(t.identifier(refreshName + '$PrevRefreshSig'), t.memberExpression(t.identifier('window'), t.identifier('$RefreshSig$'))) - ]), - t.expressionStatement( - t.callExpression( - t.memberExpression(t.identifier(refreshName + '$Helpers'), t.identifier('prelude')), - [t.identifier('module')] - ) - ), - t.tryStatement( - t.blockStatement([ - ...statements, - t.expressionStatement( - t.callExpression( - t.memberExpression(t.identifier(refreshName + '$Helpers'), t.identifier('postlude')), - [t.identifier('module')] - ) - ), - ]), - null, - t.blockStatement([ - t.expressionStatement( - t.assignmentExpression( - '=', - t.memberExpression(t.identifier('window'), t.identifier('$RefreshReg$')), - t.identifier(refreshName + '$PrevRefreshReg') - ), - ), - t.expressionStatement( - t.assignmentExpression( - '=', - t.memberExpression(t.identifier('window'), t.identifier('$RefreshSig$')), - t.identifier(refreshName + '$PrevRefreshSig') - ), - ), - ]) - ), - t.exportNamedDeclaration(null, exports) - ]; -} diff --git a/packages/dev/parcel-transformer-storybook/csf-hmr.js b/packages/dev/parcel-transformer-storybook/csf-hmr.js index 7a6fc66b86b..7bbb99f6b5b 100644 --- a/packages/dev/parcel-transformer-storybook/csf-hmr.js +++ b/packages/dev/parcel-transformer-storybook/csf-hmr.js @@ -1,4 +1,4 @@ -"use strict"; +'use strict'; var Refresh = require('react-refresh/runtime'); function debounce(func, delay) { diff --git a/packages/dev/parcel-transformer-storybook/package.json b/packages/dev/parcel-transformer-storybook/package.json index 0865a1d8691..e42e69e7044 100644 --- a/packages/dev/parcel-transformer-storybook/package.json +++ b/packages/dev/parcel-transformer-storybook/package.json @@ -12,10 +12,12 @@ "dependencies": { "@babel/parser": "^7.23.0", "@babel/types": "^7.23.0", - "@parcel/plugin": "^2.10.2", - "@storybook/csf-tools": "^7", - "@storybook/docs-tools": "^7", + "@parcel/plugin": "^2.13.1", + "@parcel/source-map": "^2.1.1", + "@storybook/csf-tools": "^8", + "@storybook/docs-tools": "^8", "react-docgen-typescript": "^2.2.2", + "storybook": "^8.6.7", "typescript": "^5.5.0" }, "scripts": { diff --git a/packages/dev/parcel-transformer-storybook/react-docgen-typescript.ts b/packages/dev/parcel-transformer-storybook/react-docgen-typescript.ts index 2df8f383f9e..d226ccd0b61 100644 --- a/packages/dev/parcel-transformer-storybook/react-docgen-typescript.ts +++ b/packages/dev/parcel-transformer-storybook/react-docgen-typescript.ts @@ -1,9 +1,9 @@ -import path from 'path'; -import ts from 'typescript'; import {ComponentDoc, Parser} from 'react-docgen-typescript'; -import net from 'net'; import fs from 'fs'; +import net from 'net'; +import path from 'path'; import type {PluginOptions} from '@parcel/types'; +import ts from 'typescript'; export function getCacheDir(options: PluginOptions) { return path.join(options.projectRoot, 'node_modules', '.cache', 'docgen'); @@ -47,7 +47,7 @@ async function createService(options: PluginOptions) { socket.on('error', () => {}); }); - + await new Promise((resolve, reject) => { let sock = getSocketPath(options); server.listen(sock, () => resolve()); @@ -68,7 +68,7 @@ async function createService(options: PluginOptions) { module: ts.ModuleKind.CommonJS, target: ts.ScriptTarget.Latest }; - + let program: ts.Program; if (options.hmrOptions) { let host = ts.createWatchCompilerHost( @@ -134,7 +134,7 @@ function parseStory(program: ts.Program, filePath: string) { 'onFocusChange', 'onScroll' ]); - + let parser = new Parser(program, { shouldExtractLiteralValuesFromEnum: true, shouldRemoveUndefinedFromOptional: true, @@ -272,6 +272,7 @@ export async function getClient(options: PluginOptions): Promise { try { await createService(options); } catch (err) { + // @ts-ignore if (err.code !== 'EADDRINUSE') { throw err; } diff --git a/packages/dev/storybook-builder-parcel/gen-iframe-modern.js b/packages/dev/storybook-builder-parcel/gen-iframe-modern.js index 005de57e712..6e90d302794 100644 --- a/packages/dev/storybook-builder-parcel/gen-iframe-modern.js +++ b/packages/dev/storybook-builder-parcel/gen-iframe-modern.js @@ -1,4 +1,4 @@ -const { normalizeStories } = require("@storybook/core-common"); +const {normalizeStories} = require('@storybook/core-common'); const TEMPLATE = ` @@ -28,42 +28,42 @@ const TEMPLATE = ` `; module.exports.generateIframeModern = async function generateIframeModern(options) { - const { configType, features, presets, serverChannelUrl, title } = options; - const frameworkOptions = await presets.apply("frameworkOptions"); - const headHtmlSnippet = await presets.apply("previewHead"); - const bodyHtmlSnippet = await presets.apply("previewBody"); - const logLevel = await presets.apply("logLevel", undefined); - const docsOptions = await presets.apply("docs"); + const {configType, features, presets, serverChannelUrl, title} = options; + const frameworkOptions = await presets.apply('frameworkOptions'); + const headHtmlSnippet = await presets.apply('previewHead'); + const bodyHtmlSnippet = await presets.apply('previewBody'); + const logLevel = await presets.apply('logLevel', undefined); + const docsOptions = await presets.apply('docs'); - const coreOptions = await presets.apply("core"); + const coreOptions = await presets.apply('core'); const stories = normalizeStories( - await options.presets.apply("stories", [], options), + await options.presets.apply('stories', [], options), { configDir: options.configDir, - workingDir: process.cwd(), + workingDir: process.cwd() } ).map((specifier) => ({ ...specifier, - importPathMatcher: specifier.importPathMatcher.source, + importPathMatcher: specifier.importPathMatcher.source })); return TEMPLATE - .replace("", title || "Storybook") - .replace("[CONFIG_TYPE HERE]", configType || "") - .replace("[LOGLEVEL HERE]", logLevel || "") - .replace(`'[FRAMEWORK_OPTIONS HERE]'`, JSON.stringify(frameworkOptions)) + .replace('', title || 'Storybook') + .replace('[CONFIG_TYPE HERE]', configType || '') + .replace('[LOGLEVEL HERE]', logLevel || '') + .replace('\'[FRAMEWORK_OPTIONS HERE]\'', JSON.stringify(frameworkOptions)) .replace( - `'[CHANNEL_OPTIONS HERE]'`, + '\'[CHANNEL_OPTIONS HERE]\'', JSON.stringify( coreOptions && coreOptions.channelOptions ? coreOptions.channelOptions : {} ) ) - .replace(`'[FEATURES HERE]'`, JSON.stringify(features || {})) - .replace(`'[STORIES HERE]'`, JSON.stringify(stories || {})) - .replace(`'[DOCS_OPTIONS HERE]'`, JSON.stringify(docsOptions || {})) - .replace(`'[SERVER_CHANNEL_URL HERE]'`, JSON.stringify(serverChannelUrl)) - .replace("", headHtmlSnippet || "") - .replace("", bodyHtmlSnippet || ""); + .replace('\'[FEATURES HERE]\'', JSON.stringify(features || {})) + .replace('\'[STORIES HERE]\'', JSON.stringify(stories || {})) + .replace('\'[DOCS_OPTIONS HERE]\'', JSON.stringify(docsOptions || {})) + .replace('\'[SERVER_CHANNEL_URL HERE]\'', JSON.stringify(serverChannelUrl)) + .replace('', headHtmlSnippet || '') + .replace('', bodyHtmlSnippet || ''); }; diff --git a/packages/dev/storybook-builder-parcel/gen-preview-modern.js b/packages/dev/storybook-builder-parcel/gen-preview-modern.js index fb9f19b2ff0..f36b4d01f9d 100644 --- a/packages/dev/storybook-builder-parcel/gen-preview-modern.js +++ b/packages/dev/storybook-builder-parcel/gen-preview-modern.js @@ -1,19 +1,19 @@ -const path = require("path"); +const path = require('path'); const { loadPreviewOrConfigFile, normalizeStories, - stripAbsNodeModulesPath, -} = require("@storybook/core-common"); + stripAbsNodeModulesPath +} = require('@storybook/core-common'); const {relativePath} = require('@parcel/utils'); module.exports.generatePreviewModern = async function generatePreviewModern( options, generatedEntries ) { - const { presets, configDir } = options; + const {presets, configDir} = options; const previewAnnotations = await presets.apply( - "previewAnnotations", + 'previewAnnotations', [], options ); @@ -21,8 +21,8 @@ module.exports.generatePreviewModern = async function generatePreviewModern( ...previewAnnotations.map(processPreviewAnnotation), relativePath( generatedEntries, - loadPreviewOrConfigFile({ configDir }) - ), + loadPreviewOrConfigFile({configDir}) + ) ].filter(Boolean); /** @@ -32,46 +32,43 @@ module.exports.generatePreviewModern = async function generatePreviewModern( * @todo Inline variable and remove `noinspection` */ const code = ` - import { setup } from 'storybook/internal/preview/runtime'; - - setup(); +import {addons, composeConfigs, PreviewWeb} from 'storybook/internal/preview-api'; +import {createBrowserChannel} from 'storybook/internal/channels'; +import {setup} from 'storybook/internal/preview/runtime'; - import { createBrowserChannel } from 'storybook/internal/channels'; - import { addons } from 'storybook/internal/preview-api'; +setup(); - const channel = createBrowserChannel({ page: 'preview' }); - addons.setChannel(channel); - window.__STORYBOOK_ADDONS_CHANNEL__ = channel; +const channel = createBrowserChannel({page: 'preview'}); +addons.setChannel(channel); +window.__STORYBOOK_ADDONS_CHANNEL__ = channel; - if (window.CONFIG_TYPE === 'DEVELOPMENT'){ - window.__STORYBOOK_SERVER_CHANNEL__ = channel; - } +if (window.CONFIG_TYPE === 'DEVELOPMENT'){ + window.__STORYBOOK_SERVER_CHANNEL__ = channel; +} - import { composeConfigs, PreviewWeb } from 'storybook/internal/preview-api'; - import { isPreview } from 'storybook/internal/csf'; - ${await generateImportFnScriptCode(options, generatedEntries)} +${await generateImportFnScriptCode(options, generatedEntries)} - const getProjectAnnotations = async () => { - const configs = await Promise.all([${relativePreviewAnnotations - .map((previewAnnotation) => `import('${previewAnnotation}')`) - .join(",\n")}]) - return composeConfigs(configs); - } +const getProjectAnnotations = async () => { + const configs = await Promise.all([${relativePreviewAnnotations + .map((previewAnnotation) => `import('${previewAnnotation}')`) + .join(',\n')}]) + return composeConfigs(configs); +} - window.__STORYBOOK_PREVIEW__ = window.__STORYBOOK_PREVIEW__ || new PreviewWeb(importFn, getProjectAnnotations); +window.__STORYBOOK_PREVIEW__ = window.__STORYBOOK_PREVIEW__ || new PreviewWeb(importFn, getProjectAnnotations); - window.__STORYBOOK_STORY_STORE__ = window.__STORYBOOK_STORY_STORE__ || window.__STORYBOOK_PREVIEW__.storyStore; +window.__STORYBOOK_STORY_STORE__ = window.__STORYBOOK_STORY_STORE__ || window.__STORYBOOK_PREVIEW__.storyStore; - module.hot.accept(() => { - // importFn has changed so we need to patch the new one in - window.__STORYBOOK_PREVIEW__.onStoriesChanged({ importFn }); +module.hot.accept(() => { + // importFn has changed so we need to patch the new one in + window.__STORYBOOK_PREVIEW__.onStoriesChanged({ importFn }); - // getProjectAnnotations has changed so we need to patch the new one in - window.__STORYBOOK_PREVIEW__.onGetProjectAnnotationsChanged({ getProjectAnnotations }); - }); + // getProjectAnnotations has changed so we need to patch the new one in + window.__STORYBOOK_PREVIEW__.onGetProjectAnnotationsChanged({ getProjectAnnotations }); +}); `; // ${generateHMRHandler(frameworkName)}; return code; @@ -84,26 +81,26 @@ function processPreviewAnnotation(path) { // continue supporting super-addons in pnp/pnpm without // requiring them to re-export their sub-addons as we do // in addon-essentials. - if (typeof path === "object") { + if (typeof path === 'object') { return path.bare; } // resolve relative paths into absolute paths, but don't resolve "bare" imports - if (path?.startsWith("./") || path?.startsWith("../")) { - return /*slash*/ path.resolve(path); + if (path?.startsWith('./') || path?.startsWith('../')) { + return /* slash*/ path.resolve(path); } // This should not occur, since we use `.filter(Boolean)` prior to // calling this function, but this makes typescript happy if (!path) { - throw new Error("Could not determine path for previewAnnotation"); + throw new Error('Could not determine path for previewAnnotation'); } // For addon dependencies that use require.resolve(), we need to convert to a bare path // so that vite will process it as a dependency (cjs -> esm, etc). - if (path.includes("node_modules")) { + if (path.includes('node_modules')) { return stripAbsNodeModulesPath(path); } - return /*slash*/ path; + return /* slash*/ path; } /** @@ -144,10 +141,10 @@ async function generateImportFnScriptCode(options, generatedEntries) { async function listStories(options) { return ( await Promise.all( - normalizeStories(await options.presets.apply("stories", [], options), { + normalizeStories(await options.presets.apply('stories', [], options), { configDir: options.configDir, - workingDir: options.configDir, - }).map(({ directory, files }) => { + workingDir: options.configDir + }).map(({directory, files}) => { let pattern = path.join(directory, files); return path.isAbsolute(pattern) ? pattern diff --git a/packages/dev/storybook-builder-parcel/preset.js b/packages/dev/storybook-builder-parcel/preset.js index 0ae11c69d0e..32373daf723 100644 --- a/packages/dev/storybook-builder-parcel/preset.js +++ b/packages/dev/storybook-builder-parcel/preset.js @@ -1,31 +1,31 @@ -const { Parcel } = require("@parcel/core"); -const path = require("path"); -const { createProxyMiddleware } = require("http-proxy-middleware"); -const fs = require("fs"); +const {Parcel} = require('@parcel/core'); +const path = require('path'); +const {createProxyMiddleware} = require('http-proxy-middleware'); +const fs = require('fs'); -const { generateIframeModern } = require("./gen-iframe-modern.js"); -const { generatePreviewModern } = require("./gen-preview-modern.js"); +const {generateIframeModern} = require('./gen-iframe-modern.js'); +const {generatePreviewModern} = require('./gen-preview-modern.js'); -const generatedEntries = path.join(__dirname, "generated-entries"); +const generatedEntries = path.join(__dirname, 'generated-entries'); -exports.start = async function ({ options, router }) { +exports.start = async function ({options, router}) { let parcel = await createParcel(options, true); router.use(async (req, res, next) => { - if (req.url === "/" || req.url === "/index.html") { + if (req.url === '/' || req.url === '/index.html') { return next(); } let proxy = createProxyMiddleware({ - target: "http://localhost:3000/", + target: 'http://localhost:3000/', selfHandleResponse: true, - logLevel: "warn", + logLevel: 'warn', onProxyRes(proxyRes, req, res) { // Parcel dev server responds with main HTML page if the file doesn't exist... if ( proxyRes.statusCode === 404 || - (proxyRes.headers["content-type"]?.startsWith("text/html") && - !req.url.startsWith("/iframe.html")) + (proxyRes.headers['content-type']?.startsWith('text/html') && + !req.url.startsWith('/iframe.html')) ) { return next(); } else { @@ -35,11 +35,11 @@ exports.start = async function ({ options, router }) { } proxyRes.pipe(res); } - }, + } }); // Remove socket/connection temporarily to prevent proxy from subscribing to `close` event and triggering warning. - let { socket, connection } = req; + let {socket, connection} = req; req.socket = null; req.connection = null; await proxy(req, res, next); @@ -48,7 +48,7 @@ exports.start = async function ({ options, router }) { }); let subscription = await parcel.watch(); - process.on("SIGINT", async () => { + process.on('SIGINT', async () => { await subscription.unsubscribe(); process.exit(); }); @@ -58,11 +58,11 @@ exports.start = async function ({ options, router }) { await subscription.unsubscribe(); }, stats: {}, - totalTime: 0, + totalTime: 0 }; }; -exports.build = async function ({ options }) { +exports.build = async function ({options}) { let parcel = await createParcel(options); await parcel.run(); }; @@ -72,40 +72,40 @@ exports.previewPresets = []; exports.bail = async () => {}; async function createParcel(options, isDev = false) { - fs.mkdirSync(generatedEntries, { recursive: true }); + fs.mkdirSync(generatedEntries, {recursive: true}); fs.writeFileSync( - path.join(generatedEntries, "iframe.html"), + path.join(generatedEntries, 'iframe.html'), await generateIframeModern(options, generatedEntries) ); fs.writeFileSync( - path.join(generatedEntries, "preview.js"), + path.join(generatedEntries, 'preview.js'), await generatePreviewModern(options, generatedEntries) ); return new Parcel({ - entries: path.join(generatedEntries, "iframe.html"), - config: path.resolve(options.configDir, ".parcelrc"), - mode: isDev ? "development" : "production", + entries: path.join(generatedEntries, 'iframe.html'), + config: path.resolve(options.configDir, '.parcelrc'), + mode: isDev ? 'development' : 'production', serveOptions: isDev ? { - port: 3000, - } + port: 3000 + } : null, hmrOptions: isDev ? { - port: 3001, - } + port: 3001 + } : null, additionalReporters: [ { - packageName: "@parcel/reporter-cli", - resolveFrom: __filename, - }, + packageName: '@parcel/reporter-cli', + resolveFrom: __filename + } ], targets: { storybook: { distDir: options.outputDir, - publicUrl: "./", + publicUrl: './', engines: { browsers: ['last 2 Chrome version', 'last 2 Safari versions', 'last 2 Edge version', 'last 2 Firefox versions'] } diff --git a/packages/dev/storybook-react-parcel/preset.js b/packages/dev/storybook-react-parcel/preset.js index b7149e91257..23efab859db 100644 --- a/packages/dev/storybook-react-parcel/preset.js +++ b/packages/dev/storybook-react-parcel/preset.js @@ -1,4 +1,4 @@ module.exports.core = { - builder: "storybook-builder-parcel", - renderer: "@storybook/react", + builder: 'storybook-builder-parcel', + renderer: '@storybook/react' }; diff --git a/packages/react-aria-components/stories/Toolbar.stories.tsx b/packages/react-aria-components/stories/Toolbar.stories.tsx index 239aa874347..6befe47186b 100644 --- a/packages/react-aria-components/stories/Toolbar.stories.tsx +++ b/packages/react-aria-components/stories/Toolbar.stories.tsx @@ -20,39 +20,34 @@ export default { title: 'React Aria Components' }; -export const ToolbarExample = (props: ToolbarProps) => { - return ( -
- - - -
- B -
U
- I -
- -
- +export const ToolbarExample = { + args: { + orientation: 'horizontal' as Orientation + }, + render: (props: ToolbarProps) => { + return ( +
+ + + +
+ B +
U
+ I
- Night Mode - - Help -
- - -
- ); -}; - -ToolbarExample.args = { - orientation: 'horizontal' as Orientation -}; -ToolbarExample.argTypes = { - orientation: { - control: 'radio', - options: ['horizontal', 'vertical'] + +
+ +
+ Night Mode +
+ Help + + + +
+ ); } }; diff --git a/yarn.lock b/yarn.lock index 59589235bf3..17c9b9c43c7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -392,7 +392,7 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.22.5, @babel/generator@npm:^7.23.0, @babel/generator@npm:^7.24.1, @babel/generator@npm:^7.7.2": +"@babel/generator@npm:^7.22.5, @babel/generator@npm:^7.24.1, @babel/generator@npm:^7.7.2": version: 7.24.5 resolution: "@babel/generator@npm:7.24.5" dependencies: @@ -2018,13 +2018,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/android-arm64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/android-arm64@npm:0.18.20" - conditions: os=android & cpu=arm64 - languageName: node - linkType: hard - "@esbuild/android-arm64@npm:0.25.4": version: 0.25.4 resolution: "@esbuild/android-arm64@npm:0.25.4" @@ -2032,13 +2025,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/android-arm@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/android-arm@npm:0.18.20" - conditions: os=android & cpu=arm - languageName: node - linkType: hard - "@esbuild/android-arm@npm:0.25.4": version: 0.25.4 resolution: "@esbuild/android-arm@npm:0.25.4" @@ -2046,13 +2032,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/android-x64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/android-x64@npm:0.18.20" - conditions: os=android & cpu=x64 - languageName: node - linkType: hard - "@esbuild/android-x64@npm:0.25.4": version: 0.25.4 resolution: "@esbuild/android-x64@npm:0.25.4" @@ -2060,13 +2039,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/darwin-arm64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/darwin-arm64@npm:0.18.20" - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - "@esbuild/darwin-arm64@npm:0.25.4": version: 0.25.4 resolution: "@esbuild/darwin-arm64@npm:0.25.4" @@ -2074,13 +2046,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/darwin-x64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/darwin-x64@npm:0.18.20" - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - "@esbuild/darwin-x64@npm:0.25.4": version: 0.25.4 resolution: "@esbuild/darwin-x64@npm:0.25.4" @@ -2088,13 +2053,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/freebsd-arm64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/freebsd-arm64@npm:0.18.20" - conditions: os=freebsd & cpu=arm64 - languageName: node - linkType: hard - "@esbuild/freebsd-arm64@npm:0.25.4": version: 0.25.4 resolution: "@esbuild/freebsd-arm64@npm:0.25.4" @@ -2102,13 +2060,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/freebsd-x64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/freebsd-x64@npm:0.18.20" - conditions: os=freebsd & cpu=x64 - languageName: node - linkType: hard - "@esbuild/freebsd-x64@npm:0.25.4": version: 0.25.4 resolution: "@esbuild/freebsd-x64@npm:0.25.4" @@ -2116,13 +2067,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-arm64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/linux-arm64@npm:0.18.20" - conditions: os=linux & cpu=arm64 - languageName: node - linkType: hard - "@esbuild/linux-arm64@npm:0.25.4": version: 0.25.4 resolution: "@esbuild/linux-arm64@npm:0.25.4" @@ -2130,13 +2074,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-arm@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/linux-arm@npm:0.18.20" - conditions: os=linux & cpu=arm - languageName: node - linkType: hard - "@esbuild/linux-arm@npm:0.25.4": version: 0.25.4 resolution: "@esbuild/linux-arm@npm:0.25.4" @@ -2144,13 +2081,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-ia32@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/linux-ia32@npm:0.18.20" - conditions: os=linux & cpu=ia32 - languageName: node - linkType: hard - "@esbuild/linux-ia32@npm:0.25.4": version: 0.25.4 resolution: "@esbuild/linux-ia32@npm:0.25.4" @@ -2158,13 +2088,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-loong64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/linux-loong64@npm:0.18.20" - conditions: os=linux & cpu=loong64 - languageName: node - linkType: hard - "@esbuild/linux-loong64@npm:0.25.4": version: 0.25.4 resolution: "@esbuild/linux-loong64@npm:0.25.4" @@ -2172,13 +2095,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-mips64el@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/linux-mips64el@npm:0.18.20" - conditions: os=linux & cpu=mips64el - languageName: node - linkType: hard - "@esbuild/linux-mips64el@npm:0.25.4": version: 0.25.4 resolution: "@esbuild/linux-mips64el@npm:0.25.4" @@ -2186,13 +2102,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-ppc64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/linux-ppc64@npm:0.18.20" - conditions: os=linux & cpu=ppc64 - languageName: node - linkType: hard - "@esbuild/linux-ppc64@npm:0.25.4": version: 0.25.4 resolution: "@esbuild/linux-ppc64@npm:0.25.4" @@ -2200,13 +2109,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-riscv64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/linux-riscv64@npm:0.18.20" - conditions: os=linux & cpu=riscv64 - languageName: node - linkType: hard - "@esbuild/linux-riscv64@npm:0.25.4": version: 0.25.4 resolution: "@esbuild/linux-riscv64@npm:0.25.4" @@ -2214,13 +2116,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-s390x@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/linux-s390x@npm:0.18.20" - conditions: os=linux & cpu=s390x - languageName: node - linkType: hard - "@esbuild/linux-s390x@npm:0.25.4": version: 0.25.4 resolution: "@esbuild/linux-s390x@npm:0.25.4" @@ -2228,13 +2123,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-x64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/linux-x64@npm:0.18.20" - conditions: os=linux & cpu=x64 - languageName: node - linkType: hard - "@esbuild/linux-x64@npm:0.25.4": version: 0.25.4 resolution: "@esbuild/linux-x64@npm:0.25.4" @@ -2249,13 +2137,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/netbsd-x64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/netbsd-x64@npm:0.18.20" - conditions: os=netbsd & cpu=x64 - languageName: node - linkType: hard - "@esbuild/netbsd-x64@npm:0.25.4": version: 0.25.4 resolution: "@esbuild/netbsd-x64@npm:0.25.4" @@ -2270,13 +2151,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/openbsd-x64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/openbsd-x64@npm:0.18.20" - conditions: os=openbsd & cpu=x64 - languageName: node - linkType: hard - "@esbuild/openbsd-x64@npm:0.25.4": version: 0.25.4 resolution: "@esbuild/openbsd-x64@npm:0.25.4" @@ -2284,13 +2158,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/sunos-x64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/sunos-x64@npm:0.18.20" - conditions: os=sunos & cpu=x64 - languageName: node - linkType: hard - "@esbuild/sunos-x64@npm:0.25.4": version: 0.25.4 resolution: "@esbuild/sunos-x64@npm:0.25.4" @@ -2298,13 +2165,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/win32-arm64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/win32-arm64@npm:0.18.20" - conditions: os=win32 & cpu=arm64 - languageName: node - linkType: hard - "@esbuild/win32-arm64@npm:0.25.4": version: 0.25.4 resolution: "@esbuild/win32-arm64@npm:0.25.4" @@ -2312,13 +2172,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/win32-ia32@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/win32-ia32@npm:0.18.20" - conditions: os=win32 & cpu=ia32 - languageName: node - linkType: hard - "@esbuild/win32-ia32@npm:0.25.4": version: 0.25.4 resolution: "@esbuild/win32-ia32@npm:0.25.4" @@ -2326,13 +2179,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/win32-x64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/win32-x64@npm:0.18.20" - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - "@esbuild/win32-x64@npm:0.25.4": version: 0.25.4 resolution: "@esbuild/win32-x64@npm:0.25.4" @@ -5037,7 +4883,7 @@ __metadata: languageName: node linkType: hard -"@parcel/plugin@npm:2.14.0, @parcel/plugin@npm:^2.0.0, @parcel/plugin@npm:^2.10.2, @parcel/plugin@npm:^2.14.0": +"@parcel/plugin@npm:2.14.0, @parcel/plugin@npm:^2.0.0, @parcel/plugin@npm:^2.14.0": version: 2.14.0 resolution: "@parcel/plugin@npm:2.14.0" dependencies: @@ -5046,7 +4892,7 @@ __metadata: languageName: node linkType: hard -"@parcel/plugin@npm:2.15.1": +"@parcel/plugin@npm:2.15.1, @parcel/plugin@npm:^2.13.1": version: 2.15.1 resolution: "@parcel/plugin@npm:2.15.1" dependencies: @@ -5158,7 +5004,8 @@ __metadata: dependencies: "@parcel/core": "npm:^2.13.1" "@parcel/node-resolver-core": "npm:^3.1.2" - "@parcel/plugin": "npm:^2.10.2" + "@parcel/plugin": "npm:^2.13.1" + "@parcel/utils": "npm:^2.13.1" languageName: unknown linkType: soft @@ -5500,10 +5347,12 @@ __metadata: dependencies: "@babel/parser": "npm:^7.23.0" "@babel/types": "npm:^7.23.0" - "@parcel/plugin": "npm:^2.10.2" - "@storybook/csf-tools": "npm:^7" - "@storybook/docs-tools": "npm:^7" + "@parcel/plugin": "npm:^2.13.1" + "@parcel/source-map": "npm:^2.1.1" + "@storybook/csf-tools": "npm:^8" + "@storybook/docs-tools": "npm:^8" react-docgen-typescript: "npm:^2.2.2" + storybook: "npm:^8.6.7" typescript: "npm:^5.5.0" languageName: unknown linkType: soft @@ -5624,7 +5473,7 @@ __metadata: languageName: node linkType: hard -"@parcel/utils@npm:2.15.1": +"@parcel/utils@npm:2.15.1, @parcel/utils@npm:^2.13.1": version: 2.15.1 resolution: "@parcel/utils@npm:2.15.1" dependencies: @@ -9739,20 +9588,6 @@ __metadata: languageName: node linkType: hard -"@storybook/channels@npm:7.6.20": - version: 7.6.20 - resolution: "@storybook/channels@npm:7.6.20" - dependencies: - "@storybook/client-logger": "npm:7.6.20" - "@storybook/core-events": "npm:7.6.20" - "@storybook/global": "npm:^5.0.0" - qs: "npm:^6.10.0" - telejson: "npm:^7.2.0" - tiny-invariant: "npm:^1.3.1" - checksum: 10c0/5aaa3e06a27750ffc48be6a5375dc286e1de5ae6c54f8318338afa2bbea68e37842f8eb17ce509c5587af173289640e78a4bbec3f234be9395bd08a0e1820308 - languageName: node - linkType: hard - "@storybook/channels@npm:^8.6.7": version: 8.6.14 resolution: "@storybook/channels@npm:8.6.14" @@ -9762,15 +9597,6 @@ __metadata: languageName: node linkType: hard -"@storybook/client-logger@npm:7.6.20": - version: 7.6.20 - resolution: "@storybook/client-logger@npm:7.6.20" - dependencies: - "@storybook/global": "npm:^5.0.0" - checksum: 10c0/cd1a9cb0a484a1585d5b4a918b20335ba8bd6655ae0051ba30c729b75678bafca62b8ef124fecd5c5883debf41d93a1827cf7bdf08df666f64de3cc15864be54 - languageName: node - linkType: hard - "@storybook/client-logger@npm:^8.6.7": version: 8.6.14 resolution: "@storybook/client-logger@npm:8.6.14" @@ -9789,37 +9615,6 @@ __metadata: languageName: node linkType: hard -"@storybook/core-common@npm:7.6.20": - version: 7.6.20 - resolution: "@storybook/core-common@npm:7.6.20" - dependencies: - "@storybook/core-events": "npm:7.6.20" - "@storybook/node-logger": "npm:7.6.20" - "@storybook/types": "npm:7.6.20" - "@types/find-cache-dir": "npm:^3.2.1" - "@types/node": "npm:^18.0.0" - "@types/node-fetch": "npm:^2.6.4" - "@types/pretty-hrtime": "npm:^1.0.0" - chalk: "npm:^4.1.0" - esbuild: "npm:^0.18.0" - esbuild-register: "npm:^3.5.0" - file-system-cache: "npm:2.3.0" - find-cache-dir: "npm:^3.0.0" - find-up: "npm:^5.0.0" - fs-extra: "npm:^11.1.0" - glob: "npm:^10.0.0" - handlebars: "npm:^4.7.7" - lazy-universal-dotenv: "npm:^4.0.0" - node-fetch: "npm:^2.0.0" - picomatch: "npm:^2.3.0" - pkg-dir: "npm:^5.0.0" - pretty-hrtime: "npm:^1.0.3" - resolve-from: "npm:^5.0.0" - ts-dedent: "npm:^2.0.0" - checksum: 10c0/ea916ed15d080279d8556d9fc7d3fd1ac9c3ffaed17e8122bc81d2268bccf0c2b0017db9528c7d21e057fd16d8bcc239bb19e60ad348d38ff579507187896783 - languageName: node - linkType: hard - "@storybook/core-common@npm:^8.6.7": version: 8.6.14 resolution: "@storybook/core-common@npm:8.6.14" @@ -9829,15 +9624,6 @@ __metadata: languageName: node linkType: hard -"@storybook/core-events@npm:7.6.20": - version: 7.6.20 - resolution: "@storybook/core-events@npm:7.6.20" - dependencies: - ts-dedent: "npm:^2.0.0" - checksum: 10c0/4ee2cc7ca6d7cae579befab640bfe1e8b30243305f73e7d731e40aa1295ff5fc1b6c61561929d2e4db315f7c4f5b3cfdf0ddc3746b3660d34b0dd3911a55d4ad - languageName: node - linkType: hard - "@storybook/core-events@npm:^8.0.0": version: 8.6.14 resolution: "@storybook/core-events@npm:8.6.14" @@ -9882,20 +9668,12 @@ __metadata: languageName: node linkType: hard -"@storybook/csf-tools@npm:^7": - version: 7.6.20 - resolution: "@storybook/csf-tools@npm:7.6.20" - dependencies: - "@babel/generator": "npm:^7.23.0" - "@babel/parser": "npm:^7.23.0" - "@babel/traverse": "npm:^7.23.2" - "@babel/types": "npm:^7.23.0" - "@storybook/csf": "npm:^0.1.2" - "@storybook/types": "npm:7.6.20" - fs-extra: "npm:^11.1.0" - recast: "npm:^0.23.1" - ts-dedent: "npm:^2.0.0" - checksum: 10c0/f1dd3bf645b4828c8e88ce65db9ebcfc074368e7e818f0c656bc41d5f5e1b1fd435a8a4b488907025a58c200f805e20c7fb7673feac2dad5d62d2e0917387d94 +"@storybook/csf-tools@npm:^8": + version: 8.6.14 + resolution: "@storybook/csf-tools@npm:8.6.14" + peerDependencies: + storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 + checksum: 10c0/c0936d06a9b12c28cd4202b1abd7e016e087dc5640e7ce9ec9ad6322082c5f622150e4320a9bf2b7f930fbc5406b8ce7ecd1f6527ef32bf83415ff82da435092 languageName: node linkType: hard @@ -9908,27 +9686,12 @@ __metadata: languageName: node linkType: hard -"@storybook/csf@npm:^0.1.2": - version: 0.1.11 - resolution: "@storybook/csf@npm:0.1.11" - dependencies: - type-fest: "npm:^2.19.0" - checksum: 10c0/c5329fc13e7d762049b5c91df1bc1c0e510a1a898c401b72b68f1ff64139a85ab64a92f8e681d2fcb226c0a4a55d0f23b569b2bdb517e0f067bd05ea46228356 - languageName: node - linkType: hard - -"@storybook/docs-tools@npm:^7": - version: 7.6.20 - resolution: "@storybook/docs-tools@npm:7.6.20" - dependencies: - "@storybook/core-common": "npm:7.6.20" - "@storybook/preview-api": "npm:7.6.20" - "@storybook/types": "npm:7.6.20" - "@types/doctrine": "npm:^0.0.3" - assert: "npm:^2.1.0" - doctrine: "npm:^3.0.0" - lodash: "npm:^4.17.21" - checksum: 10c0/4a20296f6ac8b426d6050addaa6cc5b4d20fe2a5a4895641e7bdbe82c1048e14add35f61e72c0fc4f20e67d84dfc420d4b0af38ad5688a51604bb8dddba4fa81 +"@storybook/docs-tools@npm:^8": + version: 8.6.14 + resolution: "@storybook/docs-tools@npm:8.6.14" + peerDependencies: + storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 + checksum: 10c0/6e6e8a9ca6e8ab2bc7a6994b2225cdeda1ec7c92841be3ca0e53a20b0e5c205bc293002b02b4db791d85aa2beb2e9456fe8d72cf07d5309ec7143c440970f150 languageName: node linkType: hard @@ -9991,35 +9754,6 @@ __metadata: languageName: node linkType: hard -"@storybook/node-logger@npm:7.6.20": - version: 7.6.20 - resolution: "@storybook/node-logger@npm:7.6.20" - checksum: 10c0/0f3107669d233131dd25649289abe4a2eb10fc01d108e9833f38a0a26bd8195f17a65cdef7948001968ecd28bd1775a6e0f0a5d9e6def47ca33715fe7b83da0e - languageName: node - linkType: hard - -"@storybook/preview-api@npm:7.6.20": - version: 7.6.20 - resolution: "@storybook/preview-api@npm:7.6.20" - dependencies: - "@storybook/channels": "npm:7.6.20" - "@storybook/client-logger": "npm:7.6.20" - "@storybook/core-events": "npm:7.6.20" - "@storybook/csf": "npm:^0.1.2" - "@storybook/global": "npm:^5.0.0" - "@storybook/types": "npm:7.6.20" - "@types/qs": "npm:^6.9.5" - dequal: "npm:^2.0.2" - lodash: "npm:^4.17.21" - memoizerific: "npm:^1.11.3" - qs: "npm:^6.10.0" - synchronous-promise: "npm:^2.0.15" - ts-dedent: "npm:^2.0.0" - util-deprecate: "npm:^1.0.2" - checksum: 10c0/5c35a579b41f286ea93d4bab5a95641ca1676f2c2430198117962acde25137161d0a630dc79fe8d80460afb4b3946c6b46b9cebe1f2cb02e45ea17224771ab21 - languageName: node - linkType: hard - "@storybook/preview-api@npm:8.6.14, @storybook/preview-api@npm:^8.6.7": version: 8.6.14 resolution: "@storybook/preview-api@npm:8.6.14" @@ -10131,18 +9865,6 @@ __metadata: languageName: node linkType: hard -"@storybook/types@npm:7.6.20": - version: 7.6.20 - resolution: "@storybook/types@npm:7.6.20" - dependencies: - "@storybook/channels": "npm:7.6.20" - "@types/babel__core": "npm:^7.0.0" - "@types/express": "npm:^4.7.0" - file-system-cache: "npm:2.3.0" - checksum: 10c0/148ba54a43a247291d43e06585688279a6ea52ea0e227bab3f28d589adb02b5f436862e49a6c943940da81204662bcfc87922f61011518a554b0d3c83b0293aa - languageName: node - linkType: hard - "@stylistic/eslint-plugin-ts@npm:^2.9.0": version: 2.9.0 resolution: "@stylistic/eslint-plugin-ts@npm:2.9.0" @@ -10894,7 +10616,7 @@ __metadata: languageName: node linkType: hard -"@types/babel__core@npm:^7.0.0, @types/babel__core@npm:^7.1.14": +"@types/babel__core@npm:^7.1.14": version: 7.20.5 resolution: "@types/babel__core@npm:7.20.5" dependencies: @@ -10935,16 +10657,6 @@ __metadata: languageName: node linkType: hard -"@types/body-parser@npm:*": - version: 1.19.5 - resolution: "@types/body-parser@npm:1.19.5" - dependencies: - "@types/connect": "npm:*" - "@types/node": "npm:*" - checksum: 10c0/aebeb200f25e8818d8cf39cd0209026750d77c9b85381cdd8deeb50913e4d18a1ebe4b74ca9b0b4d21952511eeaba5e9fbbf739b52731a2061e206ec60d568df - languageName: node - linkType: hard - "@types/color-name@npm:^1.1.1": version: 1.1.1 resolution: "@types/color-name@npm:1.1.1" @@ -10952,15 +10664,6 @@ __metadata: languageName: node linkType: hard -"@types/connect@npm:*": - version: 3.4.38 - resolution: "@types/connect@npm:3.4.38" - dependencies: - "@types/node": "npm:*" - checksum: 10c0/2e1cdba2c410f25649e77856505cd60223250fa12dff7a503e492208dbfdd25f62859918f28aba95315251fd1f5e1ffbfca1e25e73037189ab85dd3f8d0a148c - languageName: node - linkType: hard - "@types/debug@npm:^4.0.0": version: 4.1.7 resolution: "@types/debug@npm:4.1.7" @@ -10970,13 +10673,6 @@ __metadata: languageName: node linkType: hard -"@types/doctrine@npm:^0.0.3": - version: 0.0.3 - resolution: "@types/doctrine@npm:0.0.3" - checksum: 10c0/566dcdc988c97ff01d14493ceb2223643347f07cf0a88c86cd7cb7c2821cfc837fd39295e6809a29614fdfdc6c4e981408155ca909b2e5da5d947af939b6c966 - languageName: node - linkType: hard - "@types/estree-jsx@npm:^0.0.1": version: 0.0.1 resolution: "@types/estree-jsx@npm:0.0.1" @@ -11014,30 +10710,6 @@ __metadata: languageName: node linkType: hard -"@types/express-serve-static-core@npm:^4.17.33": - version: 4.19.0 - resolution: "@types/express-serve-static-core@npm:4.19.0" - dependencies: - "@types/node": "npm:*" - "@types/qs": "npm:*" - "@types/range-parser": "npm:*" - "@types/send": "npm:*" - checksum: 10c0/38a13dfbb38d18526276e68dae1097eb0ebef296e76bff2a9bf6831c052c2f87797e910c87bd3f0dd1a1b4136241c9d7c841779a00b22576d12aa9b483a63349 - languageName: node - linkType: hard - -"@types/express@npm:^4.7.0": - version: 4.17.21 - resolution: "@types/express@npm:4.17.21" - dependencies: - "@types/body-parser": "npm:*" - "@types/express-serve-static-core": "npm:^4.17.33" - "@types/qs": "npm:*" - "@types/serve-static": "npm:*" - checksum: 10c0/12e562c4571da50c7d239e117e688dc434db1bac8be55613294762f84fd77fbd0658ccd553c7d3ab02408f385bc93980992369dd30e2ecd2c68c358e6af8fabf - languageName: node - linkType: hard - "@types/extend@npm:^3.0.0": version: 3.0.1 resolution: "@types/extend@npm:3.0.1" @@ -11045,13 +10717,6 @@ __metadata: languageName: node linkType: hard -"@types/find-cache-dir@npm:^3.2.1": - version: 3.2.1 - resolution: "@types/find-cache-dir@npm:3.2.1" - checksum: 10c0/68059aec88ef776a689c1711a881fd91a9ce1b03dd5898ea1d2ac5d77d7b0235f21fdf210f380c13deca8b45e4499841a63aaf31fd2123af687f2c6b472f41ce - languageName: node - linkType: hard - "@types/github-slugger@npm:^1.0.0": version: 1.3.0 resolution: "@types/github-slugger@npm:1.3.0" @@ -11097,13 +10762,6 @@ __metadata: languageName: node linkType: hard -"@types/http-errors@npm:*": - version: 2.0.4 - resolution: "@types/http-errors@npm:2.0.4" - checksum: 10c0/494670a57ad4062fee6c575047ad5782506dd35a6b9ed3894cea65830a94367bd84ba302eb3dde331871f6d70ca287bfedb1b2cf658e6132cd2cbd427ab56836 - languageName: node - linkType: hard - "@types/http-proxy@npm:^1.17.8": version: 1.17.8 resolution: "@types/http-proxy@npm:1.17.8" @@ -11235,13 +10893,6 @@ __metadata: languageName: node linkType: hard -"@types/mime@npm:^1": - version: 1.3.5 - resolution: "@types/mime@npm:1.3.5" - checksum: 10c0/c2ee31cd9b993804df33a694d5aa3fa536511a49f2e06eeab0b484fef59b4483777dbb9e42a4198a0809ffbf698081fdbca1e5c2218b82b91603dfab10a10fbc - languageName: node - linkType: hard - "@types/minimatch@npm:*, @types/minimatch@npm:^5.1.2": version: 5.1.2 resolution: "@types/minimatch@npm:5.1.2" @@ -11256,16 +10907,6 @@ __metadata: languageName: node linkType: hard -"@types/node-fetch@npm:^2.6.4": - version: 2.6.11 - resolution: "@types/node-fetch@npm:2.6.11" - dependencies: - "@types/node": "npm:*" - form-data: "npm:^4.0.0" - checksum: 10c0/5283d4e0bcc37a5b6d8e629aee880a4ffcfb33e089f4b903b2981b19c623972d1e64af7c3f9540ab990f0f5c89b9b5dda19c5bcb37a8e177079e93683bfd2f49 - languageName: node - linkType: hard - "@types/node@npm:^22": version: 22.15.18 resolution: "@types/node@npm:22.15.18" @@ -11289,27 +10930,6 @@ __metadata: languageName: node linkType: hard -"@types/pretty-hrtime@npm:^1.0.0": - version: 1.0.1 - resolution: "@types/pretty-hrtime@npm:1.0.1" - checksum: 10c0/e990110a3626e987319092c5149d5ea244785b83fbbd8e62605714ec1fa4317a3524ae0b6381cdc2ca92619d9a451b3fe9ff4085c42826f5398e3380d3031bff - languageName: node - linkType: hard - -"@types/qs@npm:*, @types/qs@npm:^6.9.5": - version: 6.9.15 - resolution: "@types/qs@npm:6.9.15" - checksum: 10c0/49c5ff75ca3adb18a1939310042d273c9fc55920861bd8e5100c8a923b3cda90d759e1a95e18334092da1c8f7b820084687770c83a1ccef04fb2c6908117c823 - languageName: node - linkType: hard - -"@types/range-parser@npm:*": - version: 1.2.7 - resolution: "@types/range-parser@npm:1.2.7" - checksum: 10c0/361bb3e964ec5133fa40644a0b942279ed5df1949f21321d77de79f48b728d39253e5ce0408c9c17e4e0fd95ca7899da36841686393b9f7a1e209916e9381a3c - languageName: node - linkType: hard - "@types/react-dom@npm:types-react-dom@19.0.0-rc.0": version: 19.0.0-rc.0 resolution: "types-react-dom@npm:19.0.0-rc.0" @@ -11337,27 +10957,6 @@ __metadata: languageName: node linkType: hard -"@types/send@npm:*": - version: 0.17.4 - resolution: "@types/send@npm:0.17.4" - dependencies: - "@types/mime": "npm:^1" - "@types/node": "npm:*" - checksum: 10c0/7f17fa696cb83be0a104b04b424fdedc7eaba1c9a34b06027239aba513b398a0e2b7279778af521f516a397ced417c96960e5f50fcfce40c4bc4509fb1a5883c - languageName: node - linkType: hard - -"@types/serve-static@npm:*": - version: 1.15.7 - resolution: "@types/serve-static@npm:1.15.7" - dependencies: - "@types/http-errors": "npm:*" - "@types/node": "npm:*" - "@types/send": "npm:*" - checksum: 10c0/26ec864d3a626ea627f8b09c122b623499d2221bbf2f470127f4c9ebfe92bd8a6bb5157001372d4c4bd0dd37a1691620217d9dc4df5aa8f779f3fd996b1c60ae - languageName: node - linkType: hard - "@types/stack-utils@npm:^2.0.0": version: 2.0.1 resolution: "@types/stack-utils@npm:2.0.1" @@ -12273,13 +11872,6 @@ __metadata: languageName: node linkType: hard -"app-root-dir@npm:^1.0.2": - version: 1.0.2 - resolution: "app-root-dir@npm:1.0.2" - checksum: 10c0/0225e4be7788968a82bb76df9b14b0d7f212a5c12e8c625cdc34f80548780bcbfc5f3287d0806dddd83bf9dbf9ce302e76b2887cd3a6f4be52b79df7f3aa9e7c - languageName: node - linkType: hard - "append-transform@npm:^0.4.0": version: 0.4.0 resolution: "append-transform@npm:0.4.0" @@ -12637,19 +12229,6 @@ __metadata: languageName: node linkType: hard -"assert@npm:^2.1.0": - version: 2.1.0 - resolution: "assert@npm:2.1.0" - dependencies: - call-bind: "npm:^1.0.2" - is-nan: "npm:^1.3.2" - object-is: "npm:^1.1.5" - object.assign: "npm:^4.1.4" - util: "npm:^0.12.5" - checksum: 10c0/7271a5da883c256a1fa690677bf1dd9d6aa882139f2bed1cd15da4f9e7459683e1da8e32a203d6cc6767e5e0f730c77a9532a87b896b4b0af0dd535f668775f0 - languageName: node - linkType: hard - "assertion-error@npm:^2.0.1": version: 2.0.1 resolution: "assertion-error@npm:2.0.1" @@ -13580,7 +13159,7 @@ __metadata: languageName: node linkType: hard -"call-bind@npm:^1.0.0, call-bind@npm:^1.0.2, call-bind@npm:^1.0.5, call-bind@npm:^1.0.6, 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: @@ -15814,13 +15393,6 @@ __metadata: languageName: node linkType: hard -"dotenv-expand@npm:^10.0.0": - version: 10.0.0 - resolution: "dotenv-expand@npm:10.0.0" - checksum: 10c0/298f5018e29cfdcb0b5f463ba8e8627749103fbcf6cf81c561119115754ed582deee37b49dfc7253028aaba875ab7aea5fa90e5dac88e511d009ab0e6677924e - languageName: node - linkType: hard - "dotenv-expand@npm:^11.0.6": version: 11.0.6 resolution: "dotenv-expand@npm:11.0.6" @@ -15839,7 +15411,7 @@ __metadata: languageName: node linkType: hard -"dotenv@npm:^16.0.0, dotenv@npm:^16.4.4, dotenv@npm:^16.4.5": +"dotenv@npm:^16.4.4, dotenv@npm:^16.4.5": version: 16.4.5 resolution: "dotenv@npm:16.4.5" checksum: 10c0/48d92870076832af0418b13acd6e5a5a3e83bb00df690d9812e94b24aff62b88ade955ac99a05501305b8dc8f1b0ee7638b18493deb6fe93d680e5220936292f @@ -16314,83 +15886,6 @@ __metadata: languageName: node linkType: hard -"esbuild@npm:^0.18.0": - version: 0.18.20 - resolution: "esbuild@npm:0.18.20" - dependencies: - "@esbuild/android-arm": "npm:0.18.20" - "@esbuild/android-arm64": "npm:0.18.20" - "@esbuild/android-x64": "npm:0.18.20" - "@esbuild/darwin-arm64": "npm:0.18.20" - "@esbuild/darwin-x64": "npm:0.18.20" - "@esbuild/freebsd-arm64": "npm:0.18.20" - "@esbuild/freebsd-x64": "npm:0.18.20" - "@esbuild/linux-arm": "npm:0.18.20" - "@esbuild/linux-arm64": "npm:0.18.20" - "@esbuild/linux-ia32": "npm:0.18.20" - "@esbuild/linux-loong64": "npm:0.18.20" - "@esbuild/linux-mips64el": "npm:0.18.20" - "@esbuild/linux-ppc64": "npm:0.18.20" - "@esbuild/linux-riscv64": "npm:0.18.20" - "@esbuild/linux-s390x": "npm:0.18.20" - "@esbuild/linux-x64": "npm:0.18.20" - "@esbuild/netbsd-x64": "npm:0.18.20" - "@esbuild/openbsd-x64": "npm:0.18.20" - "@esbuild/sunos-x64": "npm:0.18.20" - "@esbuild/win32-arm64": "npm:0.18.20" - "@esbuild/win32-ia32": "npm:0.18.20" - "@esbuild/win32-x64": "npm:0.18.20" - dependenciesMeta: - "@esbuild/android-arm": - optional: true - "@esbuild/android-arm64": - optional: true - "@esbuild/android-x64": - optional: true - "@esbuild/darwin-arm64": - optional: true - "@esbuild/darwin-x64": - optional: true - "@esbuild/freebsd-arm64": - optional: true - "@esbuild/freebsd-x64": - optional: true - "@esbuild/linux-arm": - optional: true - "@esbuild/linux-arm64": - optional: true - "@esbuild/linux-ia32": - optional: true - "@esbuild/linux-loong64": - optional: true - "@esbuild/linux-mips64el": - optional: true - "@esbuild/linux-ppc64": - optional: true - "@esbuild/linux-riscv64": - optional: true - "@esbuild/linux-s390x": - optional: true - "@esbuild/linux-x64": - optional: true - "@esbuild/netbsd-x64": - optional: true - "@esbuild/openbsd-x64": - optional: true - "@esbuild/sunos-x64": - optional: true - "@esbuild/win32-arm64": - optional: true - "@esbuild/win32-ia32": - optional: true - "@esbuild/win32-x64": - optional: true - bin: - esbuild: bin/esbuild - checksum: 10c0/473b1d92842f50a303cf948a11ebd5f69581cd254d599dd9d62f9989858e0533f64e83b723b5e1398a5b488c0f5fd088795b4235f65ecaf4f007d4b79f04bc88 - languageName: node - linkType: hard - "esbuild@npm:^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0 || ^0.25.0": version: 0.25.4 resolution: "esbuild@npm:0.25.4" @@ -17379,16 +16874,6 @@ __metadata: languageName: node linkType: hard -"file-system-cache@npm:2.3.0": - version: 2.3.0 - resolution: "file-system-cache@npm:2.3.0" - dependencies: - fs-extra: "npm:11.1.1" - ramda: "npm:0.29.0" - checksum: 10c0/43de19f0db32e6546bb7abeecb1d6ea83c1eca23b38905c9415a29f6219cc9d6d87b0c1a6aca92c46a0f1bc276241a339f2f68b8aa0ca5c2eb64b6e1e3e4da01 - languageName: node - linkType: hard - "filename-regex@npm:^2.0.0": version: 2.0.1 resolution: "filename-regex@npm:2.0.1" @@ -17467,7 +16952,7 @@ __metadata: languageName: node linkType: hard -"find-cache-dir@npm:^3.0.0, find-cache-dir@npm:^3.2.0": +"find-cache-dir@npm:^3.2.0": version: 3.3.2 resolution: "find-cache-dir@npm:3.3.2" dependencies: @@ -17872,17 +17357,6 @@ __metadata: languageName: node linkType: hard -"fs-extra@npm:11.1.1": - version: 11.1.1 - resolution: "fs-extra@npm:11.1.1" - dependencies: - graceful-fs: "npm:^4.2.0" - jsonfile: "npm:^6.0.1" - universalify: "npm:^2.0.0" - checksum: 10c0/a2480243d7dcfa7d723c5f5b24cf4eba02a6ccece208f1524a2fbde1c629492cfb9a59e4b6d04faff6fbdf71db9fdc8ef7f396417a02884195a625f5d8dc9427 - languageName: node - linkType: hard - "fs-extra@npm:^11.0.0": version: 11.3.0 resolution: "fs-extra@npm:11.3.0" @@ -17894,17 +17368,6 @@ __metadata: languageName: node linkType: hard -"fs-extra@npm:^11.1.0": - version: 11.2.0 - resolution: "fs-extra@npm:11.2.0" - dependencies: - graceful-fs: "npm:^4.2.0" - jsonfile: "npm:^6.0.1" - universalify: "npm:^2.0.0" - checksum: 10c0/d77a9a9efe60532d2e790e938c81a02c1b24904ef7a3efb3990b835514465ba720e99a6ea56fd5e2db53b4695319b644d76d5a0e9988a2beef80aa7b1da63398 - languageName: node - linkType: hard - "fs-extra@npm:^4.0.3": version: 4.0.3 resolution: "fs-extra@npm:4.0.3" @@ -18420,7 +17883,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^10.0.0, glob@npm:^10.2.2, glob@npm:^10.3.10": +"glob@npm:^10.2.2, glob@npm:^10.3.10": version: 10.4.1 resolution: "glob@npm:10.4.1" dependencies: @@ -18892,7 +18355,7 @@ __metadata: languageName: node linkType: hard -"handlebars@npm:4.7.8, handlebars@npm:^4.0.3, handlebars@npm:^4.1.2, handlebars@npm:^4.4.0, handlebars@npm:^4.7.7": +"handlebars@npm:4.7.8, handlebars@npm:^4.0.3, handlebars@npm:^4.1.2, handlebars@npm:^4.4.0": version: 4.7.8 resolution: "handlebars@npm:4.7.8" dependencies: @@ -20189,16 +19652,6 @@ __metadata: languageName: node linkType: hard -"is-nan@npm:^1.3.2": - version: 1.3.2 - resolution: "is-nan@npm:1.3.2" - dependencies: - call-bind: "npm:^1.0.0" - define-properties: "npm:^1.1.3" - checksum: 10c0/8bfb286f85763f9c2e28ea32e9127702fe980ffd15fa5d63ade3be7786559e6e21355d3625dd364c769c033c5aedf0a2ed3d4025d336abf1b9241e3d9eddc5b0 - languageName: node - linkType: hard - "is-negated-glob@npm:^1.0.0": version: 1.0.0 resolution: "is-negated-glob@npm:1.0.0" @@ -21987,17 +21440,6 @@ __metadata: languageName: node linkType: hard -"lazy-universal-dotenv@npm:^4.0.0": - version: 4.0.0 - resolution: "lazy-universal-dotenv@npm:4.0.0" - dependencies: - app-root-dir: "npm:^1.0.2" - dotenv: "npm:^16.0.0" - dotenv-expand: "npm:^10.0.0" - checksum: 10c0/3bc4fe649c46c4a20561ca1fd10cd1df641d2c6c42c61af6c65a5fe0546cb548f449e13e6c7440be445c9fe5b4973c25f499e7d899b8704b7b9bd0ec85bbfe2d - languageName: node - linkType: hard - "lcid@npm:^1.0.0": version: 1.0.0 resolution: "lcid@npm:1.0.0" @@ -24455,7 +23897,7 @@ __metadata: languageName: node linkType: hard -"node-fetch@npm:^2.0.0, node-fetch@npm:^2.5.0, node-fetch@npm:^2.6.1": +"node-fetch@npm:^2.5.0, node-fetch@npm:^2.6.1": version: 2.7.0 resolution: "node-fetch@npm:2.7.0" dependencies: @@ -26068,7 +25510,7 @@ __metadata: languageName: node linkType: hard -"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.2.3, picomatch@npm:^2.3.0, picomatch@npm:^2.3.1": +"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.2.3, picomatch@npm:^2.3.1": version: 2.3.1 resolution: "picomatch@npm:2.3.1" checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be @@ -26193,15 +25635,6 @@ __metadata: languageName: node linkType: hard -"pkg-dir@npm:^5.0.0": - version: 5.0.0 - resolution: "pkg-dir@npm:5.0.0" - dependencies: - find-up: "npm:^5.0.0" - checksum: 10c0/793a496d685dc55bbbdbbb22d884535c3b29241e48e3e8d37e448113a71b9e42f5481a61fdc672d7322de12fbb2c584dd3a68bf89b18fffce5c48a390f911bc5 - languageName: node - linkType: hard - "pkginfo@npm:0.4.1": version: 0.4.1 resolution: "pkginfo@npm:0.4.1" @@ -26430,7 +25863,7 @@ __metadata: languageName: node linkType: hard -"pretty-hrtime@npm:^1.0.0, pretty-hrtime@npm:^1.0.3": +"pretty-hrtime@npm:^1.0.0": version: 1.0.3 resolution: "pretty-hrtime@npm:1.0.3" checksum: 10c0/67cb3fc283a72252b49ac488647e6a01b78b7aa1b8f2061834aa1650691229081518ef3ca940f77f41cc8a8f02ba9eeb74b843481596670209e493062f2e89e0 @@ -26681,7 +26114,7 @@ __metadata: languageName: node linkType: hard -"qs@npm:6.13.1, qs@npm:^6.10.0": +"qs@npm:6.13.1": version: 6.13.1 resolution: "qs@npm:6.13.1" dependencies: @@ -26745,13 +26178,6 @@ __metadata: languageName: node linkType: hard -"ramda@npm:0.29.0": - version: 0.29.0 - resolution: "ramda@npm:0.29.0" - checksum: 10c0/b00eaaf1c62b06a99affa1d583e256bd65ad27ab9d0ef512f55d7d93b842e7cd244a4a09179f61fdd8548362e409323867a2b0477cbd0626b5644eb6ac7c53da - languageName: node - linkType: hard - "randomatic@npm:^3.0.0": version: 3.1.1 resolution: "randomatic@npm:3.1.1" @@ -29674,13 +29100,6 @@ __metadata: languageName: node linkType: hard -"synchronous-promise@npm:^2.0.15": - version: 2.0.15 - resolution: "synchronous-promise@npm:2.0.15" - checksum: 10c0/967778e7570dc496d7630a89db3bada38876574797c9b272ee50f6ecd7afcebf450268b4bb48a84274d213ab9fd4865dbcc6edeb279f9ecaddf189d5446cbe43 - languageName: node - linkType: hard - "synckit@npm:^0.9.1": version: 0.9.2 resolution: "synckit@npm:0.9.2" @@ -29804,15 +29223,6 @@ __metadata: languageName: node linkType: hard -"telejson@npm:^7.2.0": - version: 7.2.0 - resolution: "telejson@npm:7.2.0" - dependencies: - memoizerific: "npm:^1.11.3" - checksum: 10c0/d26e6cc93e54bfdcdb207b49905508c5db45862e811a2e2193a735409e47b14530e1c19351618a3e03ad2fd4ffc3759364fcd72851aba2df0300fab574b6151c - languageName: node - linkType: hard - "temp-dir@npm:^1.0.0": version: 1.0.0 resolution: "temp-dir@npm:1.0.0" @@ -31137,7 +30547,7 @@ __metadata: languageName: node linkType: hard -"util-deprecate@npm:^1.0.1, util-deprecate@npm:^1.0.2, util-deprecate@npm:~1.0.1": +"util-deprecate@npm:^1.0.1, util-deprecate@npm:~1.0.1": version: 1.0.2 resolution: "util-deprecate@npm:1.0.2" checksum: 10c0/41a5bdd214df2f6c3ecf8622745e4a366c4adced864bc3c833739791aeeeb1838119af7daed4ba36428114b5c67dcda034a79c882e97e43c03e66a4dd7389942 From ec7de9c3bec43b5333eb5a44fc07d9e1d065fba6 Mon Sep 17 00:00:00 2001 From: Robert Snow Date: Wed, 21 May 2025 14:23:31 +1000 Subject: [PATCH 05/10] mostly fix the docs pages --- eslint.config.mjs | 7 +- .../StorybookResolver.ts | 23 +- .../StoryTransformer.ts | 260 +++++++++++++++++- .../parcel-transformer-storybook/csf-hmr.js | 2 +- .../react-docgen-typescript.ts | 13 +- .../gen-iframe-modern.js | 44 +-- .../gen-preview-modern.js | 85 +++--- .../dev/storybook-builder-parcel/preset.js | 64 ++--- .../dev/storybook-react-parcel/package.json | 11 +- packages/dev/storybook-react-parcel/preset.js | 4 +- yarn.config.cjs | 3 + yarn.lock | 4 + 12 files changed, 394 insertions(+), 126 deletions(-) diff --git a/eslint.config.mjs b/eslint.config.mjs index 7e48b91477f..fb8cf4cf01d 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -53,7 +53,12 @@ export default [{ "examples/**/*", "starters/**/*", "packages/@react-spectrum/s2/icon.d.ts", - "packages/@react-spectrum/s2/spectrum-illustrations" + "packages/@react-spectrum/s2/spectrum-illustrations", + "packages/dev/parcel-config-storybook/*", + "packages/dev/parcel-resolver-storybook/*", + "packages/dev/parcel-transformer-storybook/*", + "packages/dev/storybook-builder-parcel/*", + "packages/dev/storybook-react-parcel/*" ], }, ...compat.extends("eslint:recommended"), { plugins: { diff --git a/packages/dev/parcel-resolver-storybook/StorybookResolver.ts b/packages/dev/parcel-resolver-storybook/StorybookResolver.ts index 54bf5e184a2..ee4140d3f3a 100644 --- a/packages/dev/parcel-resolver-storybook/StorybookResolver.ts +++ b/packages/dev/parcel-resolver-storybook/StorybookResolver.ts @@ -1,21 +1,22 @@ -// @ts-ignore -import {glob, normalizeSeparators, relativePath} from '@parcel/utils'; import path from 'path'; -import {Resolver} from '@parcel/plugin'; -const reactVersion = require('react-dom/package.json').version; +import { Resolver } from "@parcel/plugin"; +const reactVersion = require("react-dom/package.json").version; +import { default as NodeResolver } from "@parcel/node-resolver-core"; +// @ts-ignore +import { isGlob, glob, normalizeSeparators, relativePath } from '@parcel/utils'; const REACT_MAJOR_VERSION = parseInt(reactVersion.split('.')[0], 10); module.exports = new Resolver({ - async resolve({dependency, options, specifier, pipeline}) { + async resolve({ dependency, options, specifier, pipeline, logger }) { // Workaround for interop issue - if (specifier === 'react-dom/client' && REACT_MAJOR_VERSION < 18) { + if (specifier === "react-dom/client" && REACT_MAJOR_VERSION < 18) { return { - filePath: __dirname + '/react.js', + filePath: __dirname + "/react.js", code: ` export * from 'react-dom'; export * as default from 'react-dom' - ` + `, }; } @@ -25,7 +26,7 @@ module.exports = new Resolver({ let sourceFile = dependency.resolveFrom ?? dependency.sourcePath!; let normalized = normalizeSeparators(path.resolve(path.dirname(sourceFile), atob(specifier))); let files = await glob(normalized, options.inputFS, { - onlyFiles: true + onlyFiles: true, }); let cwd = process.cwd(); @@ -46,8 +47,8 @@ module.exports = new Resolver({ {glob: normalized} ], pipeline: null, - priority: 'sync' + priority: 'sync', }; } - } + }, }); diff --git a/packages/dev/parcel-transformer-storybook/StoryTransformer.ts b/packages/dev/parcel-transformer-storybook/StoryTransformer.ts index e9144ace251..b9ab1717597 100644 --- a/packages/dev/parcel-transformer-storybook/StoryTransformer.ts +++ b/packages/dev/parcel-transformer-storybook/StoryTransformer.ts @@ -1,13 +1,23 @@ -import {enrichCsf, formatCsf, loadCsf} from '@storybook/csf-tools'; -import {getCacheDir} from './react-docgen-typescript'; +import { Transformer } from '@parcel/plugin'; +import { enrichCsf, formatCsf, babelParse, CsfFile } from '@storybook/csf-tools'; +import * as t from '@babel/types'; +import {parse} from '@babel/parser'; import path from 'path'; +import crypto from 'crypto'; +import { getClient, getCacheDir } from './react-docgen-typescript'; +import {ComponentDoc} from 'react-docgen-typescript'; import SourceMap from '@parcel/source-map'; -import {Transformer} from '@parcel/plugin'; module.exports = new Transformer({ async transform({asset, options}) { + let docs: ComponentDoc | null = null; + if (asset.type === 'ts' || asset.type === 'tsx') { + let client = await getClient(options); + docs = await client.getDocs(asset.filePath); + } let code = await asset.getCode(); - let {code: compiledCode, rawMappings} = processCsf(code, asset.filePath) as any; + let name = options.hmrOptions ? `$parcel$ReactRefresh$${asset.id.slice(-4)}` : null; + let {code: compiledCode, rawMappings} = processCsf(code, asset.filePath, docs, name) as any; let map = new SourceMap(options.projectRoot); if (rawMappings) { @@ -22,13 +32,249 @@ module.exports = new Transformer({ } }); -function processCsf(code: string, filePath: string) { - let csf = loadCsf(code, { +function processCsf(code: string, filePath: string, docs: ComponentDoc | null, refreshName: string | null) { + let ast = parse(code, { + sourceFilename: filePath, + sourceType: 'module', + plugins: ['typescript', 'jsx', 'importAttributes', 'classProperties'], + tokens: true + }); + + let csf = new CsfFile(ast, { fileName: filePath, makeTitle: title => title || 'default' - }); + }).parse(); enrichCsf(csf, csf); + // Extract story functions into separate components. This enables React Fast Refresh to work properly. + let count = 0; + let addComponent = (node: t.Function) => { + let name = 'Story' + count++; + csf._ast.program.body.push(t.functionDeclaration( + t.identifier(name), + node.params.map(p => t.cloneNode(p)), + t.isExpression(node.body) ? t.blockStatement([t.returnStatement(node.body)]) : node.body + )); + node.body = t.blockStatement([ + t.returnStatement( + t.jsxElement( + t.jsxOpeningElement( + t.jsxIdentifier(name), + node.params.length && t.isIdentifier(node.params[0]) ? [t.jsxSpreadAttribute(t.cloneNode(node.params[0]))] : [], + true + ), + null, + [], + true + ) + ) + ]); + return name; + }; + + let handleRenderProperty = (node: t.ObjectExpression) => { + // CSF 3 style object story. Extract render function into a component. + let render = node.properties.find(p => (t.isObjectProperty(p) || t.isObjectMethod(p)) && t.isIdentifier(p.key) && p.key.name === 'render'); + if (render?.type === 'ObjectProperty' && t.isFunction(render.value)) { + let c = addComponent(render.value); + node.properties.push(t.objectProperty(t.identifier('_internalComponent'), t.identifier(c))); + } else if (render?.type === 'ObjectMethod') { + let c = addComponent(render); + node.properties.push(t.objectProperty(t.identifier('_internalComponent'), t.identifier(c))); + } else if (t.isObjectProperty(render) && render.value.type === 'Identifier') { + render.value = t.arrowFunctionExpression( + [t.identifier('args')], + t.jsxElement( + t.jsxOpeningElement( + t.jsxIdentifier(render.value.name), + [t.jsxSpreadAttribute(t.identifier('args'))], + true + ), + null, + [], + true + ) + ); + } + }; + + if (refreshName) { + for (let name in csf._storyExports) { + let node = csf.getStoryExport(name); + + // Generate a hash of the args and parameters. If this changes, we bail out of Fast Refresh. + let annotations = csf._storyAnnotations[name]; + let storyHash = ''; + if (annotations) { + let hash = crypto.createHash('md5'); + if (annotations.args) { + hash.update(code.slice(annotations.args.start!, annotations.args.end!)); + } + if (annotations.parameters) { + hash.update(code.slice(annotations.parameters.start!, annotations.parameters.end!)); + } + storyHash = hash.digest('hex'); + } + + if (t.isFunction(node)) { + // CSF 2 style function story. + let c = addComponent(node); + csf._ast.program.body.push(t.expressionStatement( + t.assignmentExpression( + '=', + t.memberExpression(t.identifier(name), t.identifier('_internalComponent')), + t.identifier(c) + ) + )); + + if (storyHash) { + csf._ast.program.body.push(t.expressionStatement( + t.assignmentExpression( + '=', + t.memberExpression(t.identifier(name), t.identifier('_hash')), + t.stringLiteral(storyHash) + ) + )); + } + } else if (node.type === 'ObjectExpression') { + handleRenderProperty(node); + if (storyHash) { + node.properties.push(t.objectProperty(t.identifier('_hash'), t.stringLiteral(storyHash))); + } + } + } + } + + // Hash the default export to invalidate Fast Refresh. + if (csf._metaNode?.type === 'ObjectExpression') { + if (docs) { + let component = csf._metaNode.properties.find(p => t.isObjectProperty(p) && t.isIdentifier(p.key) && p.key.name === 'component'); + if (t.isObjectProperty(component) && t.isExpression(component.value)) { + component.value = t.sequenceExpression([ + t.assignmentExpression('=', t.memberExpression(component.value, t.identifier('__docgenInfo')), t.valueToNode(docs)), + component.value + ]); + } + } + + + if (refreshName) { + handleRenderProperty(csf._metaNode); + + let hash = crypto.createHash('md5'); + hash.update(code.slice(csf._metaNode.start!, csf._metaNode.end!)); + hash.update(JSON.stringify(docs)); + let metaHash = hash.digest('hex'); + csf._metaNode.properties.push(t.objectProperty(t.identifier('_hash'), t.stringLiteral(metaHash))); + } + } + + if (refreshName) { + wrapRefresh(csf._ast.program, filePath, refreshName); + } + // @ts-ignore return formatCsf(csf, {sourceFileName: filePath, sourceMaps: true, importAttributesKeyword: 'with'}); } + +function wrapRefresh(program: t.Program, filePath: string, refreshName: string) { + let wrapperPath = `${path.relative( + path.dirname(filePath), + __dirname, + )}/csf-hmr.js`; + + // Group imports, exports, and body statements which will be wrapped in a try...catch. + let imports: (t.ImportDeclaration | t.ExportDeclaration)[] = []; + let statements: t.Statement[] = []; + let exportVars: t.VariableDeclarator[] = []; + let exports: t.ExportSpecifier[] = []; + + for (let statement of program.body) { + if (t.isImportDeclaration(statement) || t.isExportAllDeclaration(statement)) { + imports.push(statement); + } else if (t.isExportNamedDeclaration(statement)) { + if (statement.exportKind === 'type' || statement.source) { + imports.push(statement); + } else if (statement.declaration) { + statements.push(statement.declaration); + for (let id in t.getOuterBindingIdentifiers(statement.declaration)) { + let name = refreshName + '$Export' + exportVars.length; + exportVars.push(t.variableDeclarator(t.identifier(name))); + exports.push(t.exportSpecifier(t.identifier(name), t.identifier(id))); + statements.push(t.expressionStatement(t.assignmentExpression('=', t.identifier(name), t.identifier(id)))); + } + } else if (statement.specifiers) { + for (let specifier of statement.specifiers) { + if (t.isExportSpecifier(specifier)) { + let name = refreshName + '$Export' + exportVars.length; + exportVars.push(t.variableDeclarator(t.identifier(name))); + exports.push(t.exportSpecifier(t.identifier(name), specifier.exported)); + statements.push(t.expressionStatement(t.assignmentExpression('=', t.identifier(name), specifier.local))); + } + } + } + } else if (t.isExportDefaultDeclaration(statement)) { + if (t.isExpression(statement.declaration)) { + let name = refreshName + '$Export' + exportVars.length; + exportVars.push(t.variableDeclarator(t.identifier(name))); + exports.push(t.exportSpecifier(t.identifier(name), t.identifier('default'))); + statements.push(t.expressionStatement(t.assignmentExpression('=', t.identifier(name), statement.declaration))); + } else { + statements.push(statement.declaration); + let name = refreshName + '$Export' + exportVars.length; + exportVars.push(t.variableDeclarator(t.identifier(name))); + exports.push(t.exportSpecifier(t.identifier(name), t.identifier('default'))); + } + } else { + statements.push(statement); + } + } + + program.body = [ + ...imports, + t.importDeclaration( + [t.importNamespaceSpecifier(t.identifier(refreshName + '$Helpers'))], + t.stringLiteral(wrapperPath) + ), + t.variableDeclaration('var', exportVars), + t.variableDeclaration('var', [ + t.variableDeclarator(t.identifier(refreshName + '$PrevRefreshReg'), t.memberExpression(t.identifier('window'), t.identifier('$RefreshReg$'))), + t.variableDeclarator(t.identifier(refreshName + '$PrevRefreshSig'), t.memberExpression(t.identifier('window'), t.identifier('$RefreshSig$'))) + ]), + t.expressionStatement( + t.callExpression( + t.memberExpression(t.identifier(refreshName + '$Helpers'), t.identifier('prelude')), + [t.identifier('module')] + ) + ), + t.tryStatement( + t.blockStatement([ + ...statements, + t.expressionStatement( + t.callExpression( + t.memberExpression(t.identifier(refreshName + '$Helpers'), t.identifier('postlude')), + [t.identifier('module')] + ) + ), + ]), + null, + t.blockStatement([ + t.expressionStatement( + t.assignmentExpression( + '=', + t.memberExpression(t.identifier('window'), t.identifier('$RefreshReg$')), + t.identifier(refreshName + '$PrevRefreshReg') + ), + ), + t.expressionStatement( + t.assignmentExpression( + '=', + t.memberExpression(t.identifier('window'), t.identifier('$RefreshSig$')), + t.identifier(refreshName + '$PrevRefreshSig') + ), + ), + ]) + ), + t.exportNamedDeclaration(null, exports) + ]; +} diff --git a/packages/dev/parcel-transformer-storybook/csf-hmr.js b/packages/dev/parcel-transformer-storybook/csf-hmr.js index 7bbb99f6b5b..7a6fc66b86b 100644 --- a/packages/dev/parcel-transformer-storybook/csf-hmr.js +++ b/packages/dev/parcel-transformer-storybook/csf-hmr.js @@ -1,4 +1,4 @@ -'use strict'; +"use strict"; var Refresh = require('react-refresh/runtime'); function debounce(func, delay) { diff --git a/packages/dev/parcel-transformer-storybook/react-docgen-typescript.ts b/packages/dev/parcel-transformer-storybook/react-docgen-typescript.ts index d226ccd0b61..2df8f383f9e 100644 --- a/packages/dev/parcel-transformer-storybook/react-docgen-typescript.ts +++ b/packages/dev/parcel-transformer-storybook/react-docgen-typescript.ts @@ -1,9 +1,9 @@ +import path from 'path'; +import ts from 'typescript'; import {ComponentDoc, Parser} from 'react-docgen-typescript'; -import fs from 'fs'; import net from 'net'; -import path from 'path'; +import fs from 'fs'; import type {PluginOptions} from '@parcel/types'; -import ts from 'typescript'; export function getCacheDir(options: PluginOptions) { return path.join(options.projectRoot, 'node_modules', '.cache', 'docgen'); @@ -47,7 +47,7 @@ async function createService(options: PluginOptions) { socket.on('error', () => {}); }); - + await new Promise((resolve, reject) => { let sock = getSocketPath(options); server.listen(sock, () => resolve()); @@ -68,7 +68,7 @@ async function createService(options: PluginOptions) { module: ts.ModuleKind.CommonJS, target: ts.ScriptTarget.Latest }; - + let program: ts.Program; if (options.hmrOptions) { let host = ts.createWatchCompilerHost( @@ -134,7 +134,7 @@ function parseStory(program: ts.Program, filePath: string) { 'onFocusChange', 'onScroll' ]); - + let parser = new Parser(program, { shouldExtractLiteralValuesFromEnum: true, shouldRemoveUndefinedFromOptional: true, @@ -272,7 +272,6 @@ export async function getClient(options: PluginOptions): Promise { try { await createService(options); } catch (err) { - // @ts-ignore if (err.code !== 'EADDRINUSE') { throw err; } diff --git a/packages/dev/storybook-builder-parcel/gen-iframe-modern.js b/packages/dev/storybook-builder-parcel/gen-iframe-modern.js index 6e90d302794..005de57e712 100644 --- a/packages/dev/storybook-builder-parcel/gen-iframe-modern.js +++ b/packages/dev/storybook-builder-parcel/gen-iframe-modern.js @@ -1,4 +1,4 @@ -const {normalizeStories} = require('@storybook/core-common'); +const { normalizeStories } = require("@storybook/core-common"); const TEMPLATE = ` @@ -28,42 +28,42 @@ const TEMPLATE = ` `; module.exports.generateIframeModern = async function generateIframeModern(options) { - const {configType, features, presets, serverChannelUrl, title} = options; - const frameworkOptions = await presets.apply('frameworkOptions'); - const headHtmlSnippet = await presets.apply('previewHead'); - const bodyHtmlSnippet = await presets.apply('previewBody'); - const logLevel = await presets.apply('logLevel', undefined); - const docsOptions = await presets.apply('docs'); + const { configType, features, presets, serverChannelUrl, title } = options; + const frameworkOptions = await presets.apply("frameworkOptions"); + const headHtmlSnippet = await presets.apply("previewHead"); + const bodyHtmlSnippet = await presets.apply("previewBody"); + const logLevel = await presets.apply("logLevel", undefined); + const docsOptions = await presets.apply("docs"); - const coreOptions = await presets.apply('core'); + const coreOptions = await presets.apply("core"); const stories = normalizeStories( - await options.presets.apply('stories', [], options), + await options.presets.apply("stories", [], options), { configDir: options.configDir, - workingDir: process.cwd() + workingDir: process.cwd(), } ).map((specifier) => ({ ...specifier, - importPathMatcher: specifier.importPathMatcher.source + importPathMatcher: specifier.importPathMatcher.source, })); return TEMPLATE - .replace('', title || 'Storybook') - .replace('[CONFIG_TYPE HERE]', configType || '') - .replace('[LOGLEVEL HERE]', logLevel || '') - .replace('\'[FRAMEWORK_OPTIONS HERE]\'', JSON.stringify(frameworkOptions)) + .replace("", title || "Storybook") + .replace("[CONFIG_TYPE HERE]", configType || "") + .replace("[LOGLEVEL HERE]", logLevel || "") + .replace(`'[FRAMEWORK_OPTIONS HERE]'`, JSON.stringify(frameworkOptions)) .replace( - '\'[CHANNEL_OPTIONS HERE]\'', + `'[CHANNEL_OPTIONS HERE]'`, JSON.stringify( coreOptions && coreOptions.channelOptions ? coreOptions.channelOptions : {} ) ) - .replace('\'[FEATURES HERE]\'', JSON.stringify(features || {})) - .replace('\'[STORIES HERE]\'', JSON.stringify(stories || {})) - .replace('\'[DOCS_OPTIONS HERE]\'', JSON.stringify(docsOptions || {})) - .replace('\'[SERVER_CHANNEL_URL HERE]\'', JSON.stringify(serverChannelUrl)) - .replace('', headHtmlSnippet || '') - .replace('', bodyHtmlSnippet || ''); + .replace(`'[FEATURES HERE]'`, JSON.stringify(features || {})) + .replace(`'[STORIES HERE]'`, JSON.stringify(stories || {})) + .replace(`'[DOCS_OPTIONS HERE]'`, JSON.stringify(docsOptions || {})) + .replace(`'[SERVER_CHANNEL_URL HERE]'`, JSON.stringify(serverChannelUrl)) + .replace("", headHtmlSnippet || "") + .replace("", bodyHtmlSnippet || ""); }; diff --git a/packages/dev/storybook-builder-parcel/gen-preview-modern.js b/packages/dev/storybook-builder-parcel/gen-preview-modern.js index f36b4d01f9d..fb9f19b2ff0 100644 --- a/packages/dev/storybook-builder-parcel/gen-preview-modern.js +++ b/packages/dev/storybook-builder-parcel/gen-preview-modern.js @@ -1,19 +1,19 @@ -const path = require('path'); +const path = require("path"); const { loadPreviewOrConfigFile, normalizeStories, - stripAbsNodeModulesPath -} = require('@storybook/core-common'); + stripAbsNodeModulesPath, +} = require("@storybook/core-common"); const {relativePath} = require('@parcel/utils'); module.exports.generatePreviewModern = async function generatePreviewModern( options, generatedEntries ) { - const {presets, configDir} = options; + const { presets, configDir } = options; const previewAnnotations = await presets.apply( - 'previewAnnotations', + "previewAnnotations", [], options ); @@ -21,8 +21,8 @@ module.exports.generatePreviewModern = async function generatePreviewModern( ...previewAnnotations.map(processPreviewAnnotation), relativePath( generatedEntries, - loadPreviewOrConfigFile({configDir}) - ) + loadPreviewOrConfigFile({ configDir }) + ), ].filter(Boolean); /** @@ -32,43 +32,46 @@ module.exports.generatePreviewModern = async function generatePreviewModern( * @todo Inline variable and remove `noinspection` */ const code = ` -import {addons, composeConfigs, PreviewWeb} from 'storybook/internal/preview-api'; -import {createBrowserChannel} from 'storybook/internal/channels'; -import {setup} from 'storybook/internal/preview/runtime'; + import { setup } from 'storybook/internal/preview/runtime'; -setup(); + setup(); -const channel = createBrowserChannel({page: 'preview'}); -addons.setChannel(channel); -window.__STORYBOOK_ADDONS_CHANNEL__ = channel; + import { createBrowserChannel } from 'storybook/internal/channels'; + import { addons } from 'storybook/internal/preview-api'; -if (window.CONFIG_TYPE === 'DEVELOPMENT'){ - window.__STORYBOOK_SERVER_CHANNEL__ = channel; -} + const channel = createBrowserChannel({ page: 'preview' }); + addons.setChannel(channel); + window.__STORYBOOK_ADDONS_CHANNEL__ = channel; + if (window.CONFIG_TYPE === 'DEVELOPMENT'){ + window.__STORYBOOK_SERVER_CHANNEL__ = channel; + } -${await generateImportFnScriptCode(options, generatedEntries)} + import { composeConfigs, PreviewWeb } from 'storybook/internal/preview-api'; + import { isPreview } from 'storybook/internal/csf'; -const getProjectAnnotations = async () => { - const configs = await Promise.all([${relativePreviewAnnotations - .map((previewAnnotation) => `import('${previewAnnotation}')`) - .join(',\n')}]) - return composeConfigs(configs); -} + ${await generateImportFnScriptCode(options, generatedEntries)} + + const getProjectAnnotations = async () => { + const configs = await Promise.all([${relativePreviewAnnotations + .map((previewAnnotation) => `import('${previewAnnotation}')`) + .join(",\n")}]) + return composeConfigs(configs); + } -window.__STORYBOOK_PREVIEW__ = window.__STORYBOOK_PREVIEW__ || new PreviewWeb(importFn, getProjectAnnotations); + window.__STORYBOOK_PREVIEW__ = window.__STORYBOOK_PREVIEW__ || new PreviewWeb(importFn, getProjectAnnotations); -window.__STORYBOOK_STORY_STORE__ = window.__STORYBOOK_STORY_STORE__ || window.__STORYBOOK_PREVIEW__.storyStore; + window.__STORYBOOK_STORY_STORE__ = window.__STORYBOOK_STORY_STORE__ || window.__STORYBOOK_PREVIEW__.storyStore; -module.hot.accept(() => { - // importFn has changed so we need to patch the new one in - window.__STORYBOOK_PREVIEW__.onStoriesChanged({ importFn }); + module.hot.accept(() => { + // importFn has changed so we need to patch the new one in + window.__STORYBOOK_PREVIEW__.onStoriesChanged({ importFn }); - // getProjectAnnotations has changed so we need to patch the new one in - window.__STORYBOOK_PREVIEW__.onGetProjectAnnotationsChanged({ getProjectAnnotations }); -}); + // getProjectAnnotations has changed so we need to patch the new one in + window.__STORYBOOK_PREVIEW__.onGetProjectAnnotationsChanged({ getProjectAnnotations }); + }); `; // ${generateHMRHandler(frameworkName)}; return code; @@ -81,26 +84,26 @@ function processPreviewAnnotation(path) { // continue supporting super-addons in pnp/pnpm without // requiring them to re-export their sub-addons as we do // in addon-essentials. - if (typeof path === 'object') { + if (typeof path === "object") { return path.bare; } // resolve relative paths into absolute paths, but don't resolve "bare" imports - if (path?.startsWith('./') || path?.startsWith('../')) { - return /* slash*/ path.resolve(path); + if (path?.startsWith("./") || path?.startsWith("../")) { + return /*slash*/ path.resolve(path); } // This should not occur, since we use `.filter(Boolean)` prior to // calling this function, but this makes typescript happy if (!path) { - throw new Error('Could not determine path for previewAnnotation'); + throw new Error("Could not determine path for previewAnnotation"); } // For addon dependencies that use require.resolve(), we need to convert to a bare path // so that vite will process it as a dependency (cjs -> esm, etc). - if (path.includes('node_modules')) { + if (path.includes("node_modules")) { return stripAbsNodeModulesPath(path); } - return /* slash*/ path; + return /*slash*/ path; } /** @@ -141,10 +144,10 @@ async function generateImportFnScriptCode(options, generatedEntries) { async function listStories(options) { return ( await Promise.all( - normalizeStories(await options.presets.apply('stories', [], options), { + normalizeStories(await options.presets.apply("stories", [], options), { configDir: options.configDir, - workingDir: options.configDir - }).map(({directory, files}) => { + workingDir: options.configDir, + }).map(({ directory, files }) => { let pattern = path.join(directory, files); return path.isAbsolute(pattern) ? pattern diff --git a/packages/dev/storybook-builder-parcel/preset.js b/packages/dev/storybook-builder-parcel/preset.js index 32373daf723..0ae11c69d0e 100644 --- a/packages/dev/storybook-builder-parcel/preset.js +++ b/packages/dev/storybook-builder-parcel/preset.js @@ -1,31 +1,31 @@ -const {Parcel} = require('@parcel/core'); -const path = require('path'); -const {createProxyMiddleware} = require('http-proxy-middleware'); -const fs = require('fs'); +const { Parcel } = require("@parcel/core"); +const path = require("path"); +const { createProxyMiddleware } = require("http-proxy-middleware"); +const fs = require("fs"); -const {generateIframeModern} = require('./gen-iframe-modern.js'); -const {generatePreviewModern} = require('./gen-preview-modern.js'); +const { generateIframeModern } = require("./gen-iframe-modern.js"); +const { generatePreviewModern } = require("./gen-preview-modern.js"); -const generatedEntries = path.join(__dirname, 'generated-entries'); +const generatedEntries = path.join(__dirname, "generated-entries"); -exports.start = async function ({options, router}) { +exports.start = async function ({ options, router }) { let parcel = await createParcel(options, true); router.use(async (req, res, next) => { - if (req.url === '/' || req.url === '/index.html') { + if (req.url === "/" || req.url === "/index.html") { return next(); } let proxy = createProxyMiddleware({ - target: 'http://localhost:3000/', + target: "http://localhost:3000/", selfHandleResponse: true, - logLevel: 'warn', + logLevel: "warn", onProxyRes(proxyRes, req, res) { // Parcel dev server responds with main HTML page if the file doesn't exist... if ( proxyRes.statusCode === 404 || - (proxyRes.headers['content-type']?.startsWith('text/html') && - !req.url.startsWith('/iframe.html')) + (proxyRes.headers["content-type"]?.startsWith("text/html") && + !req.url.startsWith("/iframe.html")) ) { return next(); } else { @@ -35,11 +35,11 @@ exports.start = async function ({options, router}) { } proxyRes.pipe(res); } - } + }, }); // Remove socket/connection temporarily to prevent proxy from subscribing to `close` event and triggering warning. - let {socket, connection} = req; + let { socket, connection } = req; req.socket = null; req.connection = null; await proxy(req, res, next); @@ -48,7 +48,7 @@ exports.start = async function ({options, router}) { }); let subscription = await parcel.watch(); - process.on('SIGINT', async () => { + process.on("SIGINT", async () => { await subscription.unsubscribe(); process.exit(); }); @@ -58,11 +58,11 @@ exports.start = async function ({options, router}) { await subscription.unsubscribe(); }, stats: {}, - totalTime: 0 + totalTime: 0, }; }; -exports.build = async function ({options}) { +exports.build = async function ({ options }) { let parcel = await createParcel(options); await parcel.run(); }; @@ -72,40 +72,40 @@ exports.previewPresets = []; exports.bail = async () => {}; async function createParcel(options, isDev = false) { - fs.mkdirSync(generatedEntries, {recursive: true}); + fs.mkdirSync(generatedEntries, { recursive: true }); fs.writeFileSync( - path.join(generatedEntries, 'iframe.html'), + path.join(generatedEntries, "iframe.html"), await generateIframeModern(options, generatedEntries) ); fs.writeFileSync( - path.join(generatedEntries, 'preview.js'), + path.join(generatedEntries, "preview.js"), await generatePreviewModern(options, generatedEntries) ); return new Parcel({ - entries: path.join(generatedEntries, 'iframe.html'), - config: path.resolve(options.configDir, '.parcelrc'), - mode: isDev ? 'development' : 'production', + entries: path.join(generatedEntries, "iframe.html"), + config: path.resolve(options.configDir, ".parcelrc"), + mode: isDev ? "development" : "production", serveOptions: isDev ? { - port: 3000 - } + port: 3000, + } : null, hmrOptions: isDev ? { - port: 3001 - } + port: 3001, + } : null, additionalReporters: [ { - packageName: '@parcel/reporter-cli', - resolveFrom: __filename - } + packageName: "@parcel/reporter-cli", + resolveFrom: __filename, + }, ], targets: { storybook: { distDir: options.outputDir, - publicUrl: './', + publicUrl: "./", engines: { browsers: ['last 2 Chrome version', 'last 2 Safari versions', 'last 2 Edge version', 'last 2 Firefox versions'] } diff --git a/packages/dev/storybook-react-parcel/package.json b/packages/dev/storybook-react-parcel/package.json index 605ea907d2e..7b4bba07839 100644 --- a/packages/dev/storybook-react-parcel/package.json +++ b/packages/dev/storybook-react-parcel/package.json @@ -4,10 +4,17 @@ "main": "preset.js", "dependencies": { "@storybook/react": "^8.6.7", + "storybook-builder-parcel": "^0.0.1" + }, + "devDependencies": { "react": "^18.2.0", "react-dom": "^18.2.0", - "storybook": "^8.6.7", - "storybook-builder-parcel": "^0.0.1" + "storybook": "^8.6.7" + }, + "peerDependencies": { + "react": "^18.2.0", + "react-dom": "^18.2.0", + "storybook": "^8.6.7" }, "scripts": { "build": "true", diff --git a/packages/dev/storybook-react-parcel/preset.js b/packages/dev/storybook-react-parcel/preset.js index 23efab859db..b7149e91257 100644 --- a/packages/dev/storybook-react-parcel/preset.js +++ b/packages/dev/storybook-react-parcel/preset.js @@ -1,4 +1,4 @@ module.exports.core = { - builder: 'storybook-builder-parcel', - renderer: '@storybook/react' + builder: "storybook-builder-parcel", + renderer: "@storybook/react", }; diff --git a/yarn.config.cjs b/yarn.config.cjs index 76ab916e6ce..8ea243d414c 100644 --- a/yarn.config.cjs +++ b/yarn.config.cjs @@ -18,6 +18,9 @@ function enforceConsistentDependenciesAcrossTheProject({Yarn}) { for (const dependency of Yarn.dependencies()) { if (dependency.type === 'peerDependencies') { if (dependency.ident === 'react' || dependency.ident === 'react-dom') { + if (dependency.workspace.ident === 'storybook-react-parcel') { + continue; + } if (dependency.workspace.ident === 'storybook-builder-parcel') { dependency.update('*'); } else if (dependency.workspace.ident === '@react-spectrum/s2' || dependency.workspace.ident === '@react-spectrum/codemods') { diff --git a/yarn.lock b/yarn.lock index 17c9b9c43c7..92a552a3b98 100644 --- a/yarn.lock +++ b/yarn.lock @@ -28545,6 +28545,10 @@ __metadata: react-dom: "npm:^18.2.0" storybook: "npm:^8.6.7" storybook-builder-parcel: "npm:^0.0.1" + peerDependencies: + react: ^18.2.0 + react-dom: ^18.2.0 + storybook: ^8.6.7 languageName: unknown linkType: soft From 10eecc401bb4a2e502a97bce2089d02c2e46d2b5 Mon Sep 17 00:00:00 2001 From: Robert Snow Date: Thu, 22 May 2025 14:37:18 +1000 Subject: [PATCH 06/10] fix tests --- lib/jestResolver.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/jestResolver.js b/lib/jestResolver.js index c9197a57923..9f5f9a85170 100644 --- a/lib/jestResolver.js +++ b/lib/jestResolver.js @@ -44,7 +44,7 @@ module.exports = (request, options) => { ...options, // https://github.com/microsoft/accessibility-insights-web/pull/5421#issuecomment-1109168149 packageFilter: pkg => { - if (!pkg.name?.startsWith('@tailwind') && pkg.name !== 'tailwindcss') { + if (!pkg.name?.startsWith('@tailwind') && pkg.name !== 'tailwindcss' && !pkg.name?.startsWith('storybook') && !pkg.name?.startsWith('@storybook')) { delete pkg['exports']; delete pkg['module']; } From 225c07b020ffa9342c676101afb070d6443e4bdf Mon Sep 17 00:00:00 2001 From: Robert Snow Date: Thu, 22 May 2025 15:29:04 +1000 Subject: [PATCH 07/10] fix docs build --- packages/@internationalized/date/docs/Calendar.mdx | 2 +- .../@internationalized/date/docs/CalendarDate.mdx | 2 +- .../date/docs/CalendarDateTime.mdx | 2 +- .../@internationalized/date/docs/DateFormatter.mdx | 2 +- packages/@internationalized/date/docs/Time.mdx | 2 +- .../@internationalized/date/docs/ZonedDateTime.mdx | 2 +- packages/@internationalized/date/docs/index.mdx | 2 +- .../number/docs/NumberFormatter.mdx | 2 +- .../@internationalized/number/docs/NumberParser.mdx | 2 +- packages/@internationalized/number/docs/index.mdx | 2 +- .../autocomplete/docs/useAutocomplete.mdx | 2 +- .../autocomplete/docs/useSearchAutocomplete.mdx | 2 +- .../@react-aria/breadcrumbs/docs/useBreadcrumbs.mdx | 2 +- packages/@react-aria/button/docs/useButton.mdx | 2 +- packages/@react-aria/button/docs/useToggleButton.mdx | 2 +- .../@react-aria/button/docs/useToggleButtonGroup.mdx | 2 +- packages/@react-aria/calendar/docs/useCalendar.mdx | 2 +- .../@react-aria/calendar/docs/useRangeCalendar.mdx | 2 +- packages/@react-aria/checkbox/docs/useCheckbox.mdx | 2 +- .../@react-aria/checkbox/docs/useCheckboxGroup.mdx | 2 +- packages/@react-aria/color/docs/useColorArea.mdx | 4 ++-- packages/@react-aria/color/docs/useColorField.mdx | 2 +- packages/@react-aria/color/docs/useColorSlider.mdx | 4 ++-- packages/@react-aria/color/docs/useColorSwatch.mdx | 4 ++-- packages/@react-aria/color/docs/useColorWheel.mdx | 4 ++-- packages/@react-aria/combobox/docs/useComboBox.mdx | 2 +- .../@react-aria/datepicker/docs/useDateField.mdx | 2 +- .../@react-aria/datepicker/docs/useDatePicker.mdx | 2 +- .../datepicker/docs/useDateRangePicker.mdx | 2 +- .../@react-aria/datepicker/docs/useTimeField.mdx | 2 +- packages/@react-aria/dialog/docs/useDialog.mdx | 2 +- .../@react-aria/disclosure/docs/useDisclosure.mdx | 12 ++++++------ packages/@react-aria/dnd/docs/useClipboard.mdx | 2 +- packages/@react-aria/dnd/docs/useDrag.mdx | 2 +- .../@react-aria/dnd/docs/useDraggableCollection.mdx | 2 +- packages/@react-aria/dnd/docs/useDrop.mdx | 2 +- .../@react-aria/dnd/docs/useDroppableCollection.mdx | 2 +- packages/@react-aria/focus/docs/FocusRing.mdx | 2 +- packages/@react-aria/focus/docs/FocusScope.mdx | 2 +- packages/@react-aria/focus/docs/useFocusRing.mdx | 2 +- packages/@react-aria/gridlist/docs/useGridList.mdx | 2 +- packages/@react-aria/i18n/docs/I18nProvider.mdx | 2 +- packages/@react-aria/i18n/docs/useCollator.mdx | 2 +- packages/@react-aria/i18n/docs/useDateFormatter.mdx | 2 +- packages/@react-aria/i18n/docs/useFilter.mdx | 2 +- packages/@react-aria/i18n/docs/useLocale.mdx | 2 +- .../@react-aria/i18n/docs/useNumberFormatter.mdx | 2 +- packages/@react-aria/interactions/docs/useFocus.mdx | 2 +- .../interactions/docs/useFocusVisible.mdx | 2 +- .../@react-aria/interactions/docs/useFocusWithin.mdx | 2 +- packages/@react-aria/interactions/docs/useHover.mdx | 2 +- .../@react-aria/interactions/docs/useKeyboard.mdx | 2 +- .../@react-aria/interactions/docs/useLongPress.mdx | 2 +- packages/@react-aria/interactions/docs/useMove.mdx | 2 +- packages/@react-aria/interactions/docs/usePress.mdx | 2 +- packages/@react-aria/label/docs/useField.mdx | 2 +- packages/@react-aria/label/docs/useLabel.mdx | 2 +- packages/@react-aria/landmark/docs/useLandmark.mdx | 2 +- packages/@react-aria/link/docs/useLink.mdx | 2 +- packages/@react-aria/listbox/docs/useListBox.mdx | 2 +- packages/@react-aria/menu/docs/useMenu.mdx | 2 +- packages/@react-aria/meter/docs/useMeter.mdx | 2 +- .../@react-aria/numberfield/docs/useNumberField.mdx | 2 +- .../@react-aria/overlays/docs/PortalProvider.mdx | 2 +- .../@react-aria/overlays/docs/useModalOverlay.mdx | 2 +- packages/@react-aria/overlays/docs/usePopover.mdx | 2 +- .../@react-aria/progress/docs/useProgressBar.mdx | 2 +- packages/@react-aria/radio/docs/useRadioGroup.mdx | 2 +- .../@react-aria/searchfield/docs/useSearchField.mdx | 2 +- packages/@react-aria/select/docs/useSelect.mdx | 2 +- packages/@react-aria/separator/docs/useSeparator.mdx | 2 +- packages/@react-aria/slider/docs/useSlider.mdx | 2 +- packages/@react-aria/ssr/docs/SSRProvider.mdx | 2 +- packages/@react-aria/ssr/docs/useIsSSR.mdx | 2 +- packages/@react-aria/steplist/docs/useStepList.mdx | 2 +- packages/@react-aria/switch/docs/useSwitch.mdx | 2 +- packages/@react-aria/table/docs/useTable.mdx | 2 +- packages/@react-aria/tabs/docs/useTabList.mdx | 2 +- packages/@react-aria/tag/docs/useTagGroup.mdx | 2 +- packages/@react-aria/textfield/docs/useTextField.mdx | 2 +- packages/@react-aria/toast/docs/useToast.mdx | 2 +- packages/@react-aria/toolbar/docs/useToolbar.mdx | 2 +- .../@react-aria/tooltip/docs/useTooltipTrigger.mdx | 2 +- packages/@react-aria/utils/docs/mergeProps.mdx | 2 +- packages/@react-aria/utils/docs/useId.mdx | 2 +- packages/@react-aria/utils/docs/useObjectRef.mdx | 2 +- .../visually-hidden/docs/VisuallyHidden.mdx | 2 +- .../@react-spectrum/accordion/docs/Accordion.mdx | 2 +- .../@react-spectrum/accordion/docs/Disclosure.mdx | 2 +- .../@react-spectrum/actionbar/docs/ActionBar.mdx | 2 +- .../@react-spectrum/actiongroup/docs/ActionGroup.mdx | 2 +- .../autocomplete/docs/SearchAutocomplete.mdx | 2 +- packages/@react-spectrum/avatar/docs/Avatar.mdx | 2 +- packages/@react-spectrum/badge/docs/Badge.mdx | 2 +- .../@react-spectrum/breadcrumbs/docs/Breadcrumbs.mdx | 2 +- .../@react-spectrum/button/docs/ActionButton.mdx | 2 +- packages/@react-spectrum/button/docs/Button.mdx | 2 +- packages/@react-spectrum/button/docs/LogicButton.mdx | 2 +- .../@react-spectrum/button/docs/ToggleButton.mdx | 2 +- .../@react-spectrum/buttongroup/docs/ButtonGroup.mdx | 2 +- packages/@react-spectrum/calendar/docs/Calendar.mdx | 2 +- .../@react-spectrum/calendar/docs/RangeCalendar.mdx | 2 +- packages/@react-spectrum/checkbox/docs/Checkbox.mdx | 2 +- .../@react-spectrum/checkbox/docs/CheckboxGroup.mdx | 2 +- packages/@react-spectrum/color/docs/ColorArea.mdx | 2 +- packages/@react-spectrum/color/docs/ColorField.mdx | 2 +- packages/@react-spectrum/color/docs/ColorPicker.mdx | 2 +- packages/@react-spectrum/color/docs/ColorSlider.mdx | 2 +- packages/@react-spectrum/color/docs/ColorSwatch.mdx | 2 +- .../@react-spectrum/color/docs/ColorSwatchPicker.mdx | 2 +- packages/@react-spectrum/color/docs/ColorWheel.mdx | 2 +- packages/@react-spectrum/combobox/docs/ComboBox.mdx | 2 +- .../contextualhelp/docs/ContextualHelp.mdx | 2 +- .../@react-spectrum/datepicker/docs/DateField.mdx | 2 +- .../@react-spectrum/datepicker/docs/DatePicker.mdx | 2 +- .../datepicker/docs/DateRangePicker.mdx | 2 +- .../@react-spectrum/datepicker/docs/TimeField.mdx | 2 +- packages/@react-spectrum/dialog/docs/AlertDialog.mdx | 2 +- packages/@react-spectrum/dialog/docs/Dialog.mdx | 2 +- .../@react-spectrum/dialog/docs/DialogContainer.mdx | 2 +- .../@react-spectrum/dialog/docs/DialogTrigger.mdx | 2 +- packages/@react-spectrum/divider/docs/Divider.mdx | 2 +- packages/@react-spectrum/dropzone/docs/DropZone.mdx | 2 +- .../@react-spectrum/filetrigger/docs/FileTrigger.mdx | 2 +- packages/@react-spectrum/form/docs/Form.mdx | 2 +- packages/@react-spectrum/icon/docs/custom-icons.mdx | 2 +- .../@react-spectrum/icon/docs/workflow-icons.mdx | 4 ++-- .../illustratedmessage/docs/IllustratedMessage.mdx | 2 +- packages/@react-spectrum/image/docs/Image.mdx | 2 +- .../@react-spectrum/inlinealert/docs/InlineAlert.mdx | 2 +- .../labeledvalue/docs/LabeledValue.mdx | 2 +- packages/@react-spectrum/layout/docs/Flex.mdx | 2 +- packages/@react-spectrum/layout/docs/Grid.mdx | 2 +- packages/@react-spectrum/link/docs/Link.mdx | 2 +- packages/@react-spectrum/list/docs/ListView.mdx | 2 +- packages/@react-spectrum/listbox/docs/ListBox.mdx | 2 +- packages/@react-spectrum/menu/docs/ActionMenu.mdx | 2 +- packages/@react-spectrum/menu/docs/Menu.mdx | 2 +- packages/@react-spectrum/menu/docs/MenuTrigger.mdx | 2 +- packages/@react-spectrum/meter/docs/Meter.mdx | 2 +- .../@react-spectrum/numberfield/docs/NumberField.mdx | 2 +- packages/@react-spectrum/picker/docs/Picker.mdx | 2 +- .../@react-spectrum/progress/docs/ProgressBar.mdx | 2 +- .../@react-spectrum/progress/docs/ProgressCircle.mdx | 2 +- packages/@react-spectrum/provider/docs/Provider.mdx | 2 +- packages/@react-spectrum/radio/docs/RadioGroup.mdx | 2 +- .../@react-spectrum/searchfield/docs/SearchField.mdx | 2 +- .../searchwithin/docs/SearchWithin.mdx | 2 +- packages/@react-spectrum/slider/docs/RangeSlider.mdx | 2 +- packages/@react-spectrum/slider/docs/Slider.mdx | 2 +- .../@react-spectrum/statuslight/docs/StatusLight.mdx | 2 +- packages/@react-spectrum/steplist/docs/StepList.mdx | 2 +- packages/@react-spectrum/switch/docs/Switch.mdx | 2 +- packages/@react-spectrum/table/docs/TableView.mdx | 2 +- packages/@react-spectrum/tabs/docs/Tabs.mdx | 2 +- packages/@react-spectrum/tag/docs/TagGroup.mdx | 2 +- packages/@react-spectrum/text/docs/Heading.mdx | 2 +- packages/@react-spectrum/text/docs/Keyboard.mdx | 2 +- packages/@react-spectrum/text/docs/Text.mdx | 2 +- packages/@react-spectrum/textfield/docs/TextArea.mdx | 2 +- .../@react-spectrum/textfield/docs/TextField.mdx | 2 +- packages/@react-spectrum/toast/docs/Toast.mdx | 2 +- packages/@react-spectrum/tooltip/docs/Tooltip.mdx | 2 +- packages/@react-spectrum/tree/docs/TreeView.mdx | 2 +- packages/@react-spectrum/view/docs/Content.mdx | 2 +- packages/@react-spectrum/view/docs/Footer.mdx | 2 +- packages/@react-spectrum/view/docs/Header.mdx | 2 +- packages/@react-spectrum/view/docs/View.mdx | 2 +- packages/@react-spectrum/well/docs/Well.mdx | 2 +- .../autocomplete/docs/useAutocompleteState.mdx | 2 +- .../calendar/docs/useCalendarState.mdx | 2 +- .../calendar/docs/useRangeCalendarState.mdx | 2 +- .../checkbox/docs/useCheckboxGroupState.mdx | 2 +- .../@react-stately/color/docs/useColorAreaState.mdx | 2 +- .../@react-stately/color/docs/useColorFieldState.mdx | 2 +- .../color/docs/useColorSliderState.mdx | 2 +- .../@react-stately/color/docs/useColorWheelState.mdx | 2 +- .../combobox/docs/useComboBoxState.mdx | 2 +- packages/@react-stately/data/docs/useAsyncList.mdx | 2 +- packages/@react-stately/data/docs/useListData.mdx | 2 +- packages/@react-stately/data/docs/useTreeData.mdx | 2 +- .../datepicker/docs/useDateFieldState.mdx | 2 +- .../datepicker/docs/useDatePickerState.mdx | 2 +- .../datepicker/docs/useDateRangePickerState.mdx | 2 +- .../datepicker/docs/useTimeFieldState.mdx | 2 +- .../disclosure/docs/useDisclosureGroupState.mdx | 2 +- .../disclosure/docs/useDisclosureState.mdx | 2 +- .../dnd/docs/useDraggableCollectionState.mdx | 2 +- .../dnd/docs/useDroppableCollectionState.mdx | 2 +- packages/@react-stately/list/docs/useListState.mdx | 2 +- .../list/docs/useSingleSelectListState.mdx | 2 +- .../@react-stately/menu/docs/useMenuTriggerState.mdx | 2 +- .../numberfield/docs/useNumberFieldState.mdx | 2 +- .../overlays/docs/useOverlayTriggerState.mdx | 2 +- .../@react-stately/radio/docs/useRadioGroupState.mdx | 2 +- .../searchfield/docs/useSearchFieldState.mdx | 2 +- .../@react-stately/select/docs/useSelectState.mdx | 2 +- .../selection/docs/SelectionManager.mdx | 2 +- .../selection/docs/useMultipleSelectionState.mdx | 2 +- .../@react-stately/slider/docs/useSliderState.mdx | 2 +- .../steplist/docs/useStepListState.mdx | 2 +- packages/@react-stately/table/docs/useTableState.mdx | 2 +- .../@react-stately/tabs/docs/useTabListState.mdx | 2 +- packages/@react-stately/toast/docs/useToastState.mdx | 2 +- .../@react-stately/toggle/docs/useToggleState.mdx | 2 +- .../tooltip/docs/useTooltipTriggerState.mdx | 2 +- packages/@react-stately/tree/docs/useTreeState.mdx | 2 +- packages/dev/docs/pages/blog/drag-and-drop.mdx | 8 ++++---- packages/dev/docs/src/HeaderInfo.js | 9 ++++++--- packages/dev/docs/src/template.mdx | 2 +- packages/react-aria-components/docs/Autocomplete.mdx | 2 +- packages/react-aria-components/docs/Breadcrumbs.mdx | 4 ++-- packages/react-aria-components/docs/Button.mdx | 4 ++-- packages/react-aria-components/docs/Calendar.mdx | 4 ++-- packages/react-aria-components/docs/Checkbox.mdx | 4 ++-- .../react-aria-components/docs/CheckboxGroup.mdx | 4 ++-- packages/react-aria-components/docs/ColorArea.mdx | 4 ++-- packages/react-aria-components/docs/ColorField.mdx | 4 ++-- packages/react-aria-components/docs/ColorPicker.mdx | 4 ++-- packages/react-aria-components/docs/ColorSlider.mdx | 6 +++--- packages/react-aria-components/docs/ColorSwatch.mdx | 4 ++-- .../react-aria-components/docs/ColorSwatchPicker.mdx | 4 ++-- packages/react-aria-components/docs/ColorWheel.mdx | 4 ++-- packages/react-aria-components/docs/ComboBox.mdx | 2 +- packages/react-aria-components/docs/DateField.mdx | 6 +++--- packages/react-aria-components/docs/DatePicker.mdx | 6 +++--- .../react-aria-components/docs/DateRangePicker.mdx | 6 +++--- packages/react-aria-components/docs/Dialog.mdx | 4 ++-- packages/react-aria-components/docs/Disclosure.mdx | 6 +++--- .../react-aria-components/docs/DisclosureGroup.mdx | 8 ++++---- packages/react-aria-components/docs/DropZone.mdx | 4 ++-- packages/react-aria-components/docs/FileTrigger.mdx | 8 ++++---- packages/react-aria-components/docs/Form.mdx | 2 +- packages/react-aria-components/docs/GridList.mdx | 2 +- packages/react-aria-components/docs/Group.mdx | 2 +- packages/react-aria-components/docs/Link.mdx | 4 ++-- packages/react-aria-components/docs/ListBox.mdx | 2 +- packages/react-aria-components/docs/Menu.mdx | 2 +- packages/react-aria-components/docs/Meter.mdx | 4 ++-- packages/react-aria-components/docs/Modal.mdx | 4 ++-- packages/react-aria-components/docs/NumberField.mdx | 4 ++-- packages/react-aria-components/docs/Popover.mdx | 4 ++-- packages/react-aria-components/docs/ProgressBar.mdx | 4 ++-- packages/react-aria-components/docs/RadioGroup.mdx | 4 ++-- .../react-aria-components/docs/RangeCalendar.mdx | 4 ++-- packages/react-aria-components/docs/SearchField.mdx | 4 ++-- packages/react-aria-components/docs/Select.mdx | 2 +- packages/react-aria-components/docs/Slider.mdx | 4 ++-- packages/react-aria-components/docs/Switch.mdx | 4 ++-- packages/react-aria-components/docs/Table.mdx | 2 +- packages/react-aria-components/docs/Tabs.mdx | 4 ++-- packages/react-aria-components/docs/TagGroup.mdx | 4 ++-- packages/react-aria-components/docs/TextField.mdx | 4 ++-- packages/react-aria-components/docs/TimeField.mdx | 4 ++-- packages/react-aria-components/docs/Toast.mdx | 4 ++-- packages/react-aria-components/docs/ToggleButton.mdx | 4 ++-- .../react-aria-components/docs/ToggleButtonGroup.mdx | 8 ++++---- packages/react-aria-components/docs/Toolbar.mdx | 4 ++-- packages/react-aria-components/docs/Tooltip.mdx | 4 ++-- packages/react-aria-components/docs/Tree.mdx | 2 +- packages/react-aria-components/docs/Virtualizer.mdx | 10 +++++----- 261 files changed, 334 insertions(+), 331 deletions(-) diff --git a/packages/@internationalized/date/docs/Calendar.mdx b/packages/@internationalized/date/docs/Calendar.mdx index 3344ba9d710..c5795fdb039 100644 --- a/packages/@internationalized/date/docs/Calendar.mdx +++ b/packages/@internationalized/date/docs/Calendar.mdx @@ -12,7 +12,7 @@ export default Layout; import docs from 'docs:@internationalized/date'; import {HeaderInfo, FunctionAPI, ClassAPI, TypeContext, InterfaceType, TypeLink, PageDescription, renderHTMLfromMarkdown} from '@react-spectrum/docs'; -import packageData from '@internationalized/date/package.json'; +import packageData from '../package.json'; import tableStyles from '@adobe/spectrum-css-temp/components/table/vars.css'; import styles from '@react-spectrum/docs/src/docs.css'; import typographyStyles from '@adobe/spectrum-css-temp/components/typography/vars.css'; diff --git a/packages/@internationalized/date/docs/CalendarDate.mdx b/packages/@internationalized/date/docs/CalendarDate.mdx index a14440ba735..2cf3586e91d 100644 --- a/packages/@internationalized/date/docs/CalendarDate.mdx +++ b/packages/@internationalized/date/docs/CalendarDate.mdx @@ -12,7 +12,7 @@ export default Layout; import docs from 'docs:@internationalized/date'; import {HeaderInfo, FunctionAPI, ClassAPI, TypeContext, InterfaceType, TypeLink, PageDescription} from '@react-spectrum/docs'; -import packageData from '@internationalized/date/package.json'; +import packageData from '../package.json'; --- category: Date and Time diff --git a/packages/@internationalized/date/docs/CalendarDateTime.mdx b/packages/@internationalized/date/docs/CalendarDateTime.mdx index 3796777ed49..4d9d6f6d9f8 100644 --- a/packages/@internationalized/date/docs/CalendarDateTime.mdx +++ b/packages/@internationalized/date/docs/CalendarDateTime.mdx @@ -12,7 +12,7 @@ export default Layout; import docs from 'docs:@internationalized/date'; import {HeaderInfo, FunctionAPI, ClassAPI, TypeContext, InterfaceType, TypeLink, PageDescription} from '@react-spectrum/docs'; -import packageData from '@internationalized/date/package.json'; +import packageData from '../package.json'; --- category: Date and Time diff --git a/packages/@internationalized/date/docs/DateFormatter.mdx b/packages/@internationalized/date/docs/DateFormatter.mdx index 9c32aa7e764..acd692e562a 100644 --- a/packages/@internationalized/date/docs/DateFormatter.mdx +++ b/packages/@internationalized/date/docs/DateFormatter.mdx @@ -12,7 +12,7 @@ export default Layout; import docs from 'docs:@internationalized/date'; import {HeaderInfo, FunctionAPI, ClassAPI, TypeContext, InterfaceType, TypeLink, PageDescription} from '@react-spectrum/docs'; -import packageData from '@internationalized/date/package.json'; +import packageData from '../package.json'; --- category: Date and Time diff --git a/packages/@internationalized/date/docs/Time.mdx b/packages/@internationalized/date/docs/Time.mdx index 0a6d7f59e94..01c71fc98e0 100644 --- a/packages/@internationalized/date/docs/Time.mdx +++ b/packages/@internationalized/date/docs/Time.mdx @@ -12,7 +12,7 @@ export default Layout; import docs from 'docs:@internationalized/date'; import {HeaderInfo, FunctionAPI, ClassAPI, TypeContext, InterfaceType, TypeLink, PageDescription} from '@react-spectrum/docs'; -import packageData from '@internationalized/date/package.json'; +import packageData from '../package.json'; --- category: Date and Time diff --git a/packages/@internationalized/date/docs/ZonedDateTime.mdx b/packages/@internationalized/date/docs/ZonedDateTime.mdx index 543f89db6dd..b0a477a0729 100644 --- a/packages/@internationalized/date/docs/ZonedDateTime.mdx +++ b/packages/@internationalized/date/docs/ZonedDateTime.mdx @@ -12,7 +12,7 @@ export default Layout; import docs from 'docs:@internationalized/date'; import {HeaderInfo, FunctionAPI, ClassAPI, TypeContext, InterfaceType, TypeLink, PageDescription} from '@react-spectrum/docs'; -import packageData from '@internationalized/date/package.json'; +import packageData from '../package.json'; --- category: Date and Time diff --git a/packages/@internationalized/date/docs/index.mdx b/packages/@internationalized/date/docs/index.mdx index bc05f69d73e..7410c8f3faf 100644 --- a/packages/@internationalized/date/docs/index.mdx +++ b/packages/@internationalized/date/docs/index.mdx @@ -11,7 +11,7 @@ import {Layout} from '@react-spectrum/docs'; export default Layout; import {HeaderInfo, FunctionAPI, ClassAPI, TypeContext, InterfaceType, TypeLink, PageDescription} from '@react-spectrum/docs'; -import packageData from '@internationalized/date/package.json'; +import packageData from '../package.json'; --- category: Date and Time diff --git a/packages/@internationalized/number/docs/NumberFormatter.mdx b/packages/@internationalized/number/docs/NumberFormatter.mdx index f74776d1c39..02587093b53 100644 --- a/packages/@internationalized/number/docs/NumberFormatter.mdx +++ b/packages/@internationalized/number/docs/NumberFormatter.mdx @@ -12,7 +12,7 @@ export default Layout; import docs from 'docs:@internationalized/number'; import {HeaderInfo, FunctionAPI, ClassAPI, TypeContext, InterfaceType, TypeLink, PageDescription} from '@react-spectrum/docs'; -import packageData from '@internationalized/number/package.json'; +import packageData from '../package.json'; --- category: Numbers diff --git a/packages/@internationalized/number/docs/NumberParser.mdx b/packages/@internationalized/number/docs/NumberParser.mdx index 438d22e7f8a..60adb2244de 100644 --- a/packages/@internationalized/number/docs/NumberParser.mdx +++ b/packages/@internationalized/number/docs/NumberParser.mdx @@ -12,7 +12,7 @@ export default Layout; import docs from 'docs:@internationalized/number'; import {HeaderInfo, FunctionAPI, ClassAPI, TypeContext, InterfaceType, TypeLink, PageDescription} from '@react-spectrum/docs'; -import packageData from '@internationalized/number/package.json'; +import packageData from '../package.json'; --- category: Numbers diff --git a/packages/@internationalized/number/docs/index.mdx b/packages/@internationalized/number/docs/index.mdx index a839844a100..783a86e9b55 100644 --- a/packages/@internationalized/number/docs/index.mdx +++ b/packages/@internationalized/number/docs/index.mdx @@ -11,7 +11,7 @@ import {Layout} from '@react-spectrum/docs'; export default Layout; import {HeaderInfo, FunctionAPI, ClassAPI, TypeContext, InterfaceType, TypeLink, PageDescription} from '@react-spectrum/docs'; -import packageData from '@internationalized/number/package.json'; +import packageData from '../package.json'; --- category: Numbers diff --git a/packages/@react-aria/autocomplete/docs/useAutocomplete.mdx b/packages/@react-aria/autocomplete/docs/useAutocomplete.mdx index 35c4f8f9d60..a77e1a341fa 100644 --- a/packages/@react-aria/autocomplete/docs/useAutocomplete.mdx +++ b/packages/@react-aria/autocomplete/docs/useAutocomplete.mdx @@ -12,7 +12,7 @@ export default Layout; import docs from 'docs:@react-aria/autocomplete'; import {FunctionAPI, HeaderInfo, InterfaceType, TypeContext, TypeLink, PageDescription} from '@react-spectrum/docs'; -import packageData from '@react-aria/autocomplete/package.json'; +import packageData from '../package.json'; import statelyDocs from 'docs:@react-stately/autocomplete'; import {InlineAlert, Content, Heading} from '@adobe/react-spectrum'; diff --git a/packages/@react-aria/autocomplete/docs/useSearchAutocomplete.mdx b/packages/@react-aria/autocomplete/docs/useSearchAutocomplete.mdx index 335733047b7..244332d69b2 100644 --- a/packages/@react-aria/autocomplete/docs/useSearchAutocomplete.mdx +++ b/packages/@react-aria/autocomplete/docs/useSearchAutocomplete.mdx @@ -15,7 +15,7 @@ import collectionsDocs from 'docs:@react-types/shared/src/collections.d.ts'; import {FunctionAPI, HeaderInfo, InterfaceType, TypeContext, TypeLink, PageDescription} from '@react-spectrum/docs'; import i18nDocs from 'docs:@react-aria/i18n'; import overlaysDocs from 'docs:@react-aria/overlays'; -import packageData from '@react-aria/autocomplete/package.json'; +import packageData from '../package.json'; import selectionDocs from 'docs:@react-stately/selection'; import statelyDocs from 'docs:@react-stately/combobox'; import Anatomy from './anatomy.svg'; diff --git a/packages/@react-aria/breadcrumbs/docs/useBreadcrumbs.mdx b/packages/@react-aria/breadcrumbs/docs/useBreadcrumbs.mdx index d5251d2ad77..3bd7dd12eee 100644 --- a/packages/@react-aria/breadcrumbs/docs/useBreadcrumbs.mdx +++ b/packages/@react-aria/breadcrumbs/docs/useBreadcrumbs.mdx @@ -13,7 +13,7 @@ export default Layout; import docs from 'docs:@react-aria/breadcrumbs'; import {HeaderInfo, FunctionAPI, TypeContext, InterfaceType, PageDescription} from '@react-spectrum/docs'; import {Keyboard} from '@react-spectrum/text'; -import packageData from '@react-aria/breadcrumbs/package.json'; +import packageData from '../package.json'; import Anatomy from './anatomy.svg'; --- diff --git a/packages/@react-aria/button/docs/useButton.mdx b/packages/@react-aria/button/docs/useButton.mdx index d22f8dcb6c7..cd2eccf700b 100644 --- a/packages/@react-aria/button/docs/useButton.mdx +++ b/packages/@react-aria/button/docs/useButton.mdx @@ -14,7 +14,7 @@ import docs from 'docs:@react-aria/button'; import typesDocs from 'docs:@react-types/shared/src/events.d.ts'; import {HeaderInfo, FunctionAPI, TypeLink, PageDescription} from '@react-spectrum/docs'; import {Keyboard} from '@react-spectrum/text'; -import packageData from '@react-aria/button/package.json'; +import packageData from '../package.json'; --- category: Buttons diff --git a/packages/@react-aria/button/docs/useToggleButton.mdx b/packages/@react-aria/button/docs/useToggleButton.mdx index 37e1481a7a7..c61df4ccc52 100644 --- a/packages/@react-aria/button/docs/useToggleButton.mdx +++ b/packages/@react-aria/button/docs/useToggleButton.mdx @@ -14,7 +14,7 @@ import docs from 'docs:@react-aria/button'; import statelyDocs from 'docs:@react-stately/toggle'; import {HeaderInfo, FunctionAPI, TypeContext, InterfaceType, TypeLink, PageDescription} from '@react-spectrum/docs'; import {Keyboard} from '@react-spectrum/text'; -import packageData from '@react-aria/button/package.json'; +import packageData from '../package.json'; --- category: Buttons diff --git a/packages/@react-aria/button/docs/useToggleButtonGroup.mdx b/packages/@react-aria/button/docs/useToggleButtonGroup.mdx index f46f37cd6e5..5d9c6d7fe82 100644 --- a/packages/@react-aria/button/docs/useToggleButtonGroup.mdx +++ b/packages/@react-aria/button/docs/useToggleButtonGroup.mdx @@ -14,7 +14,7 @@ import docs from 'docs:@react-aria/button'; import statelyDocs from 'docs:@react-stately/toggle'; import {HeaderInfo, FunctionAPI, TypeContext, InterfaceType, TypeLink, PageDescription} from '@react-spectrum/docs'; import {Keyboard} from '@react-spectrum/text'; -import packageData from '@react-aria/button/package.json'; +import packageData from '../package.json'; import ChevronRight from '@spectrum-icons/workflow/ChevronRight'; import Anatomy from './ToggleButtonGroupAnatomy.svg'; diff --git a/packages/@react-aria/calendar/docs/useCalendar.mdx b/packages/@react-aria/calendar/docs/useCalendar.mdx index 659d2d6ee3f..39c75e2a5cf 100644 --- a/packages/@react-aria/calendar/docs/useCalendar.mdx +++ b/packages/@react-aria/calendar/docs/useCalendar.mdx @@ -14,7 +14,7 @@ import docs from 'docs:@react-aria/calendar'; import statelyDocs from 'docs:@react-stately/calendar'; import i18nDocs from 'docs:@internationalized/date'; import {FunctionAPI, HeaderInfo, InterfaceType, TypeContext, TypeLink, PageDescription} from '@react-spectrum/docs'; -import packageData from '@react-aria/calendar/package.json'; +import packageData from '../package.json'; import Anatomy from './calendar-anatomy.svg'; import ChevronRight from '@spectrum-icons/workflow/ChevronRight'; import {Keyboard} from '@react-spectrum/text'; diff --git a/packages/@react-aria/calendar/docs/useRangeCalendar.mdx b/packages/@react-aria/calendar/docs/useRangeCalendar.mdx index 5a5626b31eb..c00a1656677 100644 --- a/packages/@react-aria/calendar/docs/useRangeCalendar.mdx +++ b/packages/@react-aria/calendar/docs/useRangeCalendar.mdx @@ -14,7 +14,7 @@ import docs from 'docs:@react-aria/calendar'; import statelyDocs from 'docs:@react-stately/calendar'; import i18nDocs from 'docs:@internationalized/date'; import {FunctionAPI, HeaderInfo, InterfaceType, TypeContext, TypeLink, PageDescription} from '@react-spectrum/docs'; -import packageData from '@react-aria/calendar/package.json'; +import packageData from '../package.json'; import Anatomy from './rangecalendar-anatomy.svg'; import ChevronRight from '@spectrum-icons/workflow/ChevronRight'; import {Keyboard} from '@react-spectrum/text'; diff --git a/packages/@react-aria/checkbox/docs/useCheckbox.mdx b/packages/@react-aria/checkbox/docs/useCheckbox.mdx index 8bd6e38c7da..a3567a072b6 100644 --- a/packages/@react-aria/checkbox/docs/useCheckbox.mdx +++ b/packages/@react-aria/checkbox/docs/useCheckbox.mdx @@ -16,7 +16,7 @@ import focusDocs from 'docs:@react-aria/focus'; import statelyDocs from 'docs:@react-stately/toggle'; import {HeaderInfo, FunctionAPI, TypeContext, InterfaceType, TypeLink, PageDescription} from '@react-spectrum/docs'; import {Keyboard} from '@react-spectrum/text'; -import packageData from '@react-aria/checkbox/package.json'; +import packageData from '../package.json'; import Anatomy from './checkbox-anatomy.svg'; import {ExampleCard} from '@react-spectrum/docs/src/ExampleCard'; import tailwindPreview from 'url:./tailwind-example.png'; diff --git a/packages/@react-aria/checkbox/docs/useCheckboxGroup.mdx b/packages/@react-aria/checkbox/docs/useCheckboxGroup.mdx index ab8873c23d2..983568dc3c0 100644 --- a/packages/@react-aria/checkbox/docs/useCheckboxGroup.mdx +++ b/packages/@react-aria/checkbox/docs/useCheckboxGroup.mdx @@ -16,7 +16,7 @@ import focusDocs from 'docs:@react-aria/focus'; import statelyDocs from 'docs:@react-stately/checkbox'; import {HeaderInfo, FunctionAPI, TypeContext, InterfaceType, TypeLink, PageDescription} from '@react-spectrum/docs'; import {Keyboard} from '@react-spectrum/text'; -import packageData from '@react-aria/checkbox/package.json'; +import packageData from '../package.json'; import Anatomy from './checkboxgroup-anatomy.svg'; import {ExampleCard} from '@react-spectrum/docs/src/ExampleCard'; import buttongroupPreview from 'url:./buttongroup-example.png'; diff --git a/packages/@react-aria/color/docs/useColorArea.mdx b/packages/@react-aria/color/docs/useColorArea.mdx index d6b9155c186..f1fd720c71b 100644 --- a/packages/@react-aria/color/docs/useColorArea.mdx +++ b/packages/@react-aria/color/docs/useColorArea.mdx @@ -14,7 +14,7 @@ import ChevronRight from '@spectrum-icons/workflow/ChevronRight'; import docs from 'docs:@react-aria/color'; import statelyDocs from 'docs:@react-stately/color'; import {HeaderInfo, FunctionAPI, TypeContext, InterfaceType, TypeLink, PageDescription} from '@react-spectrum/docs'; -import packageData from '@react-aria/color/package.json'; +import packageData from '../package.json'; import Anatomy from './ColorAreaAnatomy.svg'; --- @@ -436,7 +436,7 @@ function ColorSwatch(props) { let {colorSwatchProps, color} = useColorSwatch(props); return ( -