@synopackageland/ui 0.19.0 → 0.19.2

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.
@@ -198,6 +198,27 @@ ancestor:
198
198
  </AppRoot>
199
199
  ```
200
200
 
201
+ ## Hover hit areas
202
+
203
+ Hover never moves or resizes the element under the pointer, and the room
204
+ between two neighbouring rows of a list is never a dead strip. Otherwise a
205
+ pointer resting on the edge is inside, outside, inside again: the hover wash and
206
+ the hand cursor blink.
207
+
208
+ - Rows of a list carry `data-ui-hit-row` (stacked: `AppSidebar` pages, branches
209
+ and group toggles) or `data-ui-hit-row="inline"` (side by side: top
210
+ navigation, `Tabs`, `SegmentControl`). Each row's hit area reaches forward over
211
+ the next `--ui-hit-row-slop` (default `6px`) through an invisible `::after`, so
212
+ a margin or gap a theme puts between rows stays visible but clickable. The next
213
+ row is drawn after it, so the slop never takes a pixel from it. Put the
214
+ attribute on your own rows of a list to get the same; do not give those rows
215
+ another `::after`.
216
+ - A theme or App hovers with colour, shadow or outline. To lift or grow
217
+ something, move an inner layer (`.card:hover .icon { transform: … }`), or add
218
+ a `:hover::after` strip that covers the spot the element leaves.
219
+ `tests/hover-geometry.test.ts` fails on a `:hover` rule (or Tailwind
220
+ `hover:` utility) that moves or resizes the hovered element itself.
221
+
201
222
  ## Example: a dark top bar
202
223
 
203
224
  ```css
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@synopackageland/ui",
3
- "version": "0.19.0",
3
+ "version": "0.19.2",
4
4
  "description": "Shared Vue 3 UI component library with a DSM 7 inspired application theme",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -52,49 +52,6 @@
52
52
  "./themes/dsm7-embedded-reset.css": "./dist/themes/dsm7-embedded-reset.css",
53
53
  "./themes/dsm7-embedded-theme.css": "./dist/themes/dsm7-embedded-theme.css"
54
54
  },
55
- "scripts": {
56
- "dev": "vite build --watch",
57
- "build": "vite build && vite build --mode json && vite build --mode rich-text && vite build --mode cli && vite build --mode preview && vite build --mode embedded && node scripts/postbuild.mjs",
58
- "lint": "eslint .",
59
- "typecheck": "vue-tsc --noEmit -p tsconfig.json",
60
- "test": "vitest run",
61
- "test:watch": "vitest",
62
- "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}",
63
- "story": "histoire dev",
64
- "story:build": "histoire build",
65
- "check:host": "node scripts/dsm-host-shots.mjs",
66
- "check:switch": "node scripts/check-switch.mjs",
67
- "check:tabs": "node scripts/check-tabs.mjs",
68
- "check:narrow": "node scripts/check-narrow-controls.mjs",
69
- "check:drawer-form": "node scripts/check-drawer-form.mjs",
70
- "check:responsive": "node scripts/check-responsive.mjs",
71
- "check:adaptive": "node scripts/check-adaptive.mjs",
72
- "check:sidebar-focus": "node scripts/check-sidebar-focus.mjs",
73
- "check:json-render": "node scripts/check-json-render.mjs",
74
- "check:motion": "node scripts/check-motion.mjs",
75
- "check:topology": "node scripts/check-topology.mjs",
76
- "check:wizard": "node scripts/check-wizard.mjs",
77
- "check:edges": "node scripts/check-edges.mjs",
78
- "check:data-grid": "node scripts/check-data-grid.mjs",
79
- "check:truncation": "node scripts/check-truncation.mjs",
80
- "check:link": "node scripts/check-link.mjs",
81
- "check:text-select": "node scripts/check-text-select.mjs",
82
- "check:date-picker": "node scripts/check-date-picker.mjs",
83
- "check:full-page": "node scripts/check-full-page.mjs",
84
- "check:internal": "node --test scripts/check-internal-content.test.mjs scripts/check-npm-metadata.test.mjs && node scripts/check-internal-content.mjs --repo .",
85
- "check:npm-metadata": "node scripts/check-npm-metadata.mjs",
86
- "check:package": "node scripts/check-package-content.mjs",
87
- "notices:update": "node scripts/third-party-notices.mjs --write",
88
- "notices:check": "node scripts/third-party-notices.mjs --check",
89
- "check": "bash scripts/docker-check.sh 'pnpm check:internal && pnpm build && node scripts/run-parallel.mjs lint typecheck test && pnpm check:package'",
90
- "check:fast": "bash scripts/docker-check.sh 'pnpm check:internal && pnpm build && node scripts/run-parallel.mjs lint typecheck test:changed && pnpm check:package'",
91
- "check:local-browser": "node scripts/app-local-browser.mjs",
92
- "check:infotip": "node scripts/check-infotip.mjs",
93
- "release:stage": "node scripts/stage-release.mjs",
94
- "check:polish": "bash scripts/docker-check.sh --build --out .polish-shots 'node scripts/check-polish.mjs'",
95
- "check:acceptance": "node scripts/check-acceptance.mjs",
96
- "check:palette": "node scripts/check-palette.mjs"
97
- },
98
55
  "peerDependencies": {
99
56
  "vue": "^3.5.0"
100
57
  },
@@ -114,42 +71,9 @@
114
71
  "@tiptap/vue-3": "3.32.1",
115
72
  "zod": "^4.6.5"
116
73
  },
117
- "devDependencies": {
118
- "@eslint/js": "10.0.1",
119
- "@histoire/plugin-vue": "1.0.0-beta.1",
120
- "@tailwindcss/vite": "4.3.3",
121
- "@vitejs/plugin-vue": "6.0.9",
122
- "@vue/test-utils": "2.5.1",
123
- "eslint": "10.11.0",
124
- "eslint-plugin-vue": "10.11.1",
125
- "flexsearch": "0.8.212",
126
- "globals": "17.12.0",
127
- "histoire": "1.0.0-beta.1",
128
- "jsdom": "30.1.1",
129
- "playwright": "1.58.2",
130
- "reka-ui": "2.10.5",
131
- "tailwindcss": "4.3.3",
132
- "typescript": "5.9.3",
133
- "typescript-eslint": "8.71.0",
134
- "vite": "7.3.6",
135
- "vite-plugin-dts": "5.1.1",
136
- "vitest": "5.0.2",
137
- "vscode-oniguruma": "2.0.1",
138
- "vscode-textmate": "9.3.2",
139
- "vue": "3.5.43",
140
- "vue-eslint-parser": "10.4.1",
141
- "vue-tsc": "3.3.11"
142
- },
143
74
  "engines": {
144
75
  "node": ">=20"
145
76
  },
146
- "packageManager": "pnpm@10.33.2",
147
- "pnpm": {
148
- "onlyBuiltDependencies": [
149
- "esbuild",
150
- "vue-demi"
151
- ]
152
- },
153
77
  "config": {
154
78
  "bundledRuntime": {
155
79
  "reka-ui": "2.10.5"