@astrake/lumora-ui 0.2.1 → 0.2.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.
Files changed (39) hide show
  1. package/CHANGELOG.md +180 -141
  2. package/dist/LuCodeBlock.vue_vue_type_script_setup_true_lang-BdXflBkJ.js +1672 -0
  3. package/dist/{LuEmbeddedStatusBar.vue_vue_type_script_setup_true_lang-CIksvebU.js → LuEmbeddedStatusBar.vue_vue_type_script_setup_true_lang-D4rqklgo.js} +1 -1
  4. package/dist/LuOverlay.vue_vue_type_script_setup_true_lang-C5jhqCgy.js +221 -0
  5. package/dist/components/LuCard.vue.d.ts +0 -3
  6. package/dist/components/LuCheckbox.vue.d.ts +2 -2
  7. package/dist/components/LuCodeBlock.vue.d.ts +11 -14
  8. package/dist/components/LuCollapsible.vue.d.ts +2 -2
  9. package/dist/components/LuForm.vue.d.ts +2 -2
  10. package/dist/components/LuModal.vue.d.ts +5 -5
  11. package/dist/components/LuPagination.vue.d.ts +2 -2
  12. package/dist/components/LuRadioGroup.vue.d.ts +2 -2
  13. package/dist/components/_all.d.ts +3 -0
  14. package/dist/components/index.js +1 -1
  15. package/dist/composables/index.d.ts +1 -0
  16. package/dist/composables/index.js +15 -14
  17. package/dist/composables/useShiki.d.ts +2 -0
  18. package/dist/context-CGS7Ou_x.js +36 -0
  19. package/dist/index.js +154 -82
  20. package/dist/layout/LuFill.vue.d.ts +0 -3
  21. package/dist/layout/LuFixed.vue.d.ts +0 -3
  22. package/dist/layout/LuGrid.vue.d.ts +0 -4
  23. package/dist/layout/LuStack.vue.d.ts +5 -3
  24. package/dist/layout/index.js +1 -1
  25. package/dist/shell/index.js +1 -1
  26. package/dist/skins/components.d.ts +2 -0
  27. package/dist/skins/index.js +251 -221
  28. package/dist/skins/layout.d.ts +2 -0
  29. package/dist/skins/shell/desktop.d.ts +2 -0
  30. package/dist/skins/shell/embedded.d.ts +2 -0
  31. package/dist/skins/shell/mobile.d.ts +2 -0
  32. package/dist/useShiki-DPOJfneq.js +30 -0
  33. package/dist/utils.d.ts +0 -11
  34. package/package.json +94 -94
  35. package/src/lumora.css +48 -16
  36. package/dist/LuCodeBlock.vue_vue_type_script_setup_true_lang-BjwcjuXF.js +0 -1623
  37. package/dist/LuOverlay.vue_vue_type_script_setup_true_lang-DZch4Vrw.js +0 -226
  38. package/dist/context-0gENwESP.js +0 -62
  39. package/dist/useTheme-Cd4wVaLs.js +0 -21
