@astrake/lumora-ui 0.2.2 → 0.7.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 (93) hide show
  1. package/CHANGELOG.md +71 -21
  2. package/README.md +23 -21
  3. package/dist/LuAccordion.vue_vue_type_script_setup_true_lang-CwG5Ml8t.js +5032 -0
  4. package/dist/__mocks__/empty.d.ts +4 -0
  5. package/dist/components/LuAccordion.vue.d.ts +23 -0
  6. package/dist/components/LuBarChart.vue.d.ts +22 -0
  7. package/dist/components/LuBottomSheet.vue.d.ts +27 -0
  8. package/dist/components/LuCalendar.vue.d.ts +34 -0
  9. package/dist/components/LuCheckbox.vue.d.ts +17 -3
  10. package/dist/components/LuChip.vue.d.ts +35 -0
  11. package/dist/components/LuChipGroup.vue.d.ts +23 -0
  12. package/dist/components/LuCollapsible.vue.d.ts +5 -2
  13. package/dist/components/LuCommandPalette.vue.d.ts +25 -0
  14. package/dist/components/LuDataGrid.types.d.ts +39 -0
  15. package/dist/components/LuDataGrid.vue.d.ts +84 -0
  16. package/dist/components/LuDateRangePicker.vue.d.ts +29 -0
  17. package/dist/components/LuDoughnutChart.vue.d.ts +17 -0
  18. package/dist/components/LuDrawer.vue.d.ts +33 -0
  19. package/dist/components/LuFileUpload.vue.d.ts +38 -0
  20. package/dist/components/LuFormField.vue.d.ts +21 -0
  21. package/dist/components/LuFormWizard.types.d.ts +7 -0
  22. package/dist/components/LuFormWizard.vue.d.ts +33 -0
  23. package/dist/components/LuGaugeChart.vue.d.ts +16 -0
  24. package/dist/components/LuKanban.types.d.ts +24 -0
  25. package/dist/components/LuKanban.vue.d.ts +30 -0
  26. package/dist/components/LuLineChart.vue.d.ts +19 -0
  27. package/dist/components/LuList.vue.d.ts +18 -0
  28. package/dist/components/LuListDivider.vue.d.ts +5 -0
  29. package/dist/components/LuListItem.vue.d.ts +32 -0
  30. package/dist/components/LuListSubheader.vue.d.ts +16 -0
  31. package/dist/components/LuMediaGallery.vue.d.ts +25 -0
  32. package/dist/components/LuMenu.vue.d.ts +2 -2
  33. package/dist/components/LuPlanner.types.d.ts +14 -0
  34. package/dist/components/LuPlanner.vue.d.ts +23 -0
  35. package/dist/components/LuPopover.vue.d.ts +24 -0
  36. package/dist/components/LuRadioGroup.types.d.ts +1 -0
  37. package/dist/components/LuRichTextEditor.vue.d.ts +27 -0
  38. package/dist/components/LuSelect.vue.d.ts +35 -2
  39. package/dist/components/{LuPageHeader.vue.d.ts → LuSparkline.vue.d.ts} +9 -5
  40. package/dist/components/LuSwitch.vue.d.ts +19 -5
  41. package/dist/components/LuTimeline.vue.d.ts +17 -0
  42. package/dist/components/LuTimelineItem.vue.d.ts +24 -0
  43. package/dist/components/LuToast.vue.d.ts +5 -0
  44. package/dist/components/LuTree.types.d.ts +9 -0
  45. package/dist/components/LuTree.vue.d.ts +25 -0
  46. package/dist/components/LuTreeNode.vue.d.ts +37 -0
  47. package/dist/components/__tests__/LuAccordion.test.d.ts +1 -0
  48. package/dist/components/__tests__/LuBarChart.test.d.ts +1 -0
  49. package/dist/components/__tests__/LuBottomSheet.test.d.ts +1 -0
  50. package/dist/components/__tests__/LuCalendar.test.d.ts +1 -0
  51. package/dist/components/__tests__/LuCheckbox.test.d.ts +1 -0
  52. package/dist/components/__tests__/LuChip.test.d.ts +1 -0
  53. package/dist/components/__tests__/LuCommandPalette.test.d.ts +1 -0
  54. package/dist/components/__tests__/LuDataGrid.test.d.ts +1 -0
  55. package/dist/components/__tests__/LuDateRangePicker.test.d.ts +1 -0
  56. package/dist/components/__tests__/LuDoughnutChart.test.d.ts +1 -0
  57. package/dist/components/__tests__/LuDrawer.test.d.ts +1 -0
  58. package/dist/components/__tests__/LuFileUpload.test.d.ts +1 -0
  59. package/dist/components/__tests__/LuFormWizard.test.d.ts +1 -0
  60. package/dist/components/__tests__/LuGaugeChart.test.d.ts +1 -0
  61. package/dist/components/__tests__/LuKanban.test.d.ts +1 -0
  62. package/dist/components/__tests__/LuLineChart.test.d.ts +1 -0
  63. package/dist/components/__tests__/LuList.test.d.ts +1 -0
  64. package/dist/components/__tests__/LuMediaGallery.test.d.ts +1 -0
  65. package/dist/components/__tests__/LuPlanner.test.d.ts +1 -0
  66. package/dist/components/__tests__/LuPopover.test.d.ts +1 -0
  67. package/dist/components/__tests__/LuRadio.test.d.ts +1 -0
  68. package/dist/components/__tests__/LuRichTextEditor.test.d.ts +1 -0
  69. package/dist/components/__tests__/LuSelect.test.d.ts +1 -0
  70. package/dist/components/__tests__/LuSparkline.test.d.ts +1 -0
  71. package/dist/components/__tests__/LuSwitch.test.d.ts +1 -0
  72. package/dist/components/__tests__/LuTimeline.test.d.ts +1 -0
  73. package/dist/components/__tests__/LuToast.test.d.ts +1 -0
  74. package/dist/components/__tests__/LuTree.test.d.ts +1 -0
  75. package/dist/components/index.d.ts +42 -3
  76. package/dist/components/index.js +73 -44
  77. package/dist/composables/index.d.ts +2 -0
  78. package/dist/composables/index.js +36 -17
  79. package/dist/composables/lazyVChart.d.ts +10 -0
  80. package/dist/composables/useChartTheme.d.ts +65 -0
  81. package/dist/composables/useDataGrid.d.ts +52 -0
  82. package/dist/composables/useFloating.d.ts +12 -0
  83. package/dist/composables/useLuToast.d.ts +14 -0
  84. package/dist/index.d.ts +5 -0
  85. package/dist/index.js +210 -146
  86. package/dist/skins/index.js +824 -20
  87. package/dist/useLuToast-D5d7Wrcr.js +1029 -0
  88. package/package.json +2 -1
  89. package/src/lumora.css +216 -5
  90. package/dist/LuCodeBlock.vue_vue_type_script_setup_true_lang-BdXflBkJ.js +0 -1672
  91. package/dist/components/LuThemeSelect.vue.d.ts +0 -2
  92. package/dist/components/LuThemeSwitch.vue.d.ts +0 -2
  93. package/dist/useShiki-DPOJfneq.js +0 -30
