@astrake/lumora-ui 0.2.0 → 0.2.1

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 (179) hide show
  1. package/CHANGELOG.md +141 -137
  2. package/dist/LuCodeBlock.vue_vue_type_script_setup_true_lang-BjwcjuXF.js +1623 -0
  3. package/dist/LuEmbeddedStatusBar.vue_vue_type_script_setup_true_lang-CIksvebU.js +218 -0
  4. package/dist/LuOverlay.vue_vue_type_script_setup_true_lang-DZch4Vrw.js +226 -0
  5. package/dist/components/LuAlert.vue.d.ts +20 -0
  6. package/dist/components/LuAvatar.vue.d.ts +19 -0
  7. package/dist/components/LuBadge.vue.d.ts +16 -0
  8. package/dist/components/LuBreadcrumb.vue.d.ts +16 -0
  9. package/dist/components/LuButton.vue.d.ts +24 -0
  10. package/dist/components/LuCard.vue.d.ts +21 -0
  11. package/dist/components/LuCheckbox.vue.d.ts +27 -0
  12. package/dist/components/LuCodeBlock.vue.d.ts +29 -0
  13. package/dist/components/LuCollapsible.vue.d.ts +25 -0
  14. package/dist/components/LuDivider.vue.d.ts +8 -0
  15. package/dist/components/LuForm.types.d.ts +18 -0
  16. package/dist/components/LuForm.vue.d.ts +55 -0
  17. package/dist/components/LuIcon.vue.d.ts +18 -0
  18. package/dist/components/LuInput.vue.d.ts +26 -0
  19. package/dist/components/LuLink.vue.d.ts +23 -0
  20. package/dist/components/LuMenu.vue.d.ts +26 -0
  21. package/dist/components/LuMenuItem.vue.d.ts +20 -0
  22. package/dist/components/LuModal.vue.d.ts +32 -0
  23. package/dist/components/LuPageHeader.vue.d.ts +10 -0
  24. package/dist/components/LuPagination.vue.d.ts +18 -0
  25. package/dist/components/LuProgressBar.vue.d.ts +7 -0
  26. package/dist/components/LuRadio.vue.d.ts +18 -0
  27. package/dist/components/LuRadioGroup.types.d.ts +8 -0
  28. package/dist/components/LuRadioGroup.vue.d.ts +24 -0
  29. package/dist/components/LuSelect.vue.d.ts +18 -0
  30. package/dist/components/LuSkeleton.vue.d.ts +5 -0
  31. package/dist/components/LuSpinner.vue.d.ts +5 -0
  32. package/dist/components/LuSwitch.vue.d.ts +15 -0
  33. package/dist/components/LuTab.vue.d.ts +16 -0
  34. package/dist/components/LuTabList.vue.d.ts +15 -0
  35. package/dist/components/LuTabPanel.vue.d.ts +16 -0
  36. package/dist/components/LuTable.vue.d.ts +15 -0
  37. package/dist/components/LuTableBody.vue.d.ts +15 -0
  38. package/dist/components/LuTableCell.vue.d.ts +15 -0
  39. package/dist/components/LuTableHead.vue.d.ts +15 -0
  40. package/dist/components/LuTableHeadCell.vue.d.ts +15 -0
  41. package/dist/components/LuTableRow.vue.d.ts +15 -0
  42. package/dist/components/LuTabs.vue.d.ts +20 -0
  43. package/dist/components/LuTag.vue.d.ts +20 -0
  44. package/dist/components/LuText.vue.d.ts +16 -0
  45. package/dist/components/LuTextarea.vue.d.ts +14 -0
  46. package/dist/components/LuThemeSelect.vue.d.ts +2 -0
  47. package/dist/components/LuThemeSwitch.vue.d.ts +2 -0
  48. package/dist/components/LuToggleButton.vue.d.ts +16 -0
  49. package/dist/components/LuToggleGroup.vue.d.ts +20 -0
  50. package/dist/components/LuTooltip.vue.d.ts +19 -0
  51. package/dist/components/__tests__/LuForm.test.d.ts +1 -0
  52. package/dist/components/index.js +47 -0
  53. package/{src/composables/index.ts → dist/composables/index.d.ts} +0 -1
  54. package/dist/composables/index.js +30 -0
  55. package/dist/composables/useRail.d.ts +6 -0
  56. package/dist/composables/useSplit.d.ts +4 -0
  57. package/dist/composables/useTheme.d.ts +7 -0
  58. package/dist/context-0gENwESP.js +62 -0
  59. package/dist/context.d.ts +8 -0
  60. package/{src/index.ts → dist/index.d.ts} +0 -1
  61. package/dist/index.js +94 -0
  62. package/dist/layout/LuDock.vue.d.ts +9 -0
  63. package/dist/layout/LuDockItem.vue.d.ts +16 -0
  64. package/dist/layout/LuFill.vue.d.ts +21 -0
  65. package/dist/layout/LuFixed.vue.d.ts +21 -0
  66. package/dist/layout/LuGrid.vue.d.ts +26 -0
  67. package/dist/layout/LuOverlay.vue.d.ts +15 -0
  68. package/dist/layout/LuScroll.vue.d.ts +15 -0
  69. package/dist/layout/LuSplit.vue.d.ts +16 -0
  70. package/dist/layout/LuSplitPane.vue.d.ts +18 -0
  71. package/dist/layout/LuSplitResizer.vue.d.ts +5 -0
  72. package/dist/layout/LuStack.vue.d.ts +23 -0
  73. package/{src/layout/index.ts → dist/layout/index.d.ts} +1 -14
  74. package/dist/layout/index.js +14 -0
  75. package/dist/plugin.d.ts +6 -0
  76. package/dist/shell/desktop/LuDesktopRailBar.vue.d.ts +17 -0
  77. package/dist/shell/desktop/LuDesktopRailItem.vue.d.ts +18 -0
  78. package/dist/shell/desktop/LuDesktopShell.vue.d.ts +23 -0
  79. package/dist/shell/desktop/LuDesktopSidebar.vue.d.ts +21 -0
  80. package/dist/shell/desktop/LuDesktopStatusBar.vue.d.ts +15 -0
  81. package/dist/shell/desktop/LuDesktopTopBar.vue.d.ts +15 -0
  82. package/dist/shell/embedded/LuEmbeddedShell.vue.d.ts +19 -0
  83. package/dist/shell/embedded/LuEmbeddedStatusBar.vue.d.ts +17 -0
  84. package/dist/shell/embedded/LuEmbeddedTopBar.vue.d.ts +19 -0
  85. package/{src/shell/index.ts → dist/shell/index.d.ts} +0 -1
  86. package/dist/shell/index.js +15 -0
  87. package/dist/shell/mobile/LuMobileHeader.vue.d.ts +19 -0
  88. package/dist/shell/mobile/LuMobileNavBar.vue.d.ts +15 -0
  89. package/dist/shell/mobile/LuMobileShell.vue.d.ts +21 -0
  90. package/dist/skins/default.d.ts +2 -0
  91. package/{src/skins/default.ts → dist/skins/index.js} +119 -129
  92. package/dist/tailwind.d.ts +1 -0
  93. package/dist/tailwind.js +13 -0
  94. package/dist/types.d.ts +15 -0
  95. package/dist/useTheme-Cd4wVaLs.js +21 -0
  96. package/dist/utils.d.ts +21 -0
  97. package/package.json +94 -69
  98. package/src/lumora.css +16 -16
  99. package/src/components/LuAlert.vue +0 -33
  100. package/src/components/LuAvatar.vue +0 -22
  101. package/src/components/LuBadge.vue +0 -15
  102. package/src/components/LuBreadcrumb.vue +0 -63
  103. package/src/components/LuButton.vue +0 -58
  104. package/src/components/LuCard.vue +0 -27
  105. package/src/components/LuCheckbox.vue +0 -94
  106. package/src/components/LuCodeBlock.vue +0 -168
  107. package/src/components/LuCollapsible.vue +0 -34
  108. package/src/components/LuDivider.vue +0 -18
  109. package/src/components/LuForm.types.ts +0 -24
  110. package/src/components/LuForm.vue +0 -121
  111. package/src/components/LuIcon.vue +0 -39
  112. package/src/components/LuInput.vue +0 -82
  113. package/src/components/LuLink.vue +0 -47
  114. package/src/components/LuMenu.vue +0 -86
  115. package/src/components/LuMenuItem.vue +0 -37
  116. package/src/components/LuModal.vue +0 -115
  117. package/src/components/LuPageHeader.vue +0 -24
  118. package/src/components/LuPagination.vue +0 -118
  119. package/src/components/LuProgressBar.vue +0 -21
  120. package/src/components/LuRadio.vue +0 -55
  121. package/src/components/LuRadioGroup.types.ts +0 -10
  122. package/src/components/LuRadioGroup.vue +0 -66
  123. package/src/components/LuSelect.vue +0 -67
  124. package/src/components/LuSkeleton.vue +0 -15
  125. package/src/components/LuSpinner.vue +0 -36
  126. package/src/components/LuSwitch.vue +0 -76
  127. package/src/components/LuTab.vue +0 -26
  128. package/src/components/LuTabList.vue +0 -15
  129. package/src/components/LuTabPanel.vue +0 -19
  130. package/src/components/LuTable.vue +0 -15
  131. package/src/components/LuTableBody.vue +0 -15
  132. package/src/components/LuTableCell.vue +0 -15
  133. package/src/components/LuTableHead.vue +0 -15
  134. package/src/components/LuTableHeadCell.vue +0 -15
  135. package/src/components/LuTableRow.vue +0 -15
  136. package/src/components/LuTabs.vue +0 -30
  137. package/src/components/LuTag.vue +0 -35
  138. package/src/components/LuText.vue +0 -18
  139. package/src/components/LuTextarea.vue +0 -62
  140. package/src/components/LuThemeSelect.vue +0 -26
  141. package/src/components/LuThemeSwitch.vue +0 -22
  142. package/src/components/LuToggleButton.vue +0 -35
  143. package/src/components/LuToggleGroup.vue +0 -27
  144. package/src/components/LuTooltip.vue +0 -36
  145. package/src/components/__tests__/LuForm.test.ts +0 -206
  146. package/src/composables/useRail.ts +0 -24
  147. package/src/composables/useSplit.ts +0 -17
  148. package/src/composables/useTheme.ts +0 -36
  149. package/src/context.ts +0 -39
  150. package/src/layout/LuDock.vue +0 -56
  151. package/src/layout/LuDockItem.vue +0 -20
  152. package/src/layout/LuFill.vue +0 -27
  153. package/src/layout/LuFixed.vue +0 -27
  154. package/src/layout/LuGrid.vue +0 -45
  155. package/src/layout/LuOverlay.vue +0 -17
  156. package/src/layout/LuScroll.vue +0 -19
  157. package/src/layout/LuSplit.vue +0 -23
  158. package/src/layout/LuSplitPane.vue +0 -32
  159. package/src/layout/LuSplitResizer.vue +0 -19
  160. package/src/layout/LuStack.vue +0 -29
  161. package/src/plugin.ts +0 -28
  162. package/src/shell/desktop/LuDesktopRailBar.vue +0 -23
  163. package/src/shell/desktop/LuDesktopRailItem.vue +0 -23
  164. package/src/shell/desktop/LuDesktopShell.vue +0 -25
  165. package/src/shell/desktop/LuDesktopSidebar.vue +0 -36
  166. package/src/shell/desktop/LuDesktopStatusBar.vue +0 -15
  167. package/src/shell/desktop/LuDesktopTopBar.vue +0 -15
  168. package/src/shell/embedded/LuEmbeddedShell.vue +0 -20
  169. package/src/shell/embedded/LuEmbeddedStatusBar.vue +0 -16
  170. package/src/shell/embedded/LuEmbeddedTopBar.vue +0 -17
  171. package/src/shell/mobile/LuMobileHeader.vue +0 -17
  172. package/src/shell/mobile/LuMobileNavBar.vue +0 -15
  173. package/src/shell/mobile/LuMobileShell.vue +0 -21
  174. package/src/tailwind.ts +0 -25
  175. package/src/types.ts +0 -18
  176. package/src/utils.ts +0 -95
  177. package/tsconfig.json +0 -10
  178. /package/{src/components/index.ts → dist/components/index.d.ts} +0 -0
  179. /package/{src/skins/index.ts → dist/skins/index.d.ts} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,137 +1,141 @@
