klun-ui 0.1.15 → 0.1.19
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 +67 -0
- package/dist/{chunk-7ZLP6VU5.js → chunk-NYIPE2T7.js} +921 -279
- package/dist/chunk-NYIPE2T7.js.map +1 -0
- package/dist/{chunk-PAGCE4QH.cjs → chunk-XMNM45KO.cjs} +923 -277
- package/dist/chunk-XMNM45KO.cjs.map +1 -0
- package/dist/index.cjs +167 -151
- package/dist/index.d.cts +156 -3
- package/dist/index.d.ts +156 -3
- package/dist/index.js +1 -1
- package/dist/styles.css +357 -22
- package/dist/templates/index.cjs +89 -89
- package/dist/templates/index.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-7ZLP6VU5.js.map +0 -1
- package/dist/chunk-PAGCE4QH.cjs.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,73 @@ All notable changes to **klun-ui** are documented here. The format follows
|
|
|
5
5
|
[Semantic Versioning](https://semver.org/) (pre-1.0: minor/patch bumps may carry
|
|
6
6
|
small breaking changes).
|
|
7
7
|
|
|
8
|
+
## [0.1.19] — 2026-07-11
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- **`PageHeader` (navigation) — the standard header band for detail/secondary
|
|
12
|
+
pages.** Breadcrumb + back arrow, a `title` with inline `tags` (StatusBadge /
|
|
13
|
+
CrossRefBadge / severity Chip) and a `subtitle`, right-aligned `extra` actions,
|
|
14
|
+
and an optional docked sub-nav (`tabs` / `activeTab` / `onTabChange`, backed by
|
|
15
|
+
the library's own `Tabs`). `sticky` pins it to a scrolling page. Composes
|
|
16
|
+
`Button` (back) and `Tabs` rather than re-implementing them.
|
|
17
|
+
- **`CrossRefBadge` (data-display) — the `#123` / `!42` / commit cross-reference
|
|
18
|
+
atom.** A `Chip`-based token that reveals a hover card (title · status ·
|
|
19
|
+
assignee · updated time) on hover **and** keyboard focus (Popover is
|
|
20
|
+
click-only), with `Esc`/blur dismissal. `preview` accepts a structured object,
|
|
21
|
+
an arbitrary node, or a `() => Promise<…>` lazy loader (Skeleton placeholder).
|
|
22
|
+
`kind` (`artifact`/`pr`/`commit`/`doc`/`wiki`) drives the leading icon; supports
|
|
23
|
+
`href`/`onClick`, `resolved` (strike-through), and `disabled`.
|
|
24
|
+
- **`DiffViewer` (data-display) — side-by-side / unified code diff.** Accepts
|
|
25
|
+
structured `hunks` or a raw unified `patch` (parsed by the exported
|
|
26
|
+
`parsePatch`); add/remove tinting, dual line-number gutters, `collapsible`
|
|
27
|
+
body, and inline-comment anchors (`comments` keyed by `` `${side}:${lineNo}` ``
|
|
28
|
+
+ `onAddComment`). Complements `CodeViewer`, which stays a single-column
|
|
29
|
+
read-only block. `dark` (opt-in) forces a dark surface; the default follows the
|
|
30
|
+
page theme.
|
|
31
|
+
|
|
32
|
+
### Changed
|
|
33
|
+
- **`StatusBadge` now reaches the full semantic palette.** `StatusTone` gains
|
|
34
|
+
`feature` (purple), `verified` (sky), `stable` (teal), `away` (yellow) and
|
|
35
|
+
`highlighted` (pink), and the built-in vocabulary registers ALM / issue-tracker
|
|
36
|
+
workflow states (`new`, `in-progress`, `in-review`, `verified`, `released`,
|
|
37
|
+
`blocked`, `reopened`, `merged`, …). No change to `Badge`.
|
|
38
|
+
- **Breaking (minor, pre-1.0):** the `verified` status now maps to the new
|
|
39
|
+
`verified`/sky tone instead of `ok`/green — existing `verified` badges change
|
|
40
|
+
from green to sky blue. Pass `tone="ok"` to keep the old green.
|
|
41
|
+
|
|
42
|
+
## [0.1.18] — 2026-06-29
|
|
43
|
+
|
|
44
|
+
### Fixed
|
|
45
|
+
- **`Popover` panel no longer gets clipped by scrolling/`overflow:hidden` ancestors.**
|
|
46
|
+
Same treatment as the select family in 0.1.17: the panel now renders in a
|
|
47
|
+
`document.body` portal, positioned with `fixed` coordinates anchored to the
|
|
48
|
+
trigger. It follows the trigger on scroll/resize, flips above when there's no
|
|
49
|
+
room below, is clamped to the viewport, and sits above overlays (z-index 1150)
|
|
50
|
+
— so a popover inside an `overflow:hidden` card (e.g. the admin ticket "view"
|
|
51
|
+
dropdown) opens fully instead of being cut off. Outside-click now treats the
|
|
52
|
+
portaled panel as inside. The `trigger`/`align`/`width`/`children` API is
|
|
53
|
+
unchanged; this also fixes the date pickers (`DatePicker`/`DateRangePicker`/
|
|
54
|
+
`DateTimePicker`), emoji picker and filter bars built on `Popover`.
|
|
55
|
+
|
|
56
|
+
## [0.1.17] — 2026-06-28
|
|
57
|
+
|
|
58
|
+
### Fixed
|
|
59
|
+
- **Select dropdowns no longer get clipped by scrolling/`overflow:hidden` ancestors.**
|
|
60
|
+
The custom select family (`Select`, `CompactSelect`, `CompactSelectForInput`,
|
|
61
|
+
`InlineSelect`) now renders its listbox in a `document.body` portal, positioned
|
|
62
|
+
with `fixed` coordinates anchored to the trigger. It follows the trigger on
|
|
63
|
+
scroll/resize, flips above when there's no room below, is clamped to the
|
|
64
|
+
viewport, and sits above overlays (drawers/modals) — so a select inside a
|
|
65
|
+
horizontally-scrolling table or an `overflow:hidden` card opens fully instead
|
|
66
|
+
of being cut off. `TimePicker` keeps its in-flow listbox unchanged.
|
|
67
|
+
`useSelect`'s outside-click now treats the portaled panel as inside.
|
|
68
|
+
|
|
69
|
+
### Build
|
|
70
|
+
- `scripts/build-css.mjs` now derives the repo root from its own location and
|
|
71
|
+
uses esbuild's Node API instead of spawning `npx esbuild`, so `pnpm build`
|
|
72
|
+
works on Windows (and any machine) — previously it had a hardcoded absolute
|
|
73
|
+
path and failed to spawn `npx`.
|
|
74
|
+
|
|
8
75
|
## [0.1.15] — 2026-06-23
|
|
9
76
|
|
|
10
77
|
### Added
|