@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.
- package/CHANGELOG.md +141 -137
- package/dist/LuCodeBlock.vue_vue_type_script_setup_true_lang-BjwcjuXF.js +1623 -0
- package/dist/LuEmbeddedStatusBar.vue_vue_type_script_setup_true_lang-CIksvebU.js +218 -0
- package/dist/LuOverlay.vue_vue_type_script_setup_true_lang-DZch4Vrw.js +226 -0
- package/dist/components/LuAlert.vue.d.ts +20 -0
- package/dist/components/LuAvatar.vue.d.ts +19 -0
- package/dist/components/LuBadge.vue.d.ts +16 -0
- package/dist/components/LuBreadcrumb.vue.d.ts +16 -0
- package/dist/components/LuButton.vue.d.ts +24 -0
- package/dist/components/LuCard.vue.d.ts +21 -0
- package/dist/components/LuCheckbox.vue.d.ts +27 -0
- package/dist/components/LuCodeBlock.vue.d.ts +29 -0
- package/dist/components/LuCollapsible.vue.d.ts +25 -0
- package/dist/components/LuDivider.vue.d.ts +8 -0
- package/dist/components/LuForm.types.d.ts +18 -0
- package/dist/components/LuForm.vue.d.ts +55 -0
- package/dist/components/LuIcon.vue.d.ts +18 -0
- package/dist/components/LuInput.vue.d.ts +26 -0
- package/dist/components/LuLink.vue.d.ts +23 -0
- package/dist/components/LuMenu.vue.d.ts +26 -0
- package/dist/components/LuMenuItem.vue.d.ts +20 -0
- package/dist/components/LuModal.vue.d.ts +32 -0
- package/dist/components/LuPageHeader.vue.d.ts +10 -0
- package/dist/components/LuPagination.vue.d.ts +18 -0
- package/dist/components/LuProgressBar.vue.d.ts +7 -0
- package/dist/components/LuRadio.vue.d.ts +18 -0
- package/dist/components/LuRadioGroup.types.d.ts +8 -0
- package/dist/components/LuRadioGroup.vue.d.ts +24 -0
- package/dist/components/LuSelect.vue.d.ts +18 -0
- package/dist/components/LuSkeleton.vue.d.ts +5 -0
- package/dist/components/LuSpinner.vue.d.ts +5 -0
- package/dist/components/LuSwitch.vue.d.ts +15 -0
- package/dist/components/LuTab.vue.d.ts +16 -0
- package/dist/components/LuTabList.vue.d.ts +15 -0
- package/dist/components/LuTabPanel.vue.d.ts +16 -0
- package/dist/components/LuTable.vue.d.ts +15 -0
- package/dist/components/LuTableBody.vue.d.ts +15 -0
- package/dist/components/LuTableCell.vue.d.ts +15 -0
- package/dist/components/LuTableHead.vue.d.ts +15 -0
- package/dist/components/LuTableHeadCell.vue.d.ts +15 -0
- package/dist/components/LuTableRow.vue.d.ts +15 -0
- package/dist/components/LuTabs.vue.d.ts +20 -0
- package/dist/components/LuTag.vue.d.ts +20 -0
- package/dist/components/LuText.vue.d.ts +16 -0
- package/dist/components/LuTextarea.vue.d.ts +14 -0
- package/dist/components/LuThemeSelect.vue.d.ts +2 -0
- package/dist/components/LuThemeSwitch.vue.d.ts +2 -0
- package/dist/components/LuToggleButton.vue.d.ts +16 -0
- package/dist/components/LuToggleGroup.vue.d.ts +20 -0
- package/dist/components/LuTooltip.vue.d.ts +19 -0
- package/dist/components/__tests__/LuForm.test.d.ts +1 -0
- package/dist/components/index.js +47 -0
- package/{src/composables/index.ts → dist/composables/index.d.ts} +0 -1
- package/dist/composables/index.js +30 -0
- package/dist/composables/useRail.d.ts +6 -0
- package/dist/composables/useSplit.d.ts +4 -0
- package/dist/composables/useTheme.d.ts +7 -0
- package/dist/context-0gENwESP.js +62 -0
- package/dist/context.d.ts +8 -0
- package/{src/index.ts → dist/index.d.ts} +0 -1
- package/dist/index.js +94 -0
- package/dist/layout/LuDock.vue.d.ts +9 -0
- package/dist/layout/LuDockItem.vue.d.ts +16 -0
- package/dist/layout/LuFill.vue.d.ts +21 -0
- package/dist/layout/LuFixed.vue.d.ts +21 -0
- package/dist/layout/LuGrid.vue.d.ts +26 -0
- package/dist/layout/LuOverlay.vue.d.ts +15 -0
- package/dist/layout/LuScroll.vue.d.ts +15 -0
- package/dist/layout/LuSplit.vue.d.ts +16 -0
- package/dist/layout/LuSplitPane.vue.d.ts +18 -0
- package/dist/layout/LuSplitResizer.vue.d.ts +5 -0
- package/dist/layout/LuStack.vue.d.ts +23 -0
- package/{src/layout/index.ts → dist/layout/index.d.ts} +1 -14
- package/dist/layout/index.js +14 -0
- package/dist/plugin.d.ts +6 -0
- package/dist/shell/desktop/LuDesktopRailBar.vue.d.ts +17 -0
- package/dist/shell/desktop/LuDesktopRailItem.vue.d.ts +18 -0
- package/dist/shell/desktop/LuDesktopShell.vue.d.ts +23 -0
- package/dist/shell/desktop/LuDesktopSidebar.vue.d.ts +21 -0
- package/dist/shell/desktop/LuDesktopStatusBar.vue.d.ts +15 -0
- package/dist/shell/desktop/LuDesktopTopBar.vue.d.ts +15 -0
- package/dist/shell/embedded/LuEmbeddedShell.vue.d.ts +19 -0
- package/dist/shell/embedded/LuEmbeddedStatusBar.vue.d.ts +17 -0
- package/dist/shell/embedded/LuEmbeddedTopBar.vue.d.ts +19 -0
- package/{src/shell/index.ts → dist/shell/index.d.ts} +0 -1
- package/dist/shell/index.js +15 -0
- package/dist/shell/mobile/LuMobileHeader.vue.d.ts +19 -0
- package/dist/shell/mobile/LuMobileNavBar.vue.d.ts +15 -0
- package/dist/shell/mobile/LuMobileShell.vue.d.ts +21 -0
- package/dist/skins/default.d.ts +2 -0
- package/{src/skins/default.ts → dist/skins/index.js} +119 -129
- package/dist/tailwind.d.ts +1 -0
- package/dist/tailwind.js +13 -0
- package/dist/types.d.ts +15 -0
- package/dist/useTheme-Cd4wVaLs.js +21 -0
- package/dist/utils.d.ts +21 -0
- package/package.json +94 -69
- package/src/lumora.css +16 -16
- package/src/components/LuAlert.vue +0 -33
- package/src/components/LuAvatar.vue +0 -22
- package/src/components/LuBadge.vue +0 -15
- package/src/components/LuBreadcrumb.vue +0 -63
- package/src/components/LuButton.vue +0 -58
- package/src/components/LuCard.vue +0 -27
- package/src/components/LuCheckbox.vue +0 -94
- package/src/components/LuCodeBlock.vue +0 -168
- package/src/components/LuCollapsible.vue +0 -34
- package/src/components/LuDivider.vue +0 -18
- package/src/components/LuForm.types.ts +0 -24
- package/src/components/LuForm.vue +0 -121
- package/src/components/LuIcon.vue +0 -39
- package/src/components/LuInput.vue +0 -82
- package/src/components/LuLink.vue +0 -47
- package/src/components/LuMenu.vue +0 -86
- package/src/components/LuMenuItem.vue +0 -37
- package/src/components/LuModal.vue +0 -115
- package/src/components/LuPageHeader.vue +0 -24
- package/src/components/LuPagination.vue +0 -118
- package/src/components/LuProgressBar.vue +0 -21
- package/src/components/LuRadio.vue +0 -55
- package/src/components/LuRadioGroup.types.ts +0 -10
- package/src/components/LuRadioGroup.vue +0 -66
- package/src/components/LuSelect.vue +0 -67
- package/src/components/LuSkeleton.vue +0 -15
- package/src/components/LuSpinner.vue +0 -36
- package/src/components/LuSwitch.vue +0 -76
- package/src/components/LuTab.vue +0 -26
- package/src/components/LuTabList.vue +0 -15
- package/src/components/LuTabPanel.vue +0 -19
- package/src/components/LuTable.vue +0 -15
- package/src/components/LuTableBody.vue +0 -15
- package/src/components/LuTableCell.vue +0 -15
- package/src/components/LuTableHead.vue +0 -15
- package/src/components/LuTableHeadCell.vue +0 -15
- package/src/components/LuTableRow.vue +0 -15
- package/src/components/LuTabs.vue +0 -30
- package/src/components/LuTag.vue +0 -35
- package/src/components/LuText.vue +0 -18
- package/src/components/LuTextarea.vue +0 -62
- package/src/components/LuThemeSelect.vue +0 -26
- package/src/components/LuThemeSwitch.vue +0 -22
- package/src/components/LuToggleButton.vue +0 -35
- package/src/components/LuToggleGroup.vue +0 -27
- package/src/components/LuTooltip.vue +0 -36
- package/src/components/__tests__/LuForm.test.ts +0 -206
- package/src/composables/useRail.ts +0 -24
- package/src/composables/useSplit.ts +0 -17
- package/src/composables/useTheme.ts +0 -36
- package/src/context.ts +0 -39
- package/src/layout/LuDock.vue +0 -56
- package/src/layout/LuDockItem.vue +0 -20
- package/src/layout/LuFill.vue +0 -27
- package/src/layout/LuFixed.vue +0 -27
- package/src/layout/LuGrid.vue +0 -45
- package/src/layout/LuOverlay.vue +0 -17
- package/src/layout/LuScroll.vue +0 -19
- package/src/layout/LuSplit.vue +0 -23
- package/src/layout/LuSplitPane.vue +0 -32
- package/src/layout/LuSplitResizer.vue +0 -19
- package/src/layout/LuStack.vue +0 -29
- package/src/plugin.ts +0 -28
- package/src/shell/desktop/LuDesktopRailBar.vue +0 -23
- package/src/shell/desktop/LuDesktopRailItem.vue +0 -23
- package/src/shell/desktop/LuDesktopShell.vue +0 -25
- package/src/shell/desktop/LuDesktopSidebar.vue +0 -36
- package/src/shell/desktop/LuDesktopStatusBar.vue +0 -15
- package/src/shell/desktop/LuDesktopTopBar.vue +0 -15
- package/src/shell/embedded/LuEmbeddedShell.vue +0 -20
- package/src/shell/embedded/LuEmbeddedStatusBar.vue +0 -16
- package/src/shell/embedded/LuEmbeddedTopBar.vue +0 -17
- package/src/shell/mobile/LuMobileHeader.vue +0 -17
- package/src/shell/mobile/LuMobileNavBar.vue +0 -15
- package/src/shell/mobile/LuMobileShell.vue +0 -21
- package/src/tailwind.ts +0 -25
- package/src/types.ts +0 -18
- package/src/utils.ts +0 -95
- package/tsconfig.json +0 -10
- /package/{src/components/index.ts → dist/components/index.d.ts} +0 -0
- /package/{src/skins/index.ts → dist/skins/index.d.ts} +0 -0
|
@@ -1,32 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
export const defaultSkin: SkinMap = {
|
|
1
|
+
const e = {
|
|
4
2
|
LuButton: {
|
|
5
|
-
default:
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
"border-transparent bg-transparent text-gray-600 hover:bg-gray-100 hover:text-gray-900 active:bg-gray-200 dark:text-gray-400 dark:hover:bg-gray-800 dark:hover:text-gray-100",
|
|
13
|
-
danger:
|
|
14
|
-
"border-red-600 bg-red-600 text-white shadow-sm hover:bg-red-700 hover:border-red-700 active:bg-red-800 dark:border-red-500 dark:bg-red-500 dark:hover:bg-red-600",
|
|
15
|
-
icon:
|
|
16
|
-
"border-transparent bg-transparent p-2 text-gray-500 hover:bg-gray-100 hover:text-gray-700 active:bg-gray-200 dark:text-gray-400 dark:hover:bg-gray-800 dark:hover:text-gray-200",
|
|
17
|
-
"code-action":
|
|
18
|
-
"h-8 w-8 rounded-md border-transparent bg-gray-950/50 text-white backdrop-blur-sm hover:bg-gray-950/80 active:bg-gray-950",
|
|
3
|
+
default: "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md border border-gray-200 bg-white text-gray-900 shadow-sm hover:bg-gray-50 px-4 py-2 text-sm font-medium transition-all duration-150 ease-in-out focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 dark:border-gray-800 dark:bg-gray-950 dark:text-gray-50 dark:hover:bg-gray-900 dark:focus-visible:ring-offset-gray-900",
|
|
4
|
+
primary: "border-blue-600 bg-blue-600 text-white shadow-sm hover:bg-blue-700 hover:border-blue-700 active:bg-blue-800 dark:border-blue-500 dark:bg-blue-500 dark:hover:bg-blue-600 dark:hover:border-blue-600",
|
|
5
|
+
secondary: "border-gray-300 bg-white text-gray-700 shadow-sm hover:bg-gray-50 hover:border-gray-400 active:bg-gray-100 dark:border-gray-600 dark:bg-gray-900 dark:text-gray-200 dark:hover:bg-gray-800 dark:hover:border-gray-500",
|
|
6
|
+
ghost: "border-transparent bg-transparent text-gray-600 hover:bg-gray-100 hover:text-gray-900 active:bg-gray-200 dark:text-gray-400 dark:hover:bg-gray-800 dark:hover:text-gray-100",
|
|
7
|
+
danger: "border-red-600 bg-red-600 text-white shadow-sm hover:bg-red-700 hover:border-red-700 active:bg-red-800 dark:border-red-500 dark:bg-red-500 dark:hover:bg-red-600",
|
|
8
|
+
icon: "border-transparent bg-transparent p-2 text-gray-500 hover:bg-gray-100 hover:text-gray-700 active:bg-gray-200 dark:text-gray-400 dark:hover:bg-gray-800 dark:hover:text-gray-200",
|
|
9
|
+
"code-action": "h-8 w-8 rounded-md border-transparent bg-gray-950/50 text-white backdrop-blur-sm hover:bg-gray-950/80 active:bg-gray-950"
|
|
19
10
|
},
|
|
20
11
|
LuIcon: {
|
|
21
12
|
default: "inline-flex items-center justify-center shrink-0",
|
|
22
13
|
sm: "w-4 h-4",
|
|
23
14
|
md: "w-5 h-5",
|
|
24
15
|
lg: "w-6 h-6",
|
|
25
|
-
xl: "w-8 h-8"
|
|
16
|
+
xl: "w-8 h-8"
|
|
26
17
|
},
|
|
27
18
|
LuInput: {
|
|
28
|
-
default:
|
|
29
|
-
"flex h-10 w-full rounded-md border border-gray-300 bg-transparent px-3 py-2 text-sm placeholder:text-gray-400 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent disabled:cursor-not-allowed disabled:opacity-50 dark:border-gray-700 dark:text-gray-50 dark:focus:ring-blue-500",
|
|
19
|
+
default: "flex h-10 w-full rounded-md border border-gray-300 bg-transparent px-3 py-2 text-sm placeholder:text-gray-400 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent disabled:cursor-not-allowed disabled:opacity-50 dark:border-gray-700 dark:text-gray-50 dark:focus:ring-blue-500"
|
|
30
20
|
},
|
|
31
21
|
LuInputPrepend: {
|
|
32
22
|
default: "absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none text-gray-400 dark:text-gray-500"
|
|
@@ -35,215 +25,214 @@ export const defaultSkin: SkinMap = {
|
|
|
35
25
|
default: "absolute inset-y-0 right-0 flex items-center pr-3 pointer-events-none text-gray-400 dark:text-gray-500"
|
|
36
26
|
},
|
|
37
27
|
LuTextarea: {
|
|
38
|
-
default:
|
|
39
|
-
|
|
40
|
-
error: "flex min-h-[80px] w-full rounded-md border border-red-500 bg-white px-3 py-2 text-sm placeholder:text-gray-400 focus:outline-none focus:ring-2 focus:ring-red-500 disabled:opacity-50 dark:border-red-500 dark:bg-gray-900 dark:text-gray-100 dark:placeholder:text-gray-500",
|
|
28
|
+
default: "flex min-h-[80px] w-full rounded-md border border-gray-300 bg-white px-3 py-2 text-sm placeholder:text-gray-400 focus:outline-none focus:ring-2 focus:ring-blue-500 disabled:opacity-50 dark:border-gray-700 dark:bg-gray-900 dark:text-gray-100 dark:placeholder:text-gray-500",
|
|
29
|
+
error: "flex min-h-[80px] w-full rounded-md border border-red-500 bg-white px-3 py-2 text-sm placeholder:text-gray-400 focus:outline-none focus:ring-2 focus:ring-red-500 disabled:opacity-50 dark:border-red-500 dark:bg-gray-900 dark:text-gray-100 dark:placeholder:text-gray-500"
|
|
41
30
|
},
|
|
42
31
|
LuCheckboxContainer: {
|
|
43
|
-
default: "flex items-center space-x-2"
|
|
32
|
+
default: "flex items-center space-x-2"
|
|
44
33
|
},
|
|
45
34
|
LuCheckbox: {
|
|
46
|
-
default: "h-4 w-4 rounded border-gray-300 text-blue-600 focus:ring-blue-500 disabled:opacity-50 dark:border-gray-700 dark:bg-gray-900 dark:ring-offset-gray-900 dark:focus:ring-blue-500"
|
|
35
|
+
default: "h-4 w-4 rounded border-gray-300 text-blue-600 focus:ring-blue-500 disabled:opacity-50 dark:border-gray-700 dark:bg-gray-900 dark:ring-offset-gray-900 dark:focus:ring-blue-500"
|
|
47
36
|
},
|
|
48
37
|
LuCheckboxLabel: {
|
|
49
|
-
default: "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 text-gray-900 dark:text-gray-100 cursor-pointer"
|
|
38
|
+
default: "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 text-gray-900 dark:text-gray-100 cursor-pointer"
|
|
50
39
|
},
|
|
51
40
|
LuRadioGroup: {
|
|
52
41
|
default: "flex flex-col space-y-2",
|
|
53
|
-
horizontal: "flex flex-row space-x-4"
|
|
42
|
+
horizontal: "flex flex-row space-x-4"
|
|
54
43
|
},
|
|
55
44
|
LuRadioContainer: {
|
|
56
|
-
default: "flex items-center space-x-2"
|
|
45
|
+
default: "flex items-center space-x-2"
|
|
57
46
|
},
|
|
58
47
|
LuRadio: {
|
|
59
|
-
default: "h-4 w-4 rounded-full border-gray-300 text-blue-600 focus:ring-blue-500 disabled:opacity-50 dark:border-gray-700 dark:bg-gray-900 dark:ring-offset-gray-900 dark:focus:ring-blue-500"
|
|
48
|
+
default: "h-4 w-4 rounded-full border-gray-300 text-blue-600 focus:ring-blue-500 disabled:opacity-50 dark:border-gray-700 dark:bg-gray-900 dark:ring-offset-gray-900 dark:focus:ring-blue-500"
|
|
60
49
|
},
|
|
61
50
|
LuRadioLabel: {
|
|
62
|
-
default: "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 text-gray-900 dark:text-gray-100 cursor-pointer"
|
|
51
|
+
default: "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 text-gray-900 dark:text-gray-100 cursor-pointer"
|
|
63
52
|
},
|
|
64
53
|
LuAlert: {
|
|
65
54
|
default: "relative w-full rounded-lg border p-4 flex gap-3 text-sm bg-white text-gray-900 border-gray-200 dark:bg-gray-950 dark:text-gray-100 dark:border-gray-800",
|
|
66
55
|
success: "relative w-full rounded-lg border p-4 flex gap-3 text-sm bg-green-50 text-green-900 border-green-200 dark:bg-green-900/20 dark:text-green-100 dark:border-green-900/50",
|
|
67
56
|
warning: "relative w-full rounded-lg border p-4 flex gap-3 text-sm bg-yellow-50 text-yellow-900 border-yellow-200 dark:bg-yellow-900/20 dark:text-yellow-100 dark:border-yellow-900/50",
|
|
68
57
|
destructive: "relative w-full rounded-lg border p-4 flex gap-3 text-sm bg-red-50 text-red-900 border-red-200 dark:bg-red-900/20 dark:text-red-100 dark:border-red-900/50",
|
|
69
|
-
info: "relative w-full rounded-lg border p-4 flex gap-3 text-sm bg-blue-50 text-blue-900 border-blue-200 dark:bg-blue-900/20 dark:text-blue-100 dark:border-blue-900/50"
|
|
58
|
+
info: "relative w-full rounded-lg border p-4 flex gap-3 text-sm bg-blue-50 text-blue-900 border-blue-200 dark:bg-blue-900/20 dark:text-blue-100 dark:border-blue-900/50"
|
|
70
59
|
},
|
|
71
60
|
LuAlertIcon: {
|
|
72
|
-
default: "shrink-0 mt-0.5 w-5 h-5"
|
|
61
|
+
default: "shrink-0 mt-0.5 w-5 h-5"
|
|
73
62
|
},
|
|
74
63
|
LuAlertContent: {
|
|
75
|
-
default: "flex-1 flex flex-col gap-1"
|
|
64
|
+
default: "flex-1 flex flex-col gap-1"
|
|
76
65
|
},
|
|
77
66
|
LuAlertAction: {
|
|
78
|
-
default: "shrink-0 ml-auto"
|
|
67
|
+
default: "shrink-0 ml-auto"
|
|
79
68
|
},
|
|
80
69
|
LuSpinner: {
|
|
81
70
|
default: "animate-spin text-gray-900 dark:text-gray-100 h-5 w-5",
|
|
82
71
|
sm: "animate-spin text-gray-900 dark:text-gray-100 h-4 w-4",
|
|
83
72
|
md: "animate-spin text-gray-900 dark:text-gray-100 h-5 w-5",
|
|
84
73
|
lg: "animate-spin text-gray-900 dark:text-gray-100 h-8 w-8",
|
|
85
|
-
primary: "animate-spin text-blue-600 dark:text-blue-500 h-5 w-5"
|
|
74
|
+
primary: "animate-spin text-blue-600 dark:text-blue-500 h-5 w-5"
|
|
86
75
|
},
|
|
87
76
|
LuSkeleton: {
|
|
88
77
|
default: "animate-pulse rounded-md bg-gray-200 dark:bg-gray-800",
|
|
89
78
|
circle: "animate-pulse rounded-full bg-gray-200 dark:bg-gray-800",
|
|
90
79
|
line: "animate-pulse rounded bg-gray-200 dark:bg-gray-800 h-4 w-full",
|
|
91
|
-
block: "animate-pulse rounded-md bg-gray-200 dark:bg-gray-800 h-24 w-full"
|
|
80
|
+
block: "animate-pulse rounded-md bg-gray-200 dark:bg-gray-800 h-24 w-full"
|
|
92
81
|
},
|
|
93
82
|
LuTag: {
|
|
94
|
-
default: "inline-flex items-center rounded-md border border-gray-200 px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-gray-950 focus:ring-offset-2 dark:border-gray-800 dark:focus:ring-gray-300"
|
|
83
|
+
default: "inline-flex items-center rounded-md border border-gray-200 px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-gray-950 focus:ring-offset-2 dark:border-gray-800 dark:focus:ring-gray-300"
|
|
95
84
|
},
|
|
96
85
|
LuTagCloseButton: {
|
|
97
|
-
default: "ml-1 inline-flex items-center rounded-full outline-none hover:bg-gray-200 focus:bg-gray-200 dark:hover:bg-gray-800 dark:focus:bg-gray-800"
|
|
86
|
+
default: "ml-1 inline-flex items-center rounded-full outline-none hover:bg-gray-200 focus:bg-gray-200 dark:hover:bg-gray-800 dark:focus:bg-gray-800"
|
|
98
87
|
},
|
|
99
88
|
LuTagIcon: {
|
|
100
|
-
default: "h-3 w-3"
|
|
89
|
+
default: "h-3 w-3"
|
|
101
90
|
},
|
|
102
91
|
LuBreadcrumb: {
|
|
103
|
-
default: "flex flex-wrap items-center gap-1.5 break-words text-sm text-gray-500 sm:gap-2.5 dark:text-gray-400"
|
|
92
|
+
default: "flex flex-wrap items-center gap-1.5 break-words text-sm text-gray-500 sm:gap-2.5 dark:text-gray-400"
|
|
104
93
|
},
|
|
105
94
|
LuBreadcrumbItem: {
|
|
106
|
-
default: "inline-flex items-center gap-1.5"
|
|
95
|
+
default: "inline-flex items-center gap-1.5"
|
|
107
96
|
},
|
|
108
97
|
LuBreadcrumbLink: {
|
|
109
|
-
default: "transition-colors hover:text-gray-950 dark:hover:text-gray-50"
|
|
98
|
+
default: "transition-colors hover:text-gray-950 dark:hover:text-gray-50"
|
|
110
99
|
},
|
|
111
100
|
LuBreadcrumbPage: {
|
|
112
|
-
default: "font-normal text-gray-950 dark:text-gray-50"
|
|
101
|
+
default: "font-normal text-gray-950 dark:text-gray-50"
|
|
113
102
|
},
|
|
114
103
|
LuBreadcrumbSeparator: {
|
|
115
|
-
default: "h-3.5 w-3.5"
|
|
104
|
+
default: "h-3.5 w-3.5"
|
|
116
105
|
},
|
|
117
106
|
LuMenu: {
|
|
118
|
-
default: "relative inline-block text-left"
|
|
107
|
+
default: "relative inline-block text-left"
|
|
119
108
|
},
|
|
120
109
|
LuMenuTrigger: {
|
|
121
|
-
default: "inline-flex items-center justify-center"
|
|
110
|
+
default: "inline-flex items-center justify-center"
|
|
122
111
|
},
|
|
123
112
|
LuMenuContent: {
|
|
124
|
-
default: "absolute z-50 mt-2 min-w-[8rem] rounded-md border border-gray-200 bg-white p-1 text-gray-950 shadow-md dark:border-gray-800 dark:bg-gray-950 dark:text-gray-50"
|
|
113
|
+
default: "absolute z-50 mt-2 min-w-[8rem] rounded-md border border-gray-200 bg-white p-1 text-gray-950 shadow-md dark:border-gray-800 dark:bg-gray-950 dark:text-gray-50"
|
|
125
114
|
},
|
|
126
115
|
LuMenuGroup: {
|
|
127
|
-
default: "flex flex-col gap-1"
|
|
116
|
+
default: "flex flex-col gap-1"
|
|
128
117
|
},
|
|
129
118
|
LuMenuItem: {
|
|
130
|
-
default: "relative flex w-full cursor-pointer select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors hover:bg-gray-100 focus:bg-gray-100 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 dark:hover:bg-gray-800 dark:focus:bg-gray-800"
|
|
119
|
+
default: "relative flex w-full cursor-pointer select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors hover:bg-gray-100 focus:bg-gray-100 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 dark:hover:bg-gray-800 dark:focus:bg-gray-800"
|
|
131
120
|
},
|
|
132
121
|
LuPagination: {
|
|
133
|
-
default: "flex flex-row items-center justify-center gap-2"
|
|
122
|
+
default: "flex flex-row items-center justify-center gap-2"
|
|
134
123
|
},
|
|
135
124
|
LuPaginationButton: {
|
|
136
|
-
default: "h-9 w-9 p-0 disabled:opacity-50 disabled:pointer-events-none"
|
|
125
|
+
default: "h-9 w-9 p-0 disabled:opacity-50 disabled:pointer-events-none"
|
|
137
126
|
},
|
|
138
127
|
LuPaginationPages: {
|
|
139
|
-
default: "flex flex-row items-center gap-1"
|
|
128
|
+
default: "flex flex-row items-center gap-1"
|
|
140
129
|
},
|
|
141
130
|
LuPaginationPageButton: {
|
|
142
|
-
default: "h-9 w-9 p-0"
|
|
131
|
+
default: "h-9 w-9 p-0"
|
|
143
132
|
},
|
|
144
133
|
LuPaginationEllipsis: {
|
|
145
|
-
default: "flex h-9 w-9 items-center justify-center"
|
|
134
|
+
default: "flex h-9 w-9 items-center justify-center"
|
|
146
135
|
},
|
|
147
136
|
LuModalOverlay: {
|
|
148
|
-
default: "fixed inset-0 z-50 bg-black/50 backdrop-blur-sm grid place-items-center p-4"
|
|
137
|
+
default: "fixed inset-0 z-50 bg-black/50 backdrop-blur-sm grid place-items-center p-4"
|
|
149
138
|
},
|
|
150
139
|
LuModal: {
|
|
151
|
-
default: "relative w-full max-w-lg rounded-xl border border-gray-200 bg-white shadow-lg dark:border-gray-800 dark:bg-gray-950"
|
|
140
|
+
default: "relative w-full max-w-lg rounded-xl border border-gray-200 bg-white shadow-lg dark:border-gray-800 dark:bg-gray-950"
|
|
152
141
|
},
|
|
153
142
|
LuModalHeader: {
|
|
154
|
-
default: "flex flex-col space-y-1.5 p-6 text-center sm:text-left"
|
|
143
|
+
default: "flex flex-col space-y-1.5 p-6 text-center sm:text-left"
|
|
155
144
|
},
|
|
156
145
|
LuModalContent: {
|
|
157
|
-
default: "p-6 pt-0"
|
|
146
|
+
default: "p-6 pt-0"
|
|
158
147
|
},
|
|
159
148
|
LuModalFooter: {
|
|
160
|
-
default: "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2 p-6 pt-0"
|
|
149
|
+
default: "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2 p-6 pt-0"
|
|
161
150
|
},
|
|
162
151
|
LuModalCloseButton: {
|
|
163
|
-
default: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-white transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-gray-950 focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-gray-100 data-[state=open]:text-gray-500 dark:ring-offset-gray-950 dark:focus:ring-gray-300 dark:data-[state=open]:bg-gray-800 dark:data-[state=open]:text-gray-400"
|
|
152
|
+
default: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-white transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-gray-950 focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-gray-100 data-[state=open]:text-gray-500 dark:ring-offset-gray-950 dark:focus:ring-gray-300 dark:data-[state=open]:bg-gray-800 dark:data-[state=open]:text-gray-400"
|
|
164
153
|
},
|
|
165
154
|
LuDesktopRailBar: {
|
|
166
155
|
default: "flex flex-col w-12 h-full border-r border-gray-200 bg-white transition-all duration-200 overflow-hidden dark:bg-gray-900 dark:border-gray-800 shrink-0",
|
|
167
|
-
expanded: "w-56"
|
|
156
|
+
expanded: "w-56"
|
|
168
157
|
},
|
|
169
158
|
LuDesktopRailItem: {
|
|
170
159
|
default: "flex items-center gap-3 px-3 py-2 text-gray-600 hover:bg-gray-100 cursor-pointer whitespace-nowrap dark:text-gray-300 dark:hover:bg-gray-800",
|
|
171
|
-
active: "bg-blue-50 text-blue-700 font-medium dark:bg-blue-900/50 dark:text-blue-400"
|
|
160
|
+
active: "bg-blue-50 text-blue-700 font-medium dark:bg-blue-900/50 dark:text-blue-400"
|
|
172
161
|
},
|
|
173
162
|
LuDesktopTopBar: {
|
|
174
|
-
default: "flex items-center justify-between w-full h-14 border-b border-gray-200 bg-white px-4 shrink-0 dark:bg-gray-900 dark:border-gray-800"
|
|
163
|
+
default: "flex items-center justify-between w-full h-14 border-b border-gray-200 bg-white px-4 shrink-0 dark:bg-gray-900 dark:border-gray-800"
|
|
175
164
|
},
|
|
176
165
|
LuDesktopSidebar: {
|
|
177
|
-
default: "flex flex-col w-64 shrink-0 border-r border-gray-200 bg-gray-50 overflow-y-auto h-full dark:bg-gray-800 dark:border-gray-800"
|
|
166
|
+
default: "flex flex-col w-64 shrink-0 border-r border-gray-200 bg-gray-50 overflow-y-auto h-full dark:bg-gray-800 dark:border-gray-800"
|
|
178
167
|
},
|
|
179
168
|
LuDesktopSidebarHeader: {
|
|
180
|
-
default: "p-4 shrink-0"
|
|
169
|
+
default: "p-4 shrink-0"
|
|
181
170
|
},
|
|
182
171
|
LuDesktopSidebarContent: {
|
|
183
|
-
default: "flex-1 overflow-y-auto p-4"
|
|
172
|
+
default: "flex-1 overflow-y-auto p-4"
|
|
184
173
|
},
|
|
185
174
|
LuDesktopSidebarFooter: {
|
|
186
|
-
default: "p-4 shrink-0"
|
|
175
|
+
default: "p-4 shrink-0"
|
|
187
176
|
},
|
|
188
177
|
LuDesktopStatusBar: {
|
|
189
|
-
default: "flex items-center justify-between w-full h-8 border-t border-gray-200 bg-gray-50 px-4 text-xs text-gray-500 shrink-0 dark:bg-gray-800 dark:border-gray-800 dark:text-gray-400"
|
|
178
|
+
default: "flex items-center justify-between w-full h-8 border-t border-gray-200 bg-gray-50 px-4 text-xs text-gray-500 shrink-0 dark:bg-gray-800 dark:border-gray-800 dark:text-gray-400"
|
|
190
179
|
},
|
|
191
180
|
LuDesktopShell: {
|
|
192
|
-
default: "flex flex-col h-screen w-full overflow-hidden bg-white text-gray-900 dark:bg-gray-950 dark:text-gray-100"
|
|
181
|
+
default: "flex flex-col h-screen w-full overflow-hidden bg-white text-gray-900 dark:bg-gray-950 dark:text-gray-100"
|
|
193
182
|
},
|
|
194
183
|
LuDesktopShellContentWrapper: {
|
|
195
|
-
default: "flex flex-1 w-full overflow-hidden"
|
|
184
|
+
default: "flex flex-1 w-full overflow-hidden"
|
|
196
185
|
},
|
|
197
186
|
LuDesktopShellMainContent: {
|
|
198
|
-
default: "flex flex-1 flex-col overflow-hidden relative"
|
|
187
|
+
default: "flex flex-1 flex-col overflow-hidden relative"
|
|
199
188
|
},
|
|
200
189
|
LuSplit: {
|
|
201
190
|
default: "flex w-full h-full overflow-hidden",
|
|
202
191
|
horizontal: "flex flex-row w-full h-full overflow-hidden",
|
|
203
|
-
vertical: "flex flex-col w-full h-full overflow-hidden"
|
|
192
|
+
vertical: "flex flex-col w-full h-full overflow-hidden"
|
|
204
193
|
},
|
|
205
194
|
LuSplitPane: {
|
|
206
|
-
default: "relative overflow-hidden"
|
|
195
|
+
default: "relative overflow-hidden"
|
|
207
196
|
},
|
|
208
197
|
LuSplitResizer: {
|
|
209
198
|
default: "bg-gray-200 hover:bg-blue-400 transition-colors z-10 dark:bg-gray-800 dark:hover:bg-blue-500",
|
|
210
199
|
horizontal: "w-1 cursor-col-resize",
|
|
211
|
-
vertical: "h-1 cursor-row-resize"
|
|
200
|
+
vertical: "h-1 cursor-row-resize"
|
|
212
201
|
},
|
|
213
202
|
LuMobileShell: {
|
|
214
|
-
default: "flex flex-col h-full w-full overflow-hidden bg-white text-gray-900 dark:bg-gray-950 dark:text-gray-100"
|
|
203
|
+
default: "flex flex-col h-full w-full overflow-hidden bg-white text-gray-900 dark:bg-gray-950 dark:text-gray-100"
|
|
215
204
|
},
|
|
216
205
|
LuMobileShellContent: {
|
|
217
|
-
default: "flex flex-1 flex-col overflow-hidden relative"
|
|
206
|
+
default: "flex flex-1 flex-col overflow-hidden relative"
|
|
218
207
|
},
|
|
219
208
|
LuMobileNavBar: {
|
|
220
|
-
default: "flex items-center justify-around w-full h-14 border-t border-gray-200 bg-white shrink-0 pb-safe dark:bg-gray-900 dark:border-gray-800"
|
|
209
|
+
default: "flex items-center justify-around w-full h-14 border-t border-gray-200 bg-white shrink-0 pb-safe dark:bg-gray-900 dark:border-gray-800"
|
|
221
210
|
},
|
|
222
211
|
LuMobileHeader: {
|
|
223
|
-
default: "flex items-center justify-between w-full h-14 border-b border-gray-200 bg-white px-4 shrink-0 pt-safe dark:bg-gray-900 dark:border-gray-800"
|
|
212
|
+
default: "flex items-center justify-between w-full h-14 border-b border-gray-200 bg-white px-4 shrink-0 pt-safe dark:bg-gray-900 dark:border-gray-800"
|
|
224
213
|
},
|
|
225
214
|
LuEmbeddedShell: {
|
|
226
|
-
default: "flex flex-col h-full w-full overflow-hidden bg-white text-gray-900 dark:bg-gray-950 dark:text-gray-100 select-none"
|
|
215
|
+
default: "flex flex-col h-full w-full overflow-hidden bg-white text-gray-900 dark:bg-gray-950 dark:text-gray-100 select-none"
|
|
227
216
|
},
|
|
228
217
|
LuEmbeddedShellContent: {
|
|
229
|
-
default: "flex flex-1 w-full overflow-hidden relative"
|
|
218
|
+
default: "flex flex-1 w-full overflow-hidden relative"
|
|
230
219
|
},
|
|
231
220
|
LuEmbeddedTopBar: {
|
|
232
|
-
default: "flex items-center justify-between w-full h-16 bg-gray-900 text-white px-6 shrink-0"
|
|
221
|
+
default: "flex items-center justify-between w-full h-16 bg-gray-900 text-white px-6 shrink-0"
|
|
233
222
|
},
|
|
234
223
|
LuEmbeddedStatusBar: {
|
|
235
|
-
default: "flex items-center justify-between w-full h-10 bg-gray-800 text-gray-300 px-6 text-sm shrink-0"
|
|
224
|
+
default: "flex items-center justify-between w-full h-10 bg-gray-800 text-gray-300 px-6 text-sm shrink-0"
|
|
236
225
|
},
|
|
237
226
|
LuStack: {
|
|
238
227
|
default: "flex",
|
|
239
228
|
vertical: "flex flex-col",
|
|
240
229
|
horizontal: "flex flex-row",
|
|
241
|
-
container: "flex flex-col w-full max-w-4xl mx-auto min-h-full"
|
|
230
|
+
container: "flex flex-col w-full max-w-4xl mx-auto min-h-full"
|
|
242
231
|
},
|
|
243
232
|
LuDock: {
|
|
244
233
|
default: "flex flex-col h-full w-full overflow-hidden",
|
|
245
234
|
vertical: "flex flex-col h-full w-full overflow-hidden",
|
|
246
|
-
horizontal: "flex flex-row h-full w-full overflow-hidden"
|
|
235
|
+
horizontal: "flex flex-row h-full w-full overflow-hidden"
|
|
247
236
|
},
|
|
248
237
|
LuDockItem: {
|
|
249
238
|
default: "shrink-0",
|
|
@@ -251,37 +240,37 @@ export const defaultSkin: SkinMap = {
|
|
|
251
240
|
bottom: "shrink-0",
|
|
252
241
|
left: "shrink-0 h-full",
|
|
253
242
|
right: "shrink-0 h-full",
|
|
254
|
-
fill: "flex-1 min-h-0 min-w-0 overflow-hidden"
|
|
243
|
+
fill: "flex-1 min-h-0 min-w-0 overflow-hidden"
|
|
255
244
|
},
|
|
256
245
|
LuFixed: {
|
|
257
|
-
default: "shrink-0"
|
|
246
|
+
default: "shrink-0"
|
|
258
247
|
},
|
|
259
248
|
LuFill: {
|
|
260
|
-
default: "flex-1 min-h-0 min-w-0 overflow-hidden"
|
|
249
|
+
default: "flex-1 min-h-0 min-w-0 overflow-hidden"
|
|
261
250
|
},
|
|
262
251
|
LuScroll: {
|
|
263
252
|
default: "overflow-y-auto h-full",
|
|
264
|
-
horizontal: "overflow-x-auto w-full"
|
|
253
|
+
horizontal: "overflow-x-auto w-full"
|
|
265
254
|
},
|
|
266
255
|
LuOverlay: {
|
|
267
|
-
default: "absolute inset-0 z-50"
|
|
256
|
+
default: "absolute inset-0 z-50"
|
|
268
257
|
},
|
|
269
258
|
LuGrid: {
|
|
270
259
|
default: "grid",
|
|
271
|
-
"responsive-3": "grid grid-cols-1 md:grid-cols-3 lg:grid-cols-3"
|
|
260
|
+
"responsive-3": "grid grid-cols-1 md:grid-cols-3 lg:grid-cols-3"
|
|
272
261
|
},
|
|
273
262
|
LuAvatar: {
|
|
274
263
|
default: "relative inline-flex h-10 w-10 shrink-0 overflow-hidden rounded-full",
|
|
275
264
|
sm: "h-8 w-8",
|
|
276
265
|
md: "h-10 w-10",
|
|
277
266
|
lg: "h-12 w-12",
|
|
278
|
-
xl: "h-16 w-16"
|
|
267
|
+
xl: "h-16 w-16"
|
|
279
268
|
},
|
|
280
269
|
LuAvatarImage: {
|
|
281
|
-
default: "aspect-square h-full w-full object-cover"
|
|
270
|
+
default: "aspect-square h-full w-full object-cover"
|
|
282
271
|
},
|
|
283
272
|
LuAvatarFallback: {
|
|
284
|
-
default: "flex h-full w-full items-center justify-center rounded-full bg-gray-200 text-gray-700 text-sm font-medium dark:bg-gray-700 dark:text-gray-200"
|
|
273
|
+
default: "flex h-full w-full items-center justify-center rounded-full bg-gray-200 text-gray-700 text-sm font-medium dark:bg-gray-700 dark:text-gray-200"
|
|
285
274
|
},
|
|
286
275
|
LuBadge: {
|
|
287
276
|
default: "inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 bg-gray-100 text-gray-800 dark:bg-gray-800 dark:text-gray-300",
|
|
@@ -290,22 +279,22 @@ export const defaultSkin: SkinMap = {
|
|
|
290
279
|
danger: "bg-red-100 text-red-800 dark:bg-red-900/30 dark:text-red-400",
|
|
291
280
|
success: "bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-400",
|
|
292
281
|
warning: "bg-yellow-100 text-yellow-800 dark:bg-yellow-900/30 dark:text-yellow-400",
|
|
293
|
-
info: "bg-blue-100 text-blue-800 dark:bg-blue-900/30 dark:text-blue-400"
|
|
282
|
+
info: "bg-blue-100 text-blue-800 dark:bg-blue-900/30 dark:text-blue-400"
|
|
294
283
|
},
|
|
295
284
|
LuCard: {
|
|
296
285
|
default: "rounded-xl border border-gray-200 bg-white text-gray-950 shadow-sm p-6 dark:border-gray-800 dark:bg-gray-950 dark:text-gray-50",
|
|
297
286
|
panel: "rounded-xl border border-gray-200 bg-white text-gray-950 shadow-sm p-8 dark:border-gray-800 dark:bg-gray-950 dark:text-gray-50",
|
|
298
287
|
surface: "rounded-xl border border-gray-200 bg-white text-gray-950 shadow-sm overflow-hidden dark:border-gray-800 dark:bg-gray-950 dark:text-gray-50",
|
|
299
|
-
footer: "border-t border-gray-200 bg-gray-50/50 dark:border-gray-800 dark:bg-gray-900/50 p-6"
|
|
288
|
+
footer: "border-t border-gray-200 bg-gray-50/50 dark:border-gray-800 dark:bg-gray-900/50 p-6"
|
|
300
289
|
},
|
|
301
290
|
LuDivider: {
|
|
302
291
|
default: "shrink-0 bg-gray-200 dark:bg-gray-800",
|
|
303
292
|
horizontal: "h-[1px] w-full",
|
|
304
|
-
vertical: "h-full w-[1px]"
|
|
293
|
+
vertical: "h-full w-[1px]"
|
|
305
294
|
},
|
|
306
295
|
LuSelect: {
|
|
307
296
|
default: "flex h-10 w-full items-center justify-between rounded-md border border-gray-300 bg-white px-3 py-2 text-sm ring-offset-white placeholder:text-gray-500 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 dark:border-gray-700 dark:bg-gray-900 dark:ring-offset-gray-950 dark:placeholder:text-gray-400",
|
|
308
|
-
theme: "w-32"
|
|
297
|
+
theme: "w-32"
|
|
309
298
|
},
|
|
310
299
|
LuSwitch: {
|
|
311
300
|
default: "peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-2 focus-visible:ring-offset-white disabled:cursor-not-allowed disabled:opacity-50 bg-gray-200 dark:bg-gray-700 dark:focus-visible:ring-offset-gray-950",
|
|
@@ -313,100 +302,98 @@ export const defaultSkin: SkinMap = {
|
|
|
313
302
|
thumb: "pointer-events-none block h-5 w-5 rounded-full bg-white shadow-lg ring-0 transition-transform dark:bg-white",
|
|
314
303
|
thumbChecked: "translate-x-5",
|
|
315
304
|
thumbUnchecked: "translate-x-0",
|
|
316
|
-
theme: "peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-2 focus-visible:ring-offset-white disabled:cursor-not-allowed disabled:opacity-50 bg-gray-200 dark:bg-gray-700 dark:focus-visible:ring-offset-gray-950"
|
|
305
|
+
theme: "peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-2 focus-visible:ring-offset-white disabled:cursor-not-allowed disabled:opacity-50 bg-gray-200 dark:bg-gray-700 dark:focus-visible:ring-offset-gray-950"
|
|
317
306
|
},
|
|
318
307
|
LuSwitchThumb: {
|
|
319
308
|
default: "pointer-events-none block h-5 w-5 rounded-full bg-white shadow-lg ring-0 transition-transform dark:bg-white",
|
|
320
|
-
checked: "translate-x-5"
|
|
309
|
+
checked: "translate-x-5"
|
|
321
310
|
},
|
|
322
311
|
LuTable: {
|
|
323
|
-
default: "w-full caption-bottom text-sm"
|
|
312
|
+
default: "w-full caption-bottom text-sm"
|
|
324
313
|
},
|
|
325
314
|
LuTableHead: {
|
|
326
|
-
default: "border-b border-gray-200 dark:border-gray-800"
|
|
315
|
+
default: "border-b border-gray-200 dark:border-gray-800"
|
|
327
316
|
},
|
|
328
317
|
LuTableBody: {
|
|
329
|
-
default: "[&_tr:last-child]:border-0"
|
|
318
|
+
default: "[&_tr:last-child]:border-0"
|
|
330
319
|
},
|
|
331
320
|
LuTableRow: {
|
|
332
|
-
default: "border-b border-gray-200 transition-colors hover:bg-gray-100/50 data-[state=selected]:bg-gray-100 dark:border-gray-800 dark:hover:bg-gray-800/50 dark:data-[state=selected]:bg-gray-800"
|
|
321
|
+
default: "border-b border-gray-200 transition-colors hover:bg-gray-100/50 data-[state=selected]:bg-gray-100 dark:border-gray-800 dark:hover:bg-gray-800/50 dark:data-[state=selected]:bg-gray-800"
|
|
333
322
|
},
|
|
334
323
|
LuTableHeadCell: {
|
|
335
|
-
default: "h-12 px-4 text-left align-middle font-medium text-gray-500 dark:text-gray-400 [&:has([role=checkbox])]:pr-0"
|
|
324
|
+
default: "h-12 px-4 text-left align-middle font-medium text-gray-500 dark:text-gray-400 [&:has([role=checkbox])]:pr-0"
|
|
336
325
|
},
|
|
337
326
|
LuTableCell: {
|
|
338
|
-
default: "p-4 align-middle [&:has([role=checkbox])]:pr-0"
|
|
327
|
+
default: "p-4 align-middle [&:has([role=checkbox])]:pr-0"
|
|
339
328
|
},
|
|
340
329
|
LuTabs: {
|
|
341
|
-
default: "flex flex-col w-full"
|
|
330
|
+
default: "flex flex-col w-full"
|
|
342
331
|
},
|
|
343
332
|
LuTabList: {
|
|
344
333
|
default: "flex items-center gap-1 border-b border-gray-200 dark:border-gray-800",
|
|
345
|
-
"card-header": "flex items-center gap-1 w-full border-b border-gray-200 px-4 dark:border-gray-800"
|
|
334
|
+
"card-header": "flex items-center gap-1 w-full border-b border-gray-200 px-4 dark:border-gray-800"
|
|
346
335
|
},
|
|
347
336
|
LuTab: {
|
|
348
337
|
default: "relative px-3 py-2 text-sm font-medium text-gray-500 hover:text-gray-700 border-b-2 border-transparent -mb-px transition-colors duration-150 focus:outline-none cursor-pointer dark:text-gray-400 dark:hover:text-gray-200",
|
|
349
|
-
active: "text-blue-600 border-blue-600 dark:text-blue-400 dark:border-blue-400"
|
|
338
|
+
active: "text-blue-600 border-blue-600 dark:text-blue-400 dark:border-blue-400"
|
|
350
339
|
},
|
|
351
340
|
LuTabPanel: {
|
|
352
|
-
default: "pt-4 focus:outline-none"
|
|
341
|
+
default: "pt-4 focus:outline-none"
|
|
353
342
|
},
|
|
354
343
|
LuTooltip: {
|
|
355
|
-
default: "relative inline-block"
|
|
344
|
+
default: "relative inline-block"
|
|
356
345
|
},
|
|
357
346
|
LuTooltipContent: {
|
|
358
347
|
default: "absolute z-50 whitespace-nowrap overflow-hidden rounded-md border border-gray-200 bg-white px-3 py-1.5 text-sm text-gray-950 shadow-md animate-in fade-in-0 zoom-in-95 dark:border-gray-800 dark:bg-gray-950 dark:text-gray-50",
|
|
359
348
|
top: "bottom-full mb-2 left-1/2 -translate-x-1/2",
|
|
360
349
|
bottom: "top-full mt-2 left-1/2 -translate-x-1/2",
|
|
361
350
|
left: "right-full mr-2 top-1/2 -translate-y-1/2",
|
|
362
|
-
right: "left-full ml-2 top-1/2 -translate-y-1/2"
|
|
351
|
+
right: "left-full ml-2 top-1/2 -translate-y-1/2"
|
|
363
352
|
},
|
|
364
353
|
LuProgressBar: {
|
|
365
354
|
default: "h-2 w-full bg-gray-100 dark:bg-gray-800 rounded-full overflow-hidden",
|
|
366
355
|
primary: "bg-blue-100 dark:bg-blue-900/30",
|
|
367
|
-
success: "bg-green-100 dark:bg-green-900/30"
|
|
356
|
+
success: "bg-green-100 dark:bg-green-900/30"
|
|
368
357
|
},
|
|
369
358
|
LuProgressBarFill: {
|
|
370
359
|
default: "h-full bg-gray-900 dark:bg-gray-50 transition-all duration-300 ease-in-out",
|
|
371
360
|
primary: "bg-blue-600 dark:bg-blue-500",
|
|
372
|
-
success: "bg-green-500 dark:bg-green-400"
|
|
361
|
+
success: "bg-green-500 dark:bg-green-400"
|
|
373
362
|
},
|
|
374
363
|
LuCollapsible: {
|
|
375
|
-
default: "w-full"
|
|
364
|
+
default: "w-full"
|
|
376
365
|
},
|
|
377
366
|
LuCollapsibleTrigger: {
|
|
378
|
-
default: "w-full text-left flex items-center justify-between px-2 py-2 rounded text-sm font-medium text-gray-700 hover:bg-gray-100 transition-colors dark:text-gray-300 dark:hover:bg-gray-800 cursor-pointer focus:outline-none"
|
|
367
|
+
default: "w-full text-left flex items-center justify-between px-2 py-2 rounded text-sm font-medium text-gray-700 hover:bg-gray-100 transition-colors dark:text-gray-300 dark:hover:bg-gray-800 cursor-pointer focus:outline-none"
|
|
379
368
|
},
|
|
380
369
|
LuCollapsibleContent: {
|
|
381
|
-
default: "overflow-hidden"
|
|
370
|
+
default: "overflow-hidden"
|
|
382
371
|
},
|
|
383
372
|
LuLink: {
|
|
384
373
|
default: "inline-flex items-center gap-1 font-medium hover:underline underline-offset-4 hover:text-gray-600 dark:hover:text-gray-300 focus:outline-none",
|
|
385
374
|
nav: "inline-flex items-center gap-2 rounded-md px-3 py-2 text-sm font-medium text-gray-600 transition-colors hover:bg-gray-100 hover:text-gray-900 dark:text-gray-400 dark:hover:bg-gray-800 dark:hover:text-gray-50 focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500",
|
|
386
375
|
"nav-active": "inline-flex items-center gap-2 rounded-md px-3 py-2 text-sm font-medium bg-gray-100 text-gray-900 dark:bg-gray-800 dark:text-gray-50 focus:outline-none",
|
|
387
|
-
brand: "inline-flex items-center gap-1 font-medium text-gray-900 dark:text-gray-50 hover:opacity-80 transition-opacity focus:outline-none"
|
|
376
|
+
brand: "inline-flex items-center gap-1 font-medium text-gray-900 dark:text-gray-50 hover:opacity-80 transition-opacity focus:outline-none"
|
|
388
377
|
},
|
|
389
378
|
LuText: {
|
|
390
379
|
default: "text-gray-900 dark:text-gray-100",
|
|
391
380
|
"page-title": "text-4xl sm:text-5xl font-extrabold tracking-tight text-gray-950 dark:text-white",
|
|
392
381
|
"page-subtitle": "text-lg sm:text-xl text-gray-500 dark:text-gray-400 leading-relaxed max-w-[750px]",
|
|
393
382
|
"section-title": "text-2xl font-semibold tracking-tight text-gray-900 dark:text-gray-50",
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
383
|
+
body: "text-base text-gray-600 dark:text-gray-300 leading-7",
|
|
384
|
+
label: "text-xs font-semibold uppercase tracking-widest text-gray-500 dark:text-gray-400",
|
|
385
|
+
muted: "text-sm text-gray-400 dark:text-gray-500",
|
|
386
|
+
code: "font-mono text-sm border border-gray-200 dark:border-gray-800 bg-gray-100/50 text-gray-800 dark:bg-gray-800/50 dark:text-gray-200 px-1.5 py-0.5 rounded-md"
|
|
398
387
|
},
|
|
399
388
|
LuPageHeader: {
|
|
400
|
-
default: "mb-10 pb-8 border-b border-gray-200 dark:border-gray-800"
|
|
389
|
+
default: "mb-10 pb-8 border-b border-gray-200 dark:border-gray-800"
|
|
401
390
|
},
|
|
402
391
|
LuToggleGroup: {
|
|
403
|
-
default: "inline-flex items-center rounded-lg border border-gray-300 bg-gray-100 p-0.5 gap-0.5 shadow-sm dark:border-gray-600 dark:bg-gray-800"
|
|
392
|
+
default: "inline-flex items-center rounded-lg border border-gray-300 bg-gray-100 p-0.5 gap-0.5 shadow-sm dark:border-gray-600 dark:bg-gray-800"
|
|
404
393
|
},
|
|
405
394
|
LuToggleButton: {
|
|
406
|
-
default:
|
|
407
|
-
|
|
408
|
-
active:
|
|
409
|
-
"bg-white text-gray-900 shadow-sm dark:bg-gray-600 dark:text-gray-100",
|
|
395
|
+
default: "inline-flex items-center justify-center rounded-md p-2 text-gray-500 transition-all duration-150 focus:outline-none hover:bg-white hover:text-gray-700 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-gray-200",
|
|
396
|
+
active: "bg-white text-gray-900 shadow-sm dark:bg-gray-600 dark:text-gray-100"
|
|
410
397
|
},
|
|
411
398
|
LuCodeBlock: {
|
|
412
399
|
container: "flex flex-col gap-4",
|
|
@@ -421,6 +408,9 @@ export const defaultSkin: SkinMap = {
|
|
|
421
408
|
codeHeader: "flex items-center justify-between px-4 py-2 border-b border-gray-800 bg-[#282c34]",
|
|
422
409
|
badge: "text-xs font-mono font-medium text-gray-400 uppercase tracking-widest",
|
|
423
410
|
copyButton: "text-gray-400 hover:text-white transition-colors p-1.5 rounded-md hover:bg-gray-700 focus:outline-none focus:ring-2 focus:ring-gray-400",
|
|
424
|
-
codeContent: "p-4 overflow-x-auto text-sm bg-[#282c34] [&>pre]:!bg-transparent [&>pre]:!m-0 [&>pre]:!p-0"
|
|
425
|
-
}
|
|
411
|
+
codeContent: "p-4 overflow-x-auto text-sm bg-[#282c34] [&>pre]:!bg-transparent [&>pre]:!m-0 [&>pre]:!p-0"
|
|
412
|
+
}
|
|
413
|
+
};
|
|
414
|
+
export {
|
|
415
|
+
e as defaultSkin
|
|
426
416
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function getLumoraSourceDir(importerUrl?: string): string;
|
package/dist/tailwind.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { createRequire as o } from "node:module";
|
|
2
|
+
import t from "node:path";
|
|
3
|
+
function m(r) {
|
|
4
|
+
try {
|
|
5
|
+
const e = o(r ?? import.meta.url);
|
|
6
|
+
return t.dirname(e.resolve("@astrake/lumora-ui/package.json"));
|
|
7
|
+
} catch {
|
|
8
|
+
return "./node_modules/@astrake/lumora-ui";
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
export {
|
|
12
|
+
m as getLumoraSourceDir
|
|
13
|
+
};
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Component, Ref, ComputedRef } from "vue";
|
|
2
|
+
export type SkinMap = {
|
|
3
|
+
[componentName: string]: {
|
|
4
|
+
default?: string;
|
|
5
|
+
[variant: string]: string | undefined;
|
|
6
|
+
};
|
|
7
|
+
};
|
|
8
|
+
export type IconResolver = (name: string, size?: number) => Component | null;
|
|
9
|
+
export interface LumoraUIConfig {
|
|
10
|
+
target?: "mobile" | "desktop" | "embedded";
|
|
11
|
+
skin?: SkinMap | Ref<SkinMap> | ComputedRef<SkinMap>;
|
|
12
|
+
locale?: string;
|
|
13
|
+
a11y?: boolean;
|
|
14
|
+
icons?: IconResolver;
|
|
15
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ref as o, computed as a } from "vue";
|
|
2
|
+
const e = o("system"), r = o(!1);
|
|
3
|
+
if (typeof window < "u") {
|
|
4
|
+
const t = window.matchMedia("(prefers-color-scheme: dark)");
|
|
5
|
+
r.value = t.matches, t.addEventListener("change", (s) => {
|
|
6
|
+
r.value = s.matches;
|
|
7
|
+
});
|
|
8
|
+
}
|
|
9
|
+
const n = a(() => e.value === "system" ? r.value ? "dark" : "light" : e.value);
|
|
10
|
+
function u() {
|
|
11
|
+
return {
|
|
12
|
+
mode: e,
|
|
13
|
+
resolved: n,
|
|
14
|
+
setMode: (s) => {
|
|
15
|
+
e.value = s;
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
export {
|
|
20
|
+
u
|
|
21
|
+
};
|
package/dist/utils.d.ts
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { type ClassValue } from "clsx";
|
|
2
|
+
import type { SkinMap } from "./types";
|
|
3
|
+
/**
|
|
4
|
+
* Merges Tailwind classes intelligently
|
|
5
|
+
*/
|
|
6
|
+
export declare function cn(...inputs: ClassValue[]): string;
|
|
7
|
+
/**
|
|
8
|
+
* Extends a base skin with a user skin, intelligently merging Tailwind classes
|
|
9
|
+
*/
|
|
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;
|