@egose/shadcn-theme 0.0.46 → 0.0.48
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/{chunk-IF72ILB2.js → chunk-2H5WIGQU.js} +9 -9
- package/{chunk-IF72ILB2.js.map → chunk-2H5WIGQU.js.map} +1 -1
- package/{chunk-X7U3UFEV.mjs → chunk-4NMFJSJN.mjs} +53 -78
- package/chunk-4NMFJSJN.mjs.map +1 -0
- package/{chunk-YRT2HKOF.mjs → chunk-54PLQ33F.mjs} +2 -2
- package/{chunk-4YBE4QW7.js → chunk-73VYAPJR.js} +4 -4
- package/{chunk-4YBE4QW7.js.map → chunk-73VYAPJR.js.map} +1 -1
- package/{chunk-RPQYYAQY.js → chunk-7TCN3MNY.js} +5 -5
- package/{chunk-RPQYYAQY.js.map → chunk-7TCN3MNY.js.map} +1 -1
- package/{chunk-T2XR7MNB.mjs → chunk-DMO25T5J.mjs} +2 -2
- package/{chunk-4FSH7FNG.js → chunk-E77FKWFS.js} +8 -8
- package/{chunk-4FSH7FNG.js.map → chunk-E77FKWFS.js.map} +1 -1
- package/{chunk-Y76D7CL4.js → chunk-EZZ2YCUU.js} +53 -78
- package/chunk-EZZ2YCUU.js.map +1 -0
- package/chunk-FHSYSVS6.mjs +133 -0
- package/chunk-FHSYSVS6.mjs.map +1 -0
- package/{chunk-F3OXCHFB.mjs → chunk-IPTLI5N5.mjs} +4 -4
- package/{chunk-F3OXCHFB.mjs.map → chunk-IPTLI5N5.mjs.map} +1 -1
- package/{chunk-HAMD6VQR.mjs → chunk-LPZRXLKK.mjs} +6 -6
- package/{chunk-N5KWA5ZZ.js → chunk-MYO4WRNB.js} +3 -3
- package/{chunk-N5KWA5ZZ.js.map → chunk-MYO4WRNB.js.map} +1 -1
- package/{chunk-Q4NZDZDR.mjs → chunk-PS7WGOZH.mjs} +2 -2
- package/{chunk-JFTMOMSS.mjs → chunk-R3RMWOGE.mjs} +2 -2
- package/chunk-SCM23WSM.js +134 -0
- package/chunk-SCM23WSM.js.map +1 -0
- package/{chunk-MUAN5YUJ.js → chunk-U3HF6HPN.js} +5 -5
- package/{chunk-MUAN5YUJ.js.map → chunk-U3HF6HPN.js.map} +1 -1
- package/{chunk-KI4UEGC4.mjs → chunk-V5IL3OBF.mjs} +2 -2
- package/{chunk-NXPDVDCS.js → chunk-YT6UTIPP.js} +6 -6
- package/{chunk-NXPDVDCS.js.map → chunk-YT6UTIPP.js.map} +1 -1
- package/components/form/date-picker.js +4 -4
- package/components/form/date-picker.mjs +3 -3
- package/components/form/date-range-picker.js +5 -5
- package/components/form/date-range-picker.js.map +1 -1
- package/components/form/date-range-picker.mjs +3 -3
- package/components/form/date-range-picker.mjs.map +1 -1
- package/components/form/hook-date-picker.js +4 -4
- package/components/form/hook-date-picker.mjs +3 -3
- package/components/ui/alert-dialog.js +3 -3
- package/components/ui/alert-dialog.mjs +1 -1
- package/components/ui/alert.d.mts +9 -4
- package/components/ui/alert.d.ts +9 -4
- package/components/ui/alert.js +13 -50
- package/components/ui/alert.js.map +1 -1
- package/components/ui/alert.mjs +6 -43
- package/components/ui/alert.mjs.map +1 -1
- package/components/ui/badge.d.mts +10 -4
- package/components/ui/badge.d.ts +10 -4
- package/components/ui/badge.js +92 -9
- package/components/ui/badge.js.map +1 -1
- package/components/ui/badge.mjs +92 -9
- package/components/ui/badge.mjs.map +1 -1
- package/components/ui/basic-alert.d.mts +13 -0
- package/components/ui/basic-alert.d.ts +13 -0
- package/components/ui/basic-alert.js +74 -0
- package/components/ui/basic-alert.js.map +1 -0
- package/components/ui/basic-alert.mjs +73 -0
- package/components/ui/basic-alert.mjs.map +1 -0
- package/components/ui/button.d.mts +9 -7
- package/components/ui/button.d.ts +9 -7
- package/components/ui/button.js +2 -2
- package/components/ui/button.mjs +1 -1
- package/components/ui/calendar.js +3 -3
- package/components/ui/calendar.mjs +2 -2
- package/components/ui/carousel.js +3 -3
- package/components/ui/carousel.mjs +1 -1
- package/components/ui/pagination.js +2 -2
- package/components/ui/pagination.mjs +1 -1
- package/components/ui/sidebar.d.mts +1 -1
- package/components/ui/sidebar.d.ts +1 -1
- package/components/ui/sidebar.js +3 -3
- package/components/ui/sidebar.mjs +2 -2
- package/components/ui/toggle-group.d.mts +2 -2
- package/components/ui/toggle-group.d.ts +2 -2
- package/components/ui/toggle.d.mts +2 -2
- package/components/ui/toggle.d.ts +2 -2
- package/layouts/sidebar1/app-sidebar.js +7 -7
- package/layouts/sidebar1/app-sidebar.mjs +6 -6
- package/layouts/sidebar1/context-switcher.js +4 -4
- package/layouts/sidebar1/context-switcher.mjs +3 -3
- package/layouts/sidebar1/index.js +7 -7
- package/layouts/sidebar1/index.mjs +6 -6
- package/layouts/sidebar1/nav-menus.js +4 -4
- package/layouts/sidebar1/nav-menus.mjs +3 -3
- package/layouts/sidebar1/nav-user.js +4 -4
- package/layouts/sidebar1/nav-user.mjs +3 -3
- package/package.json +6 -5
- package/chunk-X7U3UFEV.mjs.map +0 -1
- package/chunk-Y76D7CL4.js.map +0 -1
- package/components/ui/chart.d.mts +0 -68
- package/components/ui/chart.d.ts +0 -68
- package/components/ui/chart.js +0 -216
- package/components/ui/chart.js.map +0 -1
- package/components/ui/chart.mjs +0 -215
- package/components/ui/chart.mjs.map +0 -1
- /package/{chunk-YRT2HKOF.mjs.map → chunk-54PLQ33F.mjs.map} +0 -0
- /package/{chunk-T2XR7MNB.mjs.map → chunk-DMO25T5J.mjs.map} +0 -0
- /package/{chunk-HAMD6VQR.mjs.map → chunk-LPZRXLKK.mjs.map} +0 -0
- /package/{chunk-Q4NZDZDR.mjs.map → chunk-PS7WGOZH.mjs.map} +0 -0
- /package/{chunk-JFTMOMSS.mjs.map → chunk-R3RMWOGE.mjs.map} +0 -0
- /package/{chunk-KI4UEGC4.mjs.map → chunk-V5IL3OBF.mjs.map} +0 -0
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var _chunk7TCN3MNYjs = require('./chunk-7TCN3MNY.js');
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
var
|
|
7
|
+
var _chunkU3HF6HPNjs = require('./chunk-U3HF6HPN.js');
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _chunkE77FKWFSjs = require('./chunk-E77FKWFS.js');
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
var
|
|
17
|
+
var _chunkMYO4WRNBjs = require('./chunk-MYO4WRNB.js');
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
var
|
|
20
|
+
var _chunkEZZ2YCUUjs = require('./chunk-EZZ2YCUU.js');
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
|
|
@@ -29,8 +29,8 @@ function AppSidebar(_a) {
|
|
|
29
29
|
var props = _chunk2NMEKWO5js.__objRest.call(void 0, _a, []);
|
|
30
30
|
var _b;
|
|
31
31
|
const _a2 = props, { data, aslink } = _a2, rest = _chunk2NMEKWO5js.__objRest.call(void 0, _a2, ["data", "aslink"]);
|
|
32
|
-
return /* @__PURE__ */ React.createElement(
|
|
33
|
-
|
|
32
|
+
return /* @__PURE__ */ React.createElement(_chunkMYO4WRNBjs.Sidebar, _chunk2NMEKWO5js.__spreadValues.call(void 0, { collapsible: "icon" }, rest), /* @__PURE__ */ React.createElement(_chunkMYO4WRNBjs.SidebarHeader, null, /* @__PURE__ */ React.createElement(_chunkU3HF6HPNjs.ContextSwitcher, { items: data.contexts })), /* @__PURE__ */ React.createElement(_chunkMYO4WRNBjs.SidebarContent, null, /* @__PURE__ */ React.createElement(_chunkE77FKWFSjs.NavMenus, { menus: data.menus, aslink })), /* @__PURE__ */ React.createElement(_chunkMYO4WRNBjs.SidebarFooter, null, data.user ? /* @__PURE__ */ React.createElement(_chunk7TCN3MNYjs.NavUser, { user: data.user, menus: data.userMenus, aslink, onLogout: (_b = data.events) == null ? void 0 : _b.logout }) : /* @__PURE__ */ React.createElement(
|
|
33
|
+
_chunkEZZ2YCUUjs.Button,
|
|
34
34
|
{
|
|
35
35
|
variant: "primary",
|
|
36
36
|
onClick: () => {
|
|
@@ -41,10 +41,10 @@ function AppSidebar(_a) {
|
|
|
41
41
|
}
|
|
42
42
|
},
|
|
43
43
|
"Sign in"
|
|
44
|
-
)), /* @__PURE__ */ React.createElement(
|
|
44
|
+
)), /* @__PURE__ */ React.createElement(_chunkMYO4WRNBjs.SidebarRail, null));
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
|
|
48
48
|
|
|
49
49
|
exports.AppSidebar = AppSidebar;
|
|
50
|
-
//# sourceMappingURL=chunk-
|
|
50
|
+
//# sourceMappingURL=chunk-2H5WIGQU.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-
|
|
1
|
+
{"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-2H5WIGQU.js","../layouts/sidebar1/app-sidebar.tsx"],"names":["_a"],"mappings":"AAAA;AACE;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACE;AACA;AACA;AACA;AACA;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACE;AACA;AACF,sDAA4B;AAC5B;AACA;ACrBA,2EAAuB;AAoBhB,SAAS,UAAA,CAAW,EAAA,EAKxB;AALwB,EAAA,IACtB,MAAA,EAAA,wCAAA,EADsB,EACtB,CAAA,CAAA,CAAA;AAxBL,EAAA,IAAA,EAAA;AA6BE,EAAA,MAAkCA,IAAAA,EAAA,KAAA,EAA1B,EAAA,IAAA,EAAM,OA7BhB,EAAA,EA6BoCA,GAAAA,EAAT,KAAA,EAAA,wCAAA,GAASA,EAAT,CAAjB,MAAA,EAAM,QAAA,CAAA,CAAA;AAEd,EAAA,uBACE,KAAA,CAAA,aAAA,CAAC,wBAAA,EAAA,6CAAA,EAAQ,WAAA,EAAY,OAAA,CAAA,EAAW,IAAA,CAAA,kBAC9B,KAAA,CAAA,aAAA,CAAC,8BAAA,EAAA,IAAA,kBACC,KAAA,CAAA,aAAA,CAAC,gCAAA,EAAA,EAAgB,KAAA,EAAO,IAAA,CAAK,SAAA,CAAU,CACzC,CAAA,kBACA,KAAA,CAAA,aAAA,CAAC,+BAAA,EAAA,IAAA,kBACC,KAAA,CAAA,aAAA,CAAC,yBAAA,EAAA,EAAS,KAAA,EAAO,IAAA,CAAK,KAAA,EAAO,OAAA,CAAgB,CAC/C,CAAA,kBACA,KAAA,CAAA,aAAA,CAAC,8BAAA,EAAA,IAAA,EACE,IAAA,CAAK,KAAA,kBACJ,KAAA,CAAA,aAAA,CAAC,wBAAA,EAAA,EAAQ,IAAA,EAAM,IAAA,CAAK,IAAA,EAAM,KAAA,EAAO,IAAA,CAAK,SAAA,EAAW,MAAA,EAAgB,QAAA,EAAA,CAAU,GAAA,EAAA,IAAA,CAAK,MAAA,EAAA,GAAL,KAAA,EAAA,KAAA,EAAA,EAAA,EAAA,CAAa,OAAA,CAAQ,EAAA,kBAEhG,KAAA,CAAA,aAAA;AAAA,IAAC,uBAAA;AAAA,IAAA;AAAA,MACC,OAAA,EAAQ,SAAA;AAAA,MACR,OAAA,EAAS,CAAA,EAAA,GAAM;AA7C3B,QAAA,IAAAA,GAAAA;AA8Cc,QAAA,GAAA,CAAA,CAAIA,IAAAA,EAAA,IAAA,CAAK,MAAA,EAAA,GAAL,KAAA,EAAA,KAAA,EAAA,EAAAA,GAAAA,CAAa,KAAA,EAAO;AACtB,UAAA,IAAA,CAAK,MAAA,CAAO,KAAA,CAAM,CAAA;AAAA,QACpB;AAAA,MACF;AAAA,IAAA,CAAA;AAAA,IACD;AAAA,EAED,CAEJ,CAAA,kBACA,KAAA,CAAA,aAAA,CAAC,4BAAA,EAAA,IAAY,CACf,CAAA;AAEJ;ADdA;AACA;AACE;AACF,gCAAC","file":"/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-2H5WIGQU.js","sourcesContent":[null,"\"use client\";\n'use client';\n\nimport * as React from 'react';\nimport { NavMenus } from './nav-menus';\nimport { NavUser, INavUser, INavUserMenuItem } from './nav-user';\nimport { ContextSwitcher, INavContext } from './context-switcher';\nimport { INavMenu } from './nav-menus';\nimport { Sidebar, SidebarContent, SidebarFooter, SidebarHeader, SidebarRail } from '../../components/ui/sidebar';\nimport { Button } from '../../components/ui/button';\nimport { cn } from '../../lib/utils';\n\nexport interface ISidebarData {\n user?: INavUser;\n contexts: INavContext[];\n menus: INavMenu[];\n userMenus: INavUserMenuItem[];\n events?: {\n login?: () => void;\n logout?: (user: INavUser) => void;\n };\n}\n\nexport function AppSidebar({\n ...props\n}: React.ComponentProps<typeof Sidebar> & {\n data: ISidebarData;\n aslink: React.ElementType;\n}) {\n const { data, aslink, ...rest } = props;\n\n return (\n <Sidebar collapsible=\"icon\" {...rest}>\n <SidebarHeader>\n <ContextSwitcher items={data.contexts} />\n </SidebarHeader>\n <SidebarContent>\n <NavMenus menus={data.menus} aslink={aslink} />\n </SidebarContent>\n <SidebarFooter>\n {data.user ? (\n <NavUser user={data.user} menus={data.userMenus} aslink={aslink} onLogout={data.events?.logout} />\n ) : (\n <Button\n variant=\"primary\"\n onClick={() => {\n if (data.events?.login) {\n data.events.login();\n }\n }}\n >\n Sign in\n </Button>\n )}\n </SidebarFooter>\n <SidebarRail />\n </Sidebar>\n );\n}\n"]}
|
|
@@ -55,35 +55,32 @@ var buttonVariants = cva(
|
|
|
55
55
|
ghost: "hover:bg-light hover:text-light-foreground"
|
|
56
56
|
},
|
|
57
57
|
size: {
|
|
58
|
+
xs: "h-7 rounded-xs px-2 text-xs",
|
|
59
|
+
sm: "h-8 rounded-sm px-3",
|
|
58
60
|
default: "h-9 px-4 py-2",
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
61
|
+
lg: "h-10 rounded-sm px-7 text-base",
|
|
62
|
+
icon: "h-9 w-9",
|
|
63
|
+
"compact-xs": "h-6 px-2 py-1 text-xs",
|
|
64
|
+
"compact-sm": "h-7 px-2 py-1",
|
|
65
|
+
"compact-default": "h-8 px-2 py-1",
|
|
66
|
+
"compact-lg": "h-9 px-2 py-1 text-base",
|
|
67
|
+
"compact-icon": "h-8 w-8"
|
|
62
68
|
},
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
outlineFilled: {
|
|
68
|
-
false: null,
|
|
69
|
-
true: ""
|
|
69
|
+
appearance: {
|
|
70
|
+
solid: "",
|
|
71
|
+
outline: "bg-white border",
|
|
72
|
+
"outline-filled": "bg-white border"
|
|
70
73
|
},
|
|
71
74
|
loading: {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
},
|
|
75
|
-
thin: {
|
|
76
|
-
false: null,
|
|
77
|
-
true: ""
|
|
75
|
+
true: "pointer-events-none",
|
|
76
|
+
false: null
|
|
78
77
|
}
|
|
79
78
|
},
|
|
80
79
|
defaultVariants: {
|
|
81
80
|
variant: "primary",
|
|
82
81
|
size: "default",
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
loading: false,
|
|
86
|
-
thin: false
|
|
82
|
+
appearance: "solid",
|
|
83
|
+
loading: false
|
|
87
84
|
}
|
|
88
85
|
}
|
|
89
86
|
);
|
|
@@ -99,9 +96,11 @@ function getOutlineClasses(variant) {
|
|
|
99
96
|
dark: "border-dark text-dark shadow-sm hover:bg-dark/10",
|
|
100
97
|
accent: "border-accent text-accent shadow-sm hover:bg-accent/10",
|
|
101
98
|
destructive: "border-destructive text-destructive shadow-sm hover:bg-destructive/10",
|
|
102
|
-
muted: "border-muted text-muted-foreground shadow-sm hover:bg-muted/10"
|
|
99
|
+
muted: "border-muted text-muted-foreground shadow-sm hover:bg-muted/10",
|
|
100
|
+
link: "text-primary",
|
|
101
|
+
ghost: "text-light-foreground"
|
|
103
102
|
};
|
|
104
|
-
return colors[variant
|
|
103
|
+
return colors[variant];
|
|
105
104
|
}
|
|
106
105
|
function getOutlineFilledClasses(variant) {
|
|
107
106
|
const colors = {
|
|
@@ -115,26 +114,29 @@ function getOutlineFilledClasses(variant) {
|
|
|
115
114
|
dark: "hover:bg-dark hover:text-dark-foreground",
|
|
116
115
|
accent: "hover:bg-accent hover:text-accent-foreground",
|
|
117
116
|
destructive: "hover:bg-destructive hover:text-destructive-foreground",
|
|
118
|
-
muted: "hover:bg-muted hover:text-muted-foreground"
|
|
117
|
+
muted: "hover:bg-muted hover:text-muted-foreground",
|
|
118
|
+
link: "hover:underline",
|
|
119
|
+
ghost: "hover:bg-light"
|
|
119
120
|
};
|
|
120
|
-
return colors[variant
|
|
121
|
+
return colors[variant];
|
|
121
122
|
}
|
|
122
123
|
function getSpinnerClasses(variant) {
|
|
123
124
|
const colors = {
|
|
124
|
-
primary: "bg-primary text-primary-foreground
|
|
125
|
-
secondary: "bg-secondary text-secondary-foreground
|
|
126
|
-
success: "bg-success text-success-foreground
|
|
127
|
-
warning: "bg-warning text-warning-foreground
|
|
128
|
-
danger: "bg-danger text-danger-foreground
|
|
129
|
-
info: "bg-info text-info-foreground
|
|
130
|
-
light: "bg-light text-light-foreground
|
|
131
|
-
dark: "bg-dark text-dark-foreground
|
|
132
|
-
accent: "bg-accent text-accent-foreground
|
|
133
|
-
destructive: "bg-destructive text-destructive-foreground
|
|
134
|
-
muted: "bg-muted text-muted-foreground
|
|
135
|
-
link: "text-primary"
|
|
125
|
+
primary: "bg-primary text-primary-foreground",
|
|
126
|
+
secondary: "bg-secondary text-secondary-foreground",
|
|
127
|
+
success: "bg-success text-success-foreground",
|
|
128
|
+
warning: "bg-warning text-warning-foreground",
|
|
129
|
+
danger: "bg-danger text-danger-foreground",
|
|
130
|
+
info: "bg-info text-info-foreground",
|
|
131
|
+
light: "bg-light text-light-foreground",
|
|
132
|
+
dark: "bg-dark text-dark-foreground",
|
|
133
|
+
accent: "bg-accent text-accent-foreground",
|
|
134
|
+
destructive: "bg-destructive text-destructive-foreground",
|
|
135
|
+
muted: "bg-muted text-muted-foreground",
|
|
136
|
+
link: "text-primary",
|
|
137
|
+
ghost: "text-light-foreground"
|
|
136
138
|
};
|
|
137
|
-
return colors[variant
|
|
139
|
+
return colors[variant];
|
|
138
140
|
}
|
|
139
141
|
function getOutlineSpinnerClasses(variant) {
|
|
140
142
|
const colors = {
|
|
@@ -149,57 +151,30 @@ function getOutlineSpinnerClasses(variant) {
|
|
|
149
151
|
accent: "text-accent",
|
|
150
152
|
destructive: "text-destructive",
|
|
151
153
|
muted: "text-muted-foreground",
|
|
152
|
-
link: "text-primary"
|
|
153
|
-
|
|
154
|
-
return colors[variant != null ? variant : "primary"];
|
|
155
|
-
}
|
|
156
|
-
function getThinClasses(size) {
|
|
157
|
-
const colors = {
|
|
158
|
-
default: "h-8 px-2 py-1",
|
|
159
|
-
sm: "h-7 px-2 py-1",
|
|
160
|
-
lg: "h-9 px-2 py-1",
|
|
161
|
-
icon: "h-8 w-8"
|
|
154
|
+
link: "text-primary",
|
|
155
|
+
ghost: "text-light-foreground"
|
|
162
156
|
};
|
|
163
|
-
return colors[
|
|
157
|
+
return colors[variant];
|
|
164
158
|
}
|
|
165
159
|
var Button = React.forwardRef(
|
|
166
160
|
(_a, ref) => {
|
|
167
|
-
var _b = _a, { className, variant, size,
|
|
161
|
+
var _b = _a, { className, variant, size, appearance, loading, icon, iconPosition = "left", asChild = false, children } = _b, props = __objRest(_b, ["className", "variant", "size", "appearance", "loading", "icon", "iconPosition", "asChild", "children"]);
|
|
168
162
|
const Comp = asChild ? Slot : "button";
|
|
169
|
-
|
|
170
|
-
if (
|
|
171
|
-
outlineClasses
|
|
172
|
-
if (outlineFilled) outlineClasses.push(getOutlineFilledClasses(variant));
|
|
173
|
-
}
|
|
174
|
-
const thinClasses = thin ? getThinClasses(size) : "";
|
|
175
|
-
if (loading) {
|
|
176
|
-
const loaderProps = __objRest(props, []);
|
|
177
|
-
const spinnerClasses = outline || outlineFilled ? getOutlineSpinnerClasses(variant) : getSpinnerClasses(variant);
|
|
178
|
-
const loadingClasses = "pointer-events-none";
|
|
179
|
-
return /* @__PURE__ */ React.createElement(
|
|
180
|
-
Comp,
|
|
181
|
-
__spreadValues({
|
|
182
|
-
type: "button",
|
|
183
|
-
className: cn(
|
|
184
|
-
buttonVariants({ variant, size, outline, className }),
|
|
185
|
-
outlineClasses,
|
|
186
|
-
thinClasses,
|
|
187
|
-
spinnerClasses,
|
|
188
|
-
loadingClasses
|
|
189
|
-
),
|
|
190
|
-
ref
|
|
191
|
-
}, loaderProps),
|
|
192
|
-
/* @__PURE__ */ React.createElement("div", { className: "relative inline-flex items-center" }, /* @__PURE__ */ React.createElement("span", { className: "invisible" }, children), /* @__PURE__ */ React.createElement("span", { className: "absolute inset-0 flex items-center justify-center" }, /* @__PURE__ */ React.createElement(Spinner, { className: cn(spinnerClasses, loadingClasses) })))
|
|
193
|
-
);
|
|
163
|
+
const outlineClasses = appearance === "outline" || appearance === "outline-filled" ? [getOutlineClasses(variant)] : [];
|
|
164
|
+
if (appearance === "outline-filled") {
|
|
165
|
+
outlineClasses.push(getOutlineFilledClasses(variant));
|
|
194
166
|
}
|
|
167
|
+
const spinnerClasses = appearance === "outline" || appearance === "outline-filled" ? getOutlineSpinnerClasses(variant) : getSpinnerClasses(variant);
|
|
195
168
|
return /* @__PURE__ */ React.createElement(
|
|
196
169
|
Comp,
|
|
197
170
|
__spreadValues({
|
|
198
171
|
type: "button",
|
|
199
|
-
className: cn(buttonVariants({ variant, size,
|
|
200
|
-
ref
|
|
172
|
+
className: cn(buttonVariants({ variant, size, appearance, loading, className }), outlineClasses),
|
|
173
|
+
ref,
|
|
174
|
+
"aria-busy": loading || void 0,
|
|
175
|
+
disabled: loading || props.disabled
|
|
201
176
|
}, props),
|
|
202
|
-
/* @__PURE__ */ React.createElement("div", { className: "flex items-center gap-1" }, left, children)
|
|
177
|
+
loading ? /* @__PURE__ */ React.createElement("div", { className: "relative inline-flex items-center justify-center w-full" }, /* @__PURE__ */ React.createElement("span", { className: "invisible" }, children), /* @__PURE__ */ React.createElement("span", { className: "absolute inset-0 flex items-center justify-center" }, /* @__PURE__ */ React.createElement(Spinner, { size: "medium", className: cn(spinnerClasses, "animate-spin") }))) : /* @__PURE__ */ React.createElement("div", { className: "flex items-center gap-1" }, icon && iconPosition === "left" && /* @__PURE__ */ React.createElement("span", { className: "flex-shrink-0" }, icon), children, icon && iconPosition === "right" && /* @__PURE__ */ React.createElement("span", { className: "flex-shrink-0" }, icon))
|
|
203
178
|
);
|
|
204
179
|
}
|
|
205
180
|
);
|
|
@@ -209,4 +184,4 @@ export {
|
|
|
209
184
|
buttonVariants,
|
|
210
185
|
Button
|
|
211
186
|
};
|
|
212
|
-
//# sourceMappingURL=chunk-
|
|
187
|
+
//# sourceMappingURL=chunk-4NMFJSJN.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../components/ui/button.tsx"],"sourcesContent":["\"use client\";\nimport * as React from 'react';\nimport { Slot } from '@radix-ui/react-slot';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../lib/utils';\nimport { Spinner } from './spinner';\n\nconst buttonVariants = cva(\n [\n 'cursor-pointer',\n 'active:translate-y-[0.5px]',\n 'disabled:pointer-events-none',\n 'disabled:opacity-50',\n 'focus-visible:outline-none',\n 'focus-visible:ring-1',\n 'focus-visible:ring-ring',\n 'font-medium',\n 'gap-2',\n 'inline-flex',\n 'items-center',\n 'justify-center',\n 'rounded-sm',\n 'text-sm',\n 'transform',\n 'transition',\n 'transition-colors',\n 'whitespace-nowrap',\n '[&_svg]:pointer-events-none',\n '[&_svg]:shrink-0',\n '[&_svg]:size-4',\n ],\n {\n variants: {\n variant: {\n primary: 'border border-primary bg-primary text-primary-foreground shadow-sm hover:bg-primary/90',\n secondary: 'border border-secondary bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/90',\n success: 'border border-success bg-success text-success-foreground shadow-sm hover:bg-success/90',\n warning: 'border border-warning bg-warning text-warning-foreground shadow-sm hover:bg-warning/90',\n danger: 'border border-danger bg-danger text-danger-foreground shadow-sm hover:bg-danger/90',\n info: 'border border-info bg-info text-info-foreground shadow-sm hover:bg-info/90',\n light: 'border border-light bg-light text-light-foreground shadow-sm hover:bg-light/90',\n dark: 'border border-dark bg-dark text-dark-foreground shadow-sm hover:bg-dark/90',\n accent: 'border border-accent bg-accent text-accent-foreground shadow-sm hover:bg-accent/90',\n destructive:\n 'border border-destructive bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90',\n muted: 'border border-muted bg-muted text-muted-foreground shadow-sm hover:bg-muted/90',\n link: 'text-primary underline-offset-4 hover:underline',\n ghost: 'hover:bg-light hover:text-light-foreground',\n },\n size: {\n xs: 'h-7 rounded-xs px-2 text-xs',\n sm: 'h-8 rounded-sm px-3',\n default: 'h-9 px-4 py-2',\n lg: 'h-10 rounded-sm px-7 text-base',\n icon: 'h-9 w-9',\n 'compact-xs': 'h-6 px-2 py-1 text-xs',\n 'compact-sm': 'h-7 px-2 py-1',\n 'compact-default': 'h-8 px-2 py-1',\n 'compact-lg': 'h-9 px-2 py-1 text-base',\n 'compact-icon': 'h-8 w-8',\n },\n appearance: {\n solid: '',\n outline: 'bg-white border',\n 'outline-filled': 'bg-white border',\n },\n loading: {\n true: 'pointer-events-none',\n false: null,\n },\n },\n defaultVariants: {\n variant: 'primary',\n size: 'default',\n appearance: 'solid',\n loading: false,\n },\n },\n);\n\n// Type safety for variant and size\nexport type VariantType = NonNullable<VariantProps<typeof buttonVariants>['variant']>;\nexport type SizeType = NonNullable<VariantProps<typeof buttonVariants>['size']>;\nexport type VariantStyleType = NonNullable<VariantProps<typeof buttonVariants>['appearance']>;\n\nexport interface ButtonProps\n extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'size'>,\n VariantProps<typeof buttonVariants> {\n asChild?: boolean;\n icon?: React.ReactNode;\n iconPosition?: 'left' | 'right';\n}\n\nfunction getOutlineClasses(variant: VariantType) {\n const colors: Record<VariantType, string> = {\n primary: 'border-primary text-primary shadow-sm hover:bg-primary/10',\n secondary: 'border-secondary text-secondary shadow-sm hover:bg-secondary/10',\n success: 'border-success text-success shadow-sm hover:bg-success/10',\n warning: 'border-warning text-warning shadow-sm hover:bg-warning/10',\n danger: 'border-danger text-danger shadow-sm hover:bg-danger/10',\n info: 'border-info text-info shadow-sm hover:bg-info/10',\n light: 'border-light text-light-foreground shadow-sm hover:bg-light/10',\n dark: 'border-dark text-dark shadow-sm hover:bg-dark/10',\n accent: 'border-accent text-accent shadow-sm hover:bg-accent/10',\n destructive: 'border-destructive text-destructive shadow-sm hover:bg-destructive/10',\n muted: 'border-muted text-muted-foreground shadow-sm hover:bg-muted/10',\n link: 'text-primary',\n ghost: 'text-light-foreground',\n };\n return colors[variant];\n}\n\nfunction getOutlineFilledClasses(variant: VariantType) {\n const colors: Record<VariantType, string> = {\n primary: 'hover:bg-primary hover:text-primary-foreground',\n secondary: 'hover:bg-secondary hover:text-secondary-foreground',\n success: 'hover:bg-success hover:text-success-foreground',\n warning: 'hover:bg-warning hover:text-warning-foreground',\n danger: 'hover:bg-danger hover:text-danger-foreground',\n info: 'hover:bg-info hover:text-info-foreground',\n light: 'hover:bg-light hover:text-light-foreground',\n dark: 'hover:bg-dark hover:text-dark-foreground',\n accent: 'hover:bg-accent hover:text-accent-foreground',\n destructive: 'hover:bg-destructive hover:text-destructive-foreground',\n muted: 'hover:bg-muted hover:text-muted-foreground',\n link: 'hover:underline',\n ghost: 'hover:bg-light',\n };\n return colors[variant];\n}\n\nfunction getSpinnerClasses(variant: VariantType) {\n const colors: Record<VariantType, string> = {\n primary: 'bg-primary text-primary-foreground',\n secondary: 'bg-secondary text-secondary-foreground',\n success: 'bg-success text-success-foreground',\n warning: 'bg-warning text-warning-foreground',\n danger: 'bg-danger text-danger-foreground',\n info: 'bg-info text-info-foreground',\n light: 'bg-light text-light-foreground',\n dark: 'bg-dark text-dark-foreground',\n accent: 'bg-accent text-accent-foreground',\n destructive: 'bg-destructive text-destructive-foreground',\n muted: 'bg-muted text-muted-foreground',\n link: 'text-primary',\n ghost: 'text-light-foreground',\n };\n return colors[variant];\n}\n\nfunction getOutlineSpinnerClasses(variant: VariantType) {\n const colors: Record<VariantType, string> = {\n primary: 'text-primary',\n secondary: 'text-secondary',\n success: 'text-success',\n warning: 'text-warning',\n danger: 'text-danger',\n info: 'text-info',\n light: 'text-light',\n dark: 'text-dark',\n accent: 'text-accent',\n destructive: 'text-destructive',\n muted: 'text-muted-foreground',\n link: 'text-primary',\n ghost: 'text-light-foreground',\n };\n return colors[variant];\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (\n { className, variant, size, appearance, loading, icon, iconPosition = 'left', asChild = false, children, ...props },\n ref,\n ) => {\n const Comp = asChild ? Slot : 'button';\n\n const outlineClasses =\n appearance === 'outline' || appearance === 'outline-filled' ? [getOutlineClasses(variant as VariantType)] : [];\n\n if (appearance === 'outline-filled') {\n outlineClasses.push(getOutlineFilledClasses(variant as VariantType));\n }\n\n const spinnerClasses =\n appearance === 'outline' || appearance === 'outline-filled'\n ? getOutlineSpinnerClasses(variant as VariantType)\n : getSpinnerClasses(variant as VariantType);\n\n return (\n <Comp\n type=\"button\"\n className={cn(buttonVariants({ variant, size, appearance, loading, className }), outlineClasses)}\n ref={ref}\n aria-busy={loading || undefined}\n disabled={loading || props.disabled}\n {...props}\n >\n {loading ? (\n <div className=\"relative inline-flex items-center justify-center w-full\">\n <span className=\"invisible\">{children}</span>\n <span className=\"absolute inset-0 flex items-center justify-center\">\n <Spinner size=\"medium\" className={cn(spinnerClasses, 'animate-spin')} />\n </span>\n </div>\n ) : (\n <div className=\"flex items-center gap-1\">\n {icon && iconPosition === 'left' && <span className=\"flex-shrink-0\">{icon}</span>}\n {children}\n {icon && iconPosition === 'right' && <span className=\"flex-shrink-0\">{icon}</span>}\n </div>\n )}\n </Comp>\n );\n },\n);\n\nButton.displayName = 'Button';\n\nexport { Button, buttonVariants };\n"],"mappings":"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","names":[]}
|
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
} from "./chunk-77MASFCZ.mjs";
|
|
24
24
|
import {
|
|
25
25
|
Button
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-4NMFJSJN.mjs";
|
|
27
27
|
import {
|
|
28
28
|
cn
|
|
29
29
|
} from "./chunk-F5XCCSBC.mjs";
|
|
@@ -563,4 +563,4 @@ export {
|
|
|
563
563
|
SidebarMenuSubItem,
|
|
564
564
|
SidebarMenuSubButton
|
|
565
565
|
};
|
|
566
|
-
//# sourceMappingURL=chunk-
|
|
566
|
+
//# sourceMappingURL=chunk-54PLQ33F.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var _chunkEZZ2YCUUjs = require('./chunk-EZZ2YCUU.js');
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
var _chunk6N4WCMTEjs = require('./chunk-6N4WCMTE.js');
|
|
@@ -18,7 +18,7 @@ var _reactdaypicker = require('react-day-picker');
|
|
|
18
18
|
function Calendar(_a) {
|
|
19
19
|
var _b = _a, { className, classNames, showOutsideDays = true } = _b, props = _chunk2NMEKWO5js.__objRest.call(void 0, _b, ["className", "classNames", "showOutsideDays"]);
|
|
20
20
|
const navigationButtonClass = _chunk6N4WCMTEjs.cn.call(void 0,
|
|
21
|
-
|
|
21
|
+
_chunkEZZ2YCUUjs.buttonVariants.call(void 0, { variant: "light" }),
|
|
22
22
|
"h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100 z-10"
|
|
23
23
|
);
|
|
24
24
|
return /* @__PURE__ */ React.createElement(
|
|
@@ -41,7 +41,7 @@ function Calendar(_a) {
|
|
|
41
41
|
week: "flex w-full mt-2",
|
|
42
42
|
day: "h-9 w-9 p-0 font-normal aria-selected:opacity-100 rounded-none first:aria-selected:rounded-l-md last:aria-selected:rounded-r-md",
|
|
43
43
|
day_button: _chunk6N4WCMTEjs.cn.call(void 0,
|
|
44
|
-
|
|
44
|
+
_chunkEZZ2YCUUjs.buttonVariants.call(void 0, { variant: "ghost" }),
|
|
45
45
|
"h-9 w-9 text-center text-sm p-0 relative focus-within:relative focus-within:z-20"
|
|
46
46
|
),
|
|
47
47
|
range_start: "day-range-start !bg-secondary rounded-l-md [&>button]:bg-primary [&>button]:text-primary-foreground [&>button]:hover:bg-primary [&>button]:hover:text-primary-foreground",
|
|
@@ -69,4 +69,4 @@ Calendar.displayName = "Calendar";
|
|
|
69
69
|
|
|
70
70
|
|
|
71
71
|
exports.Calendar = Calendar;
|
|
72
|
-
//# sourceMappingURL=chunk-
|
|
72
|
+
//# sourceMappingURL=chunk-73VYAPJR.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-
|
|
1
|
+
{"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-73VYAPJR.js","../components/ui/calendar.tsx"],"names":["_a","props"],"mappings":"AAAA;AACE;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACE;AACA;AACA;AACF,sDAA4B;AAC5B;AACA;ACXA,2EAAuB;AAEvB,2CAA0C;AAC1C,kDAA0B;AAO1B,SAAS,QAAA,CAAS,EAAA,EAA4E;AAA5E,EAAA,IAAA,GAAA,EAAA,EAAA,EAAE,EAAA,SAAA,EAAW,UAAA,EAAY,gBAAA,EAAkB,KAX7D,EAAA,EAWkB,EAAA,EAAoD,MAAA,EAAA,wCAAA,EAApD,EAAoD,CAAlD,WAAA,EAAW,YAAA,EAAY,iBAAA,CAAA,CAAA;AACzC,EAAA,MAAM,sBAAA,EAAwB,iCAAA;AAAA,IAC5B,6CAAA,EAAiB,OAAA,EAAS,QAAQ,CAAC,CAAA;AAAA,IACnC;AAAA,EACF,CAAA;AAEA,EAAA,uBACE,KAAA,CAAA,aAAA;AAAA,IAAC,yBAAA;AAAA,IAAA,6CAAA;AAAA,MACC,eAAA;AAAA,MACA,SAAA,EAAW,iCAAA,cAAG,EAAgB,SAAS,CAAA;AAAA,MACvC,UAAA,EAAY,6CAAA;AAAA,QACV,KAAA,EAAO,WAAA;AAAA,QACP,MAAA,EAAQ,iEAAA;AAAA,QACR,aAAA,EAAe,gDAAA;AAAA,QACf,UAAA,EAAY,kCAAA;AAAA,QACZ,aAAA,EAAe,qBAAA;AAAA,QACf,GAAA,EAAK,sDAAA;AAAA,QACL,eAAA,EAAiB,qBAAA;AAAA,QACjB,WAAA,EAAa,qBAAA;AAAA,QACb,KAAA,EAAO,wBAAA;AAAA,QACP,QAAA,EAAU,MAAA;AAAA,QACV,OAAA,EAAS,gEAAA;AAAA,QACT,IAAA,EAAM,kBAAA;AAAA,QACN,GAAA,EAAK,iIAAA;AAAA,QACL,UAAA,EAAY,iCAAA;AAAA,UACV,6CAAA,EAAiB,OAAA,EAAS,QAAQ,CAAC,CAAA;AAAA,UACnC;AAAA,QACF,CAAA;AAAA,QACA,WAAA,EACE,0KAAA;AAAA,QACF,SAAA,EACE,wKAAA;AAAA,QACF,YAAA,EAAc,oEAAA;AAAA,QACd,QAAA,EAAU,iCAAA;AAAA,UACR,KAAA,CAAM,KAAA,IAAS,QAAA,EACX,2GAAA,EACA;AAAA,QACN,CAAA;AAAA,QACA,KAAA,EAAO,mEAAA;AAAA,QACP,OAAA,EACE,4IAAA;AAAA,QACF,QAAA,EAAU,kCAAA;AAAA,QACV,MAAA,EAAQ;AAAA,MAAA,CAAA,EACL,UAAA,CAAA;AAAA,MAEL,UAAA,EAAY;AAAA,QACV,OAAA,EAAS,CAACA,GAAAA,EAAAA,GAAc;AAAd,UAAA,IAAKC,OAAAA,EAAA,wCAAA,GAALD,EAAK,CAAA,CAAA,CAAA;AACb,UAAA,OAAAC,MAAAA,CAAM,YAAA,IAAgB,OAAA,kBACpB,KAAA,CAAA,aAAA,CAAC,wBAAA,EAAA,4CAAA,6CAAA,CAAA,CAAA,EAAgBA,MAAAA,CAAAA,EAAhB,EAAuB,SAAA,EAAU,UAAA,CAAA,CAAU,EAAA,kBAE5C,KAAA,CAAA,aAAA,CAAC,yBAAA,EAAA,4CAAA,6CAAA,CAAA,CAAA,EAAiBA,MAAAA,CAAAA,EAAjB,EAAwB,SAAA,EAAU,UAAA,CAAA,CAAU,CAAA;AAAA,QAAA;AAAA,MAEnD;AAAA,IAAA,CAAA,EACI,KAAA;AAAA,EACN,CAAA;AAEJ;AACA,QAAA,CAAS,YAAA,EAAc,UAAA;ADFvB;AACA;AACE;AACF,4BAAC","file":"/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-73VYAPJR.js","sourcesContent":[null,"\"use client\";\nimport * as React from 'react';\nimport type { ComponentProps } from 'react';\nimport { ChevronLeft, ChevronRight } from 'lucide-react';\nimport { DayPicker } from 'react-day-picker';\n\nimport { cn } from '../../lib/utils';\nimport { buttonVariants } from '../../components/ui/button';\n\nexport type CalendarProps = ComponentProps<typeof DayPicker>;\n\nfunction Calendar({ className, classNames, showOutsideDays = true, ...props }: CalendarProps) {\n const navigationButtonClass = cn(\n buttonVariants({ variant: 'light' }),\n 'h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100 z-10',\n );\n\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn('p-3 bg-white', className)}\n classNames={{\n month: 'space-y-4',\n months: 'flex flex-col sm:flex-row space-y-4 sm:space-y-0 relative gap-2',\n month_caption: 'flex justify-center pt-1 relative items-center',\n month_grid: 'w-full border-collapse space-y-1',\n caption_label: 'text-sm font-medium',\n nav: 'flex items-center justify-between absolute inset-x-0',\n button_previous: navigationButtonClass,\n button_next: navigationButtonClass,\n weeks: 'w-full border-collapse',\n weekdays: 'flex',\n weekday: 'text-muted-foreground rounded-md w-9 font-normal text-[0.8rem]',\n week: 'flex w-full mt-2',\n day: 'h-9 w-9 p-0 font-normal aria-selected:opacity-100 rounded-none first:aria-selected:rounded-l-md last:aria-selected:rounded-r-md',\n day_button: cn(\n buttonVariants({ variant: 'ghost' }),\n 'h-9 w-9 text-center text-sm p-0 relative focus-within:relative focus-within:z-20',\n ),\n range_start:\n 'day-range-start !bg-secondary rounded-l-md [&>button]:bg-primary [&>button]:text-primary-foreground [&>button]:hover:bg-primary [&>button]:hover:text-primary-foreground',\n range_end:\n 'day-range-end !bg-secondary rounded-r-md [&>button]:bg-primary [&>button]:text-primary-foreground [&>button]:hover:bg-primary [&>button]:hover:text-primary-foreground',\n range_middle: 'aria-selected:bg-secondary aria-selected:text-secondary-foreground',\n selected: cn(\n props.mode === 'range'\n ? 'bg-primary hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground'\n : 'rounded-md [&>button]:bg-primary [&>button]:text-primary-foreground [&>button]:hover:bg-primary [&>button]:hover:text-primary-foreground',\n ),\n today: 'text-success italic [&>button]:underline [&>button]:font-semibold',\n outside:\n 'day-outside text-muted-foreground opacity-50 !aria-selected:bg-secondary/50 !aria-selected:text-muted-foreground !aria-selected:opacity-30',\n disabled: 'text-muted-foreground opacity-50',\n hidden: 'invisible',\n ...classNames,\n }}\n components={{\n Chevron: ({ ...props }) =>\n props.orientation === 'left' ? (\n <ChevronLeft {...props} className=\"h-4 w-4\" />\n ) : (\n <ChevronRight {...props} className=\"h-4 w-4\" />\n ),\n }}\n {...props}\n />\n );\n}\nCalendar.displayName = 'Calendar';\n\nexport { Calendar };\n"]}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
var
|
|
7
|
+
var _chunkMYO4WRNBjs = require('./chunk-MYO4WRNB.js');
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
|
|
@@ -29,9 +29,9 @@ function NavUser({
|
|
|
29
29
|
aslink: LinkComponent,
|
|
30
30
|
onLogout
|
|
31
31
|
}) {
|
|
32
|
-
const { isMobile } =
|
|
33
|
-
return /* @__PURE__ */ React.createElement(
|
|
34
|
-
|
|
32
|
+
const { isMobile } = _chunkMYO4WRNBjs.useSidebar.call(void 0, );
|
|
33
|
+
return /* @__PURE__ */ React.createElement(_chunkMYO4WRNBjs.SidebarMenu, null, /* @__PURE__ */ React.createElement(_chunkMYO4WRNBjs.SidebarMenuItem, null, /* @__PURE__ */ React.createElement(_chunkNI2SIUXOjs.DropdownMenu, null, /* @__PURE__ */ React.createElement(_chunkNI2SIUXOjs.DropdownMenuTrigger, { asChild: true }, /* @__PURE__ */ React.createElement(
|
|
34
|
+
_chunkMYO4WRNBjs.SidebarMenuButton,
|
|
35
35
|
{
|
|
36
36
|
size: "lg",
|
|
37
37
|
className: "data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground"
|
|
@@ -73,4 +73,4 @@ function NavUser({
|
|
|
73
73
|
|
|
74
74
|
|
|
75
75
|
exports.NavUser = NavUser;
|
|
76
|
-
//# sourceMappingURL=chunk-
|
|
76
|
+
//# sourceMappingURL=chunk-7TCN3MNY.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-
|
|
1
|
+
{"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-7TCN3MNY.js","../layouts/sidebar1/nav-user.tsx"],"names":[],"mappings":"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","file":"/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-7TCN3MNY.js","sourcesContent":[null,"\"use client\";\n'use client';\n\nimport * as React from 'react';\nimport { ChevronsUpDown, LogOut, type LucideIcon } from 'lucide-react';\nimport { Avatar, AvatarFallback, AvatarImage } from '../../components/ui/avatar';\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n} from '../../components/ui/dropdown-menu';\nimport { SidebarMenu, SidebarMenuButton, SidebarMenuItem, useSidebar } from '../../components/ui/sidebar';\n\nexport interface INavUser {\n name: string;\n email: string;\n avatar: string;\n}\n\nexport interface INavUserMenuItem {\n title: string;\n url?: string;\n icon?: React.ElementType;\n onClick?: (title: string) => void;\n}\n\nexport function NavUser({\n user,\n menus = [],\n aslink: LinkComponent,\n onLogout,\n}: {\n user: INavUser;\n menus: INavUserMenuItem[];\n aslink?: React.ElementType;\n onLogout?: (user: INavUser) => void;\n}) {\n const { isMobile } = useSidebar();\n\n return (\n <SidebarMenu>\n <SidebarMenuItem>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <SidebarMenuButton\n size=\"lg\"\n className=\"data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground\"\n >\n <Avatar className=\"h-8 w-8 rounded-lg\">\n <AvatarImage src={user.avatar} alt={user.name} />\n <AvatarFallback className=\"rounded-lg\">CN</AvatarFallback>\n </Avatar>\n <div className=\"grid flex-1 text-left text-sm leading-tight\">\n <span className=\"truncate font-semibold\">{user.name}</span>\n <span className=\"truncate text-xs\">{user.email}</span>\n </div>\n <ChevronsUpDown className=\"ml-auto size-4\" />\n </SidebarMenuButton>\n </DropdownMenuTrigger>\n <DropdownMenuContent\n className=\"w-[--radix-dropdown-menu-trigger-width] min-w-56 rounded-lg bg-white\"\n side={isMobile ? 'bottom' : 'right'}\n align=\"end\"\n sideOffset={4}\n >\n <DropdownMenuLabel className=\"p-0 font-normal\">\n <div className=\"flex items-center gap-2 px-1 py-1.5 text-left text-sm\">\n <Avatar className=\"h-8 w-8 rounded-lg\">\n <AvatarImage src={user.avatar} alt={user.name} />\n <AvatarFallback className=\"rounded-lg\">CN</AvatarFallback>\n </Avatar>\n <div className=\"grid flex-1 text-left text-sm leading-tight\">\n <span className=\"truncate font-semibold\">{user.name}</span>\n <span className=\"truncate text-xs\">{user.email}</span>\n </div>\n </div>\n </DropdownMenuLabel>\n\n {menus.length > 0 && <DropdownMenuSeparator />}\n <DropdownMenuGroup>\n {menus.map((menu) => {\n const Comp = LinkComponent && menu.url ? LinkComponent : 'button';\n\n return (\n <Comp\n key={menu.title}\n to={menu.url}\n href={menu.url}\n onClick={() => menu.onClick?.(menu.title)}\n className=\"block w-full\"\n >\n <DropdownMenuItem>\n {menu.icon && <menu.icon />}\n {menu.title}\n </DropdownMenuItem>\n </Comp>\n );\n })}\n </DropdownMenuGroup>\n\n {onLogout && (\n <>\n <DropdownMenuSeparator />\n <DropdownMenuItem onClick={() => onLogout(user)}>\n <LogOut />\n Log out\n </DropdownMenuItem>\n </>\n )}\n </DropdownMenuContent>\n </DropdownMenu>\n </SidebarMenuItem>\n </SidebarMenu>\n );\n}\n"]}
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
SidebarMenuButton,
|
|
4
4
|
SidebarMenuItem,
|
|
5
5
|
useSidebar
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-54PLQ33F.mjs";
|
|
7
7
|
import {
|
|
8
8
|
DropdownMenu,
|
|
9
9
|
DropdownMenuContent,
|
|
@@ -70,4 +70,4 @@ function ContextSwitcher({
|
|
|
70
70
|
export {
|
|
71
71
|
ContextSwitcher
|
|
72
72
|
};
|
|
73
|
-
//# sourceMappingURL=chunk-
|
|
73
|
+
//# sourceMappingURL=chunk-DMO25T5J.mjs.map
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _chunkMYO4WRNBjs = require('./chunk-MYO4WRNB.js');
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
|
|
@@ -20,19 +20,19 @@ var _chunkOROMS2CNjs = require('./chunk-OROMS2CN.js');
|
|
|
20
20
|
var _react = require('react'); var React = _interopRequireWildcard(_react);
|
|
21
21
|
var _lucidereact = require('lucide-react');
|
|
22
22
|
function SidebarMenuLink({ item, as: LinkComponent }) {
|
|
23
|
-
const { setOpenMobile } =
|
|
23
|
+
const { setOpenMobile } = _chunkMYO4WRNBjs.useSidebar.call(void 0, );
|
|
24
24
|
const Comp = LinkComponent && item.url ? LinkComponent : "button";
|
|
25
|
-
return /* @__PURE__ */ React.createElement(
|
|
25
|
+
return /* @__PURE__ */ React.createElement(_chunkMYO4WRNBjs.SidebarMenuItem, null, /* @__PURE__ */ React.createElement(_chunkMYO4WRNBjs.SidebarMenuButton, { asChild: true, isActive: item.isActive, tooltip: item.title, onClick: () => setOpenMobile(false) }, /* @__PURE__ */ React.createElement(Comp, { to: item.url, href: item.url, onClick: () => {
|
|
26
26
|
var _a;
|
|
27
27
|
return (_a = item.onClick) == null ? void 0 : _a.call(item, item.title);
|
|
28
28
|
} }, item.icon && /* @__PURE__ */ React.createElement(item.icon, null), /* @__PURE__ */ React.createElement("span", null, item.title))));
|
|
29
29
|
}
|
|
30
30
|
function SidebarMenuCollapsible({ item, as: LinkComponent }) {
|
|
31
|
-
const { setOpenMobile } =
|
|
31
|
+
const { setOpenMobile } = _chunkMYO4WRNBjs.useSidebar.call(void 0, );
|
|
32
32
|
if (!item.subItems) return null;
|
|
33
|
-
return /* @__PURE__ */ React.createElement(_chunkOROMS2CNjs.Collapsible, { key: item.title, asChild: true, defaultOpen: item.isActive, className: "group/collapsible" }, /* @__PURE__ */ React.createElement(
|
|
33
|
+
return /* @__PURE__ */ React.createElement(_chunkOROMS2CNjs.Collapsible, { key: item.title, asChild: true, defaultOpen: item.isActive, className: "group/collapsible" }, /* @__PURE__ */ React.createElement(_chunkMYO4WRNBjs.SidebarMenuItem, null, /* @__PURE__ */ React.createElement(_chunkOROMS2CNjs.CollapsibleTrigger, { asChild: true }, /* @__PURE__ */ React.createElement(_chunkMYO4WRNBjs.SidebarMenuButton, { tooltip: item.title }, item.icon && /* @__PURE__ */ React.createElement(item.icon, null), /* @__PURE__ */ React.createElement("span", null, item.title), /* @__PURE__ */ React.createElement(_lucidereact.ChevronRight, { className: "ml-auto transition-transform duration-200 group-data-[state=open]/collapsible:rotate-90" }))), /* @__PURE__ */ React.createElement(_chunkOROMS2CNjs.CollapsibleContent, null, /* @__PURE__ */ React.createElement(_chunkMYO4WRNBjs.SidebarMenuSub, null, item.subItems.map((subItem) => {
|
|
34
34
|
const Comp = LinkComponent && subItem.url ? LinkComponent : "button";
|
|
35
|
-
return /* @__PURE__ */ React.createElement(
|
|
35
|
+
return /* @__PURE__ */ React.createElement(_chunkMYO4WRNBjs.SidebarMenuSubItem, { key: subItem.title }, /* @__PURE__ */ React.createElement(_chunkMYO4WRNBjs.SidebarMenuSubButton, { asChild: true, isActive: subItem.isActive, onClick: () => setOpenMobile(false) }, /* @__PURE__ */ React.createElement(
|
|
36
36
|
Comp,
|
|
37
37
|
{
|
|
38
38
|
to: subItem.url,
|
|
@@ -50,7 +50,7 @@ function SidebarMenuCollapsible({ item, as: LinkComponent }) {
|
|
|
50
50
|
}
|
|
51
51
|
function NavMenus({ menus, aslink }) {
|
|
52
52
|
return menus.map((menu) => {
|
|
53
|
-
return /* @__PURE__ */ React.createElement(
|
|
53
|
+
return /* @__PURE__ */ React.createElement(_chunkMYO4WRNBjs.SidebarGroup, { key: menu.title }, /* @__PURE__ */ React.createElement(_chunkMYO4WRNBjs.SidebarGroupLabel, null, menu.title), /* @__PURE__ */ React.createElement(_chunkMYO4WRNBjs.SidebarMenu, null, menu.items.map(
|
|
54
54
|
(item) => item.subItems && item.subItems.length > 0 ? /* @__PURE__ */ React.createElement(SidebarMenuCollapsible, { key: item.title, item, as: aslink }) : /* @__PURE__ */ React.createElement(SidebarMenuLink, { key: item.title, item, as: aslink })
|
|
55
55
|
)));
|
|
56
56
|
});
|
|
@@ -59,4 +59,4 @@ function NavMenus({ menus, aslink }) {
|
|
|
59
59
|
|
|
60
60
|
|
|
61
61
|
exports.NavMenus = NavMenus;
|
|
62
|
-
//# sourceMappingURL=chunk-
|
|
62
|
+
//# sourceMappingURL=chunk-E77FKWFS.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-
|
|
1
|
+
{"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-E77FKWFS.js","../layouts/sidebar1/nav-menus.tsx"],"names":[],"mappings":"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","file":"/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-E77FKWFS.js","sourcesContent":[null,"\"use client\";\n'use client';\n\nimport * as React from 'react';\nimport { ChevronRight } from 'lucide-react';\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '../../components/ui/collapsible';\nimport {\n SidebarGroup,\n SidebarGroupLabel,\n SidebarMenu,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n} from '../../components/ui/sidebar';\nimport { useSidebar } from '../../components/ui/sidebar';\n\nexport interface IMenuSubItem {\n title: string;\n url?: string;\n icon?: React.ElementType;\n isActive?: boolean;\n onClick?: (title: string) => void;\n}\n\nexport interface IMenuItem extends IMenuSubItem {\n subItems?: IMenuSubItem[];\n}\n\nexport interface INavMenu {\n title: string;\n items: IMenuItem[];\n}\n\nfunction SidebarMenuLink({ item, as: LinkComponent }: { item: IMenuSubItem; as: React.ElementType }) {\n const { setOpenMobile } = useSidebar();\n const Comp = LinkComponent && item.url ? LinkComponent : 'button';\n\n return (\n <SidebarMenuItem>\n <SidebarMenuButton asChild isActive={item.isActive} tooltip={item.title} onClick={() => setOpenMobile(false)}>\n <Comp to={item.url} href={item.url} onClick={() => item.onClick?.(item.title)}>\n {item.icon && <item.icon />}\n <span>{item.title}</span>\n </Comp>\n </SidebarMenuButton>\n </SidebarMenuItem>\n );\n}\n\nfunction SidebarMenuCollapsible({ item, as: LinkComponent }: { item: IMenuItem; as: React.ElementType }) {\n const { setOpenMobile } = useSidebar();\n if (!item.subItems) return null;\n\n return (\n <Collapsible key={item.title} asChild defaultOpen={item.isActive} className=\"group/collapsible\">\n <SidebarMenuItem>\n <CollapsibleTrigger asChild>\n <SidebarMenuButton tooltip={item.title}>\n {item.icon && <item.icon />}\n <span>{item.title}</span>\n <ChevronRight className=\"ml-auto transition-transform duration-200 group-data-[state=open]/collapsible:rotate-90\" />\n </SidebarMenuButton>\n </CollapsibleTrigger>\n <CollapsibleContent>\n <SidebarMenuSub>\n {item.subItems.map((subItem) => {\n const Comp = LinkComponent && subItem.url ? LinkComponent : 'button';\n\n return (\n <SidebarMenuSubItem key={subItem.title}>\n <SidebarMenuSubButton asChild isActive={subItem.isActive} onClick={() => setOpenMobile(false)}>\n <Comp\n to={subItem.url}\n href={subItem.url}\n onClick={() => item.onClick?.(subItem.title)}\n className=\"block w-full\"\n >\n {subItem.icon && <subItem.icon />}\n <span>{subItem.title}</span>\n </Comp>\n </SidebarMenuSubButton>\n </SidebarMenuSubItem>\n );\n })}\n </SidebarMenuSub>\n </CollapsibleContent>\n </SidebarMenuItem>\n </Collapsible>\n );\n}\n\nexport function NavMenus({ menus, aslink }: { menus: INavMenu[]; aslink: React.ElementType }) {\n return menus.map((menu) => {\n return (\n <SidebarGroup key={menu.title}>\n <SidebarGroupLabel>{menu.title}</SidebarGroupLabel>\n <SidebarMenu>\n {menu.items.map((item) =>\n item.subItems && item.subItems.length > 0 ? (\n <SidebarMenuCollapsible key={item.title} item={item} as={aslink} />\n ) : (\n <SidebarMenuLink key={item.title} item={item} as={aslink} />\n ),\n )}\n </SidebarMenu>\n </SidebarGroup>\n );\n });\n}\n"]}
|