diff --git a/apps/stage-web/package.json b/apps/stage-web/package.json index 3b2a04d94..97cb4d67d 100644 --- a/apps/stage-web/package.json +++ b/apps/stage-web/package.json @@ -58,6 +58,7 @@ "gpuu": "^1.0.4", "jszip": "^3.10.1", "localforage": "^1.10.0", + "nanoid": "^5.1.5", "node-vibrant": "^4.0.3", "nprogress": "^0.2.0", "ofetch": "^1.4.1", diff --git a/apps/stage-web/src/App.vue b/apps/stage-web/src/App.vue index 84e1a2ca4..fc2ec40c1 100644 --- a/apps/stage-web/src/App.vue +++ b/apps/stage-web/src/App.vue @@ -1,5 +1,5 @@ diff --git a/packages/stage-ui/src/components/Widgets/Toasters/ToasterPWAUpdateReady.vue b/packages/stage-ui/src/components/Widgets/Toasters/ToasterPWAUpdateReady.vue index a440ad0da..a4ca67bda 100644 --- a/packages/stage-ui/src/components/Widgets/Toasters/ToasterPWAUpdateReady.vue +++ b/packages/stage-ui/src/components/Widgets/Toasters/ToasterPWAUpdateReady.vue @@ -1,13 +1,49 @@ diff --git a/packages/stage-ui/src/components/Widgets/Toasters/ToasterRoot.vue b/packages/stage-ui/src/components/Widgets/Toasters/ToasterRoot.vue new file mode 100644 index 000000000..02019213a --- /dev/null +++ b/packages/stage-ui/src/components/Widgets/Toasters/ToasterRoot.vue @@ -0,0 +1,23 @@ + + + + + diff --git a/packages/stage-ui/src/components/Widgets/Toasters/constants.ts b/packages/stage-ui/src/components/Widgets/Toasters/constants.ts new file mode 100644 index 000000000..7ab7db3ce --- /dev/null +++ b/packages/stage-ui/src/components/Widgets/Toasters/constants.ts @@ -0,0 +1,3 @@ +import type { InjectionKey } from 'vue' + +export const ToasterRootInjectionKey: InjectionKey<{ close: (id: string) => void }> = Symbol('ToasterRoot') diff --git a/packages/stage-ui/src/components/Widgets/Toasters/index.ts b/packages/stage-ui/src/components/Widgets/Toasters/index.ts index 6ea05d199..2bcff5ac3 100644 --- a/packages/stage-ui/src/components/Widgets/Toasters/index.ts +++ b/packages/stage-ui/src/components/Widgets/Toasters/index.ts @@ -1 +1,2 @@ export { default as ToasterPWAUpdateReady } from './ToasterPWAUpdateReady.vue' +export { default as ToasterRoot } from './ToasterRoot.vue' diff --git a/packages/stage-ui/vite.config.ts b/packages/stage-ui/vite.config.ts index 77d2e4422..1b8cf4912 100644 --- a/packages/stage-ui/vite.config.ts +++ b/packages/stage-ui/vite.config.ts @@ -1,19 +1,26 @@ -import { join } from 'node:path' +import { join, resolve } from 'node:path' import Vue from '@vitejs/plugin-vue' import Unocss from 'unocss/vite' +import Yaml from 'unplugin-yaml/vite' import Inspect from 'vite-plugin-inspect' import { defineConfig } from 'vite' // For Histoire export default defineConfig({ + resolve: { + alias: { + '@proj-airi/i18n': resolve(join(import.meta.dirname, '..', '..', 'packages', 'i18n', 'src')), + }, + }, server: { fs: { allow: [join('..', '..')], }, }, plugins: [ + Yaml(), Vue(), Unocss(), Inspect(), diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index eaaa59824..1ba8397db 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -694,6 +694,9 @@ importers: localforage: specifier: ^1.10.0 version: 1.10.0 + nanoid: + specifier: ^5.1.5 + version: 5.1.5 node-vibrant: specifier: ^4.0.3 version: 4.0.3(encoding@0.1.13) @@ -1138,6 +1141,9 @@ importers: localforage: specifier: ^1.10.0 version: 1.10.0 + nanoid: + specifier: ^5.1.5 + version: 5.1.5 pinia: specifier: ^3.0.3 version: 3.0.3(typescript@5.8.3)(vue@3.5.17(typescript@5.8.3)) @@ -1250,6 +1256,9 @@ importers: histoire: specifier: 1.0.0-alpha.2 version: 1.0.0-alpha.2(@types/node@24.0.10)(bufferutil@4.0.9)(less@4.3.0)(lightningcss@1.30.1)(terser@5.43.1)(utf-8-validate@5.0.10)(vite@6.3.5(@types/node@24.0.10)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + unplugin-yaml: + specifier: ^3.0.1 + version: 3.0.1(@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@4.44.2))(@nuxt/schema@3.14.1592(magicast@0.3.5)(rollup@4.44.2))(astro@5.10.1(@types/node@24.0.10)(encoding@0.1.13)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(rollup@4.44.2)(terser@5.43.1)(tsx@4.20.3)(typescript@5.8.3)(yaml@2.8.0))(esbuild@0.25.5)(rolldown@1.0.0-beta.20)(rollup@4.44.2)(vite@6.3.5(@types/node@24.0.10)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) vite: specifier: ^6.3.5 version: 6.3.5(@types/node@24.0.10)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) @@ -24488,6 +24497,20 @@ snapshots: rollup: 4.44.2 vite: rolldown-vite@6.3.21(@types/node@24.0.10)(esbuild@0.25.5)(jiti@2.4.2)(less@4.3.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + unplugin-yaml@3.0.1(@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@4.44.2))(@nuxt/schema@3.14.1592(magicast@0.3.5)(rollup@4.44.2))(astro@5.10.1(@types/node@24.0.10)(encoding@0.1.13)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(rollup@4.44.2)(terser@5.43.1)(tsx@4.20.3)(typescript@5.8.3)(yaml@2.8.0))(esbuild@0.25.5)(rolldown@1.0.0-beta.20)(rollup@4.44.2)(vite@6.3.5(@types/node@24.0.10)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): + dependencies: + '@rollup/pluginutils': 5.2.0(rollup@4.44.2) + unplugin: 2.3.5 + yaml: 2.8.0 + optionalDependencies: + '@nuxt/kit': 3.14.1592(magicast@0.3.5)(rollup@4.44.2) + '@nuxt/schema': 3.14.1592(magicast@0.3.5)(rollup@4.44.2) + astro: 5.10.1(@types/node@24.0.10)(encoding@0.1.13)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(rollup@4.44.2)(terser@5.43.1)(tsx@4.20.3)(typescript@5.8.3)(yaml@2.8.0) + esbuild: 0.25.5 + rolldown: 1.0.0-beta.20 + rollup: 4.44.2 + vite: 6.3.5(@types/node@24.0.10)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + unplugin-yaml@3.0.1(@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@4.44.2))(@nuxt/schema@3.14.1592(magicast@0.3.5)(rollup@4.44.2))(astro@5.10.1(@types/node@24.0.10)(encoding@0.1.13)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(rollup@4.44.2)(terser@5.43.1)(tsx@4.20.3)(typescript@5.8.3)(yaml@2.8.0))(esbuild@0.25.5)(rolldown@1.0.0-beta.20)(rollup@4.44.2)(vite@7.0.2(@types/node@24.0.10)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)): dependencies: '@rollup/pluginutils': 5.2.0(rollup@4.44.2)