@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.
- package/CHANGELOG.md +71 -21
- package/README.md +23 -21
- package/dist/LuAccordion.vue_vue_type_script_setup_true_lang-CwG5Ml8t.js +5032 -0
- package/dist/__mocks__/empty.d.ts +4 -0
- package/dist/components/LuAccordion.vue.d.ts +23 -0
- package/dist/components/LuBarChart.vue.d.ts +22 -0
- package/dist/components/LuBottomSheet.vue.d.ts +27 -0
- package/dist/components/LuCalendar.vue.d.ts +34 -0
- package/dist/components/LuCheckbox.vue.d.ts +17 -3
- package/dist/components/LuChip.vue.d.ts +35 -0
- package/dist/components/LuChipGroup.vue.d.ts +23 -0
- package/dist/components/LuCollapsible.vue.d.ts +5 -2
- package/dist/components/LuCommandPalette.vue.d.ts +25 -0
- package/dist/components/LuDataGrid.types.d.ts +39 -0
- package/dist/components/LuDataGrid.vue.d.ts +84 -0
- package/dist/components/LuDateRangePicker.vue.d.ts +29 -0
- package/dist/components/LuDoughnutChart.vue.d.ts +17 -0
- package/dist/components/LuDrawer.vue.d.ts +33 -0
- package/dist/components/LuFileUpload.vue.d.ts +38 -0
- package/dist/components/LuFormField.vue.d.ts +21 -0
- package/dist/components/LuFormWizard.types.d.ts +7 -0
- package/dist/components/LuFormWizard.vue.d.ts +33 -0
- package/dist/components/LuGaugeChart.vue.d.ts +16 -0
- package/dist/components/LuKanban.types.d.ts +24 -0
- package/dist/components/LuKanban.vue.d.ts +30 -0
- package/dist/components/LuLineChart.vue.d.ts +19 -0
- package/dist/components/LuList.vue.d.ts +18 -0
- package/dist/components/LuListDivider.vue.d.ts +5 -0
- package/dist/components/LuListItem.vue.d.ts +32 -0
- package/dist/components/LuListSubheader.vue.d.ts +16 -0
- package/dist/components/LuMediaGallery.vue.d.ts +25 -0
- package/dist/components/LuMenu.vue.d.ts +2 -2
- package/dist/components/LuPlanner.types.d.ts +14 -0
- package/dist/components/LuPlanner.vue.d.ts +23 -0
- package/dist/components/LuPopover.vue.d.ts +24 -0
- package/dist/components/LuRadioGroup.types.d.ts +1 -0
- package/dist/components/LuRichTextEditor.vue.d.ts +27 -0
- package/dist/components/LuSelect.vue.d.ts +35 -2
- package/dist/components/{LuPageHeader.vue.d.ts → LuSparkline.vue.d.ts} +9 -5
- package/dist/components/LuSwitch.vue.d.ts +19 -5
- package/dist/components/LuTimeline.vue.d.ts +17 -0
- package/dist/components/LuTimelineItem.vue.d.ts +24 -0
- package/dist/components/LuToast.vue.d.ts +5 -0
- package/dist/components/LuTree.types.d.ts +9 -0
- package/dist/components/LuTree.vue.d.ts +25 -0
- package/dist/components/LuTreeNode.vue.d.ts +37 -0
- package/dist/components/__tests__/LuAccordion.test.d.ts +1 -0
- package/dist/components/__tests__/LuBarChart.test.d.ts +1 -0
- package/dist/components/__tests__/LuBottomSheet.test.d.ts +1 -0
- package/dist/components/__tests__/LuCalendar.test.d.ts +1 -0
- package/dist/components/__tests__/LuCheckbox.test.d.ts +1 -0
- package/dist/components/__tests__/LuChip.test.d.ts +1 -0
- package/dist/components/__tests__/LuCommandPalette.test.d.ts +1 -0
- package/dist/components/__tests__/LuDataGrid.test.d.ts +1 -0
- package/dist/components/__tests__/LuDateRangePicker.test.d.ts +1 -0
- package/dist/components/__tests__/LuDoughnutChart.test.d.ts +1 -0
- package/dist/components/__tests__/LuDrawer.test.d.ts +1 -0
- package/dist/components/__tests__/LuFileUpload.test.d.ts +1 -0
- package/dist/components/__tests__/LuFormWizard.test.d.ts +1 -0
- package/dist/components/__tests__/LuGaugeChart.test.d.ts +1 -0
- package/dist/components/__tests__/LuKanban.test.d.ts +1 -0
- package/dist/components/__tests__/LuLineChart.test.d.ts +1 -0
- package/dist/components/__tests__/LuList.test.d.ts +1 -0
- package/dist/components/__tests__/LuMediaGallery.test.d.ts +1 -0
- package/dist/components/__tests__/LuPlanner.test.d.ts +1 -0
- package/dist/components/__tests__/LuPopover.test.d.ts +1 -0
- package/dist/components/__tests__/LuRadio.test.d.ts +1 -0
- package/dist/components/__tests__/LuRichTextEditor.test.d.ts +1 -0
- package/dist/components/__tests__/LuSelect.test.d.ts +1 -0
- package/dist/components/__tests__/LuSparkline.test.d.ts +1 -0
- package/dist/components/__tests__/LuSwitch.test.d.ts +1 -0
- package/dist/components/__tests__/LuTimeline.test.d.ts +1 -0
- package/dist/components/__tests__/LuToast.test.d.ts +1 -0
- package/dist/components/__tests__/LuTree.test.d.ts +1 -0
- package/dist/components/index.d.ts +42 -3
- package/dist/components/index.js +73 -44
- package/dist/composables/index.d.ts +2 -0
- package/dist/composables/index.js +36 -17
- package/dist/composables/lazyVChart.d.ts +10 -0
- package/dist/composables/useChartTheme.d.ts +65 -0
- package/dist/composables/useDataGrid.d.ts +52 -0
- package/dist/composables/useFloating.d.ts +12 -0
- package/dist/composables/useLuToast.d.ts +14 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +210 -146
- package/dist/skins/index.js +824 -20
- package/dist/useLuToast-D5d7Wrcr.js +1029 -0
- package/package.json +2 -1
- package/src/lumora.css +216 -5
- package/dist/LuCodeBlock.vue_vue_type_script_setup_true_lang-BdXflBkJ.js +0 -1672
- package/dist/components/LuThemeSelect.vue.d.ts +0 -2
- package/dist/components/LuThemeSwitch.vue.d.ts +0 -2
- 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** (`
|
|
24
|
-
| **Desktop** (`
|
|
25
|
-
| **Embedded** (`
|
|
26
|
-
| **Shared** (`Lu*`) | `
|
|
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
|
|
52
|
-
import {
|
|
51
|
+
// Import shared components and layout primitives
|
|
52
|
+
import { LuButton, LuDataGrid, LuKanban, LuStack } from "@astrake/lumora-ui"
|
|
53
53
|
|
|
54
|
-
// Import
|
|
55
|
-
import {
|
|
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 {
|
|
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(
|
|
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
|
|
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
|
-
│ ├──
|
|
110
|
-
│ ├──
|
|
111
|
-
│ ├──
|
|
112
|
-
│ ├──
|
|
113
|
-
│ ├──
|
|
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
|
|
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
|
|
143
|
+
- [AI Agent Knowledge Base](./.agent/README.md)
|
|
142
144
|
- [Legal Notice & Disclaimer](./docs/LEGAL.md)
|
|
143
145
|
|
|
144
146
|
---
|