@mireljs/ui-core 3.2.37 → 3.2.39

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.
@@ -1,1583 +1,1177 @@
1
- import { jsx as a, jsxs as d, Fragment as W } from "react/jsx-runtime";
2
- import * as n from "react";
3
- import U, { useState as O, createContext as he, useEffect as ye, useContext as xe } from "react";
4
- import { Slot as ve } from "@radix-ui/react-slot";
5
- import { cva as R } from "class-variance-authority";
6
- import { clsx as we } from "clsx";
7
- import { twMerge as Ne } from "tailwind-merge";
8
- import * as f from "@radix-ui/react-select";
1
+ import * as e from "react";
2
+ import t, { createContext as n, useContext as r, useEffect as i, useState as a } from "react";
3
+ import { Slot as o } from "@radix-ui/react-slot";
4
+ import { cva as s } from "class-variance-authority";
5
+ import { clsx as c } from "clsx";
6
+ import { twMerge as l } from "tailwind-merge";
7
+ import { Fragment as u, jsx as d, jsxs as f } from "react/jsx-runtime";
8
+ import * as p from "@radix-ui/react-select";
9
9
  import * as m from "@radix-ui/react-dialog";
10
- import * as u from "@radix-ui/react-dropdown-menu";
11
- import { ChevronRight as ke, Check as Te, Circle as Re, X as Se } from "lucide-react";
12
- import * as h from "@radix-ui/react-toast";
13
- import * as k from "@radix-ui/react-tabs";
14
- import * as N from "@radix-ui/react-accordion";
15
- import * as D from "@radix-ui/react-popover";
16
- import * as X from "@radix-ui/react-label";
17
- import * as V from "@radix-ui/react-switch";
18
- import * as T from "@radix-ui/react-tooltip";
19
- import * as w from "@radix-ui/react-scroll-area";
20
- import * as $ from "@radix-ui/react-separator";
21
- import * as S from "@radix-ui/react-slider";
22
- import { useReactTable as Ce, getSortedRowModel as De, getPaginationRowModel as Ie, getCoreRowModel as Pe, flexRender as q } from "@tanstack/react-table";
23
- function o(...e) {
24
- return Ne(we(e));
10
+ import * as h from "@radix-ui/react-dropdown-menu";
11
+ import { Check as ee, ChevronRight as te, Circle as ne, X as re } from "lucide-react";
12
+ import * as g from "@radix-ui/react-toast";
13
+ import * as _ from "@radix-ui/react-tabs";
14
+ import * as v from "@radix-ui/react-accordion";
15
+ import * as y from "@radix-ui/react-popover";
16
+ import * as ie from "@radix-ui/react-label";
17
+ import * as b from "@radix-ui/react-switch";
18
+ import * as x from "@radix-ui/react-tooltip";
19
+ import * as S from "@radix-ui/react-scroll-area";
20
+ import * as ae from "@radix-ui/react-separator";
21
+ import * as C from "@radix-ui/react-slider";
22
+ import { flexRender as oe, getCoreRowModel as se, getPaginationRowModel as ce, getSortedRowModel as le, useReactTable as ue } from "@tanstack/react-table";
23
+ //#region src/lib/utils.ts
24
+ function w(...e) {
25
+ return l(c(e));
25
26
  }
26
- const Le = R(
27
- "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium shadow-sm ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
28
- {
29
- variants: {
30
- variant: {
31
- default: "bg-gray-900 text-gray-50 hover:bg-gray-900/90 dark:bg-gray-700 dark:text-gray-50 dark:hover:bg-gray-600",
32
- destructive: "bg-red-500 text-gray-50 hover:bg-red-500/90 dark:bg-red-900 dark:text-gray-50 dark:hover:bg-red-900/90",
33
- outline: "border border-gray-200 bg-gray-50 hover:bg-gray-100 hover:text-gray-900 dark:border-gray-700 dark:bg-gray-950 dark:hover:bg-gray-800 dark:hover:text-gray-50",
34
- secondary: "bg-gray-100 text-gray-900 hover:bg-gray-100/80 dark:bg-gray-800 dark:text-gray-50 dark:hover:bg-gray-800/80",
35
- ghost: "hover:bg-gray-100 hover:text-gray-900 dark:hover:bg-gray-800 dark:hover:text-gray-50",
36
- link: "text-gray-900 underline-offset-4 hover:underline dark:text-gray-50",
37
- subtle: "bg-gray-100 text-gray-900 shadow-none hover:bg-gray-200 border border-gray-200/50 dark:bg-gray-800 dark:text-gray-50 dark:hover:bg-gray-700 dark:border-gray-700",
38
- soft: "bg-gray-100/50 text-gray-900 hover:bg-gray-100/75 dark:bg-gray-800/50 dark:text-gray-50 dark:hover:bg-gray-800/75",
39
- elevated: "bg-white text-gray-900 shadow-md hover:shadow-lg border border-gray-200/60 dark:bg-gray-950 dark:text-gray-50 dark:border-gray-700"
40
- },
41
- size: {
42
- default: "h-10 px-4 py-2",
43
- sm: "h-9 rounded-md px-3",
44
- lg: "h-11 rounded-md px-8",
45
- icon: "h-10 w-10",
46
- pill: "h-10 rounded-full px-6",
47
- square: "size-9 rounded-md relative [&_svg]:absolute [&_svg]:top-0 [&_svg]:right-0 [&_svg]:bottom-0 [&_svg]:left-0 [&_svg]:m-auto [&_svg]:size-4"
48
- }
49
- },
50
- defaultVariants: {
51
- variant: "default",
52
- size: "default"
53
- }
54
- }
55
- ), B = n.forwardRef(
56
- ({ className: e, variant: t, size: r, asChild: s = !1, ...i }, l) => /* @__PURE__ */ a(
57
- s ? ve : "button",
58
- {
59
- className: o(Le({ variant: t, size: r, className: e })),
60
- ref: l,
61
- ...i
62
- }
63
- )
64
- );
65
- B.displayName = "Button";
66
- const Q = n.forwardRef(
67
- ({ className: e, type: t, ...r }, s) => /* @__PURE__ */ a(
68
- "input",
69
- {
70
- type: t,
71
- className: o(
72
- "flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
73
- e
74
- ),
75
- ref: s,
76
- ...r
77
- }
78
- )
79
- );
80
- Q.displayName = "Input";
81
- const _e = n.forwardRef(
82
- ({ className: e, ...t }, r) => /* @__PURE__ */ a(
83
- "div",
84
- {
85
- ref: r,
86
- className: o("group rounded-2xl border border-outline/60 bg-surface shadow-md transition-shadow hover:shadow-lg", e),
87
- ...t
88
- }
89
- )
90
- );
91
- _e.displayName = "Card";
92
- const Ae = n.forwardRef(
93
- ({ className: e, ...t }, r) => /* @__PURE__ */ a("div", { ref: r, className: o("space-y-1.5 p-4", e), ...t })
94
- );
95
- Ae.displayName = "CardHeader";
96
- const Me = n.forwardRef(
97
- ({ className: e, ...t }, r) => /* @__PURE__ */ a("h3", { ref: r, className: o("text-lg font-semibold tracking-tight text-foreground", e), ...t })
98
- );
99
- Me.displayName = "CardTitle";
100
- const ze = n.forwardRef(
101
- ({ className: e, ...t }, r) => /* @__PURE__ */ a("p", { ref: r, className: o("text-sm text-muted-foreground", e), ...t })
102
- );
103
- ze.displayName = "CardDescription";
104
- const je = n.forwardRef(
105
- ({ className: e, ...t }, r) => /* @__PURE__ */ a("div", { ref: r, className: o("p-4 pt-0", e), ...t })
106
- );
107
- je.displayName = "CardContent";
108
- const Ee = n.forwardRef(
109
- ({ className: e, ...t }, r) => /* @__PURE__ */ a(
110
- "div",
111
- {
112
- ref: r,
113
- className: o("flex flex-col gap-2 border-t border-outline/40 bg-surface-subtle/60 p-4 pt-4 sm:flex-row sm:items-center sm:justify-between", e),
114
- ...t
115
- }
116
- )
117
- );
118
- Ee.displayName = "CardFooter";
119
- const Oe = R(
120
- "inline-flex items-center gap-1 rounded-full font-medium tracking-wide uppercase",
121
- {
122
- variants: {
123
- variant: {
124
- default: "bg-primary text-primary-foreground hover:bg-primary/80",
125
- secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
126
- neutral: "bg-surface-subtle text-muted-foreground ring-1 ring-inset ring-outline/60",
127
- outline: "border border-dashed border-outline/80 bg-transparent text-muted-foreground shadow-none",
128
- info: "bg-info text-info-foreground",
129
- success: "bg-success text-success-foreground",
130
- warning: "bg-warning text-warning-foreground",
131
- destructive: "bg-destructive text-destructive-foreground"
132
- },
133
- size: {
134
- default: "px-3 py-0.5 text-xs",
135
- sm: "px-2 py-0.5 text-[10px]",
136
- lg: "px-4 py-1 text-sm"
137
- }
138
- },
139
- defaultVariants: {
140
- variant: "neutral",
141
- size: "default"
142
- }
143
- }
144
- ), P = n.forwardRef(
145
- ({ className: e, variant: t, ...r }, s) => /* @__PURE__ */ a("span", { ref: s, className: o("select-none", Oe({ variant: t, className: e })), ...r })
146
- );
147
- P.displayName = "Badge";
148
- const Ve = n.forwardRef(
149
- ({ className: e, ...t }, r) => /* @__PURE__ */ a("div", { ref: r, className: o("space-y-2", e), ...t })
150
- );
151
- Ve.displayName = "FormField";
152
- const Be = n.forwardRef(({ className: e, requiredMark: t, children: r, ...s }, i) => /* @__PURE__ */ d(
153
- "label",
154
- {
155
- ref: i,
156
- className: o(
157
- "flex items-center gap-2 text-sm font-medium text-foreground",
158
- e
159
- ),
160
- ...s,
161
- children: [
162
- /* @__PURE__ */ a("span", { children: r }),
163
- t ?? null
164
- ]
165
- }
166
- ));
167
- Be.displayName = "FormLabel";
168
- const Fe = n.forwardRef(({ className: e, ...t }, r) => /* @__PURE__ */ a("p", { ref: r, className: o("text-xs text-muted-foreground", e), ...t }));
169
- Fe.displayName = "FormHelper";
170
- const He = n.forwardRef(({ className: e, ...t }, r) => /* @__PURE__ */ a("p", { ref: r, className: o("flex items-center gap-1 text-xs text-destructive", e), ...t }));
171
- He.displayName = "FormError";
172
- const Ue = ({
173
- children: e = "*",
174
- className: t
175
- }) => /* @__PURE__ */ a("span", { className: o("text-destructive", t), "aria-hidden": !0, children: e });
176
- Ue.displayName = "FormRequiredMark";
177
- function M(e, t) {
178
- return {
179
- ...{
180
- backgroundColor: e === "dialog" ? "hsl(var(--background))" : "hsl(var(--popover))",
181
- color: e === "dialog" ? "hsl(var(--foreground))" : "hsl(var(--popover-foreground))"
182
- },
183
- ...t
184
- };
27
+ //#endregion
28
+ //#region src/components/Button.tsx
29
+ var de = s("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium shadow-sm ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0", {
30
+ variants: {
31
+ variant: {
32
+ default: "bg-gray-900 text-gray-50 hover:bg-gray-900/90 dark:bg-gray-700 dark:text-gray-50 dark:hover:bg-gray-600",
33
+ destructive: "bg-red-500 text-gray-50 hover:bg-red-500/90 dark:bg-red-900 dark:text-gray-50 dark:hover:bg-red-900/90",
34
+ outline: "border border-gray-200 bg-gray-50 hover:bg-gray-100 hover:text-gray-900 dark:border-gray-700 dark:bg-gray-950 dark:hover:bg-gray-800 dark:hover:text-gray-50",
35
+ secondary: "bg-gray-100 text-gray-900 hover:bg-gray-100/80 dark:bg-gray-800 dark:text-gray-50 dark:hover:bg-gray-800/80",
36
+ ghost: "hover:bg-gray-100 hover:text-gray-900 dark:hover:bg-gray-800 dark:hover:text-gray-50",
37
+ link: "text-gray-900 underline-offset-4 hover:underline dark:text-gray-50",
38
+ subtle: "bg-gray-100 text-gray-900 shadow-none hover:bg-gray-200 border border-gray-200/50 dark:bg-gray-800 dark:text-gray-50 dark:hover:bg-gray-700 dark:border-gray-700",
39
+ soft: "bg-gray-100/50 text-gray-900 hover:bg-gray-100/75 dark:bg-gray-800/50 dark:text-gray-50 dark:hover:bg-gray-800/75",
40
+ elevated: "bg-white text-gray-900 shadow-md hover:shadow-lg border border-gray-200/60 dark:bg-gray-950 dark:text-gray-50 dark:border-gray-700"
41
+ },
42
+ size: {
43
+ default: "h-10 px-4 py-2",
44
+ sm: "h-9 rounded-md px-3",
45
+ lg: "h-11 rounded-md px-8",
46
+ icon: "h-10 w-10",
47
+ pill: "h-10 rounded-full px-6",
48
+ square: "size-9 rounded-md relative [&_svg]:absolute [&_svg]:top-0 [&_svg]:right-0 [&_svg]:bottom-0 [&_svg]:left-0 [&_svg]:m-auto [&_svg]:size-4"
49
+ }
50
+ },
51
+ defaultVariants: {
52
+ variant: "default",
53
+ size: "default"
54
+ }
55
+ }), T = e.forwardRef(({ className: e, variant: t, size: n, asChild: r = !1, ...i }, a) => /* @__PURE__ */ d(r ? o : "button", {
56
+ className: w(de({
57
+ variant: t,
58
+ size: n,
59
+ className: e
60
+ })),
61
+ ref: a,
62
+ ...i
63
+ }));
64
+ T.displayName = "Button";
65
+ //#endregion
66
+ //#region src/components/Input.tsx
67
+ var E = e.forwardRef(({ className: e, type: t, ...n }, r) => /* @__PURE__ */ d("input", {
68
+ type: t,
69
+ className: w("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm", e),
70
+ ref: r,
71
+ ...n
72
+ }));
73
+ E.displayName = "Input";
74
+ //#endregion
75
+ //#region src/components/Card.tsx
76
+ var fe = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ d("div", {
77
+ ref: n,
78
+ className: w("group rounded-2xl border border-outline/60 bg-surface shadow-md transition-shadow hover:shadow-lg", e),
79
+ ...t
80
+ }));
81
+ fe.displayName = "Card";
82
+ var pe = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ d("div", {
83
+ ref: n,
84
+ className: w("space-y-1.5 p-4", e),
85
+ ...t
86
+ }));
87
+ pe.displayName = "CardHeader";
88
+ var me = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ d("h3", {
89
+ ref: n,
90
+ className: w("text-lg font-semibold tracking-tight text-foreground", e),
91
+ ...t
92
+ }));
93
+ me.displayName = "CardTitle";
94
+ var he = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ d("p", {
95
+ ref: n,
96
+ className: w("text-sm text-muted-foreground", e),
97
+ ...t
98
+ }));
99
+ he.displayName = "CardDescription";
100
+ var ge = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ d("div", {
101
+ ref: n,
102
+ className: w("p-4 pt-0", e),
103
+ ...t
104
+ }));
105
+ ge.displayName = "CardContent";
106
+ var _e = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ d("div", {
107
+ ref: n,
108
+ className: w("flex flex-col gap-2 border-t border-outline/40 bg-surface-subtle/60 p-4 pt-4 sm:flex-row sm:items-center sm:justify-between", e),
109
+ ...t
110
+ }));
111
+ _e.displayName = "CardFooter";
112
+ //#endregion
113
+ //#region src/components/Badge.tsx
114
+ var ve = s("inline-flex items-center gap-1 rounded-full font-medium tracking-wide uppercase", {
115
+ variants: {
116
+ variant: {
117
+ default: "bg-primary text-primary-foreground hover:bg-primary/80",
118
+ secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
119
+ neutral: "bg-surface-subtle text-muted-foreground ring-1 ring-inset ring-outline/60",
120
+ outline: "border border-dashed border-outline/80 bg-transparent text-muted-foreground shadow-none",
121
+ info: "bg-info text-info-foreground",
122
+ success: "bg-success text-success-foreground",
123
+ warning: "bg-warning text-warning-foreground",
124
+ destructive: "bg-destructive text-destructive-foreground"
125
+ },
126
+ size: {
127
+ default: "px-3 py-0.5 text-xs",
128
+ sm: "px-2 py-0.5 text-[10px]",
129
+ lg: "px-4 py-1 text-sm"
130
+ }
131
+ },
132
+ defaultVariants: {
133
+ variant: "neutral",
134
+ size: "default"
135
+ }
136
+ }), D = e.forwardRef(({ className: e, variant: t, ...n }, r) => /* @__PURE__ */ d("span", {
137
+ ref: r,
138
+ className: w("select-none", ve({
139
+ variant: t,
140
+ className: e
141
+ })),
142
+ ...n
143
+ }));
144
+ D.displayName = "Badge";
145
+ //#endregion
146
+ //#region src/components/Form.tsx
147
+ var ye = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ d("div", {
148
+ ref: n,
149
+ className: w("space-y-2", e),
150
+ ...t
151
+ }));
152
+ ye.displayName = "FormField";
153
+ var be = e.forwardRef(({ className: e, requiredMark: t, children: n, ...r }, i) => /* @__PURE__ */ f("label", {
154
+ ref: i,
155
+ className: w("flex items-center gap-2 text-sm font-medium text-foreground", e),
156
+ ...r,
157
+ children: [/* @__PURE__ */ d("span", { children: n }), t ?? null]
158
+ }));
159
+ be.displayName = "FormLabel";
160
+ var xe = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ d("p", {
161
+ ref: n,
162
+ className: w("text-xs text-muted-foreground", e),
163
+ ...t
164
+ }));
165
+ xe.displayName = "FormHelper";
166
+ var Se = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ d("p", {
167
+ ref: n,
168
+ className: w("flex items-center gap-1 text-xs text-destructive", e),
169
+ ...t
170
+ }));
171
+ Se.displayName = "FormError";
172
+ var Ce = ({ children: e = "*", className: t }) => /* @__PURE__ */ d("span", {
173
+ className: w("text-destructive", t),
174
+ "aria-hidden": !0,
175
+ children: e
176
+ });
177
+ Ce.displayName = "FormRequiredMark";
178
+ //#endregion
179
+ //#region src/lib/styles.ts
180
+ function O(e, t) {
181
+ return {
182
+ backgroundColor: e === "dialog" ? "hsl(var(--background))" : "hsl(var(--popover))",
183
+ color: e === "dialog" ? "hsl(var(--foreground))" : "hsl(var(--popover-foreground))",
184
+ ...t
185
+ };
185
186
  }
