@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.
- package/CHANGELOG.md +23 -0
- package/dist/components/app/app-layout/AppLayout.vue.d.ts +8 -0
- package/dist/components/primitives/dialog/dialogCover.d.ts +10 -0
- package/dist/composables/floatingHost.d.ts +8 -1
- package/dist/grid.js +1 -1
- package/dist/index.js +10057 -10006
- package/dist/json-preview/preview.js +8849 -8798
- package/dist/reka-runtime.json +1 -1
- package/docs/adaptive-layout.md +2 -1
- package/docs/app-local-modal.md +9 -1
- package/package.json +1 -97
package/dist/reka-runtime.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"version": "2.11.0",
|
|
4
4
|
"delivery": "bundled-patched-esm",
|
|
5
5
|
"patchManifestSha256": "9c5b9c9a162fa584b4695a683368a4484b3ac6e70177fd063b77aa618c051627",
|
|
6
|
-
"bundleSha256": "
|
|
6
|
+
"bundleSha256": "2e3d41f184f0306717424b388ad533fb4abf8f5cb635f83cab2b184c7b876021",
|
|
7
7
|
"sourceHashes": {
|
|
8
8
|
"shared/useBodyScrollLock.js": "287bfb604318c4202769e4b5191896eaf0e52a952e1de898967cbe09467fcfda",
|
|
9
9
|
"DismissableLayer/DismissableLayer.js": "3c8d248f0a32e01f89ca1f6202b1bb691bf5d0e4012a92535e161c35e69cdc32",
|
package/docs/adaptive-layout.md
CHANGED
|
@@ -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,
|
|
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).
|
package/docs/app-local-modal.md
CHANGED
|
@@ -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.
|
|
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",
|