@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.
- package/CHANGELOG.md +180 -141
- package/dist/LuCodeBlock.vue_vue_type_script_setup_true_lang-BdXflBkJ.js +1672 -0
- package/dist/{LuEmbeddedStatusBar.vue_vue_type_script_setup_true_lang-CIksvebU.js → LuEmbeddedStatusBar.vue_vue_type_script_setup_true_lang-D4rqklgo.js} +1 -1
- package/dist/LuOverlay.vue_vue_type_script_setup_true_lang-C5jhqCgy.js +221 -0
- package/dist/components/LuCard.vue.d.ts +0 -3
- package/dist/components/LuCheckbox.vue.d.ts +2 -2
- package/dist/components/LuCodeBlock.vue.d.ts +11 -14
- package/dist/components/LuCollapsible.vue.d.ts +2 -2
- package/dist/components/LuForm.vue.d.ts +2 -2
- package/dist/components/LuModal.vue.d.ts +5 -5
- package/dist/components/LuPagination.vue.d.ts +2 -2
- package/dist/components/LuRadioGroup.vue.d.ts +2 -2
- package/dist/components/_all.d.ts +3 -0
- package/dist/components/index.js +1 -1
- package/dist/composables/index.d.ts +1 -0
- package/dist/composables/index.js +15 -14
- package/dist/composables/useShiki.d.ts +2 -0
- package/dist/context-CGS7Ou_x.js +36 -0
- package/dist/index.js +154 -82
- package/dist/layout/LuFill.vue.d.ts +0 -3
- package/dist/layout/LuFixed.vue.d.ts +0 -3
- package/dist/layout/LuGrid.vue.d.ts +0 -4
- package/dist/layout/LuStack.vue.d.ts +5 -3
- package/dist/layout/index.js +1 -1
- package/dist/shell/index.js +1 -1
- package/dist/skins/components.d.ts +2 -0
- package/dist/skins/index.js +251 -221
- package/dist/skins/layout.d.ts +2 -0
- package/dist/skins/shell/desktop.d.ts +2 -0
- package/dist/skins/shell/embedded.d.ts +2 -0
- package/dist/skins/shell/mobile.d.ts +2 -0
- package/dist/useShiki-DPOJfneq.js +30 -0
- package/dist/utils.d.ts +0 -11
- package/package.json +94 -94
- package/src/lumora.css +48 -16
- package/dist/LuCodeBlock.vue_vue_type_script_setup_true_lang-BjwcjuXF.js +0 -1623
- package/dist/LuOverlay.vue_vue_type_script_setup_true_lang-DZch4Vrw.js +0 -226
- package/dist/context-0gENwESP.js +0 -62
- package/dist/useTheme-Cd4wVaLs.js +0 -21
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { ref as o, computed as i } from "vue";
|
|
2
|
+
import { createHighlighter as l } from "shiki";
|
|
3
|
+
const t = o("system"), n = o(!1);
|
|
4
|
+
if (typeof window < "u") {
|
|
5
|
+
const r = window.matchMedia("(prefers-color-scheme: dark)");
|
|
6
|
+
n.value = r.matches, r.addEventListener("change", (s) => {
|
|
7
|
+
n.value = s.matches;
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
const u = i(() => t.value === "system" ? n.value ? "dark" : "light" : t.value);
|
|
11
|
+
function c() {
|
|
12
|
+
return {
|
|
13
|
+
mode: t,
|
|
14
|
+
resolved: u,
|
|
15
|
+
setMode: (s) => {
|
|
16
|
+
t.value = s;
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
let e = null, a = null;
|
|
21
|
+
async function d() {
|
|
22
|
+
return e || (a || (a = l({
|
|
23
|
+
themes: ["one-dark-pro"],
|
|
24
|
+
langs: ["bash", "vue", "ts", "html", "css", "json"]
|
|
25
|
+
})), e = await a, e);
|
|
26
|
+
}
|
|
27
|
+
export {
|
|
28
|
+
d as g,
|
|
29
|
+
c as u
|
|
30
|
+
};
|
package/dist/utils.d.ts
CHANGED
|
@@ -8,14 +8,3 @@ export declare function cn(...inputs: ClassValue[]): string;
|
|
|
8
8
|
* Extends a base skin with a user skin, intelligently merging Tailwind classes
|
|
9
9
|
*/
|
|
10
10
|
export declare function extendSkin(baseSkin: SkinMap, userSkin: SkinMap): SkinMap;
|
|
11
|
-
/**
|
|
12
|
-
* Resolves standard layout props to Tailwind classes statically.
|
|
13
|
-
*/
|
|
14
|
-
export declare function resolveLayoutProps(props: {
|
|
15
|
-
gap?: string | number;
|
|
16
|
-
padding?: string | number;
|
|
17
|
-
align?: 'start' | 'center' | 'end' | 'stretch' | 'baseline';
|
|
18
|
-
justify?: 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly';
|
|
19
|
-
width?: string;
|
|
20
|
-
height?: string;
|
|
21
|
-
}): string;
|
package/package.json
CHANGED
|
@@ -1,94 +1,94 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@astrake/lumora-ui",
|
|
3
|
-
"version": "0.2.
|
|
4
|
-
"description": "Headless Vue 3 component framework for three surface targets — Mobile, Desktop, and Embedded — with a unified --lu-* design token system.",
|
|
5
|
-
"author": "Anuvab Chakraborty (https://github.com/madlybong)",
|
|
6
|
-
"license": "MIT",
|
|
7
|
-
"type": "module",
|
|
8
|
-
"main": "./dist/index.js",
|
|
9
|
-
"module": "./dist/index.js",
|
|
10
|
-
"types": "./dist/index.d.ts",
|
|
11
|
-
"exports": {
|
|
12
|
-
".": {
|
|
13
|
-
"types": "./dist/index.d.ts",
|
|
14
|
-
"import": "./dist/index.js"
|
|
15
|
-
},
|
|
16
|
-
"./style": "./src/lumora.css",
|
|
17
|
-
"./tailwind": {
|
|
18
|
-
"types": "./dist/tailwind.d.ts",
|
|
19
|
-
"import": "./dist/tailwind.js"
|
|
20
|
-
},
|
|
21
|
-
"./layout": {
|
|
22
|
-
"types": "./dist/layout/index.d.ts",
|
|
23
|
-
"import": "./dist/layout/index.js"
|
|
24
|
-
},
|
|
25
|
-
"./shell": {
|
|
26
|
-
"types": "./dist/shell/index.d.ts",
|
|
27
|
-
"import": "./dist/shell/index.js"
|
|
28
|
-
},
|
|
29
|
-
"./components": {
|
|
30
|
-
"types": "./dist/components/index.d.ts",
|
|
31
|
-
"import": "./dist/components/index.js"
|
|
32
|
-
},
|
|
33
|
-
"./composables": {
|
|
34
|
-
"types": "./dist/composables/index.d.ts",
|
|
35
|
-
"import": "./dist/composables/index.js"
|
|
36
|
-
},
|
|
37
|
-
"./skins": {
|
|
38
|
-
"types": "./dist/skins/index.d.ts",
|
|
39
|
-
"import": "./dist/skins/index.js"
|
|
40
|
-
}
|
|
41
|
-
},
|
|
42
|
-
"keywords": [
|
|
43
|
-
"vue",
|
|
44
|
-
"vue3",
|
|
45
|
-
"ui",
|
|
46
|
-
"components",
|
|
47
|
-
"mobile",
|
|
48
|
-
"desktop",
|
|
49
|
-
"embedded",
|
|
50
|
-
"headless",
|
|
51
|
-
"design-tokens",
|
|
52
|
-
"lumora",
|
|
53
|
-
"astrake",
|
|
54
|
-
"typescript"
|
|
55
|
-
],
|
|
56
|
-
"repository": {
|
|
57
|
-
"type": "git",
|
|
58
|
-
"url": "https://github.com/madlybong/LumoraUI.git"
|
|
59
|
-
},
|
|
60
|
-
"homepage": "https://ui.lumora.astrake.com",
|
|
61
|
-
"bugs": {
|
|
62
|
-
"url": "https://github.com/madlybong/LumoraUI/issues"
|
|
63
|
-
},
|
|
64
|
-
"funding": {
|
|
65
|
-
"type": "github",
|
|
66
|
-
"url": "https://github.com/sponsors/madlybong"
|
|
67
|
-
},
|
|
68
|
-
"publishConfig": {
|
|
69
|
-
"access": "public",
|
|
70
|
-
"registry": "https://registry.npmjs.org/"
|
|
71
|
-
},
|
|
72
|
-
"files": [
|
|
73
|
-
"dist",
|
|
74
|
-
"src/lumora.css",
|
|
75
|
-
"README.md",
|
|
76
|
-
"CHANGELOG.md"
|
|
77
|
-
],
|
|
78
|
-
"scripts": {
|
|
79
|
-
"prepack": "bun run build && bun -e \"await Bun.write('README.md', await Bun.file('../../README.md').text()); await Bun.write('CHANGELOG.md', await Bun.file('../../CHANGELOG.md').text())\"",
|
|
80
|
-
"postpack": "bun -e \"import { unlinkSync } from 'fs'; try { unlinkSync('README.md') } catch(e){} try { unlinkSync('CHANGELOG.md') } catch(e){}\"",
|
|
81
|
-
"build:types": "bun -e \"import { rmSync } from 'node:fs'; rmSync('dist', { recursive: true, force: true })\" && bun run vue-tsc -p tsconfig.build.json",
|
|
82
|
-
"build": "bun -e \"import { rmSync } from 'node:fs'; rmSync('dist', { recursive: true, force: true })\" && bun run vue-tsc -p tsconfig.build.json && bun run ../../node_modules/vite/bin/vite.js build -c vite.config.ts",
|
|
83
|
-
"check": "vue-tsc -p ./tsconfig.json"
|
|
84
|
-
},
|
|
85
|
-
"peerDependencies": {
|
|
86
|
-
"tailwindcss": "^4.0.0",
|
|
87
|
-
"vue": "^3.5.0"
|
|
88
|
-
},
|
|
89
|
-
"dependencies": {
|
|
90
|
-
"clsx": "^2.1.1",
|
|
91
|
-
"shiki": "^4.0.2",
|
|
92
|
-
"tailwind-merge": "^3.5.0"
|
|
93
|
-
}
|
|
94
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@astrake/lumora-ui",
|
|
3
|
+
"version": "0.2.2",
|
|
4
|
+
"description": "Headless Vue 3 component framework for three surface targets — Mobile, Desktop, and Embedded — with a unified --lu-* design token system.",
|
|
5
|
+
"author": "Anuvab Chakraborty (https://github.com/madlybong)",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"type": "module",
|
|
8
|
+
"main": "./dist/index.js",
|
|
9
|
+
"module": "./dist/index.js",
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"exports": {
|
|
12
|
+
".": {
|
|
13
|
+
"types": "./dist/index.d.ts",
|
|
14
|
+
"import": "./dist/index.js"
|
|
15
|
+
},
|
|
16
|
+
"./style": "./src/lumora.css",
|
|
17
|
+
"./tailwind": {
|
|
18
|
+
"types": "./dist/tailwind.d.ts",
|
|
19
|
+
"import": "./dist/tailwind.js"
|
|
20
|
+
},
|
|
21
|
+
"./layout": {
|
|
22
|
+
"types": "./dist/layout/index.d.ts",
|
|
23
|
+
"import": "./dist/layout/index.js"
|
|
24
|
+
},
|
|
25
|
+
"./shell": {
|
|
26
|
+
"types": "./dist/shell/index.d.ts",
|
|
27
|
+
"import": "./dist/shell/index.js"
|
|
28
|
+
},
|
|
29
|
+
"./components": {
|
|
30
|
+
"types": "./dist/components/index.d.ts",
|
|
31
|
+
"import": "./dist/components/index.js"
|
|
32
|
+
},
|
|
33
|
+
"./composables": {
|
|
34
|
+
"types": "./dist/composables/index.d.ts",
|
|
35
|
+
"import": "./dist/composables/index.js"
|
|
36
|
+
},
|
|
37
|
+
"./skins": {
|
|
38
|
+
"types": "./dist/skins/index.d.ts",
|
|
39
|
+
"import": "./dist/skins/index.js"
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"keywords": [
|
|
43
|
+
"vue",
|
|
44
|
+
"vue3",
|
|
45
|
+
"ui",
|
|
46
|
+
"components",
|
|
47
|
+
"mobile",
|
|
48
|
+
"desktop",
|
|
49
|
+
"embedded",
|
|
50
|
+
"headless",
|
|
51
|
+
"design-tokens",
|
|
52
|
+
"lumora",
|
|
53
|
+
"astrake",
|
|
54
|
+
"typescript"
|
|
55
|
+
],
|
|
56
|
+
"repository": {
|
|
57
|
+
"type": "git",
|
|
58
|
+
"url": "https://github.com/madlybong/LumoraUI.git"
|
|
59
|
+
},
|
|
60
|
+
"homepage": "https://ui.lumora.astrake.com",
|
|
61
|
+
"bugs": {
|
|
62
|
+
"url": "https://github.com/madlybong/LumoraUI/issues"
|
|
63
|
+
},
|
|
64
|
+
"funding": {
|
|
65
|
+
"type": "github",
|
|
66
|
+
"url": "https://github.com/sponsors/madlybong"
|
|
67
|
+
},
|
|
68
|
+
"publishConfig": {
|
|
69
|
+
"access": "public",
|
|
70
|
+
"registry": "https://registry.npmjs.org/"
|
|
71
|
+
},
|
|
72
|
+
"files": [
|
|
73
|
+
"dist",
|
|
74
|
+
"src/lumora.css",
|
|
75
|
+
"README.md",
|
|
76
|
+
"CHANGELOG.md"
|
|
77
|
+
],
|
|
78
|
+
"scripts": {
|
|
79
|
+
"prepack": "bun run build && bun -e \"await Bun.write('README.md', await Bun.file('../../README.md').text()); await Bun.write('CHANGELOG.md', await Bun.file('../../CHANGELOG.md').text())\"",
|
|
80
|
+
"postpack": "bun -e \"import { unlinkSync } from 'fs'; try { unlinkSync('README.md') } catch(e){} try { unlinkSync('CHANGELOG.md') } catch(e){}\"",
|
|
81
|
+
"build:types": "bun -e \"import { rmSync } from 'node:fs'; rmSync('dist', { recursive: true, force: true })\" && bun run vue-tsc -p tsconfig.build.json",
|
|
82
|
+
"build": "bun -e \"import { rmSync } from 'node:fs'; rmSync('dist', { recursive: true, force: true })\" && bun run vue-tsc -p tsconfig.build.json && bun run ../../node_modules/vite/bin/vite.js build -c vite.config.ts",
|
|
83
|
+
"check": "vue-tsc -p ./tsconfig.json"
|
|
84
|
+
},
|
|
85
|
+
"peerDependencies": {
|
|
86
|
+
"tailwindcss": "^4.0.0",
|
|
87
|
+
"vue": "^3.5.0"
|
|
88
|
+
},
|
|
89
|
+
"dependencies": {
|
|
90
|
+
"clsx": "^2.1.1",
|
|
91
|
+
"shiki": "^4.0.2",
|
|
92
|
+
"tailwind-merge": "^3.5.0"
|
|
93
|
+
}
|
|
94
|
+
}
|
package/src/lumora.css
CHANGED
|
@@ -1,16 +1,48 @@
|
|
|
1
|
-
/* LumoraUI structural baseline — Tailwind v4 Escape Hatch, v0.1.7+ */
|
|
2
|
-
/* Consumers MUST import this: import '@astrake/lumora-ui/style' */
|
|
3
|
-
|
|
4
|
-
/*
|
|
5
|
-
With the transition to Tailwind v4 as the native design engine,
|
|
6
|
-
all structural layout classes (e.g., .lu-button, .lu-stack) have been removed.
|
|
7
|
-
Layout structure is now provided by the defaultSkin (`default.ts`) out of the box.
|
|
8
|
-
|
|
9
|
-
This file serves as an escape hatch for:
|
|
10
|
-
1. Complex [data-state="..."] selector combinations.
|
|
11
|
-
2. Webkit scrollbar pseudoclasses.
|
|
12
|
-
3. Keyframe animations that Tailwind v4 cannot natively express.
|
|
13
|
-
*/
|
|
14
|
-
|
|
15
|
-
/* Example: Webkit Scrollbar overrides can go here */
|
|
16
|
-
|
|
1
|
+
/* LumoraUI structural baseline — Tailwind v4 Escape Hatch, v0.1.7+ */
|
|
2
|
+
/* Consumers MUST import this: import '@astrake/lumora-ui/style' */
|
|
3
|
+
|
|
4
|
+
/*
|
|
5
|
+
With the transition to Tailwind v4 as the native design engine,
|
|
6
|
+
all structural layout classes (e.g., .lu-button, .lu-stack) have been removed.
|
|
7
|
+
Layout structure is now provided by the defaultSkin (`default.ts`) out of the box.
|
|
8
|
+
|
|
9
|
+
This file serves as an escape hatch for:
|
|
10
|
+
1. Complex [data-state="..."] selector combinations.
|
|
11
|
+
2. Webkit scrollbar pseudoclasses.
|
|
12
|
+
3. Keyframe animations that Tailwind v4 cannot natively express.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
/* Example: Webkit Scrollbar overrides can go here */
|
|
16
|
+
|
|
17
|
+
.lu-collapsible-enter-active,
|
|
18
|
+
.lu-collapsible-leave-active {
|
|
19
|
+
display: grid;
|
|
20
|
+
transition: grid-template-rows 200ms ease;
|
|
21
|
+
}
|
|
22
|
+
.lu-collapsible-enter-from,
|
|
23
|
+
.lu-collapsible-leave-to {
|
|
24
|
+
grid-template-rows: 0fr;
|
|
25
|
+
}
|
|
26
|
+
.lu-collapsible-enter-to,
|
|
27
|
+
.lu-collapsible-leave-from {
|
|
28
|
+
grid-template-rows: 1fr;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
:root {
|
|
32
|
+
--lu-ease-spring: cubic-bezier(0.16, 1, 0.3, 1);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
@keyframes lu-fade-in {
|
|
36
|
+
from {
|
|
37
|
+
opacity: 0;
|
|
38
|
+
transform: scale(0.97) translateY(-3px);
|
|
39
|
+
}
|
|
40
|
+
to {
|
|
41
|
+
opacity: 1;
|
|
42
|
+
transform: scale(1) translateY(0);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.lu-fade-in {
|
|
47
|
+
animation: lu-fade-in 130ms var(--lu-ease-spring) forwards;
|
|
48
|
+
}
|