186
- const Ge = f.Root, ur = f.Group, We = f.Value, Z = n.forwardRef(({ className: e, children: t, ...r }, s) => /* @__PURE__ */ d(
187
- f.Trigger,
188
- {
189
- ref: s,
190
- className: o(
191
- "flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",
192
- e
193
- ),
194
- ...r,
195
- children: [
196
- t,
197
- /* @__PURE__ */ a(f.Icon, { asChild: !0, children: /* @__PURE__ */ a(
198
- "svg",
199
- {
200
- xmlns: "http://www.w3.org/2000/svg",
201
- width: "16",
202
- height: "16",
203
- viewBox: "0 0 24 24",
204
- fill: "none",
205
- stroke: "currentColor",
206
- strokeWidth: "2",
207
- strokeLinecap: "round",
208
- strokeLinejoin: "round",
209
- className: "h-4 w-4 opacity-50",
210
- children: /* @__PURE__ */ a("polyline", { points: "6 9 12 15 18 9" })
211
- }
212
- ) })
213
- ]
214
- }
215
- ));
216
- Z.displayName = f.Trigger.displayName;
217
- const J = n.forwardRef(({ className: e, ...t }, r) => /* @__PURE__ */ a(
218
- f.ScrollUpButton,
219
- {
220
- ref: r,
221
- className: o("flex cursor-default items-center justify-center py-1", e),
222
- ...t,
223
- children: /* @__PURE__ */ a(
224
- "svg",
225
- {
226
- xmlns: "http://www.w3.org/2000/svg",
227
- width: "16",
228
- height: "16",
229
- viewBox: "0 0 24 24",
230
- fill: "none",
231
- stroke: "currentColor",
232
- strokeWidth: "2",
233
- strokeLinecap: "round",
234
- strokeLinejoin: "round",
235
- className: "h-4 w-4",
236
- children: /* @__PURE__ */ a("polyline", { points: "18 15 12 9 6 15" })
237
- }
238
- )
239
- }
240
- ));
241
- J.displayName = f.ScrollUpButton.displayName;
242
- const K = n.forwardRef(({ className: e, ...t }, r) => /* @__PURE__ */ a(
243
- f.ScrollDownButton,
244
- {
245
- ref: r,
246
- className: o("flex cursor-default items-center justify-center py-1", e),
247
- ...t,
248
- children: /* @__PURE__ */ a(
249
- "svg",
250
- {
251
- xmlns: "http://www.w3.org/2000/svg",
252
- width: "16",
253
- height: "16",
254
- viewBox: "0 0 24 24",
255
- fill: "none",
256
- stroke: "currentColor",
257
- strokeWidth: "2",
258
- strokeLinecap: "round",
259
- strokeLinejoin: "round",
260
- className: "h-4 w-4",
261
- children: /* @__PURE__ */ a("polyline", { points: "6 9 12 15 18 9" })
262
- }
263
- )
264
- }
265
- ));
266
- K.displayName = f.ScrollDownButton.displayName;
267
- const ee = n.forwardRef(({ className: e, children: t, position: r = "popper", style: s, ...i }, l) => /* @__PURE__ */ a(f.Portal, { children: /* @__PURE__ */ d(
268
- f.Content,
269
- {
270
- ref: l,
271
- className: o(
272
- "relative z-[200] max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover/100 backdrop-blur-sm text-popover-foreground shadow-lg 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",
273
- r === "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",
274
- e
275
- ),
276
- position: r,
277
- style: M("popover", s),
278
- ...i,
279
- children: [
280
- /* @__PURE__ */ a(J, {}),
281
- /* @__PURE__ */ a(
282
- f.Viewport,
283
- {
284
- className: o(
285
- "p-1 bg-popover/100",
286
- r === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"
287
- ),
288
- children: t
289
- }
290
- ),
291
- /* @__PURE__ */ a(K, {})
292
- ]
293
- }
294
- ) }));
295
- ee.displayName = f.Content.displayName;
296
- const qe = n.forwardRef(({ className: e, ...t }, r) => /* @__PURE__ */ a(
297
- f.Label,
298
- {
299
- ref: r,
300
- className: o("py-1.5 pl-8 pr-2 text-sm font-semibold", e),
301
- ...t
302
- }
303
- ));
304
- qe.displayName = f.Label.displayName;
305
- const F = n.forwardRef(({ className: e, children: t, ...r }, s) => /* @__PURE__ */ d(
306
- f.Item,
307
- {
308
- ref: s,
309
- className: o(
310
- "relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
311
- e
312
- ),
313
- ...r,
314
- children: [
315
- /* @__PURE__ */ a("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ a(f.ItemIndicator, { children: /* @__PURE__ */ a(
316
- "svg",
317
- {
318
- xmlns: "http://www.w3.org/2000/svg",
319
- width: "16",
320
- height: "16",
321
- viewBox: "0 0 24 24",
322
- fill: "none",
323
- stroke: "currentColor",
324
- strokeWidth: "2",
325
- strokeLinecap: "round",
326
- strokeLinejoin: "round",
327
- className: "h-4 w-4",
328
- children: /* @__PURE__ */ a("polyline", { points: "20 6 9 17 4 12" })
329
- }
330
- ) }) }),
331
- /* @__PURE__ */ a(f.ItemText, { children: t })
332
- ]
333
- }
334
- ));
335
- F.displayName = f.Item.displayName;
336
- const Ye = n.forwardRef(({ className: e, ...t }, r) => /* @__PURE__ */ a(
337
- f.Separator,
338
- {
339
- ref: r,
340
- className: o("-mx-1 my-1 h-px bg-muted", e),
341
- ...t
342
- }
343
- ));
344
- Ye.displayName = f.Separator.displayName;
345
- const fr = m.Root, gr = m.Trigger, Xe = m.Portal, pr = m.Close, te = n.forwardRef(({ className: e, style: t, ...r }, s) => /* @__PURE__ */ a(
346
- m.Overlay,
347
- {
348
- ref: s,
349
- className: o(
350
- "fixed top-0 right-0 bottom-0 left-0 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
351
- e
352
- ),
353
- style: {
354
- backgroundColor: "rgba(0, 0, 0, 0.8)",
355
- zIndex: 110,
356
- pointerEvents: "auto",
357
- ...t
358
- },
359
- ...r
360
- }
361
- ));
362
- te.displayName = m.Overlay.displayName;
363
- const $e = n.forwardRef(({ className: e, children: t, overlayClassName: r, style: s, onPointerDownOutside: i, onInteractOutside: l, ...g }, c) => /* @__PURE__ */ d(Xe, { children: [
364
- /* @__PURE__ */ a(te, { className: r }),
365
- /* @__PURE__ */ d(
366
- m.Content,
367
- {
368
- ref: c,
369
- className: o(
370
- "fixed grid w-full max-w-lg gap-4 border bg-background p-6 shadow-lg duration-200 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 sm:rounded-lg",
371
- e
372
- ),
373
- style: M("dialog", {
374
- left: "50%",
375
- top: "50%",
376
- transform: "translate(-50%, -50%)",
377
- zIndex: 120,
378
- isolation: "isolate",
379
- ...s
380
- }),
381
- onPointerDownOutside: (p) => {
382
- const b = p.target;
383
- (b.closest("[data-radix-select-content]") || b.closest('[role="listbox"]') || b.closest("[data-radix-popper-content-wrapper]")) && p.preventDefault(), i?.(p);
384
- },
385
- onInteractOutside: (p) => {
386
- const b = p.target;
387
- (b.closest("[data-radix-select-content]") || b.closest('[role="listbox"]') || b.closest("[data-radix-popper-content-wrapper]")) && p.preventDefault(), l?.(p);
388
- },
389
- ...g,
390
- children: [
391
- t,
392
- /* @__PURE__ */ a(
393
- m.Close,
394
- {
395
- className: "absolute right-4 top-4 inline-flex h-9 w-9 items-center justify-center rounded-full border border-border/50 bg-background text-foreground/80 shadow-sm transition-all hover:border-destructive hover:bg-destructive hover:text-white focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none",
396
- "aria-label": "閉じる",
397
- children: /* @__PURE__ */ a("svg", { width: "18", height: "18", viewBox: "0 0 15 15", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ a("path", { d: "M11.7816 4.03157C12.0062 3.80702 12.0062 3.44295 11.7816 3.2184C11.5571 2.99385 11.193 2.99385 10.9685 3.2184L7.50005 6.68682L4.03164 3.2184C3.80708 2.99385 3.44301 2.99385 3.21846 3.2184C2.99391 3.44295 2.99391 3.80702 3.21846 4.03157L6.68688 7.49999L3.21846 10.9684C2.99391 11.193 2.99391 11.557 3.21846 11.7816C3.44301 12.0061 3.80708 12.0061 4.03164 11.7816L7.50005 8.31316L10.9685 11.7816C11.193 12.0061 11.5571 12.0061 11.7816 11.7816C12.0062 11.557 12.0062 11.193 11.7816 10.9684L8.31322 7.49999L11.7816 4.03157Z", fill: "currentColor", fillRule: "evenodd", clipRule: "evenodd" }) })
398
- }
399
- )
400
- ]
401
- }
402
- )
403
- ] }));
404
- $e.displayName = m.Content.displayName;
405
- const Qe = ({ className: e, ...t }) => /* @__PURE__ */ a("div", { className: o("flex flex-col space-y-1.5 text-center sm:text-left", e), ...t });
406
- Qe.displayName = "DialogHeader";
407
- const Ze = ({ className: e, ...t }) => /* @__PURE__ */ a("div", { className: o("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", e), ...t });
408
- Ze.displayName = "DialogFooter";
409
- const Je = n.forwardRef(({ className: e, ...t }, r) => /* @__PURE__ */ a(
410
- m.Title,
411
- {
412
- ref: r,
413
- className: o("text-lg font-semibold leading-none tracking-tight", e),
414
- ...t
415
- }
416
- ));
417
- Je.displayName = m.Title.displayName;
418
- const Ke = n.forwardRef(({ className: e, ...t }, r) => /* @__PURE__ */ a(
419
- m.Description,
420
- {
421
- ref: r,
422
- className: o("text-sm text-muted-foreground", e),
423
- ...t
424
- }
425
- ));
426
- Ke.displayName = m.Description.displayName;
427
- const br = u.Root, hr = u.Trigger, yr = u.Group, xr = u.Portal, vr = u.Sub, wr = u.RadioGroup, et = n.forwardRef(({ className: e, inset: t, children: r, ...s }, i) => /* @__PURE__ */ d(
428
- u.SubTrigger,
429
- {
430
- ref: i,
431
- className: o(
432
- "flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent",
433
- t && "pl-8",
434
- e
435
- ),
436
- ...s,
437
- children: [
438
- r,
439
- /* @__PURE__ */ a(ke, { className: "ml-auto h-4 w-4" })
440
- ]
441
- }
442
- ));
443
- et.displayName = u.SubTrigger.displayName;
444
- const tt = n.forwardRef(({ className: e, style: t, ...r }, s) => /* @__PURE__ */ a(
445
- u.SubContent,
446
- {
447
- ref: s,
448
- className: o(
449
- "z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg 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",
450
- e
451
- ),
452
- style: M("popover", t),
453
- ...r
454
- }
455
- ));
456
- tt.displayName = u.SubContent.displayName;
457
- const rt = n.forwardRef(({ className: e, sideOffset: t = 4, style: r, ...s }, i) => /* @__PURE__ */ a(u.Portal, { children: /* @__PURE__ */ a(
458
- u.Content,
459
- {
460
- ref: i,
461
- sideOffset: t,
462
- className: o(
463
- "z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md 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",
464
- e
465
- ),
466
- style: M("popover", r),
467
- ...s
468
- }
469
- ) }));
470
- rt.displayName = u.Content.displayName;
471
- const at = n.forwardRef(({ className: e, inset: t, ...r }, s) => /* @__PURE__ */ a(
472
- u.Item,
473
- {
474
- ref: s,
475
- className: o(
476
- "relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
477
- t && "pl-8",
478
- e
479
- ),
480
- ...r
481
- }
482
- ));
483
- at.displayName = u.Item.displayName;
484
- const ot = n.forwardRef(({ className: e, children: t, checked: r, ...s }, i) => /* @__PURE__ */ d(
485
- u.CheckboxItem,
486
- {
487
- ref: i,
488
- className: o(
489
- "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
490
- e
491
- ),
492
- checked: r,
493
- ...s,
494
- children: [
495
- /* @__PURE__ */ a("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ a(u.ItemIndicator, { children: /* @__PURE__ */ a(Te, { className: "h-4 w-4" }) }) }),
496
- t
497
- ]
498
- }
499
- ));
500
- ot.displayName = u.CheckboxItem.displayName;
501
- const st = n.forwardRef(({ className: e, children: t, ...r }, s) => /* @__PURE__ */ d(
502
- u.RadioItem,
503
- {
504
- ref: s,
505
- className: o(
506
- "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
507
- e
508
- ),
509
- ...r,
510
- children: [
511
- /* @__PURE__ */ a("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ a(u.ItemIndicator, { children: /* @__PURE__ */ a(Re, { className: "h-2 w-2 fill-current" }) }) }),
512
- t
513
- ]
514
- }
515
- ));
516
- st.displayName = u.RadioItem.displayName;
517
- const nt = n.forwardRef(({ className: e, inset: t, ...r }, s) => /* @__PURE__ */ a(
518
- u.Label,
519
- {
520
- ref: s,
521
- className: o(
522
- "px-2 py-1.5 text-sm font-semibold",
523
- t && "pl-8",
524
- e
525
- ),
526
- ...r
527
- }
528
- ));
529
- nt.displayName = u.Label.displayName;
530
- const it = n.forwardRef(({ className: e, ...t }, r) => /* @__PURE__ */ a(
531
- u.Separator,
532
- {
533
- ref: r,
534
- className: o("-mx-1 my-1 h-px bg-muted", e),
535
- ...t
536
- }
537
- ));
538
- it.displayName = u.Separator.displayName;
539
- const dt = ({
540
- className: e,
541
- ...t
542
- }) => /* @__PURE__ */ a(
543
- "span",
544
- {
545
- className: o("ml-auto text-xs tracking-widest opacity-60", e),
546
- ...t
547
- }
548
- );
549
- dt.displayName = "DropdownMenuShortcut";
550
- const lt = n.forwardRef(
551
- ({ eyebrow: e, title: t, description: r, actions: s, className: i, ...l }, g) => /* @__PURE__ */ d(
552
- "div",
553
- {
554
- ref: g,
555
- className: o("flex flex-col gap-3 sm:flex-row sm:items-end sm:justify-between", i),
556
- ...l,
557
- children: [
558
- /* @__PURE__ */ d("div", { className: "space-y-2", children: [
559
- e ? /* @__PURE__ */ a("span", { className: "text-xs font-semibold uppercase tracking-[0.2em] text-muted-foreground", children: e }) : null,
560
- /* @__PURE__ */ d("div", { className: "space-y-2", children: [
561
- /* @__PURE__ */ a("h2", { className: "text-3xl font-semibold tracking-tight text-foreground sm:text-4xl", children: t }),
562
- r ? /* @__PURE__ */ a("p", { className: "max-w-2xl text-sm text-muted-foreground sm:text-base", children: r }) : null
563
- ] })
564
- ] }),
565
- s ? /* @__PURE__ */ a("div", { className: "flex items-center gap-3", children: s }) : null
566
- ]
567
- }
568
- )
569
- );
570
- lt.displayName = "SectionHeading";
571
- const ct = {
572
- complete: "border-success/40 bg-success/15 text-success-foreground",
573
- current: "border-primary/40 bg-primary/10 text-primary",
574
- upcoming: "border-outline/60 bg-surface-subtle text-muted-foreground"
575
- }, mt = {
576
- complete: /* @__PURE__ */ a(P, { variant: "success", children: "完了" }),
577
- current: /* @__PURE__ */ a(P, { variant: "info", children: "進行中" }),
578
- upcoming: /* @__PURE__ */ a(P, { variant: "neutral", children: "準備中" })
579
- }, ut = n.forwardRef(
580
- ({ steps: e, className: t, ...r }, s) => /* @__PURE__ */ a(
581
- "ol",
582
- {
583
- ref: s,
584
- className: o(
585
- "grid grid-cols-3 gap-3 rounded-xl border border-outline/60 bg-surface-subtle p-4 shadow-sm",
586
- t
587
- ),
588
- ...r,
589
- children: e.map((i) => {
590
- const l = i.state ?? "upcoming";
591
- return /* @__PURE__ */ d(
592
- "li",
593
- {
594
- className: o(
595
- "rounded-lg border p-4 transition-colors",
596
- ct[l]
597
- ),
598
- "data-state": l,
599
- children: [
600
- /* @__PURE__ */ d("div", { className: "flex items-center justify-between gap-2", children: [
601
- /* @__PURE__ */ a("span", { className: "text-sm font-semibold tracking-wide text-foreground", children: i.title }),
602
- mt[l]
603
- ] }),
604
- i.description ? /* @__PURE__ */ a("p", { className: "mt-2 text-xs text-muted-foreground", children: i.description }) : null
605
- ]
606
- },
607
- i.id
608
- );
609
- })
610
- }
611
- )
612
- );
613
- ut.displayName = "StepIndicator";
614
- const ft = n.forwardRef(
615
- ({ className: e, ...t }, r) => /* @__PURE__ */ a(
616
- "div",
617
- {
618
- ref: r,
619
- className: o("animate-shimmer rounded-md bg-surface-subtle/80 bg-gradient-to-r from-surface-subtle via-surface-raised/80 to-surface-subtle", e),
620
- ...t
621
- }
622
- )
623
- );
624
- ft.displayName = "Skeleton";
625
- const gt = h.Provider, re = n.forwardRef(({ className: e, ...t }, r) => /* @__PURE__ */ a(
626
- h.Viewport,
627
- {
628
- ref: r,
629
- className: o(
630
- "fixed left-4 right-4 bottom-4 z-[100] flex max-h-[calc(100vh-2rem)] flex-col gap-3 p-0 sm:left-auto sm:right-6 sm:bottom-6 sm:w-[380px]",
631
- e
632
- ),
633
- ...t
634
- }
635
- ));
636
- re.displayName = h.Viewport.displayName;
637
- const pt = R(
638
- "group pointer-events-auto relative flex w-full items-start gap-3 overflow-hidden rounded-xl border p-4 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",
639
- {
640
- variants: {
641
- variant: {
642
- default: "border-gray-200 bg-white text-gray-950 dark:border-gray-800 dark:bg-gray-950 dark:text-gray-50",
643
- destructive: "destructive group border-red-500 bg-red-500 text-gray-50 dark:border-red-900 dark:bg-red-900 dark:text-gray-50",
644
- info: "border-blue-200 bg-blue-50 text-blue-900 dark:border-blue-900 dark:bg-blue-950 dark:text-blue-50",
645
- success: "border-green-200 bg-green-50 text-green-900 dark:border-green-900 dark:bg-green-950 dark:text-green-50",
646
- warning: "border-yellow-200 bg-yellow-50 text-yellow-900 dark:border-yellow-900 dark:bg-yellow-950 dark:text-yellow-50",
647
- loading: "border-gray-200 bg-gray-50 text-gray-900 dark:border-gray-800 dark:bg-gray-900 dark:text-gray-50 shadow-md animate-pulse"
648
- }
649
- },
650
- defaultVariants: {
651
- variant: "default"
652
- }
653
- }
654
- ), ae = n.forwardRef(({ className: e, variant: t, ...r }, s) => /* @__PURE__ */ a(h.Root, { ref: s, className: o(pt({ variant: t }), e), ...r }));
655
- ae.displayName = h.Root.displayName;
656
- const bt = n.forwardRef(({ className: e, ...t }, r) => /* @__PURE__ */ a(
657
- h.Action,
658
- {
659
- ref: r,
660
- className: o(
661
- "inline-flex h-9 shrink-0 items-center justify-center gap-2 rounded-full border border-outline/60 bg-transparent px-3 text-sm font-medium transition-colors hover:bg-foreground/10 focus:outline-none focus:ring-2 focus:ring-focus-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-destructive/40 group-[.destructive]:hover:bg-destructive/20 group-[.destructive]:focus:ring-destructive group-[.info]:border-info/50 group-[.success]:border-success/50 group-[.warning]:border-warning/60",
662
- e
663
- ),
664
- ...t
665
- }
666
- ));
667
- bt.displayName = h.Action.displayName;
668
- const oe = n.forwardRef(({ className: e, ...t }, r) => /* @__PURE__ */ a(
669
- h.Close,
670
- {
671
- ref: r,
672
- className: o(
673
- "shrink-0 rounded-full p-1.5 text-foreground/60 opacity-70 transition-opacity hover:opacity-100 hover:text-foreground focus:outline-none focus:ring-2 focus:ring-focus-ring focus:ring-offset-2 group-[.destructive]:text-destructive-foreground group-[.destructive]:hover:text-destructive-foreground/80 group-[.info]:text-info-foreground group-[.success]:text-success-foreground group-[.warning]:text-warning-foreground",
674
- e
675
- ),
676
- "toast-close": "",
677
- ...t,
678
- children: /* @__PURE__ */ d(
679
- "svg",
680
- {
681
- xmlns: "http://www.w3.org/2000/svg",
682
- width: "16",
683
- height: "16",
684
- viewBox: "0 0 24 24",
685
- fill: "none",
686
- stroke: "currentColor",
687
- strokeWidth: "2",
688
- strokeLinecap: "round",
689
- strokeLinejoin: "round",
690
- className: "h-4 w-4",
691
- children: [
692
- /* @__PURE__ */ a("line", { x1: "18", y1: "6", x2: "6", y2: "18" }),
693
- /* @__PURE__ */ a("line", { x1: "6", y1: "6", x2: "18", y2: "18" })
694
- ]
695
- }
696
- )
697
- }
698
- ));
699
- oe.displayName = h.Close.displayName;
700
- const se = n.forwardRef(({ className: e, ...t }, r) => /* @__PURE__ */ a(h.Title, { ref: r, className: o("flex items-center gap-2 text-sm font-semibold", e), ...t }));
701
- se.displayName = h.Title.displayName;
702
- const ne = n.forwardRef(({ className: e, ...t }, r) => /* @__PURE__ */ a(h.Description, { ref: r, className: o("text-sm text-foreground/80", e), ...t }));
703
- ne.displayName = h.Description.displayName;
704
- const ht = 5, yt = 5e3;
705
- let z = 0;
706
- function xt() {
707
- return z = (z + 1) % Number.MAX_VALUE, z.toString();
187
+ //#endregion
188
+ //#region src/components/Select.tsx
189
+ var we = p.Root, Te = p.Group, Ee = p.Value, k = e.forwardRef(({ className: e, children: t, ...n }, r) => /* @__PURE__ */ f(p.Trigger, {
190
+ ref: r,
191
+ className: w("flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1", e),
192
+ ...n,
193
+ children: [t, /* @__PURE__ */ d(p.Icon, {
194
+ asChild: !0,
195
+ children: /* @__PURE__ */ d("svg", {
196
+ xmlns: "http://www.w3.org/2000/svg",
197
+ width: "16",
198
+ height: "16",
199
+ viewBox: "0 0 24 24",
200
+ fill: "none",
201
+ stroke: "currentColor",
202
+ strokeWidth: "2",
203
+ strokeLinecap: "round",
204
+ strokeLinejoin: "round",
205
+ className: "h-4 w-4 opacity-50",
206
+ children: /* @__PURE__ */ d("polyline", { points: "6 9 12 15 18 9" })
207
+ })
208
+ })]
209
+ }));
210
+ k.displayName = p.Trigger.displayName;
211
+ var A = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ d(p.ScrollUpButton, {
212
+ ref: n,
213
+ className: w("flex cursor-default items-center justify-center py-1", e),
214
+ ...t,
215
+ children: /* @__PURE__ */ d("svg", {
216
+ xmlns: "http://www.w3.org/2000/svg",
217
+ width: "16",
218
+ height: "16",
219
+ viewBox: "0 0 24 24",
220
+ fill: "none",
221
+ stroke: "currentColor",
222
+ strokeWidth: "2",
223
+ strokeLinecap: "round",
224
+ strokeLinejoin: "round",
225
+ className: "h-4 w-4",
226
+ children: /* @__PURE__ */ d("polyline", { points: "18 15 12 9 6 15" })
227
+ })
228
+ }));
229
+ A.displayName = p.ScrollUpButton.displayName;
230
+ var j = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ d(p.ScrollDownButton, {
231
+ ref: n,
232
+ className: w("flex cursor-default items-center justify-center py-1", e),
233
+ ...t,
234
+ children: /* @__PURE__ */ d("svg", {
235
+ xmlns: "http://www.w3.org/2000/svg",
236
+ width: "16",
237
+ height: "16",
238
+ viewBox: "0 0 24 24",
239
+ fill: "none",
240
+ stroke: "currentColor",
241
+ strokeWidth: "2",
242
+ strokeLinecap: "round",
243
+ strokeLinejoin: "round",
244
+ className: "h-4 w-4",
245
+ children: /* @__PURE__ */ d("polyline", { points: "6 9 12 15 18 9" })
246
+ })
247
+ }));
248
+ j.displayName = p.ScrollDownButton.displayName;
249
+ var M = e.forwardRef(({ className: e, children: t, position: n = "popper", style: r, ...i }, a) => /* @__PURE__ */ d(p.Portal, { children: /* @__PURE__ */ f(p.Content, {
250
+ ref: a,
251
+ className: w("relative z-[200] max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover/100 backdrop-blur-sm text-popover-foreground shadow-lg 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", n === "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", e),
252
+ position: n,
253
+ style: O("popover", r),
254
+ ...i,
255
+ children: [
256
+ /* @__PURE__ */ d(A, {}),
257
+ /* @__PURE__ */ d(p.Viewport, {
258
+ className: w("p-1 bg-popover/100", n === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),
259
+ children: t
260
+ }),
261
+ /* @__PURE__ */ d(j, {})
262
+ ]
263
+ }) }));
264
+ M.displayName = p.Content.displayName;
265
+ var De = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ d(p.Label, {
266
+ ref: n,
267
+ className: w("py-1.5 pl-8 pr-2 text-sm font-semibold", e),
268
+ ...t
269
+ }));
270
+ De.displayName = p.Label.displayName;
271
+ var N = e.forwardRef(({ className: e, children: t, ...n }, r) => /* @__PURE__ */ f(p.Item, {
272
+ ref: r,
273
+ className: w("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50", e),
274
+ ...n,
275
+ children: [/* @__PURE__ */ d("span", {
276
+ className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center",
277
+ children: /* @__PURE__ */ d(p.ItemIndicator, { children: /* @__PURE__ */ d("svg", {
278
+ xmlns: "http://www.w3.org/2000/svg",
279
+ width: "16",
280
+ height: "16",
281
+ viewBox: "0 0 24 24",
282
+ fill: "none",
283
+ stroke: "currentColor",
284
+ strokeWidth: "2",
285
+ strokeLinecap: "round",
286
+ strokeLinejoin: "round",
287
+ className: "h-4 w-4",
288
+ children: /* @__PURE__ */ d("polyline", { points: "20 6 9 17 4 12" })
289
+ }) })
290
+ }), /* @__PURE__ */ d(p.ItemText, { children: t })]
291
+ }));
292
+ N.displayName = p.Item.displayName;
293
+ var Oe = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ d(p.Separator, {
294
+ ref: n,
295
+ className: w("-mx-1 my-1 h-px bg-muted", e),
296
+ ...t
297
+ }));
298
+ Oe.displayName = p.Separator.displayName;
299
+ //#endregion
300
+ //#region src/components/Dialog.tsx
301
+ var ke = m.Root, Ae = m.Trigger, je = m.Portal, Me = m.Close, P = e.forwardRef(({ className: e, style: t, ...n }, r) => /* @__PURE__ */ d(m.Overlay, {
302
+ ref: r,
303
+ className: w("fixed top-0 right-0 bottom-0 left-0 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0", e),
304
+ style: {
305
+ backgroundColor: "rgba(0, 0, 0, 0.8)",
306
+ zIndex: 110,
307
+ pointerEvents: "auto",
308
+ ...t
309
+ },
310
+ ...n
311
+ }));
312
+ P.displayName = m.Overlay.displayName;
313
+ var Ne = e.forwardRef(({ className: e, children: t, overlayClassName: n, style: r, onPointerDownOutside: i, onInteractOutside: a, ...o }, s) => /* @__PURE__ */ f(je, { children: [/* @__PURE__ */ d(P, { className: n }), /* @__PURE__ */ f(m.Content, {
314
+ ref: s,
315
+ className: w("fixed grid w-full max-w-lg gap-4 border bg-background p-6 shadow-lg duration-200 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 sm:rounded-lg", e),
316
+ style: O("dialog", {
317
+ left: "50%",
318
+ top: "50%",
319
+ transform: "translate(-50%, -50%)",
320
+ zIndex: 120,
321
+ isolation: "isolate",
322
+ ...r
323
+ }),
324
+ onPointerDownOutside: (e) => {
325
+ let t = e.target;
326
+ (t.closest("[data-radix-select-content]") || t.closest("[role=\"listbox\"]") || t.closest("[data-radix-popper-content-wrapper]")) && e.preventDefault(), i?.(e);
327
+ },
328
+ onInteractOutside: (e) => {
329
+ let t = e.target;
330
+ (t.closest("[data-radix-select-content]") || t.closest("[role=\"listbox\"]") || t.closest("[data-radix-popper-content-wrapper]")) && e.preventDefault(), a?.(e);
331
+ },
332
+ ...o,
333
+ children: [t, /* @__PURE__ */ d(m.Close, {
334
+ className: "absolute right-4 top-4 inline-flex h-9 w-9 items-center justify-center rounded-full border border-border/50 bg-background text-foreground/80 shadow-sm transition-all hover:border-destructive hover:bg-destructive hover:text-white focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none",
335
+ "aria-label": "閉じる",
336
+ children: /* @__PURE__ */ d("svg", {
337
+ width: "18",
338
+ height: "18",
339
+ viewBox: "0 0 15 15",
340
+ fill: "none",
341
+ xmlns: "http://www.w3.org/2000/svg",
342
+ children: /* @__PURE__ */ d("path", {
343
+ d: "M11.7816 4.03157C12.0062 3.80702 12.0062 3.44295 11.7816 3.2184C11.5571 2.99385 11.193 2.99385 10.9685 3.2184L7.50005 6.68682L4.03164 3.2184C3.80708 2.99385 3.44301 2.99385 3.21846 3.2184C2.99391 3.44295 2.99391 3.80702 3.21846 4.03157L6.68688 7.49999L3.21846 10.9684C2.99391 11.193 2.99391 11.557 3.21846 11.7816C3.44301 12.0061 3.80708 12.0061 4.03164 11.7816L7.50005 8.31316L10.9685 11.7816C11.193 12.0061 11.5571 12.0061 11.7816 11.7816C12.0062 11.557 12.0062 11.193 11.7816 10.9684L8.31322 7.49999L11.7816 4.03157Z",
344
+ fill: "currentColor",
345
+ fillRule: "evenodd",
346
+ clipRule: "evenodd"
347
+ })
348
+ })
349
+ })]
350
+ })] }));
351
+ Ne.displayName = m.Content.displayName;
352
+ var Pe = ({ className: e, ...t }) => /* @__PURE__ */ d("div", {
353
+ className: w("flex flex-col space-y-1.5 text-center sm:text-left", e),
354
+ ...t
355
+ });
356
+ Pe.displayName = "DialogHeader";
357
+ var Fe = ({ className: e, ...t }) => /* @__PURE__ */ d("div", {
358
+ className: w("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", e),
359
+ ...t
360
+ });
361
+ Fe.displayName = "DialogFooter";
362
+ var Ie = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ d(m.Title, {
363
+ ref: n,
364
+ className: w("text-lg font-semibold leading-none tracking-tight", e),
365
+ ...t
366
+ }));
367
+ Ie.displayName = m.Title.displayName;
368
+ var Le = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ d(m.Description, {
369
+ ref: n,
370
+ className: w("text-sm text-muted-foreground", e),
371
+ ...t
372
+ }));
373
+ Le.displayName = m.Description.displayName;
374
+ //#endregion
375
+ //#region src/components/DropdownMenu.tsx
376
+ var Re = h.Root, ze = h.Trigger, Be = h.Group, Ve = h.Portal, He = h.Sub, Ue = h.RadioGroup, We = e.forwardRef(({ className: e, inset: t, children: n, ...r }, i) => /* @__PURE__ */ f(h.SubTrigger, {
377
+ ref: i,
378
+ className: w("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent", t && "pl-8", e),
379
+ ...r,
380
+ children: [n, /* @__PURE__ */ d(te, { className: "ml-auto h-4 w-4" })]
381
+ }));
382
+ We.displayName = h.SubTrigger.displayName;
383
+ var Ge = e.forwardRef(({ className: e, style: t, ...n }, r) => /* @__PURE__ */ d(h.SubContent, {
384
+ ref: r,
385
+ className: w("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg 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", e),
386
+ style: O("popover", t),
387
+ ...n
388
+ }));
389
+ Ge.displayName = h.SubContent.displayName;
390
+ var Ke = e.forwardRef(({ className: e, sideOffset: t = 4, style: n, ...r }, i) => /* @__PURE__ */ d(h.Portal, { children: /* @__PURE__ */ d(h.Content, {
391
+ ref: i,
392
+ sideOffset: t,
393
+ className: w("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md 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", e),
394
+ style: O("popover", n),
395
+ ...r
396
+ }) }));
397
+ Ke.displayName = h.Content.displayName;
398
+ var qe = e.forwardRef(({ className: e, inset: t, ...n }, r) => /* @__PURE__ */ d(h.Item, {
399
+ ref: r,
400
+ className: w("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50", t && "pl-8", e),
401
+ ...n
402
+ }));
403
+ qe.displayName = h.Item.displayName;
404
+ var Je = e.forwardRef(({ className: e, children: t, checked: n, ...r }, i) => /* @__PURE__ */ f(h.CheckboxItem, {
405
+ ref: i,
406
+ className: w("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50", e),
407
+ checked: n,
408
+ ...r,
409
+ children: [/* @__PURE__ */ d("span", {
410
+ className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center",
411
+ children: /* @__PURE__ */ d(h.ItemIndicator, { children: /* @__PURE__ */ d(ee, { className: "h-4 w-4" }) })
412
+ }), t]
413
+ }));
414
+ Je.displayName = h.CheckboxItem.displayName;
415
+ var Ye = e.forwardRef(({ className: e, children: t, ...n }, r) => /* @__PURE__ */ f(h.RadioItem, {
416
+ ref: r,
417
+ className: w("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50", e),
418
+ ...n,
419
+ children: [/* @__PURE__ */ d("span", {
420
+ className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center",
421
+ children: /* @__PURE__ */ d(h.ItemIndicator, { children: /* @__PURE__ */ d(ne, { className: "h-2 w-2 fill-current" }) })
422
+ }), t]
423
+ }));
424
+ Ye.displayName = h.RadioItem.displayName;
425
+ var Xe = e.forwardRef(({ className: e, inset: t, ...n }, r) => /* @__PURE__ */ d(h.Label, {
426
+ ref: r,
427
+ className: w("px-2 py-1.5 text-sm font-semibold", t && "pl-8", e),
428
+ ...n
429
+ }));
430
+ Xe.displayName = h.Label.displayName;
431
+ var Ze = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ d(h.Separator, {
432
+ ref: n,
433
+ className: w("-mx-1 my-1 h-px bg-muted", e),
434
+ ...t
435
+ }));
436
+ Ze.displayName = h.Separator.displayName;
437
+ var Qe = ({ className: e, ...t }) => /* @__PURE__ */ d("span", {
438
+ className: w("ml-auto text-xs tracking-widest opacity-60", e),
439
+ ...t
440
+ });
441
+ Qe.displayName = "DropdownMenuShortcut";
442
+ //#endregion
443
+ //#region src/components/SectionHeading.tsx
444
+ var $e = e.forwardRef(({ eyebrow: e, title: t, description: n, actions: r, className: i, ...a }, o) => /* @__PURE__ */ f("div", {
445
+ ref: o,
446
+ className: w("flex flex-col gap-3 sm:flex-row sm:items-end sm:justify-between", i),
447
+ ...a,
448
+ children: [/* @__PURE__ */ f("div", {
449
+ className: "space-y-2",
450
+ children: [e ? /* @__PURE__ */ d("span", {
451
+ className: "text-xs font-semibold uppercase tracking-[0.2em] text-muted-foreground",
452
+ children: e
453
+ }) : null, /* @__PURE__ */ f("div", {
454
+ className: "space-y-2",
455
+ children: [/* @__PURE__ */ d("h2", {
456
+ className: "text-3xl font-semibold tracking-tight text-foreground sm:text-4xl",
457
+ children: t
458
+ }), n ? /* @__PURE__ */ d("p", {
459
+ className: "max-w-2xl text-sm text-muted-foreground sm:text-base",
460
+ children: n
461
+ }) : null]
462
+ })]
463
+ }), r ? /* @__PURE__ */ d("div", {
464
+ className: "flex items-center gap-3",
465
+ children: r
466
+ }) : null]
467
+ }));
468
+ $e.displayName = "SectionHeading";
469
+ //#endregion
470
+ //#region src/components/StepIndicator.tsx
471
+ var et = {
472
+ complete: "border-success/40 bg-success/15 text-success-foreground",
473
+ current: "border-primary/40 bg-primary/10 text-primary",
474
+ upcoming: "border-outline/60 bg-surface-subtle text-muted-foreground"
475
+ }, tt = {
476
+ complete: /* @__PURE__ */ d(D, {
477
+ variant: "success",
478
+ children: "完了"
479
+ }),
480
+ current: /* @__PURE__ */ d(D, {
481
+ variant: "info",
482
+ children: "進行中"
483
+ }),
484
+ upcoming: /* @__PURE__ */ d(D, {
485
+ variant: "neutral",
486
+ children: "準備中"
487
+ })
488
+ }, nt = e.forwardRef(({ steps: e, className: t, ...n }, r) => /* @__PURE__ */ d("ol", {
489
+ ref: r,
490
+ className: w("grid grid-cols-3 gap-3 rounded-xl border border-outline/60 bg-surface-subtle p-4 shadow-sm", t),
491
+ ...n,
492
+ children: e.map((e) => {
493
+ let t = e.state ?? "upcoming";
494
+ return /* @__PURE__ */ f("li", {
495
+ className: w("rounded-lg border p-4 transition-colors", et[t]),
496
+ "data-state": t,
497
+ children: [/* @__PURE__ */ f("div", {
498
+ className: "flex items-center justify-between gap-2",
499
+ children: [/* @__PURE__ */ d("span", {
500
+ className: "text-sm font-semibold tracking-wide text-foreground",
501
+ children: e.title
502
+ }), tt[t]]
503
+ }), e.description ? /* @__PURE__ */ d("p", {
504
+ className: "mt-2 text-xs text-muted-foreground",
505
+ children: e.description
506
+ }) : null]
507
+ }, e.id);
508
+ })
509
+ }));
510
+ nt.displayName = "StepIndicator";
511
+ //#endregion
512
+ //#region src/components/Skeleton.tsx
513
+ var rt = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ d("div", {
514
+ ref: n,
515
+ className: w("animate-shimmer rounded-md bg-surface-subtle/80 bg-gradient-to-r from-surface-subtle via-surface-raised/80 to-surface-subtle", e),
516
+ ...t
517
+ }));
518
+ rt.displayName = "Skeleton";
519
+ //#endregion
520
+ //#region src/components/Toast.tsx
521
+ var it = g.Provider, F = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ d(g.Viewport, {
522
+ ref: n,
523
+ className: w("fixed left-4 right-4 bottom-4 z-[100] flex max-h-[calc(100vh-2rem)] flex-col gap-3 p-0 sm:left-auto sm:right-6 sm:bottom-6 sm:w-[380px]", e),
524
+ ...t
525
+ }));
526
+ F.displayName = g.Viewport.displayName;
527
+ var at = s("group pointer-events-auto relative flex w-full items-start gap-3 overflow-hidden rounded-xl border p-4 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full", {
528
+ variants: { variant: {
529
+ default: "border-gray-200 bg-white text-gray-950 dark:border-gray-800 dark:bg-gray-950 dark:text-gray-50",
530
+ destructive: "destructive group border-red-500 bg-red-500 text-gray-50 dark:border-red-900 dark:bg-red-900 dark:text-gray-50",
531
+ info: "border-blue-200 bg-blue-50 text-blue-900 dark:border-blue-900 dark:bg-blue-950 dark:text-blue-50",
532
+ success: "border-green-200 bg-green-50 text-green-900 dark:border-green-900 dark:bg-green-950 dark:text-green-50",
533
+ warning: "border-yellow-200 bg-yellow-50 text-yellow-900 dark:border-yellow-900 dark:bg-yellow-950 dark:text-yellow-50",
534
+ loading: "border-gray-200 bg-gray-50 text-gray-900 dark:border-gray-800 dark:bg-gray-900 dark:text-gray-50 shadow-md animate-pulse"
535
+ } },
536
+ defaultVariants: { variant: "default" }
537
+ }), I = e.forwardRef(({ className: e, variant: t, ...n }, r) => /* @__PURE__ */ d(g.Root, {
538
+ ref: r,
539
+ className: w(at({ variant: t }), e),
540
+ ...n
541
+ }));
542
+ I.displayName = g.Root.displayName;
543
+ var ot = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ d(g.Action, {
544
+ ref: n,
545
+ className: w("inline-flex h-9 shrink-0 items-center justify-center gap-2 rounded-full border border-outline/60 bg-transparent px-3 text-sm font-medium transition-colors hover:bg-foreground/10 focus:outline-none focus:ring-2 focus:ring-focus-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-destructive/40 group-[.destructive]:hover:bg-destructive/20 group-[.destructive]:focus:ring-destructive group-[.info]:border-info/50 group-[.success]:border-success/50 group-[.warning]:border-warning/60", e),
546
+ ...t
547
+ }));
548
+ ot.displayName = g.Action.displayName;
549
+ var L = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ d(g.Close, {
550
+ ref: n,
551
+ className: w("shrink-0 rounded-full p-1.5 text-foreground/60 opacity-70 transition-opacity hover:opacity-100 hover:text-foreground focus:outline-none focus:ring-2 focus:ring-focus-ring focus:ring-offset-2 group-[.destructive]:text-destructive-foreground group-[.destructive]:hover:text-destructive-foreground/80 group-[.info]:text-info-foreground group-[.success]:text-success-foreground group-[.warning]:text-warning-foreground", e),
552
+ "toast-close": "",
553
+ ...t,
554
+ children: /* @__PURE__ */ f("svg", {
555
+ xmlns: "http://www.w3.org/2000/svg",
556
+ width: "16",
557
+ height: "16",
558
+ viewBox: "0 0 24 24",
559
+ fill: "none",
560
+ stroke: "currentColor",
561
+ strokeWidth: "2",
562
+ strokeLinecap: "round",
563
+ strokeLinejoin: "round",
564
+ className: "h-4 w-4",
565
+ children: [/* @__PURE__ */ d("line", {
566
+ x1: "18",
567
+ y1: "6",
568
+ x2: "6",
569
+ y2: "18"
570
+ }), /* @__PURE__ */ d("line", {
571
+ x1: "6",
572
+ y1: "6",
573
+ x2: "18",
574
+ y2: "18"
575
+ })]
576
+ })
577
+ }));
578
+ L.displayName = g.Close.displayName;
579
+ var R = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ d(g.Title, {
580
+ ref: n,
581
+ className: w("flex items-center gap-2 text-sm font-semibold", e),
582
+ ...t
583
+ }));
584
+ R.displayName = g.Title.displayName;
585
+ var z = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ d(g.Description, {
586
+ ref: n,
587
+ className: w("text-sm text-foreground/80", e),
588
+ ...t
589
+ }));
590
+ z.displayName = g.Description.displayName;
591
+ //#endregion
592
+ //#region src/components/use-toast.ts
593
+ var st = 5, ct = 5e3, B = 0;
594
+ function lt() {
595
+ return B = (B + 1) % Number.MAX_VALUE, B.toString();
708
596
  }