package/CHANGELOG.md CHANGED
@@ -1,5 +1,74 @@
1
1
  # Changelog
2
2
 
3
+ ## Unreleased
4
+
5
+ ---
6
+
7
+ ## [0.7.2] — 2026-05-23
8
+
9
+ ### Fixed
10
+ - Fixed CI release workflow git authentication: added `token: ${{ secrets.GITHUB_TOKEN }}` to checkout step and explicit remote URL configuration before tag push to resolve "No such device or address" error.
11
+
12
+ ---
13
+
14
+ ## [0.7.1] — 2026-05-23
15
+
16
+ ### Fixed
17
+ - Fixed GitHub Actions release workflow `npm publish` double-packing issue.
18
+
19
+ ---
20
+
21
+ ## [0.7.0] — 2026-05-23
22
+
23
+ ### Added
24
+ - `LuPlanner` — Weekly scheduling grid with absolute-positioned time slots, event blocks, and `slot-click` / `event-click` emissions
25
+ - `LuSelect` — Rebuilt with text search/filter, option groups, chip-based multi-select, clearable state, and async-ready slot API
26
+ - `LuDataGrid` — Column sorting (asc/desc/none cycle), header select-all checkbox, local text search bar, per-column filter support
27
+ - `LuTimeline` — `compact` and `numbered` layout variants; `status` prop for per-item color coding (success/warning/error/info)
28
+ - `LuSwitch` — Indeterminate / tri-state variant via `indeterminate` prop
29
+ - `LuCalendar` — `size="mini"` compact variant and `showEventLabels` boolean prop
30
+ - Showcase: `LuCodeBlock` dedicated documentation page
31
+ - New skin keys: `timeline.*`, `calendar.*`, `planner.*`, `select.*` (chip, group, search, clearable styles)
32
+ - Test coverage: 5 new test files — `LuCheckbox`, `LuRadio`, `LuSwitch`, `LuSelect`, `LuPlanner`
33
+
34
+ ### Fixed
35
+ - `LuFormWizard` — Step navigation regressions and layout rendering corrected
36
+ - `LuCheckbox` / `LuRadio` / `LuSwitch` — Complete default-skin visual overhaul: accessible focus rings, checked/disabled states, label alignment
37
+
38
+ ---
39
+
40
+ ## [0.6.0] — 2026-05-23
41
+
42
+ ### ⚠ Breaking Changes
43
+ - Removed from core exports: `LuEntityCard`, `LuEntityCardStat`, `LuPageHeader`, `LuNotificationCenter`, `LuDashboardGrid`, `LuThemeSwitch`, `LuThemeSelect`, `LuEmbeddedPOS*` (5 components). Moved to showcase recipes.
44
+
45
+ ### Added
46
+ - `LuDrawer` — Overlay/push drawer panel (left/right/top/bottom)
47
+ - `LuList`, `LuListItem`, `LuListDivider`, `LuListSubheader` — Structured list primitives
48
+ - `LuPopover` — Rich content anchored to trigger (floating-ui)
49
+ - `LuBottomSheet` — Mobile-friendly bottom panel with drag support
50
+ - `LuToast` + `useLuToast()` — Non-blocking notification system
51
+ - `LuChip`, `LuChipGroup` — Interactive selection chips
52
+ - `LuAccordion` — Grouped collapsibles with exclusive-open mode
53
+ - `useFloating()` — Shared floating-ui composable
54
+ - Showcase: 11 functional navigation categories + Recipes section
55
+
56
+ ### Changed
57
+ - `LuTooltip` — Now uses floating-ui for precise positioning with auto-flip
58
+ - `LuMenu` — Now uses floating-ui, replaces hardcoded CSS alignment
59
+ - `LuDesktopRailBar` promoted as the recommended rail/mini-drawer pattern
60
+
61
+ ---
62
+
63
+ ## [0.5.0] — 2026-05-22
64
+
65
+ ### Added
66
+
67
+ - **`LuEntityCard` + `LuEntityCardStat`** — Rich entity summary cards with avatar, meta, stats grid, and actions slots.
68
+ - Complete v0.3.0 to v0.5.0 roadmap implementation.
69
+
70
+ ---
71
+
3
72
  ## [0.2.2] — 2026-05-14
