+
+
+
+
`
- })
+ }),
+ parameters: {
+ docs: {
+ controls: { disable: true },
+ description: { story: 'All severity variants stacked.' }
+ }
+ }
}
-export const WithoutAction = {
+/** @type {import('@storybook/vue3').StoryObj
} */
+export const Closable = {
args: {
- severity: 'info',
- title: 'Info message',
- description: 'A brief description of the message.',
- actionLabel: ''
+ closable: true
},
- render: (args) => ({
- components: { Message },
- setup() {
- return { args }
- },
- template: `
-
- `
- })
+ render: Template,
+ parameters: {
+ docs: {
+ description: { story: 'Closable message with a dismiss control on the trailing edge.' }
+ }
+ }
}
-export const CustomAction = {
- render: () => ({
- components: { Message },
- template: `
-
-
-
-
-
- `
- })
+/** @type {import('@storybook/vue3').StoryObj} */
+export const AutoDismiss = {
+ args: {
+ life: 5000,
+ actionLabel: ''
+ },
+ render: Template,
+ parameters: {
+ docs: {
+ description: {
+ story: 'Auto-dismisses after 5 seconds when `life` is greater than zero.'
+ }
+ }
+ }
}
diff --git a/packages/webkit/package.json b/packages/webkit/package.json
index cf751c635..fd3965e17 100644
--- a/packages/webkit/package.json
+++ b/packages/webkit/package.json
@@ -35,7 +35,8 @@
"primevue": "3.35.0",
"tailwind-merge": "^3.6.0",
"vee-validate": "^4.15.1",
- "vue-tsc": "^3.2.5"
+ "vue-tsc": "^3.2.5",
+ "@aziontech/theme": "^2.2.1"
},
"devDependencies": {
"@figma/code-connect": "^1.4.5",
@@ -112,7 +113,6 @@
"./divider": "./src/core/primevue/divider/divider.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",
"./paginator": "./src/core/primevue/paginator/paginator.vue",
"./progressbar": "./src/core/primevue/progressbar/progressbar.vue",
@@ -167,7 +167,7 @@
"./data/data-table-toolbar": "./src/components/data/data-table/data-table-toolbar.vue",
"./data/data-table-view-all-footer": "./src/components/data/data-table/data-table-view-all-footer.vue",
"./data/data-table-view-toggle": "./src/components/data/data-table/data-table-view-toggle.vue",
- "./feedback/message": "./src/components/feedback/message/message.vue",
+ "./message": "./src/components/feedback/message/message.vue",
"./feedback/status-indicator": "./src/components/feedback/status-indicator/status-indicator.vue",
"./inputs/input-text": "./src/components/inputs/input-text/input-text.vue",
"./inputs/box-grid-selection": "./src/components/inputs/box-grid-selection/box-grid-selection.vue",
diff --git a/packages/webkit/src/components/feedback/message/message.vue b/packages/webkit/src/components/feedback/message/message.vue
index 603cdfa4b..673583c3d 100644
--- a/packages/webkit/src/components/feedback/message/message.vue
+++ b/packages/webkit/src/components/feedback/message/message.vue
@@ -1,154 +1,211 @@
-
-
-
-
-
-
-
- {{ title }}
-
-
- {{ description }}
-
-
-
-
-
-
+
+
diff --git a/packages/webkit/src/components/feedback/message/presets/transitions.ts b/packages/webkit/src/components/feedback/message/presets/transitions.ts
new file mode 100644
index 000000000..adc6b7de8
--- /dev/null
+++ b/packages/webkit/src/components/feedback/message/presets/transitions.ts
@@ -0,0 +1,20 @@
+import { curve, duration } from '@aziontech/theme/animations'
+
+/**
+ * Message dismiss motion — values read only from `animate.js` (`duration`, `curve`).
+ * Applied via inline `transition` (Tailwind does not emit dynamic `duration-[…]` classes).
+ */
+export const messageDismissMotion = {
+ duration: duration['fast-02'],
+ curve: curve['productive-exit']
+} as const
+
+/** Defers unmount until the opacity exit finishes. */
+export const MESSAGE_DISMISS_MS = Number.parseInt(messageDismissMotion.duration, 10)
+
+/** Inline transition for dismiss (opacity fade-out). */
+export const getMessageDismissTransitionStyle = (): { transition: string } => ({
+ transition: `opacity ${messageDismissMotion.duration} ${messageDismissMotion.curve}`
+})
+
+export const messageDismissTransitionClasses = ['motion-reduce:transition-none'] as const
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
index 6690e2392..773b8ab4c 100644
--- a/pnpm-workspace.yaml
+++ b/pnpm-workspace.yaml
@@ -2,6 +2,14 @@ packages:
- "apps/*"
- "packages/*"
+allowBuilds:
+ '@parcel/watcher': set this to true or false
+ es5-ext: set this to true or false
+ esbuild: set this to true or false
+ ttf2woff2: set this to true or false
+ unrs-resolver: set this to true or false
+ vue-demi: set this to true or false
+
overrides:
handlebars: ">=4.7.9"
tar: ">=7.5.11"