709
- const j = /* @__PURE__ */ new Map(), Y = (e) => {
710
- if (j.has(e))
711
- return;
712
- const t = setTimeout(() => {
713
- j.delete(e), C({
714
- type: "REMOVE_TOAST",
715
- toastId: e
716
- });
717
- }, yt);
718
- j.set(e, t);
719
- }, vt = (e, t) => {
720
- switch (t.type) {
721
- case "ADD_TOAST":
722
- return {
723
- ...e,
724
- toasts: [t.toast, ...e.toasts].slice(0, ht)
725
- };
726
- case "UPDATE_TOAST":
727
- return {
728
- ...e,
729
- toasts: e.toasts.map((r) => r.id === t.toast.id ? { ...r, ...t.toast } : r)
730
- };
731
- case "DISMISS_TOAST": {
732
- const { toastId: r } = t;
733
- return r ? Y(r) : e.toasts.forEach((s) => {
734
- Y(s.id);
735
- }), {
736
- ...e,
737
- toasts: e.toasts.map(
738
- (s) => s.id === r || r === void 0 ? {
739
- ...s,
740
- open: !1
741
- } : s
742
- )
743
- };
744
- }
745
- case "REMOVE_TOAST":
746
- return t.toastId === void 0 ? {
747
- ...e,
748
- toasts: []
749
- } : {
750
- ...e,
751
- toasts: e.toasts.filter((r) => r.id !== t.toastId)
752
- };
753
- }
754
- }, L = [];
755
- let _ = { toasts: [] };
756
- function C(e) {
757
- _ = vt(_, e), L.forEach((t) => {
758
- t(_);
759
- });
597
+ var V = /* @__PURE__ */ new Map(), ut = (e) => {
598
+ if (V.has(e)) return;
599
+ let t = setTimeout(() => {
600
+ V.delete(e), W({
601
+ type: "REMOVE_TOAST",
602
+ toastId: e
603
+ });
604
+ }, ct);
605
+ V.set(e, t);
606
+ }, dt = (e, t) => {
607
+ switch (t.type) {
608
+ case "ADD_TOAST": return {
609
+ ...e,
610
+ toasts: [t.toast, ...e.toasts].slice(0, st)
611
+ };
612
+ case "UPDATE_TOAST": return {
613
+ ...e,
614
+ toasts: e.toasts.map((e) => e.id === t.toast.id ? {
615
+ ...e,
616
+ ...t.toast
617
+ } : e)
618
+ };
619
+ case "DISMISS_TOAST": {
620
+ let { toastId: n } = t;
621
+ return n ? ut(n) : e.toasts.forEach((e) => {
622
+ ut(e.id);
623
+ }), {
624
+ ...e,
625
+ toasts: e.toasts.map((e) => e.id === n || n === void 0 ? {
626
+ ...e,
627
+ open: !1
628
+ } : e)
629
+ };
630
+ }
631
+ case "REMOVE_TOAST": return t.toastId === void 0 ? {
632
+ ...e,
633
+ toasts: []
634
+ } : {
635
+ ...e,
636
+ toasts: e.toasts.filter((e) => e.id !== t.toastId)
637
+ };
638
+ }
639
+ }, H = [], U = { toasts: [] };
640
+ function W(e) {
641
+ U = dt(U, e), H.forEach((e) => {
642
+ e(U);
643
+ });
760
644
  }
761
- function wt({ ...e }) {
762
- const t = xt(), r = (i) => C({
763
- type: "UPDATE_TOAST",
764
- toast: { ...i, id: t }
765
- }), s = () => C({ type: "DISMISS_TOAST", toastId: t });
766
- return C({
767
- type: "ADD_TOAST",
768
- toast: {
769
- ...e,
770
- id: t,
771
- open: !0,
772
- onOpenChange: (i) => {
773
- i || s();
774
- }
775
- }
776
- }), {
777
- id: t,
778
- dismiss: s,
779
- update: r
780
- };
645
+ function ft({ ...e }) {
646
+ let t = lt(), n = (e) => W({
647
+ type: "UPDATE_TOAST",
648
+ toast: {
649
+ ...e,
650
+ id: t
651
+ }
652
+ }), r = () => W({
653
+ type: "DISMISS_TOAST",
654
+ toastId: t
655
+ });
656
+ return W({
657
+ type: "ADD_TOAST",
658
+ toast: {
659
+ ...e,
660
+ id: t,
661
+ open: !0,
662
+ onOpenChange: (e) => {
663
+ e || r();
664
+ }
665
+ }
666
+ }), {
667
+ id: t,
668
+ dismiss: r,
669
+ update: n
670
+ };
781
671
  }
782
- function Nt() {
783
- const [e, t] = n.useState(_);
784
- return n.useEffect(() => (L.push(t), () => {
785
- const r = L.indexOf(t);
786
- r > -1 && L.splice(r, 1);
787
- }), [e]), {
788
- ...e,
789
- toast: wt,
790
- dismiss: (r) => C({ type: "DISMISS_TOAST", toastId: r })
791
- };
672
+ function pt() {
673
+ let [t, n] = e.useState(U);
674
+ return e.useEffect(() => (H.push(n), () => {
675
+ let e = H.indexOf(n);
676
+ e > -1 && H.splice(e, 1);
677
+ }), [t]), {
678
+ ...t,
679
+ toast: ft,
680
+ dismiss: (e) => W({
681
+ type: "DISMISS_TOAST",
682
+ toastId: e
683
+ })
684
+ };
792
685
  }
793
- function Nr() {
794
- const { toasts: e } = Nt();
795
- return /* @__PURE__ */ d(gt, { children: [
796
- e.map(function({ id: t, title: r, description: s, action: i, ...l }) {
797
- return /* @__PURE__ */ d(ae, { ...l, children: [
798
- /* @__PURE__ */ d("div", { className: "grid gap-1 flex-1 min-w-0", children: [
799
- r && /* @__PURE__ */ a(se, { children: r }),
800
- s && /* @__PURE__ */ a(ne, { children: s })
801
- ] }),
802
- i,
803
- /* @__PURE__ */ a(oe, {})
804
- ] }, t);
805
- }),
806
- /* @__PURE__ */ a(re, {})
807
- ] });
686
+ //#endregion
687
+ //#region src/components/Toaster.tsx
688
+ function mt() {
689
+ let { toasts: e } = pt();
690
+ return /* @__PURE__ */ f(it, { children: [e.map(function({ id: e, title: t, description: n, action: r, ...i }) {
691
+ return /* @__PURE__ */ f(I, {
692
+ ...i,
693
+ children: [
694
+ /* @__PURE__ */ f("div", {
695
+ className: "grid gap-1 flex-1 min-w-0",
696
+ children: [t && /* @__PURE__ */ d(R, { children: t }), n && /* @__PURE__ */ d(z, { children: n })]
697
+ }),
698
+ r,
699
+ /* @__PURE__ */ d(L, {})
700
+ ]
701
+ }, e);
702
+ }), /* @__PURE__ */ d(F, {})] });
808
703
  }
809
- const kt = R(
810
- "relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground",
811
- {
812
- variants: {
813
- variant: {
814
- default: "bg-background text-foreground",
815
- destructive: "border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive",
816
- info: "border-blue-500/50 text-blue-700 dark:border-blue-500 [&>svg]:text-blue-700 dark:text-blue-400 dark:[&>svg]:text-blue-400",
817
- success: "border-green-500/50 text-green-700 dark:border-green-500 [&>svg]:text-green-700 dark:text-green-400 dark:[&>svg]:text-green-400",
818
- warning: "border-yellow-500/50 text-yellow-700 dark:border-yellow-500 [&>svg]:text-yellow-700 dark:text-yellow-400 dark:[&>svg]:text-yellow-400"
819
- }
820
- },
821
- defaultVariants: {
822
- variant: "default"
823
- }
824
- }
825
- ), Tt = U.forwardRef(
826
- ({ className: e, variant: t, ...r }, s) => /* @__PURE__ */ a(
827
- "div",
828
- {
829
- ref: s,
830
- role: "alert",
831
- className: o(kt({ variant: t }), e),
832
- ...r
833
- }
834
- )
835
- );
836
- Tt.displayName = "Alert";
837
- const Rt = U.forwardRef(({ className: e, ...t }, r) => /* @__PURE__ */ a(
838
- "h5",
839
- {
840
- ref: r,
841
- className: o("mb-1 font-medium leading-none tracking-tight", e),
842
- ...t
843
- }
844
- ));
845
- Rt.displayName = "AlertTitle";
846
- const St = U.forwardRef(({ className: e, ...t }, r) => /* @__PURE__ */ a(
847
- "div",
848
- {
849
- ref: r,
850
- className: o("text-sm [&_p]:leading-relaxed", e),
851
- ...t
852
- }
853
- ));
854
- St.displayName = "AlertDescription";
855
- const kr = k.Root, Ct = n.forwardRef(({ className: e, ...t }, r) => /* @__PURE__ */ a(
856
- k.List,
857
- {
858
- ref: r,
859
- className: o(
860
- "inline-flex h-10 items-center justify-center rounded-md bg-surface-raised p-1 text-muted-foreground border border-outline/20",
861
- e
862
- ),
863
- ...t
864
- }
865
- ));
866
- Ct.displayName = k.List.displayName;
867
- const Dt = n.forwardRef(({ className: e, ...t }, r) => /* @__PURE__ */ a(
868
- k.Trigger,
869
- {
870
- ref: r,
871
- className: o(
872
- "inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
873
- "state-active:bg-background state-active:text-foreground state-active:font-semibold state-active:shadow-sm",
874
- e
875
- ),
876
- ...t
877
- }
878
- ));
879
- Dt.displayName = k.Trigger.displayName;
880
- const It = n.forwardRef(({ className: e, ...t }, r) => /* @__PURE__ */ a(
881
- k.Content,
882
- {
883
- ref: r,
884
- className: o(
885
- "mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
886
- e
887
- ),
888
- ...t
889
- }
890
- ));
891
- It.displayName = k.Content.displayName;
892
- const Pt = () => /* @__PURE__ */ a(
893
- "svg",
894
- {
895
- xmlns: "http://www.w3.org/2000/svg",
896
- width: "16",
897
- height: "16",
898
- viewBox: "0 0 24 24",
899
- fill: "none",
900
- stroke: "currentColor",
901
- strokeWidth: "2",
902
- strokeLinecap: "round",
903
- strokeLinejoin: "round",
904
- className: "h-4 w-4 shrink-0 transition-transform duration-200",
905
- children: /* @__PURE__ */ a("polyline", { points: "6 9 12 15 18 9" })
906
- }
907
- ), Tr = N.Root, Lt = n.forwardRef(({ className: e, ...t }, r) => /* @__PURE__ */ a(N.Item, { ref: r, className: o("border-b", e), ...t }));
908
- Lt.displayName = "AccordionItem";
909
- const _t = n.forwardRef(({ className: e, children: t, ...r }, s) => /* @__PURE__ */ a(N.Header, { className: "flex", children: /* @__PURE__ */ d(
910
- N.Trigger,
911
- {
912
- ref: s,
913
- className: o(
914
- "flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",
915
- e
916
- ),
917
- ...r,
918
- children: [
919
- t,
920
- /* @__PURE__ */ a(Pt, {})
921
- ]
922
- }
923
- ) }));
924
- _t.displayName = N.Trigger.displayName;
925
- const At = n.forwardRef(({ className: e, children: t, ...r }, s) => /* @__PURE__ */ a(
926
- N.Content,
927
- {
928
- ref: s,
929
- className: "overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",
930
- ...r,
931
- children: /* @__PURE__ */ a("div", { className: o("pb-4 pt-0", e), children: t })
932
- }
933
- ));
934
- At.displayName = N.Content.displayName;
935
- const E = "__EMPTY__";
936
- function Rr({
937
- value: e = "",
938
- onValueChange: t,
939
- options: r,
940
- placeholder: s = "選択してください",
941
- emptyText: i = "該当なし",
942
- className: l = "",
943
- disabled: g = !1,
944
- allowCustom: c = !1
945
- }) {
946
- const [p, b] = O(!1), [x, v] = O(e || ""), I = r.some((y) => y.value === e), ge = () => {
947
- c && (p ? (b(!1), x && t && t(x)) : (b(!0), v(e || "")));
948
- }, pe = (y) => {
949
- y === "__custom__" ? (b(!0), v("")) : t?.(y === E ? "" : y);
950
- }, be = (y) => {
951
- const G = y.target.value;
952
- v(G), t?.(G);
953
- };
954
- return p || c && !I && e ? /* @__PURE__ */ d("div", { className: `flex gap-2 ${l}`, children: [
955
- /* @__PURE__ */ a(
956
- Q,
957
- {
958
- value: x,
959
- onChange: be,
960
- placeholder: s,
961
- disabled: g,
962
- className: "flex-1"
963
- }
964
- ),
965
- c && /* @__PURE__ */ a(
966
- "button",
967
- {
968
- type: "button",
969
- onClick: ge,
970
- className: "px-3 py-2 text-sm border border-gray-300 rounded hover:bg-gray-50",
971
- disabled: g,
972
- title: "プルダウンに戻る",
973
- children: "↓"
974
- }
975
- )
976
- ] }) : /* @__PURE__ */ a("div", { className: l, children: /* @__PURE__ */ d(Ge, { value: e === "" ? E : e, onValueChange: pe, disabled: g, children: [
977
- /* @__PURE__ */ a(Z, { className: "w-full", children: /* @__PURE__ */ a(We, { placeholder: s }) }),
978
- /* @__PURE__ */ a(ee, { children: r.length === 0 ? /* @__PURE__ */ a("div", { className: "px-2 py-1.5 text-sm text-gray-500", children: i }) : /* @__PURE__ */ d(W, { children: [
979
- r.map((y) => /* @__PURE__ */ a(
980
- F,
981
- {
982
- value: y.value === "" ? E : y.value,
983
- children: y.label
984
- },
985
- y.value
986
- )),
987
- c && /* @__PURE__ */ d(W, { children: [
988
- /* @__PURE__ */ a("div", { className: "border-t my-1" }),
989
- /* @__PURE__ */ a(F, { value: "__custom__", children: "✏️ 手動入力..." })
990
- ] })
991
- ] }) })
992
- ] }) });
704
+ //#endregion
705
+ //#region src/components/Alert.tsx
706
+ var ht = s("relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground", {
707
+ variants: { variant: {
708
+ default: "bg-background text-foreground",
709
+ destructive: "border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive",
710
+ info: "border-blue-500/50 text-blue-700 dark:border-blue-500 [&>svg]:text-blue-700 dark:text-blue-400 dark:[&>svg]:text-blue-400",
711
+ success: "border-green-500/50 text-green-700 dark:border-green-500 [&>svg]:text-green-700 dark:text-green-400 dark:[&>svg]:text-green-400",
712
+ warning: "border-yellow-500/50 text-yellow-700 dark:border-yellow-500 [&>svg]:text-yellow-700 dark:text-yellow-400 dark:[&>svg]:text-yellow-400"
713
+ } },
714
+ defaultVariants: { variant: "default" }
715
+ }), gt = t.forwardRef(({ className: e, variant: t, ...n }, r) => /* @__PURE__ */ d("div", {
716
+ ref: r,
717
+ role: "alert",
718
+ className: w(ht({ variant: t }), e),
719
+ ...n
720
+ }));
721
+ gt.displayName = "Alert";
722
+ var _t = t.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ d("h5", {
723
+ ref: n,
724
+ className: w("mb-1 font-medium leading-none tracking-tight", e),
725
+ ...t
726
+ }));
727
+ _t.displayName = "AlertTitle";
728
+ var vt = t.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ d("div", {
729
+ ref: n,
730
+ className: w("text-sm [&_p]:leading-relaxed", e),
731
+ ...t
732
+ }));
733
+ vt.displayName = "AlertDescription";
734
+ //#endregion
735
+ //#region src/components/Tabs.tsx
736
+ var yt = _.Root, bt = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ d(_.List, {
737
+ ref: n,
738
+ className: w("inline-flex h-10 items-center justify-center rounded-md bg-surface-raised p-1 text-muted-foreground border border-outline/20", e),
739
+ ...t
740
+ }));
741
+ bt.displayName = _.List.displayName;
742
+ var xt = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ d(_.Trigger, {
743
+ ref: n,
744
+ className: w("inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50", "state-active:bg-background state-active:text-foreground state-active:font-semibold state-active:shadow-sm", e),
745
+ ...t
746
+ }));
747
+ xt.displayName = _.Trigger.displayName;
748
+ var St = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ d(_.Content, {
749
+ ref: n,
750
+ className: w("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2", e),
751
+ ...t
752
+ }));
753
+ St.displayName = _.Content.displayName;
754
+ //#endregion
755
+ //#region src/components/Accordion.tsx
756
+ var Ct = () => /* @__PURE__ */ d("svg", {
757
+ xmlns: "http://www.w3.org/2000/svg",
758
+ width: "16",
759
+ height: "16",
760
+ viewBox: "0 0 24 24",
761
+ fill: "none",
762
+ stroke: "currentColor",
763
+ strokeWidth: "2",
764
+ strokeLinecap: "round",
765
+ strokeLinejoin: "round",
766
+ className: "h-4 w-4 shrink-0 transition-transform duration-200",
767
+ children: /* @__PURE__ */ d("polyline", { points: "6 9 12 15 18 9" })
768
+ }), wt = v.Root, Tt = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ d(v.Item, {
769
+ ref: n,
770
+ className: w("border-b", e),
771
+ ...t
772
+ }));
773
+ Tt.displayName = "AccordionItem";
774
+ var Et = e.forwardRef(({ className: e, children: t, ...n }, r) => /* @__PURE__ */ d(v.Header, {
775
+ className: "flex",
776
+ children: /* @__PURE__ */ f(v.Trigger, {
777
+ ref: r,
778
+ className: w("flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180", e),
779
+ ...n,
780
+ children: [t, /* @__PURE__ */ d(Ct, {})]
781
+ })
782
+ }));
783
+ Et.displayName = v.Trigger.displayName;
784
+ var Dt = e.forwardRef(({ className: e, children: t, ...n }, r) => /* @__PURE__ */ d(v.Content, {
785
+ ref: r,
786
+ className: "overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",
787
+ ...n,
788
+ children: /* @__PURE__ */ d("div", {
789
+ className: w("pb-4 pt-0", e),
790
+ children: t
791
+ })
792
+ }));
793
+ Dt.displayName = v.Content.displayName;
794
+ //#endregion
795
+ //#region src/components/combobox.tsx
796
+ var G = "__EMPTY__";
797
+ function Ot({ value: e = "", onValueChange: t, options: n, placeholder: r = "選択してください", emptyText: i = "該当なし", className: o = "", disabled: s = !1, allowCustom: c = !1 }) {
798
+ let [l, p] = a(!1), [m, h] = a(e || ""), ee = n.some((t) => t.value === e);
799
+ return l || c && !ee && e ? /* @__PURE__ */ f("div", {
800
+ className: `flex gap-2 ${o}`,
801
+ children: [/* @__PURE__ */ d(E, {
802
+ value: m,
803
+ onChange: (e) => {
804
+ let n = e.target.value;
805
+ h(n), t?.(n);
806
+ },
807
+ placeholder: r,
808
+ disabled: s,
809
+ className: "flex-1"
810
+ }), c && /* @__PURE__ */ d("button", {
811
+ type: "button",
812
+ onClick: () => {
813
+ c && (l ? (p(!1), m && t && t(m)) : (p(!0), h(e || "")));
814
+ },
815
+ className: "px-3 py-2 text-sm border border-gray-300 rounded hover:bg-gray-50",
816
+ disabled: s,
817
+ title: "プルダウンに戻る",
818
+ children: "↓"
819
+ })]
820
+ }) : /* @__PURE__ */ d("div", {
821
+ className: o,
822
+ children: /* @__PURE__ */ f(we, {
823
+ value: e === "" ? G : e,
824
+ onValueChange: (e) => {
825
+ e === "__custom__" ? (p(!0), h("")) : e === G ? t?.("") : t?.(e);
826
+ },
827
+ disabled: s,
828
+ children: [/* @__PURE__ */ d(k, {
829
+ className: "w-full",
830
+ children: /* @__PURE__ */ d(Ee, { placeholder: r })
831
+ }), /* @__PURE__ */ d(M, { children: n.length === 0 ? /* @__PURE__ */ d("div", {
832
+ className: "px-2 py-1.5 text-sm text-gray-500",
833
+ children: i
834
+ }) : /* @__PURE__ */ f(u, { children: [n.map((e) => /* @__PURE__ */ d(N, {
835
+ value: e.value === "" ? G : e.value,
836
+ children: e.label
837
+ }, e.value)), c && /* @__PURE__ */ f(u, { children: [/* @__PURE__ */ d("div", { className: "border-t my-1" }), /* @__PURE__ */ d(N, {
838
+ value: "__custom__",
839
+ children: "✏️ 手動入力..."
840
+ })] })] }) })]
841
+ })
842
+ });
993
843
  }
