@kungal/ui-tokens 1.6.1 → 1.6.3

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.
Files changed (2) hide show
  1. package/CHANGELOG.md +343 -0
  2. package/package.json +2 -1
package/CHANGELOG.md ADDED
@@ -0,0 +1,343 @@
1
+ # @kungal/ui-tokens
2
+
3
+ ## 1.6.3
4
+
5
+ ## 1.6.2
6
+
7
+ ### Patch Changes
8
+
9
+ - 05f2bee: chore: ship CHANGELOG.md in the published packages
10
+
11
+ `CHANGELOG.md` is now included in each package's npm tarball (added to `files`),
12
+ so downstream can read the per-version changes straight from the npm package
13
+ page — not only from the GitHub repo. (Releases also now appear on GitHub
14
+ Releases and the docs site's auto-generated /changelog page.)
15
+
16
+ ## 1.6.1
17
+
18
+ ## 1.6.0
19
+
20
+ ## 1.5.0
21
+
22
+ ## 1.4.2
23
+
24
+ ## 1.4.1
25
+
26
+ ## 1.4.0
27
+
28
+ ## 1.3.0
29
+
30
+ ## 1.2.0
31
+
32
+ ## 1.1.1
33
+
34
+ ## 1.1.0
35
+
36
+ ## 1.0.0
37
+
38
+ ### Major Changes
39
+
40
+ - ac0bd4e: 1.0.0 — first stable release.
41
+
42
+ The component set (57 Vue components) and the design-token system are stable and
43
+ documented. Over the 0.14 → 0.22 line every cross-cutting surface was routed
44
+ through a single source of truth: borders (`--color-kun-border` / `border-kun`),
45
+ focus rings (`kunFocusRingClasses`), corner radius (`rounded-kun-*` /
46
+ `--kun-radius-scale`), elevation (`--shadow-kun-*`), motion (`--kun-dur-*` +
47
+ `duration-kun-*` + `ease-kun-*`), and sizing (`kunControlSize` /
48
+ `kunSelectionSize` / `kunChipSize`).
49
+
50
+ Also fixes a registration gap surfaced while completing the docs: `KunAutocomplete`,
51
+ `KunNumberInput`, and `KunPinInput` (added in 0.14.0) were never added to the Nuxt
52
+ layer's auto-import list, so Nuxt consumers hit "Failed to resolve component". They
53
+ now auto-import like every other component (plain-Vue `app.use(KunUI)` already
54
+ registered them). Their docs pages, prop tables, and `llms.txt` entries are added.
55
+
56
+ ## 0.22.4
57
+
58
+ ## 0.22.3
59
+
60
+ ## 0.22.2
61
+
62
+ ## 0.22.1
63
+
64
+ ## 0.22.0
65
+
66
+ ## 0.21.0
67
+
68
+ ## 0.20.0
69
+
70
+ ### Minor Changes
71
+
72
+ - 40e8abf: feat: unified elevation scale + misc token cleanups
73
+
74
+ **Elevation scale** — floating surfaces were assigned `shadow-md` / `shadow-lg` /
75
+ `shadow-2xl` ad hoc, so same-kind surfaces disagreed (Select & Autocomplete
76
+ option lists were `shadow-lg`, but Dropdown & ContextMenu menus were `shadow-2xl`;
77
+ Modal had no shadow at all). New three-tier scale in `@kungal/ui-tokens` —
78
+ `--shadow-kun-sm` / `-md` / `-lg`, generating `shadow-kun-sm|md|lg` utilities
79
+ (they compose with `ring-*` via `--tw-shadow`, so a ringed toast still gets its
80
+ elevation). Applied by tier:
81
+
82
+ - **sm** — tooltips, slider value bubble
83
+ - **md** — popovers, dropdowns, context menus, select/autocomplete/date lists, toasts
84
+ - **lg** — modals (now actually elevated), drawers
85
+
86
+ **Misc consistency cleanups:**
87
+
88
+ - Raw Tailwind radii routed through the token scale: `KunBrand` / `KunNull`
89
+ `rounded-2xl` → `rounded-kun-lg`; `KunLoading` `rounded-lg` → `rounded-kun-md`
90
+ (so `--kun-radius-scale` now affects them too). The dark `KunLightbox` viewer
91
+ chrome keeps its own radii intentionally.
92
+ - `KunNumberInput` stepper buttons: `disabled:opacity-40` → `disabled:opacity-50`
93
+ to match every other disabled control.
94
+
95
+ - 40e8abf: feat: route component transitions through the motion scale
96
+
97
+ Transitions hardcoded raw `duration-150/200/300` and raw `ease-in/out/in-out`
98
+ that didn't match the designed motion tokens (overlay enters were `200ms` but
99
+ `--kun-dur-base` is `250ms`; some controls used symmetric `ease-in-out` while the
100
+ rest used the asymmetric `ease-kun-*` curves). Now unified:
101
+
102
+ - New `duration-kun-fast | base | slow | exit` utilities bound to `--kun-dur-*`
103
+ (with literal fallbacks). Every component transition routes through them, so a
104
+ global motion retune via the tokens actually propagates.
105
+ - Mapped by role, preserving the asymmetric rhythm (enter decelerates, exit
106
+ accelerates): overlay **enter → base**, **leave → exit**, hover/selection/focus
107
+ **micro → fast**, skeleton/fade/large **→ slow**.
108
+ - Remaining raw `ease-in-out` / `ease-out` Tailwind classes (Avatar, Input,
109
+ Textarea, Progress) switched to `ease-kun-standard` / `ease-kun-out`; scoped-style
110
+ easings (Content, Ripple) now read `var(--ease-kun-*)`. The looping indeterminate
111
+ progress keyframe and the dark Lightbox viewer keep their own timing.
112
+
113
+ Net effect: a single, consistent motion feel across every control. No API changes.
114
+
115
+ ## 0.19.1
116
+
117
+ ## 0.19.0
118
+
119
+ ## 0.18.1
120
+
121
+ ## 0.18.0
122
+
123
+ ### Minor Changes
124
+
125
+ - 6fa75bb: feat(tokens,vue): unified neutral border token (`--color-kun-border` / `border-kun`)
126
+
127
+ Every structural hairline (inputs, textareas, selects, autocomplete, date picker,
128
+ cards, dividers, tabs, tooltips, popovers, dropdowns, context menus, drawers,
129
+ pagination, slider tooltip, radio cards, tag input) now resolves to ONE semantic
130
+ token instead of a scatter of `border-default-200` / `border-default/20` /
131
+ `dark:border-default-200` + a per-component `darkBorder` toggle.
132
+
133
+ - **New:** `--color-kun-border` (defaults to the `default-200` step, so it flips
134
+ light↔dark automatically) and a `border-kun` utility. Retheme every border at
135
+ once by overriding `--color-kun-border` (set it under `.kun-dark-mode` too for a
136
+ fixed non-flipping value). The global `*` border-color (opinionated base layer)
137
+ now points at this token as well, so a bare `border` matches `border-kun`.
138
+ - **Fixed:** `KunDivider` (and any control that used the translucent
139
+ `border-default/20` without a dark override) was ~half as bright as other
140
+ hairlines in dark mode (L13% vs L26%); it now matches everything else (L26%).
141
+ - **Consistency:** light mode is visually unchanged (the old `default/20`-over-white
142
+ already ≈ `default-200`); dark mode now collapses to a single neutral border value
143
+ across all components.
144
+ - Interactive-control borders intentionally stay one step stronger (checkbox/radio
145
+ boxes `default-300`, slider thumb) per common design-system practice — they are
146
+ not structural hairlines.
147
+ - **Deprecated (no-op):** the `darkBorder` prop on Input/Textarea/NumberInput/
148
+ Select/Autocomplete/DatePicker/Card. Safe to remove from call sites; kept for
149
+ backward compatibility. Note: an un-bordered `KunCard` that relied on
150
+ `darkBorder` to show a dark-only border should now use `bordered`.
151
+
152
+ ## 0.17.2
153
+
154
+ ### Patch Changes
155
+
156
+ - 9989b7c: fix(tokens): restore Modal / Drawer / Tab-indicator / toast / FadeCard animations
157
+
158
+ The motion duration tokens (`--kun-dur-fast/base/slow/exit`) were declared only
159
+ inside `@theme`. Tailwind v4 only emits an `@theme` variable to `:root` when its
160
+ scanner sees it "used", and these tokens have no utility namespace and are read
161
+ solely via `var(--kun-dur-base)` inside component `<style>` blocks / inline
162
+ styles — which Tailwind never scans. So in a normal downstream build they were
163
+ tree-shaken out of `:root`, every `transition: … var(--kun-dur-…) …` resolved to
164
+ `var(<undefined>)`, the whole shorthand was invalidated, and the enter/leave
165
+ animations on Modal, Drawer, the Tab indicator, toasts and FadeCard silently
166
+ collapsed to instant (regression from the "unified motion system" change).
167
+
168
+ They are now mirrored into a plain `:root` block (never tree-shaken), exactly
169
+ like the z-index fallbacks, so the animations resolve in every consumer build.
170
+ No API change.
171
+
172
+ ## 0.17.1
173
+
174
+ ## 0.17.0
175
+
176
+ ## 0.16.0
177
+
178
+ ## 0.15.0
179
+
180
+ ## 0.14.0
181
+
182
+ ## 0.13.0
183
+
184
+ ## 0.12.0
185
+
186
+ ## 0.11.0
187
+
188
+ ## 0.10.0
189
+
190
+ ### Minor Changes
191
+
192
+ - 7f8495d: A unified motion system — smoother, more consistent animation across every
193
+ component.
194
+
195
+ **Motion tokens (@kungal/ui-tokens).** One easing set + duration scale so the
196
+ whole library shares a rhythm instead of each component inventing its own:
197
+ `--ease-kun-standard / -out / -in / -emphasized` (also exposed as Tailwind
198
+ `ease-kun-*` utilities) and `--kun-dur-fast / -base / -slow / -exit`. Curves are
199
+ asymmetric by design — decelerate on enter, accelerate on exit — and exits run
200
+ ~30% shorter than enters. The opinionated base layer now also honours
201
+ `prefers-reduced-motion: reduce` (WCAG 2.3.3).
202
+
203
+ **Killed the layout-thrashing animations** (these caused visible stutter):
204
+
205
+ - **KunTab** indicator no longer transitions `height` (it never changes between
206
+ same-row tabs); it slides via `transform` and only its `width` animates.
207
+ - **KunFadeCard** expands via the grid `0fr → 1fr` trick instead of `max-height`
208
+ — no more `max-h-96` clipping of tall content, no per-frame height recalc.
209
+ - **KunMessage** progress bar shrinks via `transform: scaleX` (compositor)
210
+ instead of animating `width`.
211
+
212
+ **Overlays retuned and made origin-aware.** KunModal now fades its backdrop
213
+ (opacity only) while the panel rises + scales independently; KunDrawer’s backdrop
214
+ and panel are timing-matched. KunDropdown / KunSelect / KunPopover / KunDatePicker
215
+ / KunContextMenu now **grow out of their trigger** — `transform-origin` follows
216
+ the floating-ui placement, so a menu that flips above its trigger correctly grows
217
+ from its bottom edge. Every overlay shares the `ease-kun-*` curves and timing.
218
+
219
+ **Micro-interactions.** KunSlider’s thumb gains a hover/focus ring halo (it had
220
+ no feedback before); KunSwitch gains a keyboard `focus-visible` ring and a
221
+ springier thumb settle; KunCheckBox’s check eases in with the emphasized curve.
222
+
223
+ No component API changed. KunFadeCard now wraps its slot in a grid container (a
224
+ DOM-structure change); if you targeted its immediate child with CSS, retarget the
225
+ inner content.
226
+
227
+ ## 0.9.0
228
+
229
+ ### Minor Changes
230
+
231
+ - 0a57065: Make the default corner radius rounder, HeroUI-style.
232
+
233
+ The `--radius-kun-*` scale grows so the default control radius lands at HeroUI's
234
+ 12px (it was 8px):
235
+
236
+ | bucket | before | after |
237
+ | ------ | ----------- | ----- |
238
+ | sm | 4px | 6px |
239
+ | md | 12 ←default | 12px |
240
+ | lg | 12px | 16px |
241
+
242
+ `md` (every component's default) is now **12px**, `lg` (floating panels — dropdown
243
+ / context-menu / toast) is **16px**, which keeps their concentric nesting exact
244
+ (panel 16 = item 12 + the 4px `p-1` inset). The `--kun-radius-scale` runtime knob
245
+ still multiplies on top, and `none` / `full` still don't scale.
246
+
247
+ One component needed a fix at the larger radius: **KunCheckBox**. Its small square
248
+ box would look circular at a 12px token radius (12px ≈ half a 16–20px box), so the
249
+ box now uses a proportional `35%` radius — a rounded square at every size, never a
250
+ circle (matching how HeroUI derives its checkbox radius). The radio-look variant
251
+ stays a full circle. No other component needed a size change; pill/circle controls
252
+ (chips, avatars, switch, slider) are unaffected.
253
+
254
+ ## 0.8.0
255
+
256
+ ## 0.7.0
257
+
258
+ ## 0.6.2
259
+
260
+ ## 0.6.1
261
+
262
+ ## 0.6.0
263
+
264
+ ## 0.5.2
265
+
266
+ ## 0.5.1
267
+
268
+ ### Patch Changes
269
+
270
+ - bef6580: Add a runtime `--kun-radius-scale` knob for corner radius.
271
+
272
+ The scalable radius tokens (`sm` / `md` / `lg`) now multiply their base by
273
+ `var(--kun-radius-scale, 1)`, so a consumer can drive **every** KunUI corner at
274
+ once from a single CSS variable — live, with no re-render and no config change:
275
+
276
+ ```css
277
+ :root {
278
+ --kun-radius-scale: 0;
279
+ } /* square corners everywhere */
280
+ :root {
281
+ --kun-radius-scale: 1.5;
282
+ } /* 50% rounder everywhere */
283
+ ```
284
+
285
+ The default (`1`) leaves everything unchanged. `none` and `full` deliberately
286
+ don't scale (a square stays square; a pill stays a pill). Because
287
+ `--kun-radius-scale` is a separate, consumer-owned variable that the token
288
+ `calc()` reads, it avoids the cascade-order trap of trying to override
289
+ `--radius-kun-*` directly. (Small controls clamp `border-radius` to ~half their
290
+ height, so a button can't get rounder than a pill — by design.)
291
+
292
+ ## 0.5.0
293
+
294
+ ## 0.4.1
295
+
296
+ ## 0.4.0
297
+
298
+ ## 0.3.4
299
+
300
+ ## 0.3.3
301
+
302
+ ## 0.3.2
303
+
304
+ ## 0.3.1
305
+
306
+ ### Patch Changes
307
+
308
+ - 24de30a: Fix floating layers (popover / tooltip / modal / dropdown / drawer / select /
309
+ context-menu / alert / message) stacking at `auto` and getting covered by
310
+ positioned elements (carousels, sticky headers) in some consumer builds.
311
+
312
+ The `z-kun-*` z-index utilities deref a `@theme` variable with no fallback
313
+ (`z-index: var(--z-kun-popover)`). Tailwind v4 only emits a `@theme` variable to
314
+ `:root` when its tree-shaker considers it "used", and a custom `@utility`
315
+ referencing the var does not reliably count as usage across consumer
316
+ builds/versions — so `--z-kun-*` can be dropped from `:root`, leaving
317
+ `z-index: var(<undefined>)` → no z-index. Each utility now carries a literal
318
+ fallback (e.g. `var(--z-kun-popover, 9300)`), so the z-index always resolves;
319
+ a consumer's `:root { --z-kun-*: … }` override still wins when present.
320
+
321
+ ## 0.3.0
322
+
323
+ ## 0.2.5
324
+
325
+ ## 0.2.4
326
+
327
+ ## 0.2.3
328
+
329
+ ## 0.2.2
330
+
331
+ ## 0.2.1
332
+
333
+ ## 0.2.0
334
+
335
+ ### Minor Changes
336
+
337
+ - 35358f2: Settle on the `@kungal/ui-*` package namespace; the four packages are versioned and released together.
338
+
339
+ ## 0.1.1
340
+
341
+ ### Patch Changes
342
+
343
+ - c532a02: Add npm `keywords` to every package for better discoverability on the npm registry.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kungal/ui-tokens",
3
- "version": "1.6.1",
3
+ "version": "1.6.3",
4
4
  "description": "KunUI design tokens — framework-agnostic Tailwind v4 theme (semantic colors, radius, z-index, animations).",
5
5
  "type": "module",
6
6
  "keywords": [
@@ -27,6 +27,7 @@
27
27
  "*.css"
28
28
  ],
29
29
  "files": [
30
+ "CHANGELOG.md",
30
31
  "src"
31
32
  ],
32
33
  "exports": {