klun-ui 0.3.0 → 0.4.0

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 CHANGED
@@ -5,6 +5,81 @@ 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
+ ## [Unreleased]
9
+
10
+ ## [0.4.0] — 2026-09-17
11
+
12
+ ### Added
13
+ - **Internal messaging** (`MessagesScreen`) — a three-pane mailbox for the admin
14
+ demo: folders (Inbox / Starred / Sent / Drafts / Archived) and colour-coded
15
+ labels with live counts, a searchable thread list with unread badges, priority
16
+ flags, stars and message counts, and a conversation pane with the full reply
17
+ chain. Flows: compose to teammates (recipient / cc pickers, `RichEditorToolbar`
18
+ wired to markdown-at-caret, simulated attachments, high priority), send, save
19
+ draft, reply / reply-all, forward, star, archive, mark read / unread, delete
20
+ behind `Confirm` and “mark all read”.
21
+ - The unread count feeds the shell: `MetronicSidebar` gained a `badges` prop so
22
+ the **Messages** entry shows a live badge, and `MessagesScreen` reports through
23
+ `onUnreadChange`.
24
+ - `messagesModel.ts` — threads, messages, attachments, labels, recipients and
25
+ helpers (`snippetOf`, `lastSenderOf`, `participantsOf`, `totalUnread`), exported
26
+ from the templates subpath alongside `MessagesScreen`.
27
+
28
+ ### Added — components
29
+ - `CronEditor` — five-field cron builder with preset chips, per-field selects, a
30
+ free-text expression box and a live human-readable preview; `describeCron` and
31
+ `CRON_PRESETS` are exported as well.
32
+ - `Kanban` — dependency-free HTML5 drag & drop board with column limits, custom
33
+ card rendering, column footers and an `onMove(cardId, from, to, index)` hook.
34
+ - `VirtualTable` — windowed table for very large datasets: only the visible slice
35
+ plus overscan is mounted, so 100k rows scroll smoothly.
36
+ - `RichEditor` — contentEditable editor wired to `RichEditorToolbar`, with a
37
+ placeholder, an optional HTML source view and HTML output through `onChange`.
38
+ - `MetronicSidebar` gains `lockedKeys`, `collapsed`, `onToggleCollapsed` and
39
+ `roleLabel` props.
40
+
41
+ ### Added — admin screens
42
+ - `ApprovalsScreen` — multi-step workflow inbox: KPI strip, scope/type filters,
43
+ row selection with bulk decisions, a step chain on `Timeline`, `DiffViewer` for
44
+ permission changes and rich-text decision notes.
45
+ - `TicketsScreen` — SLA-aware support desk with a live countdown, list and
46
+ `Kanban` board views (drag a card to change its stage), public replies vs
47
+ internal notes in `RichEditor`, and an assignment / resolve flow.
48
+ - `CalendarScreen` — week grid (08:00–19:00) with click-to-create meetings,
49
+ room conflict detection before saving, reschedule, meeting notes and an agenda
50
+ view.
51
+ - `WorkspaceSecurityScreen` — SSO / enforced 2FA / session & idle lifetime, IP
52
+ allowlist with CIDR validation, password policy, a live posture score and a
53
+ revoke-everything danger zone.
54
+ - `IntegrationsScreen` — app directory with connect / disconnect, webhook
55
+ endpoints with events and a signing secret, and a delivery log with retry and
56
+ `CodeViewer` request / response inspection.
57
+ - `FeatureFlagsScreen` — per-environment toggles, rollout steps, department
58
+ targeting via `Cascader`, role allowlists, change history and archive.
59
+ - `TemplatesScreen` — notification templates with variable chips inserted at the
60
+ caret, channel-aware previews (email / SMS / push / Slack), version history and
61
+ a test-send modal.
62
+ - `ImportExportScreen` — four-step import `Wizard` (upload → map → validate → run)
63
+ with a 100k-row `VirtualTable` validation preview, export scheduling and a job
64
+ history with retry.
65
+ - `SearchScreen` — cross-entity search (orders, products, customers, team,
66
+ tickets, approvals, docs) with grouped results and ↑ ↓ ⏎ navigation.
67
+
68
+ ### Added — shell experience
69
+ - Hash deep links (`#/orders/A-1042`) with browser back / forward support.
70
+ - Persisted demo preferences in `localStorage` (theme, density, skin, locale,
71
+ collapsed sidebar, simulated role).
72
+ - Permission-aware navigation driven by `ROLE_PERMISSIONS`: locked entries show a
73
+ lock icon and route to a `Result`-based 403 panel, with a “view as role” group
74
+ in the command palette and a banner to reset.
75
+ - Skeleton loading states between screens, a simulated outage with retry, and a
76
+ keyboard-shortcut sheet (`⌘/` or `?`).
77
+ - `nav` / `pages` demo copy for the nine new screens in all four locales.
78
+
79
+ ### Changed
80
+ - Keyboard shortcuts: `⌘K` / `Ctrl K` opens the palette, `/` jumps to global
81
+ search, `?` / `⌘/` opens the shortcut sheet.
82
+
8
83
  ## [0.3.0] — 2026-09-16
9
84
 
10
85
  ### Added