994
- const Mt = {
995
- sm: "h-8 w-8 text-xs",
996
- md: "h-10 w-10 text-sm",
997
- lg: "h-12 w-12 text-base",
998
- xl: "h-16 w-16 text-lg"
999
- }, zt = n.forwardRef(
1000
- ({ src: e, alt: t, size: r = "md", fallback: s, className: i, ...l }, g) => {
1001
- const [c, p] = n.useState(!1), [b, x] = n.useState(!1);
1002
- n.useEffect(() => {
1003
- p(!1), x(!1);
1004
- }, [e]);
1005
- const v = e && !c, I = !e || c || !b;
1006
- return /* @__PURE__ */ d(
1007
- "div",
1008
- {
1009
- ref: g,
1010
- className: o(
1011
- "relative inline-flex items-center justify-center overflow-hidden rounded-full bg-muted",
1012
- Mt[r],
1013
- i
1014
- ),
1015
- ...l,
1016
- children: [
1017
- v && /* @__PURE__ */ a(
1018
- "img",
1019
- {
1020
- src: e,
1021
- alt: t || "Avatar",
1022
- className: o(
1023
- "h-full w-full object-cover",
1024
- b ? "opacity-100" : "opacity-0"
1025
- ),
1026
- onLoad: () => x(!0),
1027
- onError: () => p(!0),
1028
- loading: l.loading
1029
- }
1030
- ),
1031
- I && s && /* @__PURE__ */ a("span", { className: "font-medium text-muted-foreground uppercase", children: s }),
1032
- I && !s && /* @__PURE__ */ a(
1033
- "svg",
1034
- {
1035
- className: "h-full w-full text-muted-foreground",
1036
- fill: "currentColor",
1037
- viewBox: "0 0 24 24",
1038
- children: /* @__PURE__ */ a("path", { d: "M24 20.993V24H0v-2.996A14.977 14.977 0 0112.004 15c4.904 0 9.26 2.354 11.996 5.993zM16.002 8.999a4 4 0 11-8 0 4 4 0 018 0z" })
1039
- }
1040
- )
1041
- ]
1042
- }
1043
- );
1044
- }
1045
- );
1046
- zt.displayName = "Avatar";
1047
- const Sr = D.Root, Cr = D.Trigger, jt = n.forwardRef(({ className: e, align: t = "center", sideOffset: r = 4, ...s }, i) => /* @__PURE__ */ a(D.Portal, { children: /* @__PURE__ */ a(
1048
- D.Content,
1049
- {
1050
- ref: i,
1051
- align: t,
1052
- sideOffset: r,
1053
- className: o(
1054
- "z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none 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",
1055
- e
1056
- ),
1057
- ...s
1058
- }
1059
- ) }));
1060
- jt.displayName = D.Content.displayName;
1061
- const Et = R(
1062
- "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
1063
- ), Ot = n.forwardRef(({ className: e, ...t }, r) => /* @__PURE__ */ a(
1064
- X.Root,
1065
- {
1066
- ref: r,
1067
- className: o(Et(), e),
1068
- ...t
1069
- }
1070
- ));
1071
- Ot.displayName = X.Root.displayName;
1072
- const Vt = n.forwardRef(
1073
- ({ className: e, ...t }, r) => /* @__PURE__ */ a(
1074
- "textarea",
1075
- {
1076
- className: o(
1077
- "flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
1078
- e
1079
- ),
1080
- ref: r,
1081
- ...t
1082
- }
1083
- )
1084
- );
1085
- Vt.displayName = "Textarea";
1086
- const Bt = n.forwardRef(({ className: e, ...t }, r) => /* @__PURE__ */ a(
1087
- V.Root,
1088
- {
1089
- className: o(
1090
- "peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-950 focus-visible:ring-offset-2 focus-visible:ring-offset-white disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-gray-900 data-[state=unchecked]:bg-gray-200 dark:focus-visible:ring-gray-300 dark:focus-visible:ring-offset-gray-950 dark:data-[state=checked]:bg-gray-50 dark:data-[state=unchecked]:bg-gray-600",
1091
- e
1092
- ),
1093
- ...t,
1094
- ref: r,
1095
- children: /* @__PURE__ */ a(
1096
- V.Thumb,
1097
- {
1098
- className: o(
1099
- "pointer-events-none block h-5 w-5 rounded-full bg-white shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0"
1100
- )
1101
- }
1102
- )
1103
- }
1104
- ));
1105
- Bt.displayName = V.Root.displayName;
1106
- const Dr = T.Provider, Ir = T.Root, Pr = T.Trigger, Ft = n.forwardRef(({ className: e, sideOffset: t = 4, ...r }, s) => /* @__PURE__ */ a(T.Portal, { children: /* @__PURE__ */ a(
1107
- T.Content,
1108
- {
1109
- ref: s,
1110
- sideOffset: t,
1111
- className: o(
1112
- "z-50 overflow-hidden rounded-md bg-gray-900 px-3 py-1.5 text-xs text-gray-50 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 dark:bg-gray-50 dark:text-gray-900",
1113
- e
1114
- ),
1115
- ...r
1116
- }
1117
- ) }));
1118
- Ft.displayName = T.Content.displayName;
1119
- const Ht = n.forwardRef(({ className: e, children: t, ...r }, s) => /* @__PURE__ */ d(
1120
- w.Root,
1121
- {
1122
- ref: s,
1123
- className: o("relative overflow-hidden", e),
1124
- ...r,
1125
- children: [
1126
- /* @__PURE__ */ a(w.Viewport, { className: "h-full w-full rounded-[inherit]", children: t }),
1127
- /* @__PURE__ */ a(ie, {}),
1128
- /* @__PURE__ */ a(w.Corner, {})
1129
- ]
1130
- }
1131
- ));
1132
- Ht.displayName = w.Root.displayName;
1133
- const ie = n.forwardRef(({ className: e, orientation: t = "vertical", ...r }, s) => /* @__PURE__ */ a(
1134
- w.ScrollAreaScrollbar,
1135
- {
1136
- ref: s,
1137
- orientation: t,
1138
- className: o(
1139
- "flex touch-none select-none transition-colors",
1140
- t === "vertical" && "h-full w-2.5 border-l border-l-transparent p-[1px]",
1141
- t === "horizontal" && "h-2.5 flex-col border-t border-t-transparent p-[1px]",
1142
- e
1143
- ),
1144
- ...r,
1145
- children: /* @__PURE__ */ a(w.ScrollAreaThumb, { className: "relative flex-1 rounded-full bg-border" })
1146
- }
1147
- ));
1148
- ie.displayName = w.ScrollAreaScrollbar.displayName;
1149
- const Ut = {
1150
- sm: "h-4 w-4 border-2",
1151
- md: "h-6 w-6 border-2",
1152
- lg: "h-8 w-8 border-3",
1153
- xl: "h-12 w-12 border-4"
1154
- }, Gt = n.forwardRef(
1155
- ({ size: e = "md", className: t, ...r }, s) => /* @__PURE__ */ a(
1156
- "div",
1157
- {
1158
- ref: s,
1159
- className: o(
1160
- "inline-block animate-spin rounded-full border-solid border-current border-r-transparent align-[-0.125em] motion-reduce:animate-[spin_1.5s_linear_infinite]",
1161
- Ut[e],
1162
- t
1163
- ),
1164
- role: "status",
1165
- ...r,
1166
- children: /* @__PURE__ */ a("span", { className: "sr-only", children: "Loading..." })
1167
- }
1168
- )
1169
- );
1170
- Gt.displayName = "Spinner";
1171
- const Wt = n.forwardRef(
1172
- ({ className: e, orientation: t = "horizontal", decorative: r = !0, ...s }, i) => /* @__PURE__ */ a(
1173
- $.Root,
1174
- {
1175
- ref: i,
1176
- decorative: r,
1177
- orientation: t,
1178
- className: o(
1179
- "shrink-0 bg-border",
1180
- t === "horizontal" ? "h-[1px] w-full" : "h-full w-[1px]",
1181
- e
1182
- ),
1183
- ...s
1184
- }
1185
- )
1186
- );
1187
- Wt.displayName = $.Root.displayName;
1188
- const qt = n.forwardRef(({ className: e, ...t }, r) => /* @__PURE__ */ d(
1189
- S.Root,
1190
- {
1191
- ref: r,
1192
- className: o(
1193
- "relative flex w-full touch-none select-none items-center",
1194
- e
1195
- ),
1196
- ...t,
1197
- children: [
1198
- /* @__PURE__ */ a(S.Track, { className: "relative h-2 w-full grow overflow-hidden rounded-full bg-gray-200 dark:bg-gray-800", children: /* @__PURE__ */ a(S.Range, { className: "absolute h-full bg-gray-900 dark:bg-gray-50" }) }),
1199
- /* @__PURE__ */ a(S.Thumb, { className: "block h-5 w-5 rounded-full border-2 border-gray-900 bg-white ring-offset-white transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-950 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 dark:border-gray-50 dark:bg-gray-950 dark:ring-offset-gray-950 dark:focus-visible:ring-gray-300" })
1200
- ]
1201
- }
1202
- ));
1203
- qt.displayName = S.Root.displayName;
1204
- const de = n.forwardRef(({ className: e, ...t }, r) => /* @__PURE__ */ a("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ a(
1205
- "table",
1206
- {
1207
- ref: r,
1208
- className: o("w-full caption-bottom text-sm", e),
1209
- ...t
1210
- }
1211
- ) }));
1212
- de.displayName = "Table";
1213
- const le = n.forwardRef(({ className: e, ...t }, r) => /* @__PURE__ */ a("thead", { ref: r, className: o("[&_tr]:border-b", e), ...t }));
1214
- le.displayName = "TableHeader";
1215
- const ce = n.forwardRef(({ className: e, ...t }, r) => /* @__PURE__ */ a(
1216
- "tbody",
1217
- {
1218
- ref: r,
1219
- className: o("[&_tr:last-child]:border-0", e),
1220
- ...t
1221
- }
1222
- ));
1223
- ce.displayName = "TableBody";
1224
- const Yt = n.forwardRef(({ className: e, ...t }, r) => /* @__PURE__ */ a(
1225
- "tfoot",
1226
- {
1227
- ref: r,
1228
- className: o(
1229
- "border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",
1230
- e
1231
- ),
1232
- ...t
1233
- }
1234
- ));
1235
- Yt.displayName = "TableFooter";
1236
- const A = n.forwardRef(({ className: e, ...t }, r) => /* @__PURE__ */ a(
1237
- "tr",
1238
- {
1239
- ref: r,
1240
- className: o(
1241
- "border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",
1242
- e
1243
- ),
1244
- ...t
1245
- }
1246
- ));
1247
- A.displayName = "TableRow";
1248
- const me = n.forwardRef(({ className: e, ...t }, r) => /* @__PURE__ */ a(
1249
- "th",
1250
- {
1251
- ref: r,
1252
- className: o(
1253
- "h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0",
1254
- e
1255
- ),
1256
- ...t
1257
- }
1258
- ));
1259
- me.displayName = "TableHead";
1260
- const H = n.forwardRef(({ className: e, ...t }, r) => /* @__PURE__ */ a(
1261
- "td",
1262
- {
1263
- ref: r,
1264
- className: o("p-4 align-middle [&:has([role=checkbox])]:pr-0", e),
1265
- ...t
1266
- }
1267
- ));
1268
- H.displayName = "TableCell";
1269
- const Xt = n.forwardRef(({ className: e, ...t }, r) => /* @__PURE__ */ a(
1270
- "caption",
1271
- {
1272
- ref: r,
1273
- className: o("mt-4 text-sm text-muted-foreground", e),
1274
- ...t
1275
- }
1276
- ));
1277
- Xt.displayName = "TableCaption";
1278
- function Lr({
1279
- columns: e,
1280
- data: t,
1281
- onRowClick: r
1282
- }) {
1283
- const [s, i] = n.useState([]), l = Ce({
1284
- data: t,
1285
- columns: e,
1286
- getCoreRowModel: Pe(),
1287
- getPaginationRowModel: Ie(),
1288
- onSortingChange: i,
1289
- getSortedRowModel: De(),
1290
- state: {
1291
- sorting: s
1292
- }
1293
- });
1294
- return /* @__PURE__ */ d("div", { children: [
1295
- /* @__PURE__ */ a("div", { className: "rounded-md border", children: /* @__PURE__ */ d(de, { children: [
1296
- /* @__PURE__ */ a(le, { children: l.getHeaderGroups().map((g) => /* @__PURE__ */ a(A, { children: g.headers.map((c) => /* @__PURE__ */ a(me, { children: c.isPlaceholder ? null : q(
1297
- c.column.columnDef.header,
1298
- c.getContext()
1299
- ) }, c.id)) }, g.id)) }),
1300
- /* @__PURE__ */ a(ce, { children: l.getRowModel().rows?.length ? l.getRowModel().rows.map((g) => /* @__PURE__ */ a(
1301
- A,
1302
- {
1303
- "data-state": g.getIsSelected() && "selected",
1304
- onClick: () => r && r(g.original),
1305
- className: r ? "cursor-pointer" : "",
1306
- children: g.getVisibleCells().map((c) => /* @__PURE__ */ a(H, { children: q(c.column.columnDef.cell, c.getContext()) }, c.id))
1307
- },
1308
- g.id
1309
- )) : /* @__PURE__ */ a(A, { children: /* @__PURE__ */ a(H, { colSpan: e.length, className: "h-24 text-center", children: "No results." }) }) })
1310
- ] }) }),
1311
- /* @__PURE__ */ d("div", { className: "flex items-center justify-end space-x-2 py-4", children: [
1312
- /* @__PURE__ */ a(
1313
- B,
1314
- {
1315
- variant: "outline",
1316
- size: "sm",
1317
- onClick: () => l.previousPage(),
1318
- disabled: !l.getCanPreviousPage(),
1319
- children: "Previous"
1320
- }
1321
- ),
1322
- /* @__PURE__ */ a(
1323
- B,
1324
- {
1325
- variant: "outline",
1326
- size: "sm",
1327
- onClick: () => l.nextPage(),
1328
- disabled: !l.getCanNextPage(),
1329
- children: "Next"
1330
- }
1331
- )
1332
- ] })
1333
- ] });
844
+ //#endregion
845
+ //#region src/components/Avatar.tsx
846
+ var kt = {
847
+ sm: "h-8 w-8 text-xs",
848
+ md: "h-10 w-10 text-sm",
849
+ lg: "h-12 w-12 text-base",
850
+ xl: "h-16 w-16 text-lg"
851
+ }, At = e.forwardRef(({ src: t, alt: n, size: r = "md", fallback: i, className: a, ...o }, s) => {
852
+ let [c, l] = e.useState(!1), [u, p] = e.useState(!1);
853
+ e.useEffect(() => {
854
+ l(!1), p(!1);
855
+ }, [t]);
856
+ let m = t && !c, h = !t || c || !u;
857
+ return /* @__PURE__ */ f("div", {
858
+ ref: s,
859
+ className: w("relative inline-flex items-center justify-center overflow-hidden rounded-full bg-muted", kt[r], a),
860
+ ...o,
861
+ children: [
862
+ m && /* @__PURE__ */ d("img", {
863
+ src: t,
864
+ alt: n || "Avatar",
865
+ className: w("h-full w-full object-cover", u ? "opacity-100" : "opacity-0"),
866
+ onLoad: () => p(!0),
867
+ onError: () => l(!0),
868
+ loading: o.loading
869
+ }),
870
+ h && i && /* @__PURE__ */ d("span", {
871
+ className: "font-medium text-muted-foreground uppercase",
872
+ children: i
873
+ }),
874
+ h && !i && /* @__PURE__ */ d("svg", {
875
+ className: "h-full w-full text-muted-foreground",
876
+ fill: "currentColor",
877
+ viewBox: "0 0 24 24",
878
+ children: /* @__PURE__ */ d("path", { d: "M24 20.993V24H0v-2.996A14.977 14.977 0 0112.004 15c4.904 0 9.26 2.354 11.996 5.993zM16.002 8.999a4 4 0 11-8 0 4 4 0 018 0z" })
879
+ })
880
+ ]
881
+ });
882
+ });
883
+ At.displayName = "Avatar";
884
+ //#endregion
885
+ //#region src/components/Popover.tsx
886
+ var jt = y.Root, Mt = y.Trigger, Nt = e.forwardRef(({ className: e, align: t = "center", sideOffset: n = 4, ...r }, i) => /* @__PURE__ */ d(y.Portal, { children: /* @__PURE__ */ d(y.Content, {
887
+ ref: i,
888
+ align: t,
889
+ sideOffset: n,
890
+ className: w("z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none 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", e),
891
+ ...r
892
+ }) }));
893
+ Nt.displayName = y.Content.displayName;
894
+ //#endregion
895
+ //#region src/components/Label.tsx
896
+ var Pt = s("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"), Ft = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ d(ie.Root, {
897
+ ref: n,
898
+ className: w(Pt(), e),
899
+ ...t
900
+ }));
901
+ Ft.displayName = ie.Root.displayName;
902
+ //#endregion
903
+ //#region src/components/Textarea.tsx
904
+ var It = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ d("textarea", {
905
+ className: w("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50", e),
906
+ ref: n,
907
+ ...t
908
+ }));
909
+ It.displayName = "Textarea";
910
+ //#endregion
911
+ //#region src/components/Switch.tsx
912
+ var Lt = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ d(b.Root, {
913
+ className: w("peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-950 focus-visible:ring-offset-2 focus-visible:ring-offset-white disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-gray-900 data-[state=unchecked]:bg-gray-200 dark:focus-visible:ring-gray-300 dark:focus-visible:ring-offset-gray-950 dark:data-[state=checked]:bg-gray-50 dark:data-[state=unchecked]:bg-gray-600", e),
914
+ ...t,
915
+ ref: n,
916
+ children: /* @__PURE__ */ d(b.Thumb, { className: w("pointer-events-none block h-5 w-5 rounded-full bg-white shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0") })
917
+ }));
918
+ Lt.displayName = b.Root.displayName;
919
+ //#endregion
920
+ //#region src/components/Tooltip.tsx
921
+ var Rt = x.Provider, zt = x.Root, Bt = x.Trigger, Vt = e.forwardRef(({ className: e, sideOffset: t = 4, ...n }, r) => /* @__PURE__ */ d(x.Portal, { children: /* @__PURE__ */ d(x.Content, {
922
+ ref: r,
923
+ sideOffset: t,
924
+ className: w("z-50 overflow-hidden rounded-md bg-gray-900 px-3 py-1.5 text-xs text-gray-50 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 dark:bg-gray-50 dark:text-gray-900", e),
925
+ ...n
926
+ }) }));
927
+ Vt.displayName = x.Content.displayName;
928
+ //#endregion
929
+ //#region src/components/ScrollArea.tsx
930
+ var Ht = e.forwardRef(({ className: e, children: t, ...n }, r) => /* @__PURE__ */ f(S.Root, {
931
+ ref: r,
932
+ className: w("relative overflow-hidden", e),
933
+ ...n,
934
+ children: [
935
+ /* @__PURE__ */ d(S.Viewport, {
936
+ className: "h-full w-full rounded-[inherit]",
937
+ children: t
938
+ }),
939
+ /* @__PURE__ */ d(K, {}),
940
+ /* @__PURE__ */ d(S.Corner, {})
941
+ ]
942
+ }));
943
+ Ht.displayName = S.Root.displayName;
944
+ var K = e.forwardRef(({ className: e, orientation: t = "vertical", ...n }, r) => /* @__PURE__ */ d(S.ScrollAreaScrollbar, {
945
+ ref: r,
946
+ orientation: t,
947
+ className: w("flex touch-none select-none transition-colors", t === "vertical" && "h-full w-2.5 border-l border-l-transparent p-[1px]", t === "horizontal" && "h-2.5 flex-col border-t border-t-transparent p-[1px]", e),
948
+ ...n,
949
+ children: /* @__PURE__ */ d(S.ScrollAreaThumb, { className: "relative flex-1 rounded-full bg-border" })
950
+ }));
951
+ K.displayName = S.ScrollAreaScrollbar.displayName;
952
+ //#endregion
953
+ //#region src/components/Spinner.tsx
954
+ var Ut = {
955
+ sm: "h-4 w-4 border-2",
956
+ md: "h-6 w-6 border-2",
957
+ lg: "h-8 w-8 border-3",
958
+ xl: "h-12 w-12 border-4"
959
+ }, Wt = e.forwardRef(({ size: e = "md", className: t, ...n }, r) => /* @__PURE__ */ d("div", {
960
+ ref: r,
961
+ className: w("inline-block animate-spin rounded-full border-solid border-current border-r-transparent align-[-0.125em] motion-reduce:animate-[spin_1.5s_linear_infinite]", Ut[e], t),
962
+ role: "status",
963
+ ...n,
964
+ children: /* @__PURE__ */ d("span", {
965
+ className: "sr-only",
966
+ children: "Loading..."
967
+ })
968
+ }));
969
+ Wt.displayName = "Spinner";
970
+ //#endregion
971
+ //#region src/components/Separator.tsx
972
+ var Gt = e.forwardRef(({ className: e, orientation: t = "horizontal", decorative: n = !0, ...r }, i) => /* @__PURE__ */ d(ae.Root, {
973
+ ref: i,
974
+ decorative: n,
975
+ orientation: t,
976
+ className: w("shrink-0 bg-border", t === "horizontal" ? "h-[1px] w-full" : "h-full w-[1px]", e),
977
+ ...r
978
+ }));
979
+ Gt.displayName = ae.Root.displayName;
980
+ //#endregion
981
+ //#region src/components/Slider.tsx
982
+ var Kt = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ f(C.Root, {
983
+ ref: n,
984
+ className: w("relative flex w-full touch-none select-none items-center", e),
985
+ ...t,
986
+ children: [/* @__PURE__ */ d(C.Track, {
987
+ className: "relative h-2 w-full grow overflow-hidden rounded-full bg-gray-200 dark:bg-gray-800",
988
+ children: /* @__PURE__ */ d(C.Range, { className: "absolute h-full bg-gray-900 dark:bg-gray-50" })
989
+ }), /* @__PURE__ */ d(C.Thumb, { className: "block h-5 w-5 rounded-full border-2 border-gray-900 bg-white ring-offset-white transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-950 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 dark:border-gray-50 dark:bg-gray-950 dark:ring-offset-gray-950 dark:focus-visible:ring-gray-300" })]
990
+ }));
991
+ Kt.displayName = C.Root.displayName;
992
+ //#endregion
993
+ //#region src/components/Table.tsx
994
+ var q = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ d("div", {
995
+ className: "relative w-full overflow-auto",
996
+ children: /* @__PURE__ */ d("table", {
997
+ ref: n,
998
+ className: w("w-full caption-bottom text-sm", e),
999
+ ...t
1000
+ })
1001
+ }));
1002
+ q.displayName = "Table";
1003
+ var J = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ d("thead", {
1004
+ ref: n,
1005
+ className: w("[&_tr]:border-b", e),
1006
+ ...t
1007
+ }));
1008
+ J.displayName = "TableHeader";
1009
+ var Y = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ d("tbody", {
1010
+ ref: n,
1011
+ className: w("[&_tr:last-child]:border-0", e),
1012
+ ...t
1013
+ }));
1014
+ Y.displayName = "TableBody";
1015
+ var qt = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ d("tfoot", {
1016
+ ref: n,
1017
+ className: w("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0", e),
1018
+ ...t
1019
+ }));
1020
+ qt.displayName = "TableFooter";
1021
+ var X = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ d("tr", {
1022
+ ref: n,
1023
+ className: w("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted", e),
1024
+ ...t
1025
+ }));
1026
+ X.displayName = "TableRow";
1027
+ var Z = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ d("th", {
1028
+ ref: n,
1029
+ className: w("h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0", e),
1030
+ ...t
1031
+ }));
1032
+ Z.displayName = "TableHead";
1033
+ var Q = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ d("td", {
1034
+ ref: n,
1035
+ className: w("p-4 align-middle [&:has([role=checkbox])]:pr-0", e),
1036
+ ...t
1037
+ }));
1038
+ Q.displayName = "TableCell";
1039
+ var Jt = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ d("caption", {
1040
+ ref: n,
1041
+ className: w("mt-4 text-sm text-muted-foreground", e),
1042
+ ...t
1043
+ }));
1044
+ Jt.displayName = "TableCaption";
1045
+ //#endregion
1046
+ //#region src/components/DataTable.tsx
1047
+ function Yt({ columns: t, data: n, onRowClick: r }) {
1048
+ let [i, a] = e.useState([]), o = ue({
1049
+ data: n,
1050
+ columns: t,
1051
+ getCoreRowModel: se(),
1052
+ getPaginationRowModel: ce(),
1053
+ onSortingChange: a,
1054
+ getSortedRowModel: le(),
1055
+ state: { sorting: i }
1056
+ });
1057
+ return /* @__PURE__ */ f("div", { children: [/* @__PURE__ */ d("div", {
1058
+ className: "rounded-md border",
1059
+ children: /* @__PURE__ */ f(q, { children: [/* @__PURE__ */ d(J, { children: o.getHeaderGroups().map((e) => /* @__PURE__ */ d(X, { children: e.headers.map((e) => /* @__PURE__ */ d(Z, { children: e.isPlaceholder ? null : oe(e.column.columnDef.header, e.getContext()) }, e.id)) }, e.id)) }), /* @__PURE__ */ d(Y, { children: o.getRowModel().rows?.length ? o.getRowModel().rows.map((e) => /* @__PURE__ */ d(X, {
1060
+ "data-state": e.getIsSelected() && "selected",
1061
+ onClick: () => r && r(e.original),
1062
+ className: r ? "cursor-pointer" : "",
1063
+ children: e.getVisibleCells().map((e) => /* @__PURE__ */ d(Q, { children: oe(e.column.columnDef.cell, e.getContext()) }, e.id))
1064
+ }, e.id)) : /* @__PURE__ */ d(X, { children: /* @__PURE__ */ d(Q, {
1065
+ colSpan: t.length,
1066
+ className: "h-24 text-center",
1067
+ children: "No results."
1068
+ }) }) })] })
1069
+ }), /* @__PURE__ */ f("div", {
1070
+ className: "flex items-center justify-end space-x-2 py-4",
1071
+ children: [/* @__PURE__ */ d(T, {
1072
+ variant: "outline",
1073
+ size: "sm",
1074
+ onClick: () => o.previousPage(),
1075
+ disabled: !o.getCanPreviousPage(),
1076
+ children: "Previous"
1077
+ }), /* @__PURE__ */ d(T, {
1078
+ variant: "outline",
1079
+ size: "sm",
1080
+ onClick: () => o.nextPage(),
1081
+ disabled: !o.getCanNextPage(),
1082
+ children: "Next"
1083
+ })]
1084
+ })] });
1334
1085
  }
