diff --git a/.plans/storybook-foundations.md b/.plans/storybook-foundations.md index d9be813ad..1fc9b22e6 100644 --- a/.plans/storybook-foundations.md +++ b/.plans/storybook-foundations.md @@ -23,8 +23,8 @@ The webkit monorepo has 81 component stories but zero design system foundations apps/storybook/src/ ├── foundations-data/ │ ├── tokens.js ← derives color data from @aziontech/theme/tokens -│ ├── typography.js ← mirrors semantic-texts-plugin.js values as JS array -│ └── spacing.js ← mirrors semantic-spacing-plugin.js values as JS array +│ ├── typography.js ← mirrors semantic-texts-plugin values as JS array +│ └── spacing.js ← mirrors semantic-spacing-plugin values as JS array ├── components/foundations/ │ ├── ColorSwatch.vue ← single color chip (inline style for bg) │ ├── ColorPalette.vue ← grid of swatches under a heading @@ -71,10 +71,10 @@ const { light, dark } = createCssVars() - **Semantic groups**: Walk `textSemantic.light` keys → look up `light['--text-' + key]` and `dark['--text-' + key]` ### Typography -Static JS array in `typography.js` mirroring the CSS values from `packages/theme/src/tailwind/semantic-texts-plugin.js`. Class name strings must appear as literals (not dynamically constructed) so Tailwind's scanner includes them. +Static JS array in `typography.js` mirroring the CSS values from `packages/theme/src/tailwind/semantic-texts-plugin`. Class name strings must appear as literals (not dynamically constructed) so Tailwind's scanner includes them. ### Spacing -Same approach as Typography — static array mirroring `semantic-spacing-plugin.js`. +Same approach as Typography — static array mirroring `semantic-spacing-plugin`. ### Icons ```js @@ -217,6 +217,6 @@ Creates the entire infrastructure. All subsequent phases reuse it. - `apps/storybook/.storybook/preview.js` — modify `storySort.order` - `packages/theme/src/tokens/build/css-vars.js` — `createCssVars()` source - `packages/theme/src/tokens/index.js` — re-exports all token primitives and utilities -- `packages/theme/src/tailwind/semantic-texts-plugin.js` — typography CSS values -- `packages/theme/src/tailwind/semantic-spacing-plugin.js` — spacing CSS values +- `packages/theme/src/tailwind/semantic-texts-plugin` — typography CSS values +- `packages/theme/src/tailwind/semantic-spacing-plugin` — spacing CSS values - `packages/icons/dist/catalog.json` — icon manifest (87 ai + 315 pi) diff --git a/apps/icons-gallery/package.json b/apps/icons-gallery/package.json index c9701ce6b..364616d50 100644 --- a/apps/icons-gallery/package.json +++ b/apps/icons-gallery/package.json @@ -18,7 +18,7 @@ }, "dependencies": { "@aziontech/icons": "workspace:*", - "axios": "^1.7.7", + "axios": "^1.15.0", "tailwind-gradient-mask-image": "^1.2.0", "vue": "^3.5.29", "vue3-colorpicker": "^2.3.0" @@ -32,7 +32,7 @@ "postcss": "^8.4.38", "prettier": "^3.8.1", "tailwindcss": "^3.4.4", - "vite": "^6.4.1", + "vite": "^6.4.2", "vitest": "^3.0.5", "happy-dom": "^20.8.9" } diff --git a/apps/icons-gallery/src/components/IconCard.vue b/apps/icons-gallery/src/components/IconCard.vue index 8961872c7..44340f9d2 100644 --- a/apps/icons-gallery/src/components/IconCard.vue +++ b/apps/icons-gallery/src/components/IconCard.vue @@ -1,8 +1,12 @@ diff --git a/apps/icons-gallery/tailwind.config.js b/apps/icons-gallery/tailwind.config.js index 4069bb72c..2f877fee2 100644 --- a/apps/icons-gallery/tailwind.config.js +++ b/apps/icons-gallery/tailwind.config.js @@ -8,5 +8,5 @@ export default { extend: {}, }, darkMode: 'class', - plugins: [], + plugins: [require('tailwind-gradient-mask-image')], }; diff --git a/apps/storybook/.storybook/main.js b/apps/storybook/.storybook/main.js index 3f682de3e..f68da943c 100644 --- a/apps/storybook/.storybook/main.js +++ b/apps/storybook/.storybook/main.js @@ -20,14 +20,16 @@ const config = { core: { disableTelemetry: true, }, - features: { - storyStoreV7: true, - }, refs: { 'marketing-components': { title: 'Marketing Components', url: 'https://s07fylnjym.map.azionedge.net/', expanded: true + }, + 'platform-components': { + title: 'Platform Components', + url: 'https://storybook-console.azion.app/', + expanded: true } }, viteFinal: async (config) => { diff --git a/apps/storybook/.storybook/manager.js b/apps/storybook/.storybook/manager.js index 0d9f923ce..305081472 100644 --- a/apps/storybook/.storybook/manager.js +++ b/apps/storybook/.storybook/manager.js @@ -34,8 +34,22 @@ const azionTheme = create({ inputBorderRadius: 4, // Brand - brandTitle: 'Azion WebKit', - brandUrl: 'https://www.azion.com', + brandTitle: ` + + + + + + + + + + + + + +`, + brandUrl: 'https://webkit.azion.app', brandImage: undefined, brandTarget: '_self', }); diff --git a/apps/storybook/README.md b/apps/storybook/README.md index 5631f911d..f4d629130 100644 --- a/apps/storybook/README.md +++ b/apps/storybook/README.md @@ -35,9 +35,9 @@ To start the Storybook development server: ```bash # From the root -pnpm storybook:dev +pnpm storybook:dw -# Or from this directory +# from this directory pnpm dev ``` @@ -51,7 +51,7 @@ To build a static version of the Storybook: # From the root pnpm storybook:build -# Or from this directory +# from this directory pnpm build ``` diff --git a/apps/storybook/SITE-COMPONENTS.md b/apps/storybook/SITE-COMPONENTS.md deleted file mode 100644 index 25c8814a4..000000000 --- a/apps/storybook/SITE-COMPONENTS.md +++ /dev/null @@ -1,25 +0,0 @@ -| Component | Promoção | IMPLETED | -| ----------------------------- | ----------------- | ----------------- | -| AzionLogo | Promover | WEBKIT | -| Button | Promover | WEBKIT | -| CardContent | Promover | WEBKIT | -| Overline | Promover | WEBKIT | -| PricingCard | Promover | WEBKIT | -| ProductQuote | Promover | WEBKIT | -| Tag | Promover | WEBKIT | -| Toggle | Promover | WEBKIT | -| BaseModal | Promover | WEBKIT | -| GridCardContainer | Promover | usa Card (na lista dos nãos) -| GridCardContainerWithToggle | Promover | TODO -| ReadableContent | Promover | TODO -| SectionCards2Column | Promover | (se jogar 4 alinha em 4 colunas) -| SectionCards3Column | Promover | (não funciona no storybook do site) -| SectionContent3Column | Promover | TODO -| SectionForm1Column | Promover | Duvida -| SectionForm2Column | Promover | Duvida -| SectionHorizontalTabContent | Promover | (não funciona no storybook do site) -| ArticleNavigation | Promover (Futuro) | TODO -| SectionCardCarousel | Promover (Futuro) | (não funciona no storybook do site) -| SectionContent2Column | Promover (Futuro) | TODO -| SectionImageContent2Column | Promover (Futuro) | (não funciona no storybook do site) -| SectionFaq | Promover (Futuro) | (não funciona no storybook do site) \ No newline at end of file diff --git a/apps/storybook/package.json b/apps/storybook/package.json index 8a062c76b..5025f8718 100644 --- a/apps/storybook/package.json +++ b/apps/storybook/package.json @@ -33,7 +33,7 @@ "postcss": "^8.5.8", "sass": "^1.86.0", "storybook": "^8.6.0", - "vite": "^6.4.1" + "vite": "^6.4.2" }, "engines": { "node": ">=22.18.0", diff --git a/apps/storybook/src/foundations/components/ColorPlayground.vue b/apps/storybook/src/foundations/components/ColorPlayground.vue index 8828ba00c..5df3f490c 100644 --- a/apps/storybook/src/foundations/components/ColorPlayground.vue +++ b/apps/storybook/src/foundations/components/ColorPlayground.vue @@ -129,7 +129,8 @@ function isCopied(key) { {{ overline }} diff --git a/apps/storybook/src/foundations/data/spacing.js b/apps/storybook/src/foundations/data/spacing.js index 01f167319..d2608964a 100644 --- a/apps/storybook/src/foundations/data/spacing.js +++ b/apps/storybook/src/foundations/data/spacing.js @@ -1,7 +1,7 @@ /** * Foundations / Spacing — data layer * - * Static JS array mirroring the CSS values from semantic-spacing-plugin.js. + * Static JS array mirroring the CSS values from semantic-spacing-plugin. * Class name strings appear as literals so Tailwind's scanner includes them. */ diff --git a/apps/storybook/src/foundations/data/typography.js b/apps/storybook/src/foundations/data/typography.js index f57ebe264..896bbff8f 100644 --- a/apps/storybook/src/foundations/data/typography.js +++ b/apps/storybook/src/foundations/data/typography.js @@ -1,7 +1,7 @@ /** * Foundations / Typography — data layer * - * Static JS array mirroring the CSS values from semantic-texts-plugin.js. + * Static JS array mirroring the CSS values from semantic-texts-plugin. * Class name strings appear as literals so Tailwind's scanner includes them. */ diff --git a/apps/storybook/src/stories/core/Overline.stories.js b/apps/storybook/src/stories/core/Overline.stories.js index e37534755..9cdfd3c4e 100644 --- a/apps/storybook/src/stories/core/Overline.stories.js +++ b/apps/storybook/src/stories/core/Overline.stories.js @@ -4,26 +4,56 @@ export default { title: 'Core/Overline', component: Overline, tags: ['autodocs'], + parameters: { + docs: { + description: { + component: ` +The **Overline** component is a typographic element used to display uppercase labels with a monospace font. +It's commonly used for section headers, labels, and categorization text in the Azion design system. + +### Features +- **Optional blinking cursor**: Perfect for terminal-like or code-focused interfaces +- **Preset prefixes**: Choose from \`//\`, \`<>\`, or \`>\` + +### Usage +Use Overline for: +- Section headers and categorization +- Labels above titles or cards +- Terminal-style interfaces with cursor +- Code-related UI elements + +\`\`\`vue +SECTION LABEL +TERMINAL OUTPUT +CODE LABEL +\`\`\` +` + } + } + }, argTypes: { - color: { - control: 'select', - options: ['default', 'primary', 'muted', 'black'], - description: 'Text color variant', - defaultValue: 'muted' + showCursor: { + control: 'boolean', + description: 'Show blinking cursor at the end of the text', + defaultValue: false, + table: { + defaultValue: { summary: 'false' } + } }, - size: { + prefix: { control: 'select', - options: ['xs', 'sm', 'lg'], - description: 'Text size', - defaultValue: 'xs' + options: ['', '//', '<>', '>'], + description: 'Preset prefix before the label', + defaultValue: '', + table: { + defaultValue: { summary: '""' } + } } } }; export const Default = { - args: { - color: 'default' - }, + args: {}, render: (args) => ({ components: { Overline }, setup() { @@ -33,80 +63,73 @@ export const Default = { }) }; -export const Primary = { +export const WithCursor = { args: { - color: 'primary' + showCursor: true, + prefix: '//' }, render: (args) => ({ components: { Overline }, setup() { return { args }; }, - template: 'OVERLINE TEXT' + template: ` + OVERLINE TEXT + ` }) }; -export const Muted = { +export const CursorWithoutPrefix = { args: { - color: 'muted' + showCursor: true, + prefix: '' }, render: (args) => ({ components: { Overline }, setup() { return { args }; }, - template: 'OVERLINE TEXT' - }) -}; - -export const Black = { - args: { - color: 'black' - }, - render: (args) => ({ - components: { Overline }, - setup() { - return { args }; - }, - template: 'OVERLINE TEXT' + template: ` + NO PREFIX + ` }) }; -export const SizeXS = { +export const PrefixDoubleSlash = { args: { - size: 'xs' + prefix: '//' }, render: (args) => ({ components: { Overline }, setup() { return { args }; }, - template: 'EXTRA SMALL OVERLINE' + template: 'COMMENT STYLE' }) }; -export const SizeSM = { +export const PrefixAngleBrackets = { args: { - size: 'sm' + prefix: '<>' }, render: (args) => ({ components: { Overline }, setup() { return { args }; }, - template: 'SMALL OVERLINE' + template: 'CODE LABEL' }) }; -export const SizeLG = { +export const PrefixClosingTag = { args: { - size: 'lg' + prefix: '>' }, render: (args) => ({ components: { Overline }, setup() { return { args }; }, - template: 'LARGE OVERLINE' + template: 'CLOSING TAG' }) }; diff --git a/apps/storybook/src/stories/foundations/Spacing.stories.js b/apps/storybook/src/stories/foundations/Spacing.stories.js index f7b5b2a92..7fab050bd 100644 --- a/apps/storybook/src/stories/foundations/Spacing.stories.js +++ b/apps/storybook/src/stories/foundations/Spacing.stories.js @@ -20,7 +20,7 @@ export default { description: { component: [ 'Spacing system documentation — semantic spacing classes for Azion Design System.', - 'All spacing classes are defined in `@aziontech/theme/tailwind/semantic-spacing-plugin.js`.', + 'All spacing classes are defined in `@aziontech/theme/tailwind/semantic-spacing-plugin`.', ].join(' '), }, }, @@ -83,7 +83,7 @@ export const Overview = { > {{ group.label }} {{ group.description }} - + {{ group.label }} {{ group.description }} - + ({ + components: { Accordion, AccordionTab }, + template: ` + + + Content of Tab 1 + + + Content of Tab 2 + + + Content of Tab 3 + + + ` + }) +} + +export const Disabled = { + render: () => ({ + components: { Accordion, AccordionTab }, + template: ` + + + This tab is enabled + + + This tab is disabled + + + ` + }) +} diff --git a/apps/storybook/src/stories/primevue/Calendar.stories.js b/apps/storybook/src/stories/primevue/Calendar.stories.js new file mode 100644 index 000000000..fbb53b386 --- /dev/null +++ b/apps/storybook/src/stories/primevue/Calendar.stories.js @@ -0,0 +1,70 @@ +import Calendar from '@aziontech/webkit/calendar' +import { ref } from 'vue' + +export default { + title: 'PrimeVue/Calendar', + component: Calendar, + tags: ['autodocs'], + argTypes: { + placeholder: { control: 'text', description: 'Placeholder text' }, + showIcon: { control: 'boolean', description: 'Shows a calendar icon' }, + showTime: { control: 'boolean', description: 'Shows time picker' }, + disabled: { control: 'boolean', description: 'Disables the component' }, + inline: { control: 'boolean', description: 'Renders inline calendar' } + } +} + +export const Default = { + render: () => ({ + components: { Calendar }, + setup() { + const value = ref(null) + return { value } + }, + template: `` + }) +} + +export const WithIcon = { + render: () => ({ + components: { Calendar }, + setup() { + const value = ref(null) + return { value } + }, + template: `` + }) +} + +export const DateRange = { + render: () => ({ + components: { Calendar }, + setup() { + const value = ref(null) + return { value } + }, + template: `` + }) +} + +export const WithTime = { + render: () => ({ + components: { Calendar }, + setup() { + const value = ref(null) + return { value } + }, + template: `` + }) +} + +export const Inline = { + render: () => ({ + components: { Calendar }, + setup() { + const value = ref(null) + return { value } + }, + template: `` + }) +} diff --git a/apps/storybook/src/stories/primevue/Checkbox.stories.js b/apps/storybook/src/stories/primevue/Checkbox.stories.js new file mode 100644 index 000000000..06405a470 --- /dev/null +++ b/apps/storybook/src/stories/primevue/Checkbox.stories.js @@ -0,0 +1,44 @@ +import Checkbox from '@aziontech/webkit/checkbox' +import { ref } from 'vue' + +export default { + title: 'PrimeVue/Checkbox', + component: Checkbox, + tags: ['autodocs'], + argTypes: { + binary: { control: 'boolean', description: 'Binary mode (true/false)' }, + disabled: { control: 'boolean', description: 'Disables the checkbox' } + } +} + +export const Default = { + render: () => ({ + components: { Checkbox }, + setup() { + const value = ref(false) + return { value } + }, + template: ` + + + Accept terms + + ` + }) +} + +export const Disabled = { + render: () => ({ + components: { Checkbox }, + setup() { + const value = ref(true) + return { value } + }, + template: ` + + + Disabled checked + + ` + }) +} diff --git a/apps/storybook/src/stories/primevue/Chips.stories.js b/apps/storybook/src/stories/primevue/Chips.stories.js new file mode 100644 index 000000000..869c1990d --- /dev/null +++ b/apps/storybook/src/stories/primevue/Chips.stories.js @@ -0,0 +1,46 @@ +import Chips from '@aziontech/webkit/chips' +import { ref } from 'vue' + +export default { + title: 'PrimeVue/Chips', + component: Chips, + tags: ['autodocs'], + argTypes: { + placeholder: { control: 'text', description: 'Placeholder text' }, + max: { control: 'number', description: 'Maximum number of entries' }, + disabled: { control: 'boolean', description: 'Disables the component' } + } +} + +export const Default = { + render: () => ({ + components: { Chips }, + setup() { + const value = ref([]) + return { value } + }, + template: `` + }) +} + +export const WithMax = { + render: () => ({ + components: { Chips }, + setup() { + const value = ref(['Tag 1', 'Tag 2']) + return { value } + }, + template: `` + }) +} + +export const Disabled = { + render: () => ({ + components: { Chips }, + setup() { + const value = ref(['Tag 1', 'Tag 2']) + return { value } + }, + template: `` + }) +} diff --git a/apps/storybook/src/stories/primevue/Dropdown.stories.js b/apps/storybook/src/stories/primevue/Dropdown.stories.js new file mode 100644 index 000000000..15b8633e9 --- /dev/null +++ b/apps/storybook/src/stories/primevue/Dropdown.stories.js @@ -0,0 +1,79 @@ +import Dropdown from '@aziontech/webkit/dropdown' +import { ref } from 'vue' + +export default { + title: 'PrimeVue/Dropdown', + component: Dropdown, + tags: ['autodocs'], + argTypes: { + placeholder: { control: 'text', description: 'Placeholder text' }, + filter: { control: 'boolean', description: 'Shows a filter input' }, + editable: { control: 'boolean', description: 'Allows free text input' }, + loading: { control: 'boolean', description: 'Shows loading indicator' }, + disabled: { control: 'boolean', description: 'Disables the component' }, + showClear: { control: 'boolean', description: 'Shows a clear icon' } + } +} + +const sampleOptions = [ + { label: 'Option 1', value: 1 }, + { label: 'Option 2', value: 2 }, + { label: 'Option 3', value: 3 }, + { label: 'Option 4', value: 4 }, + { label: 'Option 5', value: 5 } +] + +export const Default = { + render: () => ({ + components: { Dropdown }, + setup() { + const value = ref(null) + return { value, options: sampleOptions } + }, + template: `` + }) +} + +export const WithFilter = { + render: () => ({ + components: { Dropdown }, + setup() { + const value = ref(null) + return { value, options: sampleOptions } + }, + template: `` + }) +} + +export const Editable = { + render: () => ({ + components: { Dropdown }, + setup() { + const value = ref(null) + return { value, options: sampleOptions } + }, + template: `` + }) +} + +export const Loading = { + render: () => ({ + components: { Dropdown }, + setup() { + const value = ref(null) + return { value, options: sampleOptions } + }, + template: `` + }) +} + +export const Disabled = { + render: () => ({ + components: { Dropdown }, + setup() { + const value = ref(2) + return { value, options: sampleOptions } + }, + template: `` + }) +} diff --git a/apps/storybook/src/stories/primevue/InlineMessage.stories.js b/apps/storybook/src/stories/primevue/InlineMessage.stories.js index 9b6cae681..f8be5d3ff 100644 --- a/apps/storybook/src/stories/primevue/InlineMessage.stories.js +++ b/apps/storybook/src/stories/primevue/InlineMessage.stories.js @@ -1,4 +1,4 @@ -import InlineMessage from '@aziontech/webkit/inline-message'; +import InlineMessage from '@aziontech/webkit/inlinemessage'; export default { title: 'PrimeVue/InlineMessage', diff --git a/apps/storybook/src/stories/primevue/InputNumber.stories.js b/apps/storybook/src/stories/primevue/InputNumber.stories.js new file mode 100644 index 000000000..a92c72de4 --- /dev/null +++ b/apps/storybook/src/stories/primevue/InputNumber.stories.js @@ -0,0 +1,59 @@ +import InputNumber from '@aziontech/webkit/inputnumber' +import { ref } from 'vue' + +export default { + title: 'PrimeVue/InputNumber', + component: InputNumber, + tags: ['autodocs'], + argTypes: { + placeholder: { control: 'text', description: 'Placeholder text' }, + disabled: { control: 'boolean', description: 'Disables the input' }, + showButtons: { control: 'boolean', description: 'Shows increment/decrement buttons' }, + min: { control: 'number', description: 'Minimum value' }, + max: { control: 'number', description: 'Maximum value' } + } +} + +export const Default = { + render: () => ({ + components: { InputNumber }, + setup() { + const value = ref(0) + return { value } + }, + template: `` + }) +} + +export const WithButtons = { + render: () => ({ + components: { InputNumber }, + setup() { + const value = ref(5) + return { value } + }, + template: `` + }) +} + +export const MinMax = { + render: () => ({ + components: { InputNumber }, + setup() { + const value = ref(10) + return { value } + }, + template: `` + }) +} + +export const Disabled = { + render: () => ({ + components: { InputNumber }, + setup() { + const value = ref(42) + return { value } + }, + template: `` + }) +} diff --git a/apps/storybook/src/stories/primevue/InputSwitch.stories.js b/apps/storybook/src/stories/primevue/InputSwitch.stories.js new file mode 100644 index 000000000..59c0cbb59 --- /dev/null +++ b/apps/storybook/src/stories/primevue/InputSwitch.stories.js @@ -0,0 +1,43 @@ +import InputSwitch from '@aziontech/webkit/inputswitch' +import { ref } from 'vue' + +export default { + title: 'PrimeVue/InputSwitch', + component: InputSwitch, + tags: ['autodocs'], + argTypes: { + disabled: { control: 'boolean', description: 'Disables the switch' } + } +} + +export const Default = { + render: () => ({ + components: { InputSwitch }, + setup() { + const value = ref(false) + return { value } + }, + template: ` + + + {{ value ? 'On' : 'Off' }} + + ` + }) +} + +export const Disabled = { + render: () => ({ + components: { InputSwitch }, + setup() { + const value = ref(true) + return { value } + }, + template: ` + + + Disabled + + ` + }) +} diff --git a/apps/storybook/src/stories/primevue/InputText.stories.js b/apps/storybook/src/stories/primevue/InputText.stories.js new file mode 100644 index 000000000..cc09922c5 --- /dev/null +++ b/apps/storybook/src/stories/primevue/InputText.stories.js @@ -0,0 +1,46 @@ +import InputText from '@aziontech/webkit/inputtext' +import { ref } from 'vue' + +export default { + title: 'PrimeVue/InputText', + component: InputText, + tags: ['autodocs'], + argTypes: { + placeholder: { control: 'text', description: 'Placeholder text' }, + disabled: { control: 'boolean', description: 'Disables the input' }, + readonly: { control: 'boolean', description: 'Makes the input readonly' } + } +} + +export const Default = { + render: () => ({ + components: { InputText }, + setup() { + const value = ref('') + return { value } + }, + template: `` + }) +} + +export const Disabled = { + render: () => ({ + components: { InputText }, + setup() { + const value = ref('Disabled value') + return { value } + }, + template: `` + }) +} + +export const Readonly = { + render: () => ({ + components: { InputText }, + setup() { + const value = ref('Readonly value') + return { value } + }, + template: `` + }) +} diff --git a/apps/storybook/src/stories/primevue/Listbox.stories.js b/apps/storybook/src/stories/primevue/Listbox.stories.js new file mode 100644 index 000000000..389dc8906 --- /dev/null +++ b/apps/storybook/src/stories/primevue/Listbox.stories.js @@ -0,0 +1,65 @@ +import Listbox from '@aziontech/webkit/listbox' +import { ref } from 'vue' + +export default { + title: 'PrimeVue/Listbox', + component: Listbox, + tags: ['autodocs'], + argTypes: { + filter: { control: 'boolean', description: 'Shows a filter input' }, + multiple: { control: 'boolean', description: 'Allows multiple selection' }, + disabled: { control: 'boolean', description: 'Disables the component' } + } +} + +const sampleOptions = [ + { label: 'Option 1', value: 1 }, + { label: 'Option 2', value: 2 }, + { label: 'Option 3', value: 3 }, + { label: 'Option 4', value: 4 }, + { label: 'Option 5', value: 5 } +] + +export const Default = { + render: () => ({ + components: { Listbox }, + setup() { + const value = ref(null) + return { value, options: sampleOptions } + }, + template: `` + }) +} + +export const WithFilter = { + render: () => ({ + components: { Listbox }, + setup() { + const value = ref(null) + return { value, options: sampleOptions } + }, + template: `` + }) +} + +export const MultipleSelection = { + render: () => ({ + components: { Listbox }, + setup() { + const value = ref([]) + return { value, options: sampleOptions } + }, + template: `` + }) +} + +export const Disabled = { + render: () => ({ + components: { Listbox }, + setup() { + const value = ref(1) + return { value, options: sampleOptions } + }, + template: `` + }) +} diff --git a/apps/storybook/src/stories/primevue/MultiSelect.stories.js b/apps/storybook/src/stories/primevue/MultiSelect.stories.js new file mode 100644 index 000000000..ef5a6066f --- /dev/null +++ b/apps/storybook/src/stories/primevue/MultiSelect.stories.js @@ -0,0 +1,67 @@ +import MultiSelect from '@aziontech/webkit/multiselect' +import { ref } from 'vue' + +export default { + title: 'PrimeVue/MultiSelect', + component: MultiSelect, + tags: ['autodocs'], + argTypes: { + placeholder: { control: 'text', description: 'Placeholder text' }, + filter: { control: 'boolean', description: 'Shows a filter input' }, + display: { control: 'select', options: ['comma', 'chip'], description: 'Display mode for selected items' }, + disabled: { control: 'boolean', description: 'Disables the component' }, + loading: { control: 'boolean', description: 'Shows loading indicator' } + } +} + +const sampleOptions = [ + { label: 'Option 1', value: 1 }, + { label: 'Option 2', value: 2 }, + { label: 'Option 3', value: 3 }, + { label: 'Option 4', value: 4 }, + { label: 'Option 5', value: 5 } +] + +export const Default = { + render: () => ({ + components: { MultiSelect }, + setup() { + const value = ref([]) + return { value, options: sampleOptions } + }, + template: `` + }) +} + +export const WithFilter = { + render: () => ({ + components: { MultiSelect }, + setup() { + const value = ref([]) + return { value, options: sampleOptions } + }, + template: `` + }) +} + +export const ChipDisplay = { + render: () => ({ + components: { MultiSelect }, + setup() { + const value = ref([1, 3]) + return { value, options: sampleOptions } + }, + template: `` + }) +} + +export const Disabled = { + render: () => ({ + components: { MultiSelect }, + setup() { + const value = ref([1]) + return { value, options: sampleOptions } + }, + template: `` + }) +} diff --git a/apps/storybook/src/stories/primevue/Password.stories.js b/apps/storybook/src/stories/primevue/Password.stories.js new file mode 100644 index 000000000..2ccddadf0 --- /dev/null +++ b/apps/storybook/src/stories/primevue/Password.stories.js @@ -0,0 +1,58 @@ +import Password from '@aziontech/webkit/password' +import { ref } from 'vue' + +export default { + title: 'PrimeVue/Password', + component: Password, + tags: ['autodocs'], + argTypes: { + placeholder: { control: 'text', description: 'Placeholder text' }, + feedback: { control: 'boolean', description: 'Shows strength feedback' }, + toggleMask: { control: 'boolean', description: 'Shows toggle mask icon' }, + disabled: { control: 'boolean', description: 'Disables the input' } + } +} + +export const Default = { + render: () => ({ + components: { Password }, + setup() { + const value = ref('') + return { value } + }, + template: `` + }) +} + +export const WithFeedback = { + render: () => ({ + components: { Password }, + setup() { + const value = ref('') + return { value } + }, + template: `` + }) +} + +export const ToggleMask = { + render: () => ({ + components: { Password }, + setup() { + const value = ref('') + return { value } + }, + template: `` + }) +} + +export const Disabled = { + render: () => ({ + components: { Password }, + setup() { + const value = ref('secret') + return { value } + }, + template: `` + }) +} diff --git a/apps/storybook/src/stories/primevue/PickList.stories.js b/apps/storybook/src/stories/primevue/PickList.stories.js new file mode 100644 index 000000000..ad74ac580 --- /dev/null +++ b/apps/storybook/src/stories/primevue/PickList.stories.js @@ -0,0 +1,42 @@ +import PickList from '@aziontech/webkit/picklist' +import { ref } from 'vue' + +export default { + title: 'PrimeVue/PickList', + component: PickList, + tags: ['autodocs'], + argTypes: { + showSourceControls: { control: 'boolean', description: 'Shows reorder controls in source list' }, + showTargetControls: { control: 'boolean', description: 'Shows reorder controls in target list' } + } +} + +export const Default = { + render: () => ({ + components: { PickList }, + setup() { + const value = ref([ + [ + { name: 'Item 1' }, + { name: 'Item 2' }, + { name: 'Item 3' }, + { name: 'Item 4' }, + { name: 'Item 5' } + ], + [ + { name: 'Item 6' } + ] + ]) + return { value } + }, + template: ` + + Available + Selected + + {{ item.name }} + + + ` + }) +} diff --git a/apps/storybook/src/stories/primevue/RadioButton.stories.js b/apps/storybook/src/stories/primevue/RadioButton.stories.js new file mode 100644 index 000000000..c06bf2eab --- /dev/null +++ b/apps/storybook/src/stories/primevue/RadioButton.stories.js @@ -0,0 +1,59 @@ +import RadioButton from '@aziontech/webkit/radiobutton' +import { ref } from 'vue' + +export default { + title: 'PrimeVue/RadioButton', + component: RadioButton, + tags: ['autodocs'], + argTypes: { + disabled: { control: 'boolean', description: 'Disables the radio button' } + } +} + +export const Default = { + render: () => ({ + components: { RadioButton }, + setup() { + const value = ref('option1') + return { value } + }, + template: ` + + + + Option 1 + + + + Option 2 + + + + Option 3 + + + ` + }) +} + +export const Disabled = { + render: () => ({ + components: { RadioButton }, + setup() { + const value = ref('option1') + return { value } + }, + template: ` + + + + Disabled selected + + + + Disabled unselected + + + ` + }) +} diff --git a/apps/storybook/src/stories/primevue/SelectButton.stories.js b/apps/storybook/src/stories/primevue/SelectButton.stories.js new file mode 100644 index 000000000..9b6dab76a --- /dev/null +++ b/apps/storybook/src/stories/primevue/SelectButton.stories.js @@ -0,0 +1,51 @@ +import SelectButton from '@aziontech/webkit/selectbutton' +import { ref } from 'vue' + +export default { + title: 'PrimeVue/SelectButton', + component: SelectButton, + tags: ['autodocs'], + argTypes: { + multiple: { control: 'boolean', description: 'Allows multiple selection' }, + disabled: { control: 'boolean', description: 'Disables the component' } + } +} + +const sampleOptions = [ + { label: 'Option 1', value: 1 }, + { label: 'Option 2', value: 2 }, + { label: 'Option 3', value: 3 } +] + +export const Default = { + render: () => ({ + components: { SelectButton }, + setup() { + const value = ref(1) + return { value, options: sampleOptions } + }, + template: `` + }) +} + +export const Multiple = { + render: () => ({ + components: { SelectButton }, + setup() { + const value = ref([1, 2]) + return { value, options: sampleOptions } + }, + template: `` + }) +} + +export const Disabled = { + render: () => ({ + components: { SelectButton }, + setup() { + const value = ref(1) + return { value, options: sampleOptions } + }, + template: `` + }) +} diff --git a/apps/storybook/src/stories/primevue/Textarea.stories.js b/apps/storybook/src/stories/primevue/Textarea.stories.js new file mode 100644 index 000000000..1d57b6311 --- /dev/null +++ b/apps/storybook/src/stories/primevue/Textarea.stories.js @@ -0,0 +1,48 @@ +import Textarea from '@aziontech/webkit/textarea' +import { ref } from 'vue' + +export default { + title: 'PrimeVue/Textarea', + component: Textarea, + tags: ['autodocs'], + argTypes: { + placeholder: { control: 'text', description: 'Placeholder text' }, + rows: { control: 'number', description: 'Number of rows' }, + cols: { control: 'number', description: 'Number of columns' }, + autoResize: { control: 'boolean', description: 'Auto resize based on content' }, + disabled: { control: 'boolean', description: 'Disables the textarea' } + } +} + +export const Default = { + render: () => ({ + components: { Textarea }, + setup() { + const value = ref('') + return { value } + }, + template: `` + }) +} + +export const AutoResize = { + render: () => ({ + components: { Textarea }, + setup() { + const value = ref('') + return { value } + }, + template: `` + }) +} + +export const Disabled = { + render: () => ({ + components: { Textarea }, + setup() { + const value = ref('Disabled content') + return { value } + }, + template: `` + }) +} diff --git a/apps/storybook/src/stories/site/BaseModal.stories.js b/apps/storybook/src/stories/site/BaseModal.stories.js deleted file mode 100644 index 4bde6d859..000000000 --- a/apps/storybook/src/stories/site/BaseModal.stories.js +++ /dev/null @@ -1,75 +0,0 @@ -import BaseModal from '@aziontech/webkit/site/base-modal' -import Button from '@aziontech/webkit/site/button' - -export default { - title: 'TODO - Marketing to Webkit/BaseModal', - component: BaseModal, - tags: ['autodocs'], - argTypes: { - backgroundColor: { - description: 'Defina o estilo de background da modal', - options: ['outlined', 'default'], - control: { type: 'radio' } - }, - showHeader: { - description: 'Mostrar/Esconder modal header', - control: 'boolean' - }, - disableVisibilityToggle: { - description: 'Disable click to open modal', - control: 'boolean' - } - } -} - -const Template = (args) => ({ - components: { BaseModal, Button }, - setup() { - return { args } - }, - template: ` - - - - - Modal Header - - - Modal content goes here - - - - - - - - ` -}) - -export const Default = Template.bind({}) -Default.args = { - backgroundColor: 'default', - showHeader: true, - disableVisibilityToggle: false -} - -export const Outlined = Template.bind({}) -Outlined.args = { - backgroundColor: 'outlined', - showHeader: true, - disableVisibilityToggle: false -} - -export const NoHeader = Template.bind({}) -NoHeader.args = { - backgroundColor: 'default', - showHeader: false, - disableVisibilityToggle: false -} - -export const DisabledToggle = Template.bind({}) -DisabledToggle.args = { - backgroundColor: 'default', - showHeader: true, - disableVisibilityToggle: true -} diff --git a/apps/storybook/src/stories/site/Button.stories.js b/apps/storybook/src/stories/site/Button.stories.js deleted file mode 100644 index aa84c9623..000000000 --- a/apps/storybook/src/stories/site/Button.stories.js +++ /dev/null @@ -1,139 +0,0 @@ -import Button from '@aziontech/webkit/site/button'; - -export default { - title: 'TODO - Marketing to Webkit/Button', - component: Button, - tags: ['autodocs'], - argTypes: { - label: { - control: 'text', - description: 'Button label text' - }, - size: { - control: 'select', - options: ['small', 'large'], - description: 'Button size', - defaultValue: 'large' - }, - type: { - control: 'select', - options: ['primary', 'secondary', 'link'], - description: 'Button type/variant', - defaultValue: 'secondary' - }, - href: { - control: 'text', - description: 'Link URL (renders as anchor tag when provided)' - }, - icon: { - control: 'text', - description: 'Icon class (e.g., pi pi-check)' - }, - customClass: { - control: 'text', - description: 'Custom CSS classes (default: px-0 py-0)', - defaultValue: 'px-0 py-0' - }, - target: { - control: 'select', - options: ['_blank', '_self'], - description: 'Link target', - defaultValue: '_self' - }, - location: { - control: 'text', - description: 'Analytics location identifier', - defaultValue: 'cta' - }, - onClick: { - action: 'click', - description: 'Click event handler' - } - } -}; - -export const Primary = { - args: { - label: 'Get Started', - type: 'primary', - customClass: 'px-3 py-3' - } -}; - -export const Secondary = { - args: { - label: 'Learn More', - type: 'secondary', - customClass: 'px-3 py-3' - } -}; - -export const Link = { - args: { - label: 'View Documentation', - type: 'link', - href: '/docs' - } -}; - -export const SmallSize = { - args: { - label: 'Small Button', - type: 'secondary', - size: 'small', - customClass: 'px-3 py-3' - } -}; - -export const LargeSize = { - args: { - label: 'Large Button', - type: 'secondary', - size: 'large', - customClass: 'px-3 py-3' - } -}; - -export const WithIcon = { - args: { - label: 'Download', - type: 'primary', - icon: 'pi pi-download', - customClass: 'px-3 py-3' - } -}; - -export const SecondaryWithIcon = { - args: { - label: 'Settings', - type: 'secondary', - icon: 'pi pi-cog', - customClass: 'px-3 py-3' - } -}; - -export const LinkWithIcon = { - args: { - label: 'Explore Features', - type: 'link', - href: '/features', - icon: 'pi pi-arrow-right' - } -}; - -export const ButtonAsLink = { - args: { - label: 'Navigate', - type: 'primary', - href: '/dashboard', - customClass: 'px-3 py-3' - } -}; - -export const CustomStyled = { - args: { - label: 'Custom Button', - type: 'secondary', - customClass: 'px-6 py-4' - } -}; diff --git a/apps/storybook/src/stories/site/PricingCard.stories.js b/apps/storybook/src/stories/site/PricingCard.stories.js deleted file mode 100644 index 6ff8043d0..000000000 --- a/apps/storybook/src/stories/site/PricingCard.stories.js +++ /dev/null @@ -1,99 +0,0 @@ -import PricingCard from '@aziontech/webkit/site/pricing-card'; - -export default { - title: 'TODO - Marketing to Webkit/PricingCard', - component: PricingCard, - tags: ['autodocs'], - parameters: { - layout: 'centered', - }, -}; - -export const Default = { - args: { - title: 'Starter', - subtitle: 'Perfect for small projects and development teams', - monthlyPrice: '$25', - annualPrice: '$20', - currentPeriod: 'monthly', - priceLabel: 'start at', - buttonLabel: 'Get Started', - features: [ - { label: '1TB Bandwidth', icon: 'pi-check' }, - { label: '10 Projects', icon: 'pi-check' }, - { label: 'Basic Analytics', icon: 'pi-check' }, - { label: 'Email Support', icon: 'pi-check' } - ] - } -}; - -export const Popular = { - args: { - popular: true, - title: 'Professional', - subtitle: 'Ideal for growing businesses and teams', - monthlyPrice: '$75', - annualPrice: '$60', - currentPeriod: 'monthly', - priceLabel: 'start at', - buttonLabel: 'Get Started', - features: [ - { label: '5TB Bandwidth', icon: 'pi-check' }, - { label: 'Unlimited Projects', icon: 'pi-check' }, - { label: 'Advanced Analytics', icon: 'pi-check' }, - { label: 'Priority Support', icon: 'pi-check' }, - { label: 'Custom Domain', icon: 'pi-check' } - ] - } -}; - -export const Annual = { - args: { - title: 'Enterprise', - subtitle: 'For large-scale applications and organizations', - monthlyPrice: '$150', - annualPrice: '$120', - currentPeriod: 'annual', - priceLabel: 'start at', - buttonLabel: 'Contact Sales', - features: [ - { label: 'Unlimited Bandwidth', icon: 'pi-check' }, - { label: 'Unlimited Projects', icon: 'pi-check' }, - { label: 'Real-time Analytics', icon: 'pi-check' }, - { label: '24/7 Support', icon: 'pi-check' }, - { label: 'SLA Guarantee', icon: 'pi-check' } - ] - } -}; - -export const CustomPrice = { - args: { - title: 'Custom', - subtitle: 'Tailored solutions for your specific needs', - customPrice: 'Contact Us', - buttonLabel: 'Talk to Sales', - features: [ - { label: 'Custom Bandwidth', icon: 'pi-check' }, - { label: 'Dedicated Infrastructure', icon: 'pi-check' }, - { label: 'Custom Integration', icon: 'pi-check' }, - { label: 'Dedicated Account Manager', icon: 'pi-check' } - ] - } -}; - -export const WithoutButton = { - args: { - title: 'Free Tier', - subtitle: 'Get started with no commitment', - monthlyPrice: '$0', - annualPrice: '$0', - currentPeriod: 'monthly', - priceLabel: 'start at', - buttonHidden: true, - features: [ - { label: '10GB Bandwidth', icon: 'pi-check' }, - { label: '1 Project', icon: 'pi-check' }, - { label: 'Community Support', icon: 'pi-check' } - ] - } -}; diff --git a/apps/storybook/src/stories/site/ProductQuote.stories.js b/apps/storybook/src/stories/site/ProductQuote.stories.js deleted file mode 100644 index 15e8596df..000000000 --- a/apps/storybook/src/stories/site/ProductQuote.stories.js +++ /dev/null @@ -1,29 +0,0 @@ -import ProductQuote from '@aziontech/webkit/site/product-quote'; - -export default { - title: 'TODO - Marketing to Webkit/ProductQuote', - component: ProductQuote, - tags: ['autodocs'], - argTypes: { - quote: { - control: 'text', - description: 'Quote text' - }, - author: { - control: 'text', - description: 'Author name' - }, - role: { - control: 'text', - description: 'Author role/title' - } - } -}; - -export const Default = { - args: { - quote: 'Edge computing has never been more accessible. Azion makes it simple.', - author: 'Sarah Johnson', - role: 'VP of Engineering, TechStart' - } -}; diff --git a/apps/storybook/src/stories/site/Quote.stories.js b/apps/storybook/src/stories/site/Quote.stories.js deleted file mode 100644 index 822833f4e..000000000 --- a/apps/storybook/src/stories/site/Quote.stories.js +++ /dev/null @@ -1,36 +0,0 @@ -import Quote from '@aziontech/webkit/site/quote'; - -export default { - title: 'TODO - Marketing to Webkit/Quote', - component: Quote, - tags: ['autodocs'], - argTypes: { - testimonial: { - control: 'text', - description: 'Quote testimonial text' - }, - source: { - control: 'text', - description: 'Quote source/author' - }, - logo: { - control: 'text', - description: 'Logo image URL' - } - } -}; - -export const Default = { - args: { - testimonial: 'Azion has transformed our edge computing capabilities with exceptional performance.', - source: 'John Doe, CTO at TechCorp' - } -}; - -export const WithLogo = { - args: { - testimonial: 'The best CDN solution we have ever used. Global reach with local performance.', - source: 'Jane Smith, Infrastructure Lead', - logo: 'https://www.azion.com/assets/images/partners/logo-example.svg' - } -}; diff --git a/apps/storybook/tailwind.config.js b/apps/storybook/tailwind.config.js index ac9501183..42661c239 100644 --- a/apps/storybook/tailwind.config.js +++ b/apps/storybook/tailwind.config.js @@ -1,8 +1,9 @@ import typography from '@tailwindcss/typography' -import { theme } from '@aziontech/theme/tailwind/tailwind-theme.js' -import semanticColors from '@aziontech/theme/tailwind/semantic-colors-plugin.js' -import semanticTexts from '@aziontech/theme/tailwind/semantic-texts-plugin.js' -import semanticSpacing from '@aziontech/theme/tailwind/semantic-spacing-plugin.js' +import { theme } from '@aziontech/theme/tailwind/tailwind-theme' +import semanticColors from '@aziontech/theme/tailwind/semantic-colors-plugin' +import semanticTexts from '@aziontech/theme/tailwind/semantic-texts-plugin' +import semanticSpacing from '@aziontech/theme/tailwind/semantic-spacing-plugin' +import semanticAnimations from '@aziontech/theme/tailwind/semantic-animations-plugin' /** @type {import('tailwindcss').Config} */ export default { @@ -73,35 +74,6 @@ export default { sora: ['Sora'], protomono: ['Proto Mono'], mono: ['Proto Mono', 'ui-monospace', 'SFMono-Regular', 'Menlo', 'Monaco', 'Cascadia Code', 'Roboto Mono', 'Courier New', 'monospace'] - }, - animation: { - fadeIn: 'fadeIn 220ms ease-in-out', - fadeOut: 'fadeOut 220ms ease-in-out', - slideDown: 'slideDown 220ms ease-in-out', - blink: 'blink 1.4s infinite both', - 'highlight-fade': 'highlight ease-in forwards' - }, - keyframes: { - highlight: { - '0%': { backgroundColor: 'var(--surface-hover)', fontWeight: '500' }, - '100%': { backgroundColor: 'var(--surface-hover)', fontWeight: '500' } - }, - fadeIn: { - '0%': { opacity: '0' }, - '100%': { opacity: '1' } - }, - fadeOut: { - '0%': { opacity: '1' }, - '100%': { opacity: '0' } - }, - slideDown: { - '0%': { height: '0' }, - '100%': { height: 'auto' } - }, - blink: { - '0%, 100% ': { opacity: '0.2' }, - '20%': { opacity: '1' } - } } } }, @@ -110,5 +82,6 @@ export default { semanticColors(), semanticTexts(), semanticSpacing(), + semanticAnimations(), ] } diff --git a/docs/repository-overview.md b/docs/repository-overview.md index 33edcb38d..cca8572f3 100644 --- a/docs/repository-overview.md +++ b/docs/repository-overview.md @@ -119,7 +119,7 @@ src/tokens/ │ └── borders.js # Border colors for light/dark themes └── build/ ├── preset.js # Tailwind preset - ├── tailwind-plugin.js # Static utility classes plugin + ├── tailwind-plugin # Static utility classes plugin ├── css-vars.js # CSS variable generation └── refs.js # Token reference system ``` diff --git a/package.json b/package.json index 3106147f5..93240e13e 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "postcss": "^8.5.8", "prettier": "^3.8.1", "semantic-release": "^23.1.1", - "vite": "^6.4.1" + "vite": "^6.4.2" }, "overrides": { "tar": ">=7.5.10", diff --git a/packages/theme/CHANGELOG.md b/packages/theme/CHANGELOG.md index c623eda94..f9f2bbade 100644 --- a/packages/theme/CHANGELOG.md +++ b/packages/theme/CHANGELOG.md @@ -1,3 +1,28 @@ +## [1.8.0](https://github.com/aziontech/webkit/compare/@aziontech/theme@1.7.0...@aziontech/theme@1.8.0) (2026-04-01) + + +### Features + +* improve overline and imports ([cd5b375](https://github.com/aziontech/webkit/commit/cd5b3752d942bebb56bd57d793ea7b2fdeb91a3a)) + +## [1.7.0](https://github.com/aziontech/webkit/compare/@aziontech/theme@1.6.0...@aziontech/theme@1.7.0) (2026-04-01) + + +### Features + +* add new overline variation ([49f7631](https://github.com/aziontech/webkit/commit/49f7631d4839c0c3481a65a38aeeb3f1be66f920)) +* add new plugin for animations ([9d03769](https://github.com/aziontech/webkit/commit/9d03769f04f33735af54609b695e46ec5d6f5ff8)) +* colors foundation doc first draft ([b2b3bf7](https://github.com/aziontech/webkit/commit/b2b3bf7841f60982ea480ebd1d928624942c7a2f)) +* docs typography, icons and more ([85caac0](https://github.com/aziontech/webkit/commit/85caac015c613e7c1decdf192ae1ce6aeaf1c7cc)) + + +### Bug Fixes + +* delete unnused component ([79029fc](https://github.com/aziontech/webkit/commit/79029fc9e7d00b771c0c6a1e976ff67e0eebf965)) +* general adjusments ([4389c0b](https://github.com/aziontech/webkit/commit/4389c0bfda10c67b42a2737d1d7091e46b384274)) +* refinando estilos com a marca ([5dcbe1d](https://github.com/aziontech/webkit/commit/5dcbe1d00b5ac609ba487d028710b114406cb488)) +* remove css and style inline to tailwind and components ([4de36a5](https://github.com/aziontech/webkit/commit/4de36a57f097d162fe2aff6527ee203800e295e1)) + ## [1.6.0](https://github.com/aziontech/webkit/compare/@aziontech/theme@1.5.0...@aziontech/theme@1.6.0) (2026-03-31) diff --git a/packages/theme/README.md b/packages/theme/README.md index f7f8187fa..d512a49be 100644 --- a/packages/theme/README.md +++ b/packages/theme/README.md @@ -364,7 +364,7 @@ export { tokenRef } from './build/refs.js'; export { resolveRefsToCssVars } from './build/resolve.js'; export { createCssVars, cssVarsString, injectCssVars } from './build/css-vars.js'; export { preset } from './build/preset.js'; -export { tokenUtilities } from './build/tailwind-plugin.js'; +export { tokenUtilities } from './build/tailwind-plugin'; ``` ## Token Resolution @@ -425,7 +425,7 @@ packages/theme/ │ └── build/ # Build utilities │ ├── preset.js │ ├── css-vars.js -│ └── tailwind-plugin.js +│ └── tailwind-plugin └── package.json ``` diff --git a/packages/theme/package.json b/packages/theme/package.json index b19ab45fc..4c3c9b894 100644 --- a/packages/theme/package.json +++ b/packages/theme/package.json @@ -1,7 +1,7 @@ { "name": "@aziontech/theme", "type": "module", - "version": "1.6.0", + "version": "1.8.0", "author": "aziontech", "license": "MIT", "repository": { @@ -58,11 +58,12 @@ "./tokens/semantic/borders": "./tokens.js", "./tokens/build/preset": "./src/tokens/build/preset.js", "./tokens/build/tailwind-helper": "./src/tokens/build/tailwind-helper.js", - "./tokens/build/tailwind-plugin": "./src/tokens/build/tailwind-plugin.js", + "./tokens/build/tailwind-plugin": "./src/tokens/build/tailwind-plugin", "./tokens/build/css-vars.js": "./src/tokens/build/css-vars.js", - "./tailwind/tailwind-theme.js": "./src/tailwind/tailwind-theme.js", - "./tailwind/semantic-colors-plugin.js": "./src/tailwind/semantic-colors-plugin.js", - "./tailwind/semantic-texts-plugin.js": "./src/tailwind/semantic-texts-plugin.js", - "./tailwind/semantic-spacing-plugin.js": "./src/tailwind/semantic-spacing-plugin.js" + "./tailwind/tailwind-theme": "./src/tailwind/tailwind-theme.js", + "./tailwind/semantic-colors-plugin": "./src/tailwind/semantic-colors-plugin.js", + "./tailwind/semantic-texts-plugin": "./src/tailwind/semantic-texts-plugin.js", + "./tailwind/semantic-spacing-plugin": "./src/tailwind/semantic-spacing-plugin.js", + "./tailwind/semantic-animations-plugin": "./src/tailwind/semantic-animations-plugin.js" } } diff --git a/packages/theme/src/tailwind/semantic-animations-plugin.js b/packages/theme/src/tailwind/semantic-animations-plugin.js new file mode 100644 index 000000000..d2d99749d --- /dev/null +++ b/packages/theme/src/tailwind/semantic-animations-plugin.js @@ -0,0 +1,82 @@ +/** + * Tailwind plugin to expose semantic animations and keyframes. + * + * This adds animation utilities and keyframes for common UI animations. + * + * Usage in tailwind.config.js: + * ```javascript + * import { theme } from '@aziontech/theme/tailwind/tailwind-theme.js'; + * import semanticAnimations from '@aziontech/theme/tailwind/semantic-animations-plugin'; + * + * export default { + * theme, + * plugins: [semanticAnimations()], + * }; + * ``` + */ + +// Lazy-require to avoid hard dependency for consumers +const plugin = (() => { + try { + return require('tailwindcss/plugin'); + } catch { + return (handler) => handler; + } +})(); + +/** + * Generate semantic animation utilities and keyframes + * @returns {import('tailwindcss/plugin').Plugin} + */ +export const semanticAnimations = () => { + return plugin(({ addUtilities, addComponents, theme }) => { + // Animation utilities + const animations = { + '.animate-fade-in': { + animation: 'fadeIn 220ms ease-in-out', + }, + '.animate-fade-out': { + animation: 'fadeOut 220ms ease-in-out', + }, + '.animate-slide-down': { + animation: 'slideDown 220ms ease-in-out', + }, + '.animate-blink': { + animation: 'blink 1s step-end infinite', + }, + '.animate-highlight-fade': { + animation: 'highlight ease-in forwards', + }, + }; + + // Keyframes components + const keyframes = { + '@keyframes fadeIn': { + '0%': { opacity: '0' }, + '100%': { opacity: '1' }, + }, + '@keyframes fadeOut': { + '0%': { opacity: '1' }, + '100%': { opacity: '0' }, + }, + '@keyframes slideDown': { + '0%': { height: '0' }, + '100%': { height: 'auto' }, + }, + '@keyframes blink': { + '0%, 100%': { opacity: '1' }, + '50%': { opacity: '0' }, + }, + '@keyframes highlight': { + '0%': { backgroundColor: 'var(--surface-hover)', fontWeight: '500' }, + '100%': { backgroundColor: 'var(--surface-hover)', fontWeight: '500' }, + }, + }; + + const variants = ['responsive', 'hover', 'focus', 'active', 'motion-safe', 'motion-reduce']; + addUtilities(animations, variants); + addComponents(keyframes); + }); +}; + +export default semanticAnimations; diff --git a/packages/theme/src/tailwind/semantic-colors-plugin.js b/packages/theme/src/tailwind/semantic-colors-plugin.js index 07146629e..fd4e40eb3 100644 --- a/packages/theme/src/tailwind/semantic-colors-plugin.js +++ b/packages/theme/src/tailwind/semantic-colors-plugin.js @@ -6,7 +6,7 @@ * Usage in tailwind.config.js: * ```javascript * import { theme } from '@aziontech/theme/tailwind/tailwind-theme.js'; - * import semanticColors from '@aziontech/theme/tailwind/semantic-colors-plugin.js'; + * import semanticColors from '@aziontech/theme/tailwind/semantic-colors-plugin'; * * export default { * theme, diff --git a/packages/theme/src/tailwind/semantic-spacing-plugin.js b/packages/theme/src/tailwind/semantic-spacing-plugin.js index 753a165b9..7048aa785 100644 --- a/packages/theme/src/tailwind/semantic-spacing-plugin.js +++ b/packages/theme/src/tailwind/semantic-spacing-plugin.js @@ -6,7 +6,7 @@ * Usage in tailwind.config.js: * ```javascript * import { theme } from '@aziontech/theme/tailwind/tailwind-theme.js'; - * import semanticSpacing from '@aziontech/theme/tailwind/semantic-spacing-plugin.js'; + * import semanticSpacing from '@aziontech/theme/tailwind/semantic-spacing-plugin'; * * export default { * theme, diff --git a/packages/theme/src/tailwind/semantic-texts-plugin.js b/packages/theme/src/tailwind/semantic-texts-plugin.js index 9a2a7f1f7..5008c86d3 100644 --- a/packages/theme/src/tailwind/semantic-texts-plugin.js +++ b/packages/theme/src/tailwind/semantic-texts-plugin.js @@ -6,7 +6,7 @@ * Usage in tailwind.config.js: * ```javascript * import { theme } from '@aziontech/theme/tailwind/tailwind-theme.js'; - * import semanticTexts from '@aziontech/theme/tailwind/semantic-texts-plugin.js'; + * import semanticTexts from '@aziontech/theme/tailwind/semantic-texts-plugin'; * * export default { * theme, diff --git a/packages/webkit/CHANGELOG.md b/packages/webkit/CHANGELOG.md index 8ebdb5b7a..184d43b46 100644 --- a/packages/webkit/CHANGELOG.md +++ b/packages/webkit/CHANGELOG.md @@ -1,3 +1,84 @@ +## [1.19.3](https://github.com/aziontech/webkit/compare/@aziontech/webkit@1.19.2...@aziontech/webkit@1.19.3) (2026-04-10) + + +### Bug Fixes + +* buttons copy code, download, save ([3ad74b2](https://github.com/aziontech/webkit/commit/3ad74b2fc50f7af7853d731c3bb0f8457c00d133)) +* plugin transparent bg ([e9ff368](https://github.com/aziontech/webkit/commit/e9ff3686cb438f546104096dd29eee5a9cc36188)) +* rollback site/button-content ([a2a4dda](https://github.com/aziontech/webkit/commit/a2a4ddadbb7df9ac77b993526c7df29be8da1a61)) +* rollback site/button-content ([1399b5e](https://github.com/aziontech/webkit/commit/1399b5e3099eab9a9ef0145fd7544a354592e60b)) +* storybook logo azion ([a17cef7](https://github.com/aziontech/webkit/commit/a17cef7a4aa253efafa2dc3c63fddc7a940017e8)) + +## [1.19.2](https://github.com/aziontech/webkit/compare/@aziontech/webkit@1.19.1...@aziontech/webkit@1.19.2) (2026-04-09) + + +### Bug Fixes + +* add fallback key for skeleton columns ([cc7ec45](https://github.com/aziontech/webkit/commit/cc7ec45c35cc7f12e4ba0627c2de82dd15bed2e0)) + +## [1.19.1](https://github.com/aziontech/webkit/compare/@aziontech/webkit@1.19.0...@aziontech/webkit@1.19.1) (2026-04-09) + + +### Bug Fixes + +* embed console storybook url ([f2e6c3d](https://github.com/aziontech/webkit/commit/f2e6c3de1103a7c9d0bbf08e93ced7ab3cb6aa69)) +* inlinemessage export, the primevue wrappers should same name ([62d0234](https://github.com/aziontech/webkit/commit/62d02340dc301f1f4e156928f9de09c2e19fedcb)) +* storybook sidebar console include renderer ([1236946](https://github.com/aziontech/webkit/commit/1236946caae6f8ca2a054fa4de6edfcd4c7543dd)) + +## [1.19.0](https://github.com/aziontech/webkit/compare/@aziontech/webkit@1.18.0...@aziontech/webkit@1.19.0) (2026-04-02) + + +### Features + +* add primevue barrel module and vite config helper ([a53b79a](https://github.com/aziontech/webkit/commit/a53b79a18a000db98abac5fcff585bd181e40149)) + +## [1.18.0](https://github.com/aziontech/webkit/compare/@aziontech/webkit@1.17.0...@aziontech/webkit@1.18.0) (2026-04-02) + + +### Features + +* add PrimeVue abstraction layer documentation ([4e246b1](https://github.com/aziontech/webkit/commit/4e246b1409d761562b17a1109a3fa9441acc89e1)) +* add PrimeVue abstraction layer documentation ([bf1b6d0](https://github.com/aziontech/webkit/commit/bf1b6d0f7f47bbb7f258646a6f4427c0dc39a64e)) +* add PrimeVue abstraction layer for services and composables (ENG-37137) ([5fb7705](https://github.com/aziontech/webkit/commit/5fb77054ef359aa863a078e813d75b402bff77e9)) + +## [1.17.0](https://github.com/aziontech/webkit/compare/@aziontech/webkit@1.16.0...@aziontech/webkit@1.17.0) (2026-04-01) + + +### Features + +* update overline and remove props ([19dfbfc](https://github.com/aziontech/webkit/commit/19dfbfc98b7c4ac27bdf4e1bdcb4570e184fa491)) + +## [1.16.0](https://github.com/aziontech/webkit/compare/@aziontech/webkit@1.15.0...@aziontech/webkit@1.16.0) (2026-04-01) + + +### Features + +* add new overline variation ([49f7631](https://github.com/aziontech/webkit/commit/49f7631d4839c0c3481a65a38aeeb3f1be66f920)) +* add new plugin for animations ([9d03769](https://github.com/aziontech/webkit/commit/9d03769f04f33735af54609b695e46ec5d6f5ff8)) +* improve overline and imports ([cd5b375](https://github.com/aziontech/webkit/commit/cd5b3752d942bebb56bd57d793ea7b2fdeb91a3a)) + + +### Bug Fixes + +* remove unused css ([d58cceb](https://github.com/aziontech/webkit/commit/d58cceb28273ad90c8c55f71e2c591d8426cd8e1)) + +## [1.15.0](https://github.com/aziontech/webkit/compare/@aziontech/webkit@1.14.1...@aziontech/webkit@1.15.0) (2026-04-01) + + +### Features + +* colors foundation doc first draft ([b2b3bf7](https://github.com/aziontech/webkit/commit/b2b3bf7841f60982ea480ebd1d928624942c7a2f)) +* docs typography, icons and more ([85caac0](https://github.com/aziontech/webkit/commit/85caac015c613e7c1decdf192ae1ce6aeaf1c7cc)) + + +### Bug Fixes + +* delete unnused component ([79029fc](https://github.com/aziontech/webkit/commit/79029fc9e7d00b771c0c6a1e976ff67e0eebf965)) +* fix big number token ([9d9ffc4](https://github.com/aziontech/webkit/commit/9d9ffc4508c2a90c61522b9ae8483992c24ea9b5)) +* general adjusments ([4389c0b](https://github.com/aziontech/webkit/commit/4389c0bfda10c67b42a2737d1d7091e46b384274)) +* refinando estilos com a marca ([5dcbe1d](https://github.com/aziontech/webkit/commit/5dcbe1d00b5ac609ba487d028710b114406cb488)) +* remove css and style inline to tailwind and components ([4de36a5](https://github.com/aziontech/webkit/commit/4de36a57f097d162fe2aff6527ee203800e295e1)) + ## [1.14.1](https://github.com/aziontech/webkit/compare/@aziontech/webkit@1.14.0...@aziontech/webkit@1.14.1) (2026-03-27) diff --git a/packages/webkit/PRIMEVUE_ABSTRACTION.md b/packages/webkit/PRIMEVUE_ABSTRACTION.md new file mode 100644 index 000000000..822963675 --- /dev/null +++ b/packages/webkit/PRIMEVUE_ABSTRACTION.md @@ -0,0 +1,360 @@ +# PrimeVue Abstraction Layer for @aziontech/webkit + +Webkit provides a complete abstraction layer over PrimeVue, allowing consumer applications to use PrimeVue components, services, and composables without a direct dependency on the `primevue` package. + +## Table of Contents + +- [Overview](#overview) +- [Plugin Setup](#plugin-setup) +- [Composables](#composables) +- [Utilities](#utilities) +- [Components](#components) +- [Exports Reference](#exports-reference) +- [Migration Guide](#migration-guide) +- [Architecture](#architecture) +- [Troubleshooting](#troubleshooting) + +--- + +## Overview + +The abstraction layer consists of: + +- **WebkitPlugin**: Unified Vue plugin that registers PrimeVue core, services, and directives +- **Composable wrappers**: `useToast` (with semantic shortcuts) and `useDialog` +- **Utility re-exports**: `FilterMatchMode` and other PrimeVue API constants +- **Component wrappers**: `DynamicDialog`, `ConfirmDialog`, and all existing PrimeVue wrappers +- **Directive re-exports**: `Tooltip` + +**Why this exists:** +- Consumer apps (e.g., console-kit) can remove `primevue` from their direct dependencies +- Webkit controls the PrimeVue version and can upgrade/swap without breaking consumers +- Composable wrappers allow adding convenience methods (e.g., `toast.success()`) + +--- + +## Plugin Setup + +Register all PrimeVue services in a single call: + +```js +// main.js +import { WebkitPlugin } from '@aziontech/webkit/plugin' + +const app = createApp(App) +app.use(WebkitPlugin) +``` + +### What the plugin registers + +| Registration | What it does | +|-------------|-------------| +| `PrimeVue` | Core configuration (locale, ripple, zIndex, etc.) | +| `ToastService` | Enables `useToast()` and `$toast` global property | +| `DialogService` | Enables `useDialog()` and `$dialog` global property | +| `v-tooltip` | Tooltip directive available in all templates | + +### Passing options to PrimeVue + +```js +app.use(WebkitPlugin, { ripple: true }) +``` + +Options are forwarded directly to `PrimeVue` config. + +--- + +## Composables + +### useToast + +```js +import { useToast } from '@aziontech/webkit/use-toast' +``` + +#### Original API (fully compatible) + +```js +const toast = useToast() + +toast.add({ + severity: 'success', + summary: 'Done', + detail: 'Item saved', + life: 5000 +}) + +toast.remove(message) +toast.removeAllGroups() +``` + +#### Shortcut methods + +```js +const toast = useToast() + +toast.success('Item saved') // severity: success, life: 5000ms +toast.error('Something went wrong') // severity: error, life: 0 (manual close) +toast.warn('Check your input') // severity: warn, life: 5000ms +toast.info('New version available') // severity: info, life: 5000ms +``` + +| Method | Severity | Default Life | Customizable | +|--------|----------|:------------:|:------------:| +| `success(detail, life?)` | success | 5000ms | Yes | +| `error(detail)` | error | 0 (manual close) | No | +| `warn(detail, life?)` | warn | 5000ms | Yes | +| `info(detail, life?)` | info | 5000ms | Yes | + +Shortcuts are additive. The original `toast.add()` API works unchanged. + +--- + +### useDialog + +```js +import { useDialog } from '@aziontech/webkit/use-dialog' +``` + +#### Usage + +```js +const dialog = useDialog() + +dialog.open(MyDialogComponent, { + props: { + header: 'Confirm Action', + modal: true, + blockScroll: true, + style: { width: '32rem' } + }, + data: { + id: 123 + }, + onClose: () => { + // handle close + } +}) +``` + +This is a direct wrapper around PrimeVue's `useDialog`. The API is identical. + +--- + +## Utilities + +### FilterMatchMode + +```js +import { FilterMatchMode } from '@aziontech/webkit/api' + +const filters = ref({ + global: { value: '', matchMode: FilterMatchMode.CONTAINS } +}) +``` + +All `FilterMatchMode` constants are available: `STARTS_WITH`, `CONTAINS`, `NOT_CONTAINS`, `ENDS_WITH`, `EQUALS`, `NOT_EQUALS`, `IN`, `LESS_THAN`, `LESS_THAN_OR_EQUAL_TO`, `GREATER_THAN`, `GREATER_THAN_OR_EQUAL_TO`, `BETWEEN`, `DATE_IS`, `DATE_IS_NOT`, `DATE_BEFORE`, `DATE_AFTER`. + +--- + +## Components + +### DynamicDialog + +Required at app root level for `useDialog()` to work: + +```vue + + + + + + +``` + +### ConfirmDialog + +```vue + + + + + +``` + +**Props:** +- `group` (String) - Optional group name +- `breakpoints` (Object) - Responsive breakpoints + +### Tooltip Directive + +Already registered globally by `WebkitPlugin`. For standalone use: + +```js +import { Tooltip } from '@aziontech/webkit/tooltip' + +app.directive('tooltip', Tooltip) +``` + +--- + +## Exports Reference + +| Export Path | Type | Description | +|-------------|------|-------------| +| `@aziontech/webkit/plugin` | Plugin | `WebkitPlugin` - unified PrimeVue setup | +| `@aziontech/webkit/use-toast` | Composable | `useToast` with shortcut methods | +| `@aziontech/webkit/use-dialog` | Composable | `useDialog` wrapper | +| `@aziontech/webkit/api` | Utility | `FilterMatchMode` constants | +| `@aziontech/webkit/dynamic-dialog` | Component | DynamicDialog wrapper | +| `@aziontech/webkit/confirm-dialog` | Component | ConfirmDialog wrapper | +| `@aziontech/webkit/tooltip` | Directive | Tooltip re-export | + +--- + +## Migration Guide + +### Step 1: Replace plugin setup in main.js + +**Before:** +```js +import PrimeVue from 'primevue/config' +import Tooltip from 'primevue/tooltip' +import ToastService from 'primevue/toastservice' +import DialogService from 'primevue/dialogservice' + +app.use(PrimeVue) +app.directive('tooltip', Tooltip) +app.use(ToastService) +app.use(DialogService) +``` + +**After:** +```js +import { WebkitPlugin } from '@aziontech/webkit/plugin' + +app.use(WebkitPlugin) +``` + +### Step 2: Replace imports across codebase + +| Before | After | +|--------|-------| +| `import { useToast } from 'primevue/usetoast'` | `import { useToast } from '@aziontech/webkit/use-toast'` | +| `import { useDialog } from 'primevue/usedialog'` | `import { useDialog } from '@aziontech/webkit/use-dialog'` | +| `import { FilterMatchMode } from 'primevue/api'` | `import { FilterMatchMode } from '@aziontech/webkit/api'` | +| `import DynamicDialog from 'primevue/dynamicdialog'` | `import DynamicDialog from '@aziontech/webkit/dynamic-dialog'` | +| `import ConfirmDialog from 'primevue/confirmdialog'` | `import ConfirmDialog from '@aziontech/webkit/confirm-dialog'` | +| `import Toast from 'primevue/toast'` | `import Toast from '@aziontech/webkit/toast'` | +| `import Dialog from 'primevue/dialog'` | `import Dialog from '@aziontech/webkit/dialog'` | +| `import Button from 'primevue/button'` | `import Button from '@aziontech/webkit/button'` | + +### Step 3: Remove primevue from package.json + +After all imports point to `@aziontech/webkit/*`, remove `primevue` from `dependencies`. It becomes a transitive dependency through webkit. + +--- + +## Architecture + +``` +Consumer App (console-kit) + │ + ├── import { WebkitPlugin } from '@aziontech/webkit/plugin' + ├── import { useToast } from '@aziontech/webkit/use-toast' + ├── import { useDialog } from '@aziontech/webkit/use-dialog' + └── import Button from '@aziontech/webkit/button' + │ + ▼ + @aziontech/webkit + │ + ├── src/plugins/primevue/index.js → WebkitPlugin + ├── src/composables/use-toast/index.js → useToast wrapper + ├── src/composables/use-dialog/index.js → useDialog wrapper + ├── src/services/primevue-api/index.js → FilterMatchMode + ├── src/directives/tooltip/index.js → Tooltip + └── src/core/primevue/*/ → Component wrappers + │ + ▼ + primevue (transitive dependency) +``` + +### How PrimeVue services work internally + +``` +WebkitPlugin useToast() component + │ │ │ + ▼ ▼ ▼ +app.provide(Symbol, svc) inject(Symbol) → svc ToastEventBus.on('add') + │ │ │ + └──────────────────────────────┘ │ + │ │ + ▼ │ + svc.add(msg) ──→ ToastEventBus.emit('add') ───────────┘ +``` + +The webkit wrappers use the **same PrimeVue Symbols** internally, so components and composables communicate seamlessly. + +--- + +## Troubleshooting + +### useToast/useDialog throws "not provided" error + +**Problem:** `No PrimeVue Toast provided!` or similar error. + +**Solution:** Ensure `WebkitPlugin` is registered before the component mounts: + +```js +app.use(WebkitPlugin) // Must come before app.mount() +app.mount('#app') +``` + +### DynamicDialog doesn't open + +**Problem:** `dialog.open()` is called but nothing appears. + +**Solution:** Ensure `` is mounted at root level (e.g., `App.vue`): + +```vue + + + + +``` + +### Toast styles not applied + +**Problem:** Toast appears but without custom styling via `pt` prop. + +**Solution:** The webkit Toast wrapper explicitly forwards the `pt` prop. Ensure you're passing it correctly: + +```vue + + + + + +``` + +### PrimeVue version mismatch + +**Problem:** Unexpected behavior after updating webkit. + +**Solution:** Check which PrimeVue version webkit uses: + +```bash +cat node_modules/@aziontech/webkit/package.json | grep primevue +``` + +Consumer apps should not have `primevue` in their own `package.json` to avoid version conflicts. + +--- + +**Last Updated:** 2026-04-02 +**Version:** 1.0.0 +**Maintainer:** Azion WebKit Team diff --git a/packages/webkit/package.json b/packages/webkit/package.json index 3392ae4a8..1ae9bb402 100644 --- a/packages/webkit/package.json +++ b/packages/webkit/package.json @@ -1,6 +1,6 @@ { "name": "@aziontech/webkit", - "version": "1.14.1", + "version": "1.19.3", "description": "Reusable UI components and design system utilities for building Azion web interfaces.", "license": "MIT", "repository": { @@ -73,6 +73,7 @@ "./empty-results-block": "./src/components/empty-results-block/empty-results-block.vue", "./resizable-splitter": "./src/components/resizable-splitter/resizable-splitter.vue", "./overline": "./src/components/overline/overline.vue", + "./box-grid-selection": "./src/components/box-grid-selection/box-grid-selection.vue", "./accordion": "./src/core/primevue/accordion/accordion.vue", "./accordion-tab": "./src/core/primevue/accordion-tab/accordion-tab.vue", "./avatar": "./src/core/primevue/avatar/avatar.vue", @@ -89,11 +90,11 @@ "./card-content": "./src/core/card/card-content/card-content.vue", "./carousel": "./src/core/primevue/carousel/carousel.vue", "./chip": "./src/core/primevue/chip/chip.vue", - "./column": "./src/core/primevue/column/column.vue", + "./column": "./src/core/primevue/column/column.js", "./datatable": "./src/core/primevue/datatable/datatable.vue", "./dialog": "./src/core/primevue/dialog/dialog.vue", "./divider": "./src/core/primevue/divider/divider.vue", - "./inline-message": "./src/core/primevue/inline-message/inline-message.vue", + "./inlinemessage": "./src/core/primevue/inline-message/inline-message.vue", "./menu": "./src/core/primevue/menu/menu.vue", "./message": "./src/core/primevue/message/message.vue", "./overlaypanel": "./src/core/primevue/overlaypanel/overlaypanel.vue", @@ -112,12 +113,22 @@ "./toast": "./src/core/primevue/toast/toast.vue", "./toolbar": "./src/core/primevue/toolbar/toolbar.vue", "./badge": "./src/core/primevue/badge/badge.vue", - "./site/base-modal": "./src/components/site/base-modal/base-modal.vue", - "./site/pricing-card": "./src/components/site/pricing-card/pricing-card.vue", - "./site/product-quote": "./src/components/site/product-quote/product-quote.vue", - "./site/quote": "./src/components/site/quote/quote.vue", - "./site/button": "./src/components/site/button/button.vue", + "./inputtext": "./src/core/primevue/inputtext/inputtext.vue", + "./textarea": "./src/core/primevue/textarea/textarea.vue", + "./checkbox": "./src/core/primevue/checkbox/checkbox.vue", + "./radiobutton": "./src/core/primevue/radiobutton/radiobutton.vue", + "./inputswitch": "./src/core/primevue/inputswitch/inputswitch.vue", + "./inputnumber": "./src/core/primevue/inputnumber/inputnumber.vue", + "./password": "./src/core/primevue/password/password.vue", + "./selectbutton": "./src/core/primevue/selectbutton/selectbutton.vue", + "./chips": "./src/core/primevue/chips/chips.vue", + "./dropdown": "./src/core/primevue/dropdown/dropdown.vue", + "./multiselect": "./src/core/primevue/multiselect/multiselect.vue", + "./listbox": "./src/core/primevue/listbox/listbox.vue", + "./calendar": "./src/core/primevue/calendar/calendar.vue", + "./picklist": "./src/core/primevue/picklist/picklist.vue", "./toggle": "./src/components/toggle/toggle.vue", + "./site/button": "./src/components/site/button/button.vue", "./svg/error-403": "./src/svg/error-403/error-403.vue", "./svg/error-404": "./src/svg/error-404/error-404.vue", "./svg/azion/full": "./src/svg/azion/full/full.vue", @@ -130,6 +141,14 @@ "./list-data-table": "./src/core/list-data-table/index.js", "./list-data-table/composables": "./src/core/list-data-table/composables/index.js", "./list-data-table/types": "./src/core/list-data-table/types/index.js", - "./list-data-table/cells": "./src/core/list-data-table/cells/index.js" + "./list-data-table/cells": "./src/core/list-data-table/cells/index.js", + "./use-toast": "./src/composables/use-toast/index.js", + "./use-dialog": "./src/composables/use-dialog/index.js", + "./api": "./src/services/primevue-api/index.js", + "./dynamic-dialog": "./src/core/primevue/dynamic-dialog/dynamic-dialog.vue", + "./confirm-dialog": "./src/core/primevue/confirm-dialog/confirm-dialog.vue", + "./tooltip": "./src/directives/tooltip/index.js", + "./plugin": "./src/plugins/primevue/index.js", + "./vite": "./src/vite/index.js" } } diff --git a/packages/webkit/src/components/box-grid-selection/box-grid-selection.vue b/packages/webkit/src/components/box-grid-selection/box-grid-selection.vue new file mode 100644 index 000000000..755455c0f --- /dev/null +++ b/packages/webkit/src/components/box-grid-selection/box-grid-selection.vue @@ -0,0 +1,118 @@ + + + + + + + + + + + + {{ item.description }} + + + + + + + diff --git a/packages/webkit/src/components/box-grid-selection/package.json b/packages/webkit/src/components/box-grid-selection/package.json new file mode 100644 index 000000000..fc41c090b --- /dev/null +++ b/packages/webkit/src/components/box-grid-selection/package.json @@ -0,0 +1,11 @@ +{ + "main": "./box-grid-selection.vue", + "module": "./box-grid-selection.vue", + "types": "./box-grid-selection.vue.d.ts", + "browser": { + "./sfc": "./box-grid-selection.vue" + }, + "sideEffects": [ + "*.vue" + ] +} diff --git a/packages/webkit/src/components/overline/overline.vue b/packages/webkit/src/components/overline/overline.vue index 851c8420c..786484738 100644 --- a/packages/webkit/src/components/overline/overline.vue +++ b/packages/webkit/src/components/overline/overline.vue @@ -1,43 +1,41 @@ - - - - - \ No newline at end of file + + {{ prefix }} + + + + + + + diff --git a/packages/webkit/src/components/site/base-modal/base-modal.vue b/packages/webkit/src/components/site/base-modal/base-modal.vue deleted file mode 100644 index cb353e933..000000000 --- a/packages/webkit/src/components/site/base-modal/base-modal.vue +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/packages/webkit/src/components/site/base-modal/package.json b/packages/webkit/src/components/site/base-modal/package.json deleted file mode 100644 index dfee218a9..000000000 --- a/packages/webkit/src/components/site/base-modal/package.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "main": "./base-modal.vue", - "module": "./base-modal.vue", - "types": "./base-modal.vue.d.ts", - "browser": { - "./sfc": "./base-modal.vue" - }, - "sideEffects": ["*.vue"] -} diff --git a/packages/webkit/src/components/site/breadcrumb/breadcrumb.vue b/packages/webkit/src/components/site/breadcrumb/breadcrumb.vue deleted file mode 100644 index 9e60e5374..000000000 --- a/packages/webkit/src/components/site/breadcrumb/breadcrumb.vue +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - {{ item.label }} - - - - - {{ item.label }} - - - - - - \ No newline at end of file diff --git a/packages/webkit/src/components/site/breadcrumb/package.json b/packages/webkit/src/components/site/breadcrumb/package.json deleted file mode 100644 index 97d971c8c..000000000 --- a/packages/webkit/src/components/site/breadcrumb/package.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "main": "./breadcrumb.vue", - "module": "./breadcrumb.vue", - "types": "./breadcrumb.vue.d.ts", - "browser": { - "./sfc": "./breadcrumb.vue" - }, - "sideEffects": ["*.vue"] -} diff --git a/packages/webkit/src/components/site/button/package.json b/packages/webkit/src/components/site/button/package.json index 60608f399..984ed0349 100644 --- a/packages/webkit/src/components/site/button/package.json +++ b/packages/webkit/src/components/site/button/package.json @@ -5,5 +5,7 @@ "browser": { "./sfc": "./button.vue" }, - "sideEffects": ["*.vue"] + "sideEffects": [ + "*.vue" + ] } diff --git a/packages/webkit/src/components/site/pricing-card/package.json b/packages/webkit/src/components/site/pricing-card/package.json deleted file mode 100644 index c8f3d3cbd..000000000 --- a/packages/webkit/src/components/site/pricing-card/package.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "main": "./pricing-card.vue", - "module": "./pricing-card.vue", - "types": "./pricing-card.vue.d.ts", - "browser": { - "./sfc": "./pricing-card.vue" - }, - "sideEffects": [ - "*.vue" - ] -} diff --git a/packages/webkit/src/components/site/pricing-card/pricing-card.vue b/packages/webkit/src/components/site/pricing-card/pricing-card.vue deleted file mode 100644 index f0ea41b43..000000000 --- a/packages/webkit/src/components/site/pricing-card/pricing-card.vue +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - {{ title }} - - Popular - - - {{ subtitle }} - - - - - - {{ feature.label }} - - - - - {{ priceLabel }} - - - $ - - {{ currentPrice.replace('$', '') }} - - {{ currentPeriod === 'monthly' ? '/mo' : '/mo' }} - - - - {{ customPrice }} - - - - - - - diff --git a/packages/webkit/src/components/site/product-quote/package.json b/packages/webkit/src/components/site/product-quote/package.json deleted file mode 100644 index 633a99e4d..000000000 --- a/packages/webkit/src/components/site/product-quote/package.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "main": "./product-quote.vue", - "module": "./product-quote.vue", - "types": "./product-quote.vue.d.ts", - "browser": { - "./sfc": "./product-quote.vue" - }, - "sideEffects": [ - "*.vue" - ] -} diff --git a/packages/webkit/src/components/site/product-quote/product-quote.vue b/packages/webkit/src/components/site/product-quote/product-quote.vue deleted file mode 100644 index ff098a260..000000000 --- a/packages/webkit/src/components/site/product-quote/product-quote.vue +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - - - - - "{{ quote }}" - - - - - - {{ author }} - - - {{ role }} - - - - - - - diff --git a/packages/webkit/src/components/site/quote/package.json b/packages/webkit/src/components/site/quote/package.json deleted file mode 100644 index decfee19f..000000000 --- a/packages/webkit/src/components/site/quote/package.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "main": "./quote.vue", - "module": "./quote.vue", - "types": "./quote.vue.d.ts", - "browser": { - "./sfc": "./quote.vue" - }, - "sideEffects": [ - "*.vue" - ] -} diff --git a/packages/webkit/src/components/site/quote/quote.vue b/packages/webkit/src/components/site/quote/quote.vue deleted file mode 100644 index 250aba3bc..000000000 --- a/packages/webkit/src/components/site/quote/quote.vue +++ /dev/null @@ -1,51 +0,0 @@ - - - - {{ testimonial }} - {{ source }} - - - - diff --git a/packages/webkit/src/composables/use-dialog/index.js b/packages/webkit/src/composables/use-dialog/index.js new file mode 100644 index 000000000..57b8a3850 --- /dev/null +++ b/packages/webkit/src/composables/use-dialog/index.js @@ -0,0 +1,5 @@ +import { usePrimeDialog } from '../../plugins/primevue/primevue-internals.js' + +export function useDialog() { + return usePrimeDialog() +} diff --git a/packages/webkit/src/composables/use-toast/index.js b/packages/webkit/src/composables/use-toast/index.js new file mode 100644 index 000000000..fc621e755 --- /dev/null +++ b/packages/webkit/src/composables/use-toast/index.js @@ -0,0 +1,17 @@ +import { usePrimeToast } from '../../plugins/primevue/primevue-internals.js' + +export function useToast() { + const toast = usePrimeToast() + + return { + ...toast, + success: (detail, life = 5000) => + toast.add({ severity: 'success', summary: 'Success', detail, life }), + error: (detail) => + toast.add({ severity: 'error', summary: 'Error', detail, life: 0 }), + warn: (detail, life = 5000) => + toast.add({ severity: 'warn', summary: 'Warning', detail, life }), + info: (detail, life = 5000) => + toast.add({ severity: 'info', summary: 'Info', detail, life }) + } +} diff --git a/packages/webkit/src/core/card/card-box/card-box.vue b/packages/webkit/src/core/card/card-box/card-box.vue index 8fecf5da7..02785963e 100644 --- a/packages/webkit/src/core/card/card-box/card-box.vue +++ b/packages/webkit/src/core/card/card-box/card-box.vue @@ -1,7 +1,5 @@ - + @@ -20,7 +18,7 @@ diff --git a/packages/webkit/src/core/form/field-pick-list/field-pick-list.vue b/packages/webkit/src/core/form/field-pick-list/field-pick-list.vue index 7b10dcb0c..dd41186b4 100644 --- a/packages/webkit/src/core/form/field-pick-list/field-pick-list.vue +++ b/packages/webkit/src/core/form/field-pick-list/field-pick-list.vue @@ -90,7 +90,7 @@ import ProgressSpinner from 'primevue/progressspinner' import InputText from 'primevue/inputtext' import Divider from 'primevue/divider' - import { useToast } from 'primevue/usetoast' + import { usePrimeToast as useToast } from '../../../plugins/primevue/primevue-internals.js' const props = defineProps({ disabled: { diff --git a/packages/webkit/src/core/list-data-table/components/list-data-table/list-data-table.vue b/packages/webkit/src/core/list-data-table/components/list-data-table/list-data-table.vue index 8fa539bc4..39a9fbcbd 100644 --- a/packages/webkit/src/core/list-data-table/components/list-data-table/list-data-table.vue +++ b/packages/webkit/src/core/list-data-table/components/list-data-table/list-data-table.vue @@ -58,7 +58,7 @@ diff --git a/packages/webkit/src/core/primevue/accordion-tab/accordion-tab.vue b/packages/webkit/src/core/primevue/accordion-tab/accordion-tab.vue index 303e2233d..3a611d664 100644 --- a/packages/webkit/src/core/primevue/accordion-tab/accordion-tab.vue +++ b/packages/webkit/src/core/primevue/accordion-tab/accordion-tab.vue @@ -15,6 +15,10 @@ const props = defineProps({ class: { type: String, default: '' + }, + pt: { + type: Object, + default: undefined } }) @@ -24,6 +28,7 @@ const props = defineProps({ :header="props.header" :disabled="props.disabled" :class="props.class" + :pt="props.pt" > diff --git a/packages/webkit/src/core/primevue/breadcrumb/breadcrumb.vue b/packages/webkit/src/core/primevue/breadcrumb/breadcrumb.vue index 42a8a4522..fe7b7f4de 100644 --- a/packages/webkit/src/core/primevue/breadcrumb/breadcrumb.vue +++ b/packages/webkit/src/core/primevue/breadcrumb/breadcrumb.vue @@ -15,6 +15,10 @@ const props = defineProps({ class: { type: String, default: '' + }, + pt: { + type: Object, + default: undefined } }) @@ -24,6 +28,7 @@ const props = defineProps({ :model="props.model" :home="props.home" :class="props.class" + :pt="props.pt" > diff --git a/packages/webkit/src/core/primevue/calendar/calendar.vue b/packages/webkit/src/core/primevue/calendar/calendar.vue new file mode 100644 index 000000000..01a69d02c --- /dev/null +++ b/packages/webkit/src/core/primevue/calendar/calendar.vue @@ -0,0 +1,121 @@ + + + + + + + + + + + + + + + diff --git a/packages/webkit/src/core/primevue/calendar/package.json b/packages/webkit/src/core/primevue/calendar/package.json new file mode 100644 index 000000000..9342c82fd --- /dev/null +++ b/packages/webkit/src/core/primevue/calendar/package.json @@ -0,0 +1,8 @@ +{ + "main": "./calendar.vue", + "module": "./calendar.vue", + "browser": { + "./sfc": "./calendar.vue" + }, + "sideEffects": ["*.vue"] +} diff --git a/packages/webkit/src/core/primevue/card/card.vue b/packages/webkit/src/core/primevue/card/card.vue index 520acf4db..fe199dd8a 100644 --- a/packages/webkit/src/core/primevue/card/card.vue +++ b/packages/webkit/src/core/primevue/card/card.vue @@ -7,12 +7,16 @@ const props = defineProps({ class: { type: String, default: '' + }, + pt: { + type: Object, + default: undefined } }) - + diff --git a/packages/webkit/src/core/primevue/checkbox/checkbox.vue b/packages/webkit/src/core/primevue/checkbox/checkbox.vue new file mode 100644 index 000000000..0b26ee9ec --- /dev/null +++ b/packages/webkit/src/core/primevue/checkbox/checkbox.vue @@ -0,0 +1,56 @@ + + + + + diff --git a/packages/webkit/src/core/primevue/checkbox/package.json b/packages/webkit/src/core/primevue/checkbox/package.json new file mode 100644 index 000000000..d0a6a61b3 --- /dev/null +++ b/packages/webkit/src/core/primevue/checkbox/package.json @@ -0,0 +1,8 @@ +{ + "main": "./checkbox.vue", + "module": "./checkbox.vue", + "browser": { + "./sfc": "./checkbox.vue" + }, + "sideEffects": ["*.vue"] +} diff --git a/packages/webkit/src/core/primevue/chips/chips.vue b/packages/webkit/src/core/primevue/chips/chips.vue new file mode 100644 index 000000000..52c71df7f --- /dev/null +++ b/packages/webkit/src/core/primevue/chips/chips.vue @@ -0,0 +1,58 @@ + + + + + diff --git a/packages/webkit/src/core/primevue/chips/package.json b/packages/webkit/src/core/primevue/chips/package.json new file mode 100644 index 000000000..b3e107735 --- /dev/null +++ b/packages/webkit/src/core/primevue/chips/package.json @@ -0,0 +1,8 @@ +{ + "main": "./chips.vue", + "module": "./chips.vue", + "browser": { + "./sfc": "./chips.vue" + }, + "sideEffects": ["*.vue"] +} diff --git a/packages/webkit/src/core/primevue/column/column.js b/packages/webkit/src/core/primevue/column/column.js new file mode 100644 index 000000000..69ef97d0d --- /dev/null +++ b/packages/webkit/src/core/primevue/column/column.js @@ -0,0 +1,4 @@ +// Direct re-export of PrimeVue Column for DataTable compatibility +// DataTable internally identifies Column children by component type, +// so wrapping breaks the detection mechanism +export { default } from 'primevue/column' diff --git a/packages/webkit/src/core/primevue/column/column.vue b/packages/webkit/src/core/primevue/column/column.vue index 2207f2fda..9e79d9564 100644 --- a/packages/webkit/src/core/primevue/column/column.vue +++ b/packages/webkit/src/core/primevue/column/column.vue @@ -1,74 +1,35 @@ - - + + - + - + - + - + - + diff --git a/packages/webkit/src/core/primevue/confirm-dialog/confirm-dialog.vue b/packages/webkit/src/core/primevue/confirm-dialog/confirm-dialog.vue new file mode 100644 index 000000000..b7fc17d43 --- /dev/null +++ b/packages/webkit/src/core/primevue/confirm-dialog/confirm-dialog.vue @@ -0,0 +1,27 @@ + + + + + + + + + diff --git a/packages/webkit/src/core/primevue/confirm-dialog/package.json b/packages/webkit/src/core/primevue/confirm-dialog/package.json new file mode 100644 index 000000000..6adafb7f4 --- /dev/null +++ b/packages/webkit/src/core/primevue/confirm-dialog/package.json @@ -0,0 +1 @@ +{"main": "./confirm-dialog.vue", "module": "./confirm-dialog.vue", "browser": {"./sfc": "./confirm-dialog.vue"}, "sideEffects": ["*.vue"]} \ No newline at end of file diff --git a/packages/webkit/src/core/primevue/dialog/dialog.vue b/packages/webkit/src/core/primevue/dialog/dialog.vue index 7b4a393d2..5798f27f2 100644 --- a/packages/webkit/src/core/primevue/dialog/dialog.vue +++ b/packages/webkit/src/core/primevue/dialog/dialog.vue @@ -40,9 +40,33 @@ const props = defineProps({ type: Object, default: undefined }, + blockScroll: { + type: Boolean, + default: false + }, class: { type: String, default: '' + }, + pt: { + type: Object, + default: undefined + }, + dismissableMask: { + type: Boolean, + default: false + }, + position: { + type: String, + default: 'center' + }, + draggable: { + type: Boolean, + default: true + }, + appendTo: { + type: [String, Object], + default: 'body' } }) @@ -60,7 +84,13 @@ const emit = defineEmits(['update:visible', 'hide', 'show', 'maximize', 'unmaxim :closeOnEscape="props.closeOnEscape" :showHeader="props.showHeader" :breakpoints="props.breakpoints" + :blockScroll="props.blockScroll" :class="props.class" + :pt="props.pt" + :dismissableMask="props.dismissableMask" + :position="props.position" + :draggable="props.draggable" + :appendTo="props.appendTo" @update:visible="emit('update:visible', $event)" @hide="emit('hide')" @show="emit('show')" diff --git a/packages/webkit/src/core/primevue/dropdown/dropdown.vue b/packages/webkit/src/core/primevue/dropdown/dropdown.vue new file mode 100644 index 000000000..2261689de --- /dev/null +++ b/packages/webkit/src/core/primevue/dropdown/dropdown.vue @@ -0,0 +1,150 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/webkit/src/core/primevue/dropdown/package.json b/packages/webkit/src/core/primevue/dropdown/package.json new file mode 100644 index 000000000..de1575460 --- /dev/null +++ b/packages/webkit/src/core/primevue/dropdown/package.json @@ -0,0 +1,8 @@ +{ + "main": "./dropdown.vue", + "module": "./dropdown.vue", + "browser": { + "./sfc": "./dropdown.vue" + }, + "sideEffects": ["*.vue"] +} diff --git a/packages/webkit/src/core/primevue/dynamic-dialog/dynamic-dialog.vue b/packages/webkit/src/core/primevue/dynamic-dialog/dynamic-dialog.vue new file mode 100644 index 000000000..364d53e7a --- /dev/null +++ b/packages/webkit/src/core/primevue/dynamic-dialog/dynamic-dialog.vue @@ -0,0 +1,9 @@ + + + + + diff --git a/packages/webkit/src/core/primevue/dynamic-dialog/package.json b/packages/webkit/src/core/primevue/dynamic-dialog/package.json new file mode 100644 index 000000000..59861a3d0 --- /dev/null +++ b/packages/webkit/src/core/primevue/dynamic-dialog/package.json @@ -0,0 +1 @@ +{"main": "./dynamic-dialog.vue", "module": "./dynamic-dialog.vue", "browser": {"./sfc": "./dynamic-dialog.vue"}, "sideEffects": ["*.vue"]} \ No newline at end of file diff --git a/packages/webkit/src/core/primevue/inputnumber/inputnumber.vue b/packages/webkit/src/core/primevue/inputnumber/inputnumber.vue new file mode 100644 index 000000000..8d6e32d10 --- /dev/null +++ b/packages/webkit/src/core/primevue/inputnumber/inputnumber.vue @@ -0,0 +1,119 @@ + + + + + diff --git a/packages/webkit/src/core/primevue/inputnumber/package.json b/packages/webkit/src/core/primevue/inputnumber/package.json new file mode 100644 index 000000000..d7ad217ef --- /dev/null +++ b/packages/webkit/src/core/primevue/inputnumber/package.json @@ -0,0 +1,8 @@ +{ + "main": "./inputnumber.vue", + "module": "./inputnumber.vue", + "browser": { + "./sfc": "./inputnumber.vue" + }, + "sideEffects": ["*.vue"] +} diff --git a/packages/webkit/src/core/primevue/inputswitch/inputswitch.vue b/packages/webkit/src/core/primevue/inputswitch/inputswitch.vue new file mode 100644 index 000000000..6aed7635f --- /dev/null +++ b/packages/webkit/src/core/primevue/inputswitch/inputswitch.vue @@ -0,0 +1,46 @@ + + + + + diff --git a/packages/webkit/src/core/primevue/inputswitch/package.json b/packages/webkit/src/core/primevue/inputswitch/package.json new file mode 100644 index 000000000..0bb4dba56 --- /dev/null +++ b/packages/webkit/src/core/primevue/inputswitch/package.json @@ -0,0 +1,8 @@ +{ + "main": "./inputswitch.vue", + "module": "./inputswitch.vue", + "browser": { + "./sfc": "./inputswitch.vue" + }, + "sideEffects": ["*.vue"] +} diff --git a/packages/webkit/src/core/primevue/inputtext/inputtext.vue b/packages/webkit/src/core/primevue/inputtext/inputtext.vue new file mode 100644 index 000000000..235695173 --- /dev/null +++ b/packages/webkit/src/core/primevue/inputtext/inputtext.vue @@ -0,0 +1,57 @@ + + + + + diff --git a/packages/webkit/src/core/primevue/inputtext/package.json b/packages/webkit/src/core/primevue/inputtext/package.json new file mode 100644 index 000000000..a0c67a8a1 --- /dev/null +++ b/packages/webkit/src/core/primevue/inputtext/package.json @@ -0,0 +1,8 @@ +{ + "main": "./inputtext.vue", + "module": "./inputtext.vue", + "browser": { + "./sfc": "./inputtext.vue" + }, + "sideEffects": ["*.vue"] +} diff --git a/packages/webkit/src/core/primevue/listbox/listbox.vue b/packages/webkit/src/core/primevue/listbox/listbox.vue new file mode 100644 index 000000000..26686ce65 --- /dev/null +++ b/packages/webkit/src/core/primevue/listbox/listbox.vue @@ -0,0 +1,104 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/webkit/src/core/primevue/listbox/package.json b/packages/webkit/src/core/primevue/listbox/package.json new file mode 100644 index 000000000..fec486ca9 --- /dev/null +++ b/packages/webkit/src/core/primevue/listbox/package.json @@ -0,0 +1,8 @@ +{ + "main": "./listbox.vue", + "module": "./listbox.vue", + "browser": { + "./sfc": "./listbox.vue" + }, + "sideEffects": ["*.vue"] +} diff --git a/packages/webkit/src/core/primevue/menu/menu.vue b/packages/webkit/src/core/primevue/menu/menu.vue index 0c4b55f46..bc1af2e66 100644 --- a/packages/webkit/src/core/primevue/menu/menu.vue +++ b/packages/webkit/src/core/primevue/menu/menu.vue @@ -1,5 +1,6 @@ @@ -36,10 +56,10 @@ const emit = defineEmits(['show', 'hide']) - + - + diff --git a/packages/webkit/src/core/primevue/message/message.vue b/packages/webkit/src/core/primevue/message/message.vue index 567a59bd5..19e228958 100644 --- a/packages/webkit/src/core/primevue/message/message.vue +++ b/packages/webkit/src/core/primevue/message/message.vue @@ -28,6 +28,10 @@ const props = defineProps({ class: { type: String, default: '' + }, + pt: { + type: Object, + default: undefined } }) @@ -42,6 +46,7 @@ const emit = defineEmits(['close']) :life="props.life" :icon="props.icon" :class="props.class" + :pt="props.pt" @close="emit('close')" > diff --git a/packages/webkit/src/core/primevue/multiselect/multiselect.vue b/packages/webkit/src/core/primevue/multiselect/multiselect.vue new file mode 100644 index 000000000..87621f697 --- /dev/null +++ b/packages/webkit/src/core/primevue/multiselect/multiselect.vue @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/webkit/src/core/primevue/multiselect/package.json b/packages/webkit/src/core/primevue/multiselect/package.json new file mode 100644 index 000000000..1ac391c8f --- /dev/null +++ b/packages/webkit/src/core/primevue/multiselect/package.json @@ -0,0 +1,8 @@ +{ + "main": "./multiselect.vue", + "module": "./multiselect.vue", + "browser": { + "./sfc": "./multiselect.vue" + }, + "sideEffects": ["*.vue"] +} diff --git a/packages/webkit/src/core/primevue/overlaypanel/overlaypanel.vue b/packages/webkit/src/core/primevue/overlaypanel/overlaypanel.vue index 11ab78f13..34b44c1c4 100644 --- a/packages/webkit/src/core/primevue/overlaypanel/overlaypanel.vue +++ b/packages/webkit/src/core/primevue/overlaypanel/overlaypanel.vue @@ -1,5 +1,6 @@ diff --git a/packages/webkit/src/core/primevue/password/package.json b/packages/webkit/src/core/primevue/password/package.json new file mode 100644 index 000000000..efc319ac3 --- /dev/null +++ b/packages/webkit/src/core/primevue/password/package.json @@ -0,0 +1,8 @@ +{ + "main": "./password.vue", + "module": "./password.vue", + "browser": { + "./sfc": "./password.vue" + }, + "sideEffects": ["*.vue"] +} diff --git a/packages/webkit/src/core/primevue/password/password.vue b/packages/webkit/src/core/primevue/password/password.vue new file mode 100644 index 000000000..d8f8ebe3e --- /dev/null +++ b/packages/webkit/src/core/primevue/password/password.vue @@ -0,0 +1,66 @@ + + + + + diff --git a/packages/webkit/src/core/primevue/picklist/package.json b/packages/webkit/src/core/primevue/picklist/package.json new file mode 100644 index 000000000..dd2673fa7 --- /dev/null +++ b/packages/webkit/src/core/primevue/picklist/package.json @@ -0,0 +1,8 @@ +{ + "main": "./picklist.vue", + "module": "./picklist.vue", + "browser": { + "./sfc": "./picklist.vue" + }, + "sideEffects": ["*.vue"] +} diff --git a/packages/webkit/src/core/primevue/picklist/picklist.vue b/packages/webkit/src/core/primevue/picklist/picklist.vue new file mode 100644 index 000000000..49a5643f3 --- /dev/null +++ b/packages/webkit/src/core/primevue/picklist/picklist.vue @@ -0,0 +1,125 @@ + + + + + + + + + + + + + + + diff --git a/packages/webkit/src/core/primevue/progressbar/progressbar.vue b/packages/webkit/src/core/primevue/progressbar/progressbar.vue index 5afd07338..071644a5f 100644 --- a/packages/webkit/src/core/primevue/progressbar/progressbar.vue +++ b/packages/webkit/src/core/primevue/progressbar/progressbar.vue @@ -20,6 +20,10 @@ const props = defineProps({ class: { type: String, default: '' + }, + pt: { + type: Object, + default: undefined } }) @@ -30,5 +34,6 @@ const props = defineProps({ :mode="props.mode" :showValue="props.showValue" :class="props.class" + :pt="props.pt" /> diff --git a/packages/webkit/src/core/primevue/radiobutton/package.json b/packages/webkit/src/core/primevue/radiobutton/package.json new file mode 100644 index 000000000..cdf14a065 --- /dev/null +++ b/packages/webkit/src/core/primevue/radiobutton/package.json @@ -0,0 +1,8 @@ +{ + "main": "./radiobutton.vue", + "module": "./radiobutton.vue", + "browser": { + "./sfc": "./radiobutton.vue" + }, + "sideEffects": ["*.vue"] +} diff --git a/packages/webkit/src/core/primevue/radiobutton/radiobutton.vue b/packages/webkit/src/core/primevue/radiobutton/radiobutton.vue new file mode 100644 index 000000000..6d3ea4369 --- /dev/null +++ b/packages/webkit/src/core/primevue/radiobutton/radiobutton.vue @@ -0,0 +1,46 @@ + + + + + diff --git a/packages/webkit/src/core/primevue/selectbutton/package.json b/packages/webkit/src/core/primevue/selectbutton/package.json new file mode 100644 index 000000000..0f368a342 --- /dev/null +++ b/packages/webkit/src/core/primevue/selectbutton/package.json @@ -0,0 +1,8 @@ +{ + "main": "./selectbutton.vue", + "module": "./selectbutton.vue", + "browser": { + "./sfc": "./selectbutton.vue" + }, + "sideEffects": ["*.vue"] +} diff --git a/packages/webkit/src/core/primevue/selectbutton/selectbutton.vue b/packages/webkit/src/core/primevue/selectbutton/selectbutton.vue new file mode 100644 index 000000000..24e5b5ebe --- /dev/null +++ b/packages/webkit/src/core/primevue/selectbutton/selectbutton.vue @@ -0,0 +1,76 @@ + + + + + + + + + diff --git a/packages/webkit/src/core/primevue/sidebar/sidebar.vue b/packages/webkit/src/core/primevue/sidebar/sidebar.vue index a96853f2e..2bdd65d3d 100644 --- a/packages/webkit/src/core/primevue/sidebar/sidebar.vue +++ b/packages/webkit/src/core/primevue/sidebar/sidebar.vue @@ -33,9 +33,29 @@ const props = defineProps({ type: Boolean, default: true }, + blockScroll: { + type: Boolean, + default: false + }, class: { type: String, default: '' + }, + pt: { + type: Object, + default: undefined + }, + header: { + type: String, + default: undefined + }, + headerContent: { + type: String, + default: undefined + }, + dismissableMask: { + type: Boolean, + default: false } }) @@ -51,7 +71,12 @@ const emit = defineEmits(['update:visible', 'hide', 'show']) :dismissable="props.dismissable" :showCloseIcon="props.showCloseIcon" :closeOnEscape="props.closeOnEscape" + :blockScroll="props.blockScroll" :class="props.class" + :pt="props.pt" + :header="props.header" + :headerContent="props.headerContent" + :dismissableMask="props.dismissableMask" @update:visible="emit('update:visible', $event)" @hide="emit('hide')" @show="emit('show')" @@ -65,5 +90,8 @@ const emit = defineEmits(['update:visible', 'hide', 'show']) + + + diff --git a/packages/webkit/src/core/primevue/steps/steps.vue b/packages/webkit/src/core/primevue/steps/steps.vue index 9596dd1c0..c0877c5eb 100644 --- a/packages/webkit/src/core/primevue/steps/steps.vue +++ b/packages/webkit/src/core/primevue/steps/steps.vue @@ -19,6 +19,10 @@ const props = defineProps({ class: { type: String, default: '' + }, + pt: { + type: Object, + default: undefined } }) @@ -31,6 +35,7 @@ const emit = defineEmits(['step-change']) :activeStep="props.activeStep" :readonly="props.readonly" :class="props.class" + :pt="props.pt" @step-change="emit('step-change', $event)" > diff --git a/packages/webkit/src/core/primevue/tabmenu/tabmenu.vue b/packages/webkit/src/core/primevue/tabmenu/tabmenu.vue index e25841c89..fd1b66e8c 100644 --- a/packages/webkit/src/core/primevue/tabmenu/tabmenu.vue +++ b/packages/webkit/src/core/primevue/tabmenu/tabmenu.vue @@ -19,6 +19,10 @@ const props = defineProps({ class: { type: String, default: '' + }, + pt: { + type: Object, + default: undefined } }) @@ -31,6 +35,7 @@ const emit = defineEmits(['tab-change']) :activeIndex="props.activeIndex" :exact="props.exact" :class="props.class" + :pt="props.pt" @tab-change="emit('tab-change', $event)" > diff --git a/packages/webkit/src/core/primevue/tabpanel/tabpanel.vue b/packages/webkit/src/core/primevue/tabpanel/tabpanel.vue index 1c71dc80a..4b3ef5cd8 100644 --- a/packages/webkit/src/core/primevue/tabpanel/tabpanel.vue +++ b/packages/webkit/src/core/primevue/tabpanel/tabpanel.vue @@ -15,6 +15,10 @@ const props = defineProps({ class: { type: String, default: '' + }, + pt: { + type: Object, + default: undefined } }) @@ -24,6 +28,7 @@ const props = defineProps({ :header="props.header" :disabled="props.disabled" :class="props.class" + :pt="props.pt" > diff --git a/packages/webkit/src/core/primevue/tag/tag.vue b/packages/webkit/src/core/primevue/tag/tag.vue index 78dccaec3..84d6d63b2 100644 --- a/packages/webkit/src/core/primevue/tag/tag.vue +++ b/packages/webkit/src/core/primevue/tag/tag.vue @@ -24,6 +24,10 @@ const props = defineProps({ class: { type: String, default: '' + }, + pt: { + type: Object, + default: undefined } }) @@ -35,6 +39,7 @@ const props = defineProps({ :rounded="props.rounded" :icon="props.icon" :class="props.class" + :pt="props.pt" > diff --git a/packages/webkit/src/core/primevue/textarea/package.json b/packages/webkit/src/core/primevue/textarea/package.json new file mode 100644 index 000000000..263f20588 --- /dev/null +++ b/packages/webkit/src/core/primevue/textarea/package.json @@ -0,0 +1,8 @@ +{ + "main": "./textarea.vue", + "module": "./textarea.vue", + "browser": { + "./sfc": "./textarea.vue" + }, + "sideEffects": ["*.vue"] +} diff --git a/packages/webkit/src/core/primevue/textarea/textarea.vue b/packages/webkit/src/core/primevue/textarea/textarea.vue new file mode 100644 index 000000000..029003eef --- /dev/null +++ b/packages/webkit/src/core/primevue/textarea/textarea.vue @@ -0,0 +1,56 @@ + + + + + diff --git a/packages/webkit/src/core/primevue/timeline/timeline.vue b/packages/webkit/src/core/primevue/timeline/timeline.vue index ec47500f1..0bdb24942 100644 --- a/packages/webkit/src/core/primevue/timeline/timeline.vue +++ b/packages/webkit/src/core/primevue/timeline/timeline.vue @@ -21,6 +21,10 @@ const props = defineProps({ class: { type: String, default: '' + }, + pt: { + type: Object, + default: undefined } }) @@ -31,6 +35,7 @@ const props = defineProps({ :align="props.align" :layout="props.layout" :class="props.class" + :pt="props.pt" > diff --git a/packages/webkit/src/core/primevue/toast/toast.vue b/packages/webkit/src/core/primevue/toast/toast.vue index a9d809e74..33634771d 100644 --- a/packages/webkit/src/core/primevue/toast/toast.vue +++ b/packages/webkit/src/core/primevue/toast/toast.vue @@ -20,6 +20,10 @@ const props = defineProps({ class: { type: String, default: '' + }, + pt: { + type: Object, + default: undefined } }) @@ -30,6 +34,7 @@ const props = defineProps({ :position="props.position" :breakpoints="props.breakpoints" :class="props.class" + :pt="props.pt" > diff --git a/packages/webkit/src/directives/tooltip/index.js b/packages/webkit/src/directives/tooltip/index.js new file mode 100644 index 000000000..2d9bfdf56 --- /dev/null +++ b/packages/webkit/src/directives/tooltip/index.js @@ -0,0 +1 @@ +export { Tooltip } from '../../plugins/primevue/primevue-internals.js' diff --git a/packages/webkit/src/plugins/primevue/index.js b/packages/webkit/src/plugins/primevue/index.js new file mode 100644 index 000000000..d177ec610 --- /dev/null +++ b/packages/webkit/src/plugins/primevue/index.js @@ -0,0 +1,10 @@ +import { PrimeVueConfig, ToastService, DialogService, Tooltip } from './primevue-internals.js' + +export const WebkitPlugin = { + install(app, options = {}) { + app.use(PrimeVueConfig, options) + app.use(ToastService) + app.use(DialogService) + app.directive('tooltip', Tooltip) + } +} diff --git a/packages/webkit/src/plugins/primevue/primevue-internals.js b/packages/webkit/src/plugins/primevue/primevue-internals.js new file mode 100644 index 000000000..07e68279c --- /dev/null +++ b/packages/webkit/src/plugins/primevue/primevue-internals.js @@ -0,0 +1,39 @@ +/** + * Centralized re-export of all stateful PrimeVue internal modules. + * + * WHY THIS FILE EXISTS: + * PrimeVue 3.x uses module-level singletons (EventBus instances, Symbols) + * for communication between services and components (e.g., ToastService emits + * to ToastEventBus, and the Toast component listens on the same bus). + * + * When a consumer app uses Vite, pre-bundling can create separate chunks for + * each primevue/* import encountered from different entry points. This + * duplicates the singletons, breaking the communication channel. + * + * By funneling all stateful primevue imports through this single file, + * Vite sees one dependency graph and creates one chunk -- guaranteeing + * singleton identity. + * + * RULE: All webkit files that need these modules MUST import from here, + * never directly from primevue/*. Stateless component imports (e.g., + * primevue/button) are safe to import directly in .vue files. + */ + +// ---- PrimeVue core ---- +export { default as PrimeVueConfig } from 'primevue/config' + +// ---- Toast (stateful: EventBus + Symbol) ---- +export { default as ToastEventBus } from 'primevue/toasteventbus' +export { default as ToastService } from 'primevue/toastservice' +export { useToast as usePrimeToast, PrimeVueToastSymbol } from 'primevue/usetoast' + +// ---- Dialog (stateful: EventBus + Symbol) ---- +export { default as DynamicDialogEventBus } from 'primevue/dynamicdialogeventbus' +export { default as DialogService } from 'primevue/dialogservice' +export { useDialog as usePrimeDialog, PrimeVueDialogSymbol } from 'primevue/usedialog' + +// ---- Directives ---- +export { default as Tooltip } from 'primevue/tooltip' + +// ---- API / Utils ---- +export { FilterMatchMode } from 'primevue/api' diff --git a/packages/webkit/src/services/primevue-api/index.js b/packages/webkit/src/services/primevue-api/index.js new file mode 100644 index 000000000..62109c613 --- /dev/null +++ b/packages/webkit/src/services/primevue-api/index.js @@ -0,0 +1 @@ +export { FilterMatchMode } from '../../plugins/primevue/primevue-internals.js' diff --git a/packages/webkit/src/vite/index.js b/packages/webkit/src/vite/index.js new file mode 100644 index 000000000..03ac313eb --- /dev/null +++ b/packages/webkit/src/vite/index.js @@ -0,0 +1,35 @@ +/** + * Vite configuration helper for apps consuming @aziontech/webkit. + * + * Ensures PrimeVue internal modules (EventBus, Symbols) are pre-bundled + * as a single chunk, preventing singleton duplication. + * + * Usage in vite.config.js: + * import { webkitViteConfig } from '@aziontech/webkit/vite' + * + * export default defineConfig({ + * ...webkitViteConfig, + * // your config + * }) + * + * Or merge manually: + * optimizeDeps: { + * include: [...webkitViteConfig.optimizeDeps.include] + * } + */ +export const webkitViteConfig = { + optimizeDeps: { + include: [ + 'primevue/toasteventbus', + 'primevue/usetoast', + 'primevue/toastservice', + 'primevue/usedialog', + 'primevue/dialogservice', + 'primevue/dynamicdialogeventbus', + 'primevue/config', + 'primevue/tooltip', + 'primevue/api', + 'primevue/utils' + ] + } +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 855cd5091..bca4e9621 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -74,8 +74,8 @@ importers: specifier: ^23.1.1 version: 23.1.1(typescript@5.9.3) vite: - specifier: ^6.4.1 - version: 6.4.1(@types/node@25.5.0)(jiti@1.21.7)(sass@1.97.3)(terser@5.46.1) + specifier: ^6.4.2 + version: 6.4.2(@types/node@25.5.0)(jiti@1.21.7)(sass@1.97.3)(terser@5.46.1) apps/icons-gallery: dependencies: @@ -83,8 +83,8 @@ importers: specifier: workspace:* version: link:../../packages/icons axios: - specifier: ^1.7.7 - version: 1.13.6 + specifier: ^1.15.0 + version: 1.15.0 tailwind-gradient-mask-image: specifier: ^1.2.0 version: 1.2.0 @@ -97,13 +97,13 @@ importers: devDependencies: '@vitejs/plugin-vue': specifier: ^5.2.4 - version: 5.2.4(vite@6.4.1(@types/node@25.5.0)(jiti@1.21.7)(sass@1.97.3)(terser@5.46.1))(vue@3.5.29(typescript@5.9.3)) + version: 5.2.4(vite@6.4.2(@types/node@25.5.0)(jiti@1.21.7)(sass@1.97.3)(terser@5.46.1))(vue@3.5.29(typescript@5.9.3)) autoprefixer: specifier: ^10.4.19 version: 10.4.27(postcss@8.5.6) azion: specifier: ^1.17.4 - version: 1.20.21(@babel/core@7.29.0)(@fastly/js-compute@3.40.1(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1)(typescript@5.9.3)) + version: 1.20.21(@babel/core@7.29.0)(@fastly/js-compute@3.40.1(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(typescript@5.9.3)) eslint: specifier: ^9.18.0 version: 9.39.3(jiti@1.21.7) @@ -123,8 +123,8 @@ importers: specifier: ^3.4.4 version: 3.4.19 vite: - specifier: ^6.4.1 - version: 6.4.1(@types/node@25.5.0)(jiti@1.21.7)(sass@1.97.3)(terser@5.46.1) + specifier: ^6.4.2 + version: 6.4.2(@types/node@25.5.0)(jiti@1.21.7)(sass@1.97.3)(terser@5.46.1) vitest: specifier: ^3.0.5 version: 3.2.4(@types/node@25.5.0)(happy-dom@20.8.9)(jiti@1.21.7)(jsdom@26.1.0)(sass@1.97.3)(terser@5.46.1) @@ -173,10 +173,10 @@ importers: version: 8.6.18(storybook@8.6.18(prettier@3.8.1))(vue@3.5.29(typescript@5.9.3)) '@storybook/vue3-vite': specifier: ^8.6.0 - version: 8.6.18(storybook@8.6.18(prettier@3.8.1))(vite@6.4.1(@types/node@25.5.0)(jiti@1.21.7)(sass@1.97.3)(terser@5.46.1))(vue@3.5.29(typescript@5.9.3)) + version: 8.6.18(storybook@8.6.18(prettier@3.8.1))(vite@6.4.2(@types/node@25.5.0)(jiti@1.21.7)(sass@1.97.3)(terser@5.46.1))(vue@3.5.29(typescript@5.9.3)) '@vitejs/plugin-vue': specifier: ^5.2.4 - version: 5.2.4(vite@6.4.1(@types/node@25.5.0)(jiti@1.21.7)(sass@1.97.3)(terser@5.46.1))(vue@3.5.29(typescript@5.9.3)) + version: 5.2.4(vite@6.4.2(@types/node@25.5.0)(jiti@1.21.7)(sass@1.97.3)(terser@5.46.1))(vue@3.5.29(typescript@5.9.3)) autoprefixer: specifier: ^10.4.27 version: 10.4.27(postcss@8.5.8) @@ -193,8 +193,8 @@ importers: specifier: ^8.6.0 version: 8.6.18(prettier@3.8.1) vite: - specifier: ^6.4.1 - version: 6.4.1(@types/node@25.5.0)(jiti@1.21.7)(sass@1.97.3)(terser@5.46.1) + specifier: ^6.4.2 + version: 6.4.2(@types/node@25.5.0)(jiti@1.21.7)(sass@1.97.3)(terser@5.46.1) packages/icons: dependencies: @@ -267,16 +267,16 @@ importers: dependencies: '@vueuse/core': specifier: ^10.11.1 - version: 10.11.1(vue@3.5.31(typescript@5.9.3)) + version: 10.11.1(vue@3.5.32(typescript@5.9.3)) motion-v: specifier: ^2.1.0 - version: 2.2.0(@vueuse/core@10.11.1(vue@3.5.31(typescript@5.9.3)))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(vue@3.5.31(typescript@5.9.3)) + version: 2.2.0(@vueuse/core@10.11.1(vue@3.5.32(typescript@5.9.3)))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(vue@3.5.32(typescript@5.9.3)) primevue: specifier: 3.35.0 - version: 3.35.0(vue@3.5.31(typescript@5.9.3)) + version: 3.35.0(vue@3.5.32(typescript@5.9.3)) vee-validate: specifier: ^4.15.1 - version: 4.15.1(vue@3.5.31(typescript@5.9.3)) + version: 4.15.1(vue@3.5.32(typescript@5.9.3)) vue-tsc: specifier: ^3.2.5 version: 3.2.5(typescript@5.9.3) @@ -868,8 +868,8 @@ packages: resolution: {integrity: sha512-ju7Y4WeF0B9uMkSPHJgmT6ouEfSwbe9M1uR/YOnYZjBpxJjH9qzxIkJg/kf8NycVDyFJ2/lscmJ1E1uPiDQVRQ==} hasBin: true - '@bytecodealliance/jco@1.17.5': - resolution: {integrity: sha512-fBclNYSg7vcjQYjrwX2+GYf1CAigyPgtv7WivxvVvH92gmORWQFuFA1pS1flijUp+6hV34eztTAsg6QKRPCMGQ==} + '@bytecodealliance/jco@1.17.6': + resolution: {integrity: sha512-2D/v9m+6cwVd/MYmv6rBgaiUv6vBJaSKWwbPh4ltAfxcbh4KYJioSsAiEyiwKSD2HlK0LZ45N0Kzfc9WOyWnVQ==} hasBin: true '@bytecodealliance/preview2-shim@0.17.8': @@ -1003,14 +1003,14 @@ packages: resolution: {integrity: sha512-ROO22py+KdAfzqWZu6CtVMC4qV6mS0W1jPI51jGXE+uenyBUN7cQTWB9ReQc8Bm4cnjqmhajvpqEx3j7Y9iSOg==} engines: {node: '>=16'} - '@emnapi/core@1.9.1': - resolution: {integrity: sha512-mukuNALVsoix/w1BJwFzwXBN/dHeejQtuVzcDsfOEsdpCumXb/E9j8w11h5S54tT1xhifGfbbSm/ICrObRb3KA==} + '@emnapi/core@1.9.2': + resolution: {integrity: sha512-UC+ZhH3XtczQYfOlu3lNEkdW/p4dsJ1r/bP7H8+rhao3TTTMO1ATq/4DdIi23XuGoFY+Cz0JmCbdVl0hz9jZcA==} - '@emnapi/runtime@1.9.1': - resolution: {integrity: sha512-VYi5+ZVLhpgK4hQ0TAjiQiZ6ol0oe4mBx7mVv7IflsiEp0OWoVsp/+f9Vc1hOhE0TtkORVrI1GvzyreqpgWtkA==} + '@emnapi/runtime@1.9.2': + resolution: {integrity: sha512-3U4+MIWHImeyu1wnmVygh5WlgfYDtyf0k8AbLhMFxOipihf6nrWC4syIm/SwEeec0mNSafiiNnMJwbza/Is6Lw==} - '@emnapi/wasi-threads@1.2.0': - resolution: {integrity: sha512-N10dEJNSsUx41Z6pZsXU8FjPjpBEplgH24sfkmITrBED1/U2Esum9F3lfLrMjKHHjmi557zQn7kR9R+XWXu5Rg==} + '@emnapi/wasi-threads@1.2.1': + resolution: {integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==} '@esbuild/aix-ppc64@0.25.12': resolution: {integrity: sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==} @@ -1018,8 +1018,8 @@ packages: cpu: [ppc64] os: [aix] - '@esbuild/aix-ppc64@0.27.4': - resolution: {integrity: sha512-cQPwL2mp2nSmHHJlCyoXgHGhbEPMrEEU5xhkcy3Hs/O7nGZqEpZ2sUtLaL9MORLtDfRvVl2/3PAuEkYZH0Ty8Q==} + '@esbuild/aix-ppc64@0.27.7': + resolution: {integrity: sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] @@ -1030,8 +1030,8 @@ packages: cpu: [arm64] os: [android] - '@esbuild/android-arm64@0.27.4': - resolution: {integrity: sha512-gdLscB7v75wRfu7QSm/zg6Rx29VLdy9eTr2t44sfTW7CxwAtQghZ4ZnqHk3/ogz7xao0QAgrkradbBzcqFPasw==} + '@esbuild/android-arm64@0.27.7': + resolution: {integrity: sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ==} engines: {node: '>=18'} cpu: [arm64] os: [android] @@ -1042,8 +1042,8 @@ packages: cpu: [arm] os: [android] - '@esbuild/android-arm@0.27.4': - resolution: {integrity: sha512-X9bUgvxiC8CHAGKYufLIHGXPJWnr0OCdR0anD2e21vdvgCI8lIfqFbnoeOz7lBjdrAGUhqLZLcQo6MLhTO2DKQ==} + '@esbuild/android-arm@0.27.7': + resolution: {integrity: sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ==} engines: {node: '>=18'} cpu: [arm] os: [android] @@ -1054,8 +1054,8 @@ packages: cpu: [x64] os: [android] - '@esbuild/android-x64@0.27.4': - resolution: {integrity: sha512-PzPFnBNVF292sfpfhiyiXCGSn9HZg5BcAz+ivBuSsl6Rk4ga1oEXAamhOXRFyMcjwr2DVtm40G65N3GLeH1Lvw==} + '@esbuild/android-x64@0.27.7': + resolution: {integrity: sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg==} engines: {node: '>=18'} cpu: [x64] os: [android] @@ -1066,8 +1066,8 @@ packages: cpu: [arm64] os: [darwin] - '@esbuild/darwin-arm64@0.27.4': - resolution: {integrity: sha512-b7xaGIwdJlht8ZFCvMkpDN6uiSmnxxK56N2GDTMYPr2/gzvfdQN8rTfBsvVKmIVY/X7EM+/hJKEIbbHs9oA4tQ==} + '@esbuild/darwin-arm64@0.27.7': + resolution: {integrity: sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] @@ -1078,8 +1078,8 @@ packages: cpu: [x64] os: [darwin] - '@esbuild/darwin-x64@0.27.4': - resolution: {integrity: sha512-sR+OiKLwd15nmCdqpXMnuJ9W2kpy0KigzqScqHI3Hqwr7IXxBp3Yva+yJwoqh7rE8V77tdoheRYataNKL4QrPw==} + '@esbuild/darwin-x64@0.27.7': + resolution: {integrity: sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ==} engines: {node: '>=18'} cpu: [x64] os: [darwin] @@ -1090,8 +1090,8 @@ packages: cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-arm64@0.27.4': - resolution: {integrity: sha512-jnfpKe+p79tCnm4GVav68A7tUFeKQwQyLgESwEAUzyxk/TJr4QdGog9sqWNcUbr/bZt/O/HXouspuQDd9JxFSw==} + '@esbuild/freebsd-arm64@0.27.7': + resolution: {integrity: sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] @@ -1102,8 +1102,8 @@ packages: cpu: [x64] os: [freebsd] - '@esbuild/freebsd-x64@0.27.4': - resolution: {integrity: sha512-2kb4ceA/CpfUrIcTUl1wrP/9ad9Atrp5J94Lq69w7UwOMolPIGrfLSvAKJp0RTvkPPyn6CIWrNy13kyLikZRZQ==} + '@esbuild/freebsd-x64@0.27.7': + resolution: {integrity: sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] @@ -1114,8 +1114,8 @@ packages: cpu: [arm64] os: [linux] - '@esbuild/linux-arm64@0.27.4': - resolution: {integrity: sha512-7nQOttdzVGth1iz57kxg9uCz57dxQLHWxopL6mYuYthohPKEK0vU0C3O21CcBK6KDlkYVcnDXY099HcCDXd9dA==} + '@esbuild/linux-arm64@0.27.7': + resolution: {integrity: sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A==} engines: {node: '>=18'} cpu: [arm64] os: [linux] @@ -1126,8 +1126,8 @@ packages: cpu: [arm] os: [linux] - '@esbuild/linux-arm@0.27.4': - resolution: {integrity: sha512-aBYgcIxX/wd5n2ys0yESGeYMGF+pv6g0DhZr3G1ZG4jMfruU9Tl1i2Z+Wnj9/KjGz1lTLCcorqE2viePZqj4Eg==} + '@esbuild/linux-arm@0.27.7': + resolution: {integrity: sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA==} engines: {node: '>=18'} cpu: [arm] os: [linux] @@ -1138,8 +1138,8 @@ packages: cpu: [ia32] os: [linux] - '@esbuild/linux-ia32@0.27.4': - resolution: {integrity: sha512-oPtixtAIzgvzYcKBQM/qZ3R+9TEUd1aNJQu0HhGyqtx6oS7qTpvjheIWBbes4+qu1bNlo2V4cbkISr8q6gRBFA==} + '@esbuild/linux-ia32@0.27.7': + resolution: {integrity: sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg==} engines: {node: '>=18'} cpu: [ia32] os: [linux] @@ -1150,8 +1150,8 @@ packages: cpu: [loong64] os: [linux] - '@esbuild/linux-loong64@0.27.4': - resolution: {integrity: sha512-8mL/vh8qeCoRcFH2nM8wm5uJP+ZcVYGGayMavi8GmRJjuI3g1v6Z7Ni0JJKAJW+m0EtUuARb6Lmp4hMjzCBWzA==} + '@esbuild/linux-loong64@0.27.7': + resolution: {integrity: sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q==} engines: {node: '>=18'} cpu: [loong64] os: [linux] @@ -1162,8 +1162,8 @@ packages: cpu: [mips64el] os: [linux] - '@esbuild/linux-mips64el@0.27.4': - resolution: {integrity: sha512-1RdrWFFiiLIW7LQq9Q2NES+HiD4NyT8Itj9AUeCl0IVCA459WnPhREKgwrpaIfTOe+/2rdntisegiPWn/r/aAw==} + '@esbuild/linux-mips64el@0.27.7': + resolution: {integrity: sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] @@ -1174,8 +1174,8 @@ packages: cpu: [ppc64] os: [linux] - '@esbuild/linux-ppc64@0.27.4': - resolution: {integrity: sha512-tLCwNG47l3sd9lpfyx9LAGEGItCUeRCWeAx6x2Jmbav65nAwoPXfewtAdtbtit/pJFLUWOhpv0FpS6GQAmPrHA==} + '@esbuild/linux-ppc64@0.27.7': + resolution: {integrity: sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] @@ -1186,8 +1186,8 @@ packages: cpu: [riscv64] os: [linux] - '@esbuild/linux-riscv64@0.27.4': - resolution: {integrity: sha512-BnASypppbUWyqjd1KIpU4AUBiIhVr6YlHx/cnPgqEkNoVOhHg+YiSVxM1RLfiy4t9cAulbRGTNCKOcqHrEQLIw==} + '@esbuild/linux-riscv64@0.27.7': + resolution: {integrity: sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] @@ -1198,8 +1198,8 @@ packages: cpu: [s390x] os: [linux] - '@esbuild/linux-s390x@0.27.4': - resolution: {integrity: sha512-+eUqgb/Z7vxVLezG8bVB9SfBie89gMueS+I0xYh2tJdw3vqA/0ImZJ2ROeWwVJN59ihBeZ7Tu92dF/5dy5FttA==} + '@esbuild/linux-s390x@0.27.7': + resolution: {integrity: sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw==} engines: {node: '>=18'} cpu: [s390x] os: [linux] @@ -1210,8 +1210,8 @@ packages: cpu: [x64] os: [linux] - '@esbuild/linux-x64@0.27.4': - resolution: {integrity: sha512-S5qOXrKV8BQEzJPVxAwnryi2+Iq5pB40gTEIT69BQONqR7JH1EPIcQ/Uiv9mCnn05jff9umq/5nqzxlqTOg9NA==} + '@esbuild/linux-x64@0.27.7': + resolution: {integrity: sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA==} engines: {node: '>=18'} cpu: [x64] os: [linux] @@ -1222,8 +1222,8 @@ packages: cpu: [arm64] os: [netbsd] - '@esbuild/netbsd-arm64@0.27.4': - resolution: {integrity: sha512-xHT8X4sb0GS8qTqiwzHqpY00C95DPAq7nAwX35Ie/s+LO9830hrMd3oX0ZMKLvy7vsonee73x0lmcdOVXFzd6Q==} + '@esbuild/netbsd-arm64@0.27.7': + resolution: {integrity: sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w==} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] @@ -1234,8 +1234,8 @@ packages: cpu: [x64] os: [netbsd] - '@esbuild/netbsd-x64@0.27.4': - resolution: {integrity: sha512-RugOvOdXfdyi5Tyv40kgQnI0byv66BFgAqjdgtAKqHoZTbTF2QqfQrFwa7cHEORJf6X2ht+l9ABLMP0dnKYsgg==} + '@esbuild/netbsd-x64@0.27.7': + resolution: {integrity: sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] @@ -1246,8 +1246,8 @@ packages: cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-arm64@0.27.4': - resolution: {integrity: sha512-2MyL3IAaTX+1/qP0O1SwskwcwCoOI4kV2IBX1xYnDDqthmq5ArrW94qSIKCAuRraMgPOmG0RDTA74mzYNQA9ow==} + '@esbuild/openbsd-arm64@0.27.7': + resolution: {integrity: sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] @@ -1258,8 +1258,8 @@ packages: cpu: [x64] os: [openbsd] - '@esbuild/openbsd-x64@0.27.4': - resolution: {integrity: sha512-u8fg/jQ5aQDfsnIV6+KwLOf1CmJnfu1ShpwqdwC0uA7ZPwFws55Ngc12vBdeUdnuWoQYx/SOQLGDcdlfXhYmXQ==} + '@esbuild/openbsd-x64@0.27.7': + resolution: {integrity: sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] @@ -1270,8 +1270,8 @@ packages: cpu: [arm64] os: [openharmony] - '@esbuild/openharmony-arm64@0.27.4': - resolution: {integrity: sha512-JkTZrl6VbyO8lDQO3yv26nNr2RM2yZzNrNHEsj9bm6dOwwu9OYN28CjzZkH57bh4w0I2F7IodpQvUAEd1mbWXg==} + '@esbuild/openharmony-arm64@0.27.7': + resolution: {integrity: sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw==} engines: {node: '>=18'} cpu: [arm64] os: [openharmony] @@ -1282,8 +1282,8 @@ packages: cpu: [x64] os: [sunos] - '@esbuild/sunos-x64@0.27.4': - resolution: {integrity: sha512-/gOzgaewZJfeJTlsWhvUEmUG4tWEY2Spp5M20INYRg2ZKl9QPO3QEEgPeRtLjEWSW8FilRNacPOg8R1uaYkA6g==} + '@esbuild/sunos-x64@0.27.7': + resolution: {integrity: sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA==} engines: {node: '>=18'} cpu: [x64] os: [sunos] @@ -1294,8 +1294,8 @@ packages: cpu: [arm64] os: [win32] - '@esbuild/win32-arm64@0.27.4': - resolution: {integrity: sha512-Z9SExBg2y32smoDQdf1HRwHRt6vAHLXcxD2uGgO/v2jK7Y718Ix4ndsbNMU/+1Qiem9OiOdaqitioZwxivhXYg==} + '@esbuild/win32-arm64@0.27.7': + resolution: {integrity: sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA==} engines: {node: '>=18'} cpu: [arm64] os: [win32] @@ -1306,8 +1306,8 @@ packages: cpu: [ia32] os: [win32] - '@esbuild/win32-ia32@0.27.4': - resolution: {integrity: sha512-DAyGLS0Jz5G5iixEbMHi5KdiApqHBWMGzTtMiJ72ZOLhbu/bzxgAe8Ue8CTS3n3HbIUHQz/L51yMdGMeoxXNJw==} + '@esbuild/win32-ia32@0.27.7': + resolution: {integrity: sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw==} engines: {node: '>=18'} cpu: [ia32] os: [win32] @@ -1318,8 +1318,8 @@ packages: cpu: [x64] os: [win32] - '@esbuild/win32-x64@0.27.4': - resolution: {integrity: sha512-+knoa0BDoeXgkNvvV1vvbZX4+hizelrkwmGJBdT17t8FNPwG2lKemmuMZlmaNQ3ws3DKKCxpb4zRZEIp3UxFCg==} + '@esbuild/win32-x64@0.27.7': + resolution: {integrity: sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg==} engines: {node: '>=18'} cpu: [x64] os: [win32] @@ -1537,8 +1537,8 @@ packages: '@napi-rs/wasm-runtime@0.2.12': resolution: {integrity: sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==} - '@napi-rs/wasm-runtime@1.1.2': - resolution: {integrity: sha512-sNXv5oLJ7ob93xkZ1XnxisYhGYXfaG9f65/ZgYuAu3qt7b3NadcOEhLvx28hv31PgX8SZJRYrAIPQilQmFpLVw==} + '@napi-rs/wasm-runtime@1.1.3': + resolution: {integrity: sha512-xK9sGVbJWYb08+mTJt3/YV24WxvxpXcXtP6B172paPZ+Ts69Re9dAr7lKwJoeIx8OoeuimEiRZ7umkiUVClmmQ==} peerDependencies: '@emnapi/core': ^1.7.1 '@emnapi/runtime': ^1.7.1 @@ -1861,128 +1861,128 @@ packages: '@popperjs/core@2.11.8': resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} - '@rollup/rollup-android-arm-eabi@4.59.0': - resolution: {integrity: sha512-upnNBkA6ZH2VKGcBj9Fyl9IGNPULcjXRlg0LLeaioQWueH30p6IXtJEbKAgvyv+mJaMxSm1l6xwDXYjpEMiLMg==} + '@rollup/rollup-android-arm-eabi@4.60.1': + resolution: {integrity: sha512-d6FinEBLdIiK+1uACUttJKfgZREXrF0Qc2SmLII7W2AD8FfiZ9Wjd+rD/iRuf5s5dWrr1GgwXCvPqOuDquOowA==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.59.0': - resolution: {integrity: sha512-hZ+Zxj3SySm4A/DylsDKZAeVg0mvi++0PYVceVyX7hemkw7OreKdCvW2oQ3T1FMZvCaQXqOTHb8qmBShoqk69Q==} + '@rollup/rollup-android-arm64@4.60.1': + resolution: {integrity: sha512-YjG/EwIDvvYI1YvYbHvDz/BYHtkY4ygUIXHnTdLhG+hKIQFBiosfWiACWortsKPKU/+dUwQQCKQM3qrDe8c9BA==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.59.0': - resolution: {integrity: sha512-W2Psnbh1J8ZJw0xKAd8zdNgF9HRLkdWwwdWqubSVk0pUuQkoHnv7rx4GiF9rT4t5DIZGAsConRE3AxCdJ4m8rg==} + '@rollup/rollup-darwin-arm64@4.60.1': + resolution: {integrity: sha512-mjCpF7GmkRtSJwon+Rq1N8+pI+8l7w5g9Z3vWj4T7abguC4Czwi3Yu/pFaLvA3TTeMVjnu3ctigusqWUfjZzvw==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.59.0': - resolution: {integrity: sha512-ZW2KkwlS4lwTv7ZVsYDiARfFCnSGhzYPdiOU4IM2fDbL+QGlyAbjgSFuqNRbSthybLbIJ915UtZBtmuLrQAT/w==} + '@rollup/rollup-darwin-x64@4.60.1': + resolution: {integrity: sha512-haZ7hJ1JT4e9hqkoT9R/19XW2QKqjfJVv+i5AGg57S+nLk9lQnJ1F/eZloRO3o9Scy9CM3wQ9l+dkXtcBgN5Ew==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.59.0': - resolution: {integrity: sha512-EsKaJ5ytAu9jI3lonzn3BgG8iRBjV4LxZexygcQbpiU0wU0ATxhNVEpXKfUa0pS05gTcSDMKpn3Sx+QB9RlTTA==} + '@rollup/rollup-freebsd-arm64@4.60.1': + resolution: {integrity: sha512-czw90wpQq3ZsAVBlinZjAYTKduOjTywlG7fEeWKUA7oCmpA8xdTkxZZlwNJKWqILlq0wehoZcJYfBvOyhPTQ6w==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.59.0': - resolution: {integrity: sha512-d3DuZi2KzTMjImrxoHIAODUZYoUUMsuUiY4SRRcJy6NJoZ6iIqWnJu9IScV9jXysyGMVuW+KNzZvBLOcpdl3Vg==} + '@rollup/rollup-freebsd-x64@4.60.1': + resolution: {integrity: sha512-KVB2rqsxTHuBtfOeySEyzEOB7ltlB/ux38iu2rBQzkjbwRVlkhAGIEDiiYnO2kFOkJp+Z7pUXKyrRRFuFUKt+g==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.59.0': - resolution: {integrity: sha512-t4ONHboXi/3E0rT6OZl1pKbl2Vgxf9vJfWgmUoCEVQVxhW6Cw/c8I6hbbu7DAvgp82RKiH7TpLwxnJeKv2pbsw==} + '@rollup/rollup-linux-arm-gnueabihf@4.60.1': + resolution: {integrity: sha512-L+34Qqil+v5uC0zEubW7uByo78WOCIrBvci69E7sFASRl0X7b/MB6Cqd1lky/CtcSVTydWa2WZwFuWexjS5o6g==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.59.0': - resolution: {integrity: sha512-CikFT7aYPA2ufMD086cVORBYGHffBo4K8MQ4uPS/ZnY54GKj36i196u8U+aDVT2LX4eSMbyHtyOh7D7Zvk2VvA==} + '@rollup/rollup-linux-arm-musleabihf@4.60.1': + resolution: {integrity: sha512-n83O8rt4v34hgFzlkb1ycniJh7IR5RCIqt6mz1VRJD6pmhRi0CXdmfnLu9dIUS6buzh60IvACM842Ffb3xd6Gg==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.59.0': - resolution: {integrity: sha512-jYgUGk5aLd1nUb1CtQ8E+t5JhLc9x5WdBKew9ZgAXg7DBk0ZHErLHdXM24rfX+bKrFe+Xp5YuJo54I5HFjGDAA==} + '@rollup/rollup-linux-arm64-gnu@4.60.1': + resolution: {integrity: sha512-Nql7sTeAzhTAja3QXeAI48+/+GjBJ+QmAH13snn0AJSNL50JsDqotyudHyMbO2RbJkskbMbFJfIJKWA6R1LCJQ==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.59.0': - resolution: {integrity: sha512-peZRVEdnFWZ5Bh2KeumKG9ty7aCXzzEsHShOZEFiCQlDEepP1dpUl/SrUNXNg13UmZl+gzVDPsiCwnV1uI0RUA==} + '@rollup/rollup-linux-arm64-musl@4.60.1': + resolution: {integrity: sha512-+pUymDhd0ys9GcKZPPWlFiZ67sTWV5UU6zOJat02M1+PiuSGDziyRuI/pPue3hoUwm2uGfxdL+trT6Z9rxnlMA==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-loong64-gnu@4.59.0': - resolution: {integrity: sha512-gbUSW/97f7+r4gHy3Jlup8zDG190AuodsWnNiXErp9mT90iCy9NKKU0Xwx5k8VlRAIV2uU9CsMnEFg/xXaOfXg==} + '@rollup/rollup-linux-loong64-gnu@4.60.1': + resolution: {integrity: sha512-VSvgvQeIcsEvY4bKDHEDWcpW4Yw7BtlKG1GUT4FzBUlEKQK0rWHYBqQt6Fm2taXS+1bXvJT6kICu5ZwqKCnvlQ==} cpu: [loong64] os: [linux] - '@rollup/rollup-linux-loong64-musl@4.59.0': - resolution: {integrity: sha512-yTRONe79E+o0FWFijasoTjtzG9EBedFXJMl888NBEDCDV9I2wGbFFfJQQe63OijbFCUZqxpHz1GzpbtSFikJ4Q==} + '@rollup/rollup-linux-loong64-musl@4.60.1': + resolution: {integrity: sha512-4LqhUomJqwe641gsPp6xLfhqWMbQV04KtPp7/dIp0nzPxAkNY1AbwL5W0MQpcalLYk07vaW9Kp1PBhdpZYYcEw==} cpu: [loong64] os: [linux] - '@rollup/rollup-linux-ppc64-gnu@4.59.0': - resolution: {integrity: sha512-sw1o3tfyk12k3OEpRddF68a1unZ5VCN7zoTNtSn2KndUE+ea3m3ROOKRCZxEpmT9nsGnogpFP9x6mnLTCaoLkA==} + '@rollup/rollup-linux-ppc64-gnu@4.60.1': + resolution: {integrity: sha512-tLQQ9aPvkBxOc/EUT6j3pyeMD6Hb8QF2BTBnCQWP/uu1lhc9AIrIjKnLYMEroIz/JvtGYgI9dF3AxHZNaEH0rw==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-ppc64-musl@4.59.0': - resolution: {integrity: sha512-+2kLtQ4xT3AiIxkzFVFXfsmlZiG5FXYW7ZyIIvGA7Bdeuh9Z0aN4hVyXS/G1E9bTP/vqszNIN/pUKCk/BTHsKA==} + '@rollup/rollup-linux-ppc64-musl@4.60.1': + resolution: {integrity: sha512-RMxFhJwc9fSXP6PqmAz4cbv3kAyvD1etJFjTx4ONqFP9DkTkXsAMU4v3Vyc5BgzC+anz7nS/9tp4obsKfqkDHg==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.59.0': - resolution: {integrity: sha512-NDYMpsXYJJaj+I7UdwIuHHNxXZ/b/N2hR15NyH3m2qAtb/hHPA4g4SuuvrdxetTdndfj9b1WOmy73kcPRoERUg==} + '@rollup/rollup-linux-riscv64-gnu@4.60.1': + resolution: {integrity: sha512-QKgFl+Yc1eEk6MmOBfRHYF6lTxiiiV3/z/BRrbSiW2I7AFTXoBFvdMEyglohPj//2mZS4hDOqeB0H1ACh3sBbg==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-riscv64-musl@4.59.0': - resolution: {integrity: sha512-nLckB8WOqHIf1bhymk+oHxvM9D3tyPndZH8i8+35p/1YiVoVswPid2yLzgX7ZJP0KQvnkhM4H6QZ5m0LzbyIAg==} + '@rollup/rollup-linux-riscv64-musl@4.60.1': + resolution: {integrity: sha512-RAjXjP/8c6ZtzatZcA1RaQr6O1TRhzC+adn8YZDnChliZHviqIjmvFwHcxi4JKPSDAt6Uhf/7vqcBzQJy0PDJg==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.59.0': - resolution: {integrity: sha512-oF87Ie3uAIvORFBpwnCvUzdeYUqi2wY6jRFWJAy1qus/udHFYIkplYRW+wo+GRUP4sKzYdmE1Y3+rY5Gc4ZO+w==} + '@rollup/rollup-linux-s390x-gnu@4.60.1': + resolution: {integrity: sha512-wcuocpaOlaL1COBYiA89O6yfjlp3RwKDeTIA0hM7OpmhR1Bjo9j31G1uQVpDlTvwxGn2nQs65fBFL5UFd76FcQ==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.59.0': - resolution: {integrity: sha512-3AHmtQq/ppNuUspKAlvA8HtLybkDflkMuLK4DPo77DfthRb71V84/c4MlWJXixZz4uruIH4uaa07IqoAkG64fg==} + '@rollup/rollup-linux-x64-gnu@4.60.1': + resolution: {integrity: sha512-77PpsFQUCOiZR9+LQEFg9GClyfkNXj1MP6wRnzYs0EeWbPcHs02AXu4xuUbM1zhwn3wqaizle3AEYg5aeoohhg==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.59.0': - resolution: {integrity: sha512-2UdiwS/9cTAx7qIUZB/fWtToJwvt0Vbo0zmnYt7ED35KPg13Q0ym1g442THLC7VyI6JfYTP4PiSOWyoMdV2/xg==} + '@rollup/rollup-linux-x64-musl@4.60.1': + resolution: {integrity: sha512-5cIATbk5vynAjqqmyBjlciMJl1+R/CwX9oLk/EyiFXDWd95KpHdrOJT//rnUl4cUcskrd0jCCw3wpZnhIHdD9w==} cpu: [x64] os: [linux] - '@rollup/rollup-openbsd-x64@4.59.0': - resolution: {integrity: sha512-M3bLRAVk6GOwFlPTIxVBSYKUaqfLrn8l0psKinkCFxl4lQvOSz8ZrKDz2gxcBwHFpci0B6rttydI4IpS4IS/jQ==} + '@rollup/rollup-openbsd-x64@4.60.1': + resolution: {integrity: sha512-cl0w09WsCi17mcmWqqglez9Gk8isgeWvoUZ3WiJFYSR3zjBQc2J5/ihSjpl+VLjPqjQ/1hJRcqBfLjssREQILw==} cpu: [x64] os: [openbsd] - '@rollup/rollup-openharmony-arm64@4.59.0': - resolution: {integrity: sha512-tt9KBJqaqp5i5HUZzoafHZX8b5Q2Fe7UjYERADll83O4fGqJ49O1FsL6LpdzVFQcpwvnyd0i+K/VSwu/o/nWlA==} + '@rollup/rollup-openharmony-arm64@4.60.1': + resolution: {integrity: sha512-4Cv23ZrONRbNtbZa37mLSueXUCtN7MXccChtKpUnQNgF010rjrjfHx3QxkS2PI7LqGT5xXyYs1a7LbzAwT0iCA==} cpu: [arm64] os: [openharmony] - '@rollup/rollup-win32-arm64-msvc@4.59.0': - resolution: {integrity: sha512-V5B6mG7OrGTwnxaNUzZTDTjDS7F75PO1ae6MJYdiMu60sq0CqN5CVeVsbhPxalupvTX8gXVSU9gq+Rx1/hvu6A==} + '@rollup/rollup-win32-arm64-msvc@4.60.1': + resolution: {integrity: sha512-i1okWYkA4FJICtr7KpYzFpRTHgy5jdDbZiWfvny21iIKky5YExiDXP+zbXzm3dUcFpkEeYNHgQ5fuG236JPq0g==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.59.0': - resolution: {integrity: sha512-UKFMHPuM9R0iBegwzKF4y0C4J9u8C6MEJgFuXTBerMk7EJ92GFVFYBfOZaSGLu6COf7FxpQNqhNS4c4icUPqxA==} + '@rollup/rollup-win32-ia32-msvc@4.60.1': + resolution: {integrity: sha512-u09m3CuwLzShA0EYKMNiFgcjjzwqtUMLmuCJLeZWjjOYA3IT2Di09KaxGBTP9xVztWyIWjVdsB2E9goMjZvTQg==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-gnu@4.59.0': - resolution: {integrity: sha512-laBkYlSS1n2L8fSo1thDNGrCTQMmxjYY5G0WFWjFFYZkKPjsMBsgJfGf4TLxXrF6RyhI60L8TMOjBMvXiTcxeA==} + '@rollup/rollup-win32-x64-gnu@4.60.1': + resolution: {integrity: sha512-k+600V9Zl1CM7eZxJgMyTUzmrmhB/0XZnF4pRypKAlAgxmedUA+1v9R+XOFv56W4SlHEzfeMtzujLJD22Uz5zg==} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.59.0': - resolution: {integrity: sha512-2HRCml6OztYXyJXAvdDXPKcawukWY2GpR5/nxKp4iBgiO3wcoEGkAaqctIbZcNB6KlUQBIqt8VYkNSj2397EfA==} + '@rollup/rollup-win32-x64-msvc@4.60.1': + resolution: {integrity: sha512-lWMnixq/QzxyhTV6NjQJ4SFo1J6PvOX8vUx5Wb4bBPsEb+8xZ89Bz6kOXpfXj9ak9AHTQVQzlgzBEc1SyM27xQ==} cpu: [x64] os: [win32] @@ -2362,26 +2362,26 @@ packages: '@vue/compiler-core@3.5.29': resolution: {integrity: sha512-cuzPhD8fwRHk8IGfmYaR4eEe4cAyJEL66Ove/WZL7yWNL134nqLddSLwNRIsFlnnW1kK+p8Ck3viFnC0chXCXw==} - '@vue/compiler-core@3.5.31': - resolution: {integrity: sha512-k/ueL14aNIEy5Onf0OVzR8kiqF/WThgLdFhxwa4e/KF/0qe38IwIdofoSWBTvvxQOesaz6riAFAUaYjoF9fLLQ==} + '@vue/compiler-core@3.5.32': + resolution: {integrity: sha512-4x74Tbtqnda8s/NSD6e1Dr5p1c8HdMU5RWSjMSUzb8RTcUQqevDCxVAitcLBKT+ie3o0Dl9crc/S/opJM7qBGQ==} '@vue/compiler-dom@3.5.29': resolution: {integrity: sha512-n0G5o7R3uBVmVxjTIYcz7ovr8sy7QObFG8OQJ3xGCDNhbG60biP/P5KnyY8NLd81OuT1WJflG7N4KWYHaeeaIg==} - '@vue/compiler-dom@3.5.31': - resolution: {integrity: sha512-BMY/ozS/xxjYqRFL+tKdRpATJYDTTgWSo0+AJvJNg4ig+Hgb0dOsHPXvloHQ5hmlivUqw1Yt2pPIqp4e0v1GUw==} + '@vue/compiler-dom@3.5.32': + resolution: {integrity: sha512-ybHAu70NtiEI1fvAUz3oXZqkUYEe5J98GjMDpTGl5iHb0T15wQYLR4wE3h9xfuTNA+Cm2f4czfe8B4s+CCH57Q==} '@vue/compiler-sfc@3.5.29': resolution: {integrity: sha512-oJZhN5XJs35Gzr50E82jg2cYdZQ78wEwvRO6Y63TvLVTc+6xICzJHP1UIecdSPPYIbkautNBanDiWYa64QSFIA==} - '@vue/compiler-sfc@3.5.31': - resolution: {integrity: sha512-M8wpPgR9UJ8MiRGjppvx9uWJfLV7A/T+/rL8s/y3QG3u0c2/YZgff3d6SuimKRIhcYnWg5fTfDMlz2E6seUW8Q==} + '@vue/compiler-sfc@3.5.32': + resolution: {integrity: sha512-8UYUYo71cP/0YHMO814TRZlPuUUw3oifHuMR7Wp9SNoRSrxRQnhMLNlCeaODNn6kNTJsjFoQ/kqIj4qGvya4Xg==} '@vue/compiler-ssr@3.5.29': resolution: {integrity: sha512-Y/ARJZE6fpjzL5GH/phJmsFwx3g6t2KmHKHx5q+MLl2kencADKIrhH5MLF6HHpRMmlRAYBRSvv347Mepf1zVNw==} - '@vue/compiler-ssr@3.5.31': - resolution: {integrity: sha512-h0xIMxrt/LHOvJKMri+vdYT92BrK3HFLtDqq9Pr/lVVfE4IyKZKvWf0vJFW10Yr6nX02OR4MkJwI0c1HDa1hog==} + '@vue/compiler-ssr@3.5.32': + resolution: {integrity: sha512-Gp4gTs22T3DgRotZ8aA/6m2jMR+GMztvBXUBEUOYOcST+giyGWJ4WvFd7QLHBkzTxkfOt8IELKNdpzITLbA2rw==} '@vue/compiler-vue2@2.7.16': resolution: {integrity: sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==} @@ -2415,36 +2415,36 @@ packages: '@vue/reactivity@3.5.29': resolution: {integrity: sha512-zcrANcrRdcLtmGZETBxWqIkoQei8HaFpZWx/GHKxx79JZsiZ8j1du0VUJtu4eJjgFvU/iKL5lRXFXksVmI+5DA==} - '@vue/reactivity@3.5.31': - resolution: {integrity: sha512-DtKXxk9E/KuVvt8VxWu+6Luc9I9ETNcqR1T1oW1gf02nXaZ1kuAx58oVu7uX9XxJR0iJCro6fqBLw9oSBELo5g==} + '@vue/reactivity@3.5.32': + resolution: {integrity: sha512-/ORasxSGvZ6MN5gc+uE364SxFdJ0+WqVG0CENXaGW58TOCdrAW76WWaplDtECeS1qphvtBZtR+3/o1g1zL4xPQ==} '@vue/runtime-core@3.5.29': resolution: {integrity: sha512-8DpW2QfdwIWOLqtsNcds4s+QgwSaHSJY/SUe04LptianUQ/0xi6KVsu/pYVh+HO3NTVvVJjIPL2t6GdeKbS4Lg==} - '@vue/runtime-core@3.5.31': - resolution: {integrity: sha512-AZPmIHXEAyhpkmN7aWlqjSfYynmkWlluDNPHMCZKFHH+lLtxP/30UJmoVhXmbDoP1Ng0jG0fyY2zCj1PnSSA6Q==} + '@vue/runtime-core@3.5.32': + resolution: {integrity: sha512-pDrXCejn4UpFDFmMd27AcJEbHaLemaE5o4pbb7sLk79SRIhc6/t34BQA7SGNgYtbMnvbF/HHOftYBgFJtUoJUQ==} '@vue/runtime-dom@3.5.29': resolution: {integrity: sha512-AHvvJEtcY9tw/uk+s/YRLSlxxQnqnAkjqvK25ZiM4CllCZWzElRAoQnCM42m9AHRLNJ6oe2kC5DCgD4AUdlvXg==} - '@vue/runtime-dom@3.5.31': - resolution: {integrity: sha512-xQJsNRmGPeDCJq/u813tyonNgWBFjzfVkBwDREdEWndBnGdHLHgkwNBQxLtg4zDrzKTEcnikUy1UUNecb3lJ6g==} + '@vue/runtime-dom@3.5.32': + resolution: {integrity: sha512-1CDVv7tv/IV13V8Nip1k/aaObVbWqRlVCVezTwx3K07p7Vxossp5JU1dcPNhJk3w347gonIUT9jQOGutyJrSVQ==} '@vue/server-renderer@3.5.29': resolution: {integrity: sha512-G/1k6WK5MusLlbxSE2YTcqAAezS+VuwHhOvLx2KnQU7G2zCH6KIb+5Wyt6UjMq7a3qPzNEjJXs1hvAxDclQH+g==} peerDependencies: vue: 3.5.29 - '@vue/server-renderer@3.5.31': - resolution: {integrity: sha512-GJuwRvMcdZX/CriUnyIIOGkx3rMV3H6sOu0JhdKbduaeCji6zb60iOGMY7tFoN24NfsUYoFBhshZtGxGpxO4iA==} + '@vue/server-renderer@3.5.32': + resolution: {integrity: sha512-IOjm2+JQwRFS7W28HNuJeXQle9KdZbODFY7hFGVtnnghF51ta20EWAZJHX+zLGtsHhaU6uC9BGPV52KVpYryMQ==} peerDependencies: - vue: 3.5.31 + vue: 3.5.32 '@vue/shared@3.5.29': resolution: {integrity: sha512-w7SR0A5zyRByL9XUkCfdLs7t9XOHUyJ67qPGQjOou3p6GvBeBW+AVjUUmlxtZ4PIYaRvE+1LmK44O4uajlZwcg==} - '@vue/shared@3.5.31': - resolution: {integrity: sha512-nBxuiuS9Lj5bPkPbWogPUnjxxWpkRniX7e5UBQDWl6Fsf4roq9wwV+cR7ezQ4zXswNvPIlsdj1slcLB7XCsRAw==} + '@vue/shared@3.5.32': + resolution: {integrity: sha512-ksNyrmRQzWJJ8n3cRDuSF7zNNontuJg1YHnmWRJd2AMu8Ij2bqwiiri2lH5rHtYPZjj4STkNcgcmiQqlOjiYGg==} '@vueuse/core@10.11.1': resolution: {integrity: sha512-guoy26JQktXPcz+0n3GukWIy/JDNKti9v6VEMu6kV2sYBsWuGiTU8OWdg+ADfUbHg3/3DlqySDe7JmdHrktiww==} @@ -2503,7 +2503,7 @@ packages: '@xmldom/xmldom@0.7.13': resolution: {integrity: sha512-lm2GW5PkosIzccsaZIz7tp8cPADSIlIHWDFTR1N0SzfinhhYgeIQjFMz4rYzanCScr3DqQLeomUDArp6MWKm+g==} engines: {node: '>=10.0.0'} - deprecated: this version is no longer supported, please update to at least 0.8.* + deprecated: this version has critical issues, please update to the latest version '@xtuc/ieee754@1.2.0': resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} @@ -2681,8 +2681,8 @@ packages: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} - axios@1.13.6: - resolution: {integrity: sha512-ChTCHMouEe2kn713WHbQGcuYrr6fXTBiu460OTwWrWob16g1bXn4vtz07Ope7ewMozJAnEquLk5lWQWtBig9DQ==} + axios@1.15.0: + resolution: {integrity: sha512-wWyJDlAatxk30ZJer+GeCWS209sA42X+N5jU2jy6oHTp7ufw8uzUTVFBX9+wTfAlhiJXGS0Bq7X6efruWjuK9Q==} azion-theme@1.18.3: resolution: {integrity: sha512-jTSHwjuM1HSmIN/uErunbTJyi2JGnXL/xXhZ81aF310iT83xKOhXHsLAuANroQvxnv0Bdt55QzBoYVHl0PDvkg==} @@ -3375,8 +3375,8 @@ packages: engines: {node: '>=18'} hasBin: true - esbuild@0.27.4: - resolution: {integrity: sha512-Rq4vbHnYkK5fws5NF7MYTU68FPRE1ajX7heQ/8QXXWqNgqqJ/GkmmyxIzUnf2Sr/bakf8l54716CcMGHYhMrrQ==} + esbuild@0.27.7: + resolution: {integrity: sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==} engines: {node: '>=18'} hasBin: true @@ -4901,8 +4901,8 @@ packages: picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} - picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + picomatch@2.3.2: + resolution: {integrity: sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==} engines: {node: '>=8.6'} picomatch@4.0.3: @@ -5009,6 +5009,10 @@ packages: resolution: {integrity: sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==} engines: {node: ^10 || ^12 || >=14} + postcss@8.5.9: + resolution: {integrity: sha512-7a70Nsot+EMX9fFU3064K/kdHWZqGVY+BADLyXc8Dfv+mTLLVl6JzJpPaCZ2kQL9gIJvKXSLMHhqdRRjwQeFtw==} + engines: {node: ^10 || ^12 || >=14} + prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} @@ -5068,8 +5072,9 @@ packages: proto-list@1.2.4: resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} - proxy-from-env@1.1.0: - resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + proxy-from-env@2.1.0: + resolution: {integrity: sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA==} + engines: {node: '>=10'} public-encrypt@4.0.3: resolution: {integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==} @@ -5250,8 +5255,8 @@ packages: resolution: {integrity: sha512-5Di9UC0+8h1L6ZD2d7awM7E/T4uA1fJRlx6zk/NvdCCVEoAnFqvHmCuNeIKoCeIixBX/q8uM+6ycDvF8woqosA==} engines: {node: '>= 0.8'} - rollup@4.59.0: - resolution: {integrity: sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg==} + rollup@4.60.1: + resolution: {integrity: sha512-VmtB2rFU/GroZ4oL8+ZqXgSA38O6GR8KSIvWmEFv63pQ0G6KaBH9s07PO8XTXP4vI+3UJUEypOfjkGfmSBBR0w==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -5930,8 +5935,8 @@ packages: engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true - vite@6.4.1: - resolution: {integrity: sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g==} + vite@6.4.2: + resolution: {integrity: sha512-2N/55r4JDJ4gdrCvGgINMy+HH3iRpNIz8K6SFwVsA+JbQScLiC+clmAxBgwiSPgcG9U15QmvqCGWzMbqda5zGQ==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: @@ -6087,8 +6092,8 @@ packages: typescript: optional: true - vue@3.5.31: - resolution: {integrity: sha512-iV/sU9SzOlmA/0tygSmjkEN6Jbs3nPoIPFhCMLD2STrjgOU8DX7ZtzMhg4ahVwf5Rp9KoFzcXeB1ZrVbLBp5/Q==} + vue@3.5.32: + resolution: {integrity: sha512-vM4z4Q9tTafVfMAK7IVzmxg34rSzTFMyIe0UUEijUCkn9+23lj0WRfA83dg7eQZIUlgOSGrkViIaCfqSAUXsMw==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -6993,12 +6998,12 @@ snapshots: '@bytecodealliance/componentize-js@0.19.3': dependencies: - '@bytecodealliance/jco': 1.17.5 + '@bytecodealliance/jco': 1.17.6 '@bytecodealliance/wizer': 10.0.0 es-module-lexer: 1.7.0 oxc-parser: 0.76.0 - '@bytecodealliance/jco@1.17.5': + '@bytecodealliance/jco@1.17.6': dependencies: '@bytecodealliance/componentize-js': 0.19.3 '@bytecodealliance/preview2-shim': 0.17.8 @@ -7010,9 +7015,9 @@ snapshots: '@bytecodealliance/preview2-shim@0.17.8': {} - '@bytecodealliance/weval@0.3.4(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1)': + '@bytecodealliance/weval@0.3.4(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)': dependencies: - '@napi-rs/lzma': 1.4.5(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1) + '@napi-rs/lzma': 1.4.5(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) decompress: 4.2.1 decompress-tar: 4.1.1 decompress-unzip: 4.0.1 @@ -7116,18 +7121,18 @@ snapshots: '@edge-runtime/primitives@3.1.1': {} - '@emnapi/core@1.9.1': + '@emnapi/core@1.9.2': dependencies: - '@emnapi/wasi-threads': 1.2.0 + '@emnapi/wasi-threads': 1.2.1 tslib: 2.8.1 optional: true - '@emnapi/runtime@1.9.1': + '@emnapi/runtime@1.9.2': dependencies: tslib: 2.8.1 optional: true - '@emnapi/wasi-threads@1.2.0': + '@emnapi/wasi-threads@1.2.1': dependencies: tslib: 2.8.1 optional: true @@ -7135,157 +7140,157 @@ snapshots: '@esbuild/aix-ppc64@0.25.12': optional: true - '@esbuild/aix-ppc64@0.27.4': + '@esbuild/aix-ppc64@0.27.7': optional: true '@esbuild/android-arm64@0.25.12': optional: true - '@esbuild/android-arm64@0.27.4': + '@esbuild/android-arm64@0.27.7': optional: true '@esbuild/android-arm@0.25.12': optional: true - '@esbuild/android-arm@0.27.4': + '@esbuild/android-arm@0.27.7': optional: true '@esbuild/android-x64@0.25.12': optional: true - '@esbuild/android-x64@0.27.4': + '@esbuild/android-x64@0.27.7': optional: true '@esbuild/darwin-arm64@0.25.12': optional: true - '@esbuild/darwin-arm64@0.27.4': + '@esbuild/darwin-arm64@0.27.7': optional: true '@esbuild/darwin-x64@0.25.12': optional: true - '@esbuild/darwin-x64@0.27.4': + '@esbuild/darwin-x64@0.27.7': optional: true '@esbuild/freebsd-arm64@0.25.12': optional: true - '@esbuild/freebsd-arm64@0.27.4': + '@esbuild/freebsd-arm64@0.27.7': optional: true '@esbuild/freebsd-x64@0.25.12': optional: true - '@esbuild/freebsd-x64@0.27.4': + '@esbuild/freebsd-x64@0.27.7': optional: true '@esbuild/linux-arm64@0.25.12': optional: true - '@esbuild/linux-arm64@0.27.4': + '@esbuild/linux-arm64@0.27.7': optional: true '@esbuild/linux-arm@0.25.12': optional: true - '@esbuild/linux-arm@0.27.4': + '@esbuild/linux-arm@0.27.7': optional: true '@esbuild/linux-ia32@0.25.12': optional: true - '@esbuild/linux-ia32@0.27.4': + '@esbuild/linux-ia32@0.27.7': optional: true '@esbuild/linux-loong64@0.25.12': optional: true - '@esbuild/linux-loong64@0.27.4': + '@esbuild/linux-loong64@0.27.7': optional: true '@esbuild/linux-mips64el@0.25.12': optional: true - '@esbuild/linux-mips64el@0.27.4': + '@esbuild/linux-mips64el@0.27.7': optional: true '@esbuild/linux-ppc64@0.25.12': optional: true - '@esbuild/linux-ppc64@0.27.4': + '@esbuild/linux-ppc64@0.27.7': optional: true '@esbuild/linux-riscv64@0.25.12': optional: true - '@esbuild/linux-riscv64@0.27.4': + '@esbuild/linux-riscv64@0.27.7': optional: true '@esbuild/linux-s390x@0.25.12': optional: true - '@esbuild/linux-s390x@0.27.4': + '@esbuild/linux-s390x@0.27.7': optional: true '@esbuild/linux-x64@0.25.12': optional: true - '@esbuild/linux-x64@0.27.4': + '@esbuild/linux-x64@0.27.7': optional: true '@esbuild/netbsd-arm64@0.25.12': optional: true - '@esbuild/netbsd-arm64@0.27.4': + '@esbuild/netbsd-arm64@0.27.7': optional: true '@esbuild/netbsd-x64@0.25.12': optional: true - '@esbuild/netbsd-x64@0.27.4': + '@esbuild/netbsd-x64@0.27.7': optional: true '@esbuild/openbsd-arm64@0.25.12': optional: true - '@esbuild/openbsd-arm64@0.27.4': + '@esbuild/openbsd-arm64@0.27.7': optional: true '@esbuild/openbsd-x64@0.25.12': optional: true - '@esbuild/openbsd-x64@0.27.4': + '@esbuild/openbsd-x64@0.27.7': optional: true '@esbuild/openharmony-arm64@0.25.12': optional: true - '@esbuild/openharmony-arm64@0.27.4': + '@esbuild/openharmony-arm64@0.27.7': optional: true '@esbuild/sunos-x64@0.25.12': optional: true - '@esbuild/sunos-x64@0.27.4': + '@esbuild/sunos-x64@0.27.7': optional: true '@esbuild/win32-arm64@0.25.12': optional: true - '@esbuild/win32-arm64@0.27.4': + '@esbuild/win32-arm64@0.27.7': optional: true '@esbuild/win32-ia32@0.25.12': optional: true - '@esbuild/win32-ia32@0.27.4': + '@esbuild/win32-ia32@0.27.7': optional: true '@esbuild/win32-x64@0.25.12': optional: true - '@esbuild/win32-x64@0.27.4': + '@esbuild/win32-x64@0.27.7': optional: true '@eslint-community/eslint-utils@4.9.1(eslint@9.39.3(jiti@1.21.7))': @@ -7334,18 +7339,18 @@ snapshots: '@eslint/core': 0.17.0 levn: 0.4.1 - '@fastly/http-compute-js@1.1.5(@fastly/js-compute@3.40.1(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1)(typescript@5.9.3))': + '@fastly/http-compute-js@1.1.5(@fastly/js-compute@3.40.1(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(typescript@5.9.3))': dependencies: - '@fastly/js-compute': 3.40.1(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1)(typescript@5.9.3) + '@fastly/js-compute': 3.40.1(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(typescript@5.9.3) buffer: 6.0.3 node-inspect-extracted: 1.1.0 process: 0.11.10 stream-browserify: 3.0.0 - '@fastly/js-compute@3.40.1(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1)(typescript@5.9.3)': + '@fastly/js-compute@3.40.1(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(typescript@5.9.3)': dependencies: - '@bytecodealliance/jco': 1.17.5 - '@bytecodealliance/weval': 0.3.4(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1) + '@bytecodealliance/jco': 1.17.6 + '@bytecodealliance/weval': 0.3.4(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) '@bytecodealliance/wizer': 7.0.5 '@jridgewell/remapping': 2.3.5 '@jridgewell/trace-mapping': 0.3.31 @@ -7456,9 +7461,9 @@ snapshots: '@napi-rs/lzma-linux-x64-musl@1.4.5': optional: true - '@napi-rs/lzma-wasm32-wasi@1.4.5(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1)': + '@napi-rs/lzma-wasm32-wasi@1.4.5(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)': dependencies: - '@napi-rs/wasm-runtime': 1.1.2(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1) + '@napi-rs/wasm-runtime': 1.1.3(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) transitivePeerDependencies: - '@emnapi/core' - '@emnapi/runtime' @@ -7473,7 +7478,7 @@ snapshots: '@napi-rs/lzma-win32-x64-msvc@1.4.5': optional: true - '@napi-rs/lzma@1.4.5(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1)': + '@napi-rs/lzma@1.4.5(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)': optionalDependencies: '@napi-rs/lzma-android-arm-eabi': 1.4.5 '@napi-rs/lzma-android-arm64': 1.4.5 @@ -7488,7 +7493,7 @@ snapshots: '@napi-rs/lzma-linux-s390x-gnu': 1.4.5 '@napi-rs/lzma-linux-x64-gnu': 1.4.5 '@napi-rs/lzma-linux-x64-musl': 1.4.5 - '@napi-rs/lzma-wasm32-wasi': 1.4.5(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1) + '@napi-rs/lzma-wasm32-wasi': 1.4.5(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) '@napi-rs/lzma-win32-arm64-msvc': 1.4.5 '@napi-rs/lzma-win32-ia32-msvc': 1.4.5 '@napi-rs/lzma-win32-x64-msvc': 1.4.5 @@ -7498,15 +7503,15 @@ snapshots: '@napi-rs/wasm-runtime@0.2.12': dependencies: - '@emnapi/core': 1.9.1 - '@emnapi/runtime': 1.9.1 + '@emnapi/core': 1.9.2 + '@emnapi/runtime': 1.9.2 '@tybys/wasm-util': 0.10.1 optional: true - '@napi-rs/wasm-runtime@1.1.2(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1)': + '@napi-rs/wasm-runtime@1.1.3(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)': dependencies: - '@emnapi/core': 1.9.1 - '@emnapi/runtime': 1.9.1 + '@emnapi/core': 1.9.2 + '@emnapi/runtime': 1.9.2 '@tybys/wasm-util': 0.10.1 optional: true @@ -7756,7 +7761,7 @@ snapshots: detect-libc: 2.1.2 is-glob: 4.0.3 node-addon-api: 7.1.1 - picomatch: 4.0.3 + picomatch: 4.0.4 optionalDependencies: '@parcel/watcher-android-arm64': 2.5.6 '@parcel/watcher-darwin-arm64': 2.5.6 @@ -7790,79 +7795,79 @@ snapshots: '@popperjs/core@2.11.8': {} - '@rollup/rollup-android-arm-eabi@4.59.0': + '@rollup/rollup-android-arm-eabi@4.60.1': optional: true - '@rollup/rollup-android-arm64@4.59.0': + '@rollup/rollup-android-arm64@4.60.1': optional: true - '@rollup/rollup-darwin-arm64@4.59.0': + '@rollup/rollup-darwin-arm64@4.60.1': optional: true - '@rollup/rollup-darwin-x64@4.59.0': + '@rollup/rollup-darwin-x64@4.60.1': optional: true - '@rollup/rollup-freebsd-arm64@4.59.0': + '@rollup/rollup-freebsd-arm64@4.60.1': optional: true - '@rollup/rollup-freebsd-x64@4.59.0': + '@rollup/rollup-freebsd-x64@4.60.1': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.59.0': + '@rollup/rollup-linux-arm-gnueabihf@4.60.1': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.59.0': + '@rollup/rollup-linux-arm-musleabihf@4.60.1': optional: true - '@rollup/rollup-linux-arm64-gnu@4.59.0': + '@rollup/rollup-linux-arm64-gnu@4.60.1': optional: true - '@rollup/rollup-linux-arm64-musl@4.59.0': + '@rollup/rollup-linux-arm64-musl@4.60.1': optional: true - '@rollup/rollup-linux-loong64-gnu@4.59.0': + '@rollup/rollup-linux-loong64-gnu@4.60.1': optional: true - '@rollup/rollup-linux-loong64-musl@4.59.0': + '@rollup/rollup-linux-loong64-musl@4.60.1': optional: true - '@rollup/rollup-linux-ppc64-gnu@4.59.0': + '@rollup/rollup-linux-ppc64-gnu@4.60.1': optional: true - '@rollup/rollup-linux-ppc64-musl@4.59.0': + '@rollup/rollup-linux-ppc64-musl@4.60.1': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.59.0': + '@rollup/rollup-linux-riscv64-gnu@4.60.1': optional: true - '@rollup/rollup-linux-riscv64-musl@4.59.0': + '@rollup/rollup-linux-riscv64-musl@4.60.1': optional: true - '@rollup/rollup-linux-s390x-gnu@4.59.0': + '@rollup/rollup-linux-s390x-gnu@4.60.1': optional: true - '@rollup/rollup-linux-x64-gnu@4.59.0': + '@rollup/rollup-linux-x64-gnu@4.60.1': optional: true - '@rollup/rollup-linux-x64-musl@4.59.0': + '@rollup/rollup-linux-x64-musl@4.60.1': optional: true - '@rollup/rollup-openbsd-x64@4.59.0': + '@rollup/rollup-openbsd-x64@4.60.1': optional: true - '@rollup/rollup-openharmony-arm64@4.59.0': + '@rollup/rollup-openharmony-arm64@4.60.1': optional: true - '@rollup/rollup-win32-arm64-msvc@4.59.0': + '@rollup/rollup-win32-arm64-msvc@4.60.1': optional: true - '@rollup/rollup-win32-ia32-msvc@4.59.0': + '@rollup/rollup-win32-ia32-msvc@4.60.1': optional: true - '@rollup/rollup-win32-x64-gnu@4.59.0': + '@rollup/rollup-win32-x64-gnu@4.60.1': optional: true - '@rollup/rollup-win32-x64-msvc@4.59.0': + '@rollup/rollup-win32-x64-msvc@4.60.1': optional: true '@rushstack/eslint-patch@1.16.1': {} @@ -8149,13 +8154,13 @@ snapshots: react: 19.2.4 react-dom: 19.2.4(react@19.2.4) - '@storybook/builder-vite@8.6.18(storybook@8.6.18(prettier@3.8.1))(vite@6.4.1(@types/node@25.5.0)(jiti@1.21.7)(sass@1.97.3)(terser@5.46.1))': + '@storybook/builder-vite@8.6.18(storybook@8.6.18(prettier@3.8.1))(vite@6.4.2(@types/node@25.5.0)(jiti@1.21.7)(sass@1.97.3)(terser@5.46.1))': dependencies: '@storybook/csf-plugin': 8.6.18(storybook@8.6.18(prettier@3.8.1)) browser-assert: 1.2.1 storybook: 8.6.18(prettier@3.8.1) ts-dedent: 2.2.0 - vite: 6.4.1(@types/node@25.5.0)(jiti@1.21.7)(sass@1.97.3)(terser@5.46.1) + vite: 6.4.2(@types/node@25.5.0)(jiti@1.21.7)(sass@1.97.3)(terser@5.46.1) '@storybook/components@8.6.18(storybook@8.6.18(prettier@3.8.1))': dependencies: @@ -8222,15 +8227,15 @@ snapshots: dependencies: storybook: 8.6.18(prettier@3.8.1) - '@storybook/vue3-vite@8.6.18(storybook@8.6.18(prettier@3.8.1))(vite@6.4.1(@types/node@25.5.0)(jiti@1.21.7)(sass@1.97.3)(terser@5.46.1))(vue@3.5.29(typescript@5.9.3))': + '@storybook/vue3-vite@8.6.18(storybook@8.6.18(prettier@3.8.1))(vite@6.4.2(@types/node@25.5.0)(jiti@1.21.7)(sass@1.97.3)(terser@5.46.1))(vue@3.5.29(typescript@5.9.3))': dependencies: - '@storybook/builder-vite': 8.6.18(storybook@8.6.18(prettier@3.8.1))(vite@6.4.1(@types/node@25.5.0)(jiti@1.21.7)(sass@1.97.3)(terser@5.46.1)) + '@storybook/builder-vite': 8.6.18(storybook@8.6.18(prettier@3.8.1))(vite@6.4.2(@types/node@25.5.0)(jiti@1.21.7)(sass@1.97.3)(terser@5.46.1)) '@storybook/vue3': 8.6.18(storybook@8.6.18(prettier@3.8.1))(vue@3.5.29(typescript@5.9.3)) find-package-json: 1.2.0 magic-string: 0.30.21 storybook: 8.6.18(prettier@3.8.1) typescript: 5.9.3 - vite: 6.4.1(@types/node@25.5.0)(jiti@1.21.7)(sass@1.97.3)(terser@5.46.1) + vite: 6.4.2(@types/node@25.5.0)(jiti@1.21.7)(sass@1.97.3)(terser@5.46.1) vue-component-meta: 2.2.12(typescript@5.9.3) vue-docgen-api: 4.79.2(vue@3.5.29(typescript@5.9.3)) transitivePeerDependencies: @@ -8333,9 +8338,9 @@ snapshots: dependencies: '@types/node': 25.5.0 - '@vitejs/plugin-vue@5.2.4(vite@6.4.1(@types/node@25.5.0)(jiti@1.21.7)(sass@1.97.3)(terser@5.46.1))(vue@3.5.29(typescript@5.9.3))': + '@vitejs/plugin-vue@5.2.4(vite@6.4.2(@types/node@25.5.0)(jiti@1.21.7)(sass@1.97.3)(terser@5.46.1))(vue@3.5.29(typescript@5.9.3))': dependencies: - vite: 6.4.1(@types/node@25.5.0)(jiti@1.21.7)(sass@1.97.3)(terser@5.46.1) + vite: 6.4.2(@types/node@25.5.0)(jiti@1.21.7)(sass@1.97.3)(terser@5.46.1) vue: 3.5.29(typescript@5.9.3) '@vitest/expect@3.2.4': @@ -8346,13 +8351,13 @@ snapshots: chai: 5.3.3 tinyrainbow: 2.0.0 - '@vitest/mocker@3.2.4(vite@6.4.1(@types/node@25.5.0)(jiti@1.21.7)(sass@1.97.3)(terser@5.46.1))': + '@vitest/mocker@3.2.4(vite@6.4.2(@types/node@25.5.0)(jiti@1.21.7)(sass@1.97.3)(terser@5.46.1))': dependencies: '@vitest/spy': 3.2.4 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 6.4.1(@types/node@25.5.0)(jiti@1.21.7)(sass@1.97.3)(terser@5.46.1) + vite: 6.4.2(@types/node@25.5.0)(jiti@1.21.7)(sass@1.97.3)(terser@5.46.1) '@vitest/pretty-format@3.2.4': dependencies: @@ -8412,10 +8417,10 @@ snapshots: estree-walker: 2.0.2 source-map-js: 1.2.1 - '@vue/compiler-core@3.5.31': + '@vue/compiler-core@3.5.32': dependencies: '@babel/parser': 7.29.2 - '@vue/shared': 3.5.31 + '@vue/shared': 3.5.32 entities: 7.0.1 estree-walker: 2.0.2 source-map-js: 1.2.1 @@ -8425,10 +8430,10 @@ snapshots: '@vue/compiler-core': 3.5.29 '@vue/shared': 3.5.29 - '@vue/compiler-dom@3.5.31': + '@vue/compiler-dom@3.5.32': dependencies: - '@vue/compiler-core': 3.5.31 - '@vue/shared': 3.5.31 + '@vue/compiler-core': 3.5.32 + '@vue/shared': 3.5.32 '@vue/compiler-sfc@3.5.29': dependencies: @@ -8442,16 +8447,16 @@ snapshots: postcss: 8.5.8 source-map-js: 1.2.1 - '@vue/compiler-sfc@3.5.31': + '@vue/compiler-sfc@3.5.32': dependencies: '@babel/parser': 7.29.2 - '@vue/compiler-core': 3.5.31 - '@vue/compiler-dom': 3.5.31 - '@vue/compiler-ssr': 3.5.31 - '@vue/shared': 3.5.31 + '@vue/compiler-core': 3.5.32 + '@vue/compiler-dom': 3.5.32 + '@vue/compiler-ssr': 3.5.32 + '@vue/shared': 3.5.32 estree-walker: 2.0.2 magic-string: 0.30.21 - postcss: 8.5.8 + postcss: 8.5.9 source-map-js: 1.2.1 '@vue/compiler-ssr@3.5.29': @@ -8459,10 +8464,10 @@ snapshots: '@vue/compiler-dom': 3.5.29 '@vue/shared': 3.5.29 - '@vue/compiler-ssr@3.5.31': + '@vue/compiler-ssr@3.5.32': dependencies: - '@vue/compiler-dom': 3.5.31 - '@vue/shared': 3.5.31 + '@vue/compiler-dom': 3.5.32 + '@vue/shared': 3.5.32 '@vue/compiler-vue2@2.7.16': dependencies: @@ -8515,25 +8520,25 @@ snapshots: alien-signals: 3.1.2 muggle-string: 0.4.1 path-browserify: 1.0.1 - picomatch: 4.0.3 + picomatch: 4.0.4 '@vue/reactivity@3.5.29': dependencies: '@vue/shared': 3.5.29 - '@vue/reactivity@3.5.31': + '@vue/reactivity@3.5.32': dependencies: - '@vue/shared': 3.5.31 + '@vue/shared': 3.5.32 '@vue/runtime-core@3.5.29': dependencies: '@vue/reactivity': 3.5.29 '@vue/shared': 3.5.29 - '@vue/runtime-core@3.5.31': + '@vue/runtime-core@3.5.32': dependencies: - '@vue/reactivity': 3.5.31 - '@vue/shared': 3.5.31 + '@vue/reactivity': 3.5.32 + '@vue/shared': 3.5.32 '@vue/runtime-dom@3.5.29': dependencies: @@ -8542,11 +8547,11 @@ snapshots: '@vue/shared': 3.5.29 csstype: 3.2.3 - '@vue/runtime-dom@3.5.31': + '@vue/runtime-dom@3.5.32': dependencies: - '@vue/reactivity': 3.5.31 - '@vue/runtime-core': 3.5.31 - '@vue/shared': 3.5.31 + '@vue/reactivity': 3.5.32 + '@vue/runtime-core': 3.5.32 + '@vue/shared': 3.5.32 csstype: 3.2.3 '@vue/server-renderer@3.5.29(vue@3.5.29(typescript@5.9.3))': @@ -8555,15 +8560,15 @@ snapshots: '@vue/shared': 3.5.29 vue: 3.5.29(typescript@5.9.3) - '@vue/server-renderer@3.5.31(vue@3.5.31(typescript@5.9.3))': + '@vue/server-renderer@3.5.32(vue@3.5.32(typescript@5.9.3))': dependencies: - '@vue/compiler-ssr': 3.5.31 - '@vue/shared': 3.5.31 - vue: 3.5.31(typescript@5.9.3) + '@vue/compiler-ssr': 3.5.32 + '@vue/shared': 3.5.32 + vue: 3.5.32(typescript@5.9.3) '@vue/shared@3.5.29': {} - '@vue/shared@3.5.31': {} + '@vue/shared@3.5.32': {} '@vueuse/core@10.11.1(vue@3.5.29(typescript@5.9.3))': dependencies: @@ -8575,12 +8580,12 @@ snapshots: - '@vue/composition-api' - vue - '@vueuse/core@10.11.1(vue@3.5.31(typescript@5.9.3))': + '@vueuse/core@10.11.1(vue@3.5.32(typescript@5.9.3))': dependencies: '@types/web-bluetooth': 0.0.20 '@vueuse/metadata': 10.11.1 - '@vueuse/shared': 10.11.1(vue@3.5.31(typescript@5.9.3)) - vue-demi: 0.14.10(vue@3.5.31(typescript@5.9.3)) + '@vueuse/shared': 10.11.1(vue@3.5.32(typescript@5.9.3)) + vue-demi: 0.14.10(vue@3.5.32(typescript@5.9.3)) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -8594,9 +8599,9 @@ snapshots: - '@vue/composition-api' - vue - '@vueuse/shared@10.11.1(vue@3.5.31(typescript@5.9.3))': + '@vueuse/shared@10.11.1(vue@3.5.32(typescript@5.9.3))': dependencies: - vue-demi: 0.14.10(vue@3.5.31(typescript@5.9.3)) + vue-demi: 0.14.10(vue@3.5.32(typescript@5.9.3)) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -8779,7 +8784,7 @@ snapshots: anymatch@3.1.3: dependencies: normalize-path: 3.0.0 - picomatch: 2.3.1 + picomatch: 2.3.2 arg@5.0.2: {} @@ -8844,23 +8849,23 @@ snapshots: dependencies: possible-typed-array-names: 1.1.0 - axios@1.13.6: + axios@1.15.0: dependencies: follow-redirects: 1.15.11 form-data: 4.0.5 - proxy-from-env: 1.1.0 + proxy-from-env: 2.1.0 transitivePeerDependencies: - debug azion-theme@1.18.3: {} - azion@1.20.21(@babel/core@7.29.0)(@fastly/js-compute@3.40.1(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1)(typescript@5.9.3)): + azion@1.20.21(@babel/core@7.29.0)(@fastly/js-compute@3.40.1(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(typescript@5.9.3)): dependencies: '@babel/plugin-proposal-optional-chaining-assign': 7.27.1(@babel/core@7.29.0) '@babel/preset-env': 7.29.0(@babel/core@7.29.0) '@babel/preset-typescript': 7.28.5(@babel/core@7.29.0) '@edge-runtime/primitives': 3.1.1 - '@fastly/http-compute-js': 1.1.5(@fastly/js-compute@3.40.1(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1)(typescript@5.9.3)) + '@fastly/http-compute-js': 1.1.5(@fastly/js-compute@3.40.1(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(typescript@5.9.3)) accepts: 1.3.8 ajv: 8.18.0 ajv-errors: 3.0.0(ajv@8.18.0) @@ -9672,34 +9677,34 @@ snapshots: '@esbuild/win32-ia32': 0.25.12 '@esbuild/win32-x64': 0.25.12 - esbuild@0.27.4: + esbuild@0.27.7: optionalDependencies: - '@esbuild/aix-ppc64': 0.27.4 - '@esbuild/android-arm': 0.27.4 - '@esbuild/android-arm64': 0.27.4 - '@esbuild/android-x64': 0.27.4 - '@esbuild/darwin-arm64': 0.27.4 - '@esbuild/darwin-x64': 0.27.4 - '@esbuild/freebsd-arm64': 0.27.4 - '@esbuild/freebsd-x64': 0.27.4 - '@esbuild/linux-arm': 0.27.4 - '@esbuild/linux-arm64': 0.27.4 - '@esbuild/linux-ia32': 0.27.4 - '@esbuild/linux-loong64': 0.27.4 - '@esbuild/linux-mips64el': 0.27.4 - '@esbuild/linux-ppc64': 0.27.4 - '@esbuild/linux-riscv64': 0.27.4 - '@esbuild/linux-s390x': 0.27.4 - '@esbuild/linux-x64': 0.27.4 - '@esbuild/netbsd-arm64': 0.27.4 - '@esbuild/netbsd-x64': 0.27.4 - '@esbuild/openbsd-arm64': 0.27.4 - '@esbuild/openbsd-x64': 0.27.4 - '@esbuild/openharmony-arm64': 0.27.4 - '@esbuild/sunos-x64': 0.27.4 - '@esbuild/win32-arm64': 0.27.4 - '@esbuild/win32-ia32': 0.27.4 - '@esbuild/win32-x64': 0.27.4 + '@esbuild/aix-ppc64': 0.27.7 + '@esbuild/android-arm': 0.27.7 + '@esbuild/android-arm64': 0.27.7 + '@esbuild/android-x64': 0.27.7 + '@esbuild/darwin-arm64': 0.27.7 + '@esbuild/darwin-x64': 0.27.7 + '@esbuild/freebsd-arm64': 0.27.7 + '@esbuild/freebsd-x64': 0.27.7 + '@esbuild/linux-arm': 0.27.7 + '@esbuild/linux-arm64': 0.27.7 + '@esbuild/linux-ia32': 0.27.7 + '@esbuild/linux-loong64': 0.27.7 + '@esbuild/linux-mips64el': 0.27.7 + '@esbuild/linux-ppc64': 0.27.7 + '@esbuild/linux-riscv64': 0.27.7 + '@esbuild/linux-s390x': 0.27.7 + '@esbuild/linux-x64': 0.27.7 + '@esbuild/netbsd-arm64': 0.27.7 + '@esbuild/netbsd-x64': 0.27.7 + '@esbuild/openbsd-arm64': 0.27.7 + '@esbuild/openbsd-x64': 0.27.7 + '@esbuild/openharmony-arm64': 0.27.7 + '@esbuild/sunos-x64': 0.27.7 + '@esbuild/win32-arm64': 0.27.7 + '@esbuild/win32-ia32': 0.27.7 + '@esbuild/win32-x64': 0.27.7 escalade@3.2.0: {} @@ -9964,9 +9969,9 @@ snapshots: dependencies: pend: 1.2.0 - fdir@6.5.0(picomatch@4.0.3): + fdir@6.5.0(picomatch@4.0.4): optionalDependencies: - picomatch: 4.0.3 + picomatch: 4.0.4 figures@2.0.0: dependencies: @@ -10764,7 +10769,7 @@ snapshots: micromatch@4.0.8: dependencies: braces: 3.0.3 - picomatch: 2.3.1 + picomatch: 2.3.2 miller-rabin@4.0.1: dependencies: @@ -10859,14 +10864,14 @@ snapshots: motion-utils@12.36.0: {} - motion-v@2.2.0(@vueuse/core@10.11.1(vue@3.5.31(typescript@5.9.3)))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(vue@3.5.31(typescript@5.9.3)): + motion-v@2.2.0(@vueuse/core@10.11.1(vue@3.5.32(typescript@5.9.3)))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(vue@3.5.32(typescript@5.9.3)): dependencies: - '@vueuse/core': 10.11.1(vue@3.5.31(typescript@5.9.3)) + '@vueuse/core': 10.11.1(vue@3.5.32(typescript@5.9.3)) framer-motion: 12.38.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) hey-listen: 1.0.8 motion-dom: 12.38.0 motion-utils: 12.36.0 - vue: 3.5.31(typescript@5.9.3) + vue: 3.5.32(typescript@5.9.3) transitivePeerDependencies: - '@emotion/is-prop-valid' - react @@ -11182,7 +11187,7 @@ snapshots: picocolors@1.1.1: {} - picomatch@2.3.1: {} + picomatch@2.3.2: {} picomatch@4.0.3: {} @@ -11268,6 +11273,12 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 + postcss@8.5.9: + dependencies: + nanoid: 3.3.11 + picocolors: 1.1.1 + source-map-js: 1.2.1 + prelude-ls@1.2.1: {} prettier-linter-helpers@1.0.1: @@ -11292,9 +11303,9 @@ snapshots: dependencies: vue: 3.5.29(typescript@5.9.3) - primevue@3.35.0(vue@3.5.31(typescript@5.9.3)): + primevue@3.35.0(vue@3.5.32(typescript@5.9.3)): dependencies: - vue: 3.5.31(typescript@5.9.3) + vue: 3.5.32(typescript@5.9.3) primevue@3.47.2(vue@3.5.29(typescript@5.9.3)): dependencies: @@ -11319,7 +11330,7 @@ snapshots: proto-list@1.2.4: {} - proxy-from-env@1.1.0: {} + proxy-from-env@2.1.0: {} public-encrypt@4.0.3: dependencies: @@ -11474,7 +11485,7 @@ snapshots: readdirp@3.6.0: dependencies: - picomatch: 2.3.1 + picomatch: 2.3.2 readdirp@4.1.2: {} @@ -11548,35 +11559,35 @@ snapshots: hash-base: 3.1.2 inherits: 2.0.4 - rollup@4.59.0: + rollup@4.60.1: dependencies: '@types/estree': 1.0.8 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.59.0 - '@rollup/rollup-android-arm64': 4.59.0 - '@rollup/rollup-darwin-arm64': 4.59.0 - '@rollup/rollup-darwin-x64': 4.59.0 - '@rollup/rollup-freebsd-arm64': 4.59.0 - '@rollup/rollup-freebsd-x64': 4.59.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.59.0 - '@rollup/rollup-linux-arm-musleabihf': 4.59.0 - '@rollup/rollup-linux-arm64-gnu': 4.59.0 - '@rollup/rollup-linux-arm64-musl': 4.59.0 - '@rollup/rollup-linux-loong64-gnu': 4.59.0 - '@rollup/rollup-linux-loong64-musl': 4.59.0 - '@rollup/rollup-linux-ppc64-gnu': 4.59.0 - '@rollup/rollup-linux-ppc64-musl': 4.59.0 - '@rollup/rollup-linux-riscv64-gnu': 4.59.0 - '@rollup/rollup-linux-riscv64-musl': 4.59.0 - '@rollup/rollup-linux-s390x-gnu': 4.59.0 - '@rollup/rollup-linux-x64-gnu': 4.59.0 - '@rollup/rollup-linux-x64-musl': 4.59.0 - '@rollup/rollup-openbsd-x64': 4.59.0 - '@rollup/rollup-openharmony-arm64': 4.59.0 - '@rollup/rollup-win32-arm64-msvc': 4.59.0 - '@rollup/rollup-win32-ia32-msvc': 4.59.0 - '@rollup/rollup-win32-x64-gnu': 4.59.0 - '@rollup/rollup-win32-x64-msvc': 4.59.0 + '@rollup/rollup-android-arm-eabi': 4.60.1 + '@rollup/rollup-android-arm64': 4.60.1 + '@rollup/rollup-darwin-arm64': 4.60.1 + '@rollup/rollup-darwin-x64': 4.60.1 + '@rollup/rollup-freebsd-arm64': 4.60.1 + '@rollup/rollup-freebsd-x64': 4.60.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.60.1 + '@rollup/rollup-linux-arm-musleabihf': 4.60.1 + '@rollup/rollup-linux-arm64-gnu': 4.60.1 + '@rollup/rollup-linux-arm64-musl': 4.60.1 + '@rollup/rollup-linux-loong64-gnu': 4.60.1 + '@rollup/rollup-linux-loong64-musl': 4.60.1 + '@rollup/rollup-linux-ppc64-gnu': 4.60.1 + '@rollup/rollup-linux-ppc64-musl': 4.60.1 + '@rollup/rollup-linux-riscv64-gnu': 4.60.1 + '@rollup/rollup-linux-riscv64-musl': 4.60.1 + '@rollup/rollup-linux-s390x-gnu': 4.60.1 + '@rollup/rollup-linux-x64-gnu': 4.60.1 + '@rollup/rollup-linux-x64-musl': 4.60.1 + '@rollup/rollup-openbsd-x64': 4.60.1 + '@rollup/rollup-openharmony-arm64': 4.60.1 + '@rollup/rollup-win32-arm64-msvc': 4.60.1 + '@rollup/rollup-win32-ia32-msvc': 4.60.1 + '@rollup/rollup-win32-x64-gnu': 4.60.1 + '@rollup/rollup-win32-x64-msvc': 4.60.1 fsevents: 2.3.3 rrweb-cssom@0.8.0: @@ -11818,7 +11829,7 @@ snapshots: '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.1) '@vitest/expect': 3.2.4 '@vitest/spy': 3.2.4 - esbuild: 0.27.4 + esbuild: 0.27.7 open: 10.2.0 recast: 0.23.11 semver: 7.7.4 @@ -12112,8 +12123,8 @@ snapshots: tinyglobby@0.2.15: dependencies: - fdir: 6.5.0(picomatch@4.0.3) - picomatch: 4.0.3 + fdir: 6.5.0(picomatch@4.0.4) + picomatch: 4.0.4 tinypool@1.1.1: {} @@ -12311,11 +12322,11 @@ snapshots: type-fest: 4.41.0 vue: 3.5.29(typescript@5.9.3) - vee-validate@4.15.1(vue@3.5.31(typescript@5.9.3)): + vee-validate@4.15.1(vue@3.5.32(typescript@5.9.3)): dependencies: '@vue/devtools-api': 7.7.9 type-fest: 4.41.0 - vue: 3.5.31(typescript@5.9.3) + vue: 3.5.32(typescript@5.9.3) vite-node@3.2.4(@types/node@25.5.0)(jiti@1.21.7)(sass@1.97.3)(terser@5.46.1): dependencies: @@ -12323,7 +12334,7 @@ snapshots: debug: 4.4.3 es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 6.4.1(@types/node@25.5.0)(jiti@1.21.7)(sass@1.97.3)(terser@5.46.1) + vite: 6.4.2(@types/node@25.5.0)(jiti@1.21.7)(sass@1.97.3)(terser@5.46.1) transitivePeerDependencies: - '@types/node' - jiti @@ -12338,13 +12349,13 @@ snapshots: - tsx - yaml - vite@6.4.1(@types/node@25.5.0)(jiti@1.21.7)(sass@1.97.3)(terser@5.46.1): + vite@6.4.2(@types/node@25.5.0)(jiti@1.21.7)(sass@1.97.3)(terser@5.46.1): dependencies: esbuild: 0.25.12 - fdir: 6.5.0(picomatch@4.0.3) - picomatch: 4.0.3 - postcss: 8.5.6 - rollup: 4.59.0 + fdir: 6.5.0(picomatch@4.0.4) + picomatch: 4.0.4 + postcss: 8.5.8 + rollup: 4.60.1 tinyglobby: 0.2.15 optionalDependencies: '@types/node': 25.5.0 @@ -12357,7 +12368,7 @@ snapshots: dependencies: '@types/chai': 5.2.3 '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(vite@6.4.1(@types/node@25.5.0)(jiti@1.21.7)(sass@1.97.3)(terser@5.46.1)) + '@vitest/mocker': 3.2.4(vite@6.4.2(@types/node@25.5.0)(jiti@1.21.7)(sass@1.97.3)(terser@5.46.1)) '@vitest/pretty-format': 3.2.4 '@vitest/runner': 3.2.4 '@vitest/snapshot': 3.2.4 @@ -12375,7 +12386,7 @@ snapshots: tinyglobby: 0.2.15 tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: 6.4.1(@types/node@25.5.0)(jiti@1.21.7)(sass@1.97.3)(terser@5.46.1) + vite: 6.4.2(@types/node@25.5.0)(jiti@1.21.7)(sass@1.97.3)(terser@5.46.1) vite-node: 3.2.4(@types/node@25.5.0)(jiti@1.21.7)(sass@1.97.3)(terser@5.46.1) why-is-node-running: 2.3.0 optionalDependencies: @@ -12419,9 +12430,9 @@ snapshots: dependencies: vue: 3.5.29(typescript@5.9.3) - vue-demi@0.14.10(vue@3.5.31(typescript@5.9.3)): + vue-demi@0.14.10(vue@3.5.32(typescript@5.9.3)): dependencies: - vue: 3.5.31(typescript@5.9.3) + vue: 3.5.32(typescript@5.9.3) vue-docgen-api@4.79.2(vue@3.5.29(typescript@5.9.3)): dependencies: @@ -12501,13 +12512,13 @@ snapshots: optionalDependencies: typescript: 5.9.3 - vue@3.5.31(typescript@5.9.3): + vue@3.5.32(typescript@5.9.3): dependencies: - '@vue/compiler-dom': 3.5.31 - '@vue/compiler-sfc': 3.5.31 - '@vue/runtime-dom': 3.5.31 - '@vue/server-renderer': 3.5.31(vue@3.5.31(typescript@5.9.3)) - '@vue/shared': 3.5.31 + '@vue/compiler-dom': 3.5.32 + '@vue/compiler-sfc': 3.5.32 + '@vue/runtime-dom': 3.5.32 + '@vue/server-renderer': 3.5.32(vue@3.5.32(typescript@5.9.3)) + '@vue/shared': 3.5.32 optionalDependencies: typescript: 5.9.3
{{ overline }}
{{ group.description }}
Content of Tab 1
Content of Tab 2
Content of Tab 3
This tab is enabled
This tab is disabled
+ {{ item.description }} +
- - {{ item.label }} - -
{{ subtitle }}
{{ feature.label }}
- - "{{ quote }}" - -
- "{{ quote }}" -
- {{ author }} -
- {{ role }} -
{{ source }}