@nswds/app 1.33.0 → 1.35.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/globals.css +468 -21
- package/dist/index.cjs +623 -23
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +58 -1
- package/dist/index.d.ts +58 -1
- package/dist/index.js +596 -24
- package/dist/index.js.map +1 -1
- package/dist/styles.css +468 -21
- package/dist/styles.css.map +1 -1
- package/package.json +5 -3
package/dist/index.cjs
CHANGED
|
@@ -29,6 +29,7 @@ var SelectPrimitive = require('@radix-ui/react-select');
|
|
|
29
29
|
var PopoverPrimitive = require('@radix-ui/react-popover');
|
|
30
30
|
var LabelPrimitive = require('@radix-ui/react-label');
|
|
31
31
|
var RadioGroupPrimitive = require('@radix-ui/react-radio-group');
|
|
32
|
+
var lucideReact = require('lucide-react');
|
|
32
33
|
var TabsPrimitive2 = require('@radix-ui/react-tabs');
|
|
33
34
|
var CollapsiblePrimitive = require('@radix-ui/react-collapsible');
|
|
34
35
|
var usehooks = require('@uidotdev/usehooks');
|
|
@@ -52,6 +53,10 @@ var RechartsPrimitive = require('recharts');
|
|
|
52
53
|
var react = require('@remixicon/react');
|
|
53
54
|
var tailwindVariants = require('tailwind-variants');
|
|
54
55
|
var HoverCardPrimitives = require('@radix-ui/react-hover-card');
|
|
56
|
+
var AlertDialogPrimitive = require('@radix-ui/react-alert-dialog');
|
|
57
|
+
var reactDayPicker = require('react-day-picker');
|
|
58
|
+
var useEmblaCarousel = require('embla-carousel-react');
|
|
59
|
+
var inputOtp = require('input-otp');
|
|
55
60
|
var slugify = require('@sindresorhus/slugify');
|
|
56
61
|
var zustand = require('zustand');
|
|
57
62
|
var middleware = require('zustand/middleware');
|
|
@@ -108,6 +113,8 @@ var SliderPrimitive__namespace = /*#__PURE__*/_interopNamespace(SliderPrimitive)
|
|
|
108
113
|
var SwitchPrimitive__namespace = /*#__PURE__*/_interopNamespace(SwitchPrimitive);
|
|
109
114
|
var RechartsPrimitive__namespace = /*#__PURE__*/_interopNamespace(RechartsPrimitive);
|
|
110
115
|
var HoverCardPrimitives__namespace = /*#__PURE__*/_interopNamespace(HoverCardPrimitives);
|
|
116
|
+
var AlertDialogPrimitive__namespace = /*#__PURE__*/_interopNamespace(AlertDialogPrimitive);
|
|
117
|
+
var useEmblaCarousel__default = /*#__PURE__*/_interopDefault(useEmblaCarousel);
|
|
111
118
|
|
|
112
119
|
// src/components/Accordion.tsx
|
|
113
120
|
var Icons = {
|
|
@@ -2000,7 +2007,18 @@ function Checkbox({ className, ...props }) {
|
|
|
2000
2007
|
{
|
|
2001
2008
|
"data-slot": "checkbox",
|
|
2002
2009
|
className: cn(
|
|
2003
|
-
|
|
2010
|
+
// Base styles
|
|
2011
|
+
"peer border-primary-800 flex size-8 shrink-0 cursor-pointer items-center justify-center rounded-[4px] border shadow-xs ring-offset-white transition-shadow outline-none",
|
|
2012
|
+
// Dark mode styles
|
|
2013
|
+
"dark:bg-input/30",
|
|
2014
|
+
// Checked styles
|
|
2015
|
+
"data-[state=checked]:bg-primary-800 dark:data-[state=checked]:bg-primary data-[state=checked]:bg-white data-[state=checked]:text-white",
|
|
2016
|
+
// Focus styles
|
|
2017
|
+
"focus:border-grey-600 focus:ring-primary-650/70 ring-offset-white focus:ring-2 focus:ring-offset-2 focus:outline-none",
|
|
2018
|
+
// aria-invalid styles
|
|
2019
|
+
"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
|
|
2020
|
+
// Disabled styles
|
|
2021
|
+
"disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50",
|
|
2004
2022
|
className
|
|
2005
2023
|
),
|
|
2006
2024
|
...props,
|
|
@@ -2008,8 +2026,8 @@ function Checkbox({ className, ...props }) {
|
|
|
2008
2026
|
CheckboxPrimitive__namespace.Indicator,
|
|
2009
2027
|
{
|
|
2010
2028
|
"data-slot": "checkbox-indicator",
|
|
2011
|
-
className: "flex items-center justify-center text-current transition-none",
|
|
2012
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(Icons.check, { className: "size-
|
|
2029
|
+
className: "bg-primary-800 flex items-center justify-center rounded-[4px] text-current transition-none",
|
|
2030
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(Icons.check, { className: "size-6" })
|
|
2013
2031
|
}
|
|
2014
2032
|
)
|
|
2015
2033
|
}
|
|
@@ -2172,15 +2190,15 @@ function SelectTrigger({
|
|
|
2172
2190
|
"data-size": size,
|
|
2173
2191
|
className: cn(
|
|
2174
2192
|
// Base styles
|
|
2175
|
-
"border-
|
|
2193
|
+
"border-grey-600 [&_svg:not([class*='text-'])]:text-grey-600 flex w-full items-center justify-between gap-2 rounded-sm border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
2176
2194
|
// Disabled styles
|
|
2177
|
-
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
2195
|
+
"disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50",
|
|
2178
2196
|
// aria-invalid styles
|
|
2179
2197
|
"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
|
|
2180
2198
|
// Focus styles
|
|
2181
2199
|
"focus:outline-primary-650/70 focus:outline focus:outline-2 focus:outline-offset-2",
|
|
2182
2200
|
// Placeholder styles
|
|
2183
|
-
"data-[placeholder]:text-
|
|
2201
|
+
"data-[placeholder]:text-grey-600",
|
|
2184
2202
|
// Dark mode styles
|
|
2185
2203
|
"dark:bg-input/30 dark:hover:bg-input/50",
|
|
2186
2204
|
// Size styles
|
|
@@ -2207,8 +2225,9 @@ function SelectContent({
|
|
|
2207
2225
|
"data-slot": "select-content",
|
|
2208
2226
|
className: cn(
|
|
2209
2227
|
// Base styles
|
|
2210
|
-
"text-
|
|
2211
|
-
|
|
2228
|
+
"text-grey-800 border-grey-200 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-sm border bg-white shadow-md",
|
|
2229
|
+
// State styles
|
|
2230
|
+
"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",
|
|
2212
2231
|
position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
|
|
2213
2232
|
className
|
|
2214
2233
|
),
|
|
@@ -2236,7 +2255,7 @@ function SelectLabel({ className, ...props }) {
|
|
|
2236
2255
|
SelectPrimitive__namespace.Label,
|
|
2237
2256
|
{
|
|
2238
2257
|
"data-slot": "select-label",
|
|
2239
|
-
className: cn("text-
|
|
2258
|
+
className: cn("text-grey-600 px-2 py-1.5 text-xs", className),
|
|
2240
2259
|
...props
|
|
2241
2260
|
}
|
|
2242
2261
|
);
|
|
@@ -2251,7 +2270,7 @@ function SelectItem({
|
|
|
2251
2270
|
{
|
|
2252
2271
|
"data-slot": "select-item",
|
|
2253
2272
|
className: cn(
|
|
2254
|
-
"focus:bg-primary-800/10 focus:text-primary-800 [&_svg:not([class*='text-'])]:text-
|
|
2273
|
+
"focus:bg-primary-800/10 focus:text-primary-800 [&_svg:not([class*='text-'])]:text-grey-600 relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:font-bold data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-6 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",
|
|
2255
2274
|
className
|
|
2256
2275
|
),
|
|
2257
2276
|
...props,
|
|
@@ -2270,7 +2289,7 @@ function SelectSeparator({
|
|
|
2270
2289
|
SelectPrimitive__namespace.Separator,
|
|
2271
2290
|
{
|
|
2272
2291
|
"data-slot": "select-separator",
|
|
2273
|
-
className: cn("bg-
|
|
2292
|
+
className: cn("bg-primary-800/20 pointer-events-none -mx-1 my-1 h-px", className),
|
|
2274
2293
|
...props
|
|
2275
2294
|
}
|
|
2276
2295
|
);
|
|
@@ -2376,7 +2395,16 @@ function RadioGroupItem({
|
|
|
2376
2395
|
{
|
|
2377
2396
|
"data-slot": "radio-group-item",
|
|
2378
2397
|
className: cn(
|
|
2379
|
-
|
|
2398
|
+
// Base styles
|
|
2399
|
+
"border-primary-800 text-primary-800 aspect-square size-8 shrink-0 rounded-full border shadow-xs transition-[color,box-shadow] outline-none",
|
|
2400
|
+
// Dark mode styles
|
|
2401
|
+
"dark:bg-input/30",
|
|
2402
|
+
// Focus styles
|
|
2403
|
+
"focus:border-grey-600 focus:ring-primary-650/70 ring-offset-white focus:ring-2 focus:ring-offset-2 focus:outline-none",
|
|
2404
|
+
// aria-invalid styles
|
|
2405
|
+
"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
|
|
2406
|
+
// Disabled styles
|
|
2407
|
+
"disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50",
|
|
2380
2408
|
className
|
|
2381
2409
|
),
|
|
2382
2410
|
...props,
|
|
@@ -2384,8 +2412,11 @@ function RadioGroupItem({
|
|
|
2384
2412
|
RadioGroupPrimitive__namespace.Indicator,
|
|
2385
2413
|
{
|
|
2386
2414
|
"data-slot": "radio-group-indicator",
|
|
2387
|
-
className:
|
|
2388
|
-
|
|
2415
|
+
className: cn(
|
|
2416
|
+
// Base styles
|
|
2417
|
+
"relative flex items-center justify-center"
|
|
2418
|
+
),
|
|
2419
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CircleIcon, { className: "fill-primary-800 absolute top-1/2 left-1/2 size-6 -translate-x-1/2 -translate-y-1/2" })
|
|
2389
2420
|
}
|
|
2390
2421
|
)
|
|
2391
2422
|
}
|
|
@@ -7482,7 +7513,7 @@ function Heading({
|
|
|
7482
7513
|
|
|
7483
7514
|
// package.json
|
|
7484
7515
|
var package_default = {
|
|
7485
|
-
version: "1.
|
|
7516
|
+
version: "1.34.0"};
|
|
7486
7517
|
function Logo(props) {
|
|
7487
7518
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
7488
7519
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "NSW Government" }),
|
|
@@ -7669,15 +7700,15 @@ function Input({ className, type, ...props }) {
|
|
|
7669
7700
|
"data-slot": "input",
|
|
7670
7701
|
className: cn(
|
|
7671
7702
|
// Base styles
|
|
7672
|
-
"border-nsw-grey-
|
|
7703
|
+
"border-nsw-grey-600 flex h-12 w-full min-w-0 rounded-sm border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none md:text-sm",
|
|
7673
7704
|
// Selection styles
|
|
7674
|
-
"selection:bg-primary-800 selection:text-
|
|
7705
|
+
"selection:bg-primary-800 selection:text-white",
|
|
7675
7706
|
// Placeholder styles
|
|
7676
|
-
"placeholder:text-
|
|
7707
|
+
"placeholder:text-grey-500",
|
|
7677
7708
|
// File input styles
|
|
7678
|
-
"file:text-
|
|
7709
|
+
"file:text-grey-800 file:inline-flex file:h-10 file:border-0 file:bg-transparent file:text-sm file:font-medium",
|
|
7679
7710
|
// Focus styles
|
|
7680
|
-
"focus-visible:border-
|
|
7711
|
+
"focus-visible:border-grey-600 focus-visible:ring-primary-650/70 ring-offset-white focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none",
|
|
7681
7712
|
// Disabled styles
|
|
7682
7713
|
"disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50",
|
|
7683
7714
|
// aria-invalid styles
|
|
@@ -9087,7 +9118,17 @@ function Switch({ className, ...props }) {
|
|
|
9087
9118
|
{
|
|
9088
9119
|
"data-slot": "switch",
|
|
9089
9120
|
className: cn(
|
|
9090
|
-
"peer
|
|
9121
|
+
"peer border-grey-600 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none",
|
|
9122
|
+
// state styles
|
|
9123
|
+
"data-[state=unchecked]:bg-input data-[state=checked]:bg-primary-800",
|
|
9124
|
+
// Dark mode styles
|
|
9125
|
+
"dark:data-[state=unchecked]:bg-input/80",
|
|
9126
|
+
// Focus styles
|
|
9127
|
+
"focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",
|
|
9128
|
+
// aria-invalid styles
|
|
9129
|
+
"",
|
|
9130
|
+
// Disabled styles
|
|
9131
|
+
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
9091
9132
|
className
|
|
9092
9133
|
),
|
|
9093
9134
|
...props,
|
|
@@ -9096,7 +9137,11 @@ function Switch({ className, ...props }) {
|
|
|
9096
9137
|
{
|
|
9097
9138
|
"data-slot": "switch-thumb",
|
|
9098
9139
|
className: cn(
|
|
9099
|
-
"bg-background
|
|
9140
|
+
"bg-background pointer-events-none block size-4 rounded-full ring-0 transition-transform",
|
|
9141
|
+
// state styles
|
|
9142
|
+
"data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0",
|
|
9143
|
+
// Dark mode styles
|
|
9144
|
+
"dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground"
|
|
9100
9145
|
)
|
|
9101
9146
|
}
|
|
9102
9147
|
)
|
|
@@ -9407,7 +9452,16 @@ function Textarea({ className, ...props }) {
|
|
|
9407
9452
|
{
|
|
9408
9453
|
"data-slot": "textarea",
|
|
9409
9454
|
className: cn(
|
|
9410
|
-
|
|
9455
|
+
// Base styles
|
|
9456
|
+
"border-nsw-grey-600 dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-sm border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none md:text-sm",
|
|
9457
|
+
// Placeholder styles
|
|
9458
|
+
"placeholder:text-grey-500",
|
|
9459
|
+
// Focus styles
|
|
9460
|
+
"focus-visible:border-grey-600 focus-visible:ring-primary-650/70 ring-offset-white focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none",
|
|
9461
|
+
// Disabled styles
|
|
9462
|
+
"disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50",
|
|
9463
|
+
// aria-invalid styles
|
|
9464
|
+
"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
|
|
9411
9465
|
className
|
|
9412
9466
|
),
|
|
9413
9467
|
...props
|
|
@@ -13917,6 +13971,512 @@ var Tracker = React15__namespace.default.forwardRef(
|
|
|
13917
13971
|
}
|
|
13918
13972
|
);
|
|
13919
13973
|
Tracker.displayName = "Tracker";
|
|
13974
|
+
function AlertDialog({ ...props }) {
|
|
13975
|
+
return /* @__PURE__ */ jsxRuntime.jsx(AlertDialogPrimitive__namespace.Root, { "data-slot": "alert-dialog", ...props });
|
|
13976
|
+
}
|
|
13977
|
+
function AlertDialogTrigger({
|
|
13978
|
+
...props
|
|
13979
|
+
}) {
|
|
13980
|
+
return /* @__PURE__ */ jsxRuntime.jsx(AlertDialogPrimitive__namespace.Trigger, { "data-slot": "alert-dialog-trigger", ...props });
|
|
13981
|
+
}
|
|
13982
|
+
function AlertDialogPortal({ ...props }) {
|
|
13983
|
+
return /* @__PURE__ */ jsxRuntime.jsx(AlertDialogPrimitive__namespace.Portal, { "data-slot": "alert-dialog-portal", ...props });
|
|
13984
|
+
}
|
|
13985
|
+
function AlertDialogOverlay({
|
|
13986
|
+
className,
|
|
13987
|
+
...props
|
|
13988
|
+
}) {
|
|
13989
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
13990
|
+
AlertDialogPrimitive__namespace.Overlay,
|
|
13991
|
+
{
|
|
13992
|
+
"data-slot": "alert-dialog-overlay",
|
|
13993
|
+
className: cn(
|
|
13994
|
+
"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",
|
|
13995
|
+
className
|
|
13996
|
+
),
|
|
13997
|
+
...props
|
|
13998
|
+
}
|
|
13999
|
+
);
|
|
14000
|
+
}
|
|
14001
|
+
function AlertDialogContent({
|
|
14002
|
+
className,
|
|
14003
|
+
...props
|
|
14004
|
+
}) {
|
|
14005
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(AlertDialogPortal, { children: [
|
|
14006
|
+
/* @__PURE__ */ jsxRuntime.jsx(AlertDialogOverlay, {}),
|
|
14007
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
14008
|
+
AlertDialogPrimitive__namespace.Content,
|
|
14009
|
+
{
|
|
14010
|
+
"data-slot": "alert-dialog-content",
|
|
14011
|
+
className: cn(
|
|
14012
|
+
"bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",
|
|
14013
|
+
className
|
|
14014
|
+
),
|
|
14015
|
+
...props
|
|
14016
|
+
}
|
|
14017
|
+
)
|
|
14018
|
+
] });
|
|
14019
|
+
}
|
|
14020
|
+
function AlertDialogHeader({ className, ...props }) {
|
|
14021
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
14022
|
+
"div",
|
|
14023
|
+
{
|
|
14024
|
+
"data-slot": "alert-dialog-header",
|
|
14025
|
+
className: cn("flex flex-col gap-2 text-center sm:text-left", className),
|
|
14026
|
+
...props
|
|
14027
|
+
}
|
|
14028
|
+
);
|
|
14029
|
+
}
|
|
14030
|
+
function AlertDialogFooter({ className, ...props }) {
|
|
14031
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
14032
|
+
"div",
|
|
14033
|
+
{
|
|
14034
|
+
"data-slot": "alert-dialog-footer",
|
|
14035
|
+
className: cn("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", className),
|
|
14036
|
+
...props
|
|
14037
|
+
}
|
|
14038
|
+
);
|
|
14039
|
+
}
|
|
14040
|
+
function AlertDialogTitle({
|
|
14041
|
+
className,
|
|
14042
|
+
...props
|
|
14043
|
+
}) {
|
|
14044
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
14045
|
+
AlertDialogPrimitive__namespace.Title,
|
|
14046
|
+
{
|
|
14047
|
+
"data-slot": "alert-dialog-title",
|
|
14048
|
+
className: cn("text-lg font-semibold", className),
|
|
14049
|
+
...props
|
|
14050
|
+
}
|
|
14051
|
+
);
|
|
14052
|
+
}
|
|
14053
|
+
function AlertDialogDescription({
|
|
14054
|
+
className,
|
|
14055
|
+
...props
|
|
14056
|
+
}) {
|
|
14057
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
14058
|
+
AlertDialogPrimitive__namespace.Description,
|
|
14059
|
+
{
|
|
14060
|
+
"data-slot": "alert-dialog-description",
|
|
14061
|
+
className: cn("text-muted-foreground text-sm", className),
|
|
14062
|
+
...props
|
|
14063
|
+
}
|
|
14064
|
+
);
|
|
14065
|
+
}
|
|
14066
|
+
function AlertDialogAction({
|
|
14067
|
+
className,
|
|
14068
|
+
...props
|
|
14069
|
+
}) {
|
|
14070
|
+
return /* @__PURE__ */ jsxRuntime.jsx(AlertDialogPrimitive__namespace.Action, { className: cn(buttonVariants(), className), ...props });
|
|
14071
|
+
}
|
|
14072
|
+
function AlertDialogCancel({
|
|
14073
|
+
className,
|
|
14074
|
+
...props
|
|
14075
|
+
}) {
|
|
14076
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
14077
|
+
AlertDialogPrimitive__namespace.Cancel,
|
|
14078
|
+
{
|
|
14079
|
+
className: cn(buttonVariants({ variant: "outline" }), className),
|
|
14080
|
+
...props
|
|
14081
|
+
}
|
|
14082
|
+
);
|
|
14083
|
+
}
|
|
14084
|
+
function Calendar({
|
|
14085
|
+
className,
|
|
14086
|
+
classNames,
|
|
14087
|
+
showOutsideDays = true,
|
|
14088
|
+
captionLayout = "label",
|
|
14089
|
+
buttonVariant = "ghost",
|
|
14090
|
+
formatters,
|
|
14091
|
+
components,
|
|
14092
|
+
...props
|
|
14093
|
+
}) {
|
|
14094
|
+
const defaultClassNames = reactDayPicker.getDefaultClassNames();
|
|
14095
|
+
const buttonColor = "light";
|
|
14096
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
14097
|
+
reactDayPicker.DayPicker,
|
|
14098
|
+
{
|
|
14099
|
+
showOutsideDays,
|
|
14100
|
+
className: cn(
|
|
14101
|
+
"bg-background group/calendar p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent",
|
|
14102
|
+
String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,
|
|
14103
|
+
String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,
|
|
14104
|
+
className
|
|
14105
|
+
),
|
|
14106
|
+
captionLayout,
|
|
14107
|
+
formatters: {
|
|
14108
|
+
formatMonthDropdown: (date) => date.toLocaleString("default", { month: "short" }),
|
|
14109
|
+
...formatters
|
|
14110
|
+
},
|
|
14111
|
+
classNames: {
|
|
14112
|
+
root: cn("w-fit", defaultClassNames.root),
|
|
14113
|
+
months: cn("flex gap-4 flex-col md:flex-row relative", defaultClassNames.months),
|
|
14114
|
+
month: cn("flex flex-col w-full gap-4", defaultClassNames.month),
|
|
14115
|
+
nav: cn(
|
|
14116
|
+
"flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between",
|
|
14117
|
+
defaultClassNames.nav
|
|
14118
|
+
),
|
|
14119
|
+
button_previous: cn(
|
|
14120
|
+
buttonVariants({ variant: buttonVariant }),
|
|
14121
|
+
"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",
|
|
14122
|
+
defaultClassNames.button_previous
|
|
14123
|
+
),
|
|
14124
|
+
button_next: cn(
|
|
14125
|
+
buttonVariants({ variant: buttonVariant }),
|
|
14126
|
+
"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",
|
|
14127
|
+
defaultClassNames.button_next
|
|
14128
|
+
),
|
|
14129
|
+
month_caption: cn(
|
|
14130
|
+
"flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)",
|
|
14131
|
+
defaultClassNames.month_caption
|
|
14132
|
+
),
|
|
14133
|
+
dropdowns: cn(
|
|
14134
|
+
"w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5",
|
|
14135
|
+
defaultClassNames.dropdowns
|
|
14136
|
+
),
|
|
14137
|
+
dropdown_root: cn(
|
|
14138
|
+
"relative has-focus:border-ring border border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] rounded-md",
|
|
14139
|
+
defaultClassNames.dropdown_root
|
|
14140
|
+
),
|
|
14141
|
+
dropdown: cn("absolute inset-0 opacity-0", defaultClassNames.dropdown),
|
|
14142
|
+
caption_label: cn(
|
|
14143
|
+
"select-none font-medium",
|
|
14144
|
+
captionLayout === "label" ? "text-sm" : "rounded-md pl-2 pr-1 flex items-center gap-1 text-sm h-8 [&>svg]:text-muted-foreground [&>svg]:size-3.5",
|
|
14145
|
+
defaultClassNames.caption_label
|
|
14146
|
+
),
|
|
14147
|
+
table: "w-full border-collapse",
|
|
14148
|
+
weekdays: cn("flex", defaultClassNames.weekdays),
|
|
14149
|
+
weekday: cn(
|
|
14150
|
+
"text-muted-foreground rounded-md flex-1 font-normal text-[0.8rem] select-none",
|
|
14151
|
+
defaultClassNames.weekday
|
|
14152
|
+
),
|
|
14153
|
+
week: cn("flex w-full mt-2", defaultClassNames.week),
|
|
14154
|
+
week_number_header: cn("select-none w-(--cell-size)", defaultClassNames.week_number_header),
|
|
14155
|
+
week_number: cn(
|
|
14156
|
+
"text-[0.8rem] select-none text-muted-foreground",
|
|
14157
|
+
defaultClassNames.week_number
|
|
14158
|
+
),
|
|
14159
|
+
day: cn(
|
|
14160
|
+
"relative w-full h-full p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md group/day aspect-square select-none",
|
|
14161
|
+
defaultClassNames.day
|
|
14162
|
+
),
|
|
14163
|
+
range_start: cn("rounded-l-md bg-accent", defaultClassNames.range_start),
|
|
14164
|
+
range_middle: cn("rounded-none", defaultClassNames.range_middle),
|
|
14165
|
+
range_end: cn("rounded-r-md bg-accent", defaultClassNames.range_end),
|
|
14166
|
+
today: cn(
|
|
14167
|
+
"bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none",
|
|
14168
|
+
defaultClassNames.today
|
|
14169
|
+
),
|
|
14170
|
+
outside: cn(
|
|
14171
|
+
"text-muted-foreground aria-selected:text-muted-foreground",
|
|
14172
|
+
defaultClassNames.outside
|
|
14173
|
+
),
|
|
14174
|
+
disabled: cn("text-muted-foreground opacity-50", defaultClassNames.disabled),
|
|
14175
|
+
hidden: cn("invisible", defaultClassNames.hidden),
|
|
14176
|
+
...classNames
|
|
14177
|
+
},
|
|
14178
|
+
components: {
|
|
14179
|
+
Root: ({ className: className2, rootRef, ...props2 }) => {
|
|
14180
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { "data-slot": "calendar", ref: rootRef, className: cn(className2), ...props2 });
|
|
14181
|
+
},
|
|
14182
|
+
Chevron: ({ className: className2, orientation, ...props2 }) => {
|
|
14183
|
+
if (orientation === "left") {
|
|
14184
|
+
return /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronLeftIcon, { className: cn("size-4", className2), ...props2 });
|
|
14185
|
+
}
|
|
14186
|
+
if (orientation === "right") {
|
|
14187
|
+
return /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRightIcon, { className: cn("size-4", className2), ...props2 });
|
|
14188
|
+
}
|
|
14189
|
+
return /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDownIcon, { className: cn("size-4", className2), ...props2 });
|
|
14190
|
+
},
|
|
14191
|
+
DayButton: (dayButtonProps) => /* @__PURE__ */ jsxRuntime.jsx(CalendarDayButton, { ...dayButtonProps, color: buttonColor }),
|
|
14192
|
+
WeekNumber: ({ children, ...props2 }) => {
|
|
14193
|
+
return /* @__PURE__ */ jsxRuntime.jsx("td", { ...props2, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex size-(--cell-size) items-center justify-center text-center", children }) });
|
|
14194
|
+
},
|
|
14195
|
+
...components
|
|
14196
|
+
},
|
|
14197
|
+
...props
|
|
14198
|
+
}
|
|
14199
|
+
);
|
|
14200
|
+
}
|
|
14201
|
+
function CalendarDayButton({
|
|
14202
|
+
className,
|
|
14203
|
+
day,
|
|
14204
|
+
modifiers,
|
|
14205
|
+
children,
|
|
14206
|
+
color,
|
|
14207
|
+
...props
|
|
14208
|
+
}) {
|
|
14209
|
+
const defaultClassNames = reactDayPicker.getDefaultClassNames();
|
|
14210
|
+
const ref = React15__namespace.useRef(null);
|
|
14211
|
+
React15__namespace.useEffect(() => {
|
|
14212
|
+
if (modifiers.focused) ref.current?.focus();
|
|
14213
|
+
}, [modifiers.focused]);
|
|
14214
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
14215
|
+
Button2,
|
|
14216
|
+
{
|
|
14217
|
+
ref,
|
|
14218
|
+
variant: "ghost",
|
|
14219
|
+
size: "icon",
|
|
14220
|
+
color,
|
|
14221
|
+
"data-day": day.date.toLocaleDateString(),
|
|
14222
|
+
"data-selected-single": modifiers.selected && !modifiers.range_start && !modifiers.range_end && !modifiers.range_middle,
|
|
14223
|
+
"data-range-start": modifiers.range_start,
|
|
14224
|
+
"data-range-end": modifiers.range_end,
|
|
14225
|
+
"data-range-middle": modifiers.range_middle,
|
|
14226
|
+
className: cn(
|
|
14227
|
+
"data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 dark:hover:text-accent-foreground flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] data-[range-end=true]:rounded-md data-[range-end=true]:rounded-r-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md data-[range-start=true]:rounded-l-md [&>span]:text-xs [&>span]:opacity-70",
|
|
14228
|
+
defaultClassNames.day,
|
|
14229
|
+
className
|
|
14230
|
+
),
|
|
14231
|
+
...props,
|
|
14232
|
+
children
|
|
14233
|
+
}
|
|
14234
|
+
);
|
|
14235
|
+
}
|
|
14236
|
+
var CarouselContext = React15__namespace.createContext(null);
|
|
14237
|
+
function useCarousel() {
|
|
14238
|
+
const context = React15__namespace.useContext(CarouselContext);
|
|
14239
|
+
if (!context) {
|
|
14240
|
+
throw new Error("useCarousel must be used within a <Carousel />");
|
|
14241
|
+
}
|
|
14242
|
+
return context;
|
|
14243
|
+
}
|
|
14244
|
+
function Carousel({
|
|
14245
|
+
orientation = "horizontal",
|
|
14246
|
+
opts,
|
|
14247
|
+
setApi,
|
|
14248
|
+
plugins,
|
|
14249
|
+
className,
|
|
14250
|
+
children,
|
|
14251
|
+
...props
|
|
14252
|
+
}) {
|
|
14253
|
+
const [carouselRef, api] = useEmblaCarousel__default.default(
|
|
14254
|
+
{
|
|
14255
|
+
...opts,
|
|
14256
|
+
axis: orientation === "horizontal" ? "x" : "y"
|
|
14257
|
+
},
|
|
14258
|
+
plugins
|
|
14259
|
+
);
|
|
14260
|
+
const [canScrollPrev, setCanScrollPrev] = React15__namespace.useState(false);
|
|
14261
|
+
const [canScrollNext, setCanScrollNext] = React15__namespace.useState(false);
|
|
14262
|
+
const onSelect = React15__namespace.useCallback((api2) => {
|
|
14263
|
+
if (!api2) return;
|
|
14264
|
+
setCanScrollPrev(api2.canScrollPrev());
|
|
14265
|
+
setCanScrollNext(api2.canScrollNext());
|
|
14266
|
+
}, []);
|
|
14267
|
+
const scrollPrev = React15__namespace.useCallback(() => {
|
|
14268
|
+
api?.scrollPrev();
|
|
14269
|
+
}, [api]);
|
|
14270
|
+
const scrollNext = React15__namespace.useCallback(() => {
|
|
14271
|
+
api?.scrollNext();
|
|
14272
|
+
}, [api]);
|
|
14273
|
+
const handleKeyDown = React15__namespace.useCallback(
|
|
14274
|
+
(event) => {
|
|
14275
|
+
if (event.key === "ArrowLeft") {
|
|
14276
|
+
event.preventDefault();
|
|
14277
|
+
scrollPrev();
|
|
14278
|
+
} else if (event.key === "ArrowRight") {
|
|
14279
|
+
event.preventDefault();
|
|
14280
|
+
scrollNext();
|
|
14281
|
+
}
|
|
14282
|
+
},
|
|
14283
|
+
[scrollPrev, scrollNext]
|
|
14284
|
+
);
|
|
14285
|
+
React15__namespace.useEffect(() => {
|
|
14286
|
+
if (!api || !setApi) return;
|
|
14287
|
+
setApi(api);
|
|
14288
|
+
}, [api, setApi]);
|
|
14289
|
+
React15__namespace.useEffect(() => {
|
|
14290
|
+
if (!api) return;
|
|
14291
|
+
onSelect(api);
|
|
14292
|
+
api.on("reInit", onSelect);
|
|
14293
|
+
api.on("select", onSelect);
|
|
14294
|
+
return () => {
|
|
14295
|
+
api?.off("select", onSelect);
|
|
14296
|
+
};
|
|
14297
|
+
}, [api, onSelect]);
|
|
14298
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
14299
|
+
CarouselContext.Provider,
|
|
14300
|
+
{
|
|
14301
|
+
value: {
|
|
14302
|
+
carouselRef,
|
|
14303
|
+
api,
|
|
14304
|
+
opts,
|
|
14305
|
+
orientation: orientation || (opts?.axis === "y" ? "vertical" : "horizontal"),
|
|
14306
|
+
scrollPrev,
|
|
14307
|
+
scrollNext,
|
|
14308
|
+
canScrollPrev,
|
|
14309
|
+
canScrollNext
|
|
14310
|
+
},
|
|
14311
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
14312
|
+
"div",
|
|
14313
|
+
{
|
|
14314
|
+
onKeyDownCapture: handleKeyDown,
|
|
14315
|
+
className: cn("relative", className),
|
|
14316
|
+
role: "region",
|
|
14317
|
+
"aria-roledescription": "carousel",
|
|
14318
|
+
"data-slot": "carousel",
|
|
14319
|
+
...props,
|
|
14320
|
+
children
|
|
14321
|
+
}
|
|
14322
|
+
)
|
|
14323
|
+
}
|
|
14324
|
+
);
|
|
14325
|
+
}
|
|
14326
|
+
function CarouselContent({ className, ...props }) {
|
|
14327
|
+
const { carouselRef, orientation } = useCarousel();
|
|
14328
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { ref: carouselRef, className: "overflow-hidden", "data-slot": "carousel-content", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
14329
|
+
"div",
|
|
14330
|
+
{
|
|
14331
|
+
className: cn("flex", orientation === "horizontal" ? "-ml-4" : "-mt-4 flex-col", className),
|
|
14332
|
+
...props
|
|
14333
|
+
}
|
|
14334
|
+
) });
|
|
14335
|
+
}
|
|
14336
|
+
function CarouselItem({ className, ...props }) {
|
|
14337
|
+
const { orientation } = useCarousel();
|
|
14338
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
14339
|
+
"div",
|
|
14340
|
+
{
|
|
14341
|
+
role: "group",
|
|
14342
|
+
"aria-roledescription": "slide",
|
|
14343
|
+
"data-slot": "carousel-item",
|
|
14344
|
+
className: cn(
|
|
14345
|
+
"min-w-0 shrink-0 grow-0 basis-full",
|
|
14346
|
+
orientation === "horizontal" ? "pl-4" : "pt-4",
|
|
14347
|
+
className
|
|
14348
|
+
),
|
|
14349
|
+
...props
|
|
14350
|
+
}
|
|
14351
|
+
);
|
|
14352
|
+
}
|
|
14353
|
+
function CarouselPrevious({
|
|
14354
|
+
className,
|
|
14355
|
+
variant = "outline",
|
|
14356
|
+
size = "icon",
|
|
14357
|
+
...props
|
|
14358
|
+
}) {
|
|
14359
|
+
const { orientation, scrollPrev, canScrollPrev } = useCarousel();
|
|
14360
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
14361
|
+
Button2,
|
|
14362
|
+
{
|
|
14363
|
+
"data-slot": "carousel-previous",
|
|
14364
|
+
variant,
|
|
14365
|
+
size,
|
|
14366
|
+
className: cn(
|
|
14367
|
+
"absolute size-8 rounded-full",
|
|
14368
|
+
orientation === "horizontal" ? "top-1/2 -left-12 -translate-y-1/2" : "-top-12 left-1/2 -translate-x-1/2 rotate-90",
|
|
14369
|
+
className
|
|
14370
|
+
),
|
|
14371
|
+
disabled: !canScrollPrev,
|
|
14372
|
+
onClick: scrollPrev,
|
|
14373
|
+
...props,
|
|
14374
|
+
children: [
|
|
14375
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowLeft, {}),
|
|
14376
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Previous slide" })
|
|
14377
|
+
]
|
|
14378
|
+
}
|
|
14379
|
+
);
|
|
14380
|
+
}
|
|
14381
|
+
function CarouselNext({
|
|
14382
|
+
className,
|
|
14383
|
+
variant = "outline",
|
|
14384
|
+
size = "icon",
|
|
14385
|
+
...props
|
|
14386
|
+
}) {
|
|
14387
|
+
const { orientation, scrollNext, canScrollNext } = useCarousel();
|
|
14388
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
14389
|
+
Button2,
|
|
14390
|
+
{
|
|
14391
|
+
"data-slot": "carousel-next",
|
|
14392
|
+
variant,
|
|
14393
|
+
size,
|
|
14394
|
+
className: cn(
|
|
14395
|
+
"absolute size-8 rounded-full",
|
|
14396
|
+
orientation === "horizontal" ? "top-1/2 -right-12 -translate-y-1/2" : "-bottom-12 left-1/2 -translate-x-1/2 rotate-90",
|
|
14397
|
+
className
|
|
14398
|
+
),
|
|
14399
|
+
disabled: !canScrollNext,
|
|
14400
|
+
onClick: scrollNext,
|
|
14401
|
+
...props,
|
|
14402
|
+
children: [
|
|
14403
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowRight, {}),
|
|
14404
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Next slide" })
|
|
14405
|
+
]
|
|
14406
|
+
}
|
|
14407
|
+
);
|
|
14408
|
+
}
|
|
14409
|
+
function HoverCard({ ...props }) {
|
|
14410
|
+
return /* @__PURE__ */ jsxRuntime.jsx(HoverCardPrimitives__namespace.Root, { "data-slot": "hover-card", ...props });
|
|
14411
|
+
}
|
|
14412
|
+
function HoverCardTrigger({ ...props }) {
|
|
14413
|
+
return /* @__PURE__ */ jsxRuntime.jsx(HoverCardPrimitives__namespace.Trigger, { "data-slot": "hover-card-trigger", ...props });
|
|
14414
|
+
}
|
|
14415
|
+
function HoverCardContent({
|
|
14416
|
+
className,
|
|
14417
|
+
align = "center",
|
|
14418
|
+
sideOffset = 4,
|
|
14419
|
+
...props
|
|
14420
|
+
}) {
|
|
14421
|
+
return /* @__PURE__ */ jsxRuntime.jsx(HoverCardPrimitives__namespace.Portal, { "data-slot": "hover-card-portal", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
14422
|
+
HoverCardPrimitives__namespace.Content,
|
|
14423
|
+
{
|
|
14424
|
+
"data-slot": "hover-card-content",
|
|
14425
|
+
align,
|
|
14426
|
+
sideOffset,
|
|
14427
|
+
className: cn(
|
|
14428
|
+
"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-64 origin-(--radix-hover-card-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",
|
|
14429
|
+
className
|
|
14430
|
+
),
|
|
14431
|
+
...props
|
|
14432
|
+
}
|
|
14433
|
+
) });
|
|
14434
|
+
}
|
|
14435
|
+
function InputOTP({
|
|
14436
|
+
className,
|
|
14437
|
+
containerClassName,
|
|
14438
|
+
...props
|
|
14439
|
+
}) {
|
|
14440
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
14441
|
+
inputOtp.OTPInput,
|
|
14442
|
+
{
|
|
14443
|
+
"data-slot": "input-otp",
|
|
14444
|
+
containerClassName: cn("flex items-center gap-2 has-disabled:opacity-50", containerClassName),
|
|
14445
|
+
className: cn("disabled:cursor-not-allowed", className),
|
|
14446
|
+
...props
|
|
14447
|
+
}
|
|
14448
|
+
);
|
|
14449
|
+
}
|
|
14450
|
+
function InputOTPGroup({ className, ...props }) {
|
|
14451
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { "data-slot": "input-otp-group", className: cn("flex items-center", className), ...props });
|
|
14452
|
+
}
|
|
14453
|
+
function InputOTPSlot({
|
|
14454
|
+
index,
|
|
14455
|
+
className,
|
|
14456
|
+
...props
|
|
14457
|
+
}) {
|
|
14458
|
+
const inputOTPContext = React15__namespace.useContext(inputOtp.OTPInputContext);
|
|
14459
|
+
const { char, hasFakeCaret, isActive } = inputOTPContext?.slots[index] ?? {};
|
|
14460
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
14461
|
+
"div",
|
|
14462
|
+
{
|
|
14463
|
+
"data-slot": "input-otp-slot",
|
|
14464
|
+
"data-active": isActive,
|
|
14465
|
+
className: cn(
|
|
14466
|
+
"data-[active=true]:border-ring data-[active=true]:ring-ring/50 data-[active=true]:aria-invalid:ring-destructive/20 dark:data-[active=true]:aria-invalid:ring-destructive/40 aria-invalid:border-destructive data-[active=true]:aria-invalid:border-destructive dark:bg-input/30 border-input relative flex h-9 w-9 items-center justify-center border-y border-r text-sm shadow-xs transition-all outline-none first:rounded-l-md first:border-l last:rounded-r-md data-[active=true]:z-10 data-[active=true]:ring-[3px]",
|
|
14467
|
+
className
|
|
14468
|
+
),
|
|
14469
|
+
...props,
|
|
14470
|
+
children: [
|
|
14471
|
+
char,
|
|
14472
|
+
hasFakeCaret && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "animate-caret-blink bg-foreground h-4 w-px duration-1000" }) })
|
|
14473
|
+
]
|
|
14474
|
+
}
|
|
14475
|
+
);
|
|
14476
|
+
}
|
|
14477
|
+
function InputOTPSeparator({ ...props }) {
|
|
14478
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { "data-slot": "input-otp-separator", role: "separator", ...props, children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.MinusIcon, {}) });
|
|
14479
|
+
}
|
|
13920
14480
|
var MOBILE_BREAKPOINT = 768;
|
|
13921
14481
|
function useIsMobile() {
|
|
13922
14482
|
const [isMobile, setIsMobile] = React15__namespace.useState(void 0);
|
|
@@ -14013,6 +14573,20 @@ function getHeadings(slugify$1 = slugify.slugifyWithCounter()) {
|
|
|
14013
14573
|
});
|
|
14014
14574
|
return result;
|
|
14015
14575
|
}
|
|
14576
|
+
|
|
14577
|
+
// src/hooks/usePageHeadings.ts
|
|
14578
|
+
function usePageHeadings() {
|
|
14579
|
+
const [headings, setHeadings] = React15.useState([]);
|
|
14580
|
+
const pathname = navigation.usePathname();
|
|
14581
|
+
React15.useEffect(() => {
|
|
14582
|
+
const timer = setTimeout(() => {
|
|
14583
|
+
const result = getHeadings();
|
|
14584
|
+
setHeadings(result);
|
|
14585
|
+
}, 0);
|
|
14586
|
+
return () => clearTimeout(timer);
|
|
14587
|
+
}, [pathname]);
|
|
14588
|
+
return headings;
|
|
14589
|
+
}
|
|
14016
14590
|
function createFormStore(opts) {
|
|
14017
14591
|
const { storageKey, initialFormData, initialFormStatus } = opts;
|
|
14018
14592
|
return zustand.create()(
|
|
@@ -14064,6 +14638,17 @@ exports.AccordionItem = AccordionItem;
|
|
|
14064
14638
|
exports.AccordionTrigger = AccordionTrigger;
|
|
14065
14639
|
exports.Alert = Alert;
|
|
14066
14640
|
exports.AlertDescription = AlertDescription;
|
|
14641
|
+
exports.AlertDialog = AlertDialog;
|
|
14642
|
+
exports.AlertDialogAction = AlertDialogAction;
|
|
14643
|
+
exports.AlertDialogCancel = AlertDialogCancel;
|
|
14644
|
+
exports.AlertDialogContent = AlertDialogContent;
|
|
14645
|
+
exports.AlertDialogDescription = AlertDialogDescription;
|
|
14646
|
+
exports.AlertDialogFooter = AlertDialogFooter;
|
|
14647
|
+
exports.AlertDialogHeader = AlertDialogHeader;
|
|
14648
|
+
exports.AlertDialogOverlay = AlertDialogOverlay;
|
|
14649
|
+
exports.AlertDialogPortal = AlertDialogPortal;
|
|
14650
|
+
exports.AlertDialogTitle = AlertDialogTitle;
|
|
14651
|
+
exports.AlertDialogTrigger = AlertDialogTrigger;
|
|
14067
14652
|
exports.AlertTitle = AlertTitle;
|
|
14068
14653
|
exports.AreaChart = AreaChart;
|
|
14069
14654
|
exports.AspectRatio = AspectRatio;
|
|
@@ -14085,6 +14670,8 @@ exports.BreadcrumbPage = BreadcrumbPage;
|
|
|
14085
14670
|
exports.BreadcrumbSeparator = BreadcrumbSeparator;
|
|
14086
14671
|
exports.Breadcrumbs = Breadcrumbs;
|
|
14087
14672
|
exports.Button = Button2;
|
|
14673
|
+
exports.Calendar = Calendar;
|
|
14674
|
+
exports.CalendarDayButton = CalendarDayButton;
|
|
14088
14675
|
exports.Card = Card;
|
|
14089
14676
|
exports.CardAction = CardAction;
|
|
14090
14677
|
exports.CardContent = CardContent;
|
|
@@ -14092,6 +14679,11 @@ exports.CardDescription = CardDescription;
|
|
|
14092
14679
|
exports.CardFooter = CardFooter;
|
|
14093
14680
|
exports.CardHeader = CardHeader;
|
|
14094
14681
|
exports.CardTitle = CardTitle;
|
|
14682
|
+
exports.Carousel = Carousel;
|
|
14683
|
+
exports.CarouselContent = CarouselContent;
|
|
14684
|
+
exports.CarouselItem = CarouselItem;
|
|
14685
|
+
exports.CarouselNext = CarouselNext;
|
|
14686
|
+
exports.CarouselPrevious = CarouselPrevious;
|
|
14095
14687
|
exports.CategoryBar = CategoryBar;
|
|
14096
14688
|
exports.ChartContainer = ChartContainer;
|
|
14097
14689
|
exports.ChartLegend = ChartLegend;
|
|
@@ -14189,8 +14781,15 @@ exports.FormatToggle = FormatToggle;
|
|
|
14189
14781
|
exports.GenerateInterpolatedColors = GenerateInterpolatedColors;
|
|
14190
14782
|
exports.Header = Header2;
|
|
14191
14783
|
exports.Heading = Heading;
|
|
14784
|
+
exports.HoverCard = HoverCard;
|
|
14785
|
+
exports.HoverCardContent = HoverCardContent;
|
|
14786
|
+
exports.HoverCardTrigger = HoverCardTrigger;
|
|
14192
14787
|
exports.Icons = Icons;
|
|
14193
14788
|
exports.Input = Input;
|
|
14789
|
+
exports.InputOTP = InputOTP;
|
|
14790
|
+
exports.InputOTPGroup = InputOTPGroup;
|
|
14791
|
+
exports.InputOTPSeparator = InputOTPSeparator;
|
|
14792
|
+
exports.InputOTPSlot = InputOTPSlot;
|
|
14194
14793
|
exports.Label = Label3;
|
|
14195
14794
|
exports.LineChart = LineChart;
|
|
14196
14795
|
exports.Link = Link;
|
|
@@ -14366,6 +14965,7 @@ exports.useDisableToc = useDisableToc;
|
|
|
14366
14965
|
exports.useFormField = useFormField;
|
|
14367
14966
|
exports.useIsMobile = useIsMobile;
|
|
14368
14967
|
exports.useOnWindowResize = useOnWindowResize;
|
|
14968
|
+
exports.usePageHeadings = usePageHeadings;
|
|
14369
14969
|
exports.useToc = useToc;
|
|
14370
14970
|
//# sourceMappingURL=index.cjs.map
|
|
14371
14971
|
//# sourceMappingURL=index.cjs.map
|