1335
- const _r = m.Root, Ar = m.Trigger, Mr = m.Close, $t = m.Portal, ue = n.forwardRef(({ className: e, ...t }, r) => /* @__PURE__ */ a(
1336
- m.Overlay,
1337
- {
1338
- className: o(
1339
- "fixed top-0 right-0 bottom-0 left-0 z-50 bg-black/80 state-open:animate-fade-in state-closed:animate-fade-out",
1340
- e
1341
- ),
1342
- ...t,
1343
- ref: r
1344
- }
1345
- ));
1346
- ue.displayName = m.Overlay.displayName;
1347
- const Qt = R(
1348
- "fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out state-closed:duration-300 state-open:duration-500",
1349
- {
1350
- variants: {
1351
- side: {
1352
- top: "left-0 right-0 top-0 border-b state-closed:animate-slide-out-left state-open:animate-slide-in-left",
1353
- bottom: "left-0 right-0 bottom-0 border-t state-closed:animate-slide-out-left state-open:animate-slide-in-left",
1354
- left: "top-0 bottom-0 left-0 h-full w-3/4 border-r state-closed:animate-slide-out-left state-open:animate-slide-in-left sm:max-w-sm",
1355
- right: "top-0 bottom-0 right-0 h-full w-3/4 border-l state-closed:animate-slide-out-right state-open:animate-slide-in-right sm:max-w-sm"
1356
- }
1357
- },
1358
- defaultVariants: {
1359
- side: "right"
1360
- }
1361
- }
1362
- ), Zt = n.forwardRef(({ side: e = "right", className: t, children: r, ...s }, i) => /* @__PURE__ */ d($t, { children: [
1363
- /* @__PURE__ */ a(ue, {}),
1364
- /* @__PURE__ */ d(
1365
- m.Content,
1366
- {
1367
- ref: i,
1368
- className: o(Qt({ side: e }), t),
1369
- ...s,
1370
- children: [
1371
- /* @__PURE__ */ d(m.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary", children: [
1372
- /* @__PURE__ */ a(Se, { className: "h-4 w-4" }),
1373
- /* @__PURE__ */ a("span", { className: "sr-only", children: "Close" })
1374
- ] }),
1375
- r
1376
- ]
1377
- }
1378
- )
1379
- ] }));
1380
- Zt.displayName = m.Content.displayName;
1381
- const Jt = ({
1382
- className: e,
1383
- ...t
1384
- }) => /* @__PURE__ */ a(
1385
- "div",
1386
- {
1387
- className: o(
1388
- "flex flex-col space-y-2 text-center sm:text-left",
1389
- e
1390
- ),
1391
- ...t
1392
- }
1393
- );
1394
- Jt.displayName = "SheetHeader";
1395
- const Kt = ({
1396
- className: e,
1397
- ...t
1398
- }) => /* @__PURE__ */ a(
1399
- "div",
1400
- {
1401
- className: o(
1402
- "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
1403
- e
1404
- ),
1405
- ...t
1406
- }
1407
- );
1408
- Kt.displayName = "SheetFooter";
1409
- const er = n.forwardRef(({ className: e, ...t }, r) => /* @__PURE__ */ a(
1410
- m.Title,
1411
- {
1412
- ref: r,
1413
- className: o("text-lg font-semibold text-foreground", e),
1414
- ...t
1415
- }
1416
- ));
1417
- er.displayName = m.Title.displayName;
1418
- const tr = n.forwardRef(({ className: e, ...t }, r) => /* @__PURE__ */ a(
1419
- m.Description,
1420
- {
1421
- ref: r,
1422
- className: o("text-sm text-muted-foreground", e),
1423
- ...t
1424
- }
1425
- ));
1426
- tr.displayName = m.Description.displayName;
1427
- const rr = {
1428
- theme: "system",
1429
- setTheme: () => null
1430
- }, fe = he(rr);
1431
- function zr({
1432
- children: e,
1433
- defaultTheme: t = "system",
1434
- storageKey: r = "mirel-ui-theme",
1435
- ...s
1436
- }) {
1437
- const [i, l] = O(
1438
- () => localStorage.getItem(r) || t
1439
- );
1440
- ye(() => {
1441
- const c = window.document.documentElement;
1442
- if (c.classList.remove("light", "dark"), i === "system") {
1443
- const p = window.matchMedia("(prefers-color-scheme: dark)"), b = p.matches ? "dark" : "light";
1444
- c.classList.add(b);
1445
- const x = () => {
1446
- c.classList.remove("light", "dark");
1447
- const v = p.matches ? "dark" : "light";
1448
- c.classList.add(v);
1449
- };
1450
- return p.addEventListener("change", x), () => p.removeEventListener("change", x);
1451
- }
1452
- c.classList.add(i);
1453
- }, [i]);
1454
- const g = {
1455
- theme: i,
1456
- setTheme: (c) => {
1457
- localStorage.setItem(r, c), l(c);
1458
- }
1459
- };
1460
- return /* @__PURE__ */ a(fe.Provider, { ...s, value: g, children: e });
1086
+ //#endregion
1087
+ //#region src/components/Sheet.tsx
1088
+ var Xt = m.Root, Zt = m.Trigger, Qt = m.Close, $t = m.Portal, $ = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ d(m.Overlay, {
1089
+ className: w("fixed top-0 right-0 bottom-0 left-0 z-50 bg-black/80 state-open:animate-fade-in state-closed:animate-fade-out", e),
1090
+ ...t,
1091
+ ref: n
1092
+ }));
1093
+ $.displayName = m.Overlay.displayName;
1094
+ var en = s("fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out state-closed:duration-300 state-open:duration-500", {
1095
+ variants: { side: {
1096
+ top: "left-0 right-0 top-0 border-b state-closed:animate-slide-out-left state-open:animate-slide-in-left",
1097
+ bottom: "left-0 right-0 bottom-0 border-t state-closed:animate-slide-out-left state-open:animate-slide-in-left",
1098
+ left: "top-0 bottom-0 left-0 h-full w-3/4 border-r state-closed:animate-slide-out-left state-open:animate-slide-in-left sm:max-w-sm",
1099
+ right: "top-0 bottom-0 right-0 h-full w-3/4 border-l state-closed:animate-slide-out-right state-open:animate-slide-in-right sm:max-w-sm"
1100
+ } },
1101
+ defaultVariants: { side: "right" }
1102
+ }), tn = e.forwardRef(({ side: e = "right", className: t, children: n, ...r }, i) => /* @__PURE__ */ f($t, { children: [/* @__PURE__ */ d($, {}), /* @__PURE__ */ f(m.Content, {
1103
+ ref: i,
1104
+ className: w(en({ side: e }), t),
1105
+ ...r,
1106
+ children: [/* @__PURE__ */ f(m.Close, {
1107
+ className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary",
1108
+ children: [/* @__PURE__ */ d(re, { className: "h-4 w-4" }), /* @__PURE__ */ d("span", {
1109
+ className: "sr-only",
1110
+ children: "Close"
1111
+ })]
1112
+ }), n]
1113
+ })] }));
1114
+ tn.displayName = m.Content.displayName;
1115
+ var nn = ({ className: e, ...t }) => /* @__PURE__ */ d("div", {
1116
+ className: w("flex flex-col space-y-2 text-center sm:text-left", e),
1117
+ ...t
1118
+ });
1119
+ nn.displayName = "SheetHeader";
1120
+ var rn = ({ className: e, ...t }) => /* @__PURE__ */ d("div", {
1121
+ className: w("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", e),
1122
+ ...t
1123
+ });
1124
+ rn.displayName = "SheetFooter";
1125
+ var an = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ d(m.Title, {
1126
+ ref: n,
1127
+ className: w("text-lg font-semibold text-foreground", e),
1128
+ ...t
1129
+ }));
1130
+ an.displayName = m.Title.displayName;
1131
+ var on = e.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ d(m.Description, {
1132
+ ref: n,
1133
+ className: w("text-sm text-muted-foreground", e),
1134
+ ...t
1135
+ }));
1136
+ on.displayName = m.Description.displayName;
1137
+ //#endregion
1138
+ //#region src/components/ThemeProvider.tsx
1139
+ var sn = n({
1140
+ theme: "system",
1141
+ setTheme: () => null
1142
+ });
1143
+ function cn({ children: e, defaultTheme: t = "system", storageKey: n = "mirel-ui-theme", ...r }) {
1144
+ let [o, s] = a(() => localStorage.getItem(n) || t);
1145
+ i(() => {
1146
+ let e = window.document.documentElement;
1147
+ if (e.classList.remove("light", "dark"), o === "system") {
1148
+ let t = window.matchMedia("(prefers-color-scheme: dark)"), n = t.matches ? "dark" : "light";
1149
+ e.classList.add(n);
1150
+ let r = () => {
1151
+ e.classList.remove("light", "dark");
1152
+ let n = t.matches ? "dark" : "light";
1153
+ e.classList.add(n);
1154
+ };
1155
+ return t.addEventListener("change", r), () => t.removeEventListener("change", r);
1156
+ }
1157
+ e.classList.add(o);
1158
+ }, [o]);
1159
+ let c = {
1160
+ theme: o,
1161
+ setTheme: (e) => {
1162
+ localStorage.setItem(n, e), s(e);
1163
+ }
1164
+ };
1165
+ return /* @__PURE__ */ d(sn.Provider, {
1166
+ ...r,
1167
+ value: c,
1168
+ children: e
1169
+ });
1461
1170
  }