1
- # Changelog
2
-
3
- ## Unreleased
4
-
5
- ---
6
-
7
- ## [0.2.0] 2026-04-27
8
-
9
- ### Maintenance
10
-
11
- - bump version to 0.2.0 (`d52e5c1`)
12
-
13
-
14
- ---
15
-
16
- ## [0.2.0] — 2026-04-27
17
-
18
- ### Added
19
- - `LuCodeBlock` — Native Shiki-powered syntax highlighter with `default` and `preview` variants (supporting `tabbed` and `split` layouts).
20
- - `LuToggleGroup` & `LuToggleButton` New layout primitives for grouped button selections.
21
- - `LuMenu` — Refactored and renamed from legacy `LuDropdown` to align with the core primitives naming convention.
22
- - New showcase documentation dedicated to Toggle Group and components.
23
-
24
- ### Fixed
25
- - WPF-like edge-docking regressions in `LuDock` via a newly implemented programmatic render function.
26
- - Reactivity bugs in `LuSplit` (`LuSplitPane`, `LuSplitResizer`) failing to unwrap injected `direction` refs.
27
- - Missing `LuSplit` component skins.
28
- - Various visual hierarchy issues in documentation via typography `LuText` adjustments.
29
-
30
- ### Changed
31
- - **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.
32
- - Integrated Shiki to `@astrake/lumora-ui` core package dependencies.
33
-
34
- ---
35
-
36
- ## [0.1.7] 2026-04-26
37
-
38
- ### Breaking Changes (structurally additive — no API surface removed)
39
- - Framework now ships `lumora.css` — consumers must add `import '@astrake/lumora-ui/style'` to their app entry
40
-
41
- ### Fixed
42
- - Shell components (`LuDesktopShell`, `LuMobileShell`, `LuEmbeddedShell`) no longer require Tailwind CSS to be configured for `node_modules` — structural layout is now framework-owned CSS
43
- - Layout primitives (`LuDock`, `LuStack`, `LuFill`, `LuScroll`, `LuGrid`, etc.) structural classes are now framework-owned, not Tailwind fallbacks
44
- - `LuDesktopRailItem` icon and label structural defaults are now framework-owned
45
- - Plugin config is now `shallowReactive` — dynamic skin switching and `config.skin = newSkin` mutations now correctly trigger reactive re-renders in all components
46
-
47
- ### Added
48
- - `lumora.css` zero-dependency CSS baseline for all structural/layout defaults; exported at `@astrake/lumora-ui/style`
49
- - `tailwindContent()` helper exported at `@astrake/lumora-ui/tailwind` — resolves correct `node_modules` source glob for Tailwind `content` config
50
-
51
- ---
52
-
53
- ## [0.1.6]2026-04-25
54
-
55
- ### Maintenance
56
-
57
- - bump version to 0.1.6 - add LuForm validation orchestrator (`1f11734`)
58
-
59
- ---
60
-
61
- ## [0.1.6] 2026-04-26
62
-
63
- ### Added
64
- - `LuForm` — headless validation orchestrator component with slot-based API
65
- - `LuForm.types.ts``LuFormRules`, `LuFormErrors`, `LuFormValidator`, `LuFormContext` types
66
- - Form context integration for `LuInput`, `LuSelect`, `LuSwitch` — `name`, `error` props; register/unregister lifecycle
67
- - `LuFormContextKey` injection key (internal Symbol) for child-field coordination
68
- - 10 vitest test cases covering submit, validation, reset, blur, disabled, and programmatic API
69
-
70
- ---
71
-
72
- ## [0.1.5] 2026-04-25
73
-
74
- ### Fixed
75
-
76
- - ci workflow errors npm publish auth and correct artifact path (`af81e69`)
77
-
78
- ---
79
-
80
- ## [0.1.4]2026-04-25
81
-
82
- ### Fixed
83
-
84
- - prepack hook to include README and CHANGELOG in npm tarball (`e69bdfb`)
85
-
86
-
87
- ---
88
-
89
- ## [0.1.3] — 2026-04-25
90
-
91
- ### Maintenance
92
-
93
- - fix CI pipeline failures (`cde8248`)
94
- - verify automated release pipeline (`c153464`)
95
-
96
- All notable changes to `@astrake/lumora-ui` are documented here.
97
-
98
- Format: [Keep a Changelog](https://keepachangelog.com/) · Commits: [Conventional Commits](https://www.conventionalcommits.org/)
99
-
100
-
101
- ---
102
-
103
- ## [0.1.0] — 2026-04-25
104
-
105
- ### Added
106
-
107
- - Initial workspace scaffold (`packages/core`, `apps/showcase`, `tools/`)
108
- - Headless Vue 3 primitive component library targeting three surface types:
109
- - **Mobile (`LuM*`):** touch-first components for PWA apps (≥44px targets, bottom nav, swipe)
110
- - **Desktop (`LuD*`):** feature-rich browser/Electron components (sidebars, tables, modals)
111
- - **Embedded (`LuE*`):** fixed-viewport components for kiosk/IoT/in-car screens
112
- - **Shared (`Lu*`):** cross-surface primitives (`LuIcon`, `LuSpinner`, `LuBadge`, `LuPortal`)
113
- - Design token system (`--lu-*` CSS custom properties) color, typography, spacing, radius, shadow, motion
114
- - Three package entry points: `@astrake/lumora-ui`, `/mobile`, `/desktop`, `/embedded`
115
- - Skin configuration system via `LumoraUI` Vue plugin
116
- - Shell components (`LuMobileShell`, `LuDesktopShell`, `LuEmbeddedShell`) with named-slot architecture
117
- - Layout primitives and composable layer
118
- - Reference showcase app (Vite + Vue 3) with `/mobile`, `/desktop`, `/embedded` routes
119
- - `tools/build.ts` Vite library-mode build (three entry points)
120
- - `tools/check.ts` vue-tsc typecheck
121
- - `tools/version.ts` VERSION package.json sync
122
- - `tools/changelog.ts` automated changelog generator (zero npm deps)
123
- - `LICENSE` — MIT license
124
- - `SECURITY.md` — responsible disclosure policy
125
- - `README.md` — badges, install, usage, design token overview, automation table, disclaimer
126
- - `docs/LEGAL.md` — full warranty disclaimer and legal notice
127
- - `docs/PROJECT.md` — project overview
128
- - `docs/ARCHITECTURE.md` — architecture guide
129
- - `docs/DEVELOPMENT.md` — development workflow
130
- - `docs/RELEASES.md` — release workflow documentation
131
- - `docs/AI_AGENT_GUIDE.md` — AI coding agent guide
132
- - `AGENTS.md` — agent working rules and repo map
133
- - `.npmrc` — `@astrake` scope, `git-tag-version=false`
134
- - GitHub Actions: `ci.yml` — install, version-check, typecheck, test, build, artifact upload
135
- - GitHub Actions: `release.yml` — dual trigger, changelog, GitHub Release, npm publish
136
- - GitHub Actions: `version-check.yml` — VERSION single-source-of-truth enforcement
137
- - GitHub Actions: `codeql.yml`weekly TypeScript security scan
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