4
73
 
5
74
  ### Fixed
@@ -40,20 +109,11 @@
40
109
 
41
110
  ---
42
111
 
43
-
44
112
  ## [0.2.1] — 2026-05-12
113
+
45
114
  - 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
115
  - Cleaned internal type noise in core source (`unused imports/params`, `type`-only `VNode` import) so workspace `vue-tsc` checks remain clean.
47
116
 
48
- ---
49
-
50
- ## [0.2.0] — 2026-04-27
51
-
52
- ### Maintenance
53
-
54
- - bump version to 0.2.0 (`d52e5c1`)
55
-
56
-
57
117
  ---
58
118
 
59
119
  ## [0.2.0] — 2026-04-27
@@ -71,7 +131,7 @@
71
131
  - Various visual hierarchy issues in documentation via typography `LuText` adjustments.
72
132
 
73
133
  ### 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.
134
+ - **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
135
  - Integrated Shiki to `@astrake/lumora-ui` core package dependencies.
76
136
 
77
137
  ---
@@ -93,14 +153,6 @@
93
153
 
94
154
  ---
95
155
 
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
156
  ## [0.1.6] — 2026-04-26
105
157
 
106
158
  ### Added
@@ -126,7 +178,6 @@
126
178
 
127
179
  - prepack hook to include README and CHANGELOG in npm tarball (`e69bdfb`)
