@synopackageland/ui 0.25.8 → 0.25.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,7 +3,7 @@
3
3
  "version": "2.11.0",
4
4
  "delivery": "bundled-patched-esm",
5
5
  "patchManifestSha256": "9c5b9c9a162fa584b4695a683368a4484b3ac6e70177fd063b77aa618c051627",
6
- "bundleSha256": "63a1a4d299257f486af228a4e2ab56a5f9d9feb154d7ffbe39e5dfefaab57566",
6
+ "bundleSha256": "2e3d41f184f0306717424b388ad533fb4abf8f5cb635f83cab2b184c7b876021",
7
7
  "sourceHashes": {
8
8
  "shared/useBodyScrollLock.js": "287bfb604318c4202769e4b5191896eaf0e52a952e1de898967cbe09467fcfda",
9
9
  "DismissableLayer/DismissableLayer.js": "3c8d248f0a32e01f89ca1f6202b1bb691bf5d0e4012a92535e161c35e69cdc32",
@@ -263,6 +263,7 @@ layout only sizes and moves the region). `v-model:aside` is its state:
263
263
  | `collapsed` (default) | the 48px rail | takes the rest |
264
264
  | `open` | `v-model:aside-width` (380, 320–560; the handle on its start edge, Arrow keys, Home and End) | takes the rest |
265
265
  | `open` that would leave the page under 480px, or outside `web` | the 48px rail; the panel floats over the page (`overlay`) | unchanged |
266
+ | `open` in a DSM window with `aside-dock="wide"`, at least 960px wide | as in `web`: `v-model:aside-width` with the handle, unless the page would be left under 480px beside the theme's sidebar | takes the rest |
266
267
  | `expanded` | the whole content area beside the sidebar | `inert`, kept mounted |
267
268
 
