@synopackageland/ui 0.20.15 → 0.20.17

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.
@@ -171,6 +171,27 @@ own) keeps scrolling. An App that puts small controls flush with the edge of
171
171
  its own scroller, outside a `PageContent`, clips that content sideways the
172
172
  same way.
173
173
 
174
+ A control at the end edge of its own component is the component's job, not
175
+ the page's: a dismissible Callout is often full width in an App's own
176
+ scroller with no `PageContent` around it. Such a control sets
177
+ `--ui-hit-end-room` on itself to the room between it and the component's
178
+ end edge, and its box stops there and grows towards its start side instead,
179
+ still the full minimum:
180
+
181
+ ```css
182
+ inset-inline-end: max(min(0px, calc((100% - var(--ui-hit-min)) / 2)), calc(-1 * var(--ui-hit-end-room, var(--ui-hit-min))));
183
+ inset-inline-start: calc(min(0px, 100% - var(--ui-hit-min)) - <inset-inline-end>);
184
+ ```
185
+
186
+ The Callout close button (6px; 0 for an inline Callout), a Tag's remove
187
+ button, the SearchField clear button, the password reveal button, the
188
+ PathDisplay copy button and the Notification close button set it. A
189
+ component's own smaller slop stops at its end edge too: on the last
190
+ FileThumbs and RichTextEditor thumbnail and remove badge (the last box is
191
+ narrower; a row's last item has no neighbour to share room with), and on the
192
+ InputSteppers presets button (shifted towards the text, same size). Unset,
193
+ the box grows evenly as above.
194
+
174
195
  `check:mobile` exempts a link set in a sentence (inline, with text beside it
175
196
  in the same parent): WCAG 2.5.8 lets the line of text decide its size. A link
176
197
  alone on its line still needs 44px.
@@ -8,7 +8,7 @@ checks through the optional build-isolation wrapper.
8
8
 
9
9
  | Entry point | Default | Explicit full |
10
10
  | --- | --- | --- |
11
- | `npm run gates`, `scripts/gates.mjs` | Internal-content checks, build, lint, typecheck, unit tests, notices, isolated pack and tarball content audit | Adds Chromium installation, responsive/adaptive/date-picker/JSON/host/switch/layout/InfoTip/motion browser checks, Histoire build, exact-tarball registry consumer smoke |
11
+ | `npm run gates`, `scripts/gates.mjs` | Internal-content checks, build, lint, typecheck, unit tests, notices, isolated pack and tarball content audit | Adds Chromium installation, responsive/adaptive/date-picker/JSON/host/switch/layout/InfoTip/motion/focus-restore browser checks, Histoire build, exact-tarball registry consumer smoke |
12
12
  | `pnpm check`, `check:fast` | Basic, with optional Docker host build isolation | `SPL_FULL_GATE=1` selects the same full plan |
13
13
  | `fast-ci.yml`, composite verify action | Basic | No automatic extended checks |
14
14
  | Disabled CI/release workflow templates | Basic, version/tag/ancestry checks, stage, pack and actual archive audit | No implicit browser or registry consumer smoke |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@synopackageland/ui",
3
- "version": "0.20.15",
3
+ "version": "0.20.17",
4
4
  "description": "Shared Vue 3 UI component library with a DSM 7 inspired application theme",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -79,6 +79,34 @@
79
79
  "@tiptap/vue-3": "3.32.1",
80
80
  "zod": "^4.6.5"
81
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
+ },
82
110
  "engines": {
83
111
  "node": ">=20"
84
112
  },
@@ -89,5 +117,60 @@
89
117
  "reka-ui": "2.11.0"
90
118
  }
91
119
  },
92
- "homepage": "https://www.varvis.me/docs/"
93
- }
120
+ "homepage": "https://www.varvis.me/docs/",
121
+ "scripts": {
122
+ "check:docs": "node --test scripts/check-doc-versions.test.mjs && node scripts/check-doc-versions.mjs",
123
+ "dev": "vite build --watch",
124
+ "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",
125
+ "lint": "eslint .",
126
+ "typecheck": "vue-tsc --noEmit -p tsconfig.json",
127
+ "test": "vitest run",
128
+ "test:watch": "vitest",
129
+ "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}",
130
+ "story": "histoire dev",
131
+ "story:build": "histoire build",
132
+ "check:host": "node scripts/dsm-host-shots.mjs",
133
+ "check:switch": "node scripts/check-switch.mjs",
134
+ "check:tabs": "node scripts/check-tabs.mjs",
135
+ "check:mobile": "node scripts/check-mobile-overflow.mjs",
136
+ "check:ui-patch": "node scripts/check-ui-patch.mjs",
137
+ "check:narrow": "node scripts/check-narrow-controls.mjs",
138
+ "check:drawer-form": "node scripts/check-drawer-form.mjs",
139
+ "check:responsive": "node scripts/check-responsive.mjs",
140
+ "check:adaptive": "node scripts/check-adaptive.mjs",
141
+ "check:sidebar-focus": "node scripts/check-sidebar-focus.mjs",
142
+ "check:json-render": "node scripts/check-json-render.mjs",
143
+ "check:motion": "node scripts/check-motion.mjs",
144
+ "check:topology": "node scripts/check-topology.mjs",
145
+ "check:wizard": "node scripts/check-wizard.mjs",
146
+ "check:edges": "node scripts/check-edges.mjs",
147
+ "check:data-grid": "node scripts/check-data-grid.mjs",
148
+ "check:truncation": "node scripts/check-truncation.mjs",
149
+ "check:link": "node scripts/check-link.mjs",
150
+ "check:text-select": "node scripts/check-text-select.mjs",
151
+ "check:date-picker": "node scripts/check-date-picker.mjs",
152
+ "check:full-page": "node scripts/check-full-page.mjs",
153
+ "check:short-viewport": "node scripts/check-short-viewport.mjs",
154
+ "check:focus-restore": "node scripts/check-focus-restore.mjs",
155
+ "check:detail-surface": "node scripts/check-detail-surface.mjs",
156
+ "check:internal": "node --test scripts/check-internal-content.test.mjs scripts/check-npm-metadata.test.mjs && node scripts/check-internal-content.mjs --repo .",
157
+ "check:npm-metadata": "node scripts/check-npm-metadata.mjs",
158
+ "check:package": "node scripts/check-package-content.mjs",
159
+ "check:public-api-consumer": "node scripts/check-public-api-consumer.mjs",
160
+ "notices:update": "node scripts/third-party-notices.mjs --write",
161
+ "notices:check": "node scripts/third-party-notices.mjs --check",
162
+ "check": "bash scripts/docker-check.sh \"npm run gates\"",
163
+ "check:fast": "bash scripts/docker-check.sh \"npm run gates\"",
164
+ "check:local-browser": "node scripts/app-local-browser.mjs",
165
+ "check:infotip": "node scripts/check-infotip.mjs",
166
+ "release:stage": "node scripts/stage-release.mjs",
167
+ "check:polish": "bash scripts/docker-check.sh --build --out .polish-shots 'node scripts/check-polish.mjs'",
168
+ "check:acceptance": "node scripts/check-acceptance.mjs",
169
+ "check:palette": "node scripts/check-palette.mjs",
170
+ "gates": "node scripts/gates.mjs",
171
+ "gates:full": "node scripts/gates.mjs --full",
172
+ "check:layout": "node scripts/check-layout.mjs",
173
+ "release:smoke": "node scripts/release-smoke.mjs",
174
+ "check:browser-install": "playwright install chromium"
175
+ }
176
+ }