128
180
 
129
-
130
181
  ---
131
182
 
132
183
  ## [0.1.3] — 2026-04-25
@@ -140,7 +191,6 @@ All notable changes to `@astrake/lumora-ui` are documented here.
140
191
 
141
192
  Format: [Keep a Changelog](https://keepachangelog.com/) · Commits: [Conventional Commits](https://www.conventionalcommits.org/)
142
193
 
143
-
144
194
  ---
145
195
 
146
196
  ## [0.1.0] — 2026-04-25
package/README.md CHANGED
@@ -20,10 +20,10 @@
20
20
 
21
21
  | Target | Components | Use case |
22
22
  |--------|-----------|---------|
23
- | **Mobile** (`LuM*`) | `LuMButton`, `LuMInput`, `LuMCard`, `LuMList`, `LuMBottomSheet`, `LuMNavBar` | PWA-ready apps — touch targets ≥44px, swipe gestures, bottom nav |
24
- | **Desktop** (`LuD*`) | `LuDButton`, `LuDInput`, `LuDTable`, `LuDSidebar`, `LuDDropdown`, `LuDModal` | Feature-rich browser / Electron apps — data tables, keyboard shortcuts |
25
- | **Embedded** (`LuE*`) | `LuEButton`, `LuEDisplay`, `LuEGrid`, `LuEStatusBar`, `LuEAlert`, `LuENumpad` | Kiosk, IoT, in-car screens — fixed viewport, high contrast, minimal JS |
26
- | **Shared** (`Lu*`) | `LuIcon`, `LuSpinner`, `LuBadge`, `LuPortal` | Cross-surface primitives |
23
+ | **Mobile** (`LuMobile*`) | `LuMobileShell`, `LuMobileHeader`, `LuMobileNavBar` | PWA-ready apps — touch targets ≥44px, swipe gestures, bottom nav |
24
+ | **Desktop** (`LuDesktop*`) | `LuDesktopShell`, `LuDesktopSidebar`, `LuDesktopTopBar` | Feature-rich browser / Electron apps — resizable splits, keyboard shortcuts |
25
+ | **Embedded** (`LuEmbedded*`) | `LuEmbeddedShell` | Retail POS, Kiosk, IoT, in-car screens — fixed viewport, high contrast, touch-first |
26
+ | **Shared** (`Lu*`) | `LuDataGrid`, `LuKanban`, `LuBarChart`, `LuRichTextEditor`, `LuButton` | Cross-surface primitives, data-rich components, and operational features |
27
27
 
28
28
  ---
29
29
 
@@ -48,13 +48,11 @@ bun add vue@^3.5.0
48
48
  ## Usage
49
49
 
50
50
  ```ts
51
- // Import all targets
52
- import { LuIcon, LuSpinner } from "@astrake/lumora-ui"
51
+ // Import shared components and layout primitives
52
+ import { LuButton, LuDataGrid, LuKanban, LuStack } from "@astrake/lumora-ui"
53
53
 
54
- // Import a specific target (recommended for tree-shaking)
55
- import { LuMButton, LuMCard } from "@astrake/lumora-ui/mobile"
56
- import { LuDTable, LuDSidebar } from "@astrake/lumora-ui/desktop"
57
- import { LuEDisplay, LuEGrid } from "@astrake/lumora-ui/embedded"
54
+ // Import surface-specific shells
55
+ import { LuMobileShell, LuDesktopShell, LuEmbeddedShell } from "@astrake/lumora-ui"
58
56
  ```
59
57
 
60
58
  **Register the plugin:**
@@ -62,10 +60,11 @@ import { LuEDisplay, LuEGrid } from "@astrake/lumora-ui/embedded"
62
60
  ```ts
63
61
  // main.ts
64
62
  import { createApp } from "vue"
65
- import { LumoraUI } from "@astrake/lumora-ui"
63
+ import { createLumoraUI } from "@astrake/lumora-ui"
64
+ import "@astrake/lumora-ui/style"
66
65
  import App from "./App.vue"
67
66
 
68
- createApp(App).use(LumoraUI).mount("#app")
67
+ createApp(App).use(createLumoraUI()).mount("#app")
69
68
  ```
70
69
 
71
70
  ---
@@ -94,9 +93,10 @@ Each target root overrides tokens as appropriate (e.g., Embedded reduces shadow
94
93
  | Component framework | Vue 3.5+ (Composition API) |
95
94
  | Language | TypeScript 5.9+ |
96
95
  | Bundler | Vite (library mode, three entry points) |
96
+ | Interactive Add-ons (Peer) | Apache ECharts, Tiptap, Sortable.js (`vue-draggable-plus`) |
97
97
  | Type check | vue-tsc |
98
98
  | Tests | Vitest + @vue/test-utils |
99
- | Package manager | Bun 1.3.12 |
99
+ | Package manager | Bun 1.3+ |
100
100
 
101
101
  ---
102
102
 
@@ -106,14 +106,16 @@ Each target root overrides tokens as appropriate (e.g., Embedded reduces shadow
106
106
  LumoraUI/
107
107
  ├── packages/core/ ← @astrake/lumora-ui (published package)
108
108
  │ └── src/
109
- │ ├── tokens/ CSS custom properties (--lu-*)
110
- │ ├── shared/ ← cross-target primitives (Lu*)
111
- │ ├── mobile/ Mobile components (LuM*)
112
- │ ├── desktop/ Desktop components (LuD*)
113
- │ ├── embedded/ Embedded components (LuE*)
109
+ │ ├── components/ shared primitives + complex components (Lu*)
110
+ │ ├── layout/ ← layout primitives (LuStack, LuGrid, LuDock, etc.)
111
+ │ ├── shell/ surface shells (LuDesktopShell, LuMobileShell, etc.)
112
+ │ ├── composables/ shared composition functions
113
+ │ ├── skins/ SkinMap default theme
114
+ │ ├── lumora.css ← structural CSS baseline
114
115
  │ └── index.ts
115
- ├── apps/showcase/ ← reference Vite + Vue 3 app
116
+ ├── apps/showcase/ ← reference Vite + Vue 3 showcase app
116
117
  ├── tools/ ← build, check, version, changelog scripts
118
+ ├── .agent/ ← AI agent rules and authoring guides
117
119
  └── docs/ ← architecture, development, releases, legal
118
120
  ```
119
121
 
@@ -126,7 +128,7 @@ git clone https://github.com/madlybong/LumoraUI.git
126
128
  cd LumoraUI
127
129
  bun install
128
130
  bun run check # typecheck
129
- bun test # run test suite
131
+ bun run test --run # run test suite
130
132
  bun run dev # start the showcase app
131
133
  ```
132
134
 
@@ -138,7 +140,7 @@ bun run dev # start the showcase app
138
140
  - [Architecture Guide](./docs/ARCHITECTURE.md)
139
141
  - [Development Workflow](./docs/DEVELOPMENT.md)
140
142
  - [Release Workflow](./docs/RELEASES.md)
141
- - [AI Agent Guide](./docs/AI_AGENT_GUIDE.md)
143
+ - [AI Agent Knowledge Base](./.agent/README.md)
142
144
  - [Legal Notice & Disclaimer](./docs/LEGAL.md)
143
145
 
144
146
  ---