diff --git a/biome.json b/biome.json index ca68e6d3..b90f71a8 100644 --- a/biome.json +++ b/biome.json @@ -7,7 +7,11 @@ }, "files": { "ignoreUnknown": false, - "ignore": [] + "ignore": [ + "packages/core/src/scd-events-v1/edit.scd-events-v1.ts", + "packages/core/src/scd-events-v1/open.scd-events-v1.ts", + "packages/core/src/scd-xml/foundation.ts" + ] }, "formatter": { "enabled": true, @@ -49,7 +53,15 @@ }, "overrides": [ { - "include": ["*.svelte"] + "include": ["*.svelte"], + "linter": { + "rules": { + "style": { + "useConst": "off", + "useImportType": "off" + } + } + } } ] } diff --git a/package.json b/package.json index edadbeee..660b8b73 100644 --- a/package.json +++ b/package.json @@ -1,30 +1,29 @@ { - "name": "@oscd-plugins/network", + "name": "@oscd-plugins/monorepo", "private": true, "version": "0.0.0", "type": "module", "scripts": { - "dev": "vite --mode=DEV", - "build": "vite build", - "preview": "vite preview", - "check": "svelte-check --tsconfig ./tsconfig.json", "//====== FORMAT & LINT ======//": "", "biome:check": "biome check .", "biome:fix": "biome check . --write", "//====== PREPARE ======//": "", - "prepare": "husky install" + "prepare": "husky install", + "//====== LAUNCHING SCRIPTS ======//": "", + "storybook": "pnpm --filter @oscd-plugins/ui storybook", + "//====== LOCAL DEPENDENCIES INSTALL ======//": "", + "install:core": "pnpm --filter @oscd-plugins/core i", + "install:ui": "pnpm --filter @oscd-plugins/ui i", + "//====== PLUGIN INSTALL ======//": "", + "install:type-designer": "pnpm install:core && pnpm install:ui && pnpm --filter @oscd-plugins/type-designer i", + "//====== PLUGIN STAND ALONE MODE ======//": "", + "dev:type-designer": "pnpm install:type-designer && pnpm --filter @oscd-plugins/type-designer dev", + "//====== PLUGIN INTEGRATED MODE ======//": "", + "dev:integrated:type-designer": "pnpm install:type-designer && pnpm --filter @oscd-plugins/type-designer build:watch" }, "devDependencies": { "@biomejs/biome": "1.9.2", - "@sveltejs/vite-plugin-svelte": "^2.0.2", - "@tsconfig/svelte": "^3.0.0", - "husky": "^8.0.3", - "svelte": "^3.55.1", - "svelte-check": "^2.10.3", - "tslib": "^2.5.0", - "turbo": "^1.8.3", - "typescript": "^4.9.3", - "vite": "^4.1.0" + "husky": "^8.0.3" }, "packageManager": "pnpm@9.10.0+sha512.73a29afa36a0d092ece5271de5177ecbf8318d454ecd701343131b8ebc0c1a91c487da46ab77c8e596d6acf1461e3594ced4becedf8921b074fbd8653ed7051c" } diff --git a/packages/core/package.json b/packages/core/package.json index d73f07e5..1e25a090 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -33,6 +33,7 @@ "eslint-plugin-promise": "^6.0.0", "happy-dom": "^8.9.0", "safaridriver": "^0.0.4", + "svelte": "^4.2.19", "typescript": "4.9.4", "vitest": "^0.29.7", "webdriverio": "^8.6.7" diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index 071b35fc..fbc02759 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -10,3 +10,6 @@ export * from './constants/element.constant' // UTILS export type * from './utils' + +// PLUGIN +export * from './scd-plugin' diff --git a/packages/core/src/scd-events-v1/scd-edit-events.ts b/packages/core/src/scd-events-v1/edit.scd-events-v1.ts similarity index 94% rename from packages/core/src/scd-events-v1/scd-edit-events.ts rename to packages/core/src/scd-events-v1/edit.scd-events-v1.ts index eee90a8e..012eae7f 100644 --- a/packages/core/src/scd-events-v1/scd-edit-events.ts +++ b/packages/core/src/scd-events-v1/edit.scd-events-v1.ts @@ -1,9 +1,10 @@ -////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// DO NOT MODIFY THIS FILE DIRECTLY ! MAKE A PR TO MODIFY THE CORE LIBRARY. // -// AS FOR NOW THE OPENSCD EVENTS PACKAGE IS NOT PUBLISHED // -// WE USE A COPY OF ITS CORE EDITOR FUNCTIONALITIES - THIS IS THE V1 MARK AS DEPRECATED BUT STILL IN USE // -// SEE SOURCE https://github.com/openscd/open-scd/blob/main/packages/core/foundation/deprecated/editor.ts // -////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////// +// DO NOT MODIFY THIS FILE DIRECTLY ! MAKE A PR TO MODIFY THE CORE LIBRARY. +// AS FOR NOW THE OPENSCD EVENTS PACKAGE IS NOT PUBLISHED +// WE USE A COPY OF ITS CORE EDITOR FUNCTIONALITIES - THIS IS THE V1 MARK AS DEPRECATED BUT STILL IN USE +// SEE SOURCE https://github.com/openscd/open-scd/blob/main/packages/core/foundation/deprecated/editor.ts +// THIS FILE IS IGNORED BY BIOME +////////////////////////////////////////////////////////////////////////////////////////////////////////// export type Initiator = 'user' | 'system' | 'undo' | 'redo' | string diff --git a/packages/core/src/scd-events-v1/index.ts b/packages/core/src/scd-events-v1/index.ts index acce3731..384f8bdd 100644 --- a/packages/core/src/scd-events-v1/index.ts +++ b/packages/core/src/scd-events-v1/index.ts @@ -1 +1,2 @@ -export * from './scd-edit-events' +export * from './edit.scd-events-v1' +export * from './open.scd-events-v1' \ No newline at end of file diff --git a/packages/core/src/scd-events-v1/open.scd-events-v1.ts b/packages/core/src/scd-events-v1/open.scd-events-v1.ts new file mode 100644 index 00000000..88be2754 --- /dev/null +++ b/packages/core/src/scd-events-v1/open.scd-events-v1.ts @@ -0,0 +1,33 @@ +////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// DO NOT MODIFY THIS FILE DIRECTLY ! MAKE A PR TO MODIFY THE CORE LIBRARY. +// AS FOR NOW THE OPENSCD EVENTS PACKAGE IS NOT PUBLISHED +// WE USE A COPY OF ITS CORE EDITOR FUNCTIONALITIES - THIS IS THE V1 MARK AS DEPRECATED BUT STILL IN USE +// SEE SOURCE https://github.com/openscd/open-scd/blob/main/packages/core/foundation/deprecated/open-event.js +// THIS FILE IS IGNORED BY BIOME +////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +/** Represents a document to be opened. */ +export interface OpenDocDetail { + doc: XMLDocument + docName: string + docId?: string +} +export type OpenDocEvent = CustomEvent +export function newOpenDocEvent( + doc: XMLDocument, + docName: string, + eventInitDict?: CustomEventInit> +): OpenDocEvent { + return new CustomEvent('open-doc', { + bubbles: true, + composed: true, + ...eventInitDict, + detail: { doc, docName, ...eventInitDict?.detail } + }) +} + +declare global { + interface ElementEventMap { + ['open-doc']: OpenDocEvent + } +} diff --git a/packages/core/src/scd-events/index.ts b/packages/core/src/scd-events/index.ts deleted file mode 100644 index 8119b3e7..00000000 --- a/packages/core/src/scd-events/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "./scd-edit-events" \ No newline at end of file diff --git a/packages/core/src/scd-events/scd-edit-events.ts b/packages/core/src/scd-events/scd-edit-events.ts deleted file mode 100644 index fbd95c0b..00000000 --- a/packages/core/src/scd-events/scd-edit-events.ts +++ /dev/null @@ -1,184 +0,0 @@ -////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// DO NOT MODIFY THIS FILE DIRECTLY ! MAKE A PR TO MODIFY THE CORE LIBRARY. // -// AS FOR NOW THE OPENSCD EVENTS PACKAGE IS NOT PUBLISHED // -// WE USE A COPY OF ITS CORE EDITOR FUNCTIONALITIES - THIS IS THE V1 MARK AS DEPRECATED BUT STILL IN USE // -// SEE SOURCE https://github.com/openscd/open-scd/blob/main/packages/core/foundation/deprecated/editor.ts // -////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - -export type Initiator = 'user' | 'system' | 'undo' | 'redo' | string; - -/** Inserts `new.element` to `new.parent` before `new.reference`. */ -export interface Create { - new: { parent: Node; element: Node; reference?: Node | null }; - derived?: boolean; - checkValidity?: () => boolean; -} -/** Removes `old.element` from `old.parent` before `old.reference`. */ -export interface Delete { - old: { parent: Node; element: Node; reference?: Node | null }; - derived?: boolean; - checkValidity?: () => boolean; -} -/** Reparents of `old.element` to `new.parent` before `new.reference`. */ -export interface Move { - old: { parent: Element; element: Element; reference?: Node | null }; - new: { parent: Element; reference?: Node | null }; - derived?: boolean; - checkValidity?: () => boolean; -} -/** Replaces `old.element` with `new.element`, keeping element children. */ -export interface Replace { - old: { element: Element }; - new: { element: Element }; - derived?: boolean; - checkValidity?: () => boolean; -} -/** Swaps `element`s `oldAttributes` with `newAttributes` */ -export interface Update { - element: Element; - oldAttributes: Record; - newAttributes: Record; - derived?: boolean; - checkValidity?: () => boolean; -} - -export type SimpleAction = Update | Create | Replace | Delete | Move; -export type ComplexAction = { - actions: SimpleAction[]; - title: string; - derived?: boolean; -}; -/** Represents an intended or committed change to some `Element`. */ -export type EditorAction = SimpleAction | ComplexAction; - -export function isCreate(action: EditorAction): action is Create { - return ( - (action as Replace).old === undefined && - (action as Create).new?.parent !== undefined && - (action as Create).new?.element !== undefined - ); -} -export function isDelete(action: EditorAction): action is Delete { - return ( - (action as Delete).old?.parent !== undefined && - (action as Delete).old?.element !== undefined && - (action as Replace).new === undefined - ); -} -export function isMove(action: EditorAction): action is Move { - return ( - (action as Move).old?.parent !== undefined && - (action as Move).old?.element !== undefined && - (action as Move).new?.parent !== undefined && - (action as Replace).new?.element == undefined - ); -} -export function isReplace(action: EditorAction): action is Replace { - return ( - (action as Move).old?.parent === undefined && - (action as Replace).old?.element !== undefined && - (action as Move).new?.parent === undefined && - (action as Replace).new?.element !== undefined - ); -} -export function isUpdate(action: EditorAction): action is Update { - return ( - (action as Replace).old === undefined && - (action as Replace).new === undefined && - (action as Update).element !== undefined && - (action as Update).newAttributes !== undefined && - (action as Update).oldAttributes !== undefined - ); -} -export function isSimple(action: EditorAction): action is SimpleAction { - return !((action).actions instanceof Array); -} - -//** return `Update` action for `element` adding `oldAttributes` */ -export function createUpdateAction( - element: Element, - newAttributes: Record -): Update { - const oldAttributes: Record = {}; - Array.from(element.attributes).forEach(attr => { - oldAttributes[attr.name] = attr.value; - }); - - return { element, oldAttributes, newAttributes }; -} - -/** Throws an error bearing `message`, never returning. */ -export function unreachable(message: string): never { - throw new Error(message); -} - -/** @returns an [[`EditorAction`]] with opposite effect of `action`. */ -export function invert(action: EditorAction): EditorAction { - if (!isSimple(action)) { - const inverse: ComplexAction = { - title: action.title, - derived: action.derived, - actions: [], - }; - action.actions.forEach(element => - inverse.actions.unshift(invert(element)) - ); - return inverse; - } - - const metaData = { - derived: action.derived, - checkValidity: action.checkValidity, - }; - if (isCreate(action)) return { old: action.new, ...metaData }; - else if (isDelete(action)) return { new: action.old, ...metaData }; - else if (isMove(action)) - return { - old: { - parent: action.new.parent, - element: action.old.element, - reference: action.new.reference, - }, - new: { parent: action.old.parent, reference: action.old.reference }, - ...metaData, - }; - else if (isReplace(action)) - return { new: action.old, old: action.new, ...metaData }; - else if (isUpdate(action)) - return { - element: action.element, - oldAttributes: action.newAttributes, - newAttributes: action.oldAttributes, - ...metaData, - }; - else return unreachable('Unknown EditorAction type in invert.'); -} - -/** Represents some intended modification of a `Document` being edited. */ -export interface EditorActionDetail { - action: T; - initiator?: Initiator; -} -export type EditorActionEvent = CustomEvent< - EditorActionDetail ->; - -export function newActionEvent( - action: T, - initiator: Initiator = 'user', - eventInitDict?: CustomEventInit>> -): EditorActionEvent { - return new CustomEvent>('editor-action', { - bubbles: true, - composed: true, - ...eventInitDict, - detail: { action, initiator, ...eventInitDict?.detail }, - }); -} - -declare global { - interface ElementEventMap { - ['editor-action']: EditorActionEvent; - } -} diff --git a/packages/core/src/scd-plugin/editor-instance.scd-plugin.ts b/packages/core/src/scd-plugin/editor-instance.scd-plugin.ts new file mode 100644 index 00000000..941cd0fa --- /dev/null +++ b/packages/core/src/scd-plugin/editor-instance.scd-plugin.ts @@ -0,0 +1,60 @@ +// TYPES +import type { SvelteComponent, ComponentType } from 'svelte' +import type { PluginConstructor } from './types.scd-plugin' + +export default function editorPluginInstance( + pluginComponent: ComponentType +) { + //====== INITIALIZATION ======// + + // this emulate the class declaration we need for custom components + function EditorPlugin() { + return Reflect.construct(HTMLElement, [], new.target) + } + EditorPlugin.prototype = Object.create(HTMLElement.prototype) + + //====== PROPERTIES ======// + + EditorPlugin.prototype.pluginInstance = undefined + EditorPlugin.prototype.localDoc = undefined + EditorPlugin.prototype.localDocName = undefined + + //====== METHODS ======// + + Object.defineProperty(EditorPlugin.prototype, 'doc', { + get: function doc() { + return this.localDoc + }, + set: function doc(newDoc: XMLDocument) { + this.localDoc = newDoc + if (!this.pluginInstance) return + + this.pluginInstance.$set({ xmlDocument: newDoc }) + } + }) + + Object.defineProperty(EditorPlugin.prototype, 'docName', { + get: function docName() { + return this.localDocName + }, + set: function docName(newDocName: string) { + this.localDocName = newDocName + } + }) + + //====== LIFECYCLE METHODS ======// + + EditorPlugin.prototype.connectedCallback = function () { + this.pluginInstance = new pluginComponent({ + target: this.attachShadow({ mode: 'open' }), + props: { + xmlDocument: this.localDoc, + pluginHostElement: this + } + }) + } + + //====== RETURN PLUGIN INSTANCE ======// + + return EditorPlugin as unknown as PluginConstructor +} diff --git a/packages/core/src/scd-plugin/index.ts b/packages/core/src/scd-plugin/index.ts new file mode 100644 index 00000000..1fd5d620 --- /dev/null +++ b/packages/core/src/scd-plugin/index.ts @@ -0,0 +1,3 @@ +export * from './wrapper.scd-plugin' +// TYPES +export type { PluginType } from './types.scd-plugin' diff --git a/packages/core/src/scd-plugin/menu-instance.scd-plugin.ts b/packages/core/src/scd-plugin/menu-instance.scd-plugin.ts new file mode 100644 index 00000000..a64f307b --- /dev/null +++ b/packages/core/src/scd-plugin/menu-instance.scd-plugin.ts @@ -0,0 +1,37 @@ +// TYPES +import type { SvelteComponent, ComponentType } from 'svelte' +import type { PluginConstructor } from './types.scd-plugin' + +export default function menuPluginInstance( + pluginComponent: ComponentType +) { + //====== INITIALIZATION ======// + + // this emulate the class declaration we need for custom components + function MenuPlugin() { + return Reflect.construct(HTMLElement, [], new.target) + } + MenuPlugin.prototype = Object.create(HTMLElement.prototype) + + //====== PROPERTIES ======// + + MenuPlugin.prototype.pluginInstance = undefined + + //====== METHODS ======// + + MenuPlugin.prototype.run = function () { + return this.pluginInstance.run() + } + + //====== LIFECYCLE METHODS ======// + + MenuPlugin.prototype.connectedCallback = function () { + this.pluginInstance = new pluginComponent({ + target: this.attachShadow({ mode: 'open' }) + }) + } + + //====== RETURN PLUGIN INSTANCE ======// + + return MenuPlugin as unknown as PluginConstructor +} diff --git a/packages/core/src/scd-plugin/stand-alone-mode.scd-plugin.ts b/packages/core/src/scd-plugin/stand-alone-mode.scd-plugin.ts new file mode 100644 index 00000000..fa890cc5 --- /dev/null +++ b/packages/core/src/scd-plugin/stand-alone-mode.scd-plugin.ts @@ -0,0 +1,71 @@ +// UTILS +import { serializeXmlDocument } from '../scd-xml' +// TYPES +import type { + PluginConstructor, + EditorPluginInstance, + PluginType +} from './types.scd-plugin' + +export default function standAloneMode( + pluginInstance: PluginConstructor, + pluginType: PluginType +) { + customElements.define('stand-alone-plugin', pluginInstance) + + // Create an instance of the custom element and add it to the DOM + //====== INITIALIZATION ======// + + const pluginElement = document.createElement('stand-alone-plugin') + document.body.appendChild(pluginElement) + + if (pluginType === 'editor') + emulateOpenSCDInstanceEditionActions( + pluginElement as EditorPluginInstance + ) +} + +//====== EMULATION ======// + +function emulateOpenSCDInstanceEditionActions( + pluginElement: EditorPluginInstance +) { + // Document events to simulate the OPENSCD instance actions + //======= EVENTS ======// + + document.addEventListener('open-doc', handleOpenDoc as EventListener) + document.addEventListener('save-doc', handleSaveDoc as EventListener) + document.addEventListener('editor-action', handleEdition as EventListener) + + //====== EVENTS HANDLERS ======// + + function handleOpenDoc(event: CustomEvent) { + pluginElement.doc = event.detail.doc + pluginElement.docName = event.detail.docName + } + + function handleSaveDoc() { + if (!pluginElement.doc) return + const xmlString = serializeXmlDocument(pluginElement.doc) + + const blob = new Blob([xmlString], { type: 'application/xml' }) + const url = URL.createObjectURL(blob) + const a = document.createElement('a') + a.href = url + a.download = pluginElement.docName || 'file.xml' + document.body.appendChild(a) + a.click() + document.body.removeChild(a) + URL.revokeObjectURL(url) + } + + // for now handling only creation + // see https://github.com/openscd/open-scd/blob/main/packages/openscd/src/Editing.ts + function handleEdition(event: CustomEvent) { + const { action } = event.detail + action.new.parent.insertBefore( + action.new.element, + action.new.reference ?? null + ) + } +} diff --git a/packages/core/src/scd-plugin/types.scd-plugin.d.ts b/packages/core/src/scd-plugin/types.scd-plugin.d.ts new file mode 100644 index 00000000..51173ac4 --- /dev/null +++ b/packages/core/src/scd-plugin/types.scd-plugin.d.ts @@ -0,0 +1,22 @@ +export type PluginType = 'editor' | 'menu' | 'validator' + +export type PluginConstructor = CustomElementConstructor + +export type EditorPluginInstance = HTMLElement & { + localDoc: XMLDocument | undefined + localDocName: string | undefined + pluginInstance: SvelteComponent | null + get doc(): XMLDocument | undefined + set doc(newDoc: XMLDocument) + get docName(): string | undefined + set docName(newDocName: string) + connectedCallback(): void + constructor(): EditorPluginInstance +} + +export type MenuPluginInstance = HTMLElement & { + pluginInstance: SvelteComponent | null + run(): void + connectedCallback(): void + constructor(): MenuPluginInstance +} diff --git a/packages/core/src/scd-plugin/validator-instance.scd-plugin.ts b/packages/core/src/scd-plugin/validator-instance.scd-plugin.ts new file mode 100644 index 00000000..8852a1b4 --- /dev/null +++ b/packages/core/src/scd-plugin/validator-instance.scd-plugin.ts @@ -0,0 +1,35 @@ +// TYPES +import type { SvelteComponent, ComponentType } from 'svelte' +import type { PluginConstructor } from './types.scd-plugin' + +export default function validatorPluginInstance( + pluginComponent: ComponentType +) { + //====== INITIALIZATION ======// + + // this emulate the class declaration we need for custom components + function ValidatorPlugin(this: typeof validatorPluginInstance) { + return Reflect.construct(HTMLElement, [], this.constructor) + } + ValidatorPlugin.prototype = Object.create(HTMLElement.prototype) + + //====== PROPERTIES ======// + + ValidatorPlugin.prototype.pluginInstance = null + + //====== METHODS ======// + + // TODO + + //====== LIFECYCLE METHODS ======// + + ValidatorPlugin.prototype.connectedCallback = function () { + this.pluginInstance = new pluginComponent({ + target: this.attachShadow({ mode: 'open' }) + }) + } + + //====== RETURN PLUGIN INSTANCE ======// + + return ValidatorPlugin as unknown as PluginConstructor +} diff --git a/packages/core/src/scd-plugin/wrapper.scd-plugin.ts b/packages/core/src/scd-plugin/wrapper.scd-plugin.ts new file mode 100644 index 00000000..737d2c26 --- /dev/null +++ b/packages/core/src/scd-plugin/wrapper.scd-plugin.ts @@ -0,0 +1,28 @@ +import editorPluginInstance from './editor-instance.scd-plugin' +import menuPluginInstance from './menu-instance.scd-plugin' +import validatorPluginInstance from './validator-instance.scd-plugin' +import standAloneMode from './stand-alone-mode.scd-plugin' +// TYPES +import type { SvelteComponent, ComponentType } from 'svelte' +import type { PluginType } from './types.scd-plugin' + +export function createPluginInstance({ + pluginType, + isStandAlone, + pluginComponent +}: { + pluginType: PluginType + isStandAlone: boolean + pluginComponent: ComponentType + // biome-ignore lint/suspicious/noConfusingVoidType: in stand alone mode the function does not return anything +}): void | CustomElementConstructor { + const pluginInstances = { + editor: editorPluginInstance(pluginComponent), + menu: menuPluginInstance(pluginComponent), + validator: validatorPluginInstance(pluginComponent) // TODO + } + + if (isStandAlone) + return standAloneMode(pluginInstances[pluginType], pluginType) + return pluginInstances[pluginType] +} diff --git a/packages/core/src/scd-xml/foundation.ts b/packages/core/src/scd-xml/foundation.ts index 5a09c7f0..950bfc02 100644 --- a/packages/core/src/scd-xml/foundation.ts +++ b/packages/core/src/scd-xml/foundation.ts @@ -1,9 +1,10 @@ -//////////////////////////////////////////////////////////////////////////////////////////////// -// DO NOT MODIFY THIS FILE DIRECTLY ! MAKE A PR TO MODIFY THE CORE LIBRARY. // -// AS FOR NOW THE OPENSCD XML PACKAGE IS NOT PUBLISHED // -// WE USE A COPY OF ITS CORE XML FUNCTIONALITIES // -// SEE SOURCE https://github.com/openscd/open-scd/blob/main/packages/xml/src/foundation.ts // -//////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////////////////// +// DO NOT MODIFY THIS FILE DIRECTLY ! MAKE A PR TO MODIFY THE CORE LIBRARY. +// AS FOR NOW THE OPENSCD XML PACKAGE IS NOT PUBLISHED +// WE USE A COPY OF ITS CORE XML FUNCTIONALITIES +// SEE SOURCE https://github.com/openscd/open-scd/blob/main/packages/xml/src/foundation.ts +// THIS FILE IS IGNORED BY BIOME +/////////////////////////////////////////////////////////////////////////////////////////// /** * @since 0.0.1 diff --git a/packages/core/src/scd-xml/index.ts b/packages/core/src/scd-xml/index.ts index 022fb452..94573075 100644 --- a/packages/core/src/scd-xml/index.ts +++ b/packages/core/src/scd-xml/index.ts @@ -1 +1,2 @@ export * from './foundation' +export * from './utils.scd-xml' diff --git a/packages/core/src/scd-xml/utils.scd-xml.ts b/packages/core/src/scd-xml/utils.scd-xml.ts new file mode 100644 index 00000000..ea896820 --- /dev/null +++ b/packages/core/src/scd-xml/utils.scd-xml.ts @@ -0,0 +1,9 @@ +export function serializeXmlDocument(doc: XMLDocument): string { + const serializer = new XMLSerializer() + const xmlString = serializer.serializeToString(doc) + const xmlStringRoot = '' + return xmlString.startsWith(' + + + + + + OpenSCD Plugin - TypeDesigner + + + + + diff --git a/packages/plugins/type-designer/package.json b/packages/plugins/type-designer/package.json index 9f44c9d3..23334b49 100644 --- a/packages/plugins/type-designer/package.json +++ b/packages/plugins/type-designer/package.json @@ -4,7 +4,7 @@ "version": "0.0.0", "type": "module", "scripts": { - "dev": "vite", + "dev": "vite --mode STAND_ALONE", "build": "vite build", "_build:watch": "NODE_ENV=development vite build --watch", "build:watch": "concurrently 'npm:_build:watch' 'npm:preview'", @@ -14,7 +14,10 @@ "version": "echo $npm_package_version" }, "dependencies": { + "@oscd-plugins/core": "workspace:^", + "@oscd-plugins/ui": "workspace:^", "@oscd-plugins/uilib": "workspace:^", + "@smui/button": "7.0.0", "concurrently": "^7.6.0" }, "devDependencies": { diff --git a/packages/uilib/src/lib/plugins/type-designer/components/elements-type-container/element-type-container.svelte b/packages/plugins/type-designer/src/components/elements-type-container/element-type-container.svelte similarity index 100% rename from packages/uilib/src/lib/plugins/type-designer/components/elements-type-container/element-type-container.svelte rename to packages/plugins/type-designer/src/components/elements-type-container/element-type-container.svelte diff --git a/packages/uilib/src/lib/plugins/type-designer/components/elements-type-container/tool-bar.svelte b/packages/plugins/type-designer/src/components/elements-type-container/tool-bar.svelte similarity index 98% rename from packages/uilib/src/lib/plugins/type-designer/components/elements-type-container/tool-bar.svelte rename to packages/plugins/type-designer/src/components/elements-type-container/tool-bar.svelte index 5c030d97..470b773f 100644 --- a/packages/uilib/src/lib/plugins/type-designer/components/elements-type-container/tool-bar.svelte +++ b/packages/plugins/type-designer/src/components/elements-type-container/tool-bar.svelte @@ -20,24 +20,11 @@ {/each} - - + + diff --git a/packages/uilib/src/lib/plugins/type-designer/components/index.ts b/packages/plugins/type-designer/src/components/index.ts similarity index 100% rename from packages/uilib/src/lib/plugins/type-designer/components/index.ts rename to packages/plugins/type-designer/src/components/index.ts diff --git a/packages/plugins/type-designer/src/plugin.svelte b/packages/plugins/type-designer/src/plugin.svelte index 07e52e07..46f66246 100644 --- a/packages/plugins/type-designer/src/plugin.svelte +++ b/packages/plugins/type-designer/src/plugin.svelte @@ -1,15 +1,37 @@ - + + + + + + + + + + +//==== INITIALIZATION ====// +//props +export let xmlDocument: XMLDocument | undefined = undefined +export let pluginHostElement: Element +export let pluginType: PluginType = 'editor' -{#if doc} - -{/if} +//==== REACTIVITY ====// - - +$: pluginStore.init({ + newXMLDocument: xmlDocument, + newPluginHostElement: pluginHostElement +}) +$: dataTypeTemplatesStore.init(xmlDocument?.documentElement) + + \ No newline at end of file diff --git a/packages/plugins/type-designer/src/plugin.ts b/packages/plugins/type-designer/src/plugin.ts index b10f2db8..1ee10779 100644 --- a/packages/plugins/type-designer/src/plugin.ts +++ b/packages/plugins/type-designer/src/plugin.ts @@ -1,38 +1,8 @@ import Plugin from './plugin.svelte' -import * as pkg from '../package.json' +import { createPluginInstance } from '@oscd-plugins/core' -export default class NewPlugin extends HTMLElement { - private plugin: Plugin - - connectedCallback() { - this.attachShadow({ mode: 'open' }) - this.plugin = new Plugin({ - target: this.shadowRoot, - props: { - doc: this._doc - // editCount: -1 - } - }) - - const style = document.createElement('style') - style.innerHTML = globalThis.pluginStyle[pkg.name] - this.shadowRoot!.appendChild(style) - } - - private _doc: XMLDocument - public set doc(newDoc: XMLDocument) { - this._doc = newDoc - if (!this.plugin) { - return - } - - this.plugin.$set({ doc: newDoc }) - } - - // public set editCount(newCount: number) { - // if (!this.plugin) { - // return - // } - // this.plugin.$set({ editCount: newCount }) - // } -} +export default createPluginInstance({ + pluginType: 'editor', + isStandAlone: import.meta.env.MODE === 'STAND_ALONE', + pluginComponent: Plugin +}) diff --git a/packages/plugins/type-designer/src/public/type-designer.schema.xsd b/packages/plugins/type-designer/src/public/type-designer.schema.xsd new file mode 100644 index 00000000..a9c1957b --- /dev/null +++ b/packages/plugins/type-designer/src/public/type-designer.schema.xsd @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/plugins/type-designer/src/public/type-designer.simple.scd b/packages/plugins/type-designer/src/public/type-designer.simple.scd new file mode 100644 index 00000000..415bd160 --- /dev/null +++ b/packages/plugins/type-designer/src/public/type-designer.simple.scd @@ -0,0 +1,29 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/uilib/src/lib/plugins/type-designer/stores/data-types-templates.store.ts b/packages/plugins/type-designer/src/stores/data-types-templates.store.ts similarity index 92% rename from packages/uilib/src/lib/plugins/type-designer/stores/data-types-templates.store.ts rename to packages/plugins/type-designer/src/stores/data-types-templates.store.ts index 1eedc6fa..950762a6 100644 --- a/packages/uilib/src/lib/plugins/type-designer/stores/data-types-templates.store.ts +++ b/packages/plugins/type-designer/src/stores/data-types-templates.store.ts @@ -28,7 +28,8 @@ function setSubElements(newXmlDocument: Element) { } //==== INITIALIZATION -function init(newXmlDocument: Element) { +function init(newXmlDocument: Element | undefined) { + if (!newXmlDocument) return setRootElement(newXmlDocument) setSubElements(newXmlDocument) } diff --git a/packages/plugins/type-designer/src/stores/events.store.ts b/packages/plugins/type-designer/src/stores/events.store.ts new file mode 100644 index 00000000..42f295c3 --- /dev/null +++ b/packages/plugins/type-designer/src/stores/events.store.ts @@ -0,0 +1,29 @@ +// SVELTE +import { get } from 'svelte/store' +// OPENSCD +import { newActionEvent } from '@oscd-plugins/core' +// STORES +import { pluginStore } from './index' + +//====== STORES ======// +const { pluginHostElement } = pluginStore + +//====== STATE ======// + +//====== ACTIONS ======// + +function createAndDispatchActionEvent(parent: Element, element: Element) { + const event = newActionEvent({ + new: { + parent, + element + } + }) + + get(pluginHostElement).dispatchEvent(event) +} + +export const eventStore = { + //actions + createAndDispatchActionEvent +} diff --git a/packages/plugins/type-designer/src/stores/index.ts b/packages/plugins/type-designer/src/stores/index.ts new file mode 100644 index 00000000..6430aba6 --- /dev/null +++ b/packages/plugins/type-designer/src/stores/index.ts @@ -0,0 +1,7 @@ +// PLUGIN BASE +export * from './plugin.store' +export * from './xml-document.store' +export * from './events.store' +// CUSTOM + +export * from './data-types-templates.store' diff --git a/packages/plugins/type-designer/src/stores/plugin.store.ts b/packages/plugins/type-designer/src/stores/plugin.store.ts new file mode 100644 index 00000000..4589fa7f --- /dev/null +++ b/packages/plugins/type-designer/src/stores/plugin.store.ts @@ -0,0 +1,24 @@ +// SVELTE +import { writable } from 'svelte/store' + +//====== STATE ======// +const xmlDocument = writable(undefined) +const pluginHostElement = writable() + +//====== INITIALIZATION ======// + +function init({ + newXMLDocument, + newPluginHostElement +}: { newXMLDocument: XMLDocument | undefined; newPluginHostElement: Element }) { + xmlDocument.set(newXMLDocument) + pluginHostElement.set(newPluginHostElement) +} + +export const pluginStore = { + //state + xmlDocument, + pluginHostElement, + //initialization + init +} diff --git a/packages/plugins/type-designer/src/stores/xml-document.store.ts b/packages/plugins/type-designer/src/stores/xml-document.store.ts new file mode 100644 index 00000000..dc206b54 --- /dev/null +++ b/packages/plugins/type-designer/src/stores/xml-document.store.ts @@ -0,0 +1,59 @@ +// SVELTE +import { writable, get } from 'svelte/store' +// OPENSCD +import { createElement } from '@oscd-plugins/core' +// STORES +import { dataTypeTemplatesStore, pluginStore, eventStore } from './index' +// TYPES +import type { DataTypeTemplates } from '@oscd-plugins/core' + +//====== STORES ======// +const { xmlDocument } = pluginStore + +//====== STATE ======// + +//====== ACTIONS ======// + +function addElementToXmlDocument( + newElementTagName: DataTypeTemplates.AllowedTag, + elementAttributes: Record +) { + const { dataTypeTemplatesRootElement } = dataTypeTemplatesStore + + const newElement = createElement( + get(xmlDocument), + newElementTagName, + elementAttributes + ) + + const parent = + get(dataTypeTemplatesRootElement)?.element ?? + createDataTypeTemplateElement() + + return eventStore.createAndDispatchActionEvent(parent, newElement) +} + +function createDataTypeTemplateElement(): Element { + const newDataTypeTemplatesElement = createElement( + get(xmlDocument), + 'DataTypeTemplates', + {} + ) + dataTypeTemplatesStore.dataTypeTemplatesRootElement.set({ + element: newDataTypeTemplatesElement + }) + + eventStore.createAndDispatchActionEvent( + get(xmlDocument).documentElement, + newDataTypeTemplatesElement + ) + + return newDataTypeTemplatesElement +} + +export const xmlDocumentStore = { + //state + xmlDocument, + //actions + addElementToXmlDocument +} diff --git a/packages/plugins/type-designer/tsconfig.json b/packages/plugins/type-designer/tsconfig.json index 8c35516f..19a1c3c5 100644 --- a/packages/plugins/type-designer/tsconfig.json +++ b/packages/plugins/type-designer/tsconfig.json @@ -1,6 +1,7 @@ { "extends": "@tsconfig/svelte/tsconfig.json", "compilerOptions": { + "baseUrl": ".", "target": "ESNext", "useDefineForClassFields": true, "module": "ESNext", @@ -13,7 +14,10 @@ */ "allowJs": true, "checkJs": true, - "isolatedModules": true + "isolatedModules": true, + "paths": { + "@/*": ["src/*"] + } }, "include": [ "src/**/*.d.ts", diff --git a/packages/plugins/type-designer/vite.config.ts b/packages/plugins/type-designer/vite.config.ts index 40286a25..23473221 100644 --- a/packages/plugins/type-designer/vite.config.ts +++ b/packages/plugins/type-designer/vite.config.ts @@ -1,29 +1,29 @@ import { defineConfig } from 'vite' import { svelte } from '@sveltejs/vite-plugin-svelte' -import cssInjectedByJsPlugin from 'vite-plugin-css-injected-by-js' +import { resolve } from 'node:path' const isDevelopment = process.env.NODE_ENV === 'development' // https://vitejs.dev/config/ export default defineConfig({ plugins: [ - svelte(), - cssInjectedByJsPlugin({ - styleId: process.env.npm_package_name, - injectCodeFunction: function injectCodeCustomRunTimeFunction( - cssCode: string, - options: any - ) { - if (!globalThis.pluginStyle) { - globalThis.pluginStyle = {} - } - globalThis.pluginStyle[options.styleId] = cssCode + svelte({ + compilerOptions: { + customElement: true } }) ], + server: { + port: 5179 + }, + resolve: { + alias: { + '@': resolve(__dirname, 'src') + } + }, build: { lib: { - entry: 'src/plugin.ts', + entry: resolve(__dirname, 'src/plugin.ts'), formats: ['es'], fileName: 'index' }, diff --git a/packages/ui/.gitignore b/packages/ui/.gitignore new file mode 100644 index 00000000..bc6d3062 --- /dev/null +++ b/packages/ui/.gitignore @@ -0,0 +1,26 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? + +*storybook.log \ No newline at end of file diff --git a/packages/ui/.storybook/main.ts b/packages/ui/.storybook/main.ts new file mode 100644 index 00000000..dee66058 --- /dev/null +++ b/packages/ui/.storybook/main.ts @@ -0,0 +1,17 @@ +import type { StorybookConfig } from "@storybook/svelte-vite"; + +const config: StorybookConfig = { + stories: ["../src/**/*.mdx", "../src/**/*.stories.@(js|ts|svelte)"], + addons: [ + "@storybook/addon-svelte-csf", + "@storybook/addon-links", + "@storybook/addon-essentials", + "@chromatic-com/storybook", + "@storybook/addon-interactions", + ], + framework: { + name: "@storybook/svelte-vite", + options: {}, + }, +}; +export default config; diff --git a/packages/ui/.storybook/preview.ts b/packages/ui/.storybook/preview.ts new file mode 100644 index 00000000..b09bb06f --- /dev/null +++ b/packages/ui/.storybook/preview.ts @@ -0,0 +1,14 @@ +import type { Preview } from "@storybook/svelte"; + +const preview: Preview = { + parameters: { + controls: { + matchers: { + color: /(background|color)$/i, + date: /Date$/i, + }, + }, + }, +}; + +export default preview; diff --git a/packages/ui/.vscode/extensions.json b/packages/ui/.vscode/extensions.json new file mode 100644 index 00000000..bdef8201 --- /dev/null +++ b/packages/ui/.vscode/extensions.json @@ -0,0 +1,3 @@ +{ + "recommendations": ["svelte.svelte-vscode"] +} diff --git a/packages/ui/README.md b/packages/ui/README.md new file mode 100644 index 00000000..6fdc4b77 --- /dev/null +++ b/packages/ui/README.md @@ -0,0 +1,37 @@ +# Open scd plugins UI components + +# UI Package + +This package contains the common UI components used across various plugins in the OpenSCD project. + +## Overview + +The UI package provides reusable Svelte components that help in building consistent and efficient user interfaces for the plugins. + +## Installation + +To install the UI package, run: + +```sh +pnpm add @oscd-plugins/ui +``` + +## Documentation + +```sh +pnpm storybook +``` + +## Usage + +To use a component, import it into your Svelte file: + +```svelte + + + + + +``` \ No newline at end of file diff --git a/packages/ui/package.json b/packages/ui/package.json new file mode 100644 index 00000000..283ca226 --- /dev/null +++ b/packages/ui/package.json @@ -0,0 +1,42 @@ +{ + "name": "@oscd-plugins/ui", + "private": true, + "version": "0.0.0", + "type": "module", + "main": "src/index.ts", + "scripts": { + "dev": "vite", + "build": "vite build", + "preview": "vite preview", + "check": "svelte-check --tsconfig ./tsconfig.json && tsc -p tsconfig.node.json", + "storybook": "storybook dev -p 6006", + "build-storybook": "storybook build" + }, + "devDependencies": { + "@chromatic-com/storybook": "^1.9.0", + "@storybook/addon-essentials": "^8.3.5", + "@storybook/addon-interactions": "^8.3.5", + "@storybook/addon-links": "^8.3.5", + "@storybook/addon-svelte-csf": "^4.1.7", + "@storybook/blocks": "^8.3.5", + "@storybook/svelte": "^8.3.5", + "@storybook/svelte-vite": "^8.3.5", + "@storybook/test": "^8.3.5", + "@sveltejs/vite-plugin-svelte": "^3.1.2", + "@tsconfig/svelte": "^5.0.4", + "storybook": "^8.3.5", + "svelte": "^4.2.19", + "svelte-check": "^4.0.4", + "tslib": "^2.7.0", + "typescript": "^5.5.3", + "vite": "^5.4.8" + }, + "dependencies": { + "@oscd-plugins/core": "workspace:^", + "@smui/button": "^7.0.0", + "@smui/icon-button": "7.0.0", + "@smui/top-app-bar": "^7.0.0", + "normalize.css": "^8.0.1", + "svelte-material-ui": "^7.0.0" + } +} diff --git a/packages/ui/src/assets/fonts/Roboto-Black.ttf b/packages/ui/src/assets/fonts/Roboto-Black.ttf new file mode 100644 index 00000000..58fa175b Binary files /dev/null and b/packages/ui/src/assets/fonts/Roboto-Black.ttf differ diff --git a/packages/ui/src/assets/fonts/Roboto-BlackItalic.ttf b/packages/ui/src/assets/fonts/Roboto-BlackItalic.ttf new file mode 100644 index 00000000..0a4dfd05 Binary files /dev/null and b/packages/ui/src/assets/fonts/Roboto-BlackItalic.ttf differ diff --git a/packages/ui/src/assets/fonts/Roboto-Bold.ttf b/packages/ui/src/assets/fonts/Roboto-Bold.ttf new file mode 100644 index 00000000..e64db796 Binary files /dev/null and b/packages/ui/src/assets/fonts/Roboto-Bold.ttf differ diff --git a/packages/ui/src/assets/fonts/Roboto-BoldItalic.ttf b/packages/ui/src/assets/fonts/Roboto-BoldItalic.ttf new file mode 100644 index 00000000..5e39ae97 Binary files /dev/null and b/packages/ui/src/assets/fonts/Roboto-BoldItalic.ttf differ diff --git a/packages/ui/src/assets/fonts/Roboto-Italic.ttf b/packages/ui/src/assets/fonts/Roboto-Italic.ttf new file mode 100644 index 00000000..65498ee3 Binary files /dev/null and b/packages/ui/src/assets/fonts/Roboto-Italic.ttf differ diff --git a/packages/ui/src/assets/fonts/Roboto-Light.ttf b/packages/ui/src/assets/fonts/Roboto-Light.ttf new file mode 100644 index 00000000..a7e02843 Binary files /dev/null and b/packages/ui/src/assets/fonts/Roboto-Light.ttf differ diff --git a/packages/ui/src/assets/fonts/Roboto-LightItalic.ttf b/packages/ui/src/assets/fonts/Roboto-LightItalic.ttf new file mode 100644 index 00000000..867b76d9 Binary files /dev/null and b/packages/ui/src/assets/fonts/Roboto-LightItalic.ttf differ diff --git a/packages/ui/src/assets/fonts/Roboto-Medium.ttf b/packages/ui/src/assets/fonts/Roboto-Medium.ttf new file mode 100644 index 00000000..0707e15c Binary files /dev/null and b/packages/ui/src/assets/fonts/Roboto-Medium.ttf differ diff --git a/packages/ui/src/assets/fonts/Roboto-MediumItalic.ttf b/packages/ui/src/assets/fonts/Roboto-MediumItalic.ttf new file mode 100644 index 00000000..4e3bf0d2 Binary files /dev/null and b/packages/ui/src/assets/fonts/Roboto-MediumItalic.ttf differ diff --git a/packages/ui/src/assets/fonts/Roboto-Regular.ttf b/packages/ui/src/assets/fonts/Roboto-Regular.ttf new file mode 100644 index 00000000..2d116d92 Binary files /dev/null and b/packages/ui/src/assets/fonts/Roboto-Regular.ttf differ diff --git a/packages/ui/src/assets/fonts/Roboto-Thin.ttf b/packages/ui/src/assets/fonts/Roboto-Thin.ttf new file mode 100644 index 00000000..ab68508d Binary files /dev/null and b/packages/ui/src/assets/fonts/Roboto-Thin.ttf differ diff --git a/packages/ui/src/assets/fonts/Roboto-ThinItalic.ttf b/packages/ui/src/assets/fonts/Roboto-ThinItalic.ttf new file mode 100644 index 00000000..b2c39336 Binary files /dev/null and b/packages/ui/src/assets/fonts/Roboto-ThinItalic.ttf differ diff --git a/packages/ui/src/assets/fonts/RobotoMono-Bold.ttf b/packages/ui/src/assets/fonts/RobotoMono-Bold.ttf new file mode 100644 index 00000000..d8841280 Binary files /dev/null and b/packages/ui/src/assets/fonts/RobotoMono-Bold.ttf differ diff --git a/packages/ui/src/assets/fonts/RobotoMono-BoldItalic.ttf b/packages/ui/src/assets/fonts/RobotoMono-BoldItalic.ttf new file mode 100644 index 00000000..e9c48025 Binary files /dev/null and b/packages/ui/src/assets/fonts/RobotoMono-BoldItalic.ttf differ diff --git a/packages/ui/src/assets/fonts/RobotoMono-ExtraLight.ttf b/packages/ui/src/assets/fonts/RobotoMono-ExtraLight.ttf new file mode 100644 index 00000000..9ff7ac6a Binary files /dev/null and b/packages/ui/src/assets/fonts/RobotoMono-ExtraLight.ttf differ diff --git a/packages/ui/src/assets/fonts/RobotoMono-ExtraLightItalic.ttf b/packages/ui/src/assets/fonts/RobotoMono-ExtraLightItalic.ttf new file mode 100644 index 00000000..9e962d4d Binary files /dev/null and b/packages/ui/src/assets/fonts/RobotoMono-ExtraLightItalic.ttf differ diff --git a/packages/ui/src/assets/fonts/RobotoMono-Italic.ttf b/packages/ui/src/assets/fonts/RobotoMono-Italic.ttf new file mode 100644 index 00000000..61e53033 Binary files /dev/null and b/packages/ui/src/assets/fonts/RobotoMono-Italic.ttf differ diff --git a/packages/ui/src/assets/fonts/RobotoMono-Light.ttf b/packages/ui/src/assets/fonts/RobotoMono-Light.ttf new file mode 100644 index 00000000..4893662d Binary files /dev/null and b/packages/ui/src/assets/fonts/RobotoMono-Light.ttf differ diff --git a/packages/ui/src/assets/fonts/RobotoMono-LightItalic.ttf b/packages/ui/src/assets/fonts/RobotoMono-LightItalic.ttf new file mode 100644 index 00000000..39b72503 Binary files /dev/null and b/packages/ui/src/assets/fonts/RobotoMono-LightItalic.ttf differ diff --git a/packages/ui/src/assets/fonts/RobotoMono-Medium.ttf b/packages/ui/src/assets/fonts/RobotoMono-Medium.ttf new file mode 100644 index 00000000..f6c149a2 Binary files /dev/null and b/packages/ui/src/assets/fonts/RobotoMono-Medium.ttf differ diff --git a/packages/ui/src/assets/fonts/RobotoMono-MediumItalic.ttf b/packages/ui/src/assets/fonts/RobotoMono-MediumItalic.ttf new file mode 100644 index 00000000..70a1a75a Binary files /dev/null and b/packages/ui/src/assets/fonts/RobotoMono-MediumItalic.ttf differ diff --git a/packages/ui/src/assets/fonts/RobotoMono-Regular.ttf b/packages/ui/src/assets/fonts/RobotoMono-Regular.ttf new file mode 100644 index 00000000..6df2b253 Binary files /dev/null and b/packages/ui/src/assets/fonts/RobotoMono-Regular.ttf differ diff --git a/packages/ui/src/assets/fonts/RobotoMono-SemiBold.ttf b/packages/ui/src/assets/fonts/RobotoMono-SemiBold.ttf new file mode 100644 index 00000000..82ddc82a Binary files /dev/null and b/packages/ui/src/assets/fonts/RobotoMono-SemiBold.ttf differ diff --git a/packages/ui/src/assets/fonts/RobotoMono-SemiBoldItalic.ttf b/packages/ui/src/assets/fonts/RobotoMono-SemiBoldItalic.ttf new file mode 100644 index 00000000..15b08461 Binary files /dev/null and b/packages/ui/src/assets/fonts/RobotoMono-SemiBoldItalic.ttf differ diff --git a/packages/ui/src/assets/fonts/RobotoMono-Thin.ttf b/packages/ui/src/assets/fonts/RobotoMono-Thin.ttf new file mode 100644 index 00000000..aeb997ba Binary files /dev/null and b/packages/ui/src/assets/fonts/RobotoMono-Thin.ttf differ diff --git a/packages/ui/src/assets/fonts/RobotoMono-ThinItalic.ttf b/packages/ui/src/assets/fonts/RobotoMono-ThinItalic.ttf new file mode 100644 index 00000000..ab99e08b Binary files /dev/null and b/packages/ui/src/assets/fonts/RobotoMono-ThinItalic.ttf differ diff --git a/packages/ui/src/assets/styles/fonts.css b/packages/ui/src/assets/styles/fonts.css new file mode 100644 index 00000000..62297c69 --- /dev/null +++ b/packages/ui/src/assets/styles/fonts.css @@ -0,0 +1,95 @@ +/* Black */ +@font-face { + font-family: "Roboto"; + src: url("../fonts/Roboto-Black.ttf") format("truetype"); + font-weight: 900; + font-style: normal; +} + +/* Black Italic */ +@font-face { + font-family: "Roboto"; + src: url("../fonts/Roboto-BlackItalic.ttf") format("truetype"); + font-weight: 900; + font-style: italic; +} + +/* Bold */ +@font-face { + font-family: "Roboto"; + src: url("../fonts/Roboto-Bold.ttf") format("truetype"); + font-weight: 700; + font-style: normal; +} + +/* Bold Italic */ +@font-face { + font-family: "Roboto"; + src: url("../fonts/Roboto-BoldItalic.ttf") format("truetype"); + font-weight: 700; + font-style: italic; +} + +/* Italic */ +@font-face { + font-family: "Roboto"; + src: url("../fonts/Roboto-Italic.ttf") format("truetype"); + font-weight: 400; + font-style: italic; +} + +/* Light */ +@font-face { + font-family: "Roboto"; + src: url("../fonts/Roboto-Light.ttf") format("truetype"); + font-weight: 300; + font-style: normal; +} + +/* Light Italic */ +@font-face { + font-family: "Roboto"; + src: url("../fonts/Roboto-LightItalic.ttf") format("truetype"); + font-weight: 300; + font-style: italic; +} + +/* Medium */ +@font-face { + font-family: "Roboto"; + src: url("../fonts/Roboto-Medium.ttf") format("truetype"); + font-weight: 500; + font-style: normal; +} + +/* Medium Italic */ +@font-face { + font-family: "Roboto"; + src: url("../fonts/Roboto-MediumItalic.ttf") format("truetype"); + font-weight: 500; + font-style: italic; +} + +/* Regular */ +@font-face { + font-family: "Roboto"; + src: url("../fonts/Roboto-Regular.ttf") format("truetype"); + font-weight: 400; + font-style: normal; +} + +/* Thin */ +@font-face { + font-family: "Roboto"; + src: url("../fonts/Roboto-Thin.ttf") format("truetype"); + font-weight: 100; + font-style: normal; +} + +/* Thin Italic */ +@font-face { + font-family: "Roboto"; + src: url("../fonts/Roboto-ThinItalic.ttf") format("truetype"); + font-weight: 100; + font-style: italic; +} diff --git a/packages/ui/src/assets/styles/theme.css b/packages/ui/src/assets/styles/theme.css new file mode 100644 index 00000000..647b6b5d --- /dev/null +++ b/packages/ui/src/assets/styles/theme.css @@ -0,0 +1,83 @@ +/* ====== HOST ROOT ====== */ +:host > tscd-theme, +:host > header { + --mdc-theme-primary: #2aa198; + --mdc-theme-secondary: #6c71c4; + --mdc-theme-background: #f3ecda; + --mdc-theme-surface: #fff9eb; + --mdc-theme-error: #b00020; + --mdc-theme-on-primary: #ffffff; + --mdc-theme-on-secondary: #ffffff; + --mdc-theme-on-surface: #1d1c13; + --mdc-theme-on-error: #ffffff; + --mdc-theme-text-primary-on-background: rgba(22, 29, 28, 0.87); + --mdc-theme-text-secondary-on-background: rgba(22, 29, 28, 0.54); + --mdc-theme-text-hint-on-background: rgba(22, 29, 28, 0.38); + --mdc-theme-text-disabled-on-background: rgba(22, 29, 28, 0.38); + --mdc-theme-text-icon-on-background: rgba(22, 29, 28, 0.38); + --mdc-theme-text-primary-on-light: rgba(22, 29, 28, 0.87); + --mdc-theme-text-secondary-on-light: rgba(22, 29, 28, 0.54); + --mdc-theme-text-hint-on-light: rgba(22, 29, 28, 0.38); + --mdc-theme-text-disabled-on-light: rgba(22, 29, 28, 0.38); + --mdc-theme-text-icon-on-light: rgba(22, 29, 28, 0.38); + --mdc-theme-text-primary-on-dark: #dde4e2; + --mdc-theme-text-secondary-on-dark: rgba(221, 228, 226, 0.7); + --mdc-theme-text-hint-on-dark: rgba(221, 228, 226, 0.5); + --mdc-theme-text-disabled-on-dark: rgba(221, 228, 226, 0.5); + --mdc-theme-text-icon-on-dark: rgba(221, 228, 226, 0.5); +} + +tscd-theme { + /* OPEN SCD INSTANCE HEADER */ + --header-height: 112px; + + font-family: "Roboto", sans-serif; + height: calc(100vh - var(--header-height)); + display: flex; + align-items: stretch; + position: relative; + background-color: var(--mdc-theme-background); +} + +/* ====== UTILITY CLASSES ====== */ + +/* ====== FONTS */ +.roboto-mono { + font-family: "Roboto Mono", monospace; +} + +.font-thin { + font-weight: 100; +} + +.font-extra-light { + font-weight: 200; +} + +.font-light { + font-weight: 300; +} + +.font-normal { + font-weight: 400; +} + +.font-medium { + font-weight: 500; +} + +.font-semi-bold { + font-weight: 600; +} + +.font-bold { + font-weight: 700; +} + +.font-extra-bold { + font-weight: 800; +} + +.font-black { + font-weight: 900; +} diff --git a/packages/ui/src/components/dev/index.ts b/packages/ui/src/components/dev/index.ts new file mode 100644 index 00000000..84551b6f --- /dev/null +++ b/packages/ui/src/components/dev/index.ts @@ -0,0 +1,2 @@ +export { default as DevMenuBar} from './menu-bar.dev.svelte' + diff --git a/packages/ui/src/components/dev/menu-bar.dev.stories.ts b/packages/ui/src/components/dev/menu-bar.dev.stories.ts new file mode 100644 index 00000000..8f46680f --- /dev/null +++ b/packages/ui/src/components/dev/menu-bar.dev.stories.ts @@ -0,0 +1,14 @@ +import type { Meta, StoryObj } from '@storybook/svelte' + +import DevMenuBar from './menu-bar.dev.svelte' + +const meta = { + title: 'Development/Menu Bar', + component: DevMenuBar, + tags: ['autodocs'] +} satisfies Meta + +export default meta +type Story = StoryObj + +export const Default: Story = {} diff --git a/packages/ui/src/components/dev/menu-bar.dev.svelte b/packages/ui/src/components/dev/menu-bar.dev.svelte new file mode 100644 index 00000000..636790f3 --- /dev/null +++ b/packages/ui/src/components/dev/menu-bar.dev.svelte @@ -0,0 +1,63 @@ + + +
+ Dev Menu Bar +
+
+ {#if pluginType && pluginType === 'editor'} + + + + + + + + {/if} +
+
+
+ + \ No newline at end of file diff --git a/packages/ui/src/components/icons/README.md b/packages/ui/src/components/icons/README.md new file mode 100644 index 00000000..2b118872 --- /dev/null +++ b/packages/ui/src/components/icons/README.md @@ -0,0 +1,14 @@ +# ICONS + +## To add a new icon : + +* Go to `https://fonts.google.com/icons` +* Choose your icon, click on it and copy the icon by clicking on the copy icon within the icon (size and color will be set with css): + +![image](./icon-doc-1.png) + +* Extract the part from the `d` attribute of the svg and add it in `icons-draw.ts` + +* Key name should be the name of the icon (here `menu`). It can be found and copied at the end of the drawer. + +![image](./icon-doc-2.png) \ No newline at end of file diff --git a/packages/ui/src/components/icons/icon-doc-1.png b/packages/ui/src/components/icons/icon-doc-1.png new file mode 100644 index 00000000..5fee29af Binary files /dev/null and b/packages/ui/src/components/icons/icon-doc-1.png differ diff --git a/packages/ui/src/components/icons/icon-doc-2.png b/packages/ui/src/components/icons/icon-doc-2.png new file mode 100644 index 00000000..acc4111b Binary files /dev/null and b/packages/ui/src/components/icons/icon-doc-2.png differ diff --git a/packages/ui/src/components/icons/icon-wrapper.stories.ts b/packages/ui/src/components/icons/icon-wrapper.stories.ts new file mode 100644 index 00000000..ca2ba9a8 --- /dev/null +++ b/packages/ui/src/components/icons/icon-wrapper.stories.ts @@ -0,0 +1,27 @@ +import type { Meta, StoryObj } from '@storybook/svelte' + +import IconWrapper from './icon-wrapper.svelte' +import availableIcons from './icons-draw' + +const meta = { + title: 'Icons', + component: IconWrapper, + tags: ['autodocs'], + argTypes: { + fillColor: { control: 'color' }, + icon: { + control: { type: 'select' }, + options: Object.keys(availableIcons) + } + } +} satisfies Meta + +export default meta +type Story = StoryObj + +export const Default: Story = { + args: { + icon: 'download', + fillColor: 'black' + } +} diff --git a/packages/ui/src/components/icons/icon-wrapper.svelte b/packages/ui/src/components/icons/icon-wrapper.svelte new file mode 100644 index 00000000..7c002bd8 --- /dev/null +++ b/packages/ui/src/components/icons/icon-wrapper.svelte @@ -0,0 +1,25 @@ +icon + + \ No newline at end of file diff --git a/packages/ui/src/components/icons/icons-draw.ts b/packages/ui/src/components/icons/icons-draw.ts new file mode 100644 index 00000000..4a200423 --- /dev/null +++ b/packages/ui/src/components/icons/icons-draw.ts @@ -0,0 +1,5 @@ +export default { + "upload_file": "M440-200h80v-167l64 64 56-57-160-160-160 160 57 56 63-63v167ZM240-80q-33 0-56.5-23.5T160-160v-640q0-33 23.5-56.5T240-880h320l240 240v480q0 33-23.5 56.5T720-80H240Zm280-520v-200H240v640h480v-440H520ZM240-800v200-200 640-640Z", + "download": "M480-320 280-520l56-58 104 104v-326h80v326l104-104 56 58-200 200ZM240-160q-33 0-56.5-23.5T160-240v-120h80v120h480v-120h80v120q0 33-23.5 56.5T720-160H240Z" +} as const + diff --git a/packages/ui/src/components/icons/index.ts b/packages/ui/src/components/icons/index.ts new file mode 100644 index 00000000..d6ca1463 --- /dev/null +++ b/packages/ui/src/components/icons/index.ts @@ -0,0 +1 @@ +export { default as IconWrapper } from './icon-wrapper.svelte' \ No newline at end of file diff --git a/packages/ui/src/components/index.ts b/packages/ui/src/components/index.ts new file mode 100644 index 00000000..bc9c21af --- /dev/null +++ b/packages/ui/src/components/index.ts @@ -0,0 +1,5 @@ +// COMPONENTS +export * from './icons' + +// THEME +export * from './theme' diff --git a/packages/ui/src/components/theme/index.ts b/packages/ui/src/components/theme/index.ts new file mode 100644 index 00000000..0b165724 --- /dev/null +++ b/packages/ui/src/components/theme/index.ts @@ -0,0 +1 @@ +export { default as MaterialTheme } from './theme.svelte' diff --git a/packages/ui/src/components/theme/theme.svelte b/packages/ui/src/components/theme/theme.svelte new file mode 100644 index 00000000..c13dccb1 --- /dev/null +++ b/packages/ui/src/components/theme/theme.svelte @@ -0,0 +1,40 @@ + + + + + +{#if isStandAloneMode} + + {/if} + + + + + + \ No newline at end of file diff --git a/packages/ui/src/index.ts b/packages/ui/src/index.ts new file mode 100644 index 00000000..cb64ac1b --- /dev/null +++ b/packages/ui/src/index.ts @@ -0,0 +1 @@ +export * from './components' diff --git a/packages/ui/src/stories/Button.stories.ts b/packages/ui/src/stories/Button.stories.ts new file mode 100644 index 00000000..119cb87f --- /dev/null +++ b/packages/ui/src/stories/Button.stories.ts @@ -0,0 +1,48 @@ +import type { Meta, StoryObj } from '@storybook/svelte'; + +import Button from './Button.svelte'; + +// More on how to set up stories at: https://storybook.js.org/docs/writing-stories +const meta = { + title: 'Example/Button', + component: Button, + tags: ['autodocs'], + argTypes: { + backgroundColor: { control: 'color' }, + size: { + control: { type: 'select' }, + options: ['small', 'medium', 'large'], + }, + }, +} satisfies Meta diff --git a/packages/ui/src/stories/Configure.mdx b/packages/ui/src/stories/Configure.mdx new file mode 100644 index 00000000..549973e9 --- /dev/null +++ b/packages/ui/src/stories/Configure.mdx @@ -0,0 +1,364 @@ +import { Meta } from "@storybook/blocks"; + +import Github from "./assets/github.svg"; +import Discord from "./assets/discord.svg"; +import Youtube from "./assets/youtube.svg"; +import Tutorials from "./assets/tutorials.svg"; +import Styling from "./assets/styling.png"; +import Context from "./assets/context.png"; +import Assets from "./assets/assets.png"; +import Docs from "./assets/docs.png"; +import Share from "./assets/share.png"; +import FigmaPlugin from "./assets/figma-plugin.png"; +import Testing from "./assets/testing.png"; +import Accessibility from "./assets/accessibility.png"; +import Theming from "./assets/theming.png"; +import AddonLibrary from "./assets/addon-library.png"; + +export const RightArrow = () => + + + + + +
+
+ # Configure your project + + Because Storybook works separately from your app, you'll need to configure it for your specific stack and setup. Below, explore guides for configuring Storybook with popular frameworks and tools. If you get stuck, learn how you can ask for help from our community. +
+
+
+ A wall of logos representing different styling technologies +

Add styling and CSS

+

Like with web applications, there are many ways to include CSS within Storybook. Learn more about setting up styling within Storybook.

+ Learn more +
+
+ An abstraction representing the composition of data for a component +

Provide context and mocking

+

Often when a story doesn't render, it's because your component is expecting a specific environment or context (like a theme provider) to be available.

+ Learn more +
+
+ A representation of typography and image assets +
+

Load assets and resources

+

To link static files (like fonts) to your projects and stories, use the + `staticDirs` configuration option to specify folders to load when + starting Storybook.

+ Learn more +
+
+
+
+
+
+ # Do more with Storybook + + Now that you know the basics, let's explore other parts of Storybook that will improve your experience. This list is just to get you started. You can customise Storybook in many ways to fit your needs. +
+ +
+
+
+ A screenshot showing the autodocs tag being set, pointing a docs page being generated +

Autodocs

+

Auto-generate living, + interactive reference documentation from your components and stories.

+ Learn more +
+
+ A browser window showing a Storybook being published to a chromatic.com URL +

Publish to Chromatic

+

Publish your Storybook to review and collaborate with your entire team.

+ Learn more +
+
+ Windows showing the Storybook plugin in Figma +

Figma Plugin

+

Embed your stories into Figma to cross-reference the design and live + implementation in one place.

+ Learn more +
+
+ Screenshot of tests passing and failing +

Testing

+

Use stories to test a component in all its variations, no matter how + complex.

+ Learn more +
+
+ Screenshot of accessibility tests passing and failing +

Accessibility

+

Automatically test your components for a11y issues as you develop.

+ Learn more +
+
+ Screenshot of Storybook in light and dark mode +

Theming

+

Theme Storybook's UI to personalize it to your project.

+ Learn more +
+
+
+
+
+
+

Addons

+

Integrate your tools with Storybook to connect workflows.

+ Discover all addons +
+
+ Integrate your tools with Storybook to connect workflows. +
+
+ +
+
+ Github logo + Join our contributors building the future of UI development. + + Star on GitHub +
+
+ Discord logo +
+ Get support and chat with frontend developers. + + Join Discord server +
+
+
+ Youtube logo +
+ Watch tutorials, feature previews and interviews. + + Watch on YouTube +
+
+
+ A book +

Follow guided walkthroughs on for key workflows.

+ + Discover tutorials +
+
+ + diff --git a/packages/ui/src/stories/Header.stories.ts b/packages/ui/src/stories/Header.stories.ts new file mode 100644 index 00000000..17d3cff8 --- /dev/null +++ b/packages/ui/src/stories/Header.stories.ts @@ -0,0 +1,27 @@ +import type { Meta, StoryObj } from '@storybook/svelte'; + +import Header from './Header.svelte'; + +const meta = { + title: 'Example/Header', + component: Header, + // This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/writing-docs/autodocs + tags: ['autodocs'], + parameters: { + // More on how to position stories at: https://storybook.js.org/docs/configure/story-layout + layout: 'fullscreen', + }, +} satisfies Meta
; + +export default meta; +type Story = StoryObj; + +export const LoggedIn: Story = { + args: { + user: { + name: 'Jane Doe', + }, + }, +}; + +export const LoggedOut: Story = {}; diff --git a/packages/ui/src/stories/Header.svelte b/packages/ui/src/stories/Header.svelte new file mode 100644 index 00000000..cb6f82d5 --- /dev/null +++ b/packages/ui/src/stories/Header.svelte @@ -0,0 +1,52 @@ + + +
+
+
+ + + + + + + +

Acme

+
+
+ {#if user} + + Welcome, {user.name}! + +
+
+
diff --git a/packages/ui/src/stories/Page.stories.ts b/packages/ui/src/stories/Page.stories.ts new file mode 100644 index 00000000..d9fa059f --- /dev/null +++ b/packages/ui/src/stories/Page.stories.ts @@ -0,0 +1,32 @@ +import type { Meta, StoryObj } from '@storybook/svelte'; +import { expect, userEvent, waitFor, within } from '@storybook/test'; + +import Page from './Page.svelte'; + +const meta = { + title: 'Example/Page', + component: Page, + parameters: { + // More on how to position stories at: https://storybook.js.org/docs/configure/story-layout + layout: 'fullscreen', + }, +} satisfies Meta; + +export default meta; +type Story = StoryObj; + +export const LoggedOut: Story = {}; + +// More on interaction testing: https://storybook.js.org/docs/writing-tests/interaction-testing +export const LoggedIn: Story = { + play: async ({ canvasElement }) => { + const canvas = within(canvasElement); + const loginButton = canvas.getByRole('button', { name: /Log in/i }); + await expect(loginButton).toBeInTheDocument(); + await userEvent.click(loginButton); + await waitFor(() => expect(loginButton).not.toBeInTheDocument()); + + const logoutButton = canvas.getByRole('button', { name: /Log out/i }); + await expect(logoutButton).toBeInTheDocument(); + }, +}; diff --git a/packages/ui/src/stories/Page.svelte b/packages/ui/src/stories/Page.svelte new file mode 100644 index 00000000..94cdb07e --- /dev/null +++ b/packages/ui/src/stories/Page.svelte @@ -0,0 +1,70 @@ + + +
+
(user = { name: 'Jane Doe' })} + on:logout={() => (user = null)} + on:createAccount={() => (user = { name: 'Jane Doe' })} + /> + +
+

Pages in Storybook

+

+ We recommend building UIs with a + + component-driven + + process starting with atomic components and ending with pages. +

+

+ Render pages with mock data. This makes it easy to build and review page states without + needing to navigate to them in your app. Here are some handy patterns for managing page data + in Storybook: +

+
    +
  • + Use a higher-level connected component. Storybook helps you compose such data from the + "args" of child component stories +
  • +
  • + Assemble data in the page component from your services. You can mock these services out + using Storybook. +
  • +
+

+ Get a guided tutorial on component-driven development at + + Storybook tutorials + + . Read more in the + docs + . +

+
+ Tip + Adjust the width of the canvas with the + + + + + + Viewports addon in the toolbar +
+
+
diff --git a/packages/ui/src/stories/assets/accessibility.png b/packages/ui/src/stories/assets/accessibility.png new file mode 100644 index 00000000..6ffe6fea Binary files /dev/null and b/packages/ui/src/stories/assets/accessibility.png differ diff --git a/packages/ui/src/stories/assets/accessibility.svg b/packages/ui/src/stories/assets/accessibility.svg new file mode 100644 index 00000000..107e93f8 --- /dev/null +++ b/packages/ui/src/stories/assets/accessibility.svg @@ -0,0 +1 @@ +Accessibility \ No newline at end of file diff --git a/packages/ui/src/stories/assets/addon-library.png b/packages/ui/src/stories/assets/addon-library.png new file mode 100644 index 00000000..95deb38a Binary files /dev/null and b/packages/ui/src/stories/assets/addon-library.png differ diff --git a/packages/ui/src/stories/assets/assets.png b/packages/ui/src/stories/assets/assets.png new file mode 100644 index 00000000..cfba6817 Binary files /dev/null and b/packages/ui/src/stories/assets/assets.png differ diff --git a/packages/ui/src/stories/assets/avif-test-image.avif b/packages/ui/src/stories/assets/avif-test-image.avif new file mode 100644 index 00000000..530709bc Binary files /dev/null and b/packages/ui/src/stories/assets/avif-test-image.avif differ diff --git a/packages/ui/src/stories/assets/context.png b/packages/ui/src/stories/assets/context.png new file mode 100644 index 00000000..e5cd249a Binary files /dev/null and b/packages/ui/src/stories/assets/context.png differ diff --git a/packages/ui/src/stories/assets/discord.svg b/packages/ui/src/stories/assets/discord.svg new file mode 100644 index 00000000..d638958b --- /dev/null +++ b/packages/ui/src/stories/assets/discord.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/stories/assets/docs.png b/packages/ui/src/stories/assets/docs.png new file mode 100644 index 00000000..a749629d Binary files /dev/null and b/packages/ui/src/stories/assets/docs.png differ diff --git a/packages/ui/src/stories/assets/figma-plugin.png b/packages/ui/src/stories/assets/figma-plugin.png new file mode 100644 index 00000000..8f79b08c Binary files /dev/null and b/packages/ui/src/stories/assets/figma-plugin.png differ diff --git a/packages/ui/src/stories/assets/github.svg b/packages/ui/src/stories/assets/github.svg new file mode 100644 index 00000000..dc513528 --- /dev/null +++ b/packages/ui/src/stories/assets/github.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/stories/assets/share.png b/packages/ui/src/stories/assets/share.png new file mode 100644 index 00000000..8097a370 Binary files /dev/null and b/packages/ui/src/stories/assets/share.png differ diff --git a/packages/ui/src/stories/assets/styling.png b/packages/ui/src/stories/assets/styling.png new file mode 100644 index 00000000..d341e826 Binary files /dev/null and b/packages/ui/src/stories/assets/styling.png differ diff --git a/packages/ui/src/stories/assets/testing.png b/packages/ui/src/stories/assets/testing.png new file mode 100644 index 00000000..d4ac39a0 Binary files /dev/null and b/packages/ui/src/stories/assets/testing.png differ diff --git a/packages/ui/src/stories/assets/theming.png b/packages/ui/src/stories/assets/theming.png new file mode 100644 index 00000000..1535eb9b Binary files /dev/null and b/packages/ui/src/stories/assets/theming.png differ diff --git a/packages/ui/src/stories/assets/tutorials.svg b/packages/ui/src/stories/assets/tutorials.svg new file mode 100644 index 00000000..b492a9c6 --- /dev/null +++ b/packages/ui/src/stories/assets/tutorials.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/stories/assets/youtube.svg b/packages/ui/src/stories/assets/youtube.svg new file mode 100644 index 00000000..a7515d7e --- /dev/null +++ b/packages/ui/src/stories/assets/youtube.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/ui/src/stories/button.css b/packages/ui/src/stories/button.css new file mode 100644 index 00000000..94d674b7 --- /dev/null +++ b/packages/ui/src/stories/button.css @@ -0,0 +1,30 @@ +.storybook-button { + display: inline-block; + cursor: pointer; + border: 0; + border-radius: 3em; + font-weight: 700; + line-height: 1; + font-family: 'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; +} +.storybook-button--primary { + background-color: #1ea7fd; + color: white; +} +.storybook-button--secondary { + box-shadow: rgba(0, 0, 0, 0.15) 0px 0px 0px 1px inset; + background-color: transparent; + color: #333; +} +.storybook-button--small { + padding: 10px 16px; + font-size: 12px; +} +.storybook-button--medium { + padding: 11px 20px; + font-size: 14px; +} +.storybook-button--large { + padding: 12px 24px; + font-size: 16px; +} diff --git a/packages/ui/src/stories/header.css b/packages/ui/src/stories/header.css new file mode 100644 index 00000000..5efd46c2 --- /dev/null +++ b/packages/ui/src/stories/header.css @@ -0,0 +1,32 @@ +.storybook-header { + display: flex; + justify-content: space-between; + align-items: center; + border-bottom: 1px solid rgba(0, 0, 0, 0.1); + padding: 15px 20px; + font-family: 'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; +} + +.storybook-header svg { + display: inline-block; + vertical-align: top; +} + +.storybook-header h1 { + display: inline-block; + vertical-align: top; + margin: 6px 0 6px 10px; + font-weight: 700; + font-size: 20px; + line-height: 1; +} + +.storybook-header button + button { + margin-left: 10px; +} + +.storybook-header .welcome { + margin-right: 10px; + color: #333; + font-size: 14px; +} diff --git a/packages/ui/src/stories/page.css b/packages/ui/src/stories/page.css new file mode 100644 index 00000000..87f7ecb1 --- /dev/null +++ b/packages/ui/src/stories/page.css @@ -0,0 +1,69 @@ +.storybook-page { + margin: 0 auto; + padding: 48px 20px; + max-width: 600px; + color: #333; + font-size: 14px; + line-height: 24px; + font-family: 'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; +} + +.storybook-page h2 { + display: inline-block; + vertical-align: top; + margin: 0 0 4px; + font-weight: 700; + font-size: 32px; + line-height: 1; +} + +.storybook-page p { + margin: 1em 0; +} + +.storybook-page a { + color: #1ea7fd; + text-decoration: none; +} + +.storybook-page ul { + margin: 1em 0; + padding-left: 30px; +} + +.storybook-page li { + margin-bottom: 8px; +} + +.storybook-page .tip { + display: inline-block; + vertical-align: top; + margin-right: 10px; + border-radius: 1em; + background: #e7fdd8; + padding: 4px 12px; + color: #66bf3c; + font-weight: 700; + font-size: 11px; + line-height: 12px; +} + +.storybook-page .tip-wrapper { + margin-top: 40px; + margin-bottom: 40px; + font-size: 13px; + line-height: 20px; +} + +.storybook-page .tip-wrapper svg { + display: inline-block; + vertical-align: top; + margin-top: 3px; + margin-right: 4px; + width: 12px; + height: 12px; +} + +.storybook-page .tip-wrapper svg path { + fill: #1ea7fd; +} diff --git a/packages/ui/src/vite-env.d.ts b/packages/ui/src/vite-env.d.ts new file mode 100644 index 00000000..4078e747 --- /dev/null +++ b/packages/ui/src/vite-env.d.ts @@ -0,0 +1,2 @@ +/// +/// diff --git a/packages/ui/svelte.config.js b/packages/ui/svelte.config.js new file mode 100644 index 00000000..b0683fd2 --- /dev/null +++ b/packages/ui/svelte.config.js @@ -0,0 +1,7 @@ +import { vitePreprocess } from '@sveltejs/vite-plugin-svelte' + +export default { + // Consult https://svelte.dev/docs#compile-time-svelte-preprocess + // for more information about preprocessors + preprocess: vitePreprocess(), +} diff --git a/packages/ui/tsconfig.json b/packages/ui/tsconfig.json new file mode 100644 index 00000000..f8273758 --- /dev/null +++ b/packages/ui/tsconfig.json @@ -0,0 +1,25 @@ +{ + "extends": "@tsconfig/svelte/tsconfig.json", + "compilerOptions": { + "baseUrl": ".", + "target": "ESNext", + "useDefineForClassFields": true, + "module": "ESNext", + "resolveJsonModule": true, + /** + * Typecheck JS in `.svelte` and `.js` files by default. + * Disable checkJs if you'd like to use dynamic types in JS. + * Note that setting allowJs false does not prevent the use + * of JS in `.svelte` files. + */ + "allowJs": true, + "checkJs": true, + "isolatedModules": true, + "moduleDetection": "force", + "paths": { + "@/*": ["src/*"] + } + }, + "include": ["src/**/*.ts", "src/**/*.js", "src/**/*.svelte"], + "references": [{ "path": "./tsconfig.node.json" }] +} diff --git a/packages/ui/tsconfig.node.json b/packages/ui/tsconfig.node.json new file mode 100644 index 00000000..6c2d8703 --- /dev/null +++ b/packages/ui/tsconfig.node.json @@ -0,0 +1,12 @@ +{ + "compilerOptions": { + "composite": true, + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", + "skipLibCheck": true, + "module": "ESNext", + "moduleResolution": "bundler", + "strict": true, + "noEmit": true + }, + "include": ["vite.config.ts"] +} diff --git a/packages/ui/vite.config.ts b/packages/ui/vite.config.ts new file mode 100644 index 00000000..7b69d44c --- /dev/null +++ b/packages/ui/vite.config.ts @@ -0,0 +1,20 @@ +import { defineConfig } from 'vite' +import { svelte } from '@sveltejs/vite-plugin-svelte' +import { resolve } from 'node:path' + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [svelte()], + resolve: { + alias: { + '@': resolve(__dirname, 'src') + } + }, + build: { + lib: { + entry: resolve(__dirname, 'src/index.ts'), + formats: ['es'], + fileName: 'index' + } + } +}) diff --git a/packages/uilib/src/lib/plugins/type-designer/+page.svelte b/packages/uilib/src/lib/plugins/type-designer/+page.svelte index 0f27c999..22216923 100644 --- a/packages/uilib/src/lib/plugins/type-designer/+page.svelte +++ b/packages/uilib/src/lib/plugins/type-designer/+page.svelte @@ -1,12 +1,12 @@ - + diff --git a/packages/uilib/src/lib/plugins/type-designer/components/elements-type-container/add-element-type.svelte b/packages/uilib/src/lib/plugins/type-designer/components/elements-type-container/add-element-type.svelte deleted file mode 100644 index 5ef3a22c..00000000 --- a/packages/uilib/src/lib/plugins/type-designer/components/elements-type-container/add-element-type.svelte +++ /dev/null @@ -1,142 +0,0 @@ - - -
- {#if showFields} -
- {#each fieldsConfig[currentFieldsToShow] as field} - - - {/each} - -
- {/if} - {#each buttons as { name, onClick }} - - {/each} -
- - diff --git a/packages/uilib/src/lib/plugins/type-designer/index.ts b/packages/uilib/src/lib/plugins/type-designer/index.ts deleted file mode 100644 index db9158b5..00000000 --- a/packages/uilib/src/lib/plugins/type-designer/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as TypeDesignerPlugin } from './type-designer-plugin.svelte' diff --git a/packages/uilib/src/lib/plugins/type-designer/stores/element-type-container.store.ts b/packages/uilib/src/lib/plugins/type-designer/stores/element-type-container.store.ts deleted file mode 100644 index 8554bad3..00000000 --- a/packages/uilib/src/lib/plugins/type-designer/stores/element-type-container.store.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { writable } from 'svelte/store'; - -//==== STATE -const context = writable() - -function setContext(newContext: HTMLElement) { - context.set(newContext) -} -export const elementTypeContainerStore = { - //state - elementTypeContainerContext: context, - //actions - setContext -} \ No newline at end of file diff --git a/packages/uilib/src/lib/plugins/type-designer/stores/index.ts b/packages/uilib/src/lib/plugins/type-designer/stores/index.ts deleted file mode 100644 index 0f9612bc..00000000 --- a/packages/uilib/src/lib/plugins/type-designer/stores/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './xml-document.store' -export * from './data-types-templates.store' diff --git a/packages/uilib/src/lib/plugins/type-designer/stores/xml-document.store.ts b/packages/uilib/src/lib/plugins/type-designer/stores/xml-document.store.ts deleted file mode 100644 index 37218bd7..00000000 --- a/packages/uilib/src/lib/plugins/type-designer/stores/xml-document.store.ts +++ /dev/null @@ -1,80 +0,0 @@ -// SVELTE -import { writable, get } from 'svelte/store' -// OPENSCD -import { createElement, newActionEvent } from '@oscd-plugins/core' -// STORES -import { dataTypeTemplatesStore } from './index' -// TYPES -import type { DataTypeTemplates } from '@oscd-plugins/core' - -// STATE -const xmlDocument = writable() - -// ACTIONS -function init(newXMLDocument: XMLDocument) { - xmlDocument.set(newXMLDocument) -} - -function addElementToXmlDocument( - newElementTagName: DataTypeTemplates.AllowedTag, - elementAttributes: Record, - pluginHtmlContext: HTMLElement -) { - const { dataTypeTemplatesRootElement } = dataTypeTemplatesStore - - const newElement = createElement( - get(xmlDocument), - newElementTagName, - elementAttributes - ) - - const parent = - get(dataTypeTemplatesRootElement)?.element ?? - createDataTypeTemplateElement(pluginHtmlContext) - - return createAndDispatchActionEvent(parent, newElement, pluginHtmlContext) -} - -function createAndDispatchActionEvent( - parent: Element, - element: Element, - pluginHtmlContext: HTMLElement -) { - const event = newActionEvent({ - new: { - parent, - element - } - }) - - pluginHtmlContext.dispatchEvent(event) -} - -function createDataTypeTemplateElement( - pluginHtmlContext: HTMLElement -): Element { - const newDataTypeTemplatesElement = createElement( - get(xmlDocument), - 'DataTypeTemplates', - {} - ) - dataTypeTemplatesStore.dataTypeTemplatesRootElement.set({ - element: newDataTypeTemplatesElement - }) - - createAndDispatchActionEvent( - get(xmlDocument).documentElement, - newDataTypeTemplatesElement, - pluginHtmlContext - ) - - return newDataTypeTemplatesElement -} - -export const xmlDocumentStore = { - //state - xmlDocument, - //actions - init, - addElementToXmlDocument -} diff --git a/packages/uilib/src/lib/plugins/type-designer/type-designer-plugin.svelte b/packages/uilib/src/lib/plugins/type-designer/type-designer-plugin.svelte deleted file mode 100644 index 81ff255c..00000000 --- a/packages/uilib/src/lib/plugins/type-designer/type-designer-plugin.svelte +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8e2cd1a4..1d165a72 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,33 +11,9 @@ importers: '@biomejs/biome': specifier: 1.9.2 version: 1.9.2 - '@sveltejs/vite-plugin-svelte': - specifier: ^2.0.2 - version: 2.0.2(svelte@3.55.1)(vite@4.1.4(@types/node@18.11.18)(sass@1.62.0)) - '@tsconfig/svelte': - specifier: ^3.0.0 - version: 3.0.0 husky: specifier: ^8.0.3 version: 8.0.3 - svelte: - specifier: ^3.55.1 - version: 3.55.1 - svelte-check: - specifier: ^2.10.3 - version: 2.10.3(postcss@8.4.45)(sass@1.62.0)(svelte@3.55.1) - tslib: - specifier: ^2.5.0 - version: 2.5.0 - turbo: - specifier: ^1.8.3 - version: 1.8.3 - typescript: - specifier: ^4.9.3 - version: 4.9.4 - vite: - specifier: ^4.1.0 - version: 4.1.4(@types/node@18.11.18)(sass@1.62.0) packages/core: dependencies: @@ -87,6 +63,9 @@ importers: safaridriver: specifier: ^0.0.4 version: 0.0.4 + svelte: + specifier: ^4.2.19 + version: 4.2.19 typescript: specifier: 4.9.4 version: 4.9.4 @@ -312,9 +291,18 @@ importers: packages/plugins/type-designer: dependencies: + '@oscd-plugins/core': + specifier: workspace:^ + version: link:../../core + '@oscd-plugins/ui': + specifier: workspace:^ + version: link:../../ui '@oscd-plugins/uilib': specifier: workspace:^ version: link:../../uilib + '@smui/button': + specifier: 7.0.0 + version: 7.0.0(svelte@4.2.19)(typescript@5.5.4) concurrently: specifier: ^7.6.0 version: 7.6.0 @@ -384,6 +372,79 @@ importers: specifier: ^3.1.1 version: 3.1.1(vite@4.3.1(@types/node@18.11.18)(sass@1.62.0)) + packages/ui: + dependencies: + '@oscd-plugins/core': + specifier: workspace:^ + version: link:../core + '@smui/button': + specifier: ^7.0.0 + version: 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/icon-button': + specifier: 7.0.0 + version: 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/top-app-bar': + specifier: ^7.0.0 + version: 7.0.0(svelte@4.2.19)(typescript@5.5.4) + normalize.css: + specifier: ^8.0.1 + version: 8.0.1 + svelte-material-ui: + specifier: ^7.0.0 + version: 7.0.0(svelte@4.2.19)(typescript@5.5.4) + devDependencies: + '@chromatic-com/storybook': + specifier: ^1.9.0 + version: 1.9.0(react@18.3.1) + '@storybook/addon-essentials': + specifier: ^8.3.5 + version: 8.3.5(storybook@8.3.5) + '@storybook/addon-interactions': + specifier: ^8.3.5 + version: 8.3.5(storybook@8.3.5) + '@storybook/addon-links': + specifier: ^8.3.5 + version: 8.3.5(react@18.3.1)(storybook@8.3.5) + '@storybook/addon-svelte-csf': + specifier: ^4.1.7 + version: 4.1.7(@storybook/svelte@8.3.5(storybook@8.3.5)(svelte@4.2.19))(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.19)(vite@5.4.8(@types/node@18.11.18)(sass@1.62.0)))(storybook@8.3.5)(svelte@4.2.19)(vite@5.4.8(@types/node@18.11.18)(sass@1.62.0)) + '@storybook/blocks': + specifier: ^8.3.5 + version: 8.3.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.5) + '@storybook/svelte': + specifier: ^8.3.5 + version: 8.3.5(storybook@8.3.5)(svelte@4.2.19) + '@storybook/svelte-vite': + specifier: ^8.3.5 + version: 8.3.5(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.19)(vite@5.4.8(@types/node@18.11.18)(sass@1.62.0)))(postcss@8.4.45)(sass@1.62.0)(storybook@8.3.5)(svelte@4.2.19)(typescript@5.5.4)(vite@5.4.8(@types/node@18.11.18)(sass@1.62.0)) + '@storybook/test': + specifier: ^8.3.5 + version: 8.3.5(storybook@8.3.5) + '@sveltejs/vite-plugin-svelte': + specifier: ^3.1.2 + version: 3.1.2(svelte@4.2.19)(vite@5.4.8(@types/node@18.11.18)(sass@1.62.0)) + '@tsconfig/svelte': + specifier: ^5.0.4 + version: 5.0.4 + storybook: + specifier: ^8.3.5 + version: 8.3.5 + svelte: + specifier: ^4.2.19 + version: 4.2.19 + svelte-check: + specifier: ^4.0.4 + version: 4.0.4(svelte@4.2.19)(typescript@5.5.4) + tslib: + specifier: ^2.7.0 + version: 2.7.0 + typescript: + specifier: ^5.5.3 + version: 5.5.4 + vite: + specifier: ^5.4.8 + version: 5.4.8(@types/node@18.11.18)(sass@1.62.0) + packages/uilib: dependencies: '@material/typography': @@ -461,7 +522,7 @@ importers: version: 3.2.2(svelte@3.55.0) '@testing-library/user-event': specifier: ^14.4.3 - version: 14.4.3(@testing-library/dom@8.20.0) + version: 14.4.3(@testing-library/dom@10.4.0) '@total-typescript/ts-reset': specifier: ^0.5.1 version: 0.5.1 @@ -516,6 +577,9 @@ importers: packages: + '@adobe/css-tools@4.4.0': + resolution: {integrity: sha512-Ff9+ksdQQB3rMncgqDK78uLznstjyfIf2Arnh22pW8kBpLs6rpKDwgnZT46hin5Hl1WzazzK64DOrhSwYpS7bQ==} + '@ampproject/remapping@2.3.0': resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} @@ -565,6 +629,10 @@ packages: resolution: {integrity: sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==} engines: {node: '>=6.9.0'} + '@babel/runtime@7.25.7': + resolution: {integrity: sha512-FjoyLe754PMiYsFaN5C94ttGiOmBNYTf6pLr4xXHAT5uctHb092PBszndLDR5XA/jghQvn4n7JMHl7dmTgbm9w==} + engines: {node: '>=6.9.0'} + '@babel/template@7.20.7': resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==} engines: {node: '>=6.9.0'} @@ -633,6 +701,10 @@ packages: cpu: [x64] os: [win32] + '@chromatic-com/storybook@1.9.0': + resolution: {integrity: sha512-vYQ+TcfktEE3GHnLZXHCzXF/sN9dw+KivH8a5cmPyd9YtQs7fZtHrEgsIjWpYycXiweKMo1Lm1RZsjxk8DH3rA==} + engines: {node: '>=16.0.0', yarn: '>=1.22.18'} + '@esbuild/aix-ppc64@0.21.5': resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} engines: {node: '>=12'} @@ -1060,6 +1132,11 @@ packages: engines: {node: '>=10.10.0'} deprecated: Use @eslint/config-array instead + '@humanwhocodes/config-array@0.9.5': + resolution: {integrity: sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==} + engines: {node: '>=10.10.0'} + deprecated: Use @eslint/config-array instead + '@humanwhocodes/module-importer@1.0.1': resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} @@ -1254,6 +1331,12 @@ packages: '@material/typography@14.0.0': resolution: {integrity: sha512-/QtHBYiTR+TPMryM/CT386B2WlAQf/Ae32V324Z7P40gHLKY/YBXx7FDutAWZFeOerq/two4Nd2aAHBcMM2wMw==} + '@mdx-js/react@3.0.1': + resolution: {integrity: sha512-9ZrPIU4MGf6et1m1ov3zKf+q9+deetI51zprKB1D/z3NOb+rUxxtEl3mCjW5wTGh6VhRdwPueh1oRzi6ezkA8A==} + peerDependencies: + '@types/react': '>=16' + react: '>=16' + '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -1370,132 +1453,442 @@ packages: resolution: {integrity: sha512-CX6t4SYQ37lzxicAqsBtxA3OseeoVrh9cSJ5PFYam0GksYlupRfy1A+Q4aYD3zvcfECLc0zO2u+ZnR2UYKvCrw==} engines: {node: '>=14.16'} + '@smui-extra/accordion@7.0.0': + resolution: {integrity: sha512-yi35uaZYkZR7x1WxUMpKngXwBzNhJqRQ8U4Fyyl8TPg1mxVXKHvhUajNKrbbWIdKqBSZZrSScGj6Qvl/4HniGQ==} + '@smui-extra/accordion@7.0.0-beta.8': resolution: {integrity: sha512-Kydoz1nSqBdHA5R7VoeUJnwlmDVXuyAd8EnJYfB3rOluN7RrKFlIO6fiVpcD1kzrtTKKSsmVo3BwLcdPU2HNfw==} + '@smui-extra/autocomplete@7.0.0': + resolution: {integrity: sha512-My6ruPmHk0Q0OLENEDQwXYb2WHymBdxzNAg3dmYIpzW8qlNvdeyVcIsn001+FTaZrUe9axVu47rHttm5EFzXYg==} + '@smui-extra/autocomplete@7.0.0-beta.8': resolution: {integrity: sha512-kYrfJTjAdF5ibZoGeuxC/CzsDvz64wurHTEfO2OyZhgJ8NSCnQZhUJVR4dud4N+c+7ENmugTEY9HgiyGEJ3EHg==} + '@smui-extra/badge@7.0.0': + resolution: {integrity: sha512-DJ1YW/1JuId6pXCD2xFkQnPkSByQGz48MpclWme42YhZhx1fIGHnNBQ1hop2rOwCZ9SVXgPPzMxwe7X9WY4b3g==} + '@smui-extra/badge@7.0.0-beta.8': resolution: {integrity: sha512-/h1qTj3sLuMT0npqfS4PNKXIdeaISke03+bF3gLYcwgTP7ZISObRem4FYp+HyIPSfexhhnO7Icb+YTE/OhdF8A==} + '@smui-extra/bottom-app-bar@7.0.0': + resolution: {integrity: sha512-oaoeuwcibwZVxe0bRa9PaBe12FfM0TxAVoqml0OthEtqARpRsS23HcfTyPDOoZ9i6JTmjzuHEMJA1043llsq6Q==} + '@smui-extra/bottom-app-bar@7.0.0-beta.8': resolution: {integrity: sha512-lh/f0ef4rzs7OIb473uh8Mj45YJeNGfJIKFRyg9+EvWleu3R13Ze0OHWFFbVVWnX09X6ktb3kPUHrZDJAt+6PA==} + '@smui/banner@7.0.0': + resolution: {integrity: sha512-R+9RfIaN1OlMs8j0pCbINSsI5ISYZJ4BSw1QGs6gVhvwUs0I2ld43MzDrXbD1yyXb1TOWzVuXiVkRwr0PPqh+A==} + '@smui/banner@7.0.0-beta.8': resolution: {integrity: sha512-nI2iKLTKsH3xSgD92cDO0uV3gnaKt2ZFq/RBSN+ZtfSFvaicFZOph9ednyFMHKwzLRbi2Ug70gFb7BXG3pr+Uw==} + '@smui/button@7.0.0': + resolution: {integrity: sha512-T1WK03HlOecrufoO4Z/W1dXC/R+VLqrwmBcIVQwqN0TiwUdHDfeCa1TjrqroLn9eJUe73T/O3Abh9b2Nttz77g==} + '@smui/button@7.0.0-beta.8': resolution: {integrity: sha512-DE/dXV0a0L+LtXZRyhEH1rN6+5XJwG1s1xqa8v4778fCe/Zf8qpHTXsF1Y8xxjbr7NeOdqIYkgFEk3F8Gee1lg==} + '@smui/card@7.0.0': + resolution: {integrity: sha512-Nxw8Zg2Zt6RwD6S61rg7TgIQFYV4tRswicMj30XwczshVRsau/Jv82hsx98aH9Xx1vV5DFnEdPt0a5HqxBUsLA==} + '@smui/card@7.0.0-beta.8': resolution: {integrity: sha512-dcSvlEIV7gaqr4AJuAvRvHeerb90yZgTw3xh/X69Pm6fVt+1kYI9tRm6oMmqS/eY+EbvHU7zYQI9AGR/r9PGnA==} + '@smui/checkbox@7.0.0': + resolution: {integrity: sha512-cHaO9aWi2Pk9GTBcVmvnF4Cwie+ySqODjCMU3OMmhtUZX3LamneyNMRtNqiKXmpr8sXVE6EK+WUisZrJp5e97g==} + '@smui/checkbox@7.0.0-beta.8': resolution: {integrity: sha512-ODu1VpH3fgle7AmM1BSNHy3nViwAm4ljDhyM64PYPpyCc19dKUsiKDd5uW4PgG02Pe8RmepyQjysLaTPFO326g==} + '@smui/chips@7.0.0': + resolution: {integrity: sha512-jYjUJkp0W6+Yr2J2er6ESvlS2BEBsk2CwM1XDh6465B0oVNJh5QQgAskjIxjjnfRbV+TyKYVJ572GMYoLPZuOA==} + '@smui/chips@7.0.0-beta.8': resolution: {integrity: sha512-RpXT7Y9b2ELQoXt3ha5MjImMBUG1JPaekUgyV++AyotkfQ5LEqDTJQJONhsVdbROGi1F1HX3of0DtwNdnLZIhg==} + '@smui/circular-progress@7.0.0': + resolution: {integrity: sha512-n6YpMM5VRJ8qBNdbDsNz32CcXESZdNfgsgBNO8Nx7Gq3S0vIglkzHryRQCnKsQA1WN9Tm4lyU0Rafwfb3oWn3w==} + '@smui/circular-progress@7.0.0-beta.8': resolution: {integrity: sha512-oKBilgNqkJalG+nv6L12/3YHGJKz9LsFHhxhNzbv2M0Yen+MQZCf5hVTsRhdRTfhpHJBvqXDqiZ8Ec2Gs5oXRA==} + '@smui/common@7.0.0': + resolution: {integrity: sha512-/JUf25KMIDLFNfiuMSMs2g7dEZZFUnDJDxpbT3FlGEY/HKoEf0W9GnbmIOzPje1wxW9ajKHN2SIYDPx9so1vnw==} + '@smui/common@7.0.0-beta.8': resolution: {integrity: sha512-IeU7KqE+EcvEm3fkEKuvHY2MkNJm1hpl1sHlnVWFSrS8D1+NypwpuQWnOPDgLYRq/5zhm8ZCDkvX1G1ZiXUC7A==} + '@smui/data-table@7.0.0': + resolution: {integrity: sha512-ZpAdnovoi5g0ya6oitMfPWttsiF9u2N9WyZtY5BYfxNU3famCmM8Wbtno8pF0sZ5tNueEw1Xn8A1BI+KNKBPyA==} + '@smui/data-table@7.0.0-beta.8': resolution: {integrity: sha512-sBmgQccJ4qasqbYIJD6fldu486lGPW38uLDgukjXDOuB9185f2pdgUhltCbP+sz+svHZDg/QXn0qEA4nks1Tbw==} + '@smui/dialog@7.0.0': + resolution: {integrity: sha512-F6lxwiGoc9ga0btsnpMWIYXPUXAKS0Ewa3CQH9HUPumqCzImTIlsGWL8fiAP3feVjRK+InRSaryZz0eJFZLo/A==} + '@smui/dialog@7.0.0-beta.8': resolution: {integrity: sha512-BTUgj8ZKe9xQU1/kfgyZDtxf3kHtog3/2dTiYCm9M1fJAqc5tUXS+SaWI+XoD/F9g2dm9JKBCp3e5nnNoAv0vQ==} + '@smui/drawer@7.0.0': + resolution: {integrity: sha512-FZcbgOtpgJIWyqD0N00R3y9rxwcmIVXwYipZ7KnNhHp4W/Ywv3wUuyeflVziN2c2KbnmkruChibyVvdlro9ugQ==} + '@smui/drawer@7.0.0-beta.8': resolution: {integrity: sha512-YLUzRd9x5wXhAyzWR2SvojgSG3tjdtWFj7mC5W6GYfqdMe3J+qIfWfVh/ytgzaUPcR9sNPorD4AbxVh6psoK9w==} + '@smui/fab@7.0.0': + resolution: {integrity: sha512-d8jPe9fyTMD0YMBS48RYFb3JITGonHvD7DRlf4iOYzkBCpv7amGbzJSJn88TWx/665FJugQfUKxD/IkooHVthQ==} + '@smui/fab@7.0.0-beta.8': resolution: {integrity: sha512-rhtEniZwPC+7R0Bciv/BbS+1AVU6t7sh/nbeaOYWtdQ1wm/c2KxUeQSYC5Qa592Pl8HSrY2tTnt1eeKU1o8LHw==} + '@smui/floating-label@7.0.0': + resolution: {integrity: sha512-XHm8fNURqQqPnu+TFPIWuD7NtQIfdT2tv0eiyU+1g9Df1pH9pAVWixTiBaj5HKeky1u99+vFJNBslQS2qTxGhg==} + '@smui/floating-label@7.0.0-beta.8': resolution: {integrity: sha512-FfIpdOV6Y0Up2kC88qb5uBsFI+vzsk5HNhhxILixCjYVGO1jfDOJF0MiQIu0PQFdGR6vBpmOHg5PSWy4TR5sTg==} + '@smui/form-field@7.0.0': + resolution: {integrity: sha512-qOs36mqDAjmCSmcgMsuJvSXdub6mk0XWofzhlryHwr/dBcih26RSASpsglUU0qlHer1NOd497JboHIViZib5yQ==} + '@smui/form-field@7.0.0-beta.8': resolution: {integrity: sha512-B+8QJulCY13qiWiwLn9Fso3ZzYLCRBpq6MHE0o/4ZI0g5tI4yzyU1YNSXA3zWg6FJx7XukqOqoOA2sNCd00cjA==} + '@smui/icon-button@7.0.0': + resolution: {integrity: sha512-SlcmGTW027X44O2QERC5fCZB1zLDsy9k5Cn+ohM0woSFNV3pIlrWtCyYFr1ariRiT8NTF1ScMdW70y8YgK9ikA==} + '@smui/icon-button@7.0.0-beta.8': resolution: {integrity: sha512-QMqBoDQFcKqGYniky+VhTTp7QHH2ID7Zvdht6kGRcWC8Yb5UhcE4+yLnvKUWqz8I608bVznbL5viQfmsJbSlvA==} + '@smui/image-list@7.0.0': + resolution: {integrity: sha512-v/GH8GobmRWoyRtxKjSqrdOrw9yzVkofbprkGWtTKu/0tLeIk2WaZpCYcUwyuu2eTQtfZJxKtB5roI9UvVDX4Q==} + '@smui/image-list@7.0.0-beta.8': resolution: {integrity: sha512-2k227Cnq4pfDYYm4g9EMpKoaIqNz3mePTeoWRnwqi92Y3EoJ8k7+ZY86QE1dc3W8ATTt8s9pTGXJZrPCPQK6mQ==} + '@smui/layout-grid@7.0.0': + resolution: {integrity: sha512-LF4Lh8FwZa9swh5/Yxf1aTiqBTrq3txmExTsCl9UcbGpOLXGS5ITXDJO9YWePj9YtT/GlNHEcGishP1gChkCTQ==} + '@smui/layout-grid@7.0.0-beta.8': resolution: {integrity: sha512-VPNa7BPBIdYq90Zut33+MsR5CEh1jUT6jpeCtFWaA7S/jRsxZocHeL4dH3CfCDYuO2rMUs2+zWTOvLe3tDzIqA==} + '@smui/line-ripple@7.0.0': + resolution: {integrity: sha512-Mm5B8xci4SglMehp404veVu3zGlZVHViiYsNPpypaG+4aOrK0dVgBrd1YgqyXHKFSHOama/Olwe2E2YbkQvxlw==} + '@smui/line-ripple@7.0.0-beta.8': resolution: {integrity: sha512-PdSgPBd/If4Vh1a81JEa/kAVkVezeeROhXH6w9eeuByMaHrhe6m/SyMp7L7NUc1O9JaNKCRCiIigoM0qmHz7UQ==} + '@smui/linear-progress@7.0.0': + resolution: {integrity: sha512-G5CsHAKqancHpw4X075qA8fOdS94Mu8Pbi74kEWQHcsJrT+6ef4uBt+eFOK0BZ61znxbcS8v+Hp9Zztn+wS5DA==} + '@smui/linear-progress@7.0.0-beta.8': resolution: {integrity: sha512-2S5QrzdeRVmepnDqVdMdjpDb+wxtxZW3CrYbfu2lnGF74QznPT1SyuTLTkY+czoTLc7Qc3nJ+gBkxga+vBbonA==} + '@smui/list@7.0.0': + resolution: {integrity: sha512-kZnpfbkFtIs9vZCr2xxDTO5Dcdj6WAtGa+82sN5zGg6hC5q8KMGKOxNIFdTz2hw5a6Bg//Zg2mK5AB4tVM4LBw==} + '@smui/list@7.0.0-beta.8': resolution: {integrity: sha512-Rh2rpKDgaxzCdqcWZkkrRP+kPyu7Owwbkk8waG06BG9bFyCfov8i1Ai2MQkz6QFG/CVX6fi+rapvWhQaafSsOg==} + '@smui/menu-surface@7.0.0': + resolution: {integrity: sha512-KnPgCjtk3Gqo3fU+wOz7vKr1kRkCeOlrn2i4yAdW2cWoL/3HAmDWrHy/mpnG+vr2RfLK6Tw30V9L5PpFhKgrSQ==} + '@smui/menu-surface@7.0.0-beta.8': resolution: {integrity: sha512-VrdxJD1OyXVrho/BYfykc5pwENkPjpFS3nhTuYZLnPQiAPVKzI2JXMfDOCcB5yKwS5DcBnz36ICWngZ93wCXjQ==} + '@smui/menu@7.0.0': + resolution: {integrity: sha512-3l24nZlW7WdNdVy8i/UT71UPZXdql+0GkRpI5Wy/GsZc2pOCSd1IWWkoiEqX00c5uTCfqX2S25mnKiOdvzKBwg==} + '@smui/menu@7.0.0-beta.8': resolution: {integrity: sha512-n3yRf/F5pc2Rpu73OufoFDlv/IX4pWM7Espn1uUfVSXsWIG52Or7+br1piJHooeK8zxz22mko0eYisjhQosdSQ==} + '@smui/notched-outline@7.0.0': + resolution: {integrity: sha512-pE0yWIO0K9wrU+LIbBXCBYJUo1+qq5jiLTFVJEoyLqB7jtl438sylXpti9aLyB9DG5V8rbkNCkyNxyq4ZVhmlw==} + '@smui/notched-outline@7.0.0-beta.8': resolution: {integrity: sha512-L0r3VPPOaPTiWMfLeX+8vy0zyZ80ALa02RWPPQ4KPoboaYU1WZ9+t7mtxsDexA6CZub8I2ZfybanxDJIT+5xBQ==} + '@smui/paper@7.0.0': + resolution: {integrity: sha512-yRwO7LHciZUjL2odN3Z4zd8RDGVVVMRVBpO8zZRGWa9pvk9hQoQI5gJIZLf9bjifZvwe2TN2hls8dsG8Awjfkw==} + '@smui/paper@7.0.0-beta.8': resolution: {integrity: sha512-NoOrlU67YUnI19V685MbSzoBV+0AQj2Swj5U6VQIYqW7JRVOk09BQAj45pPXAYWGQUCzzkeXzwD+V5O9J8+PVQ==} + '@smui/radio@7.0.0': + resolution: {integrity: sha512-M83PDtiFDw7p4XHg0061m8RbAVb8EyZqm2bmSTu8PIeEFtmmggooh+NtIRmrroQoDF2zDdr2896j1vmIz64jLQ==} + '@smui/radio@7.0.0-beta.8': resolution: {integrity: sha512-dN7lG+5kuLLXz3Fghl+M+yzCyEsi0tnAzx8oP33wLkj+/frOFL34i5o4sDHaoSrQaBABVt2YZVCRBg5oPtzwLg==} + '@smui/ripple@7.0.0': + resolution: {integrity: sha512-N42jqgLOleOj3fU1BnkTPbjtWpisp8x9oUgF32SDkVh48ih8J8+/xQ1W5g28WrNDErjSu9G4DTcYN6BJYOng3Q==} + '@smui/ripple@7.0.0-beta.8': resolution: {integrity: sha512-f762Wi8ESc6rRDhsmm2WUtEjAmaUB3BlYwMJ9kgOODxIxdk4kaoflUzgJemeLwohsnGfvP+o0cGxR8DM9BE3nA==} + '@smui/segmented-button@7.0.0': + resolution: {integrity: sha512-Bx4A0dzCvdBMxeKzOh9LuCJHYBGQlwP0fXCp+gt21xE4vc9zDul3v8kjsVRY1tvrk2UA7AmPEP8nVBz0qOH71Q==} + '@smui/segmented-button@7.0.0-beta.8': resolution: {integrity: sha512-hQEaWQpA6ExhSXjFxTOJ0ZpO222cm/CqgzOIep3W9mtvhN6vKfD57fS82gq09va2V/7ucjevOZym+YYrGWWTNw==} + '@smui/select@7.0.0': + resolution: {integrity: sha512-ARHVovPy7Tu4b4C9O8Pr9pqI+gGXLH4fxG7NkXXpy8OZ92FDBlAB1ztRQa6XxykIRTCHhmuWOogEw6UimNvJ+w==} + '@smui/select@7.0.0-beta.8': resolution: {integrity: sha512-3RigAea8A4k3LnDWVBJN6GQQnJsGVraB5FrpW6n4b7CBbVLuia4PBR1ks3YJrKp5UtSJ4eqhWGs4RZuJosKPVw==} + '@smui/slider@7.0.0': + resolution: {integrity: sha512-ItVupldtzAtPvHGrflB/8LIn1UoFD+Ow2XZuMJXPjqTxS2vsJI3RVKDqsN5oY5xFabiLzTEaUJeukv1/ZQlDrQ==} + '@smui/slider@7.0.0-beta.8': resolution: {integrity: sha512-SkNUeHhk6+JtYZyL5mMRHY8gFZn68MByywGMUgPMLprlkuF33pSrigf4Q8xD63UOYlICCy1U1gzT5Y4p58QQWg==} + '@smui/snackbar@7.0.0': + resolution: {integrity: sha512-01XcqJJhpOx1szlWfV5Eex+cZOPP4HkFz7MefsC33NOS68eWoNEre6rEsKw6XEeYnbKHv6wNbyowX4c8eRKncg==} + '@smui/snackbar@7.0.0-beta.8': resolution: {integrity: sha512-NdlqsWYtgnHDjCXIi/iHVqMHk+93zjZsJLkGZvbVlSSPrQJsYVHKxogYjP301M/n/AjvcLOXFrJL7qXR2PP5MQ==} + '@smui/switch@7.0.0': + resolution: {integrity: sha512-LeY1aIMvbJOOmex5o/M7jOX0y6K/1Xa2u6myju30mOy595ibxMGRfuNSdePHBBrR79QbsEow/otltSA1vspw2Q==} + '@smui/switch@7.0.0-beta.8': resolution: {integrity: sha512-+S1hh5v9u5sGkl39WormaUrIndPpnYB0v9NCxIg/XVAEn39hryCI9OFXlHq2zyfLiVtjAoWO09l+SnNV78tHyA==} + '@smui/tab-bar@7.0.0': + resolution: {integrity: sha512-ycAuoGAS2YaV541vDib69CAswNQ+yMRFnloagRcUhyJ4t1eypLDXnba29r1oiEkhwdunDMcH7UCbeyrZUIBJFg==} + '@smui/tab-bar@7.0.0-beta.8': resolution: {integrity: sha512-N0hraNszsVCIBAFxXu9YZhMEn9o85coQ1+BYXdhx4J+11x0dwa+E5qTCntqm6RN9zNK/ZaH9ctNUxhvWMbG4ww==} + '@smui/tab-indicator@7.0.0': + resolution: {integrity: sha512-wyLpiljJwF1X9ZvCsVFIzqVkbxFF1wyxvAnBem74y6gKlyKa1F5oUm+bwNI/zB7lyWkTjsvWKlWsrzqDdOuFPg==} + '@smui/tab-indicator@7.0.0-beta.8': resolution: {integrity: sha512-sj4dH+AwZbgZq1oz/7FzNgA7lKQNobbXyMfSi100Sx27PnXbEEXto0zyafROaNAtjD0h9fzfczPEQEABM9qHwg==} + '@smui/tab-scroller@7.0.0': + resolution: {integrity: sha512-4smThaPvy3sVj4/Ezgo8er7BqWmnnemmpuWPcNpmt3+hckUhKwVoqtoa9HUdRZClDbyegABvhwbTjIkR39IM+Q==} + '@smui/tab-scroller@7.0.0-beta.8': resolution: {integrity: sha512-LRsnQwIg2UCsBmG57EkRvsL9pv07Lb2O3T8Sdt3a6ackKweOqMWQyir04uAcE3EcjTzsZxM7MGzLLZ8mJr1ACg==} + '@smui/tab@7.0.0': + resolution: {integrity: sha512-FlOwRO4vBlAH5wm4EFrOPiKtsGkoMbyWqtMyGwBLrGQUTPVUUrFFnHD0J2QHztKKiaIJme+GqrD1bQA9whfKkA==} + '@smui/tab@7.0.0-beta.8': resolution: {integrity: sha512-v+WKqv4Hv4KzU3unM/xBX3sJOIiB6vatlEze1HKGBAlLLh+kRZOM1NgLh/SPBpPOSNbdZwbGzPZDAFXCT1ZnIw==} + '@smui/textfield@7.0.0': + resolution: {integrity: sha512-3p/pipFrj6xuA6YUhIEHf4fxInMENI3EFHVYeF1wU0vERSojtqBw+NnAscgv/PHKv4X6nFY3ZvD/9cVf7S4frA==} + '@smui/textfield@7.0.0-beta.8': resolution: {integrity: sha512-gTpGFEJCxHMI/fFPkVArX4J9Gq2JnoZ8+XbSZoOMf3tnH62QwfA26B6nFpMIVUmlzH8XFfSTmA2IOVCq54hnug==} + '@smui/tooltip@7.0.0': + resolution: {integrity: sha512-19fzYEerNnpPnpuf7uq6XrcXrE9x3n1Y3Z51+q1U/PmWGCj72n+QazhQNpxFM308DKpmsXdXXUpCP+HzLbB2Yg==} + '@smui/tooltip@7.0.0-beta.8': resolution: {integrity: sha512-nECLWPBhEcCBtrLe0HWnykrN+VbNzNaFE/NaqTnkOxGR2RPzqlBsbplQvP76fHASZm3oFHiP3Wo4vmMvbmES+g==} - '@smui/top-app-bar@7.0.0-beta.8': - resolution: {integrity: sha512-iBbqzVQl90edxmuIZD8V4wzOR/r2inSJwuYIsI8Re3dS8v68Pl86C+4CgH68GZXX1d6K4WTwxgBcMdJ+QJy/GQ==} + '@smui/top-app-bar@7.0.0': + resolution: {integrity: sha512-BYqItdD81VfI9stSC/lx95qc3ovGI+l+9yHjH+CgqQg3teH9vzMuYx4RzBs87tu7kfutNAepHT297glMvPqqsA==} + + '@smui/touch-target@7.0.0': + resolution: {integrity: sha512-UqhkId+8jWaQxUnO2b613jO5MCAHrxWZEY9GLbafw3kFRNT27BLCRSiMXWiBpm422orGu7K426KlfuYgLsEdZA==} '@smui/touch-target@7.0.0-beta.8': resolution: {integrity: sha512-/+LGOIWtq37mVZXIZb2RjdrIqgA4PHghr/cIL0SNMzw0lEpVkMg7swXUDQcJ1i9btz6/c2DbVoL0IZgAccvqjQ==} + '@storybook/addon-actions@8.3.5': + resolution: {integrity: sha512-t8D5oo+4XfD+F8091wLa2y/CDd/W2lExCeol5Vm1tp5saO+u6f2/d7iykLhTowWV84Uohi3D073uFeyTAlGebg==} + peerDependencies: + storybook: ^8.3.5 + + '@storybook/addon-backgrounds@8.3.5': + resolution: {integrity: sha512-IQGjDujuw8+iSqKREdkL8I5E/5CAHZbfOWd4A75PQK2D6qZ0fu/xRwTOQOH4jP6xn/abvfACOdL6A0d5bU90ag==} + peerDependencies: + storybook: ^8.3.5 + + '@storybook/addon-controls@8.3.5': + resolution: {integrity: sha512-2eCVobUUvY1Rq7sp1U8Mx8t44VXwvi0E+hqyrsqOx5TTSC/FUQ+hNAX6GSYUcFIyQQ1ORpKNlUjAAdjxBv1ZHQ==} + peerDependencies: + storybook: ^8.3.5 + + '@storybook/addon-docs@8.3.5': + resolution: {integrity: sha512-MOVfo1bY8kXTzbvmWnx3UuSO4WNykFz7Edvb3mxltNyuW7UDRZGuIuSe32ddT/EtLJfurrC9Ja3yBy4KBUGnMA==} + peerDependencies: + storybook: ^8.3.5 + + '@storybook/addon-essentials@8.3.5': + resolution: {integrity: sha512-hXTtPuN4/IsXjUrkMPAuz1qKAl8DovdXpjQgjQs7jSAVx3kc4BZaGqJ3gaVenKtO8uDchmA92BoQygpkc8eWhw==} + peerDependencies: + storybook: ^8.3.5 + + '@storybook/addon-highlight@8.3.5': + resolution: {integrity: sha512-ku0epul9aReCR3Gv/emwYnsqg3vgux5OmYMjoDcJC7s+LyfweSzLV/f5t9gSHazikJElh5TehtVkWbC4QfbGSw==} + peerDependencies: + storybook: ^8.3.5 + + '@storybook/addon-interactions@8.3.5': + resolution: {integrity: sha512-GtTy/A+mG7vDOahQr2avT4dpWtCRiFDSYcWyuQOZm10y8VDDw157HQM+FuhxjV9Owrrohy9F24oBUwRG8H3b5A==} + peerDependencies: + storybook: ^8.3.5 + + '@storybook/addon-links@8.3.5': + resolution: {integrity: sha512-giRCpn6cfJMYPnVJkojoQDO5ae6098fgY9YgAhwaJej/9dufNcioFdbiyfK1vyzbG6TGeTmJ9ncWCXgWRtzxPQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + storybook: ^8.3.5 + peerDependenciesMeta: + react: + optional: true + + '@storybook/addon-measure@8.3.5': + resolution: {integrity: sha512-6GVehgbHhFIFS69xSfRV+12VK0cnuIAtZdp1J3eUCc2ATrcigqVjTM6wzZz6kBuX6O3dcusr7Wg46KtNliqLqg==} + peerDependencies: + storybook: ^8.3.5 + + '@storybook/addon-outline@8.3.5': + resolution: {integrity: sha512-dwmK6GzjEnQP9Yo0VnBUQtJkXZlXdfjWyskZ/IlUVc+IFdeeCtIiMyA92oMfHo8eXt0k1g21ZqMaIn7ZltOuHw==} + peerDependencies: + storybook: ^8.3.5 + + '@storybook/addon-svelte-csf@4.1.7': + resolution: {integrity: sha512-gMyk6Fz2PPff8zb52giSAJGSZkd/+mmA25m/ORlxMKrwp6WhB+4dcVB8RtexndCvZrSts0rzVH8Nd9c9lBCGpQ==} + peerDependencies: + '@storybook/svelte': ^7.0.0 || ^8.0.0 || ^8.0.0-beta.0 || ^8.2.0-beta.0 + '@sveltejs/vite-plugin-svelte': ^2.0.0 || ^3.0.0 + svelte: ^4.0.0 + svelte-loader: ^3.1.2 + vite: ^4.0.0 || ^5.0.0 + peerDependenciesMeta: + '@sveltejs/vite-plugin-svelte': + optional: true + svelte-loader: + optional: true + vite: + optional: true + + '@storybook/addon-toolbars@8.3.5': + resolution: {integrity: sha512-Ml2gc9q8WbteDvmuAZGgBxt5SqWMXzuTkMjlsA8EB53hlkN1w9esX4s8YtBeNqC3HKoUzcdq8uexSBqU8fDbSA==} + peerDependencies: + storybook: ^8.3.5 + + '@storybook/addon-viewport@8.3.5': + resolution: {integrity: sha512-FSWydoPiVWFXEittG7O1YgvuaqoU9Vb+qoq9XfP/hvQHHMDcMZvC40JaV8AnJeTXaM7ngIjcn9XDEfGbFfOzXw==} + peerDependencies: + storybook: ^8.3.5 + + '@storybook/blocks@8.3.5': + resolution: {integrity: sha512-8cHTdTywolTHlgwN8I7YH7saWAIjGzV617AwjhJ95AKlC0VtpO1gAFcAgCqr4DU9eMc+LZuvbnaU/RSvA5eCCQ==} + 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.3.5 + peerDependenciesMeta: + react: + optional: true + react-dom: + optional: true + + '@storybook/builder-vite@8.3.5': + resolution: {integrity: sha512-paGX8tEmAeAKFU5Cnwkq3RAi3LFCnmjAxMJikT09jUi6jDpNa0VzH8jbLxKdjsPMAsz0Wv3mrLvL2b8hyxLWAw==} + peerDependencies: + '@preact/preset-vite': '*' + storybook: ^8.3.5 + typescript: '>= 4.3.x' + vite: ^4.0.0 || ^5.0.0 + vite-plugin-glimmerx: '*' + peerDependenciesMeta: + '@preact/preset-vite': + optional: true + typescript: + optional: true + vite-plugin-glimmerx: + optional: true + + '@storybook/components@8.3.5': + resolution: {integrity: sha512-Rq28YogakD3FO4F8KwAtGpo1g3t4V/gfCLqTQ8B6oQUFoxLqegkWk/DlwCzvoJndXuQJfdSyM6+r1JcA4Nql5A==} + peerDependencies: + storybook: ^8.3.5 + + '@storybook/core@8.3.5': + resolution: {integrity: sha512-GOGfTvdioNa/n+Huwg4u/dsyYyBcM+gEcdxi3B7i5x4yJ3I912KoVshumQAOF2myKSRdI8h8aGWdx7nnjd0+5Q==} + + '@storybook/csf-plugin@8.3.5': + resolution: {integrity: sha512-ODVqNXwJt90hG7QW8I9w/XUyOGlr0l7XltmIJgXwB/2cYDvaGu3JV5Ybg7O0fxPV8uXk7JlRuUD8ZYv5Low6pA==} + peerDependencies: + storybook: ^8.3.5 + + '@storybook/csf@0.1.11': + resolution: {integrity: sha512-dHYFQH3mA+EtnCkHXzicbLgsvzYjcDJ1JWsogbItZogkPHgSJM/Wr71uMkcvw8v9mmCyP4NpXJuu6bPoVsOnzg==} + + '@storybook/global@5.0.0': + resolution: {integrity: sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ==} + + '@storybook/icons@1.2.12': + resolution: {integrity: sha512-UxgyK5W3/UV4VrI3dl6ajGfHM4aOqMAkFLWe2KibeQudLf6NJpDrDMSHwZj+3iKC4jFU7dkKbbtH2h/al4sW3Q==} + engines: {node: '>=14.0.0'} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + + '@storybook/instrumenter@8.3.5': + resolution: {integrity: sha512-NLDXai5y2t1ITgHVK9chyL0rMFZbICCOGcnTbyWhkLbiEWZKPJ8FuB8+g+Ba6zwtCve1A1Cnb4O2LOWy7TgWQw==} + peerDependencies: + storybook: ^8.3.5 + + '@storybook/manager-api@8.3.5': + resolution: {integrity: sha512-fEQoKKi7h7pzh2z9RfuzatJxubrsfL/CB99fNXQ0wshMSY/7O4ckd18pK4fzG9ErnCtLAO9qsim4N/4eQC+/8Q==} + peerDependencies: + storybook: ^8.3.5 + + '@storybook/preview-api@8.3.5': + resolution: {integrity: sha512-VPqpudE8pmjTLvdNJoW/2//nqElDgUOmIn3QxbbCmdZTHDg5tFtxuqwdlNfArF0TxvTSBDIulXt/Q6K56TAfTg==} + peerDependencies: + storybook: ^8.3.5 + + '@storybook/react-dom-shim@8.3.5': + resolution: {integrity: sha512-Hf0UitJ/K0C7ajooooUK/PxOR4ihUWqsC7iCV1Gqth8U37dTeLMbaEO4PBwu0VQ+Ufg0N8BJLWfg7o6G4hrODw==} + 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.3.5 + + '@storybook/svelte-vite@8.3.5': + resolution: {integrity: sha512-oDF0UCD91beIyYVPsrgTsf3zycqs4DNJfObLH+VNOd/l5RV15v5nDi18Uf7s00h+5/UyqZJhWOsKdBGNJtDPoQ==} + engines: {node: '>=18.0.0'} + peerDependencies: + '@sveltejs/vite-plugin-svelte': ^2.0.0 || ^3.0.0 + storybook: ^8.3.5 + svelte: ^4.0.0 || ^5.0.0-next.65 + vite: ^4.0.0 || ^5.0.0 + + '@storybook/svelte@8.3.5': + resolution: {integrity: sha512-k+SgWwEoVg8m6uaXQeURyRKgf9AY0u5h/d1wui96Sfoc1Da9CZaqCXXQuo9LKBSmfmz4yx5QyeRPzsvyZQLQbA==} + engines: {node: '>=18.0.0'} + peerDependencies: + storybook: ^8.3.5 + svelte: ^4.0.0 || ^5.0.0-next.65 + + '@storybook/test@8.3.5': + resolution: {integrity: sha512-1BXWsUGWk9FiKKelZZ55FDJdeoL8uRBHbjTYBRM2xJLhdNSvGzI4Tb3bkmxPpGn72Ua6AyldhlTxr2BpUFKOHA==} + peerDependencies: + storybook: ^8.3.5 + + '@storybook/theming@8.3.5': + resolution: {integrity: sha512-9HmDDyC691oqfg4RziIM9ElsS2HITaxmH7n/yeUPtuirkPdAQzqOzhvH/Sa0qOhifzs8VjR+Gd/a/ZQ+S38r7w==} + peerDependencies: + storybook: ^8.3.5 + + '@storybook/types@8.3.5': + resolution: {integrity: sha512-XWK8tCgoTI1QycQiZCYtAijws2JjbbGANuq1olBRZ1BcZWvc1TkNSipqF1TLMkPGiNq+MxrXAKutUoQK459fTg==} + peerDependencies: + storybook: ^8.3.5 + '@svelte-put/shortcut@3.1.0': resolution: {integrity: sha512-EWMEDkZ0+O3yMhb9yrqe5UYisV9CNRKX6Pl/JW3x62t74CiN+3COu1L9NzZUG0omagc2Z3J14PZNYxs77IC9NA==} @@ -1552,10 +1945,18 @@ packages: resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} engines: {node: '>=14.16'} + '@testing-library/dom@10.4.0': + resolution: {integrity: sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==} + engines: {node: '>=18'} + '@testing-library/dom@8.20.0': resolution: {integrity: sha512-d9ULIT+a4EXLX3UU8FBjauG9NnsZHkHztXoIcTsOKoOw030fyjheN9svkTULjJxtYag9DZz5Jz5qkWZDPxTFwA==} engines: {node: '>=12'} + '@testing-library/jest-dom@6.5.0': + resolution: {integrity: sha512-xGGHpBXYSHUUr6XsKBfs85TWlYKpTc37cSBBVrXcib2MkHLboWlkClhWF37JKlDb9KEq3dHs+f2xR7XJEWGBxA==} + engines: {node: '>=14', npm: '>=6', yarn: '>=1'} + '@testing-library/svelte@3.2.2': resolution: {integrity: sha512-IKwZgqbekC3LpoRhSwhd0JswRGxKdAGkf39UiDXTywK61YyLXbCYoR831e/UUC6EeNW4hiHPY+2WuovxOgI5sw==} engines: {node: '>= 10'} @@ -1568,6 +1969,12 @@ packages: peerDependencies: '@testing-library/dom': '>=7.21.4' + '@testing-library/user-event@14.5.2': + resolution: {integrity: sha512-YAh82Wh4TIrxYLmfGcixwD18oIjyC1pFQC2Y01F2lzV2HTMiYrI0nze0FD0ocB//CKS/7jIUgae+adPqxK5yCQ==} + engines: {node: '>=12', npm: '>=6'} + peerDependencies: + '@testing-library/dom': '>=7.21.4' + '@tootallnate/once@2.0.0': resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} engines: {node: '>= 10'} @@ -1590,12 +1997,18 @@ packages: '@types/aria-query@5.0.1': resolution: {integrity: sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==} + '@types/body-parser@1.19.5': + resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} + '@types/chai-subset@1.3.3': resolution: {integrity: sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==} '@types/chai@4.3.4': resolution: {integrity: sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw==} + '@types/connect@3.4.38': + resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} + '@types/cookie@0.5.1': resolution: {integrity: sha512-COUnqfB2+ckwXXSFInsFdOAWQzCCx+a5hq2ruyj+Vjund94RJQd4LG2u9hnvJrTgunKAaax7ancBYlDrNYxA0g==} @@ -1698,12 +2111,27 @@ packages: '@types/estree@1.0.5': resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + '@types/express-serve-static-core@4.19.6': + resolution: {integrity: sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==} + + '@types/express@4.17.21': + resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} + + '@types/find-cache-dir@3.2.1': + resolution: {integrity: sha512-frsJrz2t/CeGifcu/6uRo4b+SzAwT4NYCVPu1GN8IB9XTzrpPkGuV0tmh9mN+/L0PklAlsC3u5Fxt0ju00LXIw==} + '@types/geojson@7946.0.13': resolution: {integrity: sha512-bmrNrgKMOhM3WsafmbGmC+6dsF2Z308vLFsQ3a/bT8X8Sv5clVYpPars/UPq+sAaJP+5OoLAYgwbkS5QEJdLUQ==} + '@types/hast@3.0.4': + resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} + '@types/http-cache-semantics@4.0.1': resolution: {integrity: sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==} + '@types/http-errors@2.0.4': + resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} + '@types/istanbul-lib-coverage@2.0.4': resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} @@ -1716,15 +2144,36 @@ packages: '@types/json5@0.0.29': resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} + '@types/lodash@4.17.10': + resolution: {integrity: sha512-YpS0zzoduEhuOWjAotS6A5AVCva7X4lVlYLF0FYHAY9sdraBfnatttHItlWeZdGhuEkf+OzMNg2ZYAx8t+52uQ==} + + '@types/mdx@2.0.13': + resolution: {integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==} + + '@types/mime@1.3.5': + resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} + '@types/node@18.11.18': resolution: {integrity: sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==} '@types/normalize-package-data@2.4.1': resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} + '@types/prop-types@15.7.13': + resolution: {integrity: sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==} + '@types/pug@2.0.6': resolution: {integrity: sha512-SnHmG9wN1UVmagJOnyo/qkk0Z7gejYxOYYmaAwr5u2yFYfsupN3sg10kyzN8Hep/2zbHxCnsumxOoRIRMBwKCg==} + '@types/qs@6.9.16': + resolution: {integrity: sha512-7i+zxXdPD0T4cKDuxCUXJ4wHcsJLwENa6Z3dCu8cfCK743OGy5Nu1RmAGqDPsoTDINVEcdXKRvR/zre+P2Ku1A==} + + '@types/range-parser@1.2.7': + resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} + + '@types/react@18.3.11': + resolution: {integrity: sha512-r6QZ069rFTjrEYgFdOck1gK7FLVsgJE7tTz0pQBczlBNUhBNk0MQH4UbnFSwjpQLMkLzgqvBBa+qGpLje16eTQ==} + '@types/sass@1.43.1': resolution: {integrity: sha512-BPdoIt1lfJ6B7rw35ncdwBZrAssjcwzI5LByIrYs+tpXlj/CAkuVdRsgZDdP4lq5EjyWzwxZCqAoFyHKFwp32g==} @@ -1734,6 +2183,18 @@ packages: '@types/semver@7.5.5': resolution: {integrity: sha512-+d+WYC1BxJ6yVOgUgzK8gWvp5qF8ssV5r4nsDcZWKRWcDQLQ619tvWAxJQYGgBrO1MnLJC7a5GtiYsAoQ47dJg==} + '@types/send@0.17.4': + resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} + + '@types/serve-static@1.15.7': + resolution: {integrity: sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==} + + '@types/unist@3.0.3': + resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} + + '@types/uuid@9.0.8': + resolution: {integrity: sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==} + '@types/which@2.0.2': resolution: {integrity: sha512-113D3mDkZDjo+EeUEHCFy0qniNc1ZpecGiAU7WSo7YDoSzolZIQKpYFHrPpjkB2nuyahcKfrmLXeQlh7gqJYdw==} @@ -1862,6 +2323,9 @@ packages: resolution: {integrity: sha512-+SUN/W7WjBr05uRxPggJPSzyB8zUpaYo2hByKasWbqr3PM8AXfZt8UHdNpBS1v9SA62qnSSMF3380SwDqqprgQ==} engines: {node: ^16.0.0 || >=18.0.0} + '@ungap/structured-clone@1.2.0': + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + '@vitest/browser@0.29.7': resolution: {integrity: sha512-e94jdP49jBFaUFNrC5FJRJ+zD/f/XSVYovWpkxvTtpUjDbnA4SA2yUZzyJ+0XfO10r8CgTHG3UMmrSALHqwGlw==} peerDependencies: @@ -1879,6 +2343,15 @@ packages: '@vitest/expect@0.30.1': resolution: {integrity: sha512-c3kbEtN8XXJSeN81iDGq29bUzSjQhjES2WR3aColsS4lPGbivwLtas4DNUe0jD9gg/FYGIteqOenfU95EFituw==} + '@vitest/expect@2.0.5': + resolution: {integrity: sha512-yHZtwuP7JZivj65Gxoi8upUN2OzHTi3zVfjwdpu2WrvCZPLwsJ2Ey5ILIPccoW23dd/zQBlJ4/dhi7DWNyXCpA==} + + '@vitest/pretty-format@2.0.5': + resolution: {integrity: sha512-h8k+1oWHfwTkyTkb9egzwNMfJAEx4veaPSnMeKbVSjp4euqGSbQlm5+6VHwTr7u4FJslVVsUG5nopCaAYdOmSQ==} + + '@vitest/pretty-format@2.1.2': + resolution: {integrity: sha512-FIoglbHrSUlOJPDGIrh2bjX1sNars5HbxlcsFKCtKzu4+5lpsRhOCVcuzp0fEhAGHkPZRIXVNzPcpSlkoZ3LuA==} + '@vitest/runner@0.29.7': resolution: {integrity: sha512-Yt0+csM945+odOx4rjZSjibQfl2ymxqVsmYz6sO2fiO5RGPYDFCo60JF6tLL9pz4G/kjY4irUxadeB1XT+H1jg==} @@ -1894,6 +2367,9 @@ packages: '@vitest/spy@0.30.1': resolution: {integrity: sha512-YfJeIf37GvTZe04ZKxzJfnNNuNSmTEGnla2OdL60C8od16f3zOfv9q9K0nNii0NfjDJRt/CVN/POuY5/zTS+BA==} + '@vitest/spy@2.0.5': + resolution: {integrity: sha512-c/jdthAhvJdpfVuaexSrnawxZz6pywlTPe84LUB2m/4t3rl2fTo9NFGBG4oWgaD+FTgDDV8hJ/nibT7IfH3JfA==} + '@vitest/ui@0.30.1': resolution: {integrity: sha512-Izz4ElDmdvX02KImSC2nCJI6CsGo9aETbKqxli55M0rbbPPAMtF0zDcJIqgEP5V6Y+4Ysf6wvsjLbLCTnaBvKw==} @@ -1903,6 +2379,12 @@ packages: '@vitest/utils@0.30.1': resolution: {integrity: sha512-/c8Xv2zUVc+rnNt84QF0Y0zkfxnaGhp87K2dYJMLtLOIckPzuxLVzAtFCicGFdB4NeBHNzTRr1tNn7rCtQcWFA==} + '@vitest/utils@2.0.5': + resolution: {integrity: sha512-d8HKbqIcya+GR67mkZbrzhS5kKhtp8dQLcmRZLGTscGVg7yImT82cIrhtn2L8+VujWcy6KZweApgNmPsTAO/UQ==} + + '@vitest/utils@2.1.2': + resolution: {integrity: sha512-zMO2KdYy6mx56btx9JvAqAZ6EyS3g49krMPPrgOp1yxGZiA93HumGk+bZ5jIZtOg5/VBYl5eBmGRQHqq4FG6uQ==} + '@wdio/config@8.6.6': resolution: {integrity: sha512-fRyBLEDRMuZrt3DNcEu1e13btJpwi31Pab/KB8GLGnbiKnltBcgsF4NcKC6BfCK5ZIWMe5+LeEoUWToSmTatJw==} engines: {node: ^16.13 || >=18} @@ -1938,6 +2420,10 @@ packages: resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} deprecated: Use your platform's native atob() and btoa() methods instead + accepts@1.3.8: + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} + acorn-globals@7.0.1: resolution: {integrity: sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==} @@ -1967,6 +2453,10 @@ packages: ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + ansi-colors@4.1.3: + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} + engines: {node: '>=6'} + ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} @@ -2015,6 +2505,9 @@ packages: array-buffer-byte-length@1.0.0: resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} + array-flatten@1.1.1: + resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} + array-includes@3.1.6: resolution: {integrity: sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==} engines: {node: '>= 0.4'} @@ -2040,6 +2533,14 @@ packages: assertion-error@1.1.0: resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} + assertion-error@2.0.1: + resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} + engines: {node: '>=12'} + + ast-types@0.16.1: + resolution: {integrity: sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==} + engines: {node: '>=4'} + async@3.2.4: resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} @@ -2064,6 +2565,10 @@ packages: resolution: {integrity: sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==} engines: {node: '>=6.0.0'} + better-opn@3.0.2: + resolution: {integrity: sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==} + engines: {node: '>=12.0.0'} + binary-extensions@2.2.0: resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} engines: {node: '>=8'} @@ -2077,6 +2582,10 @@ packages: bn.js@4.12.0: resolution: {integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==} + body-parser@1.20.3: + resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} @@ -2090,6 +2599,9 @@ packages: brorand@1.1.0: resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} + browser-assert@1.2.1: + resolution: {integrity: sha512-nfulgvOR6S4gt9UKCeGJOuSGBPGiFT6oQ/2UBnvTY/5aQ1PnksW72fhZkM30DzoRRv2WpwZf1vHHEr3mtuXIWQ==} + buffer-crc32@0.2.13: resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} @@ -2103,6 +2615,10 @@ packages: resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} engines: {node: '>=10.16.0'} + bytes@3.1.2: + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} + c8@7.13.0: resolution: {integrity: sha512-/NL4hQTv1gBL6J6ei80zu3IiTrmePDKXKXOTLpHvcIWZTVYQlDhVWjjWvkhICylE8EwwnMVzDZugCvdx0/DIIA==} engines: {node: '>=10.12.0'} @@ -2123,6 +2639,10 @@ packages: call-bind@1.0.2: resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} + call-bind@1.0.7: + resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} + engines: {node: '>= 0.4'} + callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} @@ -2131,10 +2651,18 @@ packages: resolution: {integrity: sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==} engines: {node: '>=4'} + chai@5.1.1: + resolution: {integrity: sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==} + engines: {node: '>=12'} + chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} + chalk@3.0.0: + resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} + engines: {node: '>=8'} + chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} @@ -2146,13 +2674,33 @@ packages: check-error@1.0.2: resolution: {integrity: sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==} + check-error@2.1.1: + resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} + engines: {node: '>= 16'} + chokidar@3.5.3: resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} engines: {node: '>= 8.10.0'} + chokidar@4.0.1: + resolution: {integrity: sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==} + engines: {node: '>= 14.16.0'} + chownr@1.1.4: resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} + chromatic@11.12.5: + resolution: {integrity: sha512-5z+BXQy3TMyXIzCdCDO9Psc8aMs9kIrCFHhMgYbwA6dTXxAL0oUjHZbICn5h4Ay/fM9cZQPaCH9T7a3myPA8Sw==} + hasBin: true + peerDependencies: + '@chromatic-com/cypress': ^0.*.* || ^1.0.0 + '@chromatic-com/playwright': ^0.*.* || ^1.0.0 + peerDependenciesMeta: + '@chromatic-com/cypress': + optional: true + '@chromatic-com/playwright': + optional: true + chrome-launcher@0.15.1: resolution: {integrity: sha512-UugC8u59/w2AyX5sHLZUHoxBAiSiunUhZa3zZwMH6zPVis0C3dDKiRWyUGIo14tTbZHGVviWxv3PQWZ7taZ4fg==} engines: {node: '>=12.13.0'} @@ -2197,6 +2745,9 @@ packages: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} + commondir@1.0.1: + resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} + compress-commons@4.1.1: resolution: {integrity: sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ==} engines: {node: '>= 10'} @@ -2213,13 +2764,28 @@ packages: engines: {node: ^12.20.0 || ^14.13.0 || >=16.0.0} hasBin: true + content-disposition@0.5.4: + resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} + engines: {node: '>= 0.6'} + + content-type@1.0.5: + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} + convert-source-map@1.9.0: resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + cookie-signature@1.0.6: + resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} + cookie@0.5.0: resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} engines: {node: '>= 0.6'} + cookie@0.7.1: + resolution: {integrity: sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==} + engines: {node: '>= 0.6'} + core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} @@ -2256,6 +2822,9 @@ packages: resolution: {integrity: sha512-N4u2ABATi3Qplzf0hWbVCdjenim8F3ojEXpBDF5hBpjzW182MjNGLqfmQ0SkSPeQ+V86ZXgeH8aXj6kayd4jgg==} engines: {node: '>=14'} + csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + d3-color@3.1.0: resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==} engines: {node: '>=12'} @@ -2349,10 +2918,22 @@ packages: dedent-js@1.0.1: resolution: {integrity: sha512-OUepMozQULMLUmhxS95Vudo0jb0UchLimi3+pQ2plj61Fcy8axbP9hbiD4Sz6DPqn6XG3kfmziVfQ1rSys5AJQ==} + dedent@1.5.3: + resolution: {integrity: sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==} + peerDependencies: + babel-plugin-macros: ^3.1.0 + peerDependenciesMeta: + babel-plugin-macros: + optional: true + deep-eql@4.1.3: resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} engines: {node: '>=6'} + deep-eql@5.0.2: + resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} + engines: {node: '>=6'} + deep-equal@2.2.0: resolution: {integrity: sha512-RdpzE0Hv4lhowpIUKKMJfeH6C1pXdtT1/it80ubgWqwI3qpuxUBpC1S4hnHg+zjnuOoDkzUtUCEEkG+XG5l3Mw==} @@ -2371,6 +2952,14 @@ packages: resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} engines: {node: '>=10'} + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + + define-lazy-prop@2.0.0: + resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} + engines: {node: '>=8'} + define-properties@1.2.0: resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==} engines: {node: '>= 0.4'} @@ -2379,10 +2968,18 @@ packages: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} + depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + dequal@2.0.3: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} + destroy@1.2.0: + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + detect-indent@6.1.0: resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} engines: {node: '>=8'} @@ -2419,11 +3016,31 @@ packages: dom-accessibility-api@0.5.16: resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==} - domexception@4.0.0: - resolution: {integrity: sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==} + dom-accessibility-api@0.6.3: + resolution: {integrity: sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==} + + dom-serializer@1.4.1: + resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} + + domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + + domexception@4.0.0: + resolution: {integrity: sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==} engines: {node: '>=12'} deprecated: Use your platform's native DOMException instead + domhandler@3.3.0: + resolution: {integrity: sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==} + engines: {node: '>= 4'} + + domhandler@4.3.1: + resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} + engines: {node: '>= 4'} + + domutils@2.8.0: + resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} + eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} @@ -2431,6 +3048,9 @@ packages: resolution: {integrity: sha512-sB7vSrDnFa4ezWQk9nZ/n0FdpdUuC6R1EOrlU3DL+bovcNFK28rqu2emmAUjujYEJTWIgQGqgVVWUZXMnc8iWg==} engines: {node: '>=14.0.0'} + ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + elkjs@0.8.2: resolution: {integrity: sha512-L6uRgvZTH+4OF5NE/MBbzQx/WYpru1xCBE9respNj6qznEewGUIfhzmm7horWWxbNO2M0WckQypGctR8lH79xQ==} @@ -2443,9 +3063,24 @@ packages: emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + encodeurl@1.0.2: + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} + engines: {node: '>= 0.8'} + + encodeurl@2.0.0: + resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} + engines: {node: '>= 0.8'} + end-of-stream@1.4.4: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + enquirer@2.4.1: + resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} + engines: {node: '>=8.6'} + + entities@2.2.0: + resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} + entities@4.5.0: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} @@ -2457,9 +3092,20 @@ packages: resolution: {integrity: sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==} engines: {node: '>= 0.4'} + es-define-property@1.0.0: + resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + es-get-iterator@1.1.3: resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} + es-module-lexer@1.5.4: + resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==} + es-set-tostringtag@2.0.1: resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} engines: {node: '>= 0.4'} @@ -2570,6 +3216,11 @@ packages: cpu: [x64] os: [openbsd] + esbuild-register@3.6.0: + resolution: {integrity: sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg==} + peerDependencies: + esbuild: '>=0.12 <1' + esbuild-sunos-64@0.14.54: resolution: {integrity: sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==} engines: {node: '>=12'} @@ -2618,6 +3269,9 @@ packages: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} + escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + escape-string-regexp@1.0.5: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} @@ -2747,9 +3401,18 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true + eslint@8.4.1: + resolution: {integrity: sha512-TxU/p7LB1KxQ6+7aztTnO7K0i+h0tDi81YRY9VzB6Id71kNz+fFYnf5HD5UOQmxkzcoa0TlVZf9dpMtUv0GpWg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + esm-env@1.0.0: resolution: {integrity: sha512-Cf6VksWPsTuW01vU9Mk/3vRue91Zevka5SjyNf3nEpokFRuqt/KjUQoGAwq9qMmhpLTHmXzSIrFRw8zxWzmFBA==} + espree@9.2.0: + resolution: {integrity: sha512-oP3utRkynpZWF/F2x/HZJ+AGtnIclaR7z1pYPxy7NYM2fSO6LgK/Rkny8anRSPK/VwEA1eqm2squui0T7ZMOBg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + espree@9.4.1: resolution: {integrity: sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -2791,6 +3454,14 @@ packages: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} + etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + + express@4.21.1: + resolution: {integrity: sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==} + engines: {node: '>= 0.10.0'} + extract-zip@2.0.1: resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} engines: {node: '>= 10.17.0'} @@ -2825,6 +3496,14 @@ packages: fd-slicer@1.1.0: resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} + fdir@6.4.0: + resolution: {integrity: sha512-3oB133prH1o4j/L5lLW7uOCF1PlD+/It2L0eL/iAqWMB91RBbqTewABqxhj0ibBd90EEmWZq7ntIWzVaWcXTGQ==} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + fflate@0.7.4: resolution: {integrity: sha512-5u2V/CDW15QM1XbbgS+0DfPxVB+jUKhWEKuuFuHncbk3tEEqzmoXL+2KyOFuKGqOnmdIy0/davWF1CkuwtibCw==} @@ -2832,10 +3511,26 @@ packages: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} + filesize@10.1.6: + resolution: {integrity: sha512-sJslQKU2uM33qH5nqewAwVB2QgR6w1aMNsYUp3aN5rMRyXEwJGmZvaWzeJFNTOXWlHQyBFCWrdj3fV/fsTOX8w==} + engines: {node: '>= 10.4.0'} + fill-range@7.0.1: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} engines: {node: '>=8'} + finalhandler@1.3.1: + resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==} + engines: {node: '>= 0.8'} + + find-cache-dir@3.3.2: + resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} + engines: {node: '>=8'} + + find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + find-up@5.0.0: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} @@ -2866,9 +3561,21 @@ packages: resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} engines: {node: '>= 6'} + forwarded@0.2.0: + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} + + fresh@0.5.2: + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + engines: {node: '>= 0.6'} + fs-constants@1.0.0: resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} + fs-extra@11.2.0: + resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} + engines: {node: '>=14.14'} + fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} @@ -2885,10 +3592,16 @@ packages: function-bind@1.1.1: resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + function.prototype.name@1.1.5: resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} engines: {node: '>= 0.4'} + functional-red-black-tree@1.0.1: + resolution: {integrity: sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==} + functions-have-names@1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} @@ -2902,6 +3615,10 @@ packages: get-intrinsic@1.2.0: resolution: {integrity: sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==} + get-intrinsic@1.2.4: + resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} + engines: {node: '>= 0.4'} + get-stream@5.2.0: resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} engines: {node: '>=8'} @@ -2914,6 +3631,9 @@ packages: resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} engines: {node: '>= 0.4'} + github-slugger@2.0.0: + resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} + glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -2985,6 +3705,9 @@ packages: has-property-descriptors@1.0.0: resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + has-proto@1.0.1: resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} engines: {node: '>= 0.4'} @@ -3004,6 +3727,19 @@ packages: hash.js@1.1.7: resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + + hast-util-heading-rank@3.0.0: + resolution: {integrity: sha512-EJKb8oMUXVHcWZTDepnr+WNbfnXKFNf9duMesmr4S8SXTJBJ9M4Yok08pu9vxdJwdlGRhVumk9mEhkEvKGifwA==} + + hast-util-is-element@3.0.0: + resolution: {integrity: sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==} + + hast-util-to-string@3.0.1: + resolution: {integrity: sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A==} + he@1.2.0: resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} hasBin: true @@ -3022,9 +3758,16 @@ packages: html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + htmlparser2-svelte@4.1.0: + resolution: {integrity: sha512-+4f4RBFz7Rj2Hp0ZbFbXC+Kzbd6S9PgjiuFtdT76VMNgKogrEZy0pG2UrPycPbrZzVEIM5lAT3lAdkSTCHLPjg==} + http-cache-semantics@4.1.1: resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} + http-errors@2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} + http-proxy-agent@5.0.0: resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} engines: {node: '>= 6'} @@ -3042,6 +3785,10 @@ packages: engines: {node: '>=14'} hasBin: true + iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + iconv-lite@0.6.3: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} engines: {node: '>=0.10.0'} @@ -3049,6 +3796,10 @@ packages: ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + ignore@4.0.6: + resolution: {integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==} + engines: {node: '>= 4'} + ignore@5.2.4: resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} engines: {node: '>= 4'} @@ -3067,6 +3818,10 @@ packages: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} + indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. @@ -3078,6 +3833,14 @@ packages: resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} engines: {node: '>= 0.4'} + ipaddr.js@1.9.1: + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} + + is-absolute-url@4.0.1: + resolution: {integrity: sha512-/51/TKE88Lmm7Gc4/8btclNXWS+g50wXhYJq8HWIBAGUBnoAdRu1aXeh364t/O7wXDAcTJDP8PNuNKWUDWie+A==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + is-arguments@1.1.1: resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} engines: {node: '>= 0.4'} @@ -3127,6 +3890,10 @@ packages: resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} engines: {node: '>=12'} + is-generator-function@1.0.10: + resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} + engines: {node: '>= 0.4'} + is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} @@ -3230,6 +3997,10 @@ packages: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true + jsdoc-type-pratt-parser@4.1.0: + resolution: {integrity: sha512-Hicd6JK5Njt2QB6XYFS7ok9e37O8AYk3jTcppG4YVQnYjOemymvTcmc7OWsmq/Qqj5TdRFO5/x/tIPmBeRtGHg==} + engines: {node: '>=12.0.0'} + jsdom@21.1.1: resolution: {integrity: sha512-Jjgdmw48RKcdAIQyUD1UdBh2ecH7VqwaXPN3ehoZN6MqgVbMn+lRm1aAT1AsdJRAJpwfa4IpwgzySn61h2qu3w==} engines: {node: '>=14'} @@ -3263,6 +4034,9 @@ packages: jsonc-parser@3.2.0: resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} + jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + keyv@4.5.2: resolution: {integrity: sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g==} @@ -3303,6 +4077,10 @@ packages: locate-character@3.0.0: resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==} + locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + locate-path@6.0.0: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} @@ -3345,10 +4123,17 @@ packages: resolution: {integrity: sha512-tCRIJM51SHjAayKwC+QAg8hT8vg6z7GSgLJKGvzuPb1Wc+hLzqtuVLxp6/HzSPOozuK+8ErAhy7U/sVzw8Dgfg==} engines: {node: '>= 0.6.0'} + loose-envify@1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true + loupe@2.3.6: resolution: {integrity: sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==} deprecated: Please upgrade to 2.3.7 which fixes GHSA-4q6p-r6v2-jvc5 + loupe@3.1.2: + resolution: {integrity: sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg==} + lower-case@2.0.2: resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} @@ -3386,6 +4171,15 @@ packages: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} + map-or-similar@1.5.0: + resolution: {integrity: sha512-0aF7ZmVon1igznGI4VS30yugpduQW3y3GkcgGJOp7d8x8QrizhigUxjI/m2UojsXXto+jLAH3KSz+xOJTiORjg==} + + markdown-to-jsx@7.5.0: + resolution: {integrity: sha512-RrBNcMHiFPcz/iqIj0n3wclzHXjwS7mzjBNWecKKVhNTIxQepIix6Il/wZCn2Cg5Y1ow2Qi84+eJrryFRWBEWw==} + engines: {node: '>= 10'} + peerDependencies: + react: '>= 0.14.0' + marky@1.2.5: resolution: {integrity: sha512-q9JtQJKjpsVxCRVgQ+WapguSbKC3SQ5HEzFGPAJMStgh3QjCawp00UKv3MTTAArTmGmmPUvllHZoNbZ3gs0I+Q==} @@ -3396,10 +4190,24 @@ packages: mdn-data@2.0.30: resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} + media-typer@0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} + + memoizerific@1.11.3: + resolution: {integrity: sha512-/EuHYwAPdLtXwAwSZkh/Gutery6pD2KYd44oQLhAvQp/50mpyduZh8Q7PYHXTCJ+wuXxt7oij2LXyIJOOYFPog==} + + merge-descriptors@1.0.3: + resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} + merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} + methods@1.1.2: + resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} + engines: {node: '>= 0.6'} + micromatch@4.0.5: resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} engines: {node: '>=8.6'} @@ -3412,6 +4220,11 @@ packages: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} + mime@1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true + mime@3.0.0: resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} engines: {node: '>=10.0.0'} @@ -3483,6 +4296,9 @@ packages: ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + nanoid@3.3.4: resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -3499,6 +4315,10 @@ packages: natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + negotiator@0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} + no-case@3.0.4: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} @@ -3526,12 +4346,19 @@ packages: resolution: {integrity: sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw==} engines: {node: '>=14.16'} + normalize.css@8.0.1: + resolution: {integrity: sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg==} + nwsapi@2.2.4: resolution: {integrity: sha512-NHj4rzRo0tQdijE9ZqAx6kYDcoRwYwSYzCA8MY3JzfxlrvEU0jhnhJT9BhqhJs7I/dKcrDm6TyulaRqZPIhN5g==} object-inspect@1.12.3: resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} + object-inspect@1.13.2: + resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==} + engines: {node: '>= 0.4'} + object-is@1.1.5: resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==} engines: {node: '>= 0.4'} @@ -3548,9 +4375,17 @@ packages: resolution: {integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==} engines: {node: '>= 0.4'} + on-finished@2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} + once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + open@8.4.2: + resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} + engines: {node: '>=12'} + optionator@0.8.3: resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} engines: {node: '>= 0.8.0'} @@ -3567,6 +4402,10 @@ packages: resolution: {integrity: sha512-IMFBSDIYcPNnW7uWYGrBqmvTiq7W0uB0fJn6shQZs7dlF3OvrHOre+JT9ikSZ7gZS3vWqclVgoQSvToJrns7uQ==} engines: {node: '>=8.0.0'} + p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + p-limit@3.1.0: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} @@ -3575,6 +4414,10 @@ packages: resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + p-locate@5.0.0: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} @@ -3583,6 +4426,10 @@ packages: resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} @@ -3594,6 +4441,10 @@ packages: parse5@7.1.2: resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} + parseurl@1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} + pascal-case@3.1.2: resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} @@ -3620,6 +4471,9 @@ packages: resolution: {integrity: sha512-J6MQNh56h6eHFY3vsQ+Lq+zKPwn71POieutmVt2leU8W+zz8HVIdJyn3I3Zs6IKbIQtuKXirVjTBFNBcbFO44Q==} engines: {node: '>=16 || 14 >=14.17'} + path-to-regexp@0.1.10: + resolution: {integrity: sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==} + path-type@4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} @@ -3630,6 +4484,10 @@ packages: pathval@1.1.1: resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} + pathval@2.0.0: + resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} + engines: {node: '>= 14.16'} + pend@1.2.0: resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} @@ -3646,6 +4504,10 @@ packages: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} + pkg-dir@4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} + pkg-types@1.0.2: resolution: {integrity: sha512-hM58GKXOcj8WTqUXnsQyJYXdeAPbythQgEF3nTcEo+nkD49chjQ9IKm/QJy9xf6JakXptz86h7ecP2024rrLaQ==} @@ -3654,6 +4516,10 @@ packages: engines: {node: '>=14'} hasBin: true + polished@4.3.1: + resolution: {integrity: sha512-OBatVyC/N7SCW/FaDHrSd+vn0o5cS855TOmYi4OkdWUMSJCET/xip//ch8xGUvtr3i44X9LVyWwQlRMTN3pwSA==} + engines: {node: '>=10'} + postcss@8.4.21: resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==} engines: {node: ^10 || ^12 || >=14} @@ -3677,6 +4543,18 @@ packages: process-nextick-args@2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + process@0.11.10: + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} + + progress@2.0.3: + resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} + engines: {node: '>=0.4.0'} + + proxy-addr@2.0.7: + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} + proxy-from-env@1.1.0: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} @@ -3703,6 +4581,10 @@ packages: typescript: optional: true + qs@6.13.0: + resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==} + engines: {node: '>=0.6'} + query-selector-shadow-dom@1.0.1: resolution: {integrity: sha512-lT5yCqEBgfoMYpf3F2xQRK7zEr1rhIIZuceDK6+xRkJQ4NMbHTwXqk4NkwDwQMNqXgG9r9fyHnzwNVs6zV5KRw==} @@ -3716,9 +4598,38 @@ packages: resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} engines: {node: '>=10'} + range-parser@1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} + + raw-body@2.5.2: + resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} + engines: {node: '>= 0.8'} + + react-colorful@5.6.1: + resolution: {integrity: sha512-1exovf0uGTGyq5mXQT0zgQ80uvj2PCwvF8zY1RN9/vbJVSjSo3fsB/4L3ObbF7u70NduSiK4xu4Y6q1MHoUGEw==} + peerDependencies: + react: '>=16.8.0' + react-dom: '>=16.8.0' + + react-confetti@6.1.0: + resolution: {integrity: sha512-7Ypx4vz0+g8ECVxr88W9zhcQpbeujJAVqL14ZnXJ3I23mOI9/oBVTQ3dkJhUmB0D6XOtCZEM6N0Gm9PMngkORw==} + engines: {node: '>=10.18'} + peerDependencies: + react: ^16.3.0 || ^17.0.1 || ^18.0.0 + + react-dom@18.3.1: + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} + peerDependencies: + react: ^18.3.1 + react-is@17.0.2: resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} + react@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} + engines: {node: '>=0.10.0'} + read-pkg-up@9.1.0: resolution: {integrity: sha512-vaMRR1AC1nrd5CQM0PhlRsO5oc2AAigqr7cCrZ/MW/Rsaflz4RlgzkpL4qoU/z1F6wrbd85iFv1OQj/y5RdGvg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -3741,9 +4652,24 @@ packages: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} + readdirp@4.0.2: + resolution: {integrity: sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==} + engines: {node: '>= 14.16.0'} + + recast@0.23.9: + resolution: {integrity: sha512-Hx/BGIbwj+Des3+xy5uAtAbdCyqK9y9wbBcDFDYanLS9JnMqf7OeF87HQwUimE87OEc72mr6tkKUKMBBL+hF9Q==} + engines: {node: '>= 4'} + + redent@3.0.0: + resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} + engines: {node: '>=8'} + regenerator-runtime@0.13.11: resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} + regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + regexp.prototype.flags@1.4.3: resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==} engines: {node: '>= 0.4'} @@ -3752,6 +4678,12 @@ packages: resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} engines: {node: '>=8'} + rehype-external-links@3.0.0: + resolution: {integrity: sha512-yp+e5N9V3C6bwBeAC4n796kc86M4gJCdlVhiMTxIrJG5UHDMh+PJANf9heqORJbt1nrCbDwIlAZKjANIaVBbvw==} + + rehype-slug@6.0.0: + resolution: {integrity: sha512-lWyvf/jwu+oS5+hL5eClVd3hNdmwM1kAC0BUvEGD19pajQMIzcNUd/k9GsfQ+FfECvX+JE+e9/btsKH0EjJT6A==} + require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} @@ -3872,6 +4804,9 @@ packages: resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} engines: {node: '>=v12.22.7'} + scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} + semver@6.3.0: resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} hasBin: true @@ -3886,13 +4821,33 @@ packages: engines: {node: '>=10'} hasBin: true + semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + engines: {node: '>=10'} + hasBin: true + + send@0.19.0: + resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==} + engines: {node: '>= 0.8.0'} + serialize-error@8.1.0: resolution: {integrity: sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==} engines: {node: '>=10'} + serve-static@1.16.2: + resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==} + engines: {node: '>= 0.8.0'} + set-cookie-parser@2.6.0: resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==} + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + + setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} @@ -3907,6 +4862,10 @@ packages: side-channel@1.0.4: resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + side-channel@1.0.6: + resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} + engines: {node: '>= 0.4'} + siginfo@2.0.0: resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} @@ -3949,6 +4908,9 @@ packages: resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} deprecated: Please use @jridgewell/sourcemap-codec instead + space-separated-tokens@2.0.2: + resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} + spawn-command@0.0.2-1: resolution: {integrity: sha512-n98l9E2RMSJ9ON1AKisHzz7V42VDiBQGY6PB1BwRglz99wpVsSuGzQ+jOi6lFXBGVTCrRpltvjm+/XA+tpeJrg==} @@ -3967,6 +4929,10 @@ packages: stackback@0.0.2: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + statuses@2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + std-env@3.3.2: resolution: {integrity: sha512-uUZI65yrV2Qva5gqE0+A7uVAvO40iPo6jGhs7s8keRfHCmtg+uB2X6EiLGCI9IgL1J17xGhvoOqSz79lzICPTA==} @@ -3974,6 +4940,10 @@ packages: resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} engines: {node: '>= 0.4'} + storybook@8.3.5: + resolution: {integrity: sha512-hYQVtP2l+3kO8oKDn4fjXXQYxgTRsj/LaV6lUMJH0zt+OhVmDXKJLxmdUP4ieTm0T8wEbSYosFavgPcQZlxRfw==} + hasBin: true + streamsearch@1.1.0: resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} engines: {node: '>=10.0.0'} @@ -4010,6 +4980,10 @@ packages: resolution: {integrity: sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==} engines: {node: '>=12'} + strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + strip-bom@3.0.0: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} @@ -4065,6 +5039,14 @@ packages: peerDependencies: svelte: ^3.55.0 || ^4.0.0-next.0 || ^4.0.0 || ^5.0.0-next.0 + svelte-check@4.0.4: + resolution: {integrity: sha512-AcHWIPuZb1mh/jKoIrww0ebBPpAvwWd1bfXCnwC2dx4OkydNMaiG//+Xnry91RJMHFH7CiE+6Y2p332DRIaOXQ==} + engines: {node: '>= 18.0.0'} + hasBin: true + peerDependencies: + svelte: ^4.0.0 || ^5.0.0-next.0 + typescript: '>=5.0.0' + svelte-hmr@0.15.1: resolution: {integrity: sha512-BiKB4RZ8YSwRKCNVdNxK/GfY+r4Kjgp9jCLEy0DuqAKfmQtpL38cQK3afdpjw4sqSs4PLi3jIPJIFp259NkZtA==} engines: {node: ^12.20 || ^14.13.1 || >= 16} @@ -4077,6 +5059,9 @@ packages: peerDependencies: svelte: ^3.19.0 || ^4.0.0 + svelte-material-ui@7.0.0: + resolution: {integrity: sha512-j8vT8zX8ekQ8MNBAvU9q/okQrXCYrJSxoDH06PQNCYrbNrTYzqKa+Fb9KSEGTaqs4PXi9aqjn687ykCiGqbPmQ==} + svelte-material-ui@7.0.0-beta.8: resolution: {integrity: sha512-QY/nFIDckTAYrH90HYckWyteWkiOODwK48Ll0dzOAV/gNAmaI1JVkPB2RgAcEifALO3sNhF2guYYjHZmsKe1dQ==} @@ -4206,6 +5191,12 @@ packages: svelte: ^3.55 typescript: ^4.9.4 || ^5.0.0 + svelte2tsx@0.7.21: + resolution: {integrity: sha512-cdYR5gYBK0Ys3/jzGu9yfW9oxGLtLAnxcKtS7oJy2pjLhLLYSZcWeeeuaY9SMULwlqMZ1HfngGH3n5VdquRC3Q==} + peerDependencies: + svelte: ^3.55 || ^4.0.0-next.0 || ^4.0 || ^5.0.0-next.0 + typescript: ^4.9.4 || ^5.0.0 + svelte@3.55.0: resolution: {integrity: sha512-uGu2FVMlOuey4JoKHKrpZFkoYyj0VLjJdz47zX5+gVK5odxHM40RVhar9/iK2YFRVxvfg9FkhfVlR0sjeIrOiA==} engines: {node: '>= 8'} @@ -4218,6 +5209,10 @@ packages: resolution: {integrity: sha512-IY1rnGr6izd10B0A8LqsBfmlT5OILVuZ7XsI0vdGPEvuonFV7NYEUK4dAkm9Zg2q0Um92kYjTpS1CAP3Nh/KWw==} engines: {node: '>=16'} + sveltedoc-parser@4.2.1: + resolution: {integrity: sha512-sWJRa4qOfRdSORSVw9GhfDEwsbsYsegnDzBevUCF6k/Eis/QqCu9lJ6I0+d/E2wOWCjOhlcJ3+jl/Iur+5mmCw==} + engines: {node: '>=10.0.0'} + symbol-tree@3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} @@ -4228,6 +5223,9 @@ packages: resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} engines: {node: '>=6'} + telejson@7.2.0: + resolution: {integrity: sha512-1QTEcJkJEhc8OnStBx/ILRu5J2p0GjvWsBx56bmZRqnrkdBMUe+nX92jxV+p3dB4CP6PZCdJMQJwCggkNBMzkQ==} + test-exclude@6.0.0: resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} engines: {node: '>=8'} @@ -4249,6 +5247,9 @@ packages: tiny-glob@0.2.9: resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==} + tiny-invariant@1.3.3: + resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} + tinybench@2.3.1: resolution: {integrity: sha512-hGYWYBMPr7p4g5IarQE7XhlyWveh1EKhy4wUBS1LrHXCKYgvz+4/jCqgmJqZxxldesn05vccrtME2RLLZNW7iA==} @@ -4259,6 +5260,10 @@ packages: resolution: {integrity: sha512-2ksntHOKf893wSAH4z/+JbPpi92esw8Gn9N2deXX+B0EO92hexAVI9GIZZPx7P5aYo5KULfeOSt3kMOmSOy6uA==} engines: {node: '>=14.0.0'} + tinyrainbow@1.2.0: + resolution: {integrity: sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==} + engines: {node: '>=14.0.0'} + tinyspy@1.0.2: resolution: {integrity: sha512-bSGlgwLBYf7PnUsQ6WOc6SJ3pGOcd+d8AA6EUnLDDM0kWEstC1JIlSZA3UNliDXhd9ABoS7hiRBDCu+XP/sf1Q==} engines: {node: '>=14.0.0'} @@ -4267,6 +5272,10 @@ packages: resolution: {integrity: sha512-7eORpyqImoOvkQJCSkL0d0mB4NHHIFAy4b1u8PHdDa7SjGS2njzl6/lyGoZLm+eyYEtlUmFGE0rFj66SWxZgQQ==} engines: {node: '>=14.0.0'} + tinyspy@3.0.2: + resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==} + engines: {node: '>=14.0.0'} + to-fast-properties@2.0.0: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} engines: {node: '>=4'} @@ -4275,6 +5284,10 @@ packages: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} + toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + totalist@3.0.0: resolution: {integrity: sha512-eM+pCBxXO/njtF7vdFsHuqb+ElbxqtI4r5EAvk6grfAFyJ6IvWlSkfZ5T9ozC6xWw3Fj1fGoSmrl0gUs46JVIw==} engines: {node: '>=6'} @@ -4300,6 +5313,10 @@ packages: peerDependencies: typescript: '>=4.2.0' + ts-dedent@2.2.0: + resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==} + engines: {node: '>=6.10'} + tsconfig-paths@3.14.2: resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==} @@ -4321,39 +5338,8 @@ packages: peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' - turbo-darwin-64@1.8.3: - resolution: {integrity: sha512-bLM084Wr17VAAY/EvCWj7+OwYHvI9s/NdsvlqGp8iT5HEYVimcornCHespgJS/yvZDfC+mX9EQkn3V2JmYgGGw==} - cpu: [x64] - os: [darwin] - - turbo-darwin-arm64@1.8.3: - resolution: {integrity: sha512-4oZjXtzakopMK110kue3z/hqu3WLv+eDLZOX1NGdo49gqca9BeD8GbH+sXpAp6tqyeuzpss+PIliVYuyt7LgbA==} - cpu: [arm64] - os: [darwin] - - turbo-linux-64@1.8.3: - resolution: {integrity: sha512-uvX2VKotf5PU14FCxJA5iHItPQno2JWzerMd+g3/h/Asay6dvxvtVjc39MQeGT0H5njSvzVKFkT+3/5q8lgOEg==} - cpu: [x64] - os: [linux] - - turbo-linux-arm64@1.8.3: - resolution: {integrity: sha512-E1p+oH3XKMaPS4rqWhYsL4j2Pzc0d/9P5KU7Kn1kqVLo2T3iRA7n2KVULEieUNE0nTH+aIJPXYXOpqCI5wFJaA==} - cpu: [arm64] - os: [linux] - - turbo-windows-64@1.8.3: - resolution: {integrity: sha512-cnzAytHtoLXd0J7aNzRpZFpL/GTjcBmkvAPlbOdf/Pl1iwS4qzGrudZQ+OM1lmLgLIfBPIavsGHBknTwTNib4A==} - cpu: [x64] - os: [win32] - - turbo-windows-arm64@1.8.3: - resolution: {integrity: sha512-ulIiItNm2w/zYJdD5/oAzjzNns1IjbpweRzpsE8tLXaWwo6+fnXXkyloUug0IUhcd2k6fJXfoiDZfygqpOVuXg==} - cpu: [arm64] - os: [win32] - - turbo@1.8.3: - resolution: {integrity: sha512-zGrkU1EuNFmkq6iky6LcMqD4h0OLE8XysVFxQWRIZbcTNnf0XAycbsbeEyiJpiWeqb7qtg2bVuY9EYcNoNhVuQ==} - hasBin: true + tween-functions@1.2.0: + resolution: {integrity: sha512-PZBtLYcCLtEcjL14Fzb1gSxPBeL7nWvGhO5ZFPGqziCcr8uvHp0NDmdjBchp6KHL+tExcg0m3NISmKxhU394dA==} type-check@0.3.2: resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==} @@ -4375,6 +5361,10 @@ packages: resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} engines: {node: '>=12.20'} + type-is@1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} + typed-array-length@1.0.4: resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} @@ -4409,10 +5399,36 @@ packages: resolution: {integrity: sha512-Ji2IJhFXZY0x/0tVBXeQwgPlLWw13GVzpsWPQ3rV50IFMMof2I55PZZxtm4P6iNq+L5znYN9nSTAq0ZyE6lSJw==} engines: {node: '>=14.0'} + unist-util-is@6.0.0: + resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} + + unist-util-visit-parents@6.0.1: + resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} + + unist-util-visit@5.0.0: + resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} + universalify@0.2.0: resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} engines: {node: '>= 4.0.0'} + universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + + unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + + unplugin@1.14.1: + resolution: {integrity: sha512-lBlHbfSFPToDYp9pjXlUEFVxYLaue9f9T1HC+4OHlmj+HnMDdz9oZY+erXfoCe/5V/7gKUSY2jpXPb9S7f0f/w==} + engines: {node: '>=14.0.0'} + peerDependencies: + webpack-sources: ^3 + peerDependenciesMeta: + webpack-sources: + optional: true + uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} @@ -4422,10 +5438,20 @@ packages: util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + util@0.12.5: + resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==} + + utils-merge@1.0.1: + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} + engines: {node: '>= 0.4.0'} + uuid@9.0.0: resolution: {integrity: sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==} hasBin: true + v8-compile-cache@2.4.0: + resolution: {integrity: sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==} + v8-to-istanbul@9.1.0: resolution: {integrity: sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==} engines: {node: '>=10.12.0'} @@ -4433,6 +5459,10 @@ packages: validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + vite-node@0.29.7: resolution: {integrity: sha512-PakCZLvz37yFfUPWBnLa1OYHPCGm5v4pmRrTcFN4V/N/T3I6tyP3z07S//9w+DdeL7vVd0VSeyMZuAh+449ZWw==} engines: {node: '>=v14.16.0'} @@ -4532,6 +5562,37 @@ packages: terser: optional: true + vite@5.4.8: + resolution: {integrity: sha512-FqrItQ4DT1NC4zCUqMB4c4AZORMKIa0m8/URVCZ77OZ/QSNeJ54bU1vrFADbDsuwfIPcgknRkmqakQcgnL4GiQ==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + sass-embedded: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + vitefu@0.2.4: resolution: {integrity: sha512-fanAXjSaf9xXtOOeno8wZXIhgia+CZury481LsDaV++lSvcU2R9Ch2bPh3PYFyoHW+w9LqAeYRISVQjUIew14g==} peerDependencies: @@ -4626,6 +5687,9 @@ packages: resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} engines: {node: '>=12'} + webpack-virtual-modules@0.6.2: + resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} + well-known-symbols@2.0.0: resolution: {integrity: sha512-ZMjC3ho+KXo0BfJb7JgtQ5IBuvnShdlACNkKkdsqBmYw3bPAaJfPeYUo6tLUaT5tG/Gkh7xkpBhKRQ9e7pyg9Q==} engines: {node: '>=6'} @@ -4763,6 +5827,8 @@ packages: snapshots: + '@adobe/css-tools@4.4.0': {} + '@ampproject/remapping@2.3.0': dependencies: '@jridgewell/gen-mapping': 0.3.5 @@ -4812,6 +5878,10 @@ snapshots: dependencies: regenerator-runtime: 0.13.11 + '@babel/runtime@7.25.7': + dependencies: + regenerator-runtime: 0.14.1 + '@babel/template@7.20.7': dependencies: '@babel/code-frame': 7.18.6 @@ -4876,8 +5946,20 @@ snapshots: '@biomejs/cli-win32-x64@1.9.2': optional: true - '@esbuild/aix-ppc64@0.21.5': - optional: true + '@chromatic-com/storybook@1.9.0(react@18.3.1)': + dependencies: + chromatic: 11.12.5 + filesize: 10.1.6 + jsonfile: 6.1.0 + react-confetti: 6.1.0(react@18.3.1) + strip-ansi: 7.1.0 + transitivePeerDependencies: + - '@chromatic-com/cypress' + - '@chromatic-com/playwright' + - react + + '@esbuild/aix-ppc64@0.21.5': + optional: true '@esbuild/android-arm64@0.16.16': optional: true @@ -5109,6 +6191,14 @@ snapshots: transitivePeerDependencies: - supports-color + '@humanwhocodes/config-array@0.9.5': + dependencies: + '@humanwhocodes/object-schema': 1.2.1 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + '@humanwhocodes/module-importer@1.0.1': {} '@humanwhocodes/object-schema@1.2.1': {} @@ -5118,7 +6208,7 @@ snapshots: '@jridgewell/gen-mapping@0.3.2': dependencies: '@jridgewell/set-array': 1.1.2 - '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/sourcemap-codec': 1.5.0 '@jridgewell/trace-mapping': 0.3.17 '@jridgewell/gen-mapping@0.3.5': @@ -5678,6 +6768,12 @@ snapshots: '@material/theme': 14.0.0 tslib: 2.7.0 + '@mdx-js/react@3.0.1(@types/react@18.3.11)(react@18.3.1)': + dependencies: + '@types/mdx': 2.0.13 + '@types/react': 18.3.11 + react: 18.3.1 + '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 @@ -5763,6 +6859,22 @@ snapshots: '@sindresorhus/is@5.3.0': {} + '@smui-extra/accordion@7.0.0(svelte@4.2.19)(typescript@5.5.4)': + dependencies: + '@material/animation': 14.0.0 + '@material/elevation': 14.0.0 + '@material/feature-targeting': 14.0.0 + '@material/ripple': 14.0.0 + '@material/theme': 14.0.0 + '@material/typography': 14.0.0 + '@smui/common': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/paper': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/ripple': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + svelte2tsx: 0.7.21(svelte@4.2.19)(typescript@5.5.4) + transitivePeerDependencies: + - svelte + - typescript + '@smui-extra/accordion@7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2)': dependencies: '@material/animation': 14.0.0 @@ -5779,6 +6891,18 @@ snapshots: - svelte - typescript + '@smui-extra/autocomplete@7.0.0(svelte@4.2.19)(typescript@5.5.4)': + dependencies: + '@smui/common': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/list': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/menu': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/menu-surface': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/textfield': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + svelte2tsx: 0.7.21(svelte@4.2.19)(typescript@5.5.4) + transitivePeerDependencies: + - svelte + - typescript + '@smui-extra/autocomplete@7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2)': dependencies: '@smui/common': 7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2) @@ -5791,6 +6915,19 @@ snapshots: - svelte - typescript + '@smui-extra/badge@7.0.0(svelte@4.2.19)(typescript@5.5.4)': + dependencies: + '@material/feature-targeting': 14.0.0 + '@material/rtl': 14.0.0 + '@material/shape': 14.0.0 + '@material/theme': 14.0.0 + '@material/typography': 14.0.0 + '@smui/common': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + svelte2tsx: 0.7.21(svelte@4.2.19)(typescript@5.5.4) + transitivePeerDependencies: + - svelte + - typescript + '@smui-extra/badge@7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2)': dependencies: '@material/feature-targeting': 14.0.0 @@ -5804,6 +6941,17 @@ snapshots: - svelte - typescript + '@smui-extra/bottom-app-bar@7.0.0(svelte@4.2.19)(typescript@5.5.4)': + dependencies: + '@material/feature-targeting': 14.0.0 + '@material/theme': 14.0.0 + '@smui/common': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/paper': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + svelte2tsx: 0.7.21(svelte@4.2.19)(typescript@5.5.4) + transitivePeerDependencies: + - svelte + - typescript + '@smui-extra/bottom-app-bar@7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2)': dependencies: '@material/feature-targeting': 14.0.0 @@ -5815,6 +6963,15 @@ snapshots: - svelte - typescript + '@smui/banner@7.0.0(svelte@4.2.19)(typescript@5.5.4)': + dependencies: + '@material/banner': 14.0.0 + '@smui/common': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + svelte2tsx: 0.7.21(svelte@4.2.19)(typescript@5.5.4) + transitivePeerDependencies: + - svelte + - typescript + '@smui/banner@7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2)': dependencies: '@material/banner': 14.0.0 @@ -5824,6 +6981,36 @@ snapshots: - svelte - typescript + '@smui/button@7.0.0(svelte@3.55.0)(typescript@5.2.2)': + dependencies: + '@material/button': 14.0.0 + '@material/elevation': 14.0.0 + '@material/feature-targeting': 14.0.0 + '@material/ripple': 14.0.0 + '@material/shape': 14.0.0 + '@material/theme': 14.0.0 + '@smui/common': 7.0.0(svelte@3.55.0)(typescript@5.2.2) + '@smui/ripple': 7.0.0(svelte@3.55.0)(typescript@5.2.2) + svelte2tsx: 0.7.21(svelte@3.55.0)(typescript@5.2.2) + transitivePeerDependencies: + - svelte + - typescript + + '@smui/button@7.0.0(svelte@4.2.19)(typescript@5.5.4)': + dependencies: + '@material/button': 14.0.0 + '@material/elevation': 14.0.0 + '@material/feature-targeting': 14.0.0 + '@material/ripple': 14.0.0 + '@material/shape': 14.0.0 + '@material/theme': 14.0.0 + '@smui/common': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/ripple': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + svelte2tsx: 0.7.21(svelte@4.2.19)(typescript@5.5.4) + transitivePeerDependencies: + - svelte + - typescript + '@smui/button@7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2)': dependencies: '@material/button': 14.0.0 @@ -5839,10 +7026,22 @@ snapshots: - svelte - typescript + '@smui/card@7.0.0(svelte@4.2.19)(typescript@5.5.4)': + dependencies: + '@material/card': 14.0.0 + '@smui/button': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/common': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/icon-button': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/ripple': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + svelte2tsx: 0.7.21(svelte@4.2.19)(typescript@5.5.4) + transitivePeerDependencies: + - svelte + - typescript + '@smui/card@7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2)': dependencies: '@material/card': 14.0.0 - '@smui/button': 7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2) + '@smui/button': 7.0.0(svelte@3.55.0)(typescript@5.2.2) '@smui/common': 7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2) '@smui/icon-button': 7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2) '@smui/ripple': 7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2) @@ -5851,6 +7050,16 @@ snapshots: - svelte - typescript + '@smui/checkbox@7.0.0(svelte@4.2.19)(typescript@5.5.4)': + dependencies: + '@material/checkbox': 14.0.0 + '@smui/common': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/ripple': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + svelte2tsx: 0.7.21(svelte@4.2.19)(typescript@5.5.4) + transitivePeerDependencies: + - svelte + - typescript + '@smui/checkbox@7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2)': dependencies: '@material/checkbox': 14.0.0 @@ -5861,6 +7070,18 @@ snapshots: - svelte - typescript + '@smui/chips@7.0.0(svelte@4.2.19)(typescript@5.5.4)': + dependencies: + '@material/chips': 14.0.0 + '@material/dom': 14.0.0 + '@material/rtl': 14.0.0 + '@smui/common': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/ripple': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + svelte2tsx: 0.7.21(svelte@4.2.19)(typescript@5.5.4) + transitivePeerDependencies: + - svelte + - typescript + '@smui/chips@7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2)': dependencies: '@material/chips': 14.0.0 @@ -5873,6 +7094,15 @@ snapshots: - svelte - typescript + '@smui/circular-progress@7.0.0(svelte@4.2.19)(typescript@5.5.4)': + dependencies: + '@material/circular-progress': 14.0.0 + '@smui/common': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + svelte2tsx: 0.7.21(svelte@4.2.19)(typescript@5.5.4) + transitivePeerDependencies: + - svelte + - typescript + '@smui/circular-progress@7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2)': dependencies: '@material/circular-progress': 14.0.0 @@ -5882,6 +7112,22 @@ snapshots: - svelte - typescript + '@smui/common@7.0.0(svelte@3.55.0)(typescript@5.2.2)': + dependencies: + '@material/dom': 14.0.0 + svelte2tsx: 0.7.21(svelte@3.55.0)(typescript@5.2.2) + transitivePeerDependencies: + - svelte + - typescript + + '@smui/common@7.0.0(svelte@4.2.19)(typescript@5.5.4)': + dependencies: + '@material/dom': 14.0.0 + svelte2tsx: 0.7.21(svelte@4.2.19)(typescript@5.5.4) + transitivePeerDependencies: + - svelte + - typescript + '@smui/common@7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2)': dependencies: '@material/dom': 14.0.0 @@ -5890,6 +7136,20 @@ snapshots: - svelte - typescript + '@smui/data-table@7.0.0(svelte@4.2.19)(typescript@5.5.4)': + dependencies: + '@material/data-table': 14.0.0 + '@material/dom': 14.0.0 + '@smui/checkbox': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/common': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/icon-button': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/ripple': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/select': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + svelte2tsx: 0.7.21(svelte@4.2.19)(typescript@5.5.4) + transitivePeerDependencies: + - svelte + - typescript + '@smui/data-table@7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2)': dependencies: '@material/data-table': 14.0.0 @@ -5897,13 +7157,24 @@ snapshots: '@smui/checkbox': 7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2) '@smui/common': 7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2) '@smui/icon-button': 7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2) - '@smui/ripple': 7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2) + '@smui/ripple': 7.0.0(svelte@3.55.0)(typescript@5.2.2) '@smui/select': 7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2) svelte2tsx: 0.6.14(svelte@3.55.0)(typescript@5.2.2) transitivePeerDependencies: - svelte - typescript + '@smui/dialog@7.0.0(svelte@4.2.19)(typescript@5.5.4)': + dependencies: + '@material/button': 14.0.0 + '@material/dialog': 14.0.0 + '@material/dom': 14.0.0 + '@smui/common': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + svelte2tsx: 0.7.21(svelte@4.2.19)(typescript@5.5.4) + transitivePeerDependencies: + - svelte + - typescript + '@smui/dialog@7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2)': dependencies: '@material/button': 14.0.0 @@ -5915,6 +7186,16 @@ snapshots: - svelte - typescript + '@smui/drawer@7.0.0(svelte@4.2.19)(typescript@5.5.4)': + dependencies: + '@material/dom': 14.0.0 + '@material/drawer': 14.0.0 + '@smui/common': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + svelte2tsx: 0.7.21(svelte@4.2.19)(typescript@5.5.4) + transitivePeerDependencies: + - svelte + - typescript + '@smui/drawer@7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2)': dependencies: '@material/dom': 14.0.0 @@ -5925,17 +7206,37 @@ snapshots: - svelte - typescript + '@smui/fab@7.0.0(svelte@4.2.19)(typescript@5.5.4)': + dependencies: + '@material/fab': 14.0.0 + '@material/feature-targeting': 14.0.0 + '@smui/common': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/ripple': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + svelte2tsx: 0.7.21(svelte@4.2.19)(typescript@5.5.4) + transitivePeerDependencies: + - svelte + - typescript + '@smui/fab@7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2)': dependencies: '@material/fab': 14.0.0 '@material/feature-targeting': 14.0.0 '@smui/common': 7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2) - '@smui/ripple': 7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2) + '@smui/ripple': 7.0.0(svelte@3.55.0)(typescript@5.2.2) svelte2tsx: 0.6.14(svelte@3.55.0)(typescript@5.2.2) transitivePeerDependencies: - svelte - typescript + '@smui/floating-label@7.0.0(svelte@4.2.19)(typescript@5.5.4)': + dependencies: + '@material/floating-label': 14.0.0 + '@smui/common': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + svelte2tsx: 0.7.21(svelte@4.2.19)(typescript@5.5.4) + transitivePeerDependencies: + - svelte + - typescript + '@smui/floating-label@7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2)': dependencies: '@material/floating-label': 14.0.0 @@ -5945,6 +7246,17 @@ snapshots: - svelte - typescript + '@smui/form-field@7.0.0(svelte@4.2.19)(typescript@5.5.4)': + dependencies: + '@material/feature-targeting': 14.0.0 + '@material/form-field': 14.0.0 + '@material/rtl': 14.0.0 + '@smui/common': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + svelte2tsx: 0.7.21(svelte@4.2.19)(typescript@5.5.4) + transitivePeerDependencies: + - svelte + - typescript + '@smui/form-field@7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2)': dependencies: '@material/feature-targeting': 14.0.0 @@ -5956,17 +7268,37 @@ snapshots: - svelte - typescript + '@smui/icon-button@7.0.0(svelte@4.2.19)(typescript@5.5.4)': + dependencies: + '@material/density': 14.0.0 + '@material/icon-button': 14.0.0 + '@smui/common': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/ripple': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + svelte2tsx: 0.7.21(svelte@4.2.19)(typescript@5.5.4) + transitivePeerDependencies: + - svelte + - typescript + '@smui/icon-button@7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2)': dependencies: '@material/density': 14.0.0 '@material/icon-button': 14.0.0 '@smui/common': 7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2) - '@smui/ripple': 7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2) + '@smui/ripple': 7.0.0(svelte@3.55.0)(typescript@5.2.2) svelte2tsx: 0.6.14(svelte@3.55.0)(typescript@5.2.2) transitivePeerDependencies: - svelte - typescript + '@smui/image-list@7.0.0(svelte@4.2.19)(typescript@5.5.4)': + dependencies: + '@material/image-list': 14.0.0 + '@smui/common': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + svelte2tsx: 0.7.21(svelte@4.2.19)(typescript@5.5.4) + transitivePeerDependencies: + - svelte + - typescript + '@smui/image-list@7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2)': dependencies: '@material/image-list': 14.0.0 @@ -5976,6 +7308,15 @@ snapshots: - svelte - typescript + '@smui/layout-grid@7.0.0(svelte@4.2.19)(typescript@5.5.4)': + dependencies: + '@material/layout-grid': 14.0.0 + '@smui/common': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + svelte2tsx: 0.7.21(svelte@4.2.19)(typescript@5.5.4) + transitivePeerDependencies: + - svelte + - typescript + '@smui/layout-grid@7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2)': dependencies: '@material/layout-grid': 14.0.0 @@ -5985,6 +7326,15 @@ snapshots: - svelte - typescript + '@smui/line-ripple@7.0.0(svelte@4.2.19)(typescript@5.5.4)': + dependencies: + '@material/line-ripple': 14.0.0 + '@smui/common': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + svelte2tsx: 0.7.21(svelte@4.2.19)(typescript@5.5.4) + transitivePeerDependencies: + - svelte + - typescript + '@smui/line-ripple@7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2)': dependencies: '@material/line-ripple': 14.0.0 @@ -5994,6 +7344,15 @@ snapshots: - svelte - typescript + '@smui/linear-progress@7.0.0(svelte@4.2.19)(typescript@5.5.4)': + dependencies: + '@material/linear-progress': 14.0.0 + '@smui/common': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + svelte2tsx: 0.7.21(svelte@4.2.19)(typescript@5.5.4) + transitivePeerDependencies: + - svelte + - typescript + '@smui/linear-progress@7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2)': dependencies: '@material/linear-progress': 14.0.0 @@ -6003,6 +7362,18 @@ snapshots: - svelte - typescript + '@smui/list@7.0.0(svelte@4.2.19)(typescript@5.5.4)': + dependencies: + '@material/dom': 14.0.0 + '@material/feature-targeting': 14.0.0 + '@material/list': 14.0.0 + '@smui/common': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/ripple': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + svelte2tsx: 0.7.21(svelte@4.2.19)(typescript@5.5.4) + transitivePeerDependencies: + - svelte + - typescript + '@smui/list@7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2)': dependencies: '@material/dom': 14.0.0 @@ -6015,6 +7386,16 @@ snapshots: - svelte - typescript + '@smui/menu-surface@7.0.0(svelte@4.2.19)(typescript@5.5.4)': + dependencies: + '@material/animation': 14.0.0 + '@material/menu-surface': 14.0.0 + '@smui/common': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + svelte2tsx: 0.7.21(svelte@4.2.19)(typescript@5.5.4) + transitivePeerDependencies: + - svelte + - typescript + '@smui/menu-surface@7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2)': dependencies: '@material/animation': 14.0.0 @@ -6025,6 +7406,18 @@ snapshots: - svelte - typescript + '@smui/menu@7.0.0(svelte@4.2.19)(typescript@5.5.4)': + dependencies: + '@material/dom': 14.0.0 + '@material/menu': 14.0.0 + '@smui/common': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/list': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/menu-surface': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + svelte2tsx: 0.7.21(svelte@4.2.19)(typescript@5.5.4) + transitivePeerDependencies: + - svelte + - typescript + '@smui/menu@7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2)': dependencies: '@material/dom': 14.0.0 @@ -6037,6 +7430,16 @@ snapshots: - svelte - typescript + '@smui/notched-outline@7.0.0(svelte@4.2.19)(typescript@5.5.4)': + dependencies: + '@material/notched-outline': 14.0.0 + '@smui/common': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/floating-label': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + svelte2tsx: 0.7.21(svelte@4.2.19)(typescript@5.5.4) + transitivePeerDependencies: + - svelte + - typescript + '@smui/notched-outline@7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2)': dependencies: '@material/notched-outline': 14.0.0 @@ -6047,6 +7450,19 @@ snapshots: - svelte - typescript + '@smui/paper@7.0.0(svelte@4.2.19)(typescript@5.5.4)': + dependencies: + '@material/elevation': 14.0.0 + '@material/feature-targeting': 14.0.0 + '@material/shape': 14.0.0 + '@material/theme': 14.0.0 + '@material/typography': 14.0.0 + '@smui/common': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + svelte2tsx: 0.7.21(svelte@4.2.19)(typescript@5.5.4) + transitivePeerDependencies: + - svelte + - typescript + '@smui/paper@7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2)': dependencies: '@material/elevation': 14.0.0 @@ -6060,16 +7476,46 @@ snapshots: - svelte - typescript + '@smui/radio@7.0.0(svelte@4.2.19)(typescript@5.5.4)': + dependencies: + '@material/radio': 14.0.0 + '@smui/common': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/ripple': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + svelte2tsx: 0.7.21(svelte@4.2.19)(typescript@5.5.4) + transitivePeerDependencies: + - svelte + - typescript + '@smui/radio@7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2)': dependencies: '@material/radio': 14.0.0 '@smui/common': 7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2) - '@smui/ripple': 7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2) + '@smui/ripple': 7.0.0(svelte@3.55.0)(typescript@5.2.2) svelte2tsx: 0.6.14(svelte@3.55.0)(typescript@5.2.2) transitivePeerDependencies: - svelte - typescript + '@smui/ripple@7.0.0(svelte@3.55.0)(typescript@5.2.2)': + dependencies: + '@material/dom': 14.0.0 + '@material/ripple': 14.0.0 + '@smui/common': 7.0.0(svelte@3.55.0)(typescript@5.2.2) + svelte2tsx: 0.7.21(svelte@3.55.0)(typescript@5.2.2) + transitivePeerDependencies: + - svelte + - typescript + + '@smui/ripple@7.0.0(svelte@4.2.19)(typescript@5.5.4)': + dependencies: + '@material/dom': 14.0.0 + '@material/ripple': 14.0.0 + '@smui/common': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + svelte2tsx: 0.7.21(svelte@4.2.19)(typescript@5.5.4) + transitivePeerDependencies: + - svelte + - typescript + '@smui/ripple@7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2)': dependencies: '@material/dom': 14.0.0 @@ -6080,6 +7526,18 @@ snapshots: - svelte - typescript + '@smui/segmented-button@7.0.0(svelte@4.2.19)(typescript@5.5.4)': + dependencies: + '@material/base': 14.0.0 + '@material/ripple': 14.0.0 + '@material/segmented-button': 14.0.0 + '@smui/common': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/ripple': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + svelte2tsx: 0.7.21(svelte@4.2.19)(typescript@5.5.4) + transitivePeerDependencies: + - svelte + - typescript + '@smui/segmented-button@7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2)': dependencies: '@material/segmented-button': 14.0.0 @@ -6090,6 +7548,26 @@ snapshots: - svelte - typescript + '@smui/select@7.0.0(svelte@4.2.19)(typescript@5.5.4)': + dependencies: + '@material/feature-targeting': 14.0.0 + '@material/ripple': 14.0.0 + '@material/rtl': 14.0.0 + '@material/select': 14.0.0 + '@material/theme': 14.0.0 + '@smui/common': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/floating-label': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/line-ripple': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/list': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/menu': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/menu-surface': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/notched-outline': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/ripple': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + svelte2tsx: 0.7.21(svelte@4.2.19)(typescript@5.5.4) + transitivePeerDependencies: + - svelte + - typescript + '@smui/select@7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2)': dependencies: '@material/feature-targeting': 14.0.0 @@ -6110,23 +7588,48 @@ snapshots: - svelte - typescript + '@smui/slider@7.0.0(svelte@4.2.19)(typescript@5.5.4)': + dependencies: + '@material/dom': 14.0.0 + '@material/slider': 14.0.0 + '@smui/common': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/ripple': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + svelte2tsx: 0.7.21(svelte@4.2.19)(typescript@5.5.4) + transitivePeerDependencies: + - svelte + - typescript + '@smui/slider@7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2)': dependencies: '@material/dom': 14.0.0 '@material/slider': 14.0.0 '@smui/common': 7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2) - '@smui/ripple': 7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2) + '@smui/ripple': 7.0.0(svelte@3.55.0)(typescript@5.2.2) svelte2tsx: 0.6.14(svelte@3.55.0)(typescript@5.2.2) transitivePeerDependencies: - svelte - typescript + '@smui/snackbar@7.0.0(svelte@4.2.19)(typescript@5.5.4)': + dependencies: + '@material/dom': 14.0.0 + '@material/feature-targeting': 14.0.0 + '@material/snackbar': 14.0.0 + '@smui/button': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/common': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/icon-button': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/ripple': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + svelte2tsx: 0.7.21(svelte@4.2.19)(typescript@5.5.4) + transitivePeerDependencies: + - svelte + - typescript + '@smui/snackbar@7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2)': dependencies: '@material/dom': 14.0.0 '@material/feature-targeting': 14.0.0 '@material/snackbar': 14.0.0 - '@smui/button': 7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2) + '@smui/button': 7.0.0(svelte@3.55.0)(typescript@5.2.2) '@smui/common': 7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2) '@smui/icon-button': 7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2) '@smui/ripple': 7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2) @@ -6135,18 +7638,41 @@ snapshots: - svelte - typescript + '@smui/switch@7.0.0(svelte@4.2.19)(typescript@5.5.4)': + dependencies: + '@material/feature-targeting': 14.0.0 + '@material/switch': 14.0.0 + '@material/theme': 14.0.0 + '@smui/common': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/ripple': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + svelte2tsx: 0.7.21(svelte@4.2.19)(typescript@5.5.4) + transitivePeerDependencies: + - svelte + - typescript + '@smui/switch@7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2)': dependencies: '@material/feature-targeting': 14.0.0 '@material/switch': 14.0.0 '@material/theme': 14.0.0 '@smui/common': 7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2) - '@smui/ripple': 7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2) + '@smui/ripple': 7.0.0(svelte@3.55.0)(typescript@5.2.2) svelte2tsx: 0.6.14(svelte@3.55.0)(typescript@5.2.2) transitivePeerDependencies: - svelte - typescript + '@smui/tab-bar@7.0.0(svelte@4.2.19)(typescript@5.5.4)': + dependencies: + '@material/tab-bar': 14.0.0 + '@smui/common': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/tab': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/tab-scroller': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + svelte2tsx: 0.7.21(svelte@4.2.19)(typescript@5.5.4) + transitivePeerDependencies: + - svelte + - typescript + '@smui/tab-bar@7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2)': dependencies: '@material/tab-bar': 14.0.0 @@ -6158,6 +7684,15 @@ snapshots: - svelte - typescript + '@smui/tab-indicator@7.0.0(svelte@4.2.19)(typescript@5.5.4)': + dependencies: + '@material/tab-indicator': 14.0.0 + '@smui/common': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + svelte2tsx: 0.7.21(svelte@4.2.19)(typescript@5.5.4) + transitivePeerDependencies: + - svelte + - typescript + '@smui/tab-indicator@7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2)': dependencies: '@material/tab-indicator': 14.0.0 @@ -6167,6 +7702,16 @@ snapshots: - svelte - typescript + '@smui/tab-scroller@7.0.0(svelte@4.2.19)(typescript@5.5.4)': + dependencies: + '@material/dom': 14.0.0 + '@material/tab-scroller': 14.0.0 + '@smui/common': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + svelte2tsx: 0.7.21(svelte@4.2.19)(typescript@5.5.4) + transitivePeerDependencies: + - svelte + - typescript + '@smui/tab-scroller@7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2)': dependencies: '@material/dom': 14.0.0 @@ -6177,17 +7722,45 @@ snapshots: - svelte - typescript + '@smui/tab@7.0.0(svelte@4.2.19)(typescript@5.5.4)': + dependencies: + '@material/tab': 14.0.0 + '@smui/common': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/ripple': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/tab-indicator': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + svelte2tsx: 0.7.21(svelte@4.2.19)(typescript@5.5.4) + transitivePeerDependencies: + - svelte + - typescript + '@smui/tab@7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2)': dependencies: '@material/tab': 14.0.0 '@smui/common': 7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2) - '@smui/ripple': 7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2) + '@smui/ripple': 7.0.0(svelte@3.55.0)(typescript@5.2.2) '@smui/tab-indicator': 7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2) svelte2tsx: 0.6.14(svelte@3.55.0)(typescript@5.2.2) transitivePeerDependencies: - svelte - typescript + '@smui/textfield@7.0.0(svelte@4.2.19)(typescript@5.5.4)': + dependencies: + '@material/dom': 14.0.0 + '@material/feature-targeting': 14.0.0 + '@material/ripple': 14.0.0 + '@material/rtl': 14.0.0 + '@material/textfield': 14.0.0 + '@smui/common': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/floating-label': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/line-ripple': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/notched-outline': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/ripple': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + svelte2tsx: 0.7.21(svelte@4.2.19)(typescript@5.5.4) + transitivePeerDependencies: + - svelte + - typescript + '@smui/textfield@7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2)': dependencies: '@material/dom': 14.0.0 @@ -6205,33 +7778,345 @@ snapshots: - svelte - typescript - '@smui/tooltip@7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2)': + '@smui/tooltip@7.0.0(svelte@4.2.19)(typescript@5.5.4)': + dependencies: + '@material/tooltip': 14.0.0 + '@smui/common': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + svelte2tsx: 0.7.21(svelte@4.2.19)(typescript@5.5.4) + transitivePeerDependencies: + - svelte + - typescript + + '@smui/tooltip@7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2)': + dependencies: + '@material/tooltip': 14.0.0 + '@smui/common': 7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2) + svelte2tsx: 0.6.14(svelte@3.55.0)(typescript@5.2.2) + transitivePeerDependencies: + - svelte + - typescript + + '@smui/top-app-bar@7.0.0(svelte@3.55.0)(typescript@5.2.2)': + dependencies: + '@material/feature-targeting': 14.0.0 + '@material/top-app-bar': 14.0.0 + '@smui/common': 7.0.0(svelte@3.55.0)(typescript@5.2.2) + svelte2tsx: 0.7.21(svelte@3.55.0)(typescript@5.2.2) + transitivePeerDependencies: + - svelte + - typescript + + '@smui/top-app-bar@7.0.0(svelte@4.2.19)(typescript@5.5.4)': + dependencies: + '@material/feature-targeting': 14.0.0 + '@material/top-app-bar': 14.0.0 + '@smui/common': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + svelte2tsx: 0.7.21(svelte@4.2.19)(typescript@5.5.4) + transitivePeerDependencies: + - svelte + - typescript + + '@smui/touch-target@7.0.0(svelte@4.2.19)(typescript@5.5.4)': + dependencies: + '@material/touch-target': 14.0.0 + '@smui/common': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + svelte2tsx: 0.7.21(svelte@4.2.19)(typescript@5.5.4) + transitivePeerDependencies: + - svelte + - typescript + + '@smui/touch-target@7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2)': + dependencies: + '@material/touch-target': 14.0.0 + '@smui/common': 7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2) + svelte2tsx: 0.6.14(svelte@3.55.0)(typescript@5.2.2) + transitivePeerDependencies: + - svelte + - typescript + + '@storybook/addon-actions@8.3.5(storybook@8.3.5)': + dependencies: + '@storybook/global': 5.0.0 + '@types/uuid': 9.0.8 + dequal: 2.0.3 + polished: 4.3.1 + storybook: 8.3.5 + uuid: 9.0.0 + + '@storybook/addon-backgrounds@8.3.5(storybook@8.3.5)': + dependencies: + '@storybook/global': 5.0.0 + memoizerific: 1.11.3 + storybook: 8.3.5 + ts-dedent: 2.2.0 + + '@storybook/addon-controls@8.3.5(storybook@8.3.5)': + dependencies: + '@storybook/global': 5.0.0 + dequal: 2.0.3 + lodash: 4.17.21 + storybook: 8.3.5 + ts-dedent: 2.2.0 + + '@storybook/addon-docs@8.3.5(storybook@8.3.5)': + dependencies: + '@mdx-js/react': 3.0.1(@types/react@18.3.11)(react@18.3.1) + '@storybook/blocks': 8.3.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.5) + '@storybook/csf-plugin': 8.3.5(storybook@8.3.5) + '@storybook/global': 5.0.0 + '@storybook/react-dom-shim': 8.3.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.5) + '@types/react': 18.3.11 + fs-extra: 11.2.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + rehype-external-links: 3.0.0 + rehype-slug: 6.0.0 + storybook: 8.3.5 + ts-dedent: 2.2.0 + transitivePeerDependencies: + - webpack-sources + + '@storybook/addon-essentials@8.3.5(storybook@8.3.5)': + dependencies: + '@storybook/addon-actions': 8.3.5(storybook@8.3.5) + '@storybook/addon-backgrounds': 8.3.5(storybook@8.3.5) + '@storybook/addon-controls': 8.3.5(storybook@8.3.5) + '@storybook/addon-docs': 8.3.5(storybook@8.3.5) + '@storybook/addon-highlight': 8.3.5(storybook@8.3.5) + '@storybook/addon-measure': 8.3.5(storybook@8.3.5) + '@storybook/addon-outline': 8.3.5(storybook@8.3.5) + '@storybook/addon-toolbars': 8.3.5(storybook@8.3.5) + '@storybook/addon-viewport': 8.3.5(storybook@8.3.5) + storybook: 8.3.5 + ts-dedent: 2.2.0 + transitivePeerDependencies: + - webpack-sources + + '@storybook/addon-highlight@8.3.5(storybook@8.3.5)': + dependencies: + '@storybook/global': 5.0.0 + storybook: 8.3.5 + + '@storybook/addon-interactions@8.3.5(storybook@8.3.5)': + dependencies: + '@storybook/global': 5.0.0 + '@storybook/instrumenter': 8.3.5(storybook@8.3.5) + '@storybook/test': 8.3.5(storybook@8.3.5) + polished: 4.3.1 + storybook: 8.3.5 + ts-dedent: 2.2.0 + + '@storybook/addon-links@8.3.5(react@18.3.1)(storybook@8.3.5)': + dependencies: + '@storybook/csf': 0.1.11 + '@storybook/global': 5.0.0 + storybook: 8.3.5 + ts-dedent: 2.2.0 + optionalDependencies: + react: 18.3.1 + + '@storybook/addon-measure@8.3.5(storybook@8.3.5)': + dependencies: + '@storybook/global': 5.0.0 + storybook: 8.3.5 + tiny-invariant: 1.3.3 + + '@storybook/addon-outline@8.3.5(storybook@8.3.5)': + dependencies: + '@storybook/global': 5.0.0 + storybook: 8.3.5 + ts-dedent: 2.2.0 + + '@storybook/addon-svelte-csf@4.1.7(@storybook/svelte@8.3.5(storybook@8.3.5)(svelte@4.2.19))(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.19)(vite@5.4.8(@types/node@18.11.18)(sass@1.62.0)))(storybook@8.3.5)(svelte@4.2.19)(vite@5.4.8(@types/node@18.11.18)(sass@1.62.0))': + dependencies: + '@babel/runtime': 7.25.7 + '@storybook/svelte': 8.3.5(storybook@8.3.5)(svelte@4.2.19) + '@storybook/types': 8.3.5(storybook@8.3.5) + dedent: 1.5.3 + magic-string: 0.30.11 + svelte: 4.2.19 + optionalDependencies: + '@sveltejs/vite-plugin-svelte': 3.1.2(svelte@4.2.19)(vite@5.4.8(@types/node@18.11.18)(sass@1.62.0)) + vite: 5.4.8(@types/node@18.11.18)(sass@1.62.0) + transitivePeerDependencies: + - babel-plugin-macros + - storybook + + '@storybook/addon-toolbars@8.3.5(storybook@8.3.5)': + dependencies: + storybook: 8.3.5 + + '@storybook/addon-viewport@8.3.5(storybook@8.3.5)': + dependencies: + memoizerific: 1.11.3 + storybook: 8.3.5 + + '@storybook/blocks@8.3.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.5)': + dependencies: + '@storybook/csf': 0.1.11 + '@storybook/global': 5.0.0 + '@storybook/icons': 1.2.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@types/lodash': 4.17.10 + color-convert: 2.0.1 + dequal: 2.0.3 + lodash: 4.17.21 + markdown-to-jsx: 7.5.0(react@18.3.1) + memoizerific: 1.11.3 + polished: 4.3.1 + react-colorful: 5.6.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + storybook: 8.3.5 + telejson: 7.2.0 + ts-dedent: 2.2.0 + util-deprecate: 1.0.2 + optionalDependencies: + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@storybook/builder-vite@8.3.5(storybook@8.3.5)(typescript@5.5.4)(vite@5.4.8(@types/node@18.11.18)(sass@1.62.0))': + dependencies: + '@storybook/csf-plugin': 8.3.5(storybook@8.3.5) + '@types/find-cache-dir': 3.2.1 + browser-assert: 1.2.1 + es-module-lexer: 1.5.4 + express: 4.21.1 + find-cache-dir: 3.3.2 + fs-extra: 11.2.0 + magic-string: 0.30.11 + storybook: 8.3.5 + ts-dedent: 2.2.0 + vite: 5.4.8(@types/node@18.11.18)(sass@1.62.0) + optionalDependencies: + typescript: 5.5.4 + transitivePeerDependencies: + - supports-color + - webpack-sources + + '@storybook/components@8.3.5(storybook@8.3.5)': + dependencies: + storybook: 8.3.5 + + '@storybook/core@8.3.5': + dependencies: + '@storybook/csf': 0.1.11 + '@types/express': 4.17.21 + better-opn: 3.0.2 + browser-assert: 1.2.1 + esbuild: 0.21.5 + esbuild-register: 3.6.0(esbuild@0.21.5) + express: 4.21.1 + jsdoc-type-pratt-parser: 4.1.0 + process: 0.11.10 + recast: 0.23.9 + semver: 7.6.3 + util: 0.12.5 + ws: 8.13.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + '@storybook/csf-plugin@8.3.5(storybook@8.3.5)': + dependencies: + storybook: 8.3.5 + unplugin: 1.14.1 + transitivePeerDependencies: + - webpack-sources + + '@storybook/csf@0.1.11': + dependencies: + type-fest: 2.19.0 + + '@storybook/global@5.0.0': {} + + '@storybook/icons@1.2.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@storybook/instrumenter@8.3.5(storybook@8.3.5)': + dependencies: + '@storybook/global': 5.0.0 + '@vitest/utils': 2.1.2 + storybook: 8.3.5 + util: 0.12.5 + + '@storybook/manager-api@8.3.5(storybook@8.3.5)': + dependencies: + storybook: 8.3.5 + + '@storybook/preview-api@8.3.5(storybook@8.3.5)': + dependencies: + storybook: 8.3.5 + + '@storybook/react-dom-shim@8.3.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.5)': + dependencies: + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + storybook: 8.3.5 + + '@storybook/svelte-vite@8.3.5(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.19)(vite@5.4.8(@types/node@18.11.18)(sass@1.62.0)))(postcss@8.4.45)(sass@1.62.0)(storybook@8.3.5)(svelte@4.2.19)(typescript@5.5.4)(vite@5.4.8(@types/node@18.11.18)(sass@1.62.0))': + dependencies: + '@storybook/builder-vite': 8.3.5(storybook@8.3.5)(typescript@5.5.4)(vite@5.4.8(@types/node@18.11.18)(sass@1.62.0)) + '@storybook/svelte': 8.3.5(storybook@8.3.5)(svelte@4.2.19) + '@sveltejs/vite-plugin-svelte': 3.1.2(svelte@4.2.19)(vite@5.4.8(@types/node@18.11.18)(sass@1.62.0)) + magic-string: 0.30.11 + storybook: 8.3.5 + svelte: 4.2.19 + svelte-preprocess: 5.1.4(postcss@8.4.45)(sass@1.62.0)(svelte@4.2.19)(typescript@5.5.4) + sveltedoc-parser: 4.2.1 + ts-dedent: 2.2.0 + vite: 5.4.8(@types/node@18.11.18)(sass@1.62.0) + transitivePeerDependencies: + - '@babel/core' + - '@preact/preset-vite' + - coffeescript + - less + - postcss + - postcss-load-config + - pug + - sass + - stylus + - sugarss + - supports-color + - typescript + - vite-plugin-glimmerx + - webpack-sources + + '@storybook/svelte@8.3.5(storybook@8.3.5)(svelte@4.2.19)': dependencies: - '@material/tooltip': 14.0.0 - '@smui/common': 7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2) - svelte2tsx: 0.6.14(svelte@3.55.0)(typescript@5.2.2) + '@storybook/components': 8.3.5(storybook@8.3.5) + '@storybook/global': 5.0.0 + '@storybook/manager-api': 8.3.5(storybook@8.3.5) + '@storybook/preview-api': 8.3.5(storybook@8.3.5) + '@storybook/theming': 8.3.5(storybook@8.3.5) + storybook: 8.3.5 + svelte: 4.2.19 + sveltedoc-parser: 4.2.1 + ts-dedent: 2.2.0 + type-fest: 2.19.0 transitivePeerDependencies: - - svelte - - typescript + - supports-color - '@smui/top-app-bar@7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2)': + '@storybook/test@8.3.5(storybook@8.3.5)': dependencies: - '@material/feature-targeting': 14.0.0 - '@material/top-app-bar': 14.0.0 - '@smui/common': 7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2) - svelte2tsx: 0.6.14(svelte@3.55.0)(typescript@5.2.2) - transitivePeerDependencies: - - svelte - - typescript + '@storybook/csf': 0.1.11 + '@storybook/global': 5.0.0 + '@storybook/instrumenter': 8.3.5(storybook@8.3.5) + '@testing-library/dom': 10.4.0 + '@testing-library/jest-dom': 6.5.0 + '@testing-library/user-event': 14.5.2(@testing-library/dom@10.4.0) + '@vitest/expect': 2.0.5 + '@vitest/spy': 2.0.5 + storybook: 8.3.5 + util: 0.12.5 - '@smui/touch-target@7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2)': + '@storybook/theming@8.3.5(storybook@8.3.5)': dependencies: - '@material/touch-target': 14.0.0 - '@smui/common': 7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2) - svelte2tsx: 0.6.14(svelte@3.55.0)(typescript@5.2.2) - transitivePeerDependencies: - - svelte - - typescript + storybook: 8.3.5 + + '@storybook/types@8.3.5(storybook@8.3.5)': + dependencies: + storybook: 8.3.5 '@svelte-put/shortcut@3.1.0': {} @@ -6279,6 +8164,15 @@ snapshots: transitivePeerDependencies: - supports-color + '@sveltejs/vite-plugin-svelte-inspector@2.1.0(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.19)(vite@5.4.8(@types/node@18.11.18)(sass@1.62.0)))(svelte@4.2.19)(vite@5.4.8(@types/node@18.11.18)(sass@1.62.0))': + dependencies: + '@sveltejs/vite-plugin-svelte': 3.1.2(svelte@4.2.19)(vite@5.4.8(@types/node@18.11.18)(sass@1.62.0)) + debug: 4.3.4 + svelte: 4.2.19 + vite: 5.4.8(@types/node@18.11.18)(sass@1.62.0) + transitivePeerDependencies: + - supports-color + '@sveltejs/vite-plugin-svelte@2.0.2(svelte@3.55.1)(vite@4.1.4(@types/node@18.11.18)(sass@1.62.0))': dependencies: debug: 4.3.4 @@ -6345,10 +8239,35 @@ snapshots: transitivePeerDependencies: - supports-color + '@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.19)(vite@5.4.8(@types/node@18.11.18)(sass@1.62.0))': + dependencies: + '@sveltejs/vite-plugin-svelte-inspector': 2.1.0(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.19)(vite@5.4.8(@types/node@18.11.18)(sass@1.62.0)))(svelte@4.2.19)(vite@5.4.8(@types/node@18.11.18)(sass@1.62.0)) + debug: 4.3.4 + deepmerge: 4.3.1 + kleur: 4.1.5 + magic-string: 0.30.11 + svelte: 4.2.19 + svelte-hmr: 0.16.0(svelte@4.2.19) + vite: 5.4.8(@types/node@18.11.18)(sass@1.62.0) + vitefu: 0.2.5(vite@5.4.8(@types/node@18.11.18)(sass@1.62.0)) + transitivePeerDependencies: + - supports-color + '@szmarczak/http-timer@5.0.1': dependencies: defer-to-connect: 2.0.1 + '@testing-library/dom@10.4.0': + dependencies: + '@babel/code-frame': 7.18.6 + '@babel/runtime': 7.21.0 + '@types/aria-query': 5.0.1 + aria-query: 5.3.0 + chalk: 4.1.2 + dom-accessibility-api: 0.5.16 + lz-string: 1.5.0 + pretty-format: 27.5.1 + '@testing-library/dom@8.20.0': dependencies: '@babel/code-frame': 7.18.6 @@ -6360,14 +8279,28 @@ snapshots: lz-string: 1.5.0 pretty-format: 27.5.1 + '@testing-library/jest-dom@6.5.0': + dependencies: + '@adobe/css-tools': 4.4.0 + aria-query: 5.3.0 + chalk: 3.0.0 + css.escape: 1.5.1 + dom-accessibility-api: 0.6.3 + lodash: 4.17.21 + redent: 3.0.0 + '@testing-library/svelte@3.2.2(svelte@3.55.0)': dependencies: '@testing-library/dom': 8.20.0 svelte: 3.55.0 - '@testing-library/user-event@14.4.3(@testing-library/dom@8.20.0)': + '@testing-library/user-event@14.4.3(@testing-library/dom@10.4.0)': dependencies: - '@testing-library/dom': 8.20.0 + '@testing-library/dom': 10.4.0 + + '@testing-library/user-event@14.5.2(@testing-library/dom@10.4.0)': + dependencies: + '@testing-library/dom': 10.4.0 '@tootallnate/once@2.0.0': {} @@ -6393,12 +8326,21 @@ snapshots: '@types/aria-query@5.0.1': {} + '@types/body-parser@1.19.5': + dependencies: + '@types/connect': 3.4.38 + '@types/node': 18.11.18 + '@types/chai-subset@1.3.3': dependencies: '@types/chai': 4.3.4 '@types/chai@4.3.4': {} + '@types/connect@3.4.38': + dependencies: + '@types/node': 18.11.18 + '@types/cookie@0.5.1': {} '@types/d3-array@3.2.0': {} @@ -6522,10 +8464,32 @@ snapshots: '@types/estree@1.0.5': {} + '@types/express-serve-static-core@4.19.6': + dependencies: + '@types/node': 18.11.18 + '@types/qs': 6.9.16 + '@types/range-parser': 1.2.7 + '@types/send': 0.17.4 + + '@types/express@4.17.21': + dependencies: + '@types/body-parser': 1.19.5 + '@types/express-serve-static-core': 4.19.6 + '@types/qs': 6.9.16 + '@types/serve-static': 1.15.7 + + '@types/find-cache-dir@3.2.1': {} + '@types/geojson@7946.0.13': {} + '@types/hast@3.0.4': + dependencies: + '@types/unist': 3.0.3 + '@types/http-cache-semantics@4.0.1': {} + '@types/http-errors@2.0.4': {} + '@types/istanbul-lib-coverage@2.0.4': {} '@types/json-schema@7.0.11': {} @@ -6534,12 +8498,29 @@ snapshots: '@types/json5@0.0.29': {} + '@types/lodash@4.17.10': {} + + '@types/mdx@2.0.13': {} + + '@types/mime@1.3.5': {} + '@types/node@18.11.18': {} '@types/normalize-package-data@2.4.1': {} + '@types/prop-types@15.7.13': {} + '@types/pug@2.0.6': {} + '@types/qs@6.9.16': {} + + '@types/range-parser@1.2.7': {} + + '@types/react@18.3.11': + dependencies: + '@types/prop-types': 15.7.13 + csstype: 3.1.3 + '@types/sass@1.43.1': dependencies: '@types/node': 18.11.18 @@ -6548,6 +8529,21 @@ snapshots: '@types/semver@7.5.5': {} + '@types/send@0.17.4': + dependencies: + '@types/mime': 1.3.5 + '@types/node': 18.11.18 + + '@types/serve-static@1.15.7': + dependencies: + '@types/http-errors': 2.0.4 + '@types/node': 18.11.18 + '@types/send': 0.17.4 + + '@types/unist@3.0.3': {} + + '@types/uuid@9.0.8': {} + '@types/which@2.0.2': {} '@types/ws@8.5.4': @@ -6758,6 +8754,8 @@ snapshots: '@typescript-eslint/types': 6.11.0 eslint-visitor-keys: 3.4.3 + '@ungap/structured-clone@1.2.0': {} + '@vitest/browser@0.29.7(vitest@0.29.7)': dependencies: '@vitest/runner': 0.29.7 @@ -6787,6 +8785,21 @@ snapshots: '@vitest/utils': 0.30.1 chai: 4.3.7 + '@vitest/expect@2.0.5': + dependencies: + '@vitest/spy': 2.0.5 + '@vitest/utils': 2.0.5 + chai: 5.1.1 + tinyrainbow: 1.2.0 + + '@vitest/pretty-format@2.0.5': + dependencies: + tinyrainbow: 1.2.0 + + '@vitest/pretty-format@2.1.2': + dependencies: + tinyrainbow: 1.2.0 + '@vitest/runner@0.29.7': dependencies: '@vitest/utils': 0.29.7 @@ -6802,7 +8815,7 @@ snapshots: '@vitest/snapshot@0.30.1': dependencies: - magic-string: 0.30.0 + magic-string: 0.30.11 pathe: 1.1.0 pretty-format: 27.5.1 @@ -6814,6 +8827,10 @@ snapshots: dependencies: tinyspy: 2.1.0 + '@vitest/spy@2.0.5': + dependencies: + tinyspy: 3.0.2 + '@vitest/ui@0.30.1': dependencies: '@vitest/utils': 0.30.1 @@ -6837,6 +8854,19 @@ snapshots: loupe: 2.3.6 pretty-format: 27.5.1 + '@vitest/utils@2.0.5': + dependencies: + '@vitest/pretty-format': 2.0.5 + estree-walker: 3.0.3 + loupe: 3.1.2 + tinyrainbow: 1.2.0 + + '@vitest/utils@2.1.2': + dependencies: + '@vitest/pretty-format': 2.1.2 + loupe: 3.1.2 + tinyrainbow: 1.2.0 + '@wdio/config@8.6.6': dependencies: '@wdio/logger': 8.6.6 @@ -6891,14 +8921,19 @@ snapshots: abab@2.0.6: {} + accepts@1.3.8: + dependencies: + mime-types: 2.1.35 + negotiator: 0.6.3 + acorn-globals@7.0.1: dependencies: acorn: 8.8.2 acorn-walk: 8.2.0 - acorn-jsx@5.3.2(acorn@8.8.2): + acorn-jsx@5.3.2(acorn@8.12.1): dependencies: - acorn: 8.8.2 + acorn: 8.12.1 acorn-walk@8.2.0: {} @@ -6919,6 +8954,8 @@ snapshots: json-schema-traverse: 0.4.1 uri-js: 4.4.1 + ansi-colors@4.1.3: {} + ansi-regex@5.0.1: {} ansi-regex@6.0.1: {} @@ -6978,6 +9015,8 @@ snapshots: call-bind: 1.0.2 is-array-buffer: 3.0.2 + array-flatten@1.1.1: {} + array-includes@3.1.6: dependencies: call-bind: 1.0.2 @@ -7013,6 +9052,12 @@ snapshots: assertion-error@1.1.0: {} + assertion-error@2.0.1: {} + + ast-types@0.16.1: + dependencies: + tslib: 2.7.0 + async@3.2.4: {} asynckit@0.4.0: {} @@ -7027,6 +9072,10 @@ snapshots: base64url@3.0.1: {} + better-opn@3.0.2: + dependencies: + open: 8.4.2 + binary-extensions@2.2.0: {} bl@4.1.0: @@ -7039,6 +9088,23 @@ snapshots: bn.js@4.12.0: {} + body-parser@1.20.3: + dependencies: + bytes: 3.1.2 + content-type: 1.0.5 + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + on-finished: 2.4.1 + qs: 6.13.0 + raw-body: 2.5.2 + type-is: 1.6.18 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + brace-expansion@1.1.11: dependencies: balanced-match: 1.0.2 @@ -7054,6 +9120,8 @@ snapshots: brorand@1.1.0: {} + browser-assert@1.2.1: {} + buffer-crc32@0.2.13: {} buffer@5.7.1: @@ -7069,6 +9137,8 @@ snapshots: dependencies: streamsearch: 1.1.0 + bytes@3.1.2: {} + c8@7.13.0: dependencies: '@bcoe/v8-coverage': 0.2.3 @@ -7103,6 +9173,14 @@ snapshots: function-bind: 1.1.1 get-intrinsic: 1.2.0 + call-bind@1.0.7: + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + set-function-length: 1.2.2 + callsites@3.1.0: {} chai@4.3.7: @@ -7115,12 +9193,25 @@ snapshots: pathval: 1.1.1 type-detect: 4.0.8 + chai@5.1.1: + dependencies: + assertion-error: 2.0.1 + check-error: 2.1.1 + deep-eql: 5.0.2 + loupe: 3.1.2 + pathval: 2.0.0 + chalk@2.4.2: dependencies: ansi-styles: 3.2.1 escape-string-regexp: 1.0.5 supports-color: 5.5.0 + chalk@3.0.0: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + chalk@4.1.2: dependencies: ansi-styles: 4.3.0 @@ -7130,6 +9221,8 @@ snapshots: check-error@1.0.2: {} + check-error@2.1.1: {} + chokidar@3.5.3: dependencies: anymatch: 3.1.3 @@ -7142,8 +9235,14 @@ snapshots: optionalDependencies: fsevents: 2.3.2 + chokidar@4.0.1: + dependencies: + readdirp: 4.0.2 + chownr@1.1.4: {} + chromatic@11.12.5: {} + chrome-launcher@0.15.1: dependencies: '@types/node': 18.11.18 @@ -7201,6 +9300,8 @@ snapshots: dependencies: delayed-stream: 1.0.0 + commondir@1.0.1: {} + compress-commons@4.1.1: dependencies: buffer-crc32: 0.2.13 @@ -7233,10 +9334,20 @@ snapshots: tree-kill: 1.2.2 yargs: 17.7.1 + content-disposition@0.5.4: + dependencies: + safe-buffer: 5.2.1 + + content-type@1.0.5: {} + convert-source-map@1.9.0: {} + cookie-signature@1.0.6: {} + cookie@0.5.0: {} + cookie@0.7.1: {} + core-util-is@1.0.3: {} crc-32@1.2.2: {} @@ -7263,7 +9374,7 @@ snapshots: css-tree@2.3.1: dependencies: mdn-data: 2.0.30 - source-map-js: 1.0.2 + source-map-js: 1.2.0 css-value@0.0.1: {} @@ -7273,6 +9384,8 @@ snapshots: dependencies: rrweb-cssom: 0.6.0 + csstype@3.1.3: {} + d3-color@3.1.0: {} d3-dispatch@3.0.1: {} @@ -7345,10 +9458,14 @@ snapshots: dedent-js@1.0.1: {} + dedent@1.5.3: {} + deep-eql@4.1.3: dependencies: type-detect: 4.0.8 + deep-eql@5.0.2: {} + deep-equal@2.2.0: dependencies: call-bind: 1.0.2 @@ -7377,6 +9494,14 @@ snapshots: defer-to-connect@2.0.1: {} + define-data-property@1.1.4: + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + gopd: 1.0.1 + + define-lazy-prop@2.0.0: {} + define-properties@1.2.0: dependencies: has-property-descriptors: 1.0.0 @@ -7384,8 +9509,12 @@ snapshots: delayed-stream@1.0.0: {} + depd@2.0.0: {} + dequal@2.0.3: {} + destroy@1.2.0: {} + detect-indent@6.1.0: {} devalue@4.3.1: {} @@ -7433,10 +9562,34 @@ snapshots: dom-accessibility-api@0.5.16: {} + dom-accessibility-api@0.6.3: {} + + dom-serializer@1.4.1: + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + entities: 2.2.0 + + domelementtype@2.3.0: {} + domexception@4.0.0: dependencies: webidl-conversions: 7.0.0 + domhandler@3.3.0: + dependencies: + domelementtype: 2.3.0 + + domhandler@4.3.1: + dependencies: + domelementtype: 2.3.0 + + domutils@2.8.0: + dependencies: + dom-serializer: 1.4.1 + domelementtype: 2.3.0 + domhandler: 4.3.1 + eastasianwidth@0.2.0: {} edge-paths@3.0.5: @@ -7444,6 +9597,8 @@ snapshots: '@types/which': 2.0.2 which: 2.0.2 + ee-first@1.1.1: {} + elkjs@0.8.2: {} elliptic@6.5.4: @@ -7460,10 +9615,21 @@ snapshots: emoji-regex@9.2.2: {} + encodeurl@1.0.2: {} + + encodeurl@2.0.0: {} + end-of-stream@1.4.4: dependencies: once: 1.4.0 + enquirer@2.4.1: + dependencies: + ansi-colors: 4.1.3 + strip-ansi: 6.0.1 + + entities@2.2.0: {} + entities@4.5.0: {} error-ex@1.3.2: @@ -7507,6 +9673,12 @@ snapshots: unbox-primitive: 1.0.2 which-typed-array: 1.1.9 + es-define-property@1.0.0: + dependencies: + get-intrinsic: 1.2.4 + + es-errors@1.3.0: {} + es-get-iterator@1.1.3: dependencies: call-bind: 1.0.2 @@ -7519,6 +9691,8 @@ snapshots: isarray: 2.0.5 stop-iteration-iterator: 1.0.0 + es-module-lexer@1.5.4: {} + es-set-tostringtag@2.0.1: dependencies: get-intrinsic: 1.2.0 @@ -7585,6 +9759,13 @@ snapshots: esbuild-openbsd-64@0.14.54: optional: true + esbuild-register@3.6.0(esbuild@0.21.5): + dependencies: + debug: 4.3.4 + esbuild: 0.21.5 + transitivePeerDependencies: + - supports-color + esbuild-sunos-64@0.14.54: optional: true @@ -7699,6 +9880,8 @@ snapshots: escalade@3.1.1: {} + escape-html@1.0.3: {} + escape-string-regexp@1.0.5: {} escape-string-regexp@4.0.0: {} @@ -7821,6 +10004,11 @@ snapshots: eslint: 8.31.0 eslint-visitor-keys: 2.1.0 + eslint-utils@3.0.0(eslint@8.4.1): + dependencies: + eslint: 8.4.1 + eslint-visitor-keys: 2.1.0 + eslint-visitor-keys@1.3.0: {} eslint-visitor-keys@2.1.0: {} @@ -7873,13 +10061,62 @@ snapshots: transitivePeerDependencies: - supports-color + eslint@8.4.1: + dependencies: + '@eslint/eslintrc': 1.4.1 + '@humanwhocodes/config-array': 0.9.5 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4 + doctrine: 3.0.0 + enquirer: 2.4.1 + escape-string-regexp: 4.0.0 + eslint-scope: 7.1.1 + eslint-utils: 3.0.0(eslint@8.4.1) + eslint-visitor-keys: 3.4.3 + espree: 9.4.1 + esquery: 1.4.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + functional-red-black-tree: 1.0.1 + glob-parent: 6.0.2 + globals: 13.19.0 + ignore: 4.0.6 + import-fresh: 3.3.0 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + js-yaml: 4.1.0 + json-stable-stringify-without-jsonify: 1.0.1 + levn: 0.4.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.1 + progress: 2.0.3 + regexpp: 3.2.0 + semver: 7.5.4 + strip-ansi: 6.0.1 + strip-json-comments: 3.1.1 + text-table: 0.2.0 + v8-compile-cache: 2.4.0 + transitivePeerDependencies: + - supports-color + esm-env@1.0.0: {} + espree@9.2.0: + dependencies: + acorn: 8.12.1 + acorn-jsx: 5.3.2(acorn@8.12.1) + eslint-visitor-keys: 3.4.3 + espree@9.4.1: dependencies: - acorn: 8.8.2 - acorn-jsx: 5.3.2(acorn@8.8.2) - eslint-visitor-keys: 3.3.0 + acorn: 8.12.1 + acorn-jsx: 5.3.2(acorn@8.12.1) + eslint-visitor-keys: 3.4.3 esprima@4.0.1: {} @@ -7907,6 +10144,44 @@ snapshots: esutils@2.0.3: {} + etag@1.8.1: {} + + express@4.21.1: + dependencies: + accepts: 1.3.8 + array-flatten: 1.1.1 + body-parser: 1.20.3 + content-disposition: 0.5.4 + content-type: 1.0.5 + cookie: 0.7.1 + cookie-signature: 1.0.6 + debug: 2.6.9 + depd: 2.0.0 + encodeurl: 2.0.0 + escape-html: 1.0.3 + etag: 1.8.1 + finalhandler: 1.3.1 + fresh: 0.5.2 + http-errors: 2.0.0 + merge-descriptors: 1.0.3 + methods: 1.1.2 + on-finished: 2.4.1 + parseurl: 1.3.3 + path-to-regexp: 0.1.10 + proxy-addr: 2.0.7 + qs: 6.13.0 + range-parser: 1.2.1 + safe-buffer: 5.2.1 + send: 0.19.0 + serve-static: 1.16.2 + setprototypeof: 1.2.0 + statuses: 2.0.1 + type-is: 1.6.18 + utils-merge: 1.0.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + extract-zip@2.0.1: dependencies: debug: 4.3.4 @@ -7947,15 +10222,42 @@ snapshots: dependencies: pend: 1.2.0 + fdir@6.4.0: {} + fflate@0.7.4: {} - file-entry-cache@6.0.1: + file-entry-cache@6.0.1: + dependencies: + flat-cache: 3.0.4 + + filesize@10.1.6: {} + + fill-range@7.0.1: + dependencies: + to-regex-range: 5.0.1 + + finalhandler@1.3.1: + dependencies: + debug: 2.6.9 + encodeurl: 2.0.0 + escape-html: 1.0.3 + on-finished: 2.4.1 + parseurl: 1.3.3 + statuses: 2.0.1 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + + find-cache-dir@3.3.2: dependencies: - flat-cache: 3.0.4 + commondir: 1.0.1 + make-dir: 3.1.0 + pkg-dir: 4.2.0 - fill-range@7.0.1: + find-up@4.1.0: dependencies: - to-regex-range: 5.0.1 + locate-path: 5.0.0 + path-exists: 4.0.0 find-up@5.0.0: dependencies: @@ -7991,8 +10293,18 @@ snapshots: combined-stream: 1.0.8 mime-types: 2.1.35 + forwarded@0.2.0: {} + + fresh@0.5.2: {} + fs-constants@1.0.0: {} + fs-extra@11.2.0: + dependencies: + graceful-fs: 4.2.10 + jsonfile: 6.1.0 + universalify: 2.0.1 + fs.realpath@1.0.0: {} fsevents@2.3.2: @@ -8003,6 +10315,8 @@ snapshots: function-bind@1.1.1: {} + function-bind@1.1.2: {} + function.prototype.name@1.1.5: dependencies: call-bind: 1.0.2 @@ -8010,6 +10324,8 @@ snapshots: es-abstract: 1.21.2 functions-have-names: 1.2.3 + functional-red-black-tree@1.0.1: {} + functions-have-names@1.2.3: {} get-caller-file@2.0.5: {} @@ -8022,6 +10338,14 @@ snapshots: has: 1.0.3 has-symbols: 1.0.3 + get-intrinsic@1.2.4: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + has-proto: 1.0.1 + has-symbols: 1.0.3 + hasown: 2.0.2 + get-stream@5.2.0: dependencies: pump: 3.0.0 @@ -8033,6 +10357,8 @@ snapshots: call-bind: 1.0.2 get-intrinsic: 1.2.0 + github-slugger@2.0.0: {} + glob-parent@5.1.2: dependencies: is-glob: 4.0.3 @@ -8126,6 +10452,10 @@ snapshots: dependencies: get-intrinsic: 1.2.0 + has-property-descriptors@1.0.2: + dependencies: + es-define-property: 1.0.0 + has-proto@1.0.1: {} has-symbols@1.0.3: {} @@ -8143,6 +10473,22 @@ snapshots: inherits: 2.0.4 minimalistic-assert: 1.0.1 + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 + + hast-util-heading-rank@3.0.0: + dependencies: + '@types/hast': 3.0.4 + + hast-util-is-element@3.0.0: + dependencies: + '@types/hast': 3.0.4 + + hast-util-to-string@3.0.1: + dependencies: + '@types/hast': 3.0.4 + he@1.2.0: {} hmac-drbg@1.0.1: @@ -8161,8 +10507,23 @@ snapshots: html-escaper@2.0.2: {} + htmlparser2-svelte@4.1.0: + dependencies: + domelementtype: 2.3.0 + domhandler: 3.3.0 + domutils: 2.8.0 + entities: 2.2.0 + http-cache-semantics@4.1.1: {} + http-errors@2.0.0: + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + http-proxy-agent@5.0.0: dependencies: '@tootallnate/once': 2.0.0 @@ -8185,12 +10546,18 @@ snapshots: husky@8.0.3: {} + iconv-lite@0.4.24: + dependencies: + safer-buffer: 2.1.2 + iconv-lite@0.6.3: dependencies: safer-buffer: 2.1.2 ieee754@1.2.1: {} + ignore@4.0.6: {} + ignore@5.2.4: {} immutable@4.3.0: {} @@ -8204,6 +10571,8 @@ snapshots: imurmurhash@0.1.4: {} + indent-string@4.0.0: {} + inflight@1.0.6: dependencies: once: 1.4.0 @@ -8217,6 +10586,10 @@ snapshots: has: 1.0.3 side-channel: 1.0.4 + ipaddr.js@1.9.1: {} + + is-absolute-url@4.0.1: {} + is-arguments@1.1.1: dependencies: call-bind: 1.0.2 @@ -8261,6 +10634,10 @@ snapshots: is-fullwidth-code-point@4.0.0: {} + is-generator-function@1.0.10: + dependencies: + has-tostringtag: 1.0.0 + is-glob@4.0.3: dependencies: is-extglob: 2.1.1 @@ -8356,6 +10733,8 @@ snapshots: dependencies: argparse: 2.0.1 + jsdoc-type-pratt-parser@4.1.0: {} + jsdom@21.1.1: dependencies: abab: 2.0.6 @@ -8405,6 +10784,12 @@ snapshots: jsonc-parser@3.2.0: {} + jsonfile@6.1.0: + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.10 + keyv@4.5.2: dependencies: json-buffer: 3.0.1 @@ -8442,6 +10827,10 @@ snapshots: locate-character@3.0.0: {} + locate-path@5.0.0: + dependencies: + p-locate: 4.1.0 + locate-path@6.0.0: dependencies: p-locate: 5.0.0 @@ -8472,10 +10861,16 @@ snapshots: loglevel@1.8.1: {} + loose-envify@1.4.0: + dependencies: + js-tokens: 4.0.0 + loupe@2.3.6: dependencies: get-func-name: 2.0.0 + loupe@3.1.2: {} + lower-case@2.0.2: dependencies: tslib: 2.7.0 @@ -8510,6 +10905,12 @@ snapshots: dependencies: semver: 6.3.0 + map-or-similar@1.5.0: {} + + markdown-to-jsx@7.5.0(react@18.3.1): + dependencies: + react: 18.3.1 + marky@1.2.5: {} md5-hex@3.0.1: @@ -8518,8 +10919,18 @@ snapshots: mdn-data@2.0.30: {} + media-typer@0.3.0: {} + + memoizerific@1.11.3: + dependencies: + map-or-similar: 1.5.0 + + merge-descriptors@1.0.3: {} + merge2@1.4.1: {} + methods@1.1.2: {} + micromatch@4.0.5: dependencies: braces: 3.0.2 @@ -8531,6 +10942,8 @@ snapshots: dependencies: mime-db: 1.52.0 + mime@1.6.0: {} + mime@3.0.0: {} mimic-response@3.1.0: {} @@ -8591,6 +11004,8 @@ snapshots: ms@2.1.2: {} + ms@2.1.3: {} + nanoid@3.3.4: {} nanoid@3.3.7: {} @@ -8599,6 +11014,8 @@ snapshots: natural-compare@1.4.0: {} + negotiator@0.6.3: {} + no-case@3.0.4: dependencies: lower-case: 2.0.2 @@ -8623,10 +11040,14 @@ snapshots: normalize-url@8.0.0: {} + normalize.css@8.0.1: {} + nwsapi@2.2.4: {} object-inspect@1.12.3: {} + object-inspect@1.13.2: {} + object-is@1.1.5: dependencies: call-bind: 1.0.2 @@ -8647,10 +11068,20 @@ snapshots: define-properties: 1.2.0 es-abstract: 1.21.2 + on-finished@2.4.1: + dependencies: + ee-first: 1.1.1 + once@1.4.0: dependencies: wrappy: 1.0.2 + open@8.4.2: + dependencies: + define-lazy-prop: 2.0.0 + is-docker: 2.2.1 + is-wsl: 2.2.0 + optionator@0.8.3: dependencies: deep-is: 0.1.4 @@ -8673,6 +11104,10 @@ snapshots: p-iteration@1.1.8: {} + p-limit@2.3.0: + dependencies: + p-try: 2.2.0 + p-limit@3.1.0: dependencies: yocto-queue: 0.1.0 @@ -8681,6 +11116,10 @@ snapshots: dependencies: yocto-queue: 1.0.0 + p-locate@4.1.0: + dependencies: + p-limit: 2.3.0 + p-locate@5.0.0: dependencies: p-limit: 3.1.0 @@ -8689,6 +11128,8 @@ snapshots: dependencies: p-limit: 4.0.0 + p-try@2.2.0: {} + parent-module@1.0.1: dependencies: callsites: 3.1.0 @@ -8704,6 +11145,8 @@ snapshots: dependencies: entities: 4.5.0 + parseurl@1.3.3: {} + pascal-case@3.1.2: dependencies: no-case: 3.0.4 @@ -8724,12 +11167,16 @@ snapshots: lru-cache: 7.18.3 minipass: 4.2.5 + path-to-regexp@0.1.10: {} + path-type@4.0.0: {} pathe@1.1.0: {} pathval@1.1.1: {} + pathval@2.0.0: {} + pend@1.2.0: {} periscopic@3.1.0: @@ -8744,6 +11191,10 @@ snapshots: picomatch@2.3.1: {} + pkg-dir@4.2.0: + dependencies: + find-up: 4.1.0 + pkg-types@1.0.2: dependencies: jsonc-parser: 3.2.0 @@ -8752,6 +11203,10 @@ snapshots: playwright-core@1.31.1: {} + polished@4.3.1: + dependencies: + '@babel/runtime': 7.21.0 + postcss@8.4.21: dependencies: nanoid: 3.3.4 @@ -8776,6 +11231,15 @@ snapshots: process-nextick-args@2.0.1: {} + process@0.11.10: {} + + progress@2.0.3: {} + + proxy-addr@2.0.7: + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + proxy-from-env@1.1.0: {} psl@1.9.0: {} @@ -8810,6 +11274,32 @@ snapshots: - supports-color - utf-8-validate + puppeteer-core@19.7.5(typescript@5.2.2): + dependencies: + chromium-bidi: 0.4.5(devtools-protocol@0.0.1094867) + cross-fetch: 3.1.5 + debug: 4.3.4 + devtools-protocol: 0.0.1094867 + extract-zip: 2.0.1 + https-proxy-agent: 5.0.1 + proxy-from-env: 1.1.0 + rimraf: 4.4.0 + tar-fs: 2.1.1 + unbzip2-stream: 1.4.3 + ws: 8.12.1 + optionalDependencies: + typescript: 5.2.2 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate + optional: true + + qs@6.13.0: + dependencies: + side-channel: 1.0.6 + query-selector-shadow-dom@1.0.1: {} querystringify@2.2.0: {} @@ -8818,8 +11308,37 @@ snapshots: quick-lru@5.1.1: {} + range-parser@1.2.1: {} + + raw-body@2.5.2: + dependencies: + bytes: 3.1.2 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + + react-colorful@5.6.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + react-confetti@6.1.0(react@18.3.1): + dependencies: + react: 18.3.1 + tween-functions: 1.2.0 + + react-dom@18.3.1(react@18.3.1): + dependencies: + loose-envify: 1.4.0 + react: 18.3.1 + scheduler: 0.23.2 + react-is@17.0.2: {} + react@18.3.1: + dependencies: + loose-envify: 1.4.0 + read-pkg-up@9.1.0: dependencies: find-up: 6.3.0 @@ -8857,8 +11376,25 @@ snapshots: dependencies: picomatch: 2.3.1 + readdirp@4.0.2: {} + + recast@0.23.9: + dependencies: + ast-types: 0.16.1 + esprima: 4.0.1 + source-map: 0.6.1 + tiny-invariant: 1.3.3 + tslib: 2.7.0 + + redent@3.0.0: + dependencies: + indent-string: 4.0.0 + strip-indent: 3.0.0 + regenerator-runtime@0.13.11: {} + regenerator-runtime@0.14.1: {} + regexp.prototype.flags@1.4.3: dependencies: call-bind: 1.0.2 @@ -8867,6 +11403,23 @@ snapshots: regexpp@3.2.0: {} + rehype-external-links@3.0.0: + dependencies: + '@types/hast': 3.0.4 + '@ungap/structured-clone': 1.2.0 + hast-util-is-element: 3.0.0 + is-absolute-url: 4.0.1 + space-separated-tokens: 2.0.2 + unist-util-visit: 5.0.0 + + rehype-slug@6.0.0: + dependencies: + '@types/hast': 3.0.4 + github-slugger: 2.0.0 + hast-util-heading-rank: 3.0.0 + hast-util-to-string: 3.0.1 + unist-util-visit: 5.0.0 + require-directory@2.1.1: {} requires-port@1.0.0: {} @@ -9000,6 +11553,10 @@ snapshots: dependencies: xmlchars: 2.2.0 + scheduler@0.23.2: + dependencies: + loose-envify: 1.4.0 + semver@6.3.0: {} semver@7.3.8: @@ -9010,12 +11567,52 @@ snapshots: dependencies: lru-cache: 6.0.0 + semver@7.6.3: {} + + send@0.19.0: + dependencies: + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 0.5.2 + http-errors: 2.0.0 + mime: 1.6.0 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: 1.2.1 + statuses: 2.0.1 + transitivePeerDependencies: + - supports-color + serialize-error@8.1.0: dependencies: type-fest: 0.20.2 + serve-static@1.16.2: + dependencies: + encodeurl: 2.0.0 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 0.19.0 + transitivePeerDependencies: + - supports-color + set-cookie-parser@2.6.0: {} + set-function-length@1.2.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + gopd: 1.0.1 + has-property-descriptors: 1.0.2 + + setprototypeof@1.2.0: {} + shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 @@ -9030,6 +11627,13 @@ snapshots: get-intrinsic: 1.2.0 object-inspect: 1.12.3 + side-channel@1.0.6: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + object-inspect: 1.13.2 + siginfo@2.0.0: {} signal-exit@3.0.7: {} @@ -9056,7 +11660,7 @@ snapshots: sorcery@0.11.0: dependencies: - '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/sourcemap-codec': 1.5.0 buffer-crc32: 0.2.13 minimist: 1.2.7 sander: 0.5.1 @@ -9069,6 +11673,8 @@ snapshots: sourcemap-codec@1.4.8: {} + space-separated-tokens@2.0.2: {} + spawn-command@0.0.2-1: {} spdx-correct@3.2.0: @@ -9087,12 +11693,22 @@ snapshots: stackback@0.0.2: {} + statuses@2.0.1: {} + std-env@3.3.2: {} stop-iteration-iterator@1.0.0: dependencies: internal-slot: 1.0.5 + storybook@8.3.5: + dependencies: + '@storybook/core': 8.3.5 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + streamsearch@1.1.0: {} string-width@4.2.3: @@ -9141,6 +11757,10 @@ snapshots: dependencies: ansi-regex: 6.0.1 + strip-ansi@7.1.0: + dependencies: + ansi-regex: 6.0.1 + strip-bom@3.0.0: {} strip-indent@3.0.0: @@ -9238,6 +11858,18 @@ snapshots: - stylus - sugarss + svelte-check@4.0.4(svelte@4.2.19)(typescript@5.5.4): + dependencies: + '@jridgewell/trace-mapping': 0.3.25 + chokidar: 4.0.1 + fdir: 6.4.0 + picocolors: 1.1.0 + sade: 1.8.1 + svelte: 4.2.19 + typescript: 5.5.4 + transitivePeerDependencies: + - picomatch + svelte-hmr@0.15.1(svelte@3.55.0): dependencies: svelte: 3.55.0 @@ -9250,6 +11882,54 @@ snapshots: dependencies: svelte: 4.2.19 + svelte-material-ui@7.0.0(svelte@4.2.19)(typescript@5.5.4): + dependencies: + '@smui-extra/accordion': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui-extra/autocomplete': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui-extra/badge': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui-extra/bottom-app-bar': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/banner': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/button': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/card': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/checkbox': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/chips': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/circular-progress': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/common': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/data-table': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/dialog': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/drawer': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/fab': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/floating-label': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/form-field': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/icon-button': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/image-list': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/layout-grid': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/line-ripple': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/linear-progress': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/list': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/menu': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/menu-surface': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/notched-outline': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/paper': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/radio': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/ripple': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/segmented-button': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/select': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/slider': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/snackbar': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/switch': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/tab': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/tab-bar': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/tab-indicator': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/tab-scroller': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/textfield': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/tooltip': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/top-app-bar': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + '@smui/touch-target': 7.0.0(svelte@4.2.19)(typescript@5.5.4) + transitivePeerDependencies: + - svelte + - typescript + svelte-material-ui@7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2): dependencies: '@smui-extra/accordion': 7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2) @@ -9257,7 +11937,7 @@ snapshots: '@smui-extra/badge': 7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2) '@smui-extra/bottom-app-bar': 7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2) '@smui/banner': 7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2) - '@smui/button': 7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2) + '@smui/button': 7.0.0(svelte@3.55.0)(typescript@5.2.2) '@smui/card': 7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2) '@smui/checkbox': 7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2) '@smui/chips': 7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2) @@ -9292,7 +11972,7 @@ snapshots: '@smui/tab-scroller': 7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2) '@smui/textfield': 7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2) '@smui/tooltip': 7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2) - '@smui/top-app-bar': 7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2) + '@smui/top-app-bar': 7.0.0(svelte@3.55.0)(typescript@5.2.2) '@smui/touch-target': 7.0.0-beta.8(svelte@3.55.0)(typescript@5.2.2) transitivePeerDependencies: - svelte @@ -9353,6 +12033,20 @@ snapshots: svelte: 3.55.0 typescript: 5.2.2 + svelte2tsx@0.7.21(svelte@3.55.0)(typescript@5.2.2): + dependencies: + dedent-js: 1.0.1 + pascal-case: 3.1.2 + svelte: 3.55.0 + typescript: 5.2.2 + + svelte2tsx@0.7.21(svelte@4.2.19)(typescript@5.5.4): + dependencies: + dedent-js: 1.0.1 + pascal-case: 3.1.2 + svelte: 4.2.19 + typescript: 5.5.4 + svelte@3.55.0: {} svelte@3.55.1: {} @@ -9374,6 +12068,14 @@ snapshots: magic-string: 0.30.11 periscopic: 3.1.0 + sveltedoc-parser@4.2.1: + dependencies: + eslint: 8.4.1 + espree: 9.2.0 + htmlparser2-svelte: 4.1.0 + transitivePeerDependencies: + - supports-color + symbol-tree@3.2.4: {} tar-fs@2.1.1: @@ -9391,6 +12093,10 @@ snapshots: inherits: 2.0.4 readable-stream: 3.6.2 + telejson@7.2.0: + dependencies: + memoizerific: 1.11.3 + test-exclude@6.0.0: dependencies: '@istanbuljs/schema': 0.1.3 @@ -9410,22 +12116,30 @@ snapshots: globalyzer: 0.1.0 globrex: 0.1.2 + tiny-invariant@1.3.3: {} + tinybench@2.3.1: {} tinybench@2.4.0: {} tinypool@0.4.0: {} + tinyrainbow@1.2.0: {} + tinyspy@1.0.2: {} tinyspy@2.1.0: {} + tinyspy@3.0.2: {} + to-fast-properties@2.0.0: {} to-regex-range@5.0.1: dependencies: is-number: 7.0.0 + toidentifier@1.0.1: {} + totalist@3.0.0: {} tough-cookie@4.1.2: @@ -9451,6 +12165,8 @@ snapshots: dependencies: typescript: 5.2.2 + ts-dedent@2.2.0: {} + tsconfig-paths@3.14.2: dependencies: '@types/json5': 0.0.29 @@ -9471,32 +12187,7 @@ snapshots: tslib: 1.14.1 typescript: 4.9.4 - turbo-darwin-64@1.8.3: - optional: true - - turbo-darwin-arm64@1.8.3: - optional: true - - turbo-linux-64@1.8.3: - optional: true - - turbo-linux-arm64@1.8.3: - optional: true - - turbo-windows-64@1.8.3: - optional: true - - turbo-windows-arm64@1.8.3: - optional: true - - turbo@1.8.3: - optionalDependencies: - turbo-darwin-64: 1.8.3 - turbo-darwin-arm64: 1.8.3 - turbo-linux-64: 1.8.3 - turbo-linux-arm64: 1.8.3 - turbo-windows-64: 1.8.3 - turbo-windows-arm64: 1.8.3 + tween-functions@1.2.0: {} type-check@0.3.2: dependencies: @@ -9512,6 +12203,11 @@ snapshots: type-fest@2.19.0: {} + type-is@1.6.18: + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.35 + typed-array-length@1.0.4: dependencies: call-bind: 1.0.2 @@ -9544,11 +12240,35 @@ snapshots: dependencies: busboy: 1.6.0 + unist-util-is@6.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-visit-parents@6.0.1: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.0 + + unist-util-visit@5.0.0: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + universalify@0.2.0: {} + universalify@2.0.1: {} + + unpipe@1.0.0: {} + + unplugin@1.14.1: + dependencies: + acorn: 8.12.1 + webpack-virtual-modules: 0.6.2 + uri-js@4.4.1: dependencies: - punycode: 2.1.1 + punycode: 2.3.0 url-parse@1.5.10: dependencies: @@ -9557,8 +12277,20 @@ snapshots: util-deprecate@1.0.2: {} + util@0.12.5: + dependencies: + inherits: 2.0.4 + is-arguments: 1.1.1 + is-generator-function: 1.0.10 + is-typed-array: 1.1.10 + which-typed-array: 1.1.9 + + utils-merge@1.0.1: {} + uuid@9.0.0: {} + v8-compile-cache@2.4.0: {} + v8-to-istanbul@9.1.0: dependencies: '@jridgewell/trace-mapping': 0.3.17 @@ -9570,6 +12302,8 @@ snapshots: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 + vary@1.1.2: {} + vite-node@0.29.7(@types/node@18.11.18)(sass@1.62.0): dependencies: cac: 6.7.14 @@ -9593,7 +12327,7 @@ snapshots: debug: 4.3.4 mlly: 1.2.0 pathe: 1.1.0 - picocolors: 1.0.0 + picocolors: 1.1.0 vite: 4.3.1(@types/node@18.11.18)(sass@1.62.0) transitivePeerDependencies: - '@types/node' @@ -9656,6 +12390,16 @@ snapshots: fsevents: 2.3.3 sass: 1.62.0 + vite@5.4.8(@types/node@18.11.18)(sass@1.62.0): + dependencies: + esbuild: 0.21.5 + postcss: 8.4.45 + rollup: 4.21.2 + optionalDependencies: + '@types/node': 18.11.18 + fsevents: 2.3.3 + sass: 1.62.0 + vitefu@0.2.4(vite@4.1.4(@types/node@18.11.18)(sass@1.62.0)): optionalDependencies: vite: 4.1.4(@types/node@18.11.18)(sass@1.62.0) @@ -9668,6 +12412,10 @@ snapshots: optionalDependencies: vite: 5.4.3(@types/node@18.11.18)(sass@1.62.0) + vitefu@0.2.5(vite@5.4.8(@types/node@18.11.18)(sass@1.62.0)): + optionalDependencies: + vite: 5.4.8(@types/node@18.11.18)(sass@1.62.0) + vitest@0.29.7(@vitest/browser@0.29.7)(@vitest/ui@0.30.1)(happy-dom@8.9.0)(jsdom@21.1.1)(safaridriver@0.0.4)(sass@1.62.0)(webdriverio@8.6.7(typescript@4.9.4)): dependencies: '@types/chai': 4.3.4 @@ -9807,6 +12555,8 @@ snapshots: webidl-conversions@7.0.0: {} + webpack-virtual-modules@0.6.2: {} + well-known-symbols@2.0.0: {} whatwg-encoding@2.0.0: diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 7d85dece..c916e52b 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,4 +1,5 @@ packages: - "packages/plugins/*" - "packages/uilib" + - "packages/ui" - "packages/core" \ No newline at end of file diff --git a/turbo.json b/turbo.json deleted file mode 100644 index 5a22fc58..00000000 --- a/turbo.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "$schema": "https://turbo.build/schema.json", - "pipeline": { - "dev": { - "cache": false, - "persistent": true - }, - "build:watch": { - "outputs": [ - "dist/**" - ] - }, - "build": { - "dependsOn": [ - "^build" - ], - "outputs": [ - "dist/**" - ] - }, - "lint": { - "cache": false - }, - "fix": { - "cache": false - }, - "check": {} - } -} \ No newline at end of file