@synopackageland/ui 0.25.4 → 0.25.6
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 +26 -0
- package/dist/cli.js +0 -0
- package/dist/grid/host/controller.d.ts +13 -1
- package/dist/grid.js +490 -482
- package/dist/index.js +3837 -3834
- package/dist/json-preview/preview.js +4960 -4957
- package/dist/reka-runtime.json +1 -1
- package/docs/adaptive-layout.md +2 -2
- package/docs/app-local-modal.md +13 -1
- package/docs/mobile-native.md +5 -2
- package/package.json +68 -61
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": "321dac978fd161de20e750583376cc4f0cedec34de3c41fcee23a5197d53709c",
|
|
7
7
|
"sourceHashes": {
|
|
8
8
|
"shared/useBodyScrollLock.js": "287bfb604318c4202769e4b5191896eaf0e52a952e1de898967cbe09467fcfda",
|
|
9
9
|
"DismissableLayer/DismissableLayer.js": "3c8d248f0a32e01f89ca1f6202b1bb691bf5d0e4012a92535e161c35e69cdc32",
|
package/docs/adaptive-layout.md
CHANGED
|
@@ -299,9 +299,9 @@ const { state, width } = useAsidePreference('studio.aside', 'editor', { state: '
|
|
|
299
299
|
| --- | --- | --- |
|
|
300
300
|
| 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
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
|
-
| 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
|
|
302
|
+
| 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
303
|
|
|
304
|
-
- 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` while the panel is expanded
|
|
304
|
+
- 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).
|
|
305
305
|
- Focus moves to the composer's first field on open (not on touch, `initial-focus` changes it) and back to the rail button or the phone button on collapse.
|
|
306
306
|
- Escape: docked and expanded leave it to the content (stop a reply). A floating panel with focus inside, or a sheet, collapses on Escape after any layer opened above it (a menu, a popover) has closed.
|
|
307
307
|
- No transition runs before the first paint has settled. The state needs no `transitionend`: only a floating panel's exit waits for one, with the `normal` token as its deadline, and a new state change or reduced motion ends it at once.
|
package/docs/app-local-modal.md
CHANGED
|
@@ -45,6 +45,14 @@ that reaches the background goes back to the panel) keep the background out of
|
|
|
45
45
|
reach; focus left on the background when a dialog skips autofocus is released,
|
|
46
46
|
as inert would.
|
|
47
47
|
|
|
48
|
+
AppLayout's phone overlays work the same way. The navigation drawer and the
|
|
49
|
+
aside's bottom sheet are local modal layers. The FAB speed dial is a trapped
|
|
50
|
+
focus scope over its own scrim: Tab loops in the dial and focus that reaches
|
|
51
|
+
the page comes back, although the dial is not a layer. While any of them is
|
|
52
|
+
open the page column (`[data-ui-layout-main]`) is `aria-hidden`, never
|
|
53
|
+
`inert`. Only an expanded aside, which leaves the page no width, makes the page
|
|
54
|
+
`inert`.
|
|
55
|
+
|
|
48
56
|
A host must provide an accessible window switch mechanism: a looping Tab
|
|
49
57
|
sequence inside a local dialog does not itself reach another app. There is no
|
|
50
58
|
claim of whole-document modality in app mode. VoiceOver/NVDA exposure and
|
|
@@ -163,7 +171,11 @@ Independent modality is the default.
|
|
|
163
171
|
module plus exact before/after hunks. `build/rekaPatch.ts` verifies the installed
|
|
164
172
|
version and all input hashes before the build; each hunk must match exactly
|
|
165
173
|
once. The Vite plugin loads patched modules in memory, never edits node_modules,
|
|
166
|
-
and is also used by Vitest
|
|
174
|
+
and is also used by Vitest and every dev server (Histoire, the gallery,
|
|
175
|
+
`tests/dsm-host`). The dependency optimizer would pre-bundle reka-ui without the
|
|
176
|
+
patch, so the plugin keeps reka-ui out of `optimizeDeps` in any config it is
|
|
177
|
+
in; `tests/dev-server-reka.test.ts` fails if a dev config or a script's dev
|
|
178
|
+
server goes without it. Any source/hash/hunk mismatch fails the build.
|
|
167
179
|
|
|
168
180
|
The body-scroll patch follows the U3 shared-lock candidate: save owned body
|
|
169
181
|
padding-right, margin-right, overflow, pointer-events and root scrollbar-width
|
package/docs/mobile-native.md
CHANGED
|
@@ -724,8 +724,11 @@ change: the same slot moves.
|
|
|
724
724
|
as labelled 48px pills over a scrim, staggered in. Focus moves to the first
|
|
725
725
|
and stays in the dial; Escape, Back, a press on the scrim or the FAB close
|
|
726
726
|
it and focus returns to the FAB. A pick runs the action and closes the dial;
|
|
727
|
-
an action that opens a menu closes it once the menu closes.
|
|
728
|
-
|
|
727
|
+
an action that opens a menu closes it once the menu closes. While it is
|
|
728
|
+
open the page behind is out of reach: the scrim takes presses, Tab loops in
|
|
729
|
+
the dial, focus that reaches the page comes back, and the page is
|
|
730
|
+
`aria-hidden` (not `inert`, which would restyle the whole page). Reduced
|
|
731
|
+
motion shows and hides it at once.
|
|
729
732
|
- Every pill is its icon and its text. An action with no text of its own (an
|
|
730
733
|
`IconButton` such as "More actions", an icon-only Button) shows its
|
|
731
734
|
accessible name, from `aria-label` or `title`; the pill sizes to it and a
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@synopackageland/ui",
|
|
3
|
-
"version": "0.25.
|
|
3
|
+
"version": "0.25.6",
|
|
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,64 +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
|
-
"peerDependencies": {
|
|
64
|
-
"vue": "^3.5.0"
|
|
65
|
-
},
|
|
66
|
-
"dependencies": {
|
|
67
|
-
"@floating-ui/dom": "1.8.0",
|
|
68
|
-
"@internationalized/date": "3.12.4",
|
|
69
|
-
"@json-render/core": "0.21.0",
|
|
70
|
-
"@json-render/vue": "0.21.0",
|
|
71
|
-
"@lucide/vue": "1.48.0",
|
|
72
|
-
"@tiptap/core": "3.32.1",
|
|
73
|
-
"@tiptap/extension-bubble-menu": "3.32.1",
|
|
74
|
-
"@tiptap/extension-mention": "3.32.1",
|
|
75
|
-
"@tiptap/extensions": "3.32.1",
|
|
76
|
-
"@tiptap/pm": "3.32.1",
|
|
77
|
-
"@tiptap/starter-kit": "3.32.1",
|
|
78
|
-
"@tiptap/suggestion": "3.32.1",
|
|
79
|
-
"@tiptap/vue-3": "3.32.1",
|
|
80
|
-
"zod": "^4.6.5"
|
|
81
|
-
},
|
|
82
|
-
"devDependencies": {
|
|
83
|
-
"@eslint/js": "10.0.1",
|
|
84
|
-
"@histoire/plugin-vue": "1.0.0-beta.1",
|
|
85
|
-
"@tailwindcss/vite": "4.3.3",
|
|
86
|
-
"@tanstack/vue-virtual": "3.13.39",
|
|
87
|
-
"@vitejs/plugin-vue": "6.0.9",
|
|
88
|
-
"@vue/test-utils": "2.5.1",
|
|
89
|
-
"@vueuse/core": "14.4.0",
|
|
90
|
-
"eslint": "10.11.0",
|
|
91
|
-
"eslint-plugin-vue": "10.11.1",
|
|
92
|
-
"flexsearch": "0.8.212",
|
|
93
|
-
"globals": "17.12.0",
|
|
94
|
-
"histoire": "1.0.0-beta.1",
|
|
95
|
-
"jsdom": "30.1.1",
|
|
96
|
-
"playwright": "1.58.2",
|
|
97
|
-
"reka-ui": "2.11.0",
|
|
98
|
-
"tailwindcss": "4.3.3",
|
|
99
|
-
"typescript": "5.9.3",
|
|
100
|
-
"typescript-eslint": "8.71.0",
|
|
101
|
-
"vite": "7.3.6",
|
|
102
|
-
"vite-plugin-dts": "5.1.1",
|
|
103
|
-
"vitest": "5.0.2",
|
|
104
|
-
"vscode-oniguruma": "2.0.1",
|
|
105
|
-
"vscode-textmate": "9.3.2",
|
|
106
|
-
"vue": "3.5.43",
|
|
107
|
-
"vue-eslint-parser": "10.4.1",
|
|
108
|
-
"vue-tsc": "3.3.11"
|
|
109
|
-
},
|
|
110
|
-
"engines": {
|
|
111
|
-
"node": ">=20"
|
|
112
|
-
},
|
|
113
|
-
"config": {
|
|
114
|
-
"bundledRuntime": {
|
|
115
|
-
"@tanstack/vue-virtual": "3.13.39",
|
|
116
|
-
"@vueuse/core": "14.4.0",
|
|
117
|
-
"reka-ui": "2.11.0"
|
|
118
|
-
}
|
|
119
|
-
},
|
|
120
|
-
"homepage": "https://www.varvis.me/docs/",
|
|
121
63
|
"scripts": {
|
|
122
64
|
"check:docs": "node --test scripts/check-doc-versions.test.mjs && node scripts/check-doc-versions.mjs",
|
|
123
65
|
"dev": "vite build --watch",
|
|
@@ -177,5 +119,70 @@
|
|
|
177
119
|
"check:layout": "node scripts/check-layout.mjs",
|
|
178
120
|
"release:smoke": "node scripts/release-smoke.mjs",
|
|
179
121
|
"check:browser-install": "playwright install chromium webkit"
|
|
180
|
-
}
|
|
181
|
-
|
|
122
|
+
},
|
|
123
|
+
"peerDependencies": {
|
|
124
|
+
"vue": "^3.5.0"
|
|
125
|
+
},
|
|
126
|
+
"dependencies": {
|
|
127
|
+
"@floating-ui/dom": "1.8.0",
|
|
128
|
+
"@internationalized/date": "3.12.4",
|
|
129
|
+
"@json-render/core": "0.21.0",
|
|
130
|
+
"@json-render/vue": "0.21.0",
|
|
131
|
+
"@lucide/vue": "1.48.0",
|
|
132
|
+
"@tiptap/core": "3.32.1",
|
|
133
|
+
"@tiptap/extension-bubble-menu": "3.32.1",
|
|
134
|
+
"@tiptap/extension-mention": "3.32.1",
|
|
135
|
+
"@tiptap/extensions": "3.32.1",
|
|
136
|
+
"@tiptap/pm": "3.32.1",
|
|
137
|
+
"@tiptap/starter-kit": "3.32.1",
|
|
138
|
+
"@tiptap/suggestion": "3.32.1",
|
|
139
|
+
"@tiptap/vue-3": "3.32.1",
|
|
140
|
+
"zod": "^4.6.5"
|
|
141
|
+
},
|
|
142
|
+
"devDependencies": {
|
|
143
|
+
"@eslint/js": "10.0.1",
|
|
144
|
+
"@histoire/plugin-vue": "1.0.0-beta.1",
|
|
145
|
+
"@tailwindcss/vite": "4.3.3",
|
|
146
|
+
"@tanstack/vue-virtual": "3.13.39",
|
|
147
|
+
"@vitejs/plugin-vue": "6.0.9",
|
|
148
|
+
"@vue/test-utils": "2.5.1",
|
|
149
|
+
"@vueuse/core": "14.4.0",
|
|
150
|
+
"eslint": "10.11.0",
|
|
151
|
+
"eslint-plugin-vue": "10.11.1",
|
|
152
|
+
"flexsearch": "0.8.212",
|
|
153
|
+
"globals": "17.12.0",
|
|
154
|
+
"histoire": "1.0.0-beta.1",
|
|
155
|
+
"jsdom": "30.1.1",
|
|
156
|
+
"playwright": "1.58.2",
|
|
157
|
+
"reka-ui": "2.11.0",
|
|
158
|
+
"tailwindcss": "4.3.3",
|
|
159
|
+
"typescript": "5.9.3",
|
|
160
|
+
"typescript-eslint": "8.71.0",
|
|
161
|
+
"vite": "7.3.6",
|
|
162
|
+
"vite-plugin-dts": "5.1.1",
|
|
163
|
+
"vitest": "5.0.2",
|
|
164
|
+
"vscode-oniguruma": "2.0.1",
|
|
165
|
+
"vscode-textmate": "9.3.2",
|
|
166
|
+
"vue": "3.5.43",
|
|
167
|
+
"vue-eslint-parser": "10.4.1",
|
|
168
|
+
"vue-tsc": "3.3.11"
|
|
169
|
+
},
|
|
170
|
+
"engines": {
|
|
171
|
+
"node": ">=20"
|
|
172
|
+
},
|
|
173
|
+
"packageManager": "pnpm@10.33.2",
|
|
174
|
+
"pnpm": {
|
|
175
|
+
"onlyBuiltDependencies": [
|
|
176
|
+
"esbuild",
|
|
177
|
+
"vue-demi"
|
|
178
|
+
]
|
|
179
|
+
},
|
|
180
|
+
"config": {
|
|
181
|
+
"bundledRuntime": {
|
|
182
|
+
"@tanstack/vue-virtual": "3.13.39",
|
|
183
|
+
"@vueuse/core": "14.4.0",
|
|
184
|
+
"reka-ui": "2.11.0"
|
|
185
|
+
}
|
|
186
|
+
},
|
|
187
|
+
"homepage": "https://www.varvis.me/docs/"
|
|
188
|
+
}
|