268
269
  On a phone the region has no width; its content places itself (a button and a
@@ -298,7 +299,7 @@ const { state, width } = useAsidePreference('studio.aside', 'editor', { state: '
298
299
  | Mode | When | Panel |
299
300
  | --- | --- | --- |
300
301
  | docked | `web`, the page keeps 480px | keeps `--ui-aside-open-width` and slides by `translate` while the region's width moves (`--ui-motion-panel`, ease-in-out both ways); the rail button fades in 150ms into a collapse |
301
- | floating | an open panel the page has no room for, or a 641–959 container | slides over the page from the rail (in `panel` ease-out, out `normal` ease-in); the region keeps its 48px |
302
+ | floating | an open panel the page has no room for, a 641–959 container, or a DSM window without `aside-dock="wide"` | slides over the page from the rail (in `panel` ease-out, out `normal` ease-in); the region keeps its 48px |
302
303
  | sheet | a phone (≤640) | a 48px button at the end corner (above the tab bar and the safe area) opens a 90% bottom sheet; `expanded` is full screen; the scrim, Escape and a downward swipe on the header close it; the page is `aria-hidden` and out of reach |
303
304
 
304
305
  - The panel is never unmounted: collapsed, it is `inert` and `aria-hidden`, and the thread's scroll and the composer's draft stay. The page is `inert` and `aria-hidden` while the panel is expanded (it has no width then). While a sheet is up the page is `aria-hidden` but not `inert`: the sheet keeps it out of reach as an app-local dialog does (docs/app-local-modal.md).
@@ -90,6 +90,11 @@ panels leave the app window the way DSM's own dialogs do:
90
90
 
91
91
  - The mask stays inside this root, so it covers only the owning window, as
92
92
  DSM masks only the window that owns a modal.
93
+ - A Dialog opened from a floating panel (a WizardDialog's "Discard
94
+ changes?", a confirm) keeps its mask inside this root too, not over the
95
+ desktop. The parent panel floats above the window, so it draws the same
96
+ mask over itself while the child is open, as DSM masks a modal window
97
+ under the message box it opens.
93
98
  - The panel renders in a host element after the nearest z-indexed ancestor of
94
99
  the root (the DSM window), at that ancestor's z-index. Other DSM windows
95
100
  above it also stack above the dialog. The host carries `data-ui-app`, so the
@@ -124,7 +129,10 @@ panels leave the app window the way DSM's own dialogs do:
124
129
  Use it only when the root is mounted in a DSM window. Standalone pages,
125
130
  Portal apps and previews keep the default, which keeps dialogs inside the
126
131
  app. Sheets keep the app bounds. A Sheet opened from a floating Dialog
127
- renders in the host, and its mask covers the viewport.
132
+ renders in the host, and its mask covers the viewport: its panel slides in
133
+ from the viewport's edge, above the floating Dialog. Below 600px or with a
134
+ coarse pointer, where the panels cover the viewport, a nested Dialog's mask
135
+ also covers the viewport.
128
136
 
129
137
  `Dialog` `width` (or `size`) is its maximum width. It narrows only when less
130
138
  width is available (`--ui-dialog-room`): the app root minus 24px in app mode,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@synopackageland/ui",
3
- "version": "0.25.8",
3
+ "version": "0.25.10",
4
4
  "description": "Shared Vue 3 UI component library with a DSM 7 inspired application theme",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -60,67 +60,6 @@
60
60
  "./themes/dsm7-embedded-reset.css": "./dist/themes/dsm7-embedded-reset.css",
61
61
  "./themes/dsm7-embedded-theme.css": "./dist/themes/dsm7-embedded-theme.css"
62
62
  },
63
- "scripts": {
64
- "check:docs": "node --test scripts/check-doc-versions.test.mjs && node scripts/check-doc-versions.mjs",
65
- "dev": "vite build --watch",
66
- "build": "vite build && vite build --mode json && vite build --mode rich-text && vite build --mode grid && vite build --mode cli && vite build --mode preview && vite build --mode embedded && node scripts/postbuild.mjs",
67
- "lint": "eslint .",
68
- "typecheck": "vue-tsc --noEmit -p tsconfig.json",
69
- "test": "vitest run",
70
- "test:watch": "vitest",
71
- "test:changed": "echo \"test:changed skips the tests the changes since ${SYNOPKGLAND_GATE_BASE:-origin/master} do not reach (vitest --changed); pnpm check runs them all\" && vitest run --changed ${SYNOPKGLAND_GATE_BASE:-origin/master}",
72
- "story": "histoire dev",
73
- "story:build": "histoire build",
74
- "check:host": "node scripts/dsm-host-shots.mjs",
75
- "check:switch": "node scripts/check-switch.mjs",
76
- "check:tabs": "node scripts/check-tabs.mjs",
77
- "check:mobile": "node scripts/check-mobile-overflow.mjs",
78
- "check:ui-patch": "node scripts/check-ui-patch.mjs",
79
- "check:narrow": "node scripts/check-narrow-controls.mjs",
80
- "check:drawer-form": "node scripts/check-drawer-form.mjs",
81
- "check:responsive": "node scripts/check-responsive.mjs",
82
- "check:adaptive": "node scripts/check-adaptive.mjs",
83
- "check:sidebar-focus": "node scripts/check-sidebar-focus.mjs",
84
- "check:json-render": "node scripts/check-json-render.mjs",
85
- "check:motion": "node scripts/check-motion.mjs",
86
- "check:topology": "node scripts/check-topology.mjs",
87
- "check:wizard": "node scripts/check-wizard.mjs",
88
- "check:press": "node scripts/check-press.mjs",
89
- "check:edges": "node scripts/check-edges.mjs",
90
- "check:data-grid": "node scripts/check-data-grid.mjs",
91
- "check:truncation": "node scripts/check-truncation.mjs",
92
- "check:link": "node scripts/check-link.mjs",
93
- "check:text-select": "node scripts/check-text-select.mjs",
94
- "check:date-picker": "node scripts/check-date-picker.mjs",
95
- "check:full-page": "node scripts/check-full-page.mjs",
96
- "check:short-viewport": "node scripts/check-short-viewport.mjs",
97
- "check:phone-layout": "node scripts/check-phone-layout.mjs",
98
- "check:phone-bars": "node scripts/check-phone-bars.mjs",
99
- "check:phone-fill": "node scripts/check-phone-fill.mjs",
100
- "check:text-zoom": "node scripts/check-text-zoom.mjs",
101
- "check:focus-restore": "node scripts/check-focus-restore.mjs",
102
- "check:detail-surface": "node scripts/check-detail-surface.mjs",
103
- "check:internal": "node --test scripts/check-internal-content.test.mjs scripts/check-npm-metadata.test.mjs && node scripts/check-internal-content.mjs --repo .",
104
- "check:npm-metadata": "node scripts/check-npm-metadata.mjs",
105
- "check:package": "node scripts/check-package-content.mjs",
106
- "trace:restyle": "node scripts/trace-restyle.mjs",
107
- "check:public-api-consumer": "node scripts/check-public-api-consumer.mjs",
108
- "notices:update": "node scripts/third-party-notices.mjs --write",
109
- "notices:check": "node scripts/third-party-notices.mjs --check",
110
- "check": "bash scripts/docker-check.sh \"npm run gates\"",
111
- "check:fast": "bash scripts/docker-check.sh \"npm run gates\"",
112
- "check:local-browser": "node scripts/app-local-browser.mjs",
113
- "check:infotip": "node scripts/check-infotip.mjs",
114
- "release:stage": "node scripts/stage-release.mjs",
115
- "check:polish": "bash scripts/docker-check.sh --build --out .polish-shots 'node scripts/check-polish.mjs'",
116
- "check:acceptance": "node scripts/check-acceptance.mjs",
117
- "check:palette": "node scripts/check-palette.mjs",
118
- "gates": "node scripts/gates.mjs",
119
- "gates:full": "node scripts/gates.mjs --full",
120
- "check:layout": "node scripts/check-layout.mjs",
121
- "release:smoke": "node scripts/release-smoke.mjs",
122
- "check:browser-install": "playwright install chromium webkit"
123
- },
124
63
  "peerDependencies": {
125
64
  "vue": "^3.5.0"
126
65
  },
@@ -140,44 +79,9 @@
140
79
  "@tiptap/vue-3": "3.32.1",
141
80
  "zod": "^4.6.5"
142
81
  },
143
- "devDependencies": {
144
- "@eslint/js": "10.0.1",
145
- "@histoire/plugin-vue": "1.0.0-beta.1",
146
- "@tailwindcss/vite": "4.3.3",
147
- "@tanstack/vue-virtual": "3.13.39",
148
- "@vitejs/plugin-vue": "6.0.9",
149
- "@vue/test-utils": "2.5.1",
150
- "@vueuse/core": "14.4.0",
151
- "eslint": "10.11.0",
152
- "eslint-plugin-vue": "10.11.1",
153
- "flexsearch": "0.8.212",
154
- "globals": "17.12.0",
155
- "histoire": "1.0.0-beta.1",
156
- "jsdom": "30.1.1",
157
- "playwright": "1.58.2",
158
- "reka-ui": "2.11.0",
159
- "tailwindcss": "4.3.3",
160
- "typescript": "5.9.3",
161
- "typescript-eslint": "8.71.0",
162
- "vite": "7.3.6",
163
- "vite-plugin-dts": "5.1.1",
164
- "vitest": "5.0.2",
165
- "vscode-oniguruma": "2.0.1",
166
- "vscode-textmate": "9.3.2",
167
- "vue": "3.5.43",
168
- "vue-eslint-parser": "10.4.1",
169
- "vue-tsc": "3.3.11"
170
- },
171
82
  "engines": {
172
83
  "node": ">=20"
173
84
  },
174
- "packageManager": "pnpm@10.33.2",
175
- "pnpm": {
176
- "onlyBuiltDependencies": [
177
- "esbuild",
178
- "vue-demi"
179
- ]
180
- },
181
85
  "config": {
182
86
  "bundledRuntime": {
183
87
  "@tanstack/vue-virtual": "3.13.39",