package/CHANGELOG.md CHANGED
@@ -1,141 +1,180 @@
1
- # Changelog
2
-
3
- ## [0.2.1] — 2026-05-12
4
-
5
- ### Fixed
6
- - Package publishing now ships compiled `dist` outputs (`.js` + `.d.ts`) and exports no longer point to raw `src/*.ts` entrypoints, preventing downstream strict TypeScript checks from surfacing Lumora internals.
7
- - Cleaned internal type noise in core source (`unused imports/params`, `type`-only `VNode` import) so workspace `vue-tsc` checks remain clean.
8
-
9
- ---
10
-
11
- ## [0.2.0] 2026-04-27
12
-
13
- ### Maintenance
14
-
15
- - bump version to 0.2.0 (`d52e5c1`)
16
-
17
-
18
- ---
19
-
20
- ## [0.2.0]2026-04-27
21
-
22
- ### Added
23
- - `LuCodeBlock` — Native Shiki-powered syntax highlighter with `default` and `preview` variants (supporting `tabbed` and `split` layouts).
24
- - `LuToggleGroup` & `LuToggleButton` New layout primitives for grouped button selections.
25
- - `LuMenu` — Refactored and renamed from legacy `LuDropdown` to align with the core primitives naming convention.
26
- - New showcase documentation dedicated to Toggle Group and components.
27
-
28
- ### Fixed
29
- - WPF-like edge-docking regressions in `LuDock` via a newly implemented programmatic render function.
30
- - Reactivity bugs in `LuSplit` (`LuSplitPane`, `LuSplitResizer`) failing to unwrap injected `direction` refs.
31
- - Missing `LuSplit` component skins.
32
- - Various visual hierarchy issues in documentation via typography `LuText` adjustments.
33
-
34
- ### Changed
35
- - **Zero-Raw-HTML Adherence**: Removed all raw DOM nodes (`div`, `span`, etc.) and `PreviewBlock` from the showcase application in favor of 100% native `Lu*` primitives.
36
- - Integrated Shiki to `@astrake/lumora-ui` core package dependencies.
37
-
38
- ---
39
-
40
- ## [0.1.7] — 2026-04-26
41
-
42
- ### Breaking Changes (structurally additive — no API surface removed)
43
- - Framework now ships `lumora.css` — consumers must add `import '@astrake/lumora-ui/style'` to their app entry
44
-
45
- ### Fixed
46
- - Shell components (`LuDesktopShell`, `LuMobileShell`, `LuEmbeddedShell`) no longer require Tailwind CSS to be configured for `node_modules` structural layout is now framework-owned CSS
47
- - Layout primitives (`LuDock`, `LuStack`, `LuFill`, `LuScroll`, `LuGrid`, etc.) structural classes are now framework-owned, not Tailwind fallbacks
48
- - `LuDesktopRailItem` icon and label structural defaults are now framework-owned
49
- - Plugin config is now `shallowReactive` — dynamic skin switching and `config.skin = newSkin` mutations now correctly trigger reactive re-renders in all components
50
-
51
- ### Added
52
- - `lumora.css` — zero-dependency CSS baseline for all structural/layout defaults; exported at `@astrake/lumora-ui/style`
53
- - `tailwindContent()` helper exported at `@astrake/lumora-ui/tailwind` — resolves correct `node_modules` source glob for Tailwind `content` config
54
-
55
- ---
56
-
57
- ## [0.1.6] — 2026-04-25
58
-
59
- ### Maintenance
60
-
61
- - bump version to 0.1.6 - add LuForm validation orchestrator (`1f11734`)
62
-
63
- ---
64
-
65
- ## [0.1.6] 2026-04-26
66
-
67
- ### Added
68
- - `LuForm` headless validation orchestrator component with slot-based API
69
- - `LuForm.types.ts` `LuFormRules`, `LuFormErrors`, `LuFormValidator`, `LuFormContext` types
70
- - Form context integration for `LuInput`, `LuSelect`, `LuSwitch` — `name`, `error` props; register/unregister lifecycle
71
- - `LuFormContextKey` injection key (internal Symbol) for child-field coordination
72
- - 10 vitest test cases covering submit, validation, reset, blur, disabled, and programmatic API
73
-
74
- ---
75
-
76
- ## [0.1.5] — 2026-04-25
77
-
78
- ### Fixed
79
-
80
- - ci workflow errors — npm publish auth and correct artifact path (`af81e69`)
81
-
82
- ---
83
-
84
- ## [0.1.4] — 2026-04-25
85
-
86
- ### Fixed
87
-
88
- - prepack hook to include README and CHANGELOG in npm tarball (`e69bdfb`)
89
-
90
-
91
- ---
92
-
93
- ## [0.1.3] — 2026-04-25
94
-
95
- ### Maintenance
96
-
97
- - fix CI pipeline failures (`cde8248`)
98
- - verify automated release pipeline (`c153464`)
99
-
100
- All notable changes to `@astrake/lumora-ui` are documented here.
101
-
102
- Format: [Keep a Changelog](https://keepachangelog.com/) · Commits: [Conventional Commits](https://www.conventionalcommits.org/)
103
-
104
-
105
- ---
106
-
107
- ## [0.1.0]2026-04-25
108
-
109
- ### Added
110
-
111
- - Initial workspace scaffold (`packages/core`, `apps/showcase`, `tools/`)
112
- - Headless Vue 3 primitive component library targeting three surface types:
113
- - **Mobile (`LuM*`):** touch-first components for PWA apps (≥44px targets, bottom nav, swipe)
114
- - **Desktop (`LuD*`):** feature-rich browser/Electron components (sidebars, tables, modals)
115
- - **Embedded (`LuE*`):** fixed-viewport components for kiosk/IoT/in-car screens
116
- - **Shared (`Lu*`):** cross-surface primitives (`LuIcon`, `LuSpinner`, `LuBadge`, `LuPortal`)
117
- - Design token system (`--lu-*` CSS custom properties) — color, typography, spacing, radius, shadow, motion
118
- - Three package entry points: `@astrake/lumora-ui`, `/mobile`, `/desktop`, `/embedded`
119
- - Skin configuration system via `LumoraUI` Vue plugin
120
- - Shell components (`LuMobileShell`, `LuDesktopShell`, `LuEmbeddedShell`) with named-slot architecture
121
- - Layout primitives and composable layer
122
- - Reference showcase app (Vite + Vue 3) with `/mobile`, `/desktop`, `/embedded` routes
123
- - `tools/build.ts`Vite library-mode build (three entry points)
124
- - `tools/check.ts` — vue-tsc typecheck
125
- - `tools/version.ts` — VERSION → package.json sync
126
- - `tools/changelog.ts` — automated changelog generator (zero npm deps)
127
- - `LICENSE` MIT license
128
- - `SECURITY.md` — responsible disclosure policy
129
- - `README.md` — badges, install, usage, design token overview, automation table, disclaimer
130
- - `docs/LEGAL.md` — full warranty disclaimer and legal notice
131
- - `docs/PROJECT.md` — project overview
132
- - `docs/ARCHITECTURE.md`architecture guide
133
- - `docs/DEVELOPMENT.md` — development workflow
134
- - `docs/RELEASES.md` — release workflow documentation
135
- - `docs/AI_AGENT_GUIDE.md` — AI coding agent guide
136
- - `AGENTS.md` agent working rules and repo map
137
- - `.npmrc` `@astrake` scope, `git-tag-version=false`
138
- - GitHub Actions: `ci.yml` — install, version-check, typecheck, test, build, artifact upload
139
- - GitHub Actions: `release.yml` dual trigger, changelog, GitHub Release, npm publish
140
- - GitHub Actions: `version-check.yml` — VERSION single-source-of-truth enforcement
141
- - GitHub Actions: `codeql.yml` weekly TypeScript security scan
1
+ # Changelog
2
+
3
+ ## [0.2.2] — 2026-05-14
4
+
5
+ ### Fixed
6
+
7
+ - **`LuButton`** `to` and `href` declared props are now explicitly re-bound on the dynamic
8
+ `<component>`, fixing Vue Router console warnings (`Missing required prop: "to"`) when rendering
9
+ as `RouterLink` with `inheritAttrs: false`.
10
+ - **`LuTab` active indicator** — Changed `border-rose-500` → `border-b-rose-500` so the bottom
11
+ underline correctly overrides the `border-transparent` default in light mode (was invisible).
12
+ - **`LuToggleButton` active skin** — `activeSkin` resolver is now variant-aware: resolves
13
+ `${variant}-active` (e.g. `ghost-active`) before falling back to the generic `active` skin key.
14
+ - **`LuCodeBlock` copy button** — Hover style uses `hover:bg-white/10 hover:text-zinc-100`
15
+ (alpha overlay) instead of the mode-sensitive `hover:bg-zinc-700 hover:text-white`, ensuring
16
+ icon visibility on the always-dark `#282c34` code header in both light and dark themes.
17
+ - **`LuCollapsibleTrigger` default skin** — Removed hard-coded sidebar typography
18
+ (`text-[10px] uppercase tracking-widest text-zinc-400`). The skin is now a generic neutral
19
+ trigger container; label typography is delegated to slot content via `LuText variant="label"`.
20
+ - **Tab list borders** `LuTabList` default and `card-header` variants changed from
21
+ `dark:border-zinc-800` → `dark:border-zinc-700`, normalising separator visual weight across modes.
22
+ - **Showcase build** — `apps/showcase/vite.config.ts` now uses an ordered alias array covering all
23
+ `@astrake/lumora-ui` sub-path exports (`/style`, `/composables`, `/layout`, `/shell`,
24
+ `/components`, `/skins`), fixing standalone `bun run build` without pre-built core artifacts.
25
+
26
+ ### Added
27
+
28
+ - **`LuToggleGroup ghost` variant** — Removes the segmented-control background container for use
29
+ in minimal topbar / toolbar contexts.
30
+ - **`LuToggleButton ghost` + `ghost-active` variants** Subtle icon-button states with an elevated
31
+ `ring` on the active element; consumed by the documentation `ThemeToggle` topbar widget.
32
+
33
+ ### Refactored (Showcase)
34
+
35
+ - **`DocsSearch`** Rebuilt as a floating dropdown (`absolute top-full z-50`) with styled result
36
+ rows: muted section caption, bold item label, per-row hover highlight, Escape-key dismiss, and
37
+ external-link icon indicator.
38
+ - **`DocsSidebar`** — Removed redundant nested `LuStack` wrappers inside the `#trigger` slot that
39
+ created double padding and triple hover-layer stacking in dark mode.
40
+
41
+ ---
42
+
43
+
44
+ ## [0.2.1] — 2026-05-12
45
+ - Package publishing now ships compiled `dist` outputs (`.js` + `.d.ts`) and exports no longer point to raw `src/*.ts` entrypoints, preventing downstream strict TypeScript checks from surfacing Lumora internals.
46
+ - Cleaned internal type noise in core source (`unused imports/params`, `type`-only `VNode` import) so workspace `vue-tsc` checks remain clean.
47
+
48
+ ---
49
+
50
+ ## [0.2.0] — 2026-04-27
51
+
52
+ ### Maintenance
53
+
54
+ - bump version to 0.2.0 (`d52e5c1`)
55
+
56
+
57
+ ---
58
+
59
+ ## [0.2.0] — 2026-04-27
60
+
61
+ ### Added
62
+ - `LuCodeBlock` — Native Shiki-powered syntax highlighter with `default` and `preview` variants (supporting `tabbed` and `split` layouts).
63
+ - `LuToggleGroup` & `LuToggleButton` — New layout primitives for grouped button selections.
64
+ - `LuMenu` — Refactored and renamed from legacy `LuDropdown` to align with the core primitives naming convention.
65
+ - New showcase documentation dedicated to Toggle Group and components.
66
+
67
+ ### Fixed
68
+ - WPF-like edge-docking regressions in `LuDock` via a newly implemented programmatic render function.
69
+ - Reactivity bugs in `LuSplit` (`LuSplitPane`, `LuSplitResizer`) failing to unwrap injected `direction` refs.
70
+ - Missing `LuSplit` component skins.
71
+ - Various visual hierarchy issues in documentation via typography `LuText` adjustments.
72
+
73
+ ### Changed
74
+ - **Zero-Raw-HTML Adherence**: Removed all raw DOM nodes (`div`, `span`, etc.) and `PreviewBlock` from the showcase application in favor of 100% native `Lu*` primitives.
75
+ - Integrated Shiki to `@astrake/lumora-ui` core package dependencies.
76
+
77
+ ---
78
+
79
+ ## [0.1.7] — 2026-04-26
80
+
81
+ ### Breaking Changes (structurally additive — no API surface removed)
82
+ - Framework now ships `lumora.css` — consumers must add `import '@astrake/lumora-ui/style'` to their app entry
83
+
84
+ ### Fixed
85
+ - Shell components (`LuDesktopShell`, `LuMobileShell`, `LuEmbeddedShell`) no longer require Tailwind CSS to be configured for `node_modules` — structural layout is now framework-owned CSS
86
+ - Layout primitives (`LuDock`, `LuStack`, `LuFill`, `LuScroll`, `LuGrid`, etc.) structural classes are now framework-owned, not Tailwind fallbacks
87
+ - `LuDesktopRailItem` icon and label structural defaults are now framework-owned
88
+ - Plugin config is now `shallowReactive` dynamic skin switching and `config.skin = newSkin` mutations now correctly trigger reactive re-renders in all components
89
+
90
+ ### Added
91
+ - `lumora.css` — zero-dependency CSS baseline for all structural/layout defaults; exported at `@astrake/lumora-ui/style`
92
+ - `tailwindContent()` helper exported at `@astrake/lumora-ui/tailwind` — resolves correct `node_modules` source glob for Tailwind `content` config
93
+
94
+ ---
95
+
96
+ ## [0.1.6] — 2026-04-25
97
+
98
+ ### Maintenance
99
+
100
+ - bump version to 0.1.6 - add LuForm validation orchestrator (`1f11734`)
101
+
102
+ ---
103
+
104
+ ## [0.1.6] — 2026-04-26
105
+
106
+ ### Added
107
+ - `LuForm`headless validation orchestrator component with slot-based API
108
+ - `LuForm.types.ts` — `LuFormRules`, `LuFormErrors`, `LuFormValidator`, `LuFormContext` types
109
+ - Form context integration for `LuInput`, `LuSelect`, `LuSwitch` — `name`, `error` props; register/unregister lifecycle
110
+ - `LuFormContextKey` injection key (internal Symbol) for child-field coordination
111
+ - 10 vitest test cases covering submit, validation, reset, blur, disabled, and programmatic API
112
+
113
+ ---
114
+
115
+ ## [0.1.5] 2026-04-25
116
+
117
+ ### Fixed
118
+
119
+ - ci workflow errors npm publish auth and correct artifact path (`af81e69`)
120
+
121
+ ---
122
+
123
+ ## [0.1.4]2026-04-25
124
+
125
+ ### Fixed
126
+
127
+ - prepack hook to include README and CHANGELOG in npm tarball (`e69bdfb`)
128
+
129
+
130
+ ---
131
+
132
+ ## [0.1.3]2026-04-25
133
+
134
+ ### Maintenance
135
+
136
+ - fix CI pipeline failures (`cde8248`)
137
+ - verify automated release pipeline (`c153464`)
138
+
139
+ All notable changes to `@astrake/lumora-ui` are documented here.
140
+
141
+ Format: [Keep a Changelog](https://keepachangelog.com/) · Commits: [Conventional Commits](https://www.conventionalcommits.org/)
142
+
143
+
144
+ ---
145
+
146
+ ## [0.1.0] — 2026-04-25
147
+
148
+ ### Added
149
+
150
+ - Initial workspace scaffold (`packages/core`, `apps/showcase`, `tools/`)
151
+ - Headless Vue 3 primitive component library targeting three surface types:
152
+ - **Mobile (`LuM*`):** touch-first components for PWA apps (≥44px targets, bottom nav, swipe)
153
+ - **Desktop (`LuD*`):** feature-rich browser/Electron components (sidebars, tables, modals)
154
+ - **Embedded (`LuE*`):** fixed-viewport components for kiosk/IoT/in-car screens
155
+ - **Shared (`Lu*`):** cross-surface primitives (`LuIcon`, `LuSpinner`, `LuBadge`, `LuPortal`)
156
+ - Design token system (`--lu-*` CSS custom properties) — color, typography, spacing, radius, shadow, motion
157
+ - Three package entry points: `@astrake/lumora-ui`, `/mobile`, `/desktop`, `/embedded`
158
+ - Skin configuration system via `LumoraUI` Vue plugin
159
+ - Shell components (`LuMobileShell`, `LuDesktopShell`, `LuEmbeddedShell`) with named-slot architecture
160
+ - Layout primitives and composable layer
161
+ - Reference showcase app (Vite + Vue 3) with `/mobile`, `/desktop`, `/embedded` routes
162
+ - `tools/build.ts` — Vite library-mode build (three entry points)
163
+ - `tools/check.ts` — vue-tsc typecheck
164
+ - `tools/version.ts` — VERSION → package.json sync
165
+ - `tools/changelog.ts` — automated changelog generator (zero npm deps)
166
+ - `LICENSE` — MIT license
167
+ - `SECURITY.md` — responsible disclosure policy
168
+ - `README.md` — badges, install, usage, design token overview, automation table, disclaimer
169
+ - `docs/LEGAL.md` — full warranty disclaimer and legal notice
170
+ - `docs/PROJECT.md` — project overview
171
+ - `docs/ARCHITECTURE.md` — architecture guide
172
+ - `docs/DEVELOPMENT.md` — development workflow
173
+ - `docs/RELEASES.md` — release workflow documentation
174
+ - `docs/AI_AGENT_GUIDE.md` — AI coding agent guide
175
+ - `AGENTS.md` — agent working rules and repo map
176
+ - `.npmrc` — `@astrake` scope, `git-tag-version=false`
177
+ - GitHub Actions: `ci.yml` — install, version-check, typecheck, test, build, artifact upload
178
+ - GitHub Actions: `release.yml` — dual trigger, changelog, GitHub Release, npm publish
179
+ - GitHub Actions: `version-check.yml` — VERSION single-source-of-truth enforcement
180
+ - GitHub Actions: `codeql.yml` — weekly TypeScript security scan