1462
- const jr = () => {
1463
- const e = xe(fe);
1464
- if (e === void 0)
1465
- throw new Error("useTheme must be used within a ThemeProvider");
1466
- return e;
1467
- };
1468
- export {
1469
- Tr as Accordion,
1470
- At as AccordionContent,
1471
- Lt as AccordionItem,
1472
- _t as AccordionTrigger,
1473
- Tt as Alert,
1474
- St as AlertDescription,
1475
- Rt as AlertTitle,
1476
- zt as Avatar,
1477
- P as Badge,
1478
- B as Button,
1479
- _e as Card,
1480
- je as CardContent,
1481
- ze as CardDescription,
1482
- Ee as CardFooter,
1483
- Ae as CardHeader,
1484
- Me as CardTitle,
1485
- Rr as Combobox,
1486
- Lr as DataTable,
1487
- fr as Dialog,
1488
- pr as DialogClose,
1489
- $e as DialogContent,
1490
- Ke as DialogDescription,
1491
- Ze as DialogFooter,
1492
- Qe as DialogHeader,
1493
- te as DialogOverlay,
1494
- Xe as DialogPortal,
1495
- Je as DialogTitle,
1496
- gr as DialogTrigger,
1497
- br as DropdownMenu,
1498
- ot as DropdownMenuCheckboxItem,
1499
- rt as DropdownMenuContent,
1500
- yr as DropdownMenuGroup,
1501
- at as DropdownMenuItem,
1502
- nt as DropdownMenuLabel,
1503
- xr as DropdownMenuPortal,
1504
- wr as DropdownMenuRadioGroup,
1505
- st as DropdownMenuRadioItem,
1506
- it as DropdownMenuSeparator,
1507
- dt as DropdownMenuShortcut,
1508
- vr as DropdownMenuSub,
1509
- tt as DropdownMenuSubContent,
1510
- et as DropdownMenuSubTrigger,
1511
- hr as DropdownMenuTrigger,
1512
- He as FormError,
1513
- Ve as FormField,
1514
- Fe as FormHelper,
1515
- Be as FormLabel,
1516
- Ue as FormRequiredMark,
1517
- Q as Input,
1518
- Ot as Label,
1519
- Sr as Popover,
1520
- jt as PopoverContent,
1521
- Cr as PopoverTrigger,
1522
- Ht as ScrollArea,
1523
- ie as ScrollBar,
1524
- lt as SectionHeading,
1525
- Ge as Select,
1526
- ee as SelectContent,
1527
- ur as SelectGroup,
1528
- F as SelectItem,
1529
- qe as SelectLabel,
1530
- K as SelectScrollDownButton,
1531
- J as SelectScrollUpButton,
1532
- Ye as SelectSeparator,
1533
- Z as SelectTrigger,
1534
- We as SelectValue,
1535
- Wt as Separator,
1536
- _r as Sheet,
1537
- Mr as SheetClose,
1538
- Zt as SheetContent,
1539
- tr as SheetDescription,
1540
- Kt as SheetFooter,
1541
- Jt as SheetHeader,
1542
- ue as SheetOverlay,
1543
- $t as SheetPortal,
1544
- er as SheetTitle,
1545
- Ar as SheetTrigger,
1546
- ft as Skeleton,
1547
- qt as Slider,
1548
- Gt as Spinner,
1549
- ut as StepIndicator,
1550
- Bt as Switch,
1551
- de as Table,
1552
- ce as TableBody,
1553
- Xt as TableCaption,
1554
- H as TableCell,
1555
- Yt as TableFooter,
1556
- me as TableHead,
1557
- le as TableHeader,
1558
- A as TableRow,
1559
- kr as Tabs,
1560
- It as TabsContent,
1561
- Ct as TabsList,
1562
- Dt as TabsTrigger,
1563
- Vt as Textarea,
1564
- zr as ThemeProvider,
1565
- ae as Toast,
1566
- bt as ToastAction,
1567
- oe as ToastClose,
1568
- ne as ToastDescription,
1569
- gt as ToastProvider,
1570
- se as ToastTitle,
1571
- re as ToastViewport,
1572
- Nr as Toaster,
1573
- Ir as Tooltip,
1574
- Ft as TooltipContent,
1575
- Dr as TooltipProvider,
1576
- Pr as TooltipTrigger,
1577
- Oe as badgeVariants,
1578
- Le as buttonVariants,
1579
- o as cn,
1580
- wt as toast,
1581
- jr as useTheme,
1582
- Nt as useToast
1171
+ var ln = () => {
1172
+ let e = r(sn);
1173
+ if (e === void 0) throw Error("useTheme must be used within a ThemeProvider");
1174
+ return e;
1583
1175
  };
1176
+ //#endregion
1177
+ export { wt as Accordion, Dt as AccordionContent, Tt as AccordionItem, Et as AccordionTrigger, gt as Alert, vt as AlertDescription, _t as AlertTitle, At as Avatar, D as Badge, T as Button, fe as Card, ge as CardContent, he as CardDescription, _e as CardFooter, pe as CardHeader, me as CardTitle, Ot as Combobox, Yt as DataTable, ke as Dialog, Me as DialogClose, Ne as DialogContent, Le as DialogDescription, Fe as DialogFooter, Pe as DialogHeader, P as DialogOverlay, je as DialogPortal, Ie as DialogTitle, Ae as DialogTrigger, Re as DropdownMenu, Je as DropdownMenuCheckboxItem, Ke as DropdownMenuContent, Be as DropdownMenuGroup, qe as DropdownMenuItem, Xe as DropdownMenuLabel, Ve as DropdownMenuPortal, Ue as DropdownMenuRadioGroup, Ye as DropdownMenuRadioItem, Ze as DropdownMenuSeparator, Qe as DropdownMenuShortcut, He as DropdownMenuSub, Ge as DropdownMenuSubContent, We as DropdownMenuSubTrigger, ze as DropdownMenuTrigger, Se as FormError, ye as FormField, xe as FormHelper, be as FormLabel, Ce as FormRequiredMark, E as Input, Ft as Label, jt as Popover, Nt as PopoverContent, Mt as PopoverTrigger, Ht as ScrollArea, K as ScrollBar, $e as SectionHeading, we as Select, M as SelectContent, Te as SelectGroup, N as SelectItem, De as SelectLabel, j as SelectScrollDownButton, A as SelectScrollUpButton, Oe as SelectSeparator, k as SelectTrigger, Ee as SelectValue, Gt as Separator, Xt as Sheet, Qt as SheetClose, tn as SheetContent, on as SheetDescription, rn as SheetFooter, nn as SheetHeader, $ as SheetOverlay, $t as SheetPortal, an as SheetTitle, Zt as SheetTrigger, rt as Skeleton, Kt as Slider, Wt as Spinner, nt as StepIndicator, Lt as Switch, q as Table, Y as TableBody, Jt as TableCaption, Q as TableCell, qt as TableFooter, Z as TableHead, J as TableHeader, X as TableRow, yt as Tabs, St as TabsContent, bt as TabsList, xt as TabsTrigger, It as Textarea, cn as ThemeProvider, I as Toast, ot as ToastAction, L as ToastClose, z as ToastDescription, it as ToastProvider, R as ToastTitle, F as ToastViewport, mt as Toaster, zt as Tooltip, Vt as TooltipContent, Rt as TooltipProvider, Bt as TooltipTrigger, ve as badgeVariants, de as buttonVariants, w as cn, ft as toast, ln as useTheme, pt as useToast };