mta-design-system 0.1.0
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/README.md +198 -0
- package/dist/cli/src/index.cjs +1234 -0
- package/dist/cli/src/index.cjs.map +1 -0
- package/dist/index.cjs +2269 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +350 -0
- package/dist/index.d.ts +350 -0
- package/dist/index.js +2151 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/src/index.cjs +1351 -0
- package/dist/mcp/src/index.cjs.map +1 -0
- package/dist/styles.css +171 -0
- package/package.json +120 -0
package/dist/index.js
ADDED
|
@@ -0,0 +1,2151 @@
|
|
|
1
|
+
import { clsx } from 'clsx';
|
|
2
|
+
import { twMerge } from 'tailwind-merge';
|
|
3
|
+
import { cva } from 'class-variance-authority';
|
|
4
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
5
|
+
import { Slot } from '@radix-ui/react-slot';
|
|
6
|
+
import * as React9 from 'react';
|
|
7
|
+
import * as LucideIcons from 'lucide-react';
|
|
8
|
+
import { XIcon, ChevronLeftIcon, ChevronRightIcon, ChevronDownIcon, SearchIcon, CheckIcon, ChevronUpIcon, ChevronsUpDown, Check, CalendarIcon, MessageCircle, X, Send } from 'lucide-react';
|
|
9
|
+
import { getDefaultClassNames, DayPicker } from 'react-day-picker';
|
|
10
|
+
import { Command as Command$1 } from 'cmdk';
|
|
11
|
+
import * as DialogPrimitive from '@radix-ui/react-dialog';
|
|
12
|
+
import * as LabelPrimitive from '@radix-ui/react-label';
|
|
13
|
+
import * as PopoverPrimitive from '@radix-ui/react-popover';
|
|
14
|
+
import * as ProgressPrimitive from '@radix-ui/react-progress';
|
|
15
|
+
import * as SelectPrimitive from '@radix-ui/react-select';
|
|
16
|
+
import * as SwitchPrimitive from '@radix-ui/react-switch';
|
|
17
|
+
import * as TooltipPrimitive from '@radix-ui/react-tooltip';
|
|
18
|
+
import { format } from 'date-fns';
|
|
19
|
+
|
|
20
|
+
var __defProp = Object.defineProperty;
|
|
21
|
+
var __defProps = Object.defineProperties;
|
|
22
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
23
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
24
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
25
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
26
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
27
|
+
var __spreadValues = (a, b) => {
|
|
28
|
+
for (var prop in b || (b = {}))
|
|
29
|
+
if (__hasOwnProp.call(b, prop))
|
|
30
|
+
__defNormalProp(a, prop, b[prop]);
|
|
31
|
+
if (__getOwnPropSymbols)
|
|
32
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
33
|
+
if (__propIsEnum.call(b, prop))
|
|
34
|
+
__defNormalProp(a, prop, b[prop]);
|
|
35
|
+
}
|
|
36
|
+
return a;
|
|
37
|
+
};
|
|
38
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
39
|
+
var __objRest = (source, exclude) => {
|
|
40
|
+
var target = {};
|
|
41
|
+
for (var prop in source)
|
|
42
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
43
|
+
target[prop] = source[prop];
|
|
44
|
+
if (source != null && __getOwnPropSymbols)
|
|
45
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
|
46
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
47
|
+
target[prop] = source[prop];
|
|
48
|
+
}
|
|
49
|
+
return target;
|
|
50
|
+
};
|
|
51
|
+
function cn(...inputs) {
|
|
52
|
+
return twMerge(clsx(inputs));
|
|
53
|
+
}
|
|
54
|
+
var alertVariants = cva(
|
|
55
|
+
"relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current",
|
|
56
|
+
{
|
|
57
|
+
variants: {
|
|
58
|
+
variant: {
|
|
59
|
+
default: "bg-card text-card-foreground",
|
|
60
|
+
destructive: "text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90"
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
defaultVariants: {
|
|
64
|
+
variant: "default"
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
);
|
|
68
|
+
function Alert(_a) {
|
|
69
|
+
var _b = _a, {
|
|
70
|
+
className,
|
|
71
|
+
variant
|
|
72
|
+
} = _b, props = __objRest(_b, [
|
|
73
|
+
"className",
|
|
74
|
+
"variant"
|
|
75
|
+
]);
|
|
76
|
+
return /* @__PURE__ */ jsx(
|
|
77
|
+
"div",
|
|
78
|
+
__spreadValues({
|
|
79
|
+
"data-slot": "alert",
|
|
80
|
+
role: "alert",
|
|
81
|
+
className: cn(alertVariants({ variant }), className)
|
|
82
|
+
}, props)
|
|
83
|
+
);
|
|
84
|
+
}
|
|
85
|
+
function AlertTitle(_a) {
|
|
86
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
87
|
+
return /* @__PURE__ */ jsx(
|
|
88
|
+
"div",
|
|
89
|
+
__spreadValues({
|
|
90
|
+
"data-slot": "alert-title",
|
|
91
|
+
className: cn(
|
|
92
|
+
"col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight",
|
|
93
|
+
className
|
|
94
|
+
)
|
|
95
|
+
}, props)
|
|
96
|
+
);
|
|
97
|
+
}
|
|
98
|
+
function AlertDescription(_a) {
|
|
99
|
+
var _b = _a, {
|
|
100
|
+
className
|
|
101
|
+
} = _b, props = __objRest(_b, [
|
|
102
|
+
"className"
|
|
103
|
+
]);
|
|
104
|
+
return /* @__PURE__ */ jsx(
|
|
105
|
+
"div",
|
|
106
|
+
__spreadValues({
|
|
107
|
+
"data-slot": "alert-description",
|
|
108
|
+
className: cn(
|
|
109
|
+
"text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed",
|
|
110
|
+
className
|
|
111
|
+
)
|
|
112
|
+
}, props)
|
|
113
|
+
);
|
|
114
|
+
}
|
|
115
|
+
var buttonVariants = cva(
|
|
116
|
+
"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
|
|
117
|
+
{
|
|
118
|
+
variants: {
|
|
119
|
+
variant: {
|
|
120
|
+
default: "bg-primary text-primary-foreground hover:bg-primary/90",
|
|
121
|
+
destructive: "bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
|
|
122
|
+
outline: "border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",
|
|
123
|
+
secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
|
|
124
|
+
ghost: "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",
|
|
125
|
+
link: "text-primary underline-offset-4 hover:underline"
|
|
126
|
+
},
|
|
127
|
+
size: {
|
|
128
|
+
default: "h-9 px-4 py-2 has-[>svg]:px-3",
|
|
129
|
+
sm: "h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",
|
|
130
|
+
lg: "h-10 rounded-md px-6 has-[>svg]:px-4",
|
|
131
|
+
icon: "size-9",
|
|
132
|
+
"icon-sm": "size-8",
|
|
133
|
+
"icon-lg": "size-10"
|
|
134
|
+
}
|
|
135
|
+
},
|
|
136
|
+
defaultVariants: {
|
|
137
|
+
variant: "default",
|
|
138
|
+
size: "default"
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
);
|
|
142
|
+
function Button(_a) {
|
|
143
|
+
var _b = _a, {
|
|
144
|
+
className,
|
|
145
|
+
variant,
|
|
146
|
+
size,
|
|
147
|
+
asChild = false
|
|
148
|
+
} = _b, props = __objRest(_b, [
|
|
149
|
+
"className",
|
|
150
|
+
"variant",
|
|
151
|
+
"size",
|
|
152
|
+
"asChild"
|
|
153
|
+
]);
|
|
154
|
+
const Comp = asChild ? Slot : "button";
|
|
155
|
+
return /* @__PURE__ */ jsx(
|
|
156
|
+
Comp,
|
|
157
|
+
__spreadValues({
|
|
158
|
+
"data-slot": "button",
|
|
159
|
+
className: cn(buttonVariants({ variant, size, className }))
|
|
160
|
+
}, props)
|
|
161
|
+
);
|
|
162
|
+
}
|
|
163
|
+
function Calendar(_a) {
|
|
164
|
+
var _b = _a, {
|
|
165
|
+
className,
|
|
166
|
+
classNames,
|
|
167
|
+
showOutsideDays = true,
|
|
168
|
+
captionLayout = "label",
|
|
169
|
+
buttonVariant = "ghost",
|
|
170
|
+
formatters,
|
|
171
|
+
components
|
|
172
|
+
} = _b, props = __objRest(_b, [
|
|
173
|
+
"className",
|
|
174
|
+
"classNames",
|
|
175
|
+
"showOutsideDays",
|
|
176
|
+
"captionLayout",
|
|
177
|
+
"buttonVariant",
|
|
178
|
+
"formatters",
|
|
179
|
+
"components"
|
|
180
|
+
]);
|
|
181
|
+
const defaultClassNames = getDefaultClassNames();
|
|
182
|
+
return /* @__PURE__ */ jsx(
|
|
183
|
+
DayPicker,
|
|
184
|
+
__spreadValues({
|
|
185
|
+
showOutsideDays,
|
|
186
|
+
className: cn(
|
|
187
|
+
"bg-background group/calendar p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent",
|
|
188
|
+
String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,
|
|
189
|
+
String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,
|
|
190
|
+
className
|
|
191
|
+
),
|
|
192
|
+
captionLayout,
|
|
193
|
+
formatters: __spreadValues({
|
|
194
|
+
formatMonthDropdown: (date) => date.toLocaleString("default", { month: "short" })
|
|
195
|
+
}, formatters),
|
|
196
|
+
classNames: __spreadValues({
|
|
197
|
+
root: cn("w-fit", defaultClassNames.root),
|
|
198
|
+
months: cn(
|
|
199
|
+
"flex gap-4 flex-col md:flex-row relative",
|
|
200
|
+
defaultClassNames.months
|
|
201
|
+
),
|
|
202
|
+
month: cn("flex flex-col w-full gap-4", defaultClassNames.month),
|
|
203
|
+
nav: cn(
|
|
204
|
+
"flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between",
|
|
205
|
+
defaultClassNames.nav
|
|
206
|
+
),
|
|
207
|
+
button_previous: cn(
|
|
208
|
+
buttonVariants({ variant: buttonVariant }),
|
|
209
|
+
"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",
|
|
210
|
+
defaultClassNames.button_previous
|
|
211
|
+
),
|
|
212
|
+
button_next: cn(
|
|
213
|
+
buttonVariants({ variant: buttonVariant }),
|
|
214
|
+
"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",
|
|
215
|
+
defaultClassNames.button_next
|
|
216
|
+
),
|
|
217
|
+
month_caption: cn(
|
|
218
|
+
"flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)",
|
|
219
|
+
defaultClassNames.month_caption
|
|
220
|
+
),
|
|
221
|
+
dropdowns: cn(
|
|
222
|
+
"w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5",
|
|
223
|
+
defaultClassNames.dropdowns
|
|
224
|
+
),
|
|
225
|
+
dropdown_root: cn(
|
|
226
|
+
"relative has-focus:border-ring border border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] rounded-md",
|
|
227
|
+
defaultClassNames.dropdown_root
|
|
228
|
+
),
|
|
229
|
+
dropdown: cn(
|
|
230
|
+
"absolute bg-popover inset-0 opacity-0",
|
|
231
|
+
defaultClassNames.dropdown
|
|
232
|
+
),
|
|
233
|
+
caption_label: cn(
|
|
234
|
+
"select-none font-medium",
|
|
235
|
+
captionLayout === "label" ? "text-sm" : "rounded-md pl-2 pr-1 flex items-center gap-1 text-sm h-8 [&>svg]:text-muted-foreground [&>svg]:size-3.5",
|
|
236
|
+
defaultClassNames.caption_label
|
|
237
|
+
),
|
|
238
|
+
table: "w-full border-collapse",
|
|
239
|
+
weekdays: cn("flex", defaultClassNames.weekdays),
|
|
240
|
+
weekday: cn(
|
|
241
|
+
"text-muted-foreground rounded-md flex-1 font-normal text-[0.8rem] select-none",
|
|
242
|
+
defaultClassNames.weekday
|
|
243
|
+
),
|
|
244
|
+
week: cn("flex w-full mt-2", defaultClassNames.week),
|
|
245
|
+
week_number_header: cn(
|
|
246
|
+
"select-none w-(--cell-size)",
|
|
247
|
+
defaultClassNames.week_number_header
|
|
248
|
+
),
|
|
249
|
+
week_number: cn(
|
|
250
|
+
"text-[0.8rem] select-none text-muted-foreground",
|
|
251
|
+
defaultClassNames.week_number
|
|
252
|
+
),
|
|
253
|
+
day: cn(
|
|
254
|
+
"relative w-full h-full p-0 text-center [&:last-child[data-selected=true]_button]:rounded-r-md group/day aspect-square select-none",
|
|
255
|
+
props.showWeekNumber ? "[&:nth-child(2)[data-selected=true]_button]:rounded-l-md" : "[&:first-child[data-selected=true]_button]:rounded-l-md",
|
|
256
|
+
defaultClassNames.day
|
|
257
|
+
),
|
|
258
|
+
range_start: cn(
|
|
259
|
+
"rounded-l-md bg-accent",
|
|
260
|
+
defaultClassNames.range_start
|
|
261
|
+
),
|
|
262
|
+
range_middle: cn("rounded-none", defaultClassNames.range_middle),
|
|
263
|
+
range_end: cn("rounded-r-md bg-accent", defaultClassNames.range_end),
|
|
264
|
+
today: cn(
|
|
265
|
+
"bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none",
|
|
266
|
+
defaultClassNames.today
|
|
267
|
+
),
|
|
268
|
+
outside: cn(
|
|
269
|
+
"text-muted-foreground aria-selected:text-muted-foreground",
|
|
270
|
+
defaultClassNames.outside
|
|
271
|
+
),
|
|
272
|
+
disabled: cn(
|
|
273
|
+
"text-muted-foreground opacity-50",
|
|
274
|
+
defaultClassNames.disabled
|
|
275
|
+
),
|
|
276
|
+
hidden: cn("invisible", defaultClassNames.hidden)
|
|
277
|
+
}, classNames),
|
|
278
|
+
components: __spreadValues({
|
|
279
|
+
Root: (_a2) => {
|
|
280
|
+
var _b2 = _a2, { className: className2, rootRef } = _b2, props2 = __objRest(_b2, ["className", "rootRef"]);
|
|
281
|
+
return /* @__PURE__ */ jsx(
|
|
282
|
+
"div",
|
|
283
|
+
__spreadValues({
|
|
284
|
+
"data-slot": "calendar",
|
|
285
|
+
ref: rootRef,
|
|
286
|
+
className: cn(className2)
|
|
287
|
+
}, props2)
|
|
288
|
+
);
|
|
289
|
+
},
|
|
290
|
+
Chevron: (_c) => {
|
|
291
|
+
var _d = _c, { className: className2, orientation } = _d, props2 = __objRest(_d, ["className", "orientation"]);
|
|
292
|
+
if (orientation === "left") {
|
|
293
|
+
return /* @__PURE__ */ jsx(ChevronLeftIcon, __spreadValues({ className: cn("size-4", className2) }, props2));
|
|
294
|
+
}
|
|
295
|
+
if (orientation === "right") {
|
|
296
|
+
return /* @__PURE__ */ jsx(
|
|
297
|
+
ChevronRightIcon,
|
|
298
|
+
__spreadValues({
|
|
299
|
+
className: cn("size-4", className2)
|
|
300
|
+
}, props2)
|
|
301
|
+
);
|
|
302
|
+
}
|
|
303
|
+
return /* @__PURE__ */ jsx(ChevronDownIcon, __spreadValues({ className: cn("size-4", className2) }, props2));
|
|
304
|
+
},
|
|
305
|
+
DayButton: CalendarDayButton,
|
|
306
|
+
WeekNumber: (_e) => {
|
|
307
|
+
var _f = _e, { children } = _f, props2 = __objRest(_f, ["children"]);
|
|
308
|
+
return /* @__PURE__ */ jsx("td", __spreadProps(__spreadValues({}, props2), { children: /* @__PURE__ */ jsx("div", { className: "flex size-(--cell-size) items-center justify-center text-center", children }) }));
|
|
309
|
+
}
|
|
310
|
+
}, components)
|
|
311
|
+
}, props)
|
|
312
|
+
);
|
|
313
|
+
}
|
|
314
|
+
function CalendarDayButton(_a) {
|
|
315
|
+
var _b = _a, {
|
|
316
|
+
className,
|
|
317
|
+
day,
|
|
318
|
+
modifiers
|
|
319
|
+
} = _b, props = __objRest(_b, [
|
|
320
|
+
"className",
|
|
321
|
+
"day",
|
|
322
|
+
"modifiers"
|
|
323
|
+
]);
|
|
324
|
+
const defaultClassNames = getDefaultClassNames();
|
|
325
|
+
const ref = React9.useRef(null);
|
|
326
|
+
React9.useEffect(() => {
|
|
327
|
+
var _a2;
|
|
328
|
+
if (modifiers.focused) (_a2 = ref.current) == null ? void 0 : _a2.focus();
|
|
329
|
+
}, [modifiers.focused]);
|
|
330
|
+
return /* @__PURE__ */ jsx(
|
|
331
|
+
Button,
|
|
332
|
+
__spreadValues({
|
|
333
|
+
ref,
|
|
334
|
+
variant: "ghost",
|
|
335
|
+
size: "icon",
|
|
336
|
+
"data-day": day.date.toLocaleDateString(),
|
|
337
|
+
"data-selected-single": modifiers.selected && !modifiers.range_start && !modifiers.range_end && !modifiers.range_middle,
|
|
338
|
+
"data-range-start": modifiers.range_start,
|
|
339
|
+
"data-range-end": modifiers.range_end,
|
|
340
|
+
"data-range-middle": modifiers.range_middle,
|
|
341
|
+
className: cn(
|
|
342
|
+
"data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 dark:hover:text-accent-foreground flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] data-[range-end=true]:rounded-md data-[range-end=true]:rounded-r-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md data-[range-start=true]:rounded-l-md [&>span]:text-xs [&>span]:opacity-70",
|
|
343
|
+
defaultClassNames.day,
|
|
344
|
+
className
|
|
345
|
+
)
|
|
346
|
+
}, props)
|
|
347
|
+
);
|
|
348
|
+
}
|
|
349
|
+
function Card(_a) {
|
|
350
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
351
|
+
return /* @__PURE__ */ jsx(
|
|
352
|
+
"div",
|
|
353
|
+
__spreadValues({
|
|
354
|
+
"data-slot": "card",
|
|
355
|
+
className: cn(
|
|
356
|
+
"bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",
|
|
357
|
+
className
|
|
358
|
+
)
|
|
359
|
+
}, props)
|
|
360
|
+
);
|
|
361
|
+
}
|
|
362
|
+
function CardHeader(_a) {
|
|
363
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
364
|
+
return /* @__PURE__ */ jsx(
|
|
365
|
+
"div",
|
|
366
|
+
__spreadValues({
|
|
367
|
+
"data-slot": "card-header",
|
|
368
|
+
className: cn(
|
|
369
|
+
"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",
|
|
370
|
+
className
|
|
371
|
+
)
|
|
372
|
+
}, props)
|
|
373
|
+
);
|
|
374
|
+
}
|
|
375
|
+
function CardTitle(_a) {
|
|
376
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
377
|
+
return /* @__PURE__ */ jsx(
|
|
378
|
+
"div",
|
|
379
|
+
__spreadValues({
|
|
380
|
+
"data-slot": "card-title",
|
|
381
|
+
className: cn("leading-none font-semibold", className)
|
|
382
|
+
}, props)
|
|
383
|
+
);
|
|
384
|
+
}
|
|
385
|
+
function CardDescription(_a) {
|
|
386
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
387
|
+
return /* @__PURE__ */ jsx(
|
|
388
|
+
"div",
|
|
389
|
+
__spreadValues({
|
|
390
|
+
"data-slot": "card-description",
|
|
391
|
+
className: cn("text-muted-foreground text-sm", className)
|
|
392
|
+
}, props)
|
|
393
|
+
);
|
|
394
|
+
}
|
|
395
|
+
function CardAction(_a) {
|
|
396
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
397
|
+
return /* @__PURE__ */ jsx(
|
|
398
|
+
"div",
|
|
399
|
+
__spreadValues({
|
|
400
|
+
"data-slot": "card-action",
|
|
401
|
+
className: cn(
|
|
402
|
+
"col-start-2 row-span-2 row-start-1 self-start justify-self-end",
|
|
403
|
+
className
|
|
404
|
+
)
|
|
405
|
+
}, props)
|
|
406
|
+
);
|
|
407
|
+
}
|
|
408
|
+
function CardContent(_a) {
|
|
409
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
410
|
+
return /* @__PURE__ */ jsx(
|
|
411
|
+
"div",
|
|
412
|
+
__spreadValues({
|
|
413
|
+
"data-slot": "card-content",
|
|
414
|
+
className: cn("px-6", className)
|
|
415
|
+
}, props)
|
|
416
|
+
);
|
|
417
|
+
}
|
|
418
|
+
function CardFooter(_a) {
|
|
419
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
420
|
+
return /* @__PURE__ */ jsx(
|
|
421
|
+
"div",
|
|
422
|
+
__spreadValues({
|
|
423
|
+
"data-slot": "card-footer",
|
|
424
|
+
className: cn("flex items-center px-6 [.border-t]:pt-6", className)
|
|
425
|
+
}, props)
|
|
426
|
+
);
|
|
427
|
+
}
|
|
428
|
+
function Dialog(_a) {
|
|
429
|
+
var props = __objRest(_a, []);
|
|
430
|
+
return /* @__PURE__ */ jsx(DialogPrimitive.Root, __spreadValues({ "data-slot": "dialog" }, props));
|
|
431
|
+
}
|
|
432
|
+
function DialogTrigger(_a) {
|
|
433
|
+
var props = __objRest(_a, []);
|
|
434
|
+
return /* @__PURE__ */ jsx(DialogPrimitive.Trigger, __spreadValues({ "data-slot": "dialog-trigger" }, props));
|
|
435
|
+
}
|
|
436
|
+
function DialogPortal(_a) {
|
|
437
|
+
var props = __objRest(_a, []);
|
|
438
|
+
return /* @__PURE__ */ jsx(DialogPrimitive.Portal, __spreadValues({ "data-slot": "dialog-portal" }, props));
|
|
439
|
+
}
|
|
440
|
+
function DialogClose(_a) {
|
|
441
|
+
var props = __objRest(_a, []);
|
|
442
|
+
return /* @__PURE__ */ jsx(DialogPrimitive.Close, __spreadValues({ "data-slot": "dialog-close" }, props));
|
|
443
|
+
}
|
|
444
|
+
function DialogOverlay(_a) {
|
|
445
|
+
var _b = _a, {
|
|
446
|
+
className
|
|
447
|
+
} = _b, props = __objRest(_b, [
|
|
448
|
+
"className"
|
|
449
|
+
]);
|
|
450
|
+
return /* @__PURE__ */ jsx(
|
|
451
|
+
DialogPrimitive.Overlay,
|
|
452
|
+
__spreadValues({
|
|
453
|
+
"data-slot": "dialog-overlay",
|
|
454
|
+
className: cn(
|
|
455
|
+
"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",
|
|
456
|
+
className
|
|
457
|
+
)
|
|
458
|
+
}, props)
|
|
459
|
+
);
|
|
460
|
+
}
|
|
461
|
+
function DialogContent(_a) {
|
|
462
|
+
var _b = _a, {
|
|
463
|
+
className,
|
|
464
|
+
children,
|
|
465
|
+
showCloseButton = true
|
|
466
|
+
} = _b, props = __objRest(_b, [
|
|
467
|
+
"className",
|
|
468
|
+
"children",
|
|
469
|
+
"showCloseButton"
|
|
470
|
+
]);
|
|
471
|
+
return /* @__PURE__ */ jsxs(DialogPortal, { "data-slot": "dialog-portal", children: [
|
|
472
|
+
/* @__PURE__ */ jsx(DialogOverlay, {}),
|
|
473
|
+
/* @__PURE__ */ jsxs(
|
|
474
|
+
DialogPrimitive.Content,
|
|
475
|
+
__spreadProps(__spreadValues({
|
|
476
|
+
"data-slot": "dialog-content",
|
|
477
|
+
className: cn(
|
|
478
|
+
"bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 outline-none sm:max-w-lg",
|
|
479
|
+
className
|
|
480
|
+
)
|
|
481
|
+
}, props), {
|
|
482
|
+
children: [
|
|
483
|
+
children,
|
|
484
|
+
showCloseButton && /* @__PURE__ */ jsxs(
|
|
485
|
+
DialogPrimitive.Close,
|
|
486
|
+
{
|
|
487
|
+
"data-slot": "dialog-close",
|
|
488
|
+
className: "ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
489
|
+
children: [
|
|
490
|
+
/* @__PURE__ */ jsx(XIcon, {}),
|
|
491
|
+
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "Close" })
|
|
492
|
+
]
|
|
493
|
+
}
|
|
494
|
+
)
|
|
495
|
+
]
|
|
496
|
+
})
|
|
497
|
+
)
|
|
498
|
+
] });
|
|
499
|
+
}
|
|
500
|
+
function DialogHeader(_a) {
|
|
501
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
502
|
+
return /* @__PURE__ */ jsx(
|
|
503
|
+
"div",
|
|
504
|
+
__spreadValues({
|
|
505
|
+
"data-slot": "dialog-header",
|
|
506
|
+
className: cn("flex flex-col gap-2 text-center sm:text-left", className)
|
|
507
|
+
}, props)
|
|
508
|
+
);
|
|
509
|
+
}
|
|
510
|
+
function DialogFooter(_a) {
|
|
511
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
512
|
+
return /* @__PURE__ */ jsx(
|
|
513
|
+
"div",
|
|
514
|
+
__spreadValues({
|
|
515
|
+
"data-slot": "dialog-footer",
|
|
516
|
+
className: cn(
|
|
517
|
+
"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",
|
|
518
|
+
className
|
|
519
|
+
)
|
|
520
|
+
}, props)
|
|
521
|
+
);
|
|
522
|
+
}
|
|
523
|
+
function DialogTitle(_a) {
|
|
524
|
+
var _b = _a, {
|
|
525
|
+
className
|
|
526
|
+
} = _b, props = __objRest(_b, [
|
|
527
|
+
"className"
|
|
528
|
+
]);
|
|
529
|
+
return /* @__PURE__ */ jsx(
|
|
530
|
+
DialogPrimitive.Title,
|
|
531
|
+
__spreadValues({
|
|
532
|
+
"data-slot": "dialog-title",
|
|
533
|
+
className: cn("text-lg leading-none font-semibold", className)
|
|
534
|
+
}, props)
|
|
535
|
+
);
|
|
536
|
+
}
|
|
537
|
+
function DialogDescription(_a) {
|
|
538
|
+
var _b = _a, {
|
|
539
|
+
className
|
|
540
|
+
} = _b, props = __objRest(_b, [
|
|
541
|
+
"className"
|
|
542
|
+
]);
|
|
543
|
+
return /* @__PURE__ */ jsx(
|
|
544
|
+
DialogPrimitive.Description,
|
|
545
|
+
__spreadValues({
|
|
546
|
+
"data-slot": "dialog-description",
|
|
547
|
+
className: cn("text-muted-foreground text-sm", className)
|
|
548
|
+
}, props)
|
|
549
|
+
);
|
|
550
|
+
}
|
|
551
|
+
function Command(_a) {
|
|
552
|
+
var _b = _a, {
|
|
553
|
+
className
|
|
554
|
+
} = _b, props = __objRest(_b, [
|
|
555
|
+
"className"
|
|
556
|
+
]);
|
|
557
|
+
return /* @__PURE__ */ jsx(
|
|
558
|
+
Command$1,
|
|
559
|
+
__spreadValues({
|
|
560
|
+
"data-slot": "command",
|
|
561
|
+
className: cn(
|
|
562
|
+
"bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md",
|
|
563
|
+
className
|
|
564
|
+
)
|
|
565
|
+
}, props)
|
|
566
|
+
);
|
|
567
|
+
}
|
|
568
|
+
function CommandDialog(_a) {
|
|
569
|
+
var _b = _a, {
|
|
570
|
+
title = "Command Palette",
|
|
571
|
+
description = "Search for a command to run...",
|
|
572
|
+
children,
|
|
573
|
+
className,
|
|
574
|
+
showCloseButton = true
|
|
575
|
+
} = _b, props = __objRest(_b, [
|
|
576
|
+
"title",
|
|
577
|
+
"description",
|
|
578
|
+
"children",
|
|
579
|
+
"className",
|
|
580
|
+
"showCloseButton"
|
|
581
|
+
]);
|
|
582
|
+
return /* @__PURE__ */ jsxs(Dialog, __spreadProps(__spreadValues({}, props), { children: [
|
|
583
|
+
/* @__PURE__ */ jsxs(DialogHeader, { className: "sr-only", children: [
|
|
584
|
+
/* @__PURE__ */ jsx(DialogTitle, { children: title }),
|
|
585
|
+
/* @__PURE__ */ jsx(DialogDescription, { children: description })
|
|
586
|
+
] }),
|
|
587
|
+
/* @__PURE__ */ jsx(
|
|
588
|
+
DialogContent,
|
|
589
|
+
{
|
|
590
|
+
className: cn("overflow-hidden p-0", className),
|
|
591
|
+
showCloseButton,
|
|
592
|
+
children: /* @__PURE__ */ jsx(Command, { className: "[&_[cmdk-group-heading]]:text-muted-foreground **:data-[slot=command-input-wrapper]:h-12 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5", children })
|
|
593
|
+
}
|
|
594
|
+
)
|
|
595
|
+
] }));
|
|
596
|
+
}
|
|
597
|
+
function CommandInput(_a) {
|
|
598
|
+
var _b = _a, {
|
|
599
|
+
className
|
|
600
|
+
} = _b, props = __objRest(_b, [
|
|
601
|
+
"className"
|
|
602
|
+
]);
|
|
603
|
+
return /* @__PURE__ */ jsxs(
|
|
604
|
+
"div",
|
|
605
|
+
{
|
|
606
|
+
"data-slot": "command-input-wrapper",
|
|
607
|
+
className: "flex h-9 items-center gap-2 border-b px-3",
|
|
608
|
+
children: [
|
|
609
|
+
/* @__PURE__ */ jsx(SearchIcon, { className: "size-4 shrink-0 opacity-50" }),
|
|
610
|
+
/* @__PURE__ */ jsx(
|
|
611
|
+
Command$1.Input,
|
|
612
|
+
__spreadValues({
|
|
613
|
+
"data-slot": "command-input",
|
|
614
|
+
className: cn(
|
|
615
|
+
"placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50",
|
|
616
|
+
className
|
|
617
|
+
)
|
|
618
|
+
}, props)
|
|
619
|
+
)
|
|
620
|
+
]
|
|
621
|
+
}
|
|
622
|
+
);
|
|
623
|
+
}
|
|
624
|
+
function CommandList(_a) {
|
|
625
|
+
var _b = _a, {
|
|
626
|
+
className
|
|
627
|
+
} = _b, props = __objRest(_b, [
|
|
628
|
+
"className"
|
|
629
|
+
]);
|
|
630
|
+
return /* @__PURE__ */ jsx(
|
|
631
|
+
Command$1.List,
|
|
632
|
+
__spreadValues({
|
|
633
|
+
"data-slot": "command-list",
|
|
634
|
+
className: cn(
|
|
635
|
+
"max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",
|
|
636
|
+
className
|
|
637
|
+
)
|
|
638
|
+
}, props)
|
|
639
|
+
);
|
|
640
|
+
}
|
|
641
|
+
function CommandEmpty(_a) {
|
|
642
|
+
var props = __objRest(_a, []);
|
|
643
|
+
return /* @__PURE__ */ jsx(
|
|
644
|
+
Command$1.Empty,
|
|
645
|
+
__spreadValues({
|
|
646
|
+
"data-slot": "command-empty",
|
|
647
|
+
className: "py-6 text-center text-sm"
|
|
648
|
+
}, props)
|
|
649
|
+
);
|
|
650
|
+
}
|
|
651
|
+
function CommandGroup(_a) {
|
|
652
|
+
var _b = _a, {
|
|
653
|
+
className
|
|
654
|
+
} = _b, props = __objRest(_b, [
|
|
655
|
+
"className"
|
|
656
|
+
]);
|
|
657
|
+
return /* @__PURE__ */ jsx(
|
|
658
|
+
Command$1.Group,
|
|
659
|
+
__spreadValues({
|
|
660
|
+
"data-slot": "command-group",
|
|
661
|
+
className: cn(
|
|
662
|
+
"text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium",
|
|
663
|
+
className
|
|
664
|
+
)
|
|
665
|
+
}, props)
|
|
666
|
+
);
|
|
667
|
+
}
|
|
668
|
+
function CommandSeparator(_a) {
|
|
669
|
+
var _b = _a, {
|
|
670
|
+
className
|
|
671
|
+
} = _b, props = __objRest(_b, [
|
|
672
|
+
"className"
|
|
673
|
+
]);
|
|
674
|
+
return /* @__PURE__ */ jsx(
|
|
675
|
+
Command$1.Separator,
|
|
676
|
+
__spreadValues({
|
|
677
|
+
"data-slot": "command-separator",
|
|
678
|
+
className: cn("bg-border -mx-1 h-px", className)
|
|
679
|
+
}, props)
|
|
680
|
+
);
|
|
681
|
+
}
|
|
682
|
+
function CommandItem(_a) {
|
|
683
|
+
var _b = _a, {
|
|
684
|
+
className
|
|
685
|
+
} = _b, props = __objRest(_b, [
|
|
686
|
+
"className"
|
|
687
|
+
]);
|
|
688
|
+
return /* @__PURE__ */ jsx(
|
|
689
|
+
Command$1.Item,
|
|
690
|
+
__spreadValues({
|
|
691
|
+
"data-slot": "command-item",
|
|
692
|
+
className: cn(
|
|
693
|
+
"data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
694
|
+
className
|
|
695
|
+
)
|
|
696
|
+
}, props)
|
|
697
|
+
);
|
|
698
|
+
}
|
|
699
|
+
function CommandShortcut(_a) {
|
|
700
|
+
var _b = _a, {
|
|
701
|
+
className
|
|
702
|
+
} = _b, props = __objRest(_b, [
|
|
703
|
+
"className"
|
|
704
|
+
]);
|
|
705
|
+
return /* @__PURE__ */ jsx(
|
|
706
|
+
"span",
|
|
707
|
+
__spreadValues({
|
|
708
|
+
"data-slot": "command-shortcut",
|
|
709
|
+
className: cn(
|
|
710
|
+
"text-muted-foreground ml-auto text-xs tracking-widest",
|
|
711
|
+
className
|
|
712
|
+
)
|
|
713
|
+
}, props)
|
|
714
|
+
);
|
|
715
|
+
}
|
|
716
|
+
function Input(_a) {
|
|
717
|
+
var _b = _a, { className, type } = _b, props = __objRest(_b, ["className", "type"]);
|
|
718
|
+
return /* @__PURE__ */ jsx(
|
|
719
|
+
"input",
|
|
720
|
+
__spreadValues({
|
|
721
|
+
type,
|
|
722
|
+
"data-slot": "input",
|
|
723
|
+
className: cn(
|
|
724
|
+
"file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
|
|
725
|
+
"focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",
|
|
726
|
+
"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
|
|
727
|
+
className
|
|
728
|
+
)
|
|
729
|
+
}, props)
|
|
730
|
+
);
|
|
731
|
+
}
|
|
732
|
+
function Label(_a) {
|
|
733
|
+
var _b = _a, {
|
|
734
|
+
className
|
|
735
|
+
} = _b, props = __objRest(_b, [
|
|
736
|
+
"className"
|
|
737
|
+
]);
|
|
738
|
+
return /* @__PURE__ */ jsx(
|
|
739
|
+
LabelPrimitive.Root,
|
|
740
|
+
__spreadValues({
|
|
741
|
+
"data-slot": "label",
|
|
742
|
+
className: cn(
|
|
743
|
+
"flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",
|
|
744
|
+
className
|
|
745
|
+
)
|
|
746
|
+
}, props)
|
|
747
|
+
);
|
|
748
|
+
}
|
|
749
|
+
function Popover(_a) {
|
|
750
|
+
var props = __objRest(_a, []);
|
|
751
|
+
return /* @__PURE__ */ jsx(PopoverPrimitive.Root, __spreadValues({ "data-slot": "popover" }, props));
|
|
752
|
+
}
|
|
753
|
+
function PopoverTrigger(_a) {
|
|
754
|
+
var props = __objRest(_a, []);
|
|
755
|
+
return /* @__PURE__ */ jsx(PopoverPrimitive.Trigger, __spreadValues({ "data-slot": "popover-trigger" }, props));
|
|
756
|
+
}
|
|
757
|
+
function PopoverContent(_a) {
|
|
758
|
+
var _b = _a, {
|
|
759
|
+
className,
|
|
760
|
+
align = "center",
|
|
761
|
+
sideOffset = 4
|
|
762
|
+
} = _b, props = __objRest(_b, [
|
|
763
|
+
"className",
|
|
764
|
+
"align",
|
|
765
|
+
"sideOffset"
|
|
766
|
+
]);
|
|
767
|
+
return /* @__PURE__ */ jsx(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx(
|
|
768
|
+
PopoverPrimitive.Content,
|
|
769
|
+
__spreadValues({
|
|
770
|
+
"data-slot": "popover-content",
|
|
771
|
+
align,
|
|
772
|
+
sideOffset,
|
|
773
|
+
className: cn(
|
|
774
|
+
"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",
|
|
775
|
+
className
|
|
776
|
+
)
|
|
777
|
+
}, props)
|
|
778
|
+
) });
|
|
779
|
+
}
|
|
780
|
+
function PopoverAnchor(_a) {
|
|
781
|
+
var props = __objRest(_a, []);
|
|
782
|
+
return /* @__PURE__ */ jsx(PopoverPrimitive.Anchor, __spreadValues({ "data-slot": "popover-anchor" }, props));
|
|
783
|
+
}
|
|
784
|
+
function Progress(_a) {
|
|
785
|
+
var _b = _a, {
|
|
786
|
+
className,
|
|
787
|
+
value
|
|
788
|
+
} = _b, props = __objRest(_b, [
|
|
789
|
+
"className",
|
|
790
|
+
"value"
|
|
791
|
+
]);
|
|
792
|
+
return /* @__PURE__ */ jsx(
|
|
793
|
+
ProgressPrimitive.Root,
|
|
794
|
+
__spreadProps(__spreadValues({
|
|
795
|
+
"data-slot": "progress",
|
|
796
|
+
className: cn(
|
|
797
|
+
"bg-primary/20 relative h-2 w-full overflow-hidden rounded-full",
|
|
798
|
+
className
|
|
799
|
+
)
|
|
800
|
+
}, props), {
|
|
801
|
+
children: /* @__PURE__ */ jsx(
|
|
802
|
+
ProgressPrimitive.Indicator,
|
|
803
|
+
{
|
|
804
|
+
"data-slot": "progress-indicator",
|
|
805
|
+
className: "bg-[var(--theme-primary,black)] h-full w-full flex-1 transition-all",
|
|
806
|
+
style: { transform: `translateX(-${100 - (value || 0)}%)` }
|
|
807
|
+
}
|
|
808
|
+
)
|
|
809
|
+
})
|
|
810
|
+
);
|
|
811
|
+
}
|
|
812
|
+
function Select(_a) {
|
|
813
|
+
var props = __objRest(_a, []);
|
|
814
|
+
return /* @__PURE__ */ jsx(SelectPrimitive.Root, __spreadValues({ "data-slot": "select" }, props));
|
|
815
|
+
}
|
|
816
|
+
function SelectGroup(_a) {
|
|
817
|
+
var props = __objRest(_a, []);
|
|
818
|
+
return /* @__PURE__ */ jsx(SelectPrimitive.Group, __spreadValues({ "data-slot": "select-group" }, props));
|
|
819
|
+
}
|
|
820
|
+
function SelectValue(_a) {
|
|
821
|
+
var props = __objRest(_a, []);
|
|
822
|
+
return /* @__PURE__ */ jsx(SelectPrimitive.Value, __spreadValues({ "data-slot": "select-value" }, props));
|
|
823
|
+
}
|
|
824
|
+
function SelectTrigger(_a) {
|
|
825
|
+
var _b = _a, {
|
|
826
|
+
className,
|
|
827
|
+
size = "default",
|
|
828
|
+
children
|
|
829
|
+
} = _b, props = __objRest(_b, [
|
|
830
|
+
"className",
|
|
831
|
+
"size",
|
|
832
|
+
"children"
|
|
833
|
+
]);
|
|
834
|
+
return /* @__PURE__ */ jsxs(
|
|
835
|
+
SelectPrimitive.Trigger,
|
|
836
|
+
__spreadProps(__spreadValues({
|
|
837
|
+
"data-slot": "select-trigger",
|
|
838
|
+
"data-size": size,
|
|
839
|
+
className: cn(
|
|
840
|
+
"border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
841
|
+
className
|
|
842
|
+
)
|
|
843
|
+
}, props), {
|
|
844
|
+
children: [
|
|
845
|
+
children,
|
|
846
|
+
/* @__PURE__ */ jsx(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx(ChevronDownIcon, { className: "size-4 opacity-50" }) })
|
|
847
|
+
]
|
|
848
|
+
})
|
|
849
|
+
);
|
|
850
|
+
}
|
|
851
|
+
function SelectContent(_a) {
|
|
852
|
+
var _b = _a, {
|
|
853
|
+
className,
|
|
854
|
+
children,
|
|
855
|
+
position = "item-aligned",
|
|
856
|
+
align = "center"
|
|
857
|
+
} = _b, props = __objRest(_b, [
|
|
858
|
+
"className",
|
|
859
|
+
"children",
|
|
860
|
+
"position",
|
|
861
|
+
"align"
|
|
862
|
+
]);
|
|
863
|
+
return /* @__PURE__ */ jsx(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs(
|
|
864
|
+
SelectPrimitive.Content,
|
|
865
|
+
__spreadProps(__spreadValues({
|
|
866
|
+
"data-slot": "select-content",
|
|
867
|
+
className: cn(
|
|
868
|
+
"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md",
|
|
869
|
+
position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
|
|
870
|
+
className
|
|
871
|
+
),
|
|
872
|
+
position,
|
|
873
|
+
align
|
|
874
|
+
}, props), {
|
|
875
|
+
children: [
|
|
876
|
+
/* @__PURE__ */ jsx(SelectScrollUpButton, {}),
|
|
877
|
+
/* @__PURE__ */ jsx(
|
|
878
|
+
SelectPrimitive.Viewport,
|
|
879
|
+
{
|
|
880
|
+
className: cn(
|
|
881
|
+
"p-1",
|
|
882
|
+
position === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"
|
|
883
|
+
),
|
|
884
|
+
children
|
|
885
|
+
}
|
|
886
|
+
),
|
|
887
|
+
/* @__PURE__ */ jsx(SelectScrollDownButton, {})
|
|
888
|
+
]
|
|
889
|
+
})
|
|
890
|
+
) });
|
|
891
|
+
}
|
|
892
|
+
function SelectLabel(_a) {
|
|
893
|
+
var _b = _a, {
|
|
894
|
+
className
|
|
895
|
+
} = _b, props = __objRest(_b, [
|
|
896
|
+
"className"
|
|
897
|
+
]);
|
|
898
|
+
return /* @__PURE__ */ jsx(
|
|
899
|
+
SelectPrimitive.Label,
|
|
900
|
+
__spreadValues({
|
|
901
|
+
"data-slot": "select-label",
|
|
902
|
+
className: cn("text-muted-foreground px-2 py-1.5 text-xs", className)
|
|
903
|
+
}, props)
|
|
904
|
+
);
|
|
905
|
+
}
|
|
906
|
+
function SelectItem(_a) {
|
|
907
|
+
var _b = _a, {
|
|
908
|
+
className,
|
|
909
|
+
children
|
|
910
|
+
} = _b, props = __objRest(_b, [
|
|
911
|
+
"className",
|
|
912
|
+
"children"
|
|
913
|
+
]);
|
|
914
|
+
return /* @__PURE__ */ jsxs(
|
|
915
|
+
SelectPrimitive.Item,
|
|
916
|
+
__spreadProps(__spreadValues({
|
|
917
|
+
"data-slot": "select-item",
|
|
918
|
+
className: cn(
|
|
919
|
+
"focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",
|
|
920
|
+
className
|
|
921
|
+
)
|
|
922
|
+
}, props), {
|
|
923
|
+
children: [
|
|
924
|
+
/* @__PURE__ */ jsx(
|
|
925
|
+
"span",
|
|
926
|
+
{
|
|
927
|
+
"data-slot": "select-item-indicator",
|
|
928
|
+
className: "absolute right-2 flex size-3.5 items-center justify-center",
|
|
929
|
+
children: /* @__PURE__ */ jsx(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(CheckIcon, { className: "size-4" }) })
|
|
930
|
+
}
|
|
931
|
+
),
|
|
932
|
+
/* @__PURE__ */ jsx(SelectPrimitive.ItemText, { children })
|
|
933
|
+
]
|
|
934
|
+
})
|
|
935
|
+
);
|
|
936
|
+
}
|
|
937
|
+
function SelectSeparator(_a) {
|
|
938
|
+
var _b = _a, {
|
|
939
|
+
className
|
|
940
|
+
} = _b, props = __objRest(_b, [
|
|
941
|
+
"className"
|
|
942
|
+
]);
|
|
943
|
+
return /* @__PURE__ */ jsx(
|
|
944
|
+
SelectPrimitive.Separator,
|
|
945
|
+
__spreadValues({
|
|
946
|
+
"data-slot": "select-separator",
|
|
947
|
+
className: cn("bg-border pointer-events-none -mx-1 my-1 h-px", className)
|
|
948
|
+
}, props)
|
|
949
|
+
);
|
|
950
|
+
}
|
|
951
|
+
function SelectScrollUpButton(_a) {
|
|
952
|
+
var _b = _a, {
|
|
953
|
+
className
|
|
954
|
+
} = _b, props = __objRest(_b, [
|
|
955
|
+
"className"
|
|
956
|
+
]);
|
|
957
|
+
return /* @__PURE__ */ jsx(
|
|
958
|
+
SelectPrimitive.ScrollUpButton,
|
|
959
|
+
__spreadProps(__spreadValues({
|
|
960
|
+
"data-slot": "select-scroll-up-button",
|
|
961
|
+
className: cn(
|
|
962
|
+
"flex cursor-default items-center justify-center py-1",
|
|
963
|
+
className
|
|
964
|
+
)
|
|
965
|
+
}, props), {
|
|
966
|
+
children: /* @__PURE__ */ jsx(ChevronUpIcon, { className: "size-4" })
|
|
967
|
+
})
|
|
968
|
+
);
|
|
969
|
+
}
|
|
970
|
+
function SelectScrollDownButton(_a) {
|
|
971
|
+
var _b = _a, {
|
|
972
|
+
className
|
|
973
|
+
} = _b, props = __objRest(_b, [
|
|
974
|
+
"className"
|
|
975
|
+
]);
|
|
976
|
+
return /* @__PURE__ */ jsx(
|
|
977
|
+
SelectPrimitive.ScrollDownButton,
|
|
978
|
+
__spreadProps(__spreadValues({
|
|
979
|
+
"data-slot": "select-scroll-down-button",
|
|
980
|
+
className: cn(
|
|
981
|
+
"flex cursor-default items-center justify-center py-1",
|
|
982
|
+
className
|
|
983
|
+
)
|
|
984
|
+
}, props), {
|
|
985
|
+
children: /* @__PURE__ */ jsx(ChevronDownIcon, { className: "size-4" })
|
|
986
|
+
})
|
|
987
|
+
);
|
|
988
|
+
}
|
|
989
|
+
var Spinner = React9.forwardRef(
|
|
990
|
+
(_a, ref) => {
|
|
991
|
+
var _b = _a, { className, size = "md" } = _b, props = __objRest(_b, ["className", "size"]);
|
|
992
|
+
const sizeClasses = {
|
|
993
|
+
sm: "h-4 w-4",
|
|
994
|
+
md: "h-6 w-6",
|
|
995
|
+
lg: "h-8 w-8",
|
|
996
|
+
xl: "h-12 w-12"
|
|
997
|
+
};
|
|
998
|
+
return /* @__PURE__ */ jsx(
|
|
999
|
+
"svg",
|
|
1000
|
+
__spreadProps(__spreadValues({
|
|
1001
|
+
ref,
|
|
1002
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
1003
|
+
viewBox: "0 0 24 24",
|
|
1004
|
+
fill: "none",
|
|
1005
|
+
stroke: "currentColor",
|
|
1006
|
+
strokeWidth: "2",
|
|
1007
|
+
strokeLinecap: "round",
|
|
1008
|
+
strokeLinejoin: "round",
|
|
1009
|
+
className: cn("animate-spin", sizeClasses[size], className)
|
|
1010
|
+
}, props), {
|
|
1011
|
+
children: /* @__PURE__ */ jsx("path", { d: "M21 12a9 9 0 1 1-6.219-8.56" })
|
|
1012
|
+
})
|
|
1013
|
+
);
|
|
1014
|
+
}
|
|
1015
|
+
);
|
|
1016
|
+
Spinner.displayName = "Spinner";
|
|
1017
|
+
function Switch(_a) {
|
|
1018
|
+
var _b = _a, {
|
|
1019
|
+
className
|
|
1020
|
+
} = _b, props = __objRest(_b, [
|
|
1021
|
+
"className"
|
|
1022
|
+
]);
|
|
1023
|
+
return /* @__PURE__ */ jsx(
|
|
1024
|
+
SwitchPrimitive.Root,
|
|
1025
|
+
__spreadProps(__spreadValues({
|
|
1026
|
+
"data-slot": "switch",
|
|
1027
|
+
className: cn(
|
|
1028
|
+
"peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",
|
|
1029
|
+
className
|
|
1030
|
+
)
|
|
1031
|
+
}, props), {
|
|
1032
|
+
children: /* @__PURE__ */ jsx(
|
|
1033
|
+
SwitchPrimitive.Thumb,
|
|
1034
|
+
{
|
|
1035
|
+
"data-slot": "switch-thumb",
|
|
1036
|
+
className: cn(
|
|
1037
|
+
"bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0"
|
|
1038
|
+
)
|
|
1039
|
+
}
|
|
1040
|
+
)
|
|
1041
|
+
})
|
|
1042
|
+
);
|
|
1043
|
+
}
|
|
1044
|
+
function Table(_a) {
|
|
1045
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
1046
|
+
return /* @__PURE__ */ jsx(
|
|
1047
|
+
"div",
|
|
1048
|
+
{
|
|
1049
|
+
"data-slot": "table-container",
|
|
1050
|
+
className: "relative w-full overflow-x-auto",
|
|
1051
|
+
children: /* @__PURE__ */ jsx(
|
|
1052
|
+
"table",
|
|
1053
|
+
__spreadValues({
|
|
1054
|
+
"data-slot": "table",
|
|
1055
|
+
className: cn("w-full caption-bottom text-sm", className)
|
|
1056
|
+
}, props)
|
|
1057
|
+
)
|
|
1058
|
+
}
|
|
1059
|
+
);
|
|
1060
|
+
}
|
|
1061
|
+
function TableHeader(_a) {
|
|
1062
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
1063
|
+
return /* @__PURE__ */ jsx(
|
|
1064
|
+
"thead",
|
|
1065
|
+
__spreadValues({
|
|
1066
|
+
"data-slot": "table-header",
|
|
1067
|
+
className: cn("[&_tr]:border-b", className)
|
|
1068
|
+
}, props)
|
|
1069
|
+
);
|
|
1070
|
+
}
|
|
1071
|
+
function TableBody(_a) {
|
|
1072
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
1073
|
+
return /* @__PURE__ */ jsx(
|
|
1074
|
+
"tbody",
|
|
1075
|
+
__spreadValues({
|
|
1076
|
+
"data-slot": "table-body",
|
|
1077
|
+
className: cn("[&_tr:last-child]:border-0", className)
|
|
1078
|
+
}, props)
|
|
1079
|
+
);
|
|
1080
|
+
}
|
|
1081
|
+
function TableFooter(_a) {
|
|
1082
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
1083
|
+
return /* @__PURE__ */ jsx(
|
|
1084
|
+
"tfoot",
|
|
1085
|
+
__spreadValues({
|
|
1086
|
+
"data-slot": "table-footer",
|
|
1087
|
+
className: cn(
|
|
1088
|
+
"bg-muted/50 border-t font-medium [&>tr]:last:border-b-0",
|
|
1089
|
+
className
|
|
1090
|
+
)
|
|
1091
|
+
}, props)
|
|
1092
|
+
);
|
|
1093
|
+
}
|
|
1094
|
+
function TableRow(_a) {
|
|
1095
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
1096
|
+
return /* @__PURE__ */ jsx(
|
|
1097
|
+
"tr",
|
|
1098
|
+
__spreadValues({
|
|
1099
|
+
"data-slot": "table-row",
|
|
1100
|
+
className: cn(
|
|
1101
|
+
"hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",
|
|
1102
|
+
className
|
|
1103
|
+
)
|
|
1104
|
+
}, props)
|
|
1105
|
+
);
|
|
1106
|
+
}
|
|
1107
|
+
function TableHead(_a) {
|
|
1108
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
1109
|
+
return /* @__PURE__ */ jsx(
|
|
1110
|
+
"th",
|
|
1111
|
+
__spreadValues({
|
|
1112
|
+
"data-slot": "table-head",
|
|
1113
|
+
className: cn(
|
|
1114
|
+
"text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",
|
|
1115
|
+
className
|
|
1116
|
+
)
|
|
1117
|
+
}, props)
|
|
1118
|
+
);
|
|
1119
|
+
}
|
|
1120
|
+
function TableCell(_a) {
|
|
1121
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
1122
|
+
return /* @__PURE__ */ jsx(
|
|
1123
|
+
"td",
|
|
1124
|
+
__spreadValues({
|
|
1125
|
+
"data-slot": "table-cell",
|
|
1126
|
+
className: cn(
|
|
1127
|
+
"p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",
|
|
1128
|
+
className
|
|
1129
|
+
)
|
|
1130
|
+
}, props)
|
|
1131
|
+
);
|
|
1132
|
+
}
|
|
1133
|
+
function TableCaption(_a) {
|
|
1134
|
+
var _b = _a, {
|
|
1135
|
+
className
|
|
1136
|
+
} = _b, props = __objRest(_b, [
|
|
1137
|
+
"className"
|
|
1138
|
+
]);
|
|
1139
|
+
return /* @__PURE__ */ jsx(
|
|
1140
|
+
"caption",
|
|
1141
|
+
__spreadValues({
|
|
1142
|
+
"data-slot": "table-caption",
|
|
1143
|
+
className: cn("text-muted-foreground mt-4 text-sm", className)
|
|
1144
|
+
}, props)
|
|
1145
|
+
);
|
|
1146
|
+
}
|
|
1147
|
+
function TooltipProvider(_a) {
|
|
1148
|
+
var _b = _a, {
|
|
1149
|
+
delayDuration = 0
|
|
1150
|
+
} = _b, props = __objRest(_b, [
|
|
1151
|
+
"delayDuration"
|
|
1152
|
+
]);
|
|
1153
|
+
return /* @__PURE__ */ jsx(
|
|
1154
|
+
TooltipPrimitive.Provider,
|
|
1155
|
+
__spreadValues({
|
|
1156
|
+
"data-slot": "tooltip-provider",
|
|
1157
|
+
delayDuration
|
|
1158
|
+
}, props)
|
|
1159
|
+
);
|
|
1160
|
+
}
|
|
1161
|
+
function Tooltip(_a) {
|
|
1162
|
+
var props = __objRest(_a, []);
|
|
1163
|
+
return /* @__PURE__ */ jsx(TooltipProvider, { children: /* @__PURE__ */ jsx(TooltipPrimitive.Root, __spreadValues({ "data-slot": "tooltip" }, props)) });
|
|
1164
|
+
}
|
|
1165
|
+
function TooltipTrigger(_a) {
|
|
1166
|
+
var props = __objRest(_a, []);
|
|
1167
|
+
return /* @__PURE__ */ jsx(TooltipPrimitive.Trigger, __spreadValues({ "data-slot": "tooltip-trigger" }, props));
|
|
1168
|
+
}
|
|
1169
|
+
function TooltipContent(_a) {
|
|
1170
|
+
var _b = _a, {
|
|
1171
|
+
className,
|
|
1172
|
+
sideOffset = 0,
|
|
1173
|
+
children
|
|
1174
|
+
} = _b, props = __objRest(_b, [
|
|
1175
|
+
"className",
|
|
1176
|
+
"sideOffset",
|
|
1177
|
+
"children"
|
|
1178
|
+
]);
|
|
1179
|
+
return /* @__PURE__ */ jsx(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsxs(
|
|
1180
|
+
TooltipPrimitive.Content,
|
|
1181
|
+
__spreadProps(__spreadValues({
|
|
1182
|
+
"data-slot": "tooltip-content",
|
|
1183
|
+
sideOffset,
|
|
1184
|
+
className: cn(
|
|
1185
|
+
"bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",
|
|
1186
|
+
className
|
|
1187
|
+
)
|
|
1188
|
+
}, props), {
|
|
1189
|
+
children: [
|
|
1190
|
+
children,
|
|
1191
|
+
/* @__PURE__ */ jsx(
|
|
1192
|
+
TooltipPrimitive.Arrow,
|
|
1193
|
+
{
|
|
1194
|
+
"data-slot": "tooltip-arrow",
|
|
1195
|
+
className: "z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] fill-foreground bg-foreground"
|
|
1196
|
+
}
|
|
1197
|
+
)
|
|
1198
|
+
]
|
|
1199
|
+
})
|
|
1200
|
+
) });
|
|
1201
|
+
}
|
|
1202
|
+
|
|
1203
|
+
// src/stories/claimmind/theme.ts
|
|
1204
|
+
var themeStyles = {
|
|
1205
|
+
Default: {
|
|
1206
|
+
primary: "var(--claimmind-primary)",
|
|
1207
|
+
secondary: "var(--claimmind-secondary)",
|
|
1208
|
+
tertiary: "var(--claimmind-tertiary)",
|
|
1209
|
+
success: "var(--claimmind-success)",
|
|
1210
|
+
danger: "var(--claimmind-danger)",
|
|
1211
|
+
background: "var(--claimmind-background)"
|
|
1212
|
+
},
|
|
1213
|
+
Owlexa: {
|
|
1214
|
+
primary: "var(--owlexa-primary)",
|
|
1215
|
+
secondary: "var(--owlexa-secondary)",
|
|
1216
|
+
tertiary: "var(--owlexa-tertiary)",
|
|
1217
|
+
success: "var(--owlexa-success)",
|
|
1218
|
+
danger: "var(--owlexa-danger)",
|
|
1219
|
+
background: "var(--owlexa-background)"
|
|
1220
|
+
},
|
|
1221
|
+
BPJS: {
|
|
1222
|
+
primary: "var(--bpjs-primary)",
|
|
1223
|
+
secondary: "var(--bpjs-secondary)",
|
|
1224
|
+
tertiary: "var(--bpjs-tertiary)",
|
|
1225
|
+
success: "var(--bpjs-success)",
|
|
1226
|
+
danger: "var(--bpjs-danger)",
|
|
1227
|
+
background: "var(--bpjs-background)"
|
|
1228
|
+
}
|
|
1229
|
+
};
|
|
1230
|
+
function ClaimMindSpinner({ theme = "Default", size = "md", className }) {
|
|
1231
|
+
const currentTheme = themeStyles[theme];
|
|
1232
|
+
return /* @__PURE__ */ jsx(
|
|
1233
|
+
Spinner,
|
|
1234
|
+
{
|
|
1235
|
+
size,
|
|
1236
|
+
style: {
|
|
1237
|
+
"--theme-primary": currentTheme.primary
|
|
1238
|
+
},
|
|
1239
|
+
className: cn(
|
|
1240
|
+
"text-[var(--theme-primary)]",
|
|
1241
|
+
className
|
|
1242
|
+
)
|
|
1243
|
+
}
|
|
1244
|
+
);
|
|
1245
|
+
}
|
|
1246
|
+
var Spinner_default = ClaimMindSpinner;
|
|
1247
|
+
var ClaimMindButton = React9.forwardRef(
|
|
1248
|
+
(_a, ref) => {
|
|
1249
|
+
var _b = _a, {
|
|
1250
|
+
label,
|
|
1251
|
+
children,
|
|
1252
|
+
size,
|
|
1253
|
+
variant = "default",
|
|
1254
|
+
theme = "Default",
|
|
1255
|
+
className,
|
|
1256
|
+
loading,
|
|
1257
|
+
disabled,
|
|
1258
|
+
onClick,
|
|
1259
|
+
leftIconName,
|
|
1260
|
+
rightIconName
|
|
1261
|
+
} = _b, props = __objRest(_b, [
|
|
1262
|
+
"label",
|
|
1263
|
+
"children",
|
|
1264
|
+
"size",
|
|
1265
|
+
"variant",
|
|
1266
|
+
"theme",
|
|
1267
|
+
"className",
|
|
1268
|
+
"loading",
|
|
1269
|
+
"disabled",
|
|
1270
|
+
"onClick",
|
|
1271
|
+
"leftIconName",
|
|
1272
|
+
"rightIconName"
|
|
1273
|
+
]);
|
|
1274
|
+
const currentTheme = themeStyles[theme];
|
|
1275
|
+
let LeftIconComponent = null;
|
|
1276
|
+
if (leftIconName && LucideIcons[leftIconName]) {
|
|
1277
|
+
const LucideIcon = LucideIcons[leftIconName];
|
|
1278
|
+
LeftIconComponent = /* @__PURE__ */ jsx(LucideIcon, { className: "w-4 h-4" });
|
|
1279
|
+
}
|
|
1280
|
+
let RightIconComponent = null;
|
|
1281
|
+
if (rightIconName && LucideIcons[rightIconName]) {
|
|
1282
|
+
const LucideIcon = LucideIcons[rightIconName];
|
|
1283
|
+
RightIconComponent = /* @__PURE__ */ jsx(LucideIcon, { className: "w-4 h-4" });
|
|
1284
|
+
}
|
|
1285
|
+
const displayLeftIcon = LeftIconComponent;
|
|
1286
|
+
const displayRightIcon = RightIconComponent;
|
|
1287
|
+
return /* @__PURE__ */ jsxs(
|
|
1288
|
+
Button,
|
|
1289
|
+
__spreadProps(__spreadValues({
|
|
1290
|
+
ref,
|
|
1291
|
+
size,
|
|
1292
|
+
variant,
|
|
1293
|
+
disabled: disabled || loading,
|
|
1294
|
+
onClick,
|
|
1295
|
+
style: {
|
|
1296
|
+
"--theme-primary": currentTheme.primary,
|
|
1297
|
+
"--theme-secondary": currentTheme.secondary,
|
|
1298
|
+
"--theme-tertiary": currentTheme.tertiary,
|
|
1299
|
+
"--theme-success": currentTheme.success,
|
|
1300
|
+
"--theme-danger": currentTheme.danger,
|
|
1301
|
+
"--theme-background": currentTheme.background
|
|
1302
|
+
},
|
|
1303
|
+
className: cn(
|
|
1304
|
+
"font-sans gap-2",
|
|
1305
|
+
variant === "default" && theme === "Default" && "bg-white border border-gray-300 text-gray-700 hover:bg-gray-50 shadow-sm",
|
|
1306
|
+
variant === "default" && theme !== "Default" && "bg-[var(--theme-primary)] hover:bg-[var(--theme-secondary)] text-white shadow-sm",
|
|
1307
|
+
variant === "outline" && "border-[var(--theme-primary)] text-[var(--theme-primary)] hover:bg-[var(--theme-background)]",
|
|
1308
|
+
className
|
|
1309
|
+
)
|
|
1310
|
+
}, props), {
|
|
1311
|
+
children: [
|
|
1312
|
+
loading ? /* @__PURE__ */ jsx(Spinner_default, { theme, size: "sm", className: "text-current" }) : displayLeftIcon,
|
|
1313
|
+
children || label,
|
|
1314
|
+
!loading && displayRightIcon
|
|
1315
|
+
]
|
|
1316
|
+
})
|
|
1317
|
+
);
|
|
1318
|
+
}
|
|
1319
|
+
);
|
|
1320
|
+
ClaimMindButton.displayName = "ClaimMindButton";
|
|
1321
|
+
var Button_default = ClaimMindButton;
|
|
1322
|
+
var ClaimMindInput = React9.forwardRef(
|
|
1323
|
+
(_a, ref) => {
|
|
1324
|
+
var _b = _a, { theme = "Default", className } = _b, props = __objRest(_b, ["theme", "className"]);
|
|
1325
|
+
const currentTheme = themeStyles[theme];
|
|
1326
|
+
return /* @__PURE__ */ jsx(
|
|
1327
|
+
Input,
|
|
1328
|
+
__spreadValues({
|
|
1329
|
+
ref,
|
|
1330
|
+
style: {
|
|
1331
|
+
"--theme-primary": currentTheme.primary,
|
|
1332
|
+
"--theme-secondary": currentTheme.secondary,
|
|
1333
|
+
"--theme-background": currentTheme.background
|
|
1334
|
+
},
|
|
1335
|
+
className: cn(
|
|
1336
|
+
"font-sans focus-visible:border-[var(--theme-primary)] focus-visible:ring-[var(--theme-primary)]/50",
|
|
1337
|
+
className
|
|
1338
|
+
)
|
|
1339
|
+
}, props)
|
|
1340
|
+
);
|
|
1341
|
+
}
|
|
1342
|
+
);
|
|
1343
|
+
ClaimMindInput.displayName = "ClaimMindInput";
|
|
1344
|
+
var Input_default = ClaimMindInput;
|
|
1345
|
+
function ClaimMindAlert(_a) {
|
|
1346
|
+
var _b = _a, { theme = "Default", title, description, icon, className, children } = _b, props = __objRest(_b, ["theme", "title", "description", "icon", "className", "children"]);
|
|
1347
|
+
const currentTheme = themeStyles[theme];
|
|
1348
|
+
return /* @__PURE__ */ jsxs(
|
|
1349
|
+
Alert,
|
|
1350
|
+
__spreadProps(__spreadValues({
|
|
1351
|
+
style: {
|
|
1352
|
+
"--theme-primary": currentTheme.primary,
|
|
1353
|
+
"--theme-secondary": currentTheme.secondary,
|
|
1354
|
+
"--theme-tertiary": currentTheme.tertiary,
|
|
1355
|
+
"--theme-success": currentTheme.success,
|
|
1356
|
+
"--theme-danger": currentTheme.danger,
|
|
1357
|
+
"--theme-background": currentTheme.background
|
|
1358
|
+
},
|
|
1359
|
+
className: cn(
|
|
1360
|
+
"font-sans border-[var(--theme-primary)] bg-[var(--theme-background)] text-slate-900",
|
|
1361
|
+
className
|
|
1362
|
+
)
|
|
1363
|
+
}, props), {
|
|
1364
|
+
children: [
|
|
1365
|
+
icon,
|
|
1366
|
+
title && /* @__PURE__ */ jsx(AlertTitle, { className: "text-[var(--theme-primary)] font-bold", children: title }),
|
|
1367
|
+
description && /* @__PURE__ */ jsx(AlertDescription, { className: "text-slate-700", children: description }),
|
|
1368
|
+
children
|
|
1369
|
+
]
|
|
1370
|
+
})
|
|
1371
|
+
);
|
|
1372
|
+
}
|
|
1373
|
+
var ClaimMindSwitch = React9.forwardRef(
|
|
1374
|
+
(_a, ref) => {
|
|
1375
|
+
var _b = _a, { theme = "Default", className } = _b, props = __objRest(_b, ["theme", "className"]);
|
|
1376
|
+
const currentTheme = themeStyles[theme];
|
|
1377
|
+
return /* @__PURE__ */ jsx(
|
|
1378
|
+
Switch,
|
|
1379
|
+
__spreadValues({
|
|
1380
|
+
ref,
|
|
1381
|
+
style: {
|
|
1382
|
+
"--theme-primary": currentTheme.primary
|
|
1383
|
+
},
|
|
1384
|
+
className: cn(
|
|
1385
|
+
"data-[state=checked]:bg-[var(--theme-primary)]",
|
|
1386
|
+
className
|
|
1387
|
+
)
|
|
1388
|
+
}, props)
|
|
1389
|
+
);
|
|
1390
|
+
}
|
|
1391
|
+
);
|
|
1392
|
+
ClaimMindSwitch.displayName = "ClaimMindSwitch";
|
|
1393
|
+
var Switch_default = ClaimMindSwitch;
|
|
1394
|
+
function ClaimMindTooltip({
|
|
1395
|
+
content,
|
|
1396
|
+
children,
|
|
1397
|
+
theme = "Default",
|
|
1398
|
+
variant = "theme",
|
|
1399
|
+
side = "top"
|
|
1400
|
+
}) {
|
|
1401
|
+
const currentTheme = themeStyles[theme];
|
|
1402
|
+
const isThemeVariant = variant === "theme";
|
|
1403
|
+
return /* @__PURE__ */ jsxs(Tooltip, { children: [
|
|
1404
|
+
/* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children }),
|
|
1405
|
+
/* @__PURE__ */ jsx(
|
|
1406
|
+
TooltipContent,
|
|
1407
|
+
{
|
|
1408
|
+
side,
|
|
1409
|
+
style: isThemeVariant ? {
|
|
1410
|
+
"--theme-primary": currentTheme.primary
|
|
1411
|
+
} : void 0,
|
|
1412
|
+
className: cn(
|
|
1413
|
+
isThemeVariant && "bg-[var(--theme-primary)] text-white border-[var(--theme-primary)]",
|
|
1414
|
+
isThemeVariant && "[&_[data-slot=tooltip-arrow]]:fill-[var(--theme-primary)] [&_[data-slot=tooltip-arrow]]:bg-[var(--theme-primary)]"
|
|
1415
|
+
),
|
|
1416
|
+
children: content
|
|
1417
|
+
}
|
|
1418
|
+
)
|
|
1419
|
+
] });
|
|
1420
|
+
}
|
|
1421
|
+
var Tooltip_default = ClaimMindTooltip;
|
|
1422
|
+
function ClaimMindCard(_a) {
|
|
1423
|
+
var _b = _a, { theme = "Default", showTopBorder = false, className, children } = _b, props = __objRest(_b, ["theme", "showTopBorder", "className", "children"]);
|
|
1424
|
+
const currentTheme = themeStyles[theme];
|
|
1425
|
+
return /* @__PURE__ */ jsx(
|
|
1426
|
+
Card,
|
|
1427
|
+
__spreadProps(__spreadValues({
|
|
1428
|
+
style: {
|
|
1429
|
+
"--theme-primary": currentTheme.primary,
|
|
1430
|
+
"--theme-secondary": currentTheme.secondary,
|
|
1431
|
+
"--theme-tertiary": currentTheme.tertiary,
|
|
1432
|
+
"--theme-success": currentTheme.success,
|
|
1433
|
+
"--theme-danger": currentTheme.danger,
|
|
1434
|
+
"--theme-background": currentTheme.background
|
|
1435
|
+
},
|
|
1436
|
+
className: cn(
|
|
1437
|
+
"font-sans shadow",
|
|
1438
|
+
showTopBorder && "border-t-4 border-t-(--theme-primary)",
|
|
1439
|
+
className
|
|
1440
|
+
)
|
|
1441
|
+
}, props), {
|
|
1442
|
+
children
|
|
1443
|
+
})
|
|
1444
|
+
);
|
|
1445
|
+
}
|
|
1446
|
+
var ClaimMindSelect = ({
|
|
1447
|
+
placeholder = "Pilih opsi",
|
|
1448
|
+
options,
|
|
1449
|
+
theme = "Default",
|
|
1450
|
+
className,
|
|
1451
|
+
label,
|
|
1452
|
+
value,
|
|
1453
|
+
onValueChange,
|
|
1454
|
+
disabled
|
|
1455
|
+
}) => {
|
|
1456
|
+
const currentTheme = themeStyles[theme];
|
|
1457
|
+
return /* @__PURE__ */ jsxs(
|
|
1458
|
+
"div",
|
|
1459
|
+
{
|
|
1460
|
+
style: {
|
|
1461
|
+
"--theme-primary": currentTheme.primary,
|
|
1462
|
+
"--theme-secondary": currentTheme.secondary,
|
|
1463
|
+
"--theme-background": currentTheme.background
|
|
1464
|
+
},
|
|
1465
|
+
className: cn("w-full grid gap-1.5", className),
|
|
1466
|
+
children: [
|
|
1467
|
+
label && /* @__PURE__ */ jsx("label", { className: "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70", children: label }),
|
|
1468
|
+
/* @__PURE__ */ jsxs(Select, { value, onValueChange, disabled, children: [
|
|
1469
|
+
/* @__PURE__ */ jsx(
|
|
1470
|
+
SelectTrigger,
|
|
1471
|
+
{
|
|
1472
|
+
className: cn(
|
|
1473
|
+
"w-full font-sans",
|
|
1474
|
+
"focus-visible:ring-[var(--theme-primary)]/50 focus-visible:border-[var(--theme-primary)]",
|
|
1475
|
+
"hover:bg-[var(--theme-background)] hover:text-[var(--theme-primary)] hover:border-[var(--theme-primary)] transition-colors",
|
|
1476
|
+
"[&_svg]:hover:text-[var(--theme-primary)]"
|
|
1477
|
+
),
|
|
1478
|
+
children: /* @__PURE__ */ jsx(SelectValue, { placeholder })
|
|
1479
|
+
}
|
|
1480
|
+
),
|
|
1481
|
+
/* @__PURE__ */ jsx(
|
|
1482
|
+
SelectContent,
|
|
1483
|
+
{
|
|
1484
|
+
className: "font-sans",
|
|
1485
|
+
style: {
|
|
1486
|
+
"--accent": currentTheme.primary,
|
|
1487
|
+
"--accent-foreground": "white"
|
|
1488
|
+
},
|
|
1489
|
+
children: /* @__PURE__ */ jsx(SelectGroup, { children: options.map((option) => /* @__PURE__ */ jsx(
|
|
1490
|
+
SelectItem,
|
|
1491
|
+
{
|
|
1492
|
+
value: option.value,
|
|
1493
|
+
children: option.label
|
|
1494
|
+
},
|
|
1495
|
+
option.value
|
|
1496
|
+
)) })
|
|
1497
|
+
}
|
|
1498
|
+
)
|
|
1499
|
+
] })
|
|
1500
|
+
]
|
|
1501
|
+
}
|
|
1502
|
+
);
|
|
1503
|
+
};
|
|
1504
|
+
var Select_default = ClaimMindSelect;
|
|
1505
|
+
function ClaimMindCombobox({
|
|
1506
|
+
options,
|
|
1507
|
+
placeholder = "Pilih item...",
|
|
1508
|
+
searchPlaceholder = "Cari item...",
|
|
1509
|
+
emptyText = "Item tidak ditemukan.",
|
|
1510
|
+
theme = "Default",
|
|
1511
|
+
className,
|
|
1512
|
+
label,
|
|
1513
|
+
value,
|
|
1514
|
+
onValueChange,
|
|
1515
|
+
disabled
|
|
1516
|
+
}) {
|
|
1517
|
+
var _a;
|
|
1518
|
+
const [open, setOpen] = React9.useState(false);
|
|
1519
|
+
const currentTheme = themeStyles[theme];
|
|
1520
|
+
return /* @__PURE__ */ jsxs(
|
|
1521
|
+
"div",
|
|
1522
|
+
{
|
|
1523
|
+
style: {
|
|
1524
|
+
"--theme-primary": currentTheme.primary,
|
|
1525
|
+
"--theme-secondary": currentTheme.secondary,
|
|
1526
|
+
"--theme-background": currentTheme.background
|
|
1527
|
+
},
|
|
1528
|
+
className: cn("w-full grid gap-1.5", className),
|
|
1529
|
+
children: [
|
|
1530
|
+
label && /* @__PURE__ */ jsx("label", { className: "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70", children: label }),
|
|
1531
|
+
/* @__PURE__ */ jsxs(Popover, { open, onOpenChange: setOpen, children: [
|
|
1532
|
+
/* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(
|
|
1533
|
+
Button,
|
|
1534
|
+
{
|
|
1535
|
+
variant: "outline",
|
|
1536
|
+
role: "combobox",
|
|
1537
|
+
"aria-expanded": open,
|
|
1538
|
+
disabled,
|
|
1539
|
+
className: cn(
|
|
1540
|
+
"w-full justify-between font-sans font-normal",
|
|
1541
|
+
"focus-visible:ring-[var(--theme-primary)]/50 focus-visible:border-[var(--theme-primary)]",
|
|
1542
|
+
"hover:bg-[var(--theme-background)] hover:text-[var(--theme-primary)] hover:border-[var(--theme-primary)] transition-colors",
|
|
1543
|
+
"[&_svg]:hover:text-[var(--theme-primary)]",
|
|
1544
|
+
!value && "text-muted-foreground"
|
|
1545
|
+
),
|
|
1546
|
+
children: [
|
|
1547
|
+
value ? (_a = options.find((option) => option.value === value)) == null ? void 0 : _a.label : placeholder,
|
|
1548
|
+
/* @__PURE__ */ jsx(ChevronsUpDown, { className: "ml-2 h-4 w-4 shrink-0 opacity-50" })
|
|
1549
|
+
]
|
|
1550
|
+
}
|
|
1551
|
+
) }),
|
|
1552
|
+
/* @__PURE__ */ jsx(PopoverContent, { className: "w-full p-0 font-sans", align: "start", children: /* @__PURE__ */ jsxs(
|
|
1553
|
+
Command,
|
|
1554
|
+
{
|
|
1555
|
+
className: "w-full",
|
|
1556
|
+
style: {
|
|
1557
|
+
"--accent": currentTheme.primary,
|
|
1558
|
+
"--accent-foreground": "white"
|
|
1559
|
+
},
|
|
1560
|
+
children: [
|
|
1561
|
+
/* @__PURE__ */ jsx(CommandInput, { placeholder: searchPlaceholder, className: "font-sans" }),
|
|
1562
|
+
/* @__PURE__ */ jsxs(CommandList, { children: [
|
|
1563
|
+
/* @__PURE__ */ jsx(CommandEmpty, { children: emptyText }),
|
|
1564
|
+
/* @__PURE__ */ jsx(CommandGroup, { children: options.map((option) => /* @__PURE__ */ jsxs(
|
|
1565
|
+
CommandItem,
|
|
1566
|
+
{
|
|
1567
|
+
value: option.value,
|
|
1568
|
+
className: "font-sans",
|
|
1569
|
+
onSelect: (currentValue) => {
|
|
1570
|
+
onValueChange == null ? void 0 : onValueChange(currentValue === value ? "" : currentValue);
|
|
1571
|
+
setOpen(false);
|
|
1572
|
+
},
|
|
1573
|
+
children: [
|
|
1574
|
+
/* @__PURE__ */ jsx(
|
|
1575
|
+
Check,
|
|
1576
|
+
{
|
|
1577
|
+
className: cn(
|
|
1578
|
+
"mr-2 h-4 w-4",
|
|
1579
|
+
value === option.value ? "opacity-100" : "opacity-0"
|
|
1580
|
+
)
|
|
1581
|
+
}
|
|
1582
|
+
),
|
|
1583
|
+
option.label
|
|
1584
|
+
]
|
|
1585
|
+
},
|
|
1586
|
+
option.value
|
|
1587
|
+
)) })
|
|
1588
|
+
] })
|
|
1589
|
+
]
|
|
1590
|
+
}
|
|
1591
|
+
) })
|
|
1592
|
+
] })
|
|
1593
|
+
]
|
|
1594
|
+
}
|
|
1595
|
+
);
|
|
1596
|
+
}
|
|
1597
|
+
var Combobox_default = ClaimMindCombobox;
|
|
1598
|
+
var ClaimMindDialog = (_a) => {
|
|
1599
|
+
var _b = _a, { theme = "Default" } = _b, props = __objRest(_b, ["theme"]);
|
|
1600
|
+
return /* @__PURE__ */ jsx(Dialog, __spreadValues({}, props));
|
|
1601
|
+
};
|
|
1602
|
+
var ClaimMindDialogContent = React9.forwardRef((_a, ref) => {
|
|
1603
|
+
var _b = _a, { theme = "Default", className, children } = _b, props = __objRest(_b, ["theme", "className", "children"]);
|
|
1604
|
+
const currentTheme = themeStyles[theme];
|
|
1605
|
+
return /* @__PURE__ */ jsx(
|
|
1606
|
+
DialogContent,
|
|
1607
|
+
__spreadProps(__spreadValues({
|
|
1608
|
+
ref,
|
|
1609
|
+
style: {
|
|
1610
|
+
"--theme-primary": currentTheme.primary,
|
|
1611
|
+
"--theme-secondary": currentTheme.secondary,
|
|
1612
|
+
"--theme-background": currentTheme.background
|
|
1613
|
+
},
|
|
1614
|
+
className: cn(
|
|
1615
|
+
"font-sans",
|
|
1616
|
+
className
|
|
1617
|
+
)
|
|
1618
|
+
}, props), {
|
|
1619
|
+
children
|
|
1620
|
+
})
|
|
1621
|
+
);
|
|
1622
|
+
});
|
|
1623
|
+
ClaimMindDialogContent.displayName = "ClaimMindDialogContent";
|
|
1624
|
+
var ClaimMindDialogHeader = (_a) => {
|
|
1625
|
+
var _b = _a, {
|
|
1626
|
+
className
|
|
1627
|
+
} = _b, props = __objRest(_b, [
|
|
1628
|
+
"className"
|
|
1629
|
+
]);
|
|
1630
|
+
return /* @__PURE__ */ jsx(DialogHeader, __spreadValues({ className: cn("font-sans", className) }, props));
|
|
1631
|
+
};
|
|
1632
|
+
var ClaimMindDialogFooter = (_a) => {
|
|
1633
|
+
var _b = _a, {
|
|
1634
|
+
className
|
|
1635
|
+
} = _b, props = __objRest(_b, [
|
|
1636
|
+
"className"
|
|
1637
|
+
]);
|
|
1638
|
+
return /* @__PURE__ */ jsx(DialogFooter, __spreadValues({ className: cn("font-sans", className) }, props));
|
|
1639
|
+
};
|
|
1640
|
+
var ClaimMindDialogTitle = React9.forwardRef((_a, ref) => {
|
|
1641
|
+
var _b = _a, { theme = "Default", className } = _b, props = __objRest(_b, ["theme", "className"]);
|
|
1642
|
+
const currentTheme = themeStyles[theme];
|
|
1643
|
+
return /* @__PURE__ */ jsx(
|
|
1644
|
+
DialogTitle,
|
|
1645
|
+
__spreadValues({
|
|
1646
|
+
ref,
|
|
1647
|
+
style: { "--theme-primary": currentTheme.primary },
|
|
1648
|
+
className: cn("text-[var(--theme-primary)] font-bold", className)
|
|
1649
|
+
}, props)
|
|
1650
|
+
);
|
|
1651
|
+
});
|
|
1652
|
+
ClaimMindDialogTitle.displayName = "ClaimMindDialogTitle";
|
|
1653
|
+
var ClaimMindDialogDescription = (_a) => {
|
|
1654
|
+
var _b = _a, {
|
|
1655
|
+
className
|
|
1656
|
+
} = _b, props = __objRest(_b, [
|
|
1657
|
+
"className"
|
|
1658
|
+
]);
|
|
1659
|
+
return /* @__PURE__ */ jsx(DialogDescription, __spreadValues({ className: cn("text-slate-600", className) }, props));
|
|
1660
|
+
};
|
|
1661
|
+
var ClaimMindDialogTrigger = DialogTrigger;
|
|
1662
|
+
var ClaimMindDialogClose = DialogClose;
|
|
1663
|
+
var ClaimMindTable = React9.forwardRef(
|
|
1664
|
+
(_a, ref) => {
|
|
1665
|
+
var _b = _a, { theme = "Default", variant = "default", className, children } = _b, props = __objRest(_b, ["theme", "variant", "className", "children"]);
|
|
1666
|
+
const currentTheme = themeStyles[theme];
|
|
1667
|
+
return /* @__PURE__ */ jsx(
|
|
1668
|
+
Table,
|
|
1669
|
+
__spreadProps(__spreadValues({
|
|
1670
|
+
ref,
|
|
1671
|
+
style: {
|
|
1672
|
+
"--theme-primary": currentTheme.primary,
|
|
1673
|
+
"--theme-secondary": currentTheme.secondary,
|
|
1674
|
+
"--theme-background": currentTheme.background
|
|
1675
|
+
},
|
|
1676
|
+
className: cn(
|
|
1677
|
+
"font-sans",
|
|
1678
|
+
variant === "striped" && "[&_tbody_tr:nth-child(even)]:bg-[var(--theme-background)]",
|
|
1679
|
+
className
|
|
1680
|
+
)
|
|
1681
|
+
}, props), {
|
|
1682
|
+
children
|
|
1683
|
+
})
|
|
1684
|
+
);
|
|
1685
|
+
}
|
|
1686
|
+
);
|
|
1687
|
+
ClaimMindTable.displayName = "ClaimMindTable";
|
|
1688
|
+
function ClaimMindDatePicker({
|
|
1689
|
+
date,
|
|
1690
|
+
setDate,
|
|
1691
|
+
placeholder = "Pilih tanggal",
|
|
1692
|
+
theme = "Default",
|
|
1693
|
+
className
|
|
1694
|
+
}) {
|
|
1695
|
+
const currentTheme = themeStyles[theme];
|
|
1696
|
+
return /* @__PURE__ */ jsxs(Popover, { children: [
|
|
1697
|
+
/* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(
|
|
1698
|
+
Button,
|
|
1699
|
+
{
|
|
1700
|
+
variant: "outline",
|
|
1701
|
+
style: {
|
|
1702
|
+
"--theme-primary": currentTheme.primary,
|
|
1703
|
+
"--theme-secondary": currentTheme.secondary,
|
|
1704
|
+
"--theme-background": currentTheme.background
|
|
1705
|
+
},
|
|
1706
|
+
className: cn(
|
|
1707
|
+
"w-[280px] justify-start text-left font-normal font-sans",
|
|
1708
|
+
"border-input hover:bg-[var(--theme-background)] hover:text-[var(--theme-primary)] hover:border-[var(--theme-primary)]",
|
|
1709
|
+
"focus-visible:ring-[var(--theme-primary)]/50 focus-visible:border-[var(--theme-primary)]",
|
|
1710
|
+
!date && "text-muted-foreground",
|
|
1711
|
+
className
|
|
1712
|
+
),
|
|
1713
|
+
children: [
|
|
1714
|
+
/* @__PURE__ */ jsx(CalendarIcon, { className: "mr-2 h-4 w-4" }),
|
|
1715
|
+
date ? format(date, "PPP") : /* @__PURE__ */ jsx("span", { children: placeholder })
|
|
1716
|
+
]
|
|
1717
|
+
}
|
|
1718
|
+
) }),
|
|
1719
|
+
/* @__PURE__ */ jsx(
|
|
1720
|
+
PopoverContent,
|
|
1721
|
+
{
|
|
1722
|
+
className: "w-auto p-0",
|
|
1723
|
+
align: "start",
|
|
1724
|
+
style: {
|
|
1725
|
+
"--theme-primary": currentTheme.primary,
|
|
1726
|
+
"--theme-secondary": currentTheme.secondary,
|
|
1727
|
+
"--theme-background": currentTheme.background
|
|
1728
|
+
},
|
|
1729
|
+
children: /* @__PURE__ */ jsx(
|
|
1730
|
+
Calendar,
|
|
1731
|
+
{
|
|
1732
|
+
mode: "single",
|
|
1733
|
+
selected: date,
|
|
1734
|
+
onSelect: setDate,
|
|
1735
|
+
initialFocus: true,
|
|
1736
|
+
className: "font-sans",
|
|
1737
|
+
classNames: {
|
|
1738
|
+
day_button: cn(
|
|
1739
|
+
"data-[selected-single=true]:bg-[var(--theme-primary)] data-[selected-single=true]:text-white",
|
|
1740
|
+
"data-[range-start=true]:bg-[var(--theme-primary)] data-[range-start=true]:text-white",
|
|
1741
|
+
"data-[range-end=true]:bg-[var(--theme-primary)] data-[range-end=true]:text-white",
|
|
1742
|
+
"group-data-[focused=true]/day:ring-[var(--theme-primary)]/50 group-data-[focused=true]/day:border-[var(--theme-primary)]"
|
|
1743
|
+
),
|
|
1744
|
+
today: "text-[var(--theme-primary)] font-bold bg-[var(--theme-background)]"
|
|
1745
|
+
}
|
|
1746
|
+
}
|
|
1747
|
+
)
|
|
1748
|
+
}
|
|
1749
|
+
)
|
|
1750
|
+
] });
|
|
1751
|
+
}
|
|
1752
|
+
var DatePicker_default = ClaimMindDatePicker;
|
|
1753
|
+
var Chat = ({
|
|
1754
|
+
theme = "Default",
|
|
1755
|
+
variant = "float",
|
|
1756
|
+
title = "Chat Support",
|
|
1757
|
+
messages = [],
|
|
1758
|
+
onSendMessage,
|
|
1759
|
+
isOpen = false,
|
|
1760
|
+
onToggle,
|
|
1761
|
+
placeholder = "Ketik pesan...",
|
|
1762
|
+
className
|
|
1763
|
+
}) => {
|
|
1764
|
+
const currentTheme = themeStyles[theme];
|
|
1765
|
+
const [inputValue, setInputValue] = React9.useState("");
|
|
1766
|
+
const scrollRef = React9.useRef(null);
|
|
1767
|
+
React9.useEffect(() => {
|
|
1768
|
+
if (scrollRef.current) {
|
|
1769
|
+
scrollRef.current.scrollTop = scrollRef.current.scrollHeight;
|
|
1770
|
+
}
|
|
1771
|
+
}, [messages, isOpen]);
|
|
1772
|
+
const handleSend = () => {
|
|
1773
|
+
if (inputValue.trim() && onSendMessage) {
|
|
1774
|
+
onSendMessage(inputValue);
|
|
1775
|
+
setInputValue("");
|
|
1776
|
+
}
|
|
1777
|
+
};
|
|
1778
|
+
const handleKeyPress = (e) => {
|
|
1779
|
+
if (e.key === "Enter") {
|
|
1780
|
+
handleSend();
|
|
1781
|
+
}
|
|
1782
|
+
};
|
|
1783
|
+
const containerClasses = cn(
|
|
1784
|
+
"fixed z-50 flex flex-col transition-all duration-300 ease-in-out font-sans",
|
|
1785
|
+
variant === "float" ? "bottom-6 right-6 w-80 sm:w-96" : "bottom-0 right-6 w-80 sm:w-96",
|
|
1786
|
+
!isOpen && (variant === "float" ? "h-0 w-0 opacity-0 pointer-events-none" : "h-0 opacity-0 pointer-events-none"),
|
|
1787
|
+
isOpen && (variant === "float" ? "h-[500px]" : "h-[500px]"),
|
|
1788
|
+
className
|
|
1789
|
+
);
|
|
1790
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
1791
|
+
!isOpen && /* @__PURE__ */ jsx(
|
|
1792
|
+
"button",
|
|
1793
|
+
{
|
|
1794
|
+
onClick: onToggle,
|
|
1795
|
+
style: {
|
|
1796
|
+
backgroundColor: currentTheme.primary
|
|
1797
|
+
},
|
|
1798
|
+
className: cn(
|
|
1799
|
+
"fixed z-50 flex items-center justify-center w-14 h-14 rounded-full text-white shadow-lg hover:opacity-90 transition-all focus:outline-none focus:ring-2 focus:ring-offset-2",
|
|
1800
|
+
variant === "float" ? "bottom-6 right-6" : "bottom-0 right-6 rounded-b-none h-12",
|
|
1801
|
+
`focus:ring-[var(--theme-primary)]`
|
|
1802
|
+
),
|
|
1803
|
+
children: /* @__PURE__ */ jsx(MessageCircle, { size: 24 })
|
|
1804
|
+
}
|
|
1805
|
+
),
|
|
1806
|
+
/* @__PURE__ */ jsxs(
|
|
1807
|
+
"div",
|
|
1808
|
+
{
|
|
1809
|
+
className: containerClasses,
|
|
1810
|
+
style: {
|
|
1811
|
+
"--theme-primary": currentTheme.primary,
|
|
1812
|
+
"--theme-secondary": currentTheme.secondary,
|
|
1813
|
+
"--theme-background": currentTheme.background
|
|
1814
|
+
},
|
|
1815
|
+
children: [
|
|
1816
|
+
/* @__PURE__ */ jsxs(
|
|
1817
|
+
"div",
|
|
1818
|
+
{
|
|
1819
|
+
className: cn(
|
|
1820
|
+
"flex items-center justify-between p-4 rounded-t-lg text-white shadow-md",
|
|
1821
|
+
variant === "bottom-side" && "rounded-t-lg rounded-b-none"
|
|
1822
|
+
),
|
|
1823
|
+
style: { backgroundColor: currentTheme.primary },
|
|
1824
|
+
children: [
|
|
1825
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
1826
|
+
/* @__PURE__ */ jsx("div", { className: "w-2 h-2 rounded-full bg-green-400 animate-pulse" }),
|
|
1827
|
+
/* @__PURE__ */ jsx("h3", { className: "font-bold", children: title })
|
|
1828
|
+
] }),
|
|
1829
|
+
/* @__PURE__ */ jsx(
|
|
1830
|
+
"button",
|
|
1831
|
+
{
|
|
1832
|
+
onClick: onToggle,
|
|
1833
|
+
className: "p-1 hover:bg-white/20 rounded-full transition-colors",
|
|
1834
|
+
children: /* @__PURE__ */ jsx(X, { size: 20 })
|
|
1835
|
+
}
|
|
1836
|
+
)
|
|
1837
|
+
]
|
|
1838
|
+
}
|
|
1839
|
+
),
|
|
1840
|
+
/* @__PURE__ */ jsx(
|
|
1841
|
+
"div",
|
|
1842
|
+
{
|
|
1843
|
+
ref: scrollRef,
|
|
1844
|
+
className: "flex-1 overflow-y-auto p-4 bg-white border-x border-slate-200 space-y-4",
|
|
1845
|
+
children: messages.length === 0 ? /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center justify-center h-full text-slate-400 text-sm", children: [
|
|
1846
|
+
/* @__PURE__ */ jsx(MessageCircle, { size: 48, className: "mb-2 opacity-20" }),
|
|
1847
|
+
/* @__PURE__ */ jsx("p", { children: "Belum ada pesan" })
|
|
1848
|
+
] }) : messages.map((msg) => /* @__PURE__ */ jsxs(
|
|
1849
|
+
"div",
|
|
1850
|
+
{
|
|
1851
|
+
className: cn(
|
|
1852
|
+
"flex flex-col max-w-[80%]",
|
|
1853
|
+
msg.sender === "user" ? "ml-auto items-end" : "mr-auto items-start"
|
|
1854
|
+
),
|
|
1855
|
+
children: [
|
|
1856
|
+
/* @__PURE__ */ jsx(
|
|
1857
|
+
"div",
|
|
1858
|
+
{
|
|
1859
|
+
className: cn(
|
|
1860
|
+
"px-4 py-2 rounded-2xl text-sm shadow-sm",
|
|
1861
|
+
msg.sender === "user" ? "bg-[var(--theme-primary)] text-white rounded-tr-none" : "bg-slate-100 text-slate-800 rounded-tl-none"
|
|
1862
|
+
),
|
|
1863
|
+
style: msg.sender === "user" ? { backgroundColor: currentTheme.primary } : {},
|
|
1864
|
+
children: msg.text
|
|
1865
|
+
}
|
|
1866
|
+
),
|
|
1867
|
+
/* @__PURE__ */ jsx("span", { className: "text-[10px] text-slate-400 mt-1", children: msg.timestamp.toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" }) })
|
|
1868
|
+
]
|
|
1869
|
+
},
|
|
1870
|
+
msg.id
|
|
1871
|
+
))
|
|
1872
|
+
}
|
|
1873
|
+
),
|
|
1874
|
+
/* @__PURE__ */ jsxs(
|
|
1875
|
+
"div",
|
|
1876
|
+
{
|
|
1877
|
+
className: cn(
|
|
1878
|
+
"p-4 bg-white border-x border-b border-slate-200 flex gap-2 items-center",
|
|
1879
|
+
variant === "float" ? "rounded-b-lg" : ""
|
|
1880
|
+
),
|
|
1881
|
+
children: [
|
|
1882
|
+
/* @__PURE__ */ jsx(
|
|
1883
|
+
Input_default,
|
|
1884
|
+
{
|
|
1885
|
+
theme,
|
|
1886
|
+
value: inputValue,
|
|
1887
|
+
onChange: (e) => setInputValue(e.target.value),
|
|
1888
|
+
onKeyPress: handleKeyPress,
|
|
1889
|
+
placeholder,
|
|
1890
|
+
className: "flex-1"
|
|
1891
|
+
}
|
|
1892
|
+
),
|
|
1893
|
+
/* @__PURE__ */ jsx(
|
|
1894
|
+
Button_default,
|
|
1895
|
+
{
|
|
1896
|
+
theme,
|
|
1897
|
+
size: "icon",
|
|
1898
|
+
onClick: handleSend,
|
|
1899
|
+
className: "shrink-0 h-10 w-10",
|
|
1900
|
+
children: /* @__PURE__ */ jsx(Send, { size: 18 })
|
|
1901
|
+
}
|
|
1902
|
+
)
|
|
1903
|
+
]
|
|
1904
|
+
}
|
|
1905
|
+
)
|
|
1906
|
+
]
|
|
1907
|
+
}
|
|
1908
|
+
)
|
|
1909
|
+
] });
|
|
1910
|
+
};
|
|
1911
|
+
var Chat_default = Chat;
|
|
1912
|
+
function Title2({
|
|
1913
|
+
children,
|
|
1914
|
+
size = "xl",
|
|
1915
|
+
iconName,
|
|
1916
|
+
theme = "Default",
|
|
1917
|
+
colorVariant = "primary",
|
|
1918
|
+
fontWeight = "bold",
|
|
1919
|
+
className
|
|
1920
|
+
}) {
|
|
1921
|
+
const currentTheme = themeStyles[theme];
|
|
1922
|
+
const iconColor = currentTheme[colorVariant] || currentTheme.primary;
|
|
1923
|
+
let IconComponent = null;
|
|
1924
|
+
if (iconName && LucideIcons[iconName]) {
|
|
1925
|
+
const LucideIcon = LucideIcons[iconName];
|
|
1926
|
+
const iconSizeMap = {
|
|
1927
|
+
"sm": "w-4 h-4",
|
|
1928
|
+
"md": "w-5 h-5",
|
|
1929
|
+
"lg": "w-6 h-6",
|
|
1930
|
+
"xl": "w-7 h-7",
|
|
1931
|
+
"2xl": "w-8 h-8",
|
|
1932
|
+
"3xl": "w-9 h-9"
|
|
1933
|
+
};
|
|
1934
|
+
IconComponent = /* @__PURE__ */ jsx(
|
|
1935
|
+
LucideIcon,
|
|
1936
|
+
{
|
|
1937
|
+
className: cn(iconSizeMap[size] || "w-6 h-6"),
|
|
1938
|
+
style: { color: iconColor }
|
|
1939
|
+
}
|
|
1940
|
+
);
|
|
1941
|
+
}
|
|
1942
|
+
const displayIcon = IconComponent;
|
|
1943
|
+
const sizeClasses = {
|
|
1944
|
+
"sm": "text-sm",
|
|
1945
|
+
"md": "text-base",
|
|
1946
|
+
"lg": "text-lg",
|
|
1947
|
+
"xl": "text-xl",
|
|
1948
|
+
"2xl": "text-2xl",
|
|
1949
|
+
"3xl": "text-3xl"
|
|
1950
|
+
};
|
|
1951
|
+
const weightClasses = {
|
|
1952
|
+
"normal": "font-normal",
|
|
1953
|
+
"medium": "font-medium",
|
|
1954
|
+
"semibold": "font-semibold",
|
|
1955
|
+
"bold": "font-bold"
|
|
1956
|
+
};
|
|
1957
|
+
return /* @__PURE__ */ jsxs("div", { className: cn("flex items-center gap-3", className), children: [
|
|
1958
|
+
displayIcon && /* @__PURE__ */ jsx("div", { className: "flex-shrink-0", children: displayIcon }),
|
|
1959
|
+
/* @__PURE__ */ jsx("h2", { className: cn(
|
|
1960
|
+
"tracking-tight text-foreground",
|
|
1961
|
+
sizeClasses[size],
|
|
1962
|
+
weightClasses[fontWeight]
|
|
1963
|
+
), children })
|
|
1964
|
+
] });
|
|
1965
|
+
}
|
|
1966
|
+
function DashboardCard({
|
|
1967
|
+
label,
|
|
1968
|
+
value,
|
|
1969
|
+
iconName,
|
|
1970
|
+
icon,
|
|
1971
|
+
theme = "Default",
|
|
1972
|
+
colorVariant = "primary",
|
|
1973
|
+
className
|
|
1974
|
+
}) {
|
|
1975
|
+
const currentTheme = themeStyles[theme];
|
|
1976
|
+
const iconColor = currentTheme[colorVariant] || currentTheme.primary;
|
|
1977
|
+
let IconComponent = null;
|
|
1978
|
+
if (iconName && LucideIcons[iconName]) {
|
|
1979
|
+
const LucideIcon = LucideIcons[iconName];
|
|
1980
|
+
IconComponent = /* @__PURE__ */ jsx(LucideIcon, { className: "w-6 h-6", style: { color: iconColor } });
|
|
1981
|
+
}
|
|
1982
|
+
const displayIcon = icon || IconComponent;
|
|
1983
|
+
return /* @__PURE__ */ jsx(
|
|
1984
|
+
ClaimMindCard,
|
|
1985
|
+
{
|
|
1986
|
+
theme,
|
|
1987
|
+
className: cn("p-6", className),
|
|
1988
|
+
showTopBorder: true,
|
|
1989
|
+
children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-3", children: [
|
|
1990
|
+
displayIcon && displayIcon,
|
|
1991
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
1992
|
+
/* @__PURE__ */ jsx("p", { className: "text-sm font-medium text-muted-foreground mb-1", children: label }),
|
|
1993
|
+
/* @__PURE__ */ jsx("h3", { className: "text-2xl font-bold tracking-tight", children: value })
|
|
1994
|
+
] })
|
|
1995
|
+
] })
|
|
1996
|
+
}
|
|
1997
|
+
);
|
|
1998
|
+
}
|
|
1999
|
+
function SyncProgress({
|
|
2000
|
+
theme = "Default",
|
|
2001
|
+
title,
|
|
2002
|
+
icon,
|
|
2003
|
+
iconName,
|
|
2004
|
+
status = "idle",
|
|
2005
|
+
progress: manualProgress,
|
|
2006
|
+
totalItems,
|
|
2007
|
+
completedItems,
|
|
2008
|
+
description,
|
|
2009
|
+
className,
|
|
2010
|
+
variant = "Summary",
|
|
2011
|
+
inpatientCount,
|
|
2012
|
+
outpatientCount
|
|
2013
|
+
}) {
|
|
2014
|
+
const currentTheme = themeStyles[theme];
|
|
2015
|
+
const defaultTitle = variant === "Summary" ? "Summary Progress" : variant === "Validasi" ? "Validasi Dokumen Klaim" : "Jenis Rawat";
|
|
2016
|
+
const hasItems = totalItems !== void 0 && completedItems !== void 0;
|
|
2017
|
+
const progress = hasItems ? totalItems > 0 ? completedItems / totalItems * 100 : 0 : manualProgress != null ? manualProgress : 0;
|
|
2018
|
+
let renderedIcon = icon;
|
|
2019
|
+
if (iconName && LucideIcons[iconName]) {
|
|
2020
|
+
const IconComponent = LucideIcons[iconName];
|
|
2021
|
+
renderedIcon = /* @__PURE__ */ jsx(IconComponent, { className: "w-5 h-5" });
|
|
2022
|
+
}
|
|
2023
|
+
return /* @__PURE__ */ jsxs(
|
|
2024
|
+
ClaimMindCard,
|
|
2025
|
+
{
|
|
2026
|
+
theme,
|
|
2027
|
+
className: cn(
|
|
2028
|
+
"w-full",
|
|
2029
|
+
variant === "Summary" && "bg-[var(--theme-background)]",
|
|
2030
|
+
className
|
|
2031
|
+
),
|
|
2032
|
+
children: [
|
|
2033
|
+
/* @__PURE__ */ jsx(CardHeader, { className: "pb-0", children: /* @__PURE__ */ jsxs(CardTitle, { className: "text-lg font-semibold flex items-center justify-between", children: [
|
|
2034
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
2035
|
+
renderedIcon,
|
|
2036
|
+
/* @__PURE__ */ jsx("span", { children: title || defaultTitle })
|
|
2037
|
+
] }),
|
|
2038
|
+
status === "running" && /* @__PURE__ */ jsx(Spinner_default, { theme, size: "sm" })
|
|
2039
|
+
] }) }),
|
|
2040
|
+
/* @__PURE__ */ jsx(CardContent, { children: variant === "Healthcare Type" ? /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
|
|
2041
|
+
/* @__PURE__ */ jsxs("div", { className: "flex justify-between items-center border-b pb-2 border-gray-100", children: [
|
|
2042
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-x-2", children: [
|
|
2043
|
+
/* @__PURE__ */ jsx("div", { className: "w-3 h-3 bg-claimmind-primary rounded-full" }),
|
|
2044
|
+
/* @__PURE__ */ jsx("span", { className: "text-sm font-medium text-gray-600", children: "Rawat Inap" })
|
|
2045
|
+
] }),
|
|
2046
|
+
/* @__PURE__ */ jsx("span", { className: "text-lg font-bold text-gray-900", children: inpatientCount || 0 })
|
|
2047
|
+
] }),
|
|
2048
|
+
/* @__PURE__ */ jsxs("div", { className: "flex justify-between items-center", children: [
|
|
2049
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-x-2", children: [
|
|
2050
|
+
/* @__PURE__ */ jsx("div", { className: "w-3 h-3 bg-claimmind-tertiary rounded-full" }),
|
|
2051
|
+
/* @__PURE__ */ jsx("span", { className: "text-sm font-medium text-gray-600", children: "Rawat Jalan" })
|
|
2052
|
+
] }),
|
|
2053
|
+
/* @__PURE__ */ jsx("span", { className: "text-lg font-bold text-gray-900", children: outpatientCount || 0 })
|
|
2054
|
+
] })
|
|
2055
|
+
] }) : /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
|
|
2056
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
|
|
2057
|
+
/* @__PURE__ */ jsx(
|
|
2058
|
+
Progress,
|
|
2059
|
+
{
|
|
2060
|
+
value: progress,
|
|
2061
|
+
className: "h-2",
|
|
2062
|
+
style: {
|
|
2063
|
+
"--theme-primary": status === "completed" ? currentTheme.success : status === "error" ? currentTheme.danger : currentTheme.tertiary
|
|
2064
|
+
}
|
|
2065
|
+
}
|
|
2066
|
+
),
|
|
2067
|
+
/* @__PURE__ */ jsxs("div", { className: "flex justify-between text-sm text-muted-foreground", children: [
|
|
2068
|
+
/* @__PURE__ */ jsx("span", { children: status === "completed" ? "Selesai" : status === "running" ? "Memproses..." : "Menunggu" }),
|
|
2069
|
+
/* @__PURE__ */ jsx("span", { children: hasItems ? `${completedItems} / ${totalItems}` : `${Math.round(progress)}%` })
|
|
2070
|
+
] })
|
|
2071
|
+
] }),
|
|
2072
|
+
description && /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground", children: description })
|
|
2073
|
+
] }) })
|
|
2074
|
+
]
|
|
2075
|
+
}
|
|
2076
|
+
);
|
|
2077
|
+
}
|
|
2078
|
+
var LoginPage = ({
|
|
2079
|
+
theme = "Default",
|
|
2080
|
+
title = "Login ke ClaimMind",
|
|
2081
|
+
description = "Masukkan email dan kata sandi Anda untuk mengakses akun."
|
|
2082
|
+
}) => {
|
|
2083
|
+
const currentTheme = themeStyles[theme];
|
|
2084
|
+
return /* @__PURE__ */ jsx(
|
|
2085
|
+
"div",
|
|
2086
|
+
{
|
|
2087
|
+
style: {
|
|
2088
|
+
"--theme-primary": currentTheme.primary,
|
|
2089
|
+
"--theme-secondary": currentTheme.secondary,
|
|
2090
|
+
"--theme-background": currentTheme.background
|
|
2091
|
+
},
|
|
2092
|
+
className: "min-h-screen w-full flex items-center justify-center bg-[var(--theme-background)] p-4 font-sans",
|
|
2093
|
+
children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col w-full justify-center items-center", children: [
|
|
2094
|
+
/* @__PURE__ */ jsx("img", { src: theme === "Owlexa" ? "/logo-owlexa.webp" : theme === "BPJS" ? "/BPJS_ketenagakerjaan_logo.png" : "", className: "w-56 mb-5" }),
|
|
2095
|
+
/* @__PURE__ */ jsxs(ClaimMindCard, { theme, className: "w-full max-w-md", children: [
|
|
2096
|
+
/* @__PURE__ */ jsxs(CardHeader, { className: "space-y-1 text-center", children: [
|
|
2097
|
+
/* @__PURE__ */ jsx(CardTitle, { className: "text-2xl font-bold tracking-tight text-slate-900", children: title }),
|
|
2098
|
+
/* @__PURE__ */ jsx(CardDescription, { className: "text-slate-500", children: description })
|
|
2099
|
+
] }),
|
|
2100
|
+
/* @__PURE__ */ jsxs(CardContent, { className: "grid gap-4 mt-4", children: [
|
|
2101
|
+
/* @__PURE__ */ jsxs("div", { className: "grid gap-2", children: [
|
|
2102
|
+
/* @__PURE__ */ jsx(Label, { htmlFor: "email", className: "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70", children: "Email" }),
|
|
2103
|
+
/* @__PURE__ */ jsx(
|
|
2104
|
+
Input_default,
|
|
2105
|
+
{
|
|
2106
|
+
id: "email",
|
|
2107
|
+
type: "email",
|
|
2108
|
+
placeholder: "nama@perusahaan.com",
|
|
2109
|
+
theme
|
|
2110
|
+
}
|
|
2111
|
+
)
|
|
2112
|
+
] }),
|
|
2113
|
+
/* @__PURE__ */ jsxs("div", { className: "grid gap-2", children: [
|
|
2114
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
|
|
2115
|
+
/* @__PURE__ */ jsx(Label, { htmlFor: "password", children: "Kata Sandi" }),
|
|
2116
|
+
/* @__PURE__ */ jsx("a", { href: "#", className: "text-sm text-[var(--theme-primary)] hover:underline", children: "Lupa kata sandi?" })
|
|
2117
|
+
] }),
|
|
2118
|
+
/* @__PURE__ */ jsx(
|
|
2119
|
+
Input_default,
|
|
2120
|
+
{
|
|
2121
|
+
id: "password",
|
|
2122
|
+
type: "password",
|
|
2123
|
+
theme
|
|
2124
|
+
}
|
|
2125
|
+
)
|
|
2126
|
+
] })
|
|
2127
|
+
] }),
|
|
2128
|
+
/* @__PURE__ */ jsxs(CardFooter, { className: "flex flex-col gap-4 mt-2", children: [
|
|
2129
|
+
/* @__PURE__ */ jsx(
|
|
2130
|
+
Button_default,
|
|
2131
|
+
{
|
|
2132
|
+
label: "Masuk",
|
|
2133
|
+
theme,
|
|
2134
|
+
className: "w-full"
|
|
2135
|
+
}
|
|
2136
|
+
),
|
|
2137
|
+
/* @__PURE__ */ jsxs("div", { className: "text-center text-sm text-slate-500", children: [
|
|
2138
|
+
"Belum punya akun?",
|
|
2139
|
+
" ",
|
|
2140
|
+
/* @__PURE__ */ jsx("a", { href: "#", className: "text-[var(--theme-primary)] font-medium hover:underline", children: "Daftar sekarang" })
|
|
2141
|
+
] })
|
|
2142
|
+
] })
|
|
2143
|
+
] })
|
|
2144
|
+
] })
|
|
2145
|
+
}
|
|
2146
|
+
);
|
|
2147
|
+
};
|
|
2148
|
+
|
|
2149
|
+
export { Alert, AlertDescription, AlertTitle, Button, Calendar, CalendarDayButton, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Chat_default as Chat, ClaimMindAlert, Button_default as ClaimMindButton, ClaimMindCard, Combobox_default as ClaimMindCombobox, DatePicker_default as ClaimMindDatePicker, ClaimMindDialog, ClaimMindDialogClose, ClaimMindDialogContent, ClaimMindDialogDescription, ClaimMindDialogFooter, ClaimMindDialogHeader, ClaimMindDialogTitle, ClaimMindDialogTrigger, Input_default as ClaimMindInput, Select_default as ClaimMindSelect, Spinner_default as ClaimMindSpinner, Switch_default as ClaimMindSwitch, ClaimMindTable, Tooltip_default as ClaimMindTooltip, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, DashboardCard, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Input, Label, LoginPage, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, Progress, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Spinner, Switch, SyncProgress, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Title2 as Title, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, buttonVariants, cn, themeStyles };
|
|
2150
|
+
//# sourceMappingURL=index.js.map
|
|
2151
|
+
//# sourceMappingURL=index.js.map
|