@akira-io/ui 1.2.0 → 1.3.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/blocks.js +9 -8
- package/dist/blocks.js.map +1 -1
- package/dist/{chunk-DW42Z75X.js → chunk-7LBWPBVE.js} +4 -4
- package/dist/chunk-7LBWPBVE.js.map +1 -0
- package/dist/{chunk-2HLBBU3O.js → chunk-IE6VWUSB.js} +6 -5
- package/dist/chunk-IE6VWUSB.js.map +1 -0
- package/dist/{chunk-SH5QZCOW.js → chunk-NA33PNQO.js} +4 -4
- package/dist/{chunk-SH5QZCOW.js.map → chunk-NA33PNQO.js.map} +1 -1
- package/dist/{chunk-3HKIYFWI.js → chunk-PSJGAZIS.js} +4 -4
- package/dist/{chunk-3HKIYFWI.js.map → chunk-PSJGAZIS.js.map} +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +7 -7
- package/dist/index.js.map +1 -1
- package/dist/inertia.js +2 -2
- package/dist/shells.js +4 -4
- package/package.json +1 -1
- package/theme.css +6 -3
- package/dist/chunk-2HLBBU3O.js.map +0 -1
- package/dist/chunk-DW42Z75X.js.map +0 -1
package/dist/inertia.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { TourProvider } from './chunk-NGMG2UWX.js';
|
|
2
2
|
import './chunk-QNF4LJVT.js';
|
|
3
|
-
import { AppSidebar, AppSidebarHeader, Breadcrumbs, NavMain, SettingsLayout } from './chunk-
|
|
4
|
-
import './chunk-
|
|
3
|
+
import { AppSidebar, AppSidebarHeader, Breadcrumbs, NavMain, SettingsLayout } from './chunk-NA33PNQO.js';
|
|
4
|
+
import './chunk-PSJGAZIS.js';
|
|
5
5
|
import './chunk-L2H5GIF7.js';
|
|
6
6
|
import './chunk-UTSTTTH5.js';
|
|
7
7
|
import './chunk-I5UZAJB4.js';
|
package/dist/shells.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export { initializeTheme, useAppearance } from './chunk-IQMRJXEO.js';
|
|
2
|
-
import { Card } from './chunk-
|
|
3
|
-
export { AppSidebar, AppSidebarHeader, Breadcrumbs, Heading, NavFooter, NavMain, NavUser, SIDEBAR_COLLAPSED_GROUPS_KEY, SettingsLayout, UserInfo, UserMenuContent, useCollapsedGroup, useInitials } from './chunk-
|
|
4
|
-
import { SidebarInset, SidebarProvider } from './chunk-
|
|
5
|
-
export { useIsMobile } from './chunk-
|
|
2
|
+
import { Card } from './chunk-IE6VWUSB.js';
|
|
3
|
+
export { AppSidebar, AppSidebarHeader, Breadcrumbs, Heading, NavFooter, NavMain, NavUser, SIDEBAR_COLLAPSED_GROUPS_KEY, SettingsLayout, UserInfo, UserMenuContent, useCollapsedGroup, useInitials } from './chunk-NA33PNQO.js';
|
|
4
|
+
import { SidebarInset, SidebarProvider } from './chunk-PSJGAZIS.js';
|
|
5
|
+
export { useIsMobile } from './chunk-PSJGAZIS.js';
|
|
6
6
|
export { hrefToString } from './chunk-L2H5GIF7.js';
|
|
7
7
|
import './chunk-UTSTTTH5.js';
|
|
8
8
|
import { cn } from './chunk-I5UZAJB4.js';
|
package/package.json
CHANGED
package/theme.css
CHANGED
|
@@ -70,12 +70,13 @@
|
|
|
70
70
|
--color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
|
|
71
71
|
--color-sidebar-accent: var(--sidebar-accent);
|
|
72
72
|
--color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
|
|
73
|
+
--color-sidebar-accent-hover: var(--sidebar-accent-hover);
|
|
73
74
|
--color-sidebar-border: var(--sidebar-border);
|
|
74
75
|
--color-sidebar-ring: var(--sidebar-ring);
|
|
75
76
|
}
|
|
76
77
|
|
|
77
78
|
:root {
|
|
78
|
-
--background: oklch(
|
|
79
|
+
--background: oklch(0.978 0 0);
|
|
79
80
|
--foreground: oklch(0.145 0 0);
|
|
80
81
|
--card: oklch(1 0 0);
|
|
81
82
|
--card-foreground: oklch(0.145 0 0);
|
|
@@ -89,7 +90,7 @@
|
|
|
89
90
|
--muted-foreground: oklch(0.556 0 0);
|
|
90
91
|
--accent: oklch(0.97 0 0);
|
|
91
92
|
--accent-foreground: oklch(0.205 0 0);
|
|
92
|
-
--destructive: oklch(0.
|
|
93
|
+
--destructive: oklch(0.565 0.245 27.325);
|
|
93
94
|
--destructive-foreground: oklch(0.985 0 0);
|
|
94
95
|
--success: oklch(0.508 0.118 165.612);
|
|
95
96
|
--success-foreground: oklch(0.985 0 0);
|
|
@@ -114,12 +115,13 @@
|
|
|
114
115
|
--input: oklch(0.922 0 0);
|
|
115
116
|
--ring: var(--primary);
|
|
116
117
|
--radius: 0.625rem;
|
|
117
|
-
--sidebar: oklch(0.
|
|
118
|
+
--sidebar: oklch(0.935 0 0);
|
|
118
119
|
--sidebar-foreground: oklch(0.145 0 0);
|
|
119
120
|
--sidebar-primary: var(--primary);
|
|
120
121
|
--sidebar-primary-foreground: var(--primary-foreground);
|
|
121
122
|
--sidebar-accent: oklch(0.97 0 0);
|
|
122
123
|
--sidebar-accent-foreground: oklch(0.205 0 0);
|
|
124
|
+
--sidebar-accent-hover: oklch(0.955 0 0);
|
|
123
125
|
--sidebar-border: oklch(0.922 0 0);
|
|
124
126
|
--sidebar-ring: oklch(0.87 0 0);
|
|
125
127
|
}
|
|
@@ -168,6 +170,7 @@
|
|
|
168
170
|
--sidebar-primary-foreground: var(--primary-foreground);
|
|
169
171
|
--sidebar-accent: oklch(0.269 0 0);
|
|
170
172
|
--sidebar-accent-foreground: oklch(0.985 0 0);
|
|
173
|
+
--sidebar-accent-hover: oklch(0.3 0 0);
|
|
171
174
|
--sidebar-border: oklch(0.269 0 0);
|
|
172
175
|
--sidebar-ring: oklch(0.439 0 0);
|
|
173
176
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/ui/card.tsx"],"names":[],"mappings":"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","file":"chunk-2HLBBU3O.js","sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\nimport * as React from 'react';\n\nimport {\n elevatedSurface,\n flatSurface,\n recessedSurface,\n type FlatSurfaceProps,\n} from '@/lib/language';\nimport { cn } from '@/lib/utils';\nimport type { SlotNameProps } from '@/types';\n\nconst cardVariants = cva(\n `relative flex flex-col gap-6 overflow-hidden text-card-foreground ${elevatedSurface}`,\n {\n variants: {\n variant: {\n default: 'bg-card/60',\n subtle: 'border-border/60 bg-card/40',\n solid: 'bg-card',\n },\n interactive: {\n true: 'transition-colors duration-200 hover:border-foreground/20',\n false: '',\n },\n padding: { none: 'py-0', sm: 'py-4', md: 'py-6', lg: 'py-8' },\n },\n defaultVariants: {\n variant: 'default',\n interactive: false,\n padding: 'md',\n },\n },\n);\n\ntype CardProps = React.ComponentProps<'div'> &\n VariantProps<typeof cardVariants> &\n FlatSurfaceProps;\n\nfunction Card({\n className,\n variant,\n interactive,\n padding,\n inset = false,\n flat = false,\n slotName = 'card',\n ...props\n}: CardProps & SlotNameProps) {\n return (\n <div\n data-inset={inset || undefined}\n data-flat={flat || undefined}\n className={cn(\n cardVariants({ variant, interactive, padding }),\n flat && flatSurface,\n inset && recessedSurface,\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction CardHeader({\n className,\n slotName = 'card-header',\n ...props\n}: React.ComponentProps<'div'> & SlotNameProps) {\n return (\n <div\n className={cn('gap-1.5 px-6 flex flex-col', className)}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction CardTitle({\n className,\n slotName = 'card-title',\n ...props\n}: React.ComponentProps<'div'> & SlotNameProps) {\n return (\n <div\n className={cn('font-semibold leading-none', className)}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction CardDescription({\n className,\n slotName = 'card-description',\n ...props\n}: React.ComponentProps<'div'> & SlotNameProps) {\n return (\n <div\n className={cn('text-sm text-muted-foreground', className)}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction CardContent({\n className,\n slotName = 'card-content',\n ...props\n}: React.ComponentProps<'div'> & SlotNameProps) {\n return (\n <div\n className={cn('px-6', className)}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction CardFooter({\n className,\n slotName = 'card-footer',\n ...props\n}: React.ComponentProps<'div'> & SlotNameProps) {\n return (\n <div\n className={cn('px-6 flex items-center', className)}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nexport {\n Card,\n CardContent,\n CardDescription,\n CardFooter,\n CardHeader,\n CardTitle,\n cardVariants,\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/ui/confirm-dialog.tsx","../src/components/ui/alert.tsx","../src/components/ui/calendar.tsx","../src/components/ui/command.tsx","../src/components/ui/popover.tsx","../src/components/ui/select.tsx","../src/components/ui/field-context.ts","../src/components/ui/field-error.tsx","../src/components/ui/floating-sheet-context.ts","../src/components/ui/floating-sheet-stack.tsx","../src/components/ui/floating-sheet.tsx","../src/components/ui/input-otp.tsx","../src/components/ui/switch.tsx","../src/components/ui/tabs.tsx","../src/components/ui/textarea.tsx"],"names":["jsx","className","props","React","CommandPrimitive","jsxs","PopoverPrimitive","React2","ChevronDownIcon","React3","React4","React5","React7","React8","React9","React10"],"mappings":";;;;;;;;;;;;;;;;;;;AAwBO,IAAM,0BAAA,GAAkD;AAAA,EAC3D,KAAA,EAAO,gBAAA;AAAA,EACP,WAAA,EACI,kEAAA;AAAA,EACJ,WAAA,EAAa,SAAA;AAAA,EACb,UAAA,EAAY;AAChB;AAiBO,SAAS,aAAA,CAAc;AAAA,EAC1B,IAAA;AAAA,EACA,YAAA;AAAA,EACA,KAAA;AAAA,EACA,WAAA;AAAA,EACA,WAAA;AAAA,EACA,UAAA;AAAA,EACA,OAAA,GAAU,aAAA;AAAA,EACV,UAAA,GAAa,KAAA;AAAA,EACb,aAAA;AAAA,EACA,kBAAA,GAAqB,2BAAA;AAAA,EACrB,SAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA,GAAW;AACf,CAAA,EAAuC;AACnC,EAAA,MAAM,MAAA,GAAS,WAAA,CAAY,eAAA,EAAiB,0BAAA,EAA4B;AAAA,IACpE,KAAA;AAAA,IACA,WAAA;AAAA,IACA;AAAA,GACH,CAAA;AACD,EAAA,MAAM,mBAAA,GAAsB,eAAe,MAAA,CAAO,WAAA;AAClD,EAAA,MAAM,UAAU,KAAA,EAAM;AACtB,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAI,SAAS,EAAE,CAAA;AAC/C,EAAA,MAAM,QAAA,GACF,aAAA,KAAkB,MAAA,IAAa,UAAA,KAAe,aAAA;AAElD,EAAA,SAAA,CAAU,MAAM;AACZ,IAAA,IAAI,CAAC,IAAA,EAAM;AACP,MAAA,aAAA,CAAc,EAAE,CAAA;AAAA,IACpB;AAAA,EACJ,CAAA,EAAG,CAAC,IAAI,CAAC,CAAA;AAET,EAAA,MAAM,gBAAgB,MAAM;AACxB,IAAA,IAAI,UAAA,IAAc,CAAC,QAAA,EAAU;AACzB,MAAA;AAAA,IACJ;AACA,IAAA,SAAA,EAAU;AACV,IAAA,YAAA,CAAa,KAAK,CAAA;AAAA,EACtB,CAAA;AAEA,EAAA,MAAM,eAAe,MAAM;AACvB,IAAA,IAAI,UAAA,EAAY;AACZ,MAAA;AAAA,IACJ;AACA,IAAA,QAAA,IAAW;AACX,IAAA,YAAA,CAAa,KAAK,CAAA;AAAA,EACtB,CAAA;AAEA,EAAA,uBACI,GAAA,CAAC,UAAO,IAAA,EAAY,YAAA,EAChB,+BAAC,aAAA,EAAA,EAAc,SAAA,EAAU,gBAAe,QAAA,EACpC,QAAA,EAAA;AAAA,oBAAA,IAAA,CAAC,YAAA,EAAA,EAAa,WAAU,YAAA,EACpB,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,KAAA,EAAA,EAAI,WAAU,0BAAA,EACX,QAAA,kBAAA,GAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACG,SAAA,EAAW,EAAA;AAAA,YACP,gEAAA;AAAA,YACA,OAAA,KAAY,gBACN,kEAAA,GACA;AAAA,WACV;AAAA,UAEA,QAAA,kBAAA,GAAA,CAAC,WAAA,EAAA,EAAY,SAAA,EAAU,SAAA,EAAU;AAAA;AAAA,OACrC,EACJ,CAAA;AAAA,sBACA,GAAA,CAAC,WAAA,EAAA,EAAa,QAAA,EAAA,MAAA,CAAO,KAAA,EAAM,CAAA;AAAA,sBAC3B,GAAA,CAAC,qBAAmB,QAAA,EAAA,mBAAA,EAAoB;AAAA,KAAA,EAC5C,CAAA;AAAA,IAEC,kBAAkB,MAAA,oBACf,IAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACG,WAAA,EAAU,qBAAA;AAAA,QACV,SAAA,EAAU,kCAAA;AAAA,QAEV,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,KAAA,EAAA,EAAM,OAAA,EAAS,OAAA,EACX,QAAA,EAAA,kBAAA,CAAmB,OAAA;AAAA,YAChB,WAAA;AAAA,YACA;AAAA,WACJ,EACJ,CAAA;AAAA,0BACA,GAAA;AAAA,YAAC,KAAA;AAAA,YAAA;AAAA,cACG,EAAA,EAAI,OAAA;AAAA,cACJ,KAAA,EAAO,UAAA;AAAA,cACP,YAAA,EAAa,KAAA;AAAA,cACb,QAAA,EAAU,UAAA;AAAA,cACV,UAAU,CAAC,KAAA,KACP,aAAA,CAAc,KAAA,CAAM,OAAO,KAAK;AAAA;AAAA;AAExC;AAAA;AAAA,KACJ;AAAA,wBAGH,YAAA,EAAA,EAAa,SAAA,EAAU,cACpB,QAAA,kBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,kCAAA,EACX,QAAA,EAAA;AAAA,sBAAA,GAAA;AAAA,QAAC,MAAA;AAAA,QAAA;AAAA,UACG,IAAA,EAAK,QAAA;AAAA,UACL,OAAA,EAAQ,OAAA;AAAA,UACR,QAAA,EAAU,UAAA;AAAA,UACV,OAAA,EAAS,YAAA;AAAA,UACT,SAAA,EAAU,uBAAA;AAAA,UAET,QAAA,EAAA,MAAA,CAAO;AAAA;AAAA,OACZ;AAAA,sBACA,IAAA;AAAA,QAAC,MAAA;AAAA,QAAA;AAAA,UACG,OAAA;AAAA,UACA,QAAA,EAAU,cAAc,CAAC,QAAA;AAAA,UACzB,OAAA,EAAS,aAAA;AAAA,UAER,QAAA,EAAA;AAAA,YAAA,MAAA,CAAO,WAAA;AAAA,4BACR,GAAA,CAAC,YAAA,EAAA,EAAa,SAAA,EAAU,cAAA,EAAe;AAAA;AAAA;AAAA;AAC3C,KAAA,EACJ,CAAA,EACJ;AAAA,GAAA,EACJ,CAAA,EACJ,CAAA;AAER;AC1JA,IAAM,aAAA,GAAgB,GAAA;AAAA,EAClB,GAAG,eAAe,CAAA,gNAAA,CAAA;AAAA,EAClB;AAAA,IACI,QAAA,EAAU;AAAA,MACN,OAAA,EAAS;AAAA,QACL,OAAA,EAAS,iCAAA;AAAA,QACT,WAAA,EACI,mIAAA;AAAA,QACJ,OAAA,EACI,4FAAA;AAAA,QACJ,IAAA,EAAM;AAAA;AACV,KACJ;AAAA,IACA,eAAA,EAAiB;AAAA,MACb,OAAA,EAAS;AAAA;AACb;AAER,CAAA;AAOO,IAAM,kBAAA,GAAkC;AAAA,EAC3C,YAAA,EAAc,SAAA;AAAA,EACd,SAAA,EAAW;AACf;AAIA,IAAM,eAAA,GAEF;AAAA,EACA,OAAA,EAAS,cAAA;AAAA,EACT,IAAA,EAAM;AACV,CAAA;AAEA,SAAS,KAAA,CAAM;AAAA,EACX,SAAA;AAAA,EACA,OAAA;AAAA,EACA,MAAA;AAAA,EACA,QAAA,GAAW,OAAA;AAAA,EACX,GAAG;AACP,CAAA,EAEuD;AACnD,EAAA,MAAM,QAAA,GAAW,WAAA,CAAY,OAAA,EAAS,kBAAA,EAAoB,MAAM,CAAA;AAChE,EAAA,MAAM,QAAA,GAAW,OAAA,GAAU,eAAA,CAAgB,OAAO,CAAA,GAAI,MAAA;AAEtD,EAAA,uBACIA,GAAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACG,IAAA,EAAK,OAAA;AAAA,MACL,YAAA,EAAY,QAAA,GAAW,QAAA,CAAS,QAAQ,CAAA,GAAI,MAAA;AAAA,MAC5C,WAAW,EAAA,CAAG,aAAA,CAAc,EAAE,OAAA,EAAS,GAAG,SAAS,CAAA;AAAA,MAClD,GAAG,KAAA;AAAA,MACJ,WAAA,EAAW;AAAA;AAAA,GACf;AAER;AAEA,SAAS,UAAA,CAAW;AAAA,EAChB,SAAA;AAAA,EACA,QAAA,GAAW,aAAA;AAAA,EACX,GAAG;AACP,CAAA,EAAgD;AAC5C,EAAA,uBACIA,GAAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACG,SAAA,EAAW,EAAA;AAAA,QACP,6DAAA;AAAA,QACA;AAAA,OACJ;AAAA,MACC,GAAG,KAAA;AAAA,MACJ,WAAA,EAAW;AAAA;AAAA,GACf;AAER;AAEA,SAAS,gBAAA,CAAiB;AAAA,EACtB,SAAA;AAAA,EACA,QAAA,GAAW,mBAAA;AAAA,EACX,GAAG;AACP,CAAA,EAAgD;AAC5C,EAAA,uBACIA,GAAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACG,SAAA,EAAW,EAAA;AAAA,QACP,gGAAA;AAAA,QACA;AAAA,OACJ;AAAA,MACC,GAAG,KAAA;AAAA,MACJ,WAAA,EAAW;AAAA;AAAA,GACf;AAER;ACpFA,SAAS,QAAA,CAAS;AAAA,EACd,SAAA;AAAA,EACA,UAAA;AAAA,EACA,eAAA,GAAkB,IAAA;AAAA,EAClB,aAAA,GAAgB,OAAA;AAAA,EAChB,aAAA,GAAgB,OAAA;AAAA,EAChB,UAAA;AAAA,EACA,UAAA;AAAA,EACA,QAAA,GAAW,UAAA;AAAA,EACX,GAAG;AACP,CAAA,EAEmB;AACf,EAAA,MAAM,oBAAoB,oBAAA,EAAqB;AAE/C,EAAA,uBACIA,GAAAA;AAAA,IAAC,SAAA;AAAA,IAAA;AAAA,MACG,eAAA;AAAA,MACA,SAAA,EAAW,EAAA;AAAA,QACP,eAAA;AAAA,QACA,kBAAA;AAAA,QACA,uDAAA;AAAA,QACA,MAAA,CAAO,GAAA,CAAA,yCAAA,CAAA;AAAA,QACP,MAAA,CAAO,GAAA,CAAA,6CAAA,CAAA;AAAA,QACP;AAAA,OACJ;AAAA,MACA,aAAA;AAAA,MACA,UAAA,EAAY;AAAA,QACR,mBAAA,EAAqB,CAAC,IAAA,KAClB,IAAA,CAAK,eAAe,SAAA,EAAW,EAAE,KAAA,EAAO,OAAA,EAAS,CAAA;AAAA,QACrD,GAAG;AAAA,OACP;AAAA,MACA,UAAA,EAAY;AAAA,QACR,IAAA,EAAM,EAAA,CAAG,OAAA,EAAS,iBAAA,CAAkB,IAAI,CAAA;AAAA,QACxC,MAAA,EAAQ,EAAA;AAAA,UACJ,0CAAA;AAAA,UACA,iBAAA,CAAkB;AAAA,SACtB;AAAA,QACA,KAAA,EAAO,EAAA;AAAA,UACH,4BAAA;AAAA,UACA,iBAAA,CAAkB;AAAA,SACtB;AAAA,QACA,GAAA,EAAK,EAAA;AAAA,UACD,yEAAA;AAAA,UACA,iBAAA,CAAkB;AAAA,SACtB;AAAA,QACA,eAAA,EAAiB,EAAA;AAAA,UACb,cAAA,CAAe,EAAE,OAAA,EAAS,aAAA,EAAe,CAAA;AAAA,UACzC,6DAAA;AAAA,UACA,iBAAA,CAAkB;AAAA,SACtB;AAAA,QACA,WAAA,EAAa,EAAA;AAAA,UACT,cAAA,CAAe,EAAE,OAAA,EAAS,aAAA,EAAe,CAAA;AAAA,UACzC,6DAAA;AAAA,UACA,iBAAA,CAAkB;AAAA,SACtB;AAAA,QACA,aAAA,EAAe,EAAA;AAAA,UACX,0EAAA;AAAA,UACA,iBAAA,CAAkB;AAAA,SACtB;AAAA,QACA,SAAA,EAAW,EAAA;AAAA,UACP,qFAAA;AAAA,UACA,iBAAA,CAAkB;AAAA,SACtB;AAAA,QACA,aAAA,EAAe,EAAA;AAAA,UACX,kJAAA;AAAA,UACA,iBAAA,CAAkB;AAAA,SACtB;AAAA,QACA,QAAA,EAAU,EAAA;AAAA,UACN,uCAAA;AAAA,UACA,iBAAA,CAAkB;AAAA,SACtB;AAAA,QACA,aAAA,EAAe,EAAA;AAAA,UACX,yBAAA;AAAA,UACA,aAAA,KAAkB,UACZ,SAAA,GACA,yGAAA;AAAA,UACN,iBAAA,CAAkB;AAAA,SACtB;AAAA,QACA,UAAA,EAAY,EAAA;AAAA,UACR,wBAAA;AAAA,UACA,iBAAA,CAAkB;AAAA,SACtB;AAAA,QACA,QAAA,EAAU,EAAA,CAAG,MAAA,EAAQ,iBAAA,CAAkB,QAAQ,CAAA;AAAA,QAC/C,OAAA,EAAS,EAAA;AAAA,UACL,+EAAA;AAAA,UACA,iBAAA,CAAkB;AAAA,SACtB;AAAA,QACA,IAAA,EAAM,EAAA,CAAG,kBAAA,EAAoB,iBAAA,CAAkB,IAAI,CAAA;AAAA,QACnD,kBAAA,EAAoB,EAAA;AAAA,UAChB,6BAAA;AAAA,UACA,iBAAA,CAAkB;AAAA,SACtB;AAAA,QACA,WAAA,EAAa,EAAA;AAAA,UACT,iDAAA;AAAA,UACA,iBAAA,CAAkB;AAAA,SACtB;AAAA,QACA,GAAA,EAAK,EAAA;AAAA,UACD,mIAAA;AAAA,UACA,KAAA,CAAM,iBACA,0DAAA,GACA,yDAAA;AAAA,UACN,iBAAA,CAAkB;AAAA,SACtB;AAAA,QACA,WAAA,EAAa,EAAA;AAAA,UACT,wBAAA;AAAA,UACA,iBAAA,CAAkB;AAAA,SACtB;AAAA,QACA,YAAA,EAAc,EAAA;AAAA,UACV,cAAA;AAAA,UACA,iBAAA,CAAkB;AAAA,SACtB;AAAA,QACA,SAAA,EAAW,EAAA;AAAA,UACP,wBAAA;AAAA,UACA,iBAAA,CAAkB;AAAA,SACtB;AAAA,QACA,KAAA,EAAO,EAAA;AAAA,UACH,+EAAA;AAAA,UACA,iBAAA,CAAkB;AAAA,SACtB;AAAA,QACA,OAAA,EAAS,EAAA;AAAA,UACL,2DAAA;AAAA,UACA,iBAAA,CAAkB;AAAA,SACtB;AAAA,QACA,QAAA,EAAU,EAAA;AAAA,UACN,kCAAA;AAAA,UACA,iBAAA,CAAkB;AAAA,SACtB;AAAA,QACA,MAAA,EAAQ,EAAA,CAAG,WAAA,EAAa,iBAAA,CAAkB,MAAM,CAAA;AAAA,QAChD,GAAG;AAAA,OACP;AAAA,MACA,UAAA,EAAY;AAAA,QACR,IAAA,EAAM,CAAC,EAAE,SAAA,EAAAC,YAAW,OAAA,EAAS,GAAGC,QAAM,KAAM;AACxC,UAAA,uBACIF,GAAAA;AAAA,YAAC,KAAA;AAAA,YAAA;AAAA,cACG,GAAA,EAAK,OAAA;AAAA,cACL,SAAA,EAAW,GAAGC,UAAS,CAAA;AAAA,cACtB,GAAGC,MAAAA;AAAA,cACJ,WAAA,EAAW;AAAA;AAAA,WACf;AAAA,QAER,CAAA;AAAA,QACA,OAAA,EAAS,CAAC,EAAE,SAAA,EAAAD,YAAW,WAAA,EAAa,GAAGC,QAAM,KAAM;AAC/C,UAAA,IAAI,gBAAgB,MAAA,EAAQ;AACxB,YAAA,uBACIF,GAAAA;AAAA,cAAC,eAAA;AAAA,cAAA;AAAA,gBACG,SAAA,EAAW,EAAA,CAAG,QAAA,EAAUC,UAAS,CAAA;AAAA,gBAChC,GAAGC;AAAA;AAAA,aACR;AAAA,UAER;AAEA,UAAA,IAAI,gBAAgB,OAAA,EAAS;AACzB,YAAA,uBACIF,GAAAA;AAAA,cAAC,gBAAA;AAAA,cAAA;AAAA,gBACG,SAAA,EAAW,EAAA,CAAG,QAAA,EAAUC,UAAS,CAAA;AAAA,gBAChC,GAAGC;AAAA;AAAA,aACR;AAAA,UAER;AAEA,UAAA,uBACIF,GAAAA;AAAA,YAAC,eAAA;AAAA,YAAA;AAAA,cACG,SAAA,EAAW,EAAA,CAAG,QAAA,EAAUC,UAAS,CAAA;AAAA,cAChC,GAAGC;AAAA;AAAA,WACR;AAAA,QAER,CAAA;AAAA,QACA,SAAA,EAAW,iBAAA;AAAA,QACX,YAAY,CAAC,EAAE,QAAA,EAAU,GAAGA,QAAM,KAAM;AACpC,UAAA,uBACIF,GAAAA,CAAC,IAAA,EAAA,EAAI,GAAGE,MAAAA,EACJ,QAAA,kBAAAF,GAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,iEAAA,EACV,QAAA,EACL,CAAA,EACJ,CAAA;AAAA,QAER,CAAA;AAAA,QACA,GAAG;AAAA,OACP;AAAA,MACC,GAAG;AAAA;AAAA,GACR;AAER;AAEA,SAAS,iBAAA,CAAkB;AAAA,EACvB,SAAA;AAAA,EACA,GAAA;AAAA,EACA,SAAA;AAAA,EACA,GAAG;AACP,CAAA,EAA2C;AACvC,EAAA,MAAM,oBAAoB,oBAAA,EAAqB;AAE/C,EAAA,MAAM,GAAA,GAAYG,cAA0B,IAAI,CAAA;AAChD,EAAMA,iBAAU,MAAM;AAClB,IAAA,IAAI,SAAA,CAAU,OAAA,EAAS,GAAA,CAAI,OAAA,EAAS,KAAA,EAAM;AAAA,EAC9C,CAAA,EAAG,CAAC,SAAA,CAAU,OAAO,CAAC,CAAA;AAEtB,EAAA,uBACIH,GAAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACG,GAAA;AAAA,MACA,OAAA,EAAQ,OAAA;AAAA,MACR,IAAA,EAAK,MAAA;AAAA,MACL,UAAA,EAAU,GAAA,CAAI,IAAA,CAAK,kBAAA,EAAmB;AAAA,MACtC,sBAAA,EACI,SAAA,CAAU,QAAA,IACV,CAAC,SAAA,CAAU,eACX,CAAC,SAAA,CAAU,SAAA,IACX,CAAC,SAAA,CAAU,YAAA;AAAA,MAEf,oBAAkB,SAAA,CAAU,WAAA;AAAA,MAC5B,kBAAgB,SAAA,CAAU,SAAA;AAAA,MAC1B,qBAAmB,SAAA,CAAU,YAAA;AAAA,MAC7B,SAAA,EAAW,EAAA;AAAA,QACP,k3BAAA;AAAA,QACA,iBAAA,CAAkB,GAAA;AAAA,QAClB;AAAA,OACJ;AAAA,MACC,GAAG;AAAA;AAAA,GACR;AAER;ACxNA,SAAS,OAAA,CAAQ;AAAA,EACb,SAAA;AAAA,EACA,QAAA,GAAW,SAAA;AAAA,EACX,GAAG;AACP,CAAA,EAAkE;AAC9D,EAAA,uBACIA,GAAAA;AAAA,IAACI,SAAA;AAAA,IAAA;AAAA,MACG,SAAA,EAAW,EAAA;AAAA,QACP,eAAA;AAAA,QACA,kBAAA;AAAA,QACA,0EAAA;AAAA,QACA;AAAA,OACJ;AAAA,MACC,GAAG,KAAA;AAAA,MACJ,WAAA,EAAW;AAAA;AAAA,GACf;AAER;AAEA,SAAS,aAAA,CAAc;AAAA,EACnB,KAAA,GAAQ,iBAAA;AAAA,EACR,WAAA,GAAc,gCAAA;AAAA,EACd,QAAA;AAAA,EACA,SAAA;AAAA,EACA,eAAA,GAAkB,IAAA;AAAA,EAClB,GAAG;AACP,CAAA,EAKG;AACC,EAAA,uBACIC,IAAAA,CAAC,MAAA,EAAA,EAAQ,GAAG,KAAA,EACR,QAAA,EAAA;AAAA,oBAAAA,IAAAA,CAAC,YAAA,EAAA,EAAa,SAAA,EAAU,SAAA,EACpB,QAAA,EAAA;AAAA,sBAAAL,GAAAA,CAAC,eAAa,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,sBACpBA,GAAAA,CAAC,iBAAA,EAAA,EAAmB,QAAA,EAAA,WAAA,EAAY;AAAA,KAAA,EACpC,CAAA;AAAA,oBACAA,GAAAA;AAAA,MAAC,aAAA;AAAA,MAAA;AAAA,QACG,SAAA,EAAW,EAAA;AAAA,UACP,GAAG,YAAY,CAAA,0BAAA,CAAA;AAAA,UACf;AAAA,SACJ;AAAA,QACA,eAAA;AAAA,QAEA,QAAA,kBAAAA,GAAAA,CAAC,OAAA,EAAA,EAAQ,SAAA,EAAU,4HACd,QAAA,EACL;AAAA;AAAA;AACJ,GAAA,EACJ,CAAA;AAER;AAEA,SAAS,YAAA,CAAa;AAAA,EAClB,SAAA;AAAA,EACA,QAAA,GAAW,eAAA;AAAA,EACX,GAAG;AACP,CAAA,EAAwE;AACpE,EAAA,uBACIA,GAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,mCACX,QAAA,kBAAAK,IAAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACG,WAAA,EAAU,uBAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACP,YAAA;AAAA,QACA;AAAA,OACJ;AAAA,MAEA,QAAA,EAAA;AAAA,wBAAAL,GAAAA,CAAC,UAAA,EAAA,EAAW,SAAA,EAAU,4BAAA,EAA6B,CAAA;AAAA,wBACnDA,GAAAA;AAAA,UAACI,SAAA,CAAiB,KAAA;AAAA,UAAjB;AAAA,YACG,SAAA,EAAW,EAAA;AAAA,cACP,sJAAA;AAAA,cACA;AAAA,aACJ;AAAA,YACC,GAAG,KAAA;AAAA,YACJ,WAAA,EAAW;AAAA;AAAA;AACf;AAAA;AAAA,GACJ,EACJ,CAAA;AAER;AAEA,SAAS,WAAA,CAAY;AAAA,EACjB,SAAA;AAAA,EACA,QAAA,GAAW,cAAA;AAAA,EACX,GAAG;AACP,CAAA,EAAuE;AACnE,EAAA,uBACIJ,GAAAA;AAAA,IAACI,SAAA,CAAiB,IAAA;AAAA,IAAjB;AAAA,MACG,SAAA,EAAW,EAAA;AAAA,QACP,6DAAA;AAAA,QACA;AAAA,OACJ;AAAA,MACC,GAAG,KAAA;AAAA,MACJ,WAAA,EAAW;AAAA;AAAA,GACf;AAER;AAEA,SAAS,YAAA,CAAa;AAAA,EAClB,SAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA,GAAW,eAAA;AAAA,EACX,GAAG;AACP,CAAA,EAAwE;AACpE,EAAA,uBACIC,IAAAA;AAAA,IAACD,SAAA,CAAiB,KAAA;AAAA,IAAjB;AAAA,MACG,SAAA,EAAW,EAAA;AAAA,QACP,wEAAA;AAAA,QACA;AAAA,OACJ;AAAA,MACC,GAAG,KAAA;AAAA,MACJ,WAAA,EAAW,QAAA;AAAA,MAEX,QAAA,EAAA;AAAA,wBAAAJ,GAAAA,CAAC,UAAK,SAAA,EAAU,iGAAA,EACZ,0BAAAA,GAAAA,CAAC,WAAA,EAAA,EAAY,SAAA,EAAU,QAAA,EAAS,CAAA,EACpC,CAAA;AAAA,wBACAA,GAAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,iCAAiC,QAAA,EAAS;AAAA;AAAA;AAAA,GAC9D;AAER;AAEA,SAAS,YAAA,CAAa;AAAA,EAClB,SAAA;AAAA,EACA,QAAA,GAAW,eAAA;AAAA,EACX,GAAG;AACP,CAAA,EAAwE;AACpE,EAAA,uBACIA,GAAAA;AAAA,IAACI,SAAA,CAAiB,KAAA;AAAA,IAAjB;AAAA,MACG,SAAA,EAAW,EAAA;AAAA,QACP,wNAAA;AAAA,QACA;AAAA,OACJ;AAAA,MACC,GAAG,KAAA;AAAA,MACJ,WAAA,EAAW;AAAA;AAAA,GACf;AAER;AAEA,SAAS,gBAAA,CAAiB;AAAA,EACtB,SAAA;AAAA,EACA,QAAA,GAAW,mBAAA;AAAA,EACX,GAAG;AACP,CAAA,EAA4E;AACxE,EAAA,uBACIJ,GAAAA;AAAA,IAACI,SAAA,CAAiB,SAAA;AAAA,IAAjB;AAAA,MACG,SAAA,EAAW,EAAA,CAAG,qBAAA,EAAuB,SAAS,CAAA;AAAA,MAC7C,GAAG,KAAA;AAAA,MACJ,WAAA,EAAW;AAAA;AAAA,GACf;AAER;AAEA,SAAS,WAAA,CAAY;AAAA,EACjB,SAAA;AAAA,EACA,QAAA,GAAW,cAAA;AAAA,EACX,GAAG;AACP,CAAA,EAAuE;AACnE,EAAA,uBACIJ,GAAAA;AAAA,IAACI,SAAA,CAAiB,IAAA;AAAA,IAAjB;AAAA,MACG,SAAA,EAAW,EAAA;AAAA,QACP,qYAAA;AAAA,QACA;AAAA,OACJ;AAAA,MACC,GAAG,KAAA;AAAA,MACJ,WAAA,EAAW;AAAA;AAAA,GACf;AAER;AAEA,SAAS,eAAA,CAAgB;AAAA,EACrB,SAAA;AAAA,EACA,QAAA,GAAW,kBAAA;AAAA,EACX,GAAG;AACP,CAAA,EAAiD;AAC7C,EAAA,uBACIJ,GAAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACG,SAAA,EAAW,EAAA;AAAA,QACP,uDAAA;AAAA,QACA;AAAA,OACJ;AAAA,MACC,GAAG,KAAA;AAAA,MACJ,WAAA,EAAW;AAAA;AAAA,GACf;AAER;ACvMA,IAAM,UAAUM,SAAA,CAAiB;AAEjC,IAAM,iBAAiBA,SAAA,CAAiB;AAExC,IAAM,gBAAgBA,SAAA,CAAiB;AAEvC,IAAM,cAAA,GAAuBC,MAAA,CAAA,UAAA;AAAA,EAKzB,CACI;AAAA,IACI,SAAA;AAAA,IACA,KAAA,GAAQ,QAAA;AAAA,IACR,UAAA,GAAa,CAAA;AAAA,IACb,QAAA,GAAW,iBAAA;AAAA,IACX,GAAG;AAAA,KAEP,GAAA,qBAEAP,IAACM,SAAA,CAAiB,MAAA,EAAjB,EACG,QAAA,kBAAAN,GAAAA;AAAA,IAACM,SAAA,CAAiB,OAAA;AAAA,IAAjB;AAAA,MACG,GAAA;AAAA,MACA,KAAA;AAAA,MACA,UAAA;AAAA,MACA,SAAA,EAAW,EAAA;AAAA,QACP,GAAG,YAAY,CAAA,8aAAA,CAAA;AAAA,QACf;AAAA,OACJ;AAAA,MACC,GAAG,KAAA;AAAA,MACJ,WAAA,EAAW;AAAA;AAAA,GACf,EACJ;AAER;AACA,cAAA,CAAe,WAAA,GAAcA,UAAiB,OAAA,CAAQ,WAAA;ACnCtD,SAAS,MAAA,CAAO;AAAA,EACZ,QAAA,GAAW,QAAA;AAAA,EACX,GAAG;AACP,CAAA,EAAsE;AAClE,EAAA,uBAAON,GAAAA,CAAiB,eAAA,CAAA,IAAA,EAAhB,EAAsB,GAAG,KAAA,EAAO,aAAW,QAAA,EAAU,CAAA;AACjE;AAEA,SAAS,WAAA,CAAY;AAAA,EACjB,QAAA,GAAW,cAAA;AAAA,EACX,GAAG;AACP,CAAA,EAAuE;AACnE,EAAA,uBAAOA,GAAAA,CAAiB,eAAA,CAAA,KAAA,EAAhB,EAAuB,GAAG,KAAA,EAAO,aAAW,QAAA,EAAU,CAAA;AAClE;AAEA,SAAS,WAAA,CAAY;AAAA,EACjB,QAAA,GAAW,cAAA;AAAA,EACX,GAAG;AACP,CAAA,EAAuE;AACnE,EAAA,uBAAOA,GAAAA,CAAiB,eAAA,CAAA,KAAA,EAAhB,EAAuB,GAAG,KAAA,EAAO,aAAW,QAAA,EAAU,CAAA;AAClE;AAEA,SAAS,aAAA,CAAc;AAAA,EACnB,SAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA,GAAW,gBAAA;AAAA,EACX,GAAG;AACP,CAAA,EAAyE;AACrE,EAAA,uBACIK,IAAAA;AAAA,IAAiB,eAAA,CAAA,OAAA;AAAA,IAAhB;AAAA,MACG,SAAA,EAAW,EAAA;AAAA,QACP,CAAA,EAAG,YAAY,CAAA,idAAA,EAAod,UAAU,CAAA,CAAA;AAAA,QAC7e;AAAA,OACJ;AAAA,MACC,GAAG,KAAA;AAAA,MACJ,WAAA,EAAW,QAAA;AAAA,MAEV,QAAA,EAAA;AAAA,QAAA,QAAA;AAAA,wBACDL,GAAAA,CAAiB,eAAA,CAAA,IAAA,EAAhB,EAAqB,OAAA,EAAO,IAAA,EACzB,QAAA,kBAAAA,GAAAA,CAACQ,eAAAA,EAAA,EAAgB,SAAA,EAAU,mBAAA,EAAoB,CAAA,EACnD;AAAA;AAAA;AAAA,GACJ;AAER;AAEA,SAAS,aAAA,CAAc;AAAA,EACnB,SAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA,GAAW,QAAA;AAAA,EACX,QAAA,GAAW,gBAAA;AAAA,EACX,GAAG;AACP,CAAA,EAAyE;AACrE,EAAA,uBACIR,GAAAA,CAAiB,eAAA,CAAA,MAAA,EAAhB,EACG,QAAA,kBAAAK,IAAAA;AAAA,IAAiB,eAAA,CAAA,OAAA;AAAA,IAAhB;AAAA,MACG,SAAA,EAAW,EAAA;AAAA,QACP,GAAG,WAAW,CAAA,mZAAA,CAAA;AAAA,QACd,aAAa,QAAA,IACT,iIAAA;AAAA,QACJ;AAAA,OACJ;AAAA,MACA,QAAA;AAAA,MACC,GAAG,KAAA;AAAA,MACJ,WAAA,EAAW,QAAA;AAAA,MAEX,QAAA,EAAA;AAAA,wBAAAL,IAAC,oBAAA,EAAA,EAAqB,CAAA;AAAA,wBACtBA,GAAAA;AAAA,UAAiB,eAAA,CAAA,QAAA;AAAA,UAAhB;AAAA,YACG,SAAA,EAAW,EAAA;AAAA,cACP,KAAA;AAAA,cACA,aAAa,QAAA,IACT;AAAA,aACR;AAAA,YAEC;AAAA;AAAA,SACL;AAAA,wBACAA,IAAC,sBAAA,EAAA,EAAuB;AAAA;AAAA;AAAA,GAC5B,EACJ,CAAA;AAER;AAEA,SAAS,WAAA,CAAY;AAAA,EACjB,SAAA;AAAA,EACA,QAAA,GAAW,cAAA;AAAA,EACX,GAAG;AACP,CAAA,EAAuE;AACnE,EAAA,uBACIA,GAAAA;AAAA,IAAiB,eAAA,CAAA,KAAA;AAAA,IAAhB;AAAA,MACG,SAAA,EAAW,EAAA;AAAA,QACP,gFAAA;AAAA,QACA;AAAA,OACJ;AAAA,MACC,GAAG,KAAA;AAAA,MACJ,WAAA,EAAW;AAAA;AAAA,GACf;AAER;AAEA,SAAS,UAAA,CAAW;AAAA,EAChB,SAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA,GAAW,aAAA;AAAA,EACX,GAAG;AACP,CAAA,EAAsE;AAClE,EAAA,uBACIK,IAAAA;AAAA,IAAiB,eAAA,CAAA,IAAA;AAAA,IAAhB;AAAA,MACG,SAAA,EAAW,EAAA;AAAA,QACP,+bAAA;AAAA,QACA;AAAA,OACJ;AAAA,MACC,GAAG,KAAA;AAAA,MACJ,WAAA,EAAW,QAAA;AAAA,MAEX,QAAA,EAAA;AAAA,wBAAAL,GAAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,4DAAA,EACZ,0BAAAA,GAAAA,CAAiB,eAAA,CAAA,aAAA,EAAhB,EACG,QAAA,kBAAAA,GAAAA,CAAC,SAAA,EAAA,EAAU,SAAA,EAAU,QAAA,EAAS,GAClC,CAAA,EACJ,CAAA;AAAA,wBACAA,GAAAA,CAAiB,eAAA,CAAA,QAAA,EAAhB,EAA0B,QAAA,EAAS;AAAA;AAAA;AAAA,GACxC;AAER;AAEA,SAAS,eAAA,CAAgB;AAAA,EACrB,SAAA;AAAA,EACA,QAAA,GAAW,kBAAA;AAAA,EACX,GAAG;AACP,CAAA,EAA2E;AACvE,EAAA,uBACIA,GAAAA;AAAA,IAAiB,eAAA,CAAA,SAAA;AAAA,IAAhB;AAAA,MACG,SAAA,EAAW,EAAA;AAAA,QACP,+CAAA;AAAA,QACA;AAAA,OACJ;AAAA,MACC,GAAG,KAAA;AAAA,MACJ,WAAA,EAAW;AAAA;AAAA,GACf;AAER;AAEA,SAAS,oBAAA,CAAqB;AAAA,EAC1B,SAAA;AAAA,EACA,QAAA,GAAW,yBAAA;AAAA,EACX,GAAG;AACP,CAAA,EACmB;AACf,EAAA,uBACIA,GAAAA;AAAA,IAAiB,eAAA,CAAA,cAAA;AAAA,IAAhB;AAAA,MACG,SAAA,EAAW,EAAA;AAAA,QACP,sDAAA;AAAA,QACA;AAAA,OACJ;AAAA,MACC,GAAG,KAAA;AAAA,MACJ,WAAA,EAAW,QAAA;AAAA,MAEX,QAAA,kBAAAA,GAAAA,CAAC,aAAA,EAAA,EAAc,SAAA,EAAU,QAAA,EAAS;AAAA;AAAA,GACtC;AAER;AAEA,SAAS,sBAAA,CAAuB;AAAA,EAC5B,SAAA;AAAA,EACA,QAAA,GAAW,2BAAA;AAAA,EACX,GAAG;AACP,CAAA,EACmB;AACf,EAAA,uBACIA,GAAAA;AAAA,IAAiB,eAAA,CAAA,gBAAA;AAAA,IAAhB;AAAA,MACG,SAAA,EAAW,EAAA;AAAA,QACP,sDAAA;AAAA,QACA;AAAA,OACJ;AAAA,MACC,GAAG,KAAA;AAAA,MACJ,WAAA,EAAW,QAAA;AAAA,MAEX,QAAA,kBAAAA,GAAAA,CAACQ,eAAAA,EAAA,EAAgB,WAAU,QAAA,EAAS;AAAA;AAAA,GACxC;AAER;AC1KO,IAAM,YAAA,GAAqBC,qBAAwC,IAAI;AAEvE,SAAS,gBAAA,GAA6C;AACzD,EAAA,OAAaA,kBAAW,YAAY,CAAA;AACxC;AAEO,SAAS,QAAA,GAA8B;AAC1C,EAAA,MAAM,QAAQ,gBAAA,EAAiB;AAE/B,EAAA,IAAI,CAAC,KAAA,EAAO;AACR,IAAA,MAAM,IAAI,MAAM,8CAA8C,CAAA;AAAA,EAClE;AAEA,EAAA,OAAO,KAAA;AACX;ACnBO,SAAS,UAAA,CAAW;AAAA,EACvB,OAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA,GAAW,aAAA;AAAA,EACX,GAAG;AACP,CAAA,EAAoC;AAChC,EAAA,MAAM,QAAQ,gBAAA,EAAiB;AAE/B,EAAA,IAAI,CAAC,OAAA,EAAS;AACV,IAAA,OAAO,IAAA;AAAA,EACX;AAEA,EAAA,uBACIT,GAAAA;AAAA,IAAC,GAAA;AAAA,IAAA;AAAA,MACG,IAAI,KAAA,EAAO,OAAA;AAAA,MACX,SAAA,EAAW,EAAA;AAAA,QACP,sJAAA;AAAA,QACA;AAAA,OACJ;AAAA,MACC,GAAG,KAAA;AAAA,MACJ,WAAA,EAAW,QAAA;AAAA,MAEV,QAAA,EAAA;AAAA;AAAA,GACL;AAER;AC5BO,IAAM,0BAAA,GAAkD;AAAA,EAC3D,SAAA,EAAW,MAAA;AAAA,EACX,UAAA,EAAY;AAChB;AAEO,IAAM,2BAAA,GAA8B,CAAA;AAkBpC,IAAM,yBAAA,GACHU,qBAAqD,IAAI,CAAA;AAE5D,SAAS,qBAAA,GAAwD;AACpE,EAAA,MAAM,OAAA,GAAgBA,kBAAW,yBAAyB,CAAA;AAE1D,EAAA,IAAI,CAAC,OAAA,EAAS;AACV,IAAA,MAAM,IAAI,KAAA;AAAA,MACN;AAAA,KACJ;AAAA,EACJ;AAEA,EAAA,OAAO,OAAA;AACX;AC9BO,SAAS,kBAAA,CAAmB;AAAA,EAC/B,QAAA;AAAA,EACA,MAAA;AAAA,EACA,QAAA,GAAW;AACf,CAAA,EAGmB;AACf,EAAA,MAAM,EAAE,SAAA,EAAW,UAAA,EAAW,GAAI,WAAA;AAAA,IAC9B,eAAA;AAAA,IACA,0BAAA;AAAA,IACA;AAAA,GACJ;AACA,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAUC,MAAA,CAAA,QAAA,CAAoC,EAAE,CAAA;AAC1E,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAUA,gBAA6B,IAAI,CAAA;AAEzE,EAAA,MAAM,QAAA,GAAiBA,MAAA,CAAA,WAAA,CAAY,CAAC,KAAA,KAAmC;AACnE,IAAA,UAAA;AAAA,MAAW,CAAC,OAAA,KACR,OAAA,CAAQ,IAAA,CAAK,CAAC,SAAS,IAAA,CAAK,EAAA,KAAO,KAAA,CAAM,EAAE,CAAA,GACrC,OAAA,CAAQ,IAAI,CAAC,IAAA,KAAU,IAAA,CAAK,EAAA,KAAO,KAAA,CAAM,EAAA,GAAK,KAAA,GAAQ,IAAK,CAAA,GAC3D,CAAC,GAAG,OAAA,EAAS,KAAK;AAAA,KAC5B;AAAA,EACJ,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,MAAM,UAAA,GAAmBA,MAAA,CAAA,WAAA,CAAY,CAAC,EAAA,KAAe;AACjD,IAAA,UAAA,CAAW,CAAC,YAAY,OAAA,CAAQ,MAAA,CAAO,CAAC,IAAA,KAAS,IAAA,CAAK,EAAA,KAAO,EAAE,CAAC,CAAA;AAAA,EACpE,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,MAAM,QAAA,GAAiBA,mBAAY,MAAM;AACrC,IAAA,KAAA,MAAW,SAAS,CAAC,GAAG,OAAO,CAAA,CAAE,SAAQ,EAAG;AACxC,MAAA,KAAA,CAAM,KAAA,EAAM;AAAA,IAChB;AAAA,EACJ,CAAA,EAAG,CAAC,OAAO,CAAC,CAAA;AAEZ,EAAA,MAAM,KAAA,GAAcA,MAAA,CAAA,OAAA;AAAA,IAChB,OAAO;AAAA,MACH,MAAA,EAAQ,EAAE,SAAA,EAAW,UAAA,EAAW;AAAA,MAChC,SAAA;AAAA,MACA,OAAA;AAAA,MACA,QAAA;AAAA,MACA,UAAA;AAAA,MACA;AAAA,KACJ,CAAA;AAAA,IACA;AAAA,MACI,SAAA;AAAA,MACA,UAAA;AAAA,MACA,SAAA;AAAA,MACA,OAAA;AAAA,MACA,QAAA;AAAA,MACA,UAAA;AAAA,MACA;AAAA;AACJ,GACJ;AAEA,EAAA,MAAM,GAAA,GAAM,OAAA,CAAQ,EAAA,CAAG,EAAE,CAAA;AAEzB,EAAA,uBACIN,IAAAA,CAAC,yBAAA,CAA0B,QAAA,EAA1B,EAAmC,KAAA,EAC/B,QAAA,EAAA;AAAA,IAAA,QAAA;AAAA,oBAEDL,GAAAA;AAAA,MAAiB,eAAA,CAAA,IAAA;AAAA,MAAhB;AAAA,QACG,IAAA,EAAM,QAAQ,MAAA,GAAS,CAAA;AAAA,QACvB,YAAA,EAAc,CAAC,IAAA,KAAS;AACpB,UAAA,IAAI,CAAC,IAAA,EAAM;AACP,YAAA,QAAA,EAAS;AAAA,UACb;AAAA,QACJ,CAAA;AAAA,QAEA,QAAA,kBAAAK,IAAAA,CAAiB,eAAA,CAAA,MAAA,EAAhB,EACG,QAAA,EAAA;AAAA,0BAAAL,GAAAA;AAAA,YAAiB,eAAA,CAAA,OAAA;AAAA,YAAhB;AAAA,cACG,WAAA,EAAU,wBAAA;AAAA,cACV,SAAA,EAAU;AAAA;AAAA,WACd;AAAA,0BACAK,IAAAA;AAAA,YAAiB,eAAA,CAAA,OAAA;AAAA,YAAhB;AAAA,cACG,kBAAA,EAAkB,MAAA;AAAA,cAClB,eAAA,EAAiB,CAAC,KAAA,KAAU;AACxB,gBAAA,KAAA,CAAM,cAAA,EAAe;AAErB,gBAAA,IAAI,CAAC,KAAK,UAAA,EAAY;AAClB,kBAAA,GAAA,EAAK,KAAA,EAAM;AAAA,gBACf;AAAA,cACJ,CAAA;AAAA,cACA,iBAAA,EAAmB,CAAC,KAAA,KAAU;AAC1B,gBAAA,IAAI,KAAK,UAAA,EAAY;AACjB,kBAAA,KAAA,CAAM,cAAA,EAAe;AAAA,gBACzB;AAAA,cACJ,CAAA;AAAA,cACA,eAAA,EAAiB,CAAC,KAAA,KAAU,KAAA,CAAM,cAAA,EAAe;AAAA,cACjD,gBAAA,EAAkB,CAAC,KAAA,KAAU,KAAA,CAAM,cAAA,EAAe;AAAA,cAClD,SAAA,EAAU,8GAAA;AAAA,cACV,WAAA,EAAW,QAAA;AAAA,cAEX,QAAA,EAAA;AAAA,gCAAAL,IAAiB,eAAA,CAAA,KAAA,EAAhB,EAAsB,SAAA,EAAU,SAAA,EAC5B,eAAK,KAAA,EACV,CAAA;AAAA,gCACAA,GAAAA;AAAA,kBAAC,KAAA;AAAA,kBAAA;AAAA,oBACG,GAAA,EAAK,YAAA;AAAA,oBACL,WAAA,EAAU,uBAAA;AAAA,oBACV,SAAA,EAAU;AAAA;AAAA;AACd;AAAA;AAAA;AACJ,SAAA,EACJ;AAAA;AAAA;AACJ,GAAA,EACJ,CAAA;AAER;ACvGA,SAAS,aAAA,CAAc;AAAA,EACnB,IAAA;AAAA,EACA,YAAA;AAAA,EACA,KAAA;AAAA,EACA,WAAA;AAAA,EACA,UAAA,GAAa,KAAA;AAAA,EACb,SAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA,GAAW,gBAAA;AAAA,EACX,GAAG;AACP,CAAA,EAMmB;AACf,EAAA,MAAM,EAAE,QAAQ,SAAA,EAAW,OAAA,EAAS,UAAU,UAAA,EAAY,QAAA,KACtD,qBAAA,EAAsB;AAC1B,EAAA,MAAM,KAAW,MAAA,CAAA,KAAA,EAAM;AACvB,EAAA,MAAM,OAAA,GAAU,GAAG,EAAE,CAAA,MAAA,CAAA;AACrB,EAAA,MAAM,aAAA,GAAgB,GAAG,EAAE,CAAA,YAAA,CAAA;AAC3B,EAAA,MAAM,KAAA,GAAc,mBAAY,MAAM,YAAA,CAAa,KAAK,CAAA,EAAG,CAAC,YAAY,CAAC,CAAA;AACzE,EAAA,MAAM,QAAA,GAAiB,cAAO,KAAK,CAAA;AACnC,EAAA,MAAM,QAAA,GAAiB,cAAO,KAAK,CAAA;AACnC,EAAA,MAAM,SAAA,GAAkB,cAAuB,IAAI,CAAA;AACnD,EAAA,MAAM,QAAA,GAAiB,cAA2B,IAAI,CAAA;AACtD,EAAA,MAAM,UAAA,GAAmB,cAAO,KAAK,CAAA;AAErC,EAAM,iBAAU,MAAM;AAClB,IAAA,QAAA,CAAS,OAAA,GAAU,KAAA;AACnB,IAAA,QAAA,CAAS,OAAA,GAAU,KAAA;AAAA,EACvB,CAAC,CAAA;AAED,EAAM,iBAAU,MAAM;AAClB,IAAA,IAAI,CAAC,IAAA,EAAM;AACP,MAAA;AAAA,IACJ;AAEA,IAAA,QAAA,CAAS;AAAA,MACL,EAAA;AAAA,MACA,OAAO,QAAA,CAAS,OAAA;AAAA,MAChB,UAAA;AAAA,MACA,KAAA,EAAO,MAAM,QAAA,CAAS,OAAA;AAAQ,KACjC,CAAA;AAAA,EACL,GAAG,CAAC,IAAA,EAAM,EAAA,EAAI,UAAA,EAAY,QAAQ,CAAC,CAAA;AAEnC,EAAM,iBAAU,MAAM;AAClB,IAAA,IAAI,CAAC,IAAA,EAAM;AACP,MAAA;AAAA,IACJ;AAEA,IAAA,OAAO,MAAM,WAAW,EAAE,CAAA;AAAA,EAC9B,CAAA,EAAG,CAAC,IAAA,EAAM,EAAA,EAAI,UAAU,CAAC,CAAA;AAEzB,EAAA,MAAM,QAAQ,OAAA,CAAQ,SAAA,CAAU,CAAC,KAAA,KAAU,KAAA,CAAM,OAAO,EAAE,CAAA;AAC1D,EAAA,MAAM,QAAQ,KAAA,KAAU,EAAA,GAAK,CAAA,GAAI,OAAA,CAAQ,SAAS,CAAA,GAAI,KAAA;AACtD,EAAA,MAAM,KAAA,GAAQ,KAAA,KAAU,EAAA,IAAM,KAAA,KAAU,CAAA;AAExC,EAAM,iBAAU,MAAM;AAClB,IAAA,IAAI,IAAA,EAAM;AACN,MAAA,SAAA,CAAU,UAAU,QAAA,CAAS,aAAA;AAE7B,MAAA;AAAA,IACJ;AAEA,IAAA,MAAM,SAAS,SAAA,CAAU,OAAA;AACzB,IAAA,SAAA,CAAU,OAAA,GAAU,IAAA;AAEpB,IAAA,IAAI,MAAA,YAAkB,WAAA,IAAe,QAAA,CAAS,QAAA,CAAS,MAAM,CAAA,EAAG;AAC5D,MAAA,MAAA,CAAO,KAAA,EAAM;AAAA,IACjB;AAAA,EACJ,CAAA,EAAG,CAAC,IAAI,CAAC,CAAA;AAET,EAAM,iBAAU,MAAM;AAClB,IAAA,IAAI,CAAC,IAAA,EAAM;AACP,MAAA,UAAA,CAAW,OAAA,GAAU,KAAA;AAErB,MAAA;AAAA,IACJ;AAEA,IAAA,IAAI,CAAC,KAAA,IAAS,UAAA,CAAW,OAAA,EAAS;AAC9B,MAAA;AAAA,IACJ;AAEA,IAAA,UAAA,CAAW,OAAA,GAAU,IAAA;AAErB,IAAA,MAAM,QAAQ,qBAAA,CAAsB,MAAM,QAAA,CAAS,OAAA,EAAS,OAAO,CAAA;AAEnE,IAAA,OAAO,MAAM,qBAAqB,KAAK,CAAA;AAAA,EAC3C,CAAA,EAAG,CAAC,IAAA,EAAM,KAAK,CAAC,CAAA;AAEhB,EAAA,IAAI,CAAC,IAAA,IAAQ,CAAC,SAAA,EAAW;AACrB,IAAA,OAAO,IAAA;AAAA,EACX;AAEA,EAAA,MAAM,MAAA,GAAS,IAAA,CAAK,GAAA,CAAI,KAAA,EAAO,2BAA2B,CAAA;AAE1D,EAAA,OAAO,YAAA;AAAA,oBACHK,IAAAA;AAAA,MAAC,SAAA;AAAA,MAAA;AAAA,QACG,GAAA,EAAK,QAAA;AAAA,QACL,YAAA,EAAY,KAAA;AAAA,QACZ,IAAA,EAAK,QAAA;AAAA,QACL,iBAAA,EAAiB,OAAA;AAAA,QACjB,kBAAA,EAAkB,cAAc,aAAA,GAAgB,MAAA;AAAA,QAChD,QAAA,EAAU,EAAA;AAAA,QACV,OAAO,CAAC,KAAA;AAAA,QACR,KAAA,EAAO;AAAA,UACH,WAAW,CAAA,YAAA,EAAe,MAAA,GAAS,EAAE,CAAA,UAAA,EAAa,CAAA,GAAI,SAAS,KAAK,CAAA,CAAA,CAAA;AAAA,UACpE,MAAA,EAAQ;AAAA,SACZ;AAAA,QACA,SAAA,EAAW,EAAA;AAAA,UACP,GAAG,YAAY,CAAA,uGAAA,CAAA;AAAA,UACf,QAAQ,CAAA,IAAK,mCAAA;AAAA,UACb,QAAQ,2BAAA,IAA+B,QAAA;AAAA,UACvC;AAAA,SACJ;AAAA,QACC,GAAG,KAAA;AAAA,QACJ,WAAA,EAAW,QAAA;AAAA,QAEX,QAAA,EAAA;AAAA,0BAAAA,IAAAA;AAAA,YAAC,QAAA;AAAA,YAAA;AAAA,cACG,WAAA,EAAU,uBAAA;AAAA,cACV,SAAA,EAAU,yBAAA;AAAA,cAET,QAAA,EAAA;AAAA,gBAAA,KAAA,GAAQ,oBACLA,IAAAA;AAAA,kBAAC,QAAA;AAAA,kBAAA;AAAA,oBACG,IAAA,EAAK,QAAA;AAAA,oBACL,WAAA,EAAU,qBAAA;AAAA,oBACV,OAAA,EAAS,KAAA;AAAA,oBACT,SAAA,EAAW,EAAA;AAAA,sBACP,oKAAA;AAAA,sBACA;AAAA,qBACJ;AAAA,oBAEA,QAAA,EAAA;AAAA,sCAAAL,GAAAA,CAAC,aAAA,EAAA,EAAc,SAAA,EAAU,QAAA,EAAS,CAAA;AAAA,sBACjC,MAAA,CAAO;AAAA;AAAA;AAAA,iBACZ,GACA,IAAA;AAAA,gCAEJA,GAAAA;AAAA,kBAAC,IAAA;AAAA,kBAAA;AAAA,oBACG,EAAA,EAAI,OAAA;AAAA,oBACJ,WAAA,EAAU,sBAAA;AAAA,oBACV,SAAA,EAAU,6CAAA;AAAA,oBAET,QAAA,EAAA;AAAA;AAAA,iBACL;AAAA,gBAEC,8BACGA,GAAAA;AAAA,kBAAC,GAAA;AAAA,kBAAA;AAAA,oBACG,EAAA,EAAI,aAAA;AAAA,oBACJ,WAAA,EAAU,4BAAA;AAAA,oBACV,SAAA,EAAU,+BAAA;AAAA,oBAET,QAAA,EAAA;AAAA;AAAA,iBACL,GACA;AAAA;AAAA;AAAA,WACR;AAAA,UAEC,QAAA;AAAA,0BAEDA,GAAAA;AAAA,YAAC,QAAA;AAAA,YAAA;AAAA,cACG,IAAA,EAAK,QAAA;AAAA,cACL,WAAA,EAAU,sBAAA;AAAA,cACV,cAAY,MAAA,CAAO,UAAA;AAAA,cACnB,OAAA,EAAS,QAAA;AAAA,cACT,SAAA,EAAW,EAAA;AAAA,gBACP,gOAAA;AAAA,gBACA;AAAA,eACJ;AAAA,cAEA,QAAA,kBAAAA,GAAAA,CAAC,KAAA,EAAA,EAAM,SAAA,EAAU,QAAA,EAAS;AAAA;AAAA;AAC9B;AAAA;AAAA,KACJ;AAAA,IACA;AAAA,GACJ;AACJ;AAEA,SAAS,iBAAA,CAAkB;AAAA,EACvB,SAAA;AAAA,EACA,QAAA,GAAW,qBAAA;AAAA,EACX,GAAG;AACP,CAAA,EAAgD;AAC5C,EAAA,uBACIA,GAAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACG,SAAA,EAAW,EAAA,CAAG,4BAAA,EAA8B,SAAS,CAAA;AAAA,MACpD,GAAG,KAAA;AAAA,MACJ,WAAA,EAAW;AAAA;AAAA,GACf;AAER;AAEA,SAAS,mBAAA,CAAoB;AAAA,EACzB,SAAA;AAAA,EACA,QAAA,GAAW,uBAAA;AAAA,EACX,GAAG;AACP,CAAA,EAAgD;AAC5C,EAAA,uBACIA,GAAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACG,SAAA,EAAW,EAAA;AAAA,QACP,iDAAA;AAAA,QACA;AAAA,OACJ;AAAA,MACC,GAAG,KAAA;AAAA,MACJ,WAAA,EAAW;AAAA;AAAA,GACf;AAER;ACrNA,IAAM,QAAA,GAAiBY,MAAA,CAAA,UAAA,CAGrB,CAAC,EAAE,SAAA,EAAW,oBAAoB,GAAG,KAAA,EAAM,EAAG,GAAA,qBAC5CZ,GAAAA;AAAA,EAAC,QAAA;AAAA,EAAA;AAAA,IACG,GAAA;AAAA,IACA,kBAAA,EAAoB,EAAA;AAAA,MAChB,oDAAA;AAAA,MACA;AAAA,KACJ;AAAA,IACA,SAAA,EAAW,EAAA,CAAG,6BAAA,EAA+B,SAAS,CAAA;AAAA,IACrD,GAAG;AAAA;AACR,CACH;AACD,QAAA,CAAS,WAAA,GAAc,UAAA;AAEvB,IAAM,aAAA,GAAsBY,kBAG1B,CAAC,EAAE,WAAW,GAAG,KAAA,IAAS,GAAA,qBACxBZ,IAAC,KAAA,EAAA,EAAI,GAAA,EAAU,WAAW,EAAA,CAAG,mBAAA,EAAqB,SAAS,CAAA,EAAI,GAAG,OAAO,CAC5E;AACD,aAAA,CAAc,WAAA,GAAc,eAAA;AAE5B,IAAM,YAAA,GAAqBY,MAAA,CAAA,UAAA,CAGzB,CAAC,EAAE,KAAA,EAAO,SAAA,EAAW,QAAA,GAAW,gBAAA,EAAkB,GAAG,KAAA,EAAM,EAAG,GAAA,KAAQ;AACpE,EAAA,MAAM,eAAA,GAAwBA,kBAAW,eAAe,CAAA;AACxD,EAAA,MAAM,EAAE,IAAA,EAAM,YAAA,EAAc,UAAS,GAAI,eAAA,CAAgB,MAAM,KAAK,CAAA;AAEpE,EAAA,uBACIP,IAAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACG,GAAA;AAAA,MACA,SAAA,EAAW,EAAA;AAAA,QACP,YAAA;AAAA,QACA,WAAA;AAAA,QACA,0IAAA;AAAA,QACA,QAAA,IAAY,8BAAA;AAAA,QACZ;AAAA,OACJ;AAAA,MACC,GAAG,KAAA;AAAA,MACJ,WAAA,EAAW,QAAA;AAAA,MAEV,QAAA,EAAA;AAAA,QAAA,IAAA;AAAA,QACA,YAAA,oBACGL,GAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,uEAAA,EACX,QAAA,kBAAAA,GAAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,0DAAA,EAA2D,CAAA,EAC9E;AAAA;AAAA;AAAA,GAER;AAER,CAAC;AACD,YAAA,CAAa,WAAA,GAAc,cAAA;AAE3B,IAAM,iBAAA,GAA0BY,kBAG9B,CAAC,EAAE,GAAG,KAAA,EAAM,EAAG,wBACbZ,GAAAA,CAAC,SAAI,GAAA,EAAU,IAAA,EAAK,aAAa,GAAG,KAAA,EAChC,0BAAAA,GAAAA,CAAC,KAAA,EAAA,EAAM,GACX,CACH;AACD,iBAAA,CAAkB,WAAA,GAAc,mBAAA;AChEhC,IAAM,MAAA,GAAea,MAAA,CAAA,UAAA,CAGnB,CAAC,EAAE,SAAA,EAAW,QAAA,GAAW,QAAA,EAAU,GAAG,KAAA,EAAM,EAAG,GAAA,qBAC7Cb,GAAAA;AAAA,EAAkB,gBAAA,CAAA,IAAA;AAAA,EAAjB;AAAA,IACG,SAAA,EAAW,EAAA;AAAA,MACP,sTAAsT,SAAS,CAAA,CAAA;AAAA,MAC/T;AAAA,KACJ;AAAA,IACC,GAAG,KAAA;AAAA,IACJ,GAAA;AAAA,IACA,WAAA,EAAW,QAAA;AAAA,IAEX,QAAA,kBAAAA,GAAAA;AAAA,MAAkB,gBAAA,CAAA,KAAA;AAAA,MAAjB;AAAA,QACG,WAAA,EAAU,cAAA;AAAA,QACV,SAAA,EAAW,EAAA;AAAA,UACP;AAAA;AACJ;AAAA;AACJ;AACJ,CACH;AACD,MAAA,CAAO,cAA+B,gBAAA,CAAA,IAAA,CAAK,WAAA;ACrB3C,IAAM,OAAac,MAAA,CAAA,UAAA,CAGjB,CAAC,EAAE,QAAA,GAAW,MAAA,EAAQ,GAAG,KAAA,EAAM,EAAG,wBAChCd,GAAAA,CAAe,oBAAd,EAAmB,GAAA,EAAW,GAAG,KAAA,EAAO,WAAA,EAAW,UAAU,CACjE;AACD,IAAA,CAAK,cAA4B,aAAA,CAAA,IAAA,CAAK,WAAA;AAEtC,IAAM,QAAA,GAAiBc,MAAA,CAAA,UAAA,CAGrB,CAAC,EAAE,SAAA,EAAW,QAAA,GAAW,WAAA,EAAa,GAAG,KAAA,EAAM,EAAG,GAAA,qBAChDd,GAAAA;AAAA,EAAe,aAAA,CAAA,IAAA;AAAA,EAAd;AAAA,IACG,GAAA;AAAA,IACA,SAAA,EAAW,EAAA;AAAA,MACP,+FAAA;AAAA,MACA;AAAA,KACJ;AAAA,IACC,GAAG,KAAA;AAAA,IACJ,WAAA,EAAW;AAAA;AACf,CACH;AACD,QAAA,CAAS,cAA4B,aAAA,CAAA,IAAA,CAAK,WAAA;AAE1C,IAAM,WAAA,GAAoBc,MAAA,CAAA,UAAA,CAGxB,CAAC,EAAE,SAAA,EAAW,QAAA,GAAW,cAAA,EAAgB,GAAG,KAAA,EAAM,EAAG,GAAA,qBACnDd,GAAAA;AAAA,EAAe,aAAA,CAAA,OAAA;AAAA,EAAd;AAAA,IACG,GAAA;AAAA,IACA,SAAA,EAAW,EAAA;AAAA,MACP,2SAA2S,SAAS,CAAA,CAAA;AAAA,MACpT;AAAA,KACJ;AAAA,IACC,GAAG,KAAA;AAAA,IACJ,WAAA,EAAW;AAAA;AACf,CACH;AACD,WAAA,CAAY,cAA4B,aAAA,CAAA,OAAA,CAAQ,WAAA;AAEhD,IAAM,WAAA,GAAoBc,MAAA,CAAA,UAAA,CAGxB,CAAC,EAAE,SAAA,EAAW,QAAA,GAAW,cAAA,EAAgB,GAAG,KAAA,EAAM,EAAG,GAAA,qBACnDd,GAAAA;AAAA,EAAe,aAAA,CAAA,OAAA;AAAA,EAAd;AAAA,IACG,GAAA;AAAA,IACA,SAAA,EAAW,EAAA;AAAA,MACP,eAAA;AAAA,MACA,kBAAA;AAAA,MACA,oBAAoB,SAAS,CAAA,CAAA;AAAA,MAC7B;AAAA,KACJ;AAAA,IACC,GAAG,KAAA;AAAA,IACJ,WAAA,EAAW;AAAA;AACf,CACH;AACD,WAAA,CAAY,cAA4B,aAAA,CAAA,OAAA,CAAQ,WAAA;ACzDhD,IAAM,QAAA,GAAiBe,MAAA,CAAA,UAAA,CAGrB,CAAC,EAAE,SAAA,EAAW,WAAW,UAAA,EAAY,GAAG,KAAA,EAAM,EAAG,GAAA,KAAQ;AACvD,EAAA,uBACIf,GAAAA;AAAA,IAAC,UAAA;AAAA,IAAA;AAAA,MACG,SAAA,EAAW,EAAA;AAAA,QACP,YAAA;AAAA,QACA,uOAAA;AAAA,QACA,UAAA;AAAA,QACA,kEAAA;AAAA,QACA;AAAA,OACJ;AAAA,MACA,GAAA;AAAA,MACC,GAAG,KAAA;AAAA,MACJ,WAAA,EAAW;AAAA;AAAA,GACf;AAER,CAAC;AACD,QAAA,CAAS,WAAA,GAAc,UAAA","file":"chunk-DW42Z75X.js","sourcesContent":["import { Button } from '@/components/ui/button';\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogTitle,\n} from '@/components/ui/dialog';\nimport { Input } from '@/components/ui/input';\nimport { Label } from '@/components/ui/label';\nimport { cn } from '@/lib/utils';\nimport { useUiLabels } from '@/locales/context';\nimport type { SlotNameProps } from '@/types';\nimport { AlertCircle, ChevronRight } from 'lucide-react';\nimport { ReactNode, useEffect, useId, useState } from 'react';\n\nexport interface ConfirmDialogLabels {\n title: string;\n description: string;\n confirmText: string;\n cancelText: string;\n}\n\nexport const confirmDialogDefaultLabels: ConfirmDialogLabels = {\n title: 'Confirm Action',\n description:\n 'Are you sure you want to continue? This action cannot be undone.',\n confirmText: 'Confirm',\n cancelText: 'Cancel',\n};\n\ninterface ConfirmDialogProps {\n open: boolean;\n onOpenChange: (open: boolean) => void;\n title?: ConfirmDialogLabels['title'];\n description?: ConfirmDialogLabels['description'] | ReactNode;\n confirmText?: ConfirmDialogLabels['confirmText'];\n cancelText?: ConfirmDialogLabels['cancelText'];\n variant?: 'destructive' | 'default';\n processing?: boolean;\n requiredValue?: string;\n requiredValueLabel?: string;\n onConfirm: () => void;\n onCancel?: () => void;\n}\n\nexport function ConfirmDialog({\n open,\n onOpenChange,\n title,\n description,\n confirmText,\n cancelText,\n variant = 'destructive',\n processing = false,\n requiredValue,\n requiredValueLabel = 'Type {{value}} to confirm',\n onConfirm,\n onCancel,\n slotName = 'confirm-dialog',\n}: ConfirmDialogProps & SlotNameProps) {\n const labels = useUiLabels('confirmDialog', confirmDialogDefaultLabels, {\n title,\n confirmText,\n cancelText,\n });\n const resolvedDescription = description ?? labels.description;\n const inputId = useId();\n const [typedValue, setTypedValue] = useState('');\n const unlocked =\n requiredValue === undefined || typedValue === requiredValue;\n\n useEffect(() => {\n if (!open) {\n setTypedValue('');\n }\n }, [open]);\n\n const handleConfirm = () => {\n if (processing || !unlocked) {\n return;\n }\n onConfirm();\n onOpenChange(false);\n };\n\n const handleCancel = () => {\n if (processing) {\n return;\n }\n onCancel?.();\n onOpenChange(false);\n };\n\n return (\n <Dialog open={open} onOpenChange={onOpenChange}>\n <DialogContent className=\"max-w-md p-0\" slotName={slotName}>\n <DialogHeader className=\"p-6 md:p-8\">\n <div className=\"mb-6 flex justify-center\">\n <div\n className={cn(\n 'size-16 rounded-3xl shadow-xl flex items-center justify-center',\n variant === 'destructive'\n ? 'bg-destructive text-destructive-foreground shadow-destructive/20'\n : 'bg-primary text-primary-foreground shadow-primary/20',\n )}\n >\n <AlertCircle className=\"h-8 w-8\" />\n </div>\n </div>\n <DialogTitle>{labels.title}</DialogTitle>\n <DialogDescription>{resolvedDescription}</DialogDescription>\n </DialogHeader>\n\n {requiredValue !== undefined && (\n <div\n data-slot=\"confirm-dialog-gate\"\n className=\"gap-2 px-6 md:px-8 flex flex-col\"\n >\n <Label htmlFor={inputId}>\n {requiredValueLabel.replace(\n '{{value}}',\n requiredValue,\n )}\n </Label>\n <Input\n id={inputId}\n value={typedValue}\n autoComplete=\"off\"\n disabled={processing}\n onChange={(event) =>\n setTypedValue(event.target.value)\n }\n />\n </div>\n )}\n\n <DialogFooter className=\"p-6 md:p-8\">\n <div className=\"gap-4 sm:grid-cols-2 grid w-full\">\n <Button\n type=\"button\"\n variant=\"ghost\"\n disabled={processing}\n onClick={handleCancel}\n className=\"text-muted-foreground\"\n >\n {labels.cancelText}\n </Button>\n <Button\n variant={variant}\n disabled={processing || !unlocked}\n onClick={handleConfirm}\n >\n {labels.confirmText}\n <ChevronRight className=\"ml-2 h-5 w-5\" />\n </Button>\n </div>\n </DialogFooter>\n </DialogContent>\n </Dialog>\n );\n}\n","import { cva, type VariantProps } from 'class-variance-authority';\nimport * as React from 'react';\n\nimport { elevatedSurface } from '@/lib/language';\nimport { cn } from '@/lib/utils';\nimport { useUiLabels } from '@/locales/context';\nimport type { SlotNameProps } from '@/types';\n\nconst alertVariants = cva(\n `${elevatedSurface} relative w-full px-5 py-4 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current`,\n {\n variants: {\n variant: {\n default: 'bg-card/60 text-card-foreground',\n destructive:\n 'border-destructive/30 bg-destructive/10 text-destructive [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/80',\n warning:\n 'ring-warning/20 bg-warning/10 text-warning *:data-[slot=alert-description]:text-warning/80',\n info: 'ring-info/20 bg-info/10 text-info *:data-[slot=alert-description]:text-info/80',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n);\n\nexport interface AlertLabels {\n warningLabel: string;\n infoLabel: string;\n}\n\nexport const alertDefaultLabels: AlertLabels = {\n warningLabel: 'Warning',\n infoLabel: 'Information',\n};\n\ntype AlertVariant = VariantProps<typeof alertVariants>['variant'];\n\nconst SEVERITY_LABELS: Partial<\n Record<NonNullable<AlertVariant>, keyof AlertLabels>\n> = {\n warning: 'warningLabel',\n info: 'infoLabel',\n};\n\nfunction Alert({\n className,\n variant,\n labels,\n slotName = 'alert',\n ...props\n}: React.ComponentProps<'div'> &\n VariantProps<typeof alertVariants> &\n SlotNameProps & { labels?: Partial<AlertLabels> }) {\n const resolved = useUiLabels('alert', alertDefaultLabels, labels);\n const severity = variant ? SEVERITY_LABELS[variant] : undefined;\n\n return (\n <div\n role=\"alert\"\n aria-label={severity ? resolved[severity] : undefined}\n className={cn(alertVariants({ variant }), className)}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction AlertTitle({\n className,\n slotName = 'alert-title',\n ...props\n}: React.ComponentProps<'div'> & SlotNameProps) {\n return (\n <div\n className={cn(\n 'min-h-4 font-medium tracking-tight col-start-2 line-clamp-1',\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction AlertDescription({\n className,\n slotName = 'alert-description',\n ...props\n}: React.ComponentProps<'div'> & SlotNameProps) {\n return (\n <div\n className={cn(\n 'gap-1 text-sm [&_p]:leading-relaxed col-start-2 grid justify-items-start text-muted-foreground',\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nexport { Alert, AlertDescription, AlertTitle };\n","import {\n ChevronDownIcon,\n ChevronLeftIcon,\n ChevronRightIcon,\n} from 'lucide-react';\nimport * as React from 'react';\nimport {\n DayPicker,\n getDefaultClassNames,\n type DayButton,\n} from 'react-day-picker';\n\nimport { Button, buttonVariants } from '@/components/ui/button';\nimport { elevatedSurface, nestedSurfaceReset } from '@/lib/language';\nimport { cn } from '@/lib/utils';\nimport type { SlotNameProps } from '@/types';\n\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n captionLayout = 'label',\n buttonVariant = 'ghost',\n formatters,\n components,\n slotName = 'calendar',\n ...props\n}: React.ComponentProps<typeof DayPicker> & {\n buttonVariant?: React.ComponentProps<typeof Button>['variant'];\n} & SlotNameProps) {\n const defaultClassNames = getDefaultClassNames();\n\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn(\n elevatedSurface,\n nestedSurfaceReset,\n 'group/calendar p-4 [--cell-size:--spacing(8)] bg-card',\n String.raw`rtl:**:[.rdp-button\\_next>svg]:rotate-180`,\n String.raw`rtl:**:[.rdp-button\\_previous>svg]:rotate-180`,\n className,\n )}\n captionLayout={captionLayout}\n formatters={{\n formatMonthDropdown: (date) =>\n date.toLocaleString('default', { month: 'short' }),\n ...formatters,\n }}\n classNames={{\n root: cn('w-fit', defaultClassNames.root),\n months: cn(\n 'gap-4 md:flex-row relative flex flex-col',\n defaultClassNames.months,\n ),\n month: cn(\n 'gap-4 flex w-full flex-col',\n defaultClassNames.month,\n ),\n nav: cn(\n 'inset-x-0 top-0 gap-1 absolute flex w-full items-center justify-between',\n defaultClassNames.nav,\n ),\n button_previous: cn(\n buttonVariants({ variant: buttonVariant }),\n 'p-0 size-(--cell-size) select-none aria-disabled:opacity-50',\n defaultClassNames.button_previous,\n ),\n button_next: cn(\n buttonVariants({ variant: buttonVariant }),\n 'p-0 size-(--cell-size) select-none aria-disabled:opacity-50',\n defaultClassNames.button_next,\n ),\n month_caption: cn(\n 'flex h-(--cell-size) w-full items-center justify-center px-(--cell-size)',\n defaultClassNames.month_caption,\n ),\n dropdowns: cn(\n 'gap-1.5 text-sm font-medium flex h-(--cell-size) w-full items-center justify-center',\n defaultClassNames.dropdowns,\n ),\n dropdown_root: cn(\n 'shadow-xs rounded-xl relative border border-border has-focus:outline-1 has-focus:outline-offset-0 has-focus:outline-ring has-focus:outline-solid',\n defaultClassNames.dropdown_root,\n ),\n dropdown: cn(\n 'inset-0 absolute bg-popover opacity-0',\n defaultClassNames.dropdown,\n ),\n caption_label: cn(\n 'font-medium select-none',\n captionLayout === 'label'\n ? 'text-sm'\n : 'h-8 gap-1 pr-1 pl-2 text-sm [&>svg]:size-3.5 rounded-xl flex items-center [&>svg]:text-muted-foreground',\n defaultClassNames.caption_label,\n ),\n month_grid: cn(\n 'w-full border-collapse',\n defaultClassNames.month_grid,\n ),\n weekdays: cn('flex', defaultClassNames.weekdays),\n weekday: cn(\n 'font-normal rounded-xl flex-1 text-[0.8rem] text-muted-foreground select-none',\n defaultClassNames.weekday,\n ),\n week: cn('mt-2 flex w-full', defaultClassNames.week),\n week_number_header: cn(\n 'w-(--cell-size) select-none',\n defaultClassNames.week_number_header,\n ),\n week_number: cn(\n 'text-[0.8rem] text-muted-foreground select-none',\n defaultClassNames.week_number,\n ),\n day: cn(\n 'group/day p-0 [&:last-child[data-selected=true]_button]:rounded-r-xl relative aspect-square h-full w-full text-center select-none',\n props.showWeekNumber\n ? '[&:nth-child(2)[data-selected=true]_button]:rounded-l-xl'\n : '[&:first-child[data-selected=true]_button]:rounded-l-xl',\n defaultClassNames.day,\n ),\n range_start: cn(\n 'rounded-l-xl bg-accent',\n defaultClassNames.range_start,\n ),\n range_middle: cn(\n 'rounded-none',\n defaultClassNames.range_middle,\n ),\n range_end: cn(\n 'rounded-r-xl bg-accent',\n defaultClassNames.range_end,\n ),\n today: cn(\n 'rounded-xl bg-accent text-accent-foreground data-[selected=true]:rounded-none',\n defaultClassNames.today,\n ),\n outside: cn(\n 'text-muted-foreground aria-selected:text-muted-foreground',\n defaultClassNames.outside,\n ),\n disabled: cn(\n 'text-muted-foreground opacity-50',\n defaultClassNames.disabled,\n ),\n hidden: cn('invisible', defaultClassNames.hidden),\n ...classNames,\n }}\n components={{\n Root: ({ className, rootRef, ...props }) => {\n return (\n <div\n ref={rootRef}\n className={cn(className)}\n {...props}\n data-slot={slotName}\n />\n );\n },\n Chevron: ({ className, orientation, ...props }) => {\n if (orientation === 'left') {\n return (\n <ChevronLeftIcon\n className={cn('size-4', className)}\n {...props}\n />\n );\n }\n\n if (orientation === 'right') {\n return (\n <ChevronRightIcon\n className={cn('size-4', className)}\n {...props}\n />\n );\n }\n\n return (\n <ChevronDownIcon\n className={cn('size-4', className)}\n {...props}\n />\n );\n },\n DayButton: CalendarDayButton,\n WeekNumber: ({ children, ...props }) => {\n return (\n <td {...props}>\n <div className=\"flex size-(--cell-size) items-center justify-center text-center\">\n {children}\n </div>\n </td>\n );\n },\n ...components,\n }}\n {...props}\n />\n );\n}\n\nfunction CalendarDayButton({\n className,\n day,\n modifiers,\n ...props\n}: React.ComponentProps<typeof DayButton>) {\n const defaultClassNames = getDefaultClassNames();\n\n const ref = React.useRef<HTMLButtonElement>(null);\n React.useEffect(() => {\n if (modifiers.focused) ref.current?.focus();\n }, [modifiers.focused]);\n\n return (\n <Button\n ref={ref}\n variant=\"ghost\"\n size=\"icon\"\n data-day={day.date.toLocaleDateString()}\n data-selected-single={\n modifiers.selected &&\n !modifiers.range_start &&\n !modifiers.range_end &&\n !modifiers.range_middle\n }\n data-range-start={modifiers.range_start}\n data-range-end={modifiers.range_end}\n data-range-middle={modifiers.range_middle}\n className={cn(\n 'gap-1 font-normal [&>span]:text-xs data-[range-end=true]:rounded-xl data-[range-end=true]:rounded-r-xl data-[range-start=true]:rounded-xl data-[range-start=true]:rounded-l-xl flex aspect-square size-auto w-full min-w-(--cell-size) flex-col leading-none group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-[3px] group-data-[focused=true]/day:ring-ring/50 data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground data-[range-middle=true]:rounded-none 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-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground dark:hover:text-accent-foreground [&>span]:opacity-70',\n defaultClassNames.day,\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Calendar, CalendarDayButton };\n","'use client';\n\nimport { Command as CommandPrimitive } from 'cmdk';\nimport { SearchIcon, SearchXIcon } from 'lucide-react';\nimport * as React from 'react';\n\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogHeader,\n DialogTitle,\n} from '@/components/ui/dialog';\nimport {\n elevatedSurface,\n fieldSurface,\n modalSurface,\n nestedSurfaceReset,\n} from '@/lib/language';\nimport { cn } from '@/lib/utils';\nimport type { SlotNameProps } from '@/types';\n\nfunction Command({\n className,\n slotName = 'command',\n ...props\n}: React.ComponentProps<typeof CommandPrimitive> & SlotNameProps) {\n return (\n <CommandPrimitive\n className={cn(\n elevatedSurface,\n nestedSurfaceReset,\n 'flex h-full w-full flex-col overflow-hidden bg-card text-card-foreground',\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction CommandDialog({\n title = 'Command Palette',\n description = 'Search for a command to run...',\n children,\n className,\n hideCloseButton = true,\n ...props\n}: React.ComponentProps<typeof Dialog> & {\n title?: string;\n description?: string;\n className?: string;\n hideCloseButton?: boolean;\n}) {\n return (\n <Dialog {...props}>\n <DialogHeader className=\"sr-only\">\n <DialogTitle>{title}</DialogTitle>\n <DialogDescription>{description}</DialogDescription>\n </DialogHeader>\n <DialogContent\n className={cn(\n `${modalSurface} gap-0 p-0 overflow-hidden`,\n className,\n )}\n hideCloseButton={hideCloseButton}\n >\n <Command className=\"[&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-item]]:py-2.5 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5\">\n {children}\n </Command>\n </DialogContent>\n </Dialog>\n );\n}\n\nfunction CommandInput({\n className,\n slotName = 'command-input',\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Input> & SlotNameProps) {\n return (\n <div className=\"shrink-0 border-b border-border\">\n <div\n data-slot=\"command-input-wrapper\"\n className={cn(\n fieldSurface,\n 'h-11 gap-3 px-4 m-3 flex items-center',\n )}\n >\n <SearchIcon className=\"size-4 shrink-0 opacity-50\" />\n <CommandPrimitive.Input\n className={cn(\n 'h-11 text-sm font-medium flex w-full bg-transparent outline-hidden placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50',\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n </div>\n </div>\n );\n}\n\nfunction CommandList({\n className,\n slotName = 'command-list',\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.List> & SlotNameProps) {\n return (\n <CommandPrimitive.List\n className={cn(\n 'scroll-py-1 max-h-[300px] overflow-x-hidden overflow-y-auto',\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction CommandEmpty({\n className,\n children,\n slotName = 'command-empty',\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Empty> & SlotNameProps) {\n return (\n <CommandPrimitive.Empty\n className={cn(\n 'gap-3 px-6 py-10 flex flex-col items-center justify-center text-center',\n className,\n )}\n {...props}\n data-slot={slotName}\n >\n <span className=\"size-10 flex items-center justify-center rounded-full bg-surface-recessed text-muted-foreground\">\n <SearchXIcon className=\"size-5\" />\n </span>\n <span className=\"text-sm text-muted-foreground\">{children}</span>\n </CommandPrimitive.Empty>\n );\n}\n\nfunction CommandGroup({\n className,\n slotName = 'command-group',\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Group> & SlotNameProps) {\n return (\n <CommandPrimitive.Group\n className={cn(\n 'p-3 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium overflow-hidden text-foreground [&_[cmdk-group-heading]]:text-muted-foreground',\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction CommandSeparator({\n className,\n slotName = 'command-separator',\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Separator> & SlotNameProps) {\n return (\n <CommandPrimitive.Separator\n className={cn('mx-3 h-px bg-border', className)}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction CommandItem({\n className,\n slotName = 'command-item',\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Item> & SlotNameProps) {\n return (\n <CommandPrimitive.Item\n className={cn(\n \"gap-2 px-2 py-1.5 text-sm [&_svg:not([class*='size-'])]:size-4 rounded-xl relative flex cursor-default items-center outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='text-'])]:text-muted-foreground\",\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction CommandShortcut({\n className,\n slotName = 'command-shortcut',\n ...props\n}: React.ComponentProps<'span'> & SlotNameProps) {\n return (\n <span\n className={cn(\n 'text-xs tracking-widest ml-auto text-muted-foreground',\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nexport {\n Command,\n CommandDialog,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n CommandSeparator,\n CommandShortcut,\n};\n","import { Popover as PopoverPrimitive } from 'radix-ui';\nimport * as React from 'react';\n\nimport { panelSurface } from '@/lib/language';\nimport { cn } from '@/lib/utils';\nimport type { SlotNameProps } from '@/types';\n\nconst Popover = PopoverPrimitive.Root;\n\nconst PopoverTrigger = PopoverPrimitive.Trigger;\n\nconst PopoverAnchor = PopoverPrimitive.Anchor;\n\nconst PopoverContent = React.forwardRef<\n React.ElementRef<typeof PopoverPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content> &\n SlotNameProps\n>(\n (\n {\n className,\n align = 'center',\n sideOffset = 4,\n slotName = 'popover-content',\n ...props\n },\n ref,\n ) => (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n `${panelSurface} p-4 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-full origin-[--radix-popover-content-transform-origin] bg-popover/90 outline-none`,\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n </PopoverPrimitive.Portal>\n ),\n);\nPopoverContent.displayName = PopoverPrimitive.Content.displayName;\n\nexport { Popover, PopoverAnchor, PopoverContent, PopoverTrigger };\n","import * as SelectPrimitive from '@radix-ui/react-select';\nimport { CheckIcon, ChevronDownIcon, ChevronUpIcon } from 'lucide-react';\nimport * as React from 'react';\n\nimport { fieldFocus, fieldSurface, menuSurface } from '@/lib/language';\nimport { cn } from '@/lib/utils';\nimport type { SlotNameProps } from '@/types';\n\nfunction Select({\n slotName = 'select',\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Root> & SlotNameProps) {\n return <SelectPrimitive.Root {...props} data-slot={slotName} />;\n}\n\nfunction SelectGroup({\n slotName = 'select-group',\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Group> & SlotNameProps) {\n return <SelectPrimitive.Group {...props} data-slot={slotName} />;\n}\n\nfunction SelectValue({\n slotName = 'select-value',\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Value> & SlotNameProps) {\n return <SelectPrimitive.Value {...props} data-slot={slotName} />;\n}\n\nfunction SelectTrigger({\n className,\n children,\n slotName = 'select-trigger',\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Trigger> & SlotNameProps) {\n return (\n <SelectPrimitive.Trigger\n className={cn(\n `${fieldSurface} h-11 px-4 text-sm font-medium *:data-[slot=select-value]:gap-2 [&_svg:not([class*='size-'])]:size-4 flex w-full items-center justify-between transition-[color,box-shadow] disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[placeholder]:text-muted-foreground *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center [&_svg]:pointer-events-none [&_svg]:shrink-0 [&>span]:line-clamp-1 ${fieldFocus}`,\n className,\n )}\n {...props}\n data-slot={slotName}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDownIcon className=\"size-4 opacity-50\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n );\n}\n\nfunction SelectContent({\n className,\n children,\n position = 'popper',\n slotName = 'select-content',\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Content> & SlotNameProps) {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n className={cn(\n `${menuSurface} max-h-96 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 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 relative z-50 min-w-[8rem] overflow-hidden bg-popover/95`,\n position === 'popper' &&\n 'data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1',\n className,\n )}\n position={position}\n {...props}\n data-slot={slotName}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n 'p-1',\n position === 'popper' &&\n 'scroll-my-1 h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]',\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n );\n}\n\nfunction SelectLabel({\n className,\n slotName = 'select-label',\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Label> & SlotNameProps) {\n return (\n <SelectPrimitive.Label\n className={cn(\n 'px-2 py-1.5 text-xs font-medium tracking-wider text-muted-foreground uppercase',\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction SelectItem({\n className,\n children,\n slotName = 'select-item',\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Item> & SlotNameProps) {\n return (\n <SelectPrimitive.Item\n className={cn(\n \"gap-2 rounded-xl py-1.5 pr-8 pl-2 text-sm [&_svg:not([class*='size-'])]:size-4 *:[span]:last:gap-2 focus:font-semibold relative flex w-full cursor-default items-center outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='text-'])]:text-muted-foreground *:[span]:last:flex *:[span]:last:items-center\",\n className,\n )}\n {...props}\n data-slot={slotName}\n >\n <span className=\"right-2 size-3.5 absolute flex items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n );\n}\n\nfunction SelectSeparator({\n className,\n slotName = 'select-separator',\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Separator> & SlotNameProps) {\n return (\n <SelectPrimitive.Separator\n className={cn(\n '-mx-1 my-1 pointer-events-none h-px bg-border',\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction SelectScrollUpButton({\n className,\n slotName = 'select-scroll-up-button',\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton> &\n SlotNameProps) {\n return (\n <SelectPrimitive.ScrollUpButton\n className={cn(\n 'py-1 flex cursor-default items-center justify-center',\n className,\n )}\n {...props}\n data-slot={slotName}\n >\n <ChevronUpIcon className=\"size-4\" />\n </SelectPrimitive.ScrollUpButton>\n );\n}\n\nfunction SelectScrollDownButton({\n className,\n slotName = 'select-scroll-down-button',\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton> &\n SlotNameProps) {\n return (\n <SelectPrimitive.ScrollDownButton\n className={cn(\n 'py-1 flex cursor-default items-center justify-center',\n className,\n )}\n {...props}\n data-slot={slotName}\n >\n <ChevronDownIcon className=\"size-4\" />\n </SelectPrimitive.ScrollDownButton>\n );\n}\n\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n};\n","import * as React from 'react';\n\nexport type FieldOrientation = 'vertical' | 'horizontal';\n\nexport interface FieldContextValue {\n controlId: string;\n descriptionId: string;\n errorId: string;\n orientation: FieldOrientation;\n invalid: boolean;\n required: boolean;\n hasDescription: boolean;\n setHasDescription: (present: boolean) => void;\n}\n\nexport const FieldContext = React.createContext<FieldContextValue | null>(null);\n\nexport function useOptionalField(): FieldContextValue | null {\n return React.useContext(FieldContext);\n}\n\nexport function useField(): FieldContextValue {\n const field = useOptionalField();\n\n if (!field) {\n throw new Error('Field parts must be rendered inside a Field.');\n }\n\n return field;\n}\n","import * as React from 'react';\n\nimport { useOptionalField } from '@/components/ui/field-context';\nimport { cn } from '@/lib/utils';\nimport type { SlotNameProps } from '@/types';\n\ninterface FieldErrorProps extends React.ComponentProps<'p'> {\n message?: string;\n}\n\nexport function FieldError({\n message,\n className,\n slotName = 'field-error',\n ...props\n}: FieldErrorProps & SlotNameProps) {\n const field = useOptionalField();\n\n if (!message) {\n return null;\n }\n\n return (\n <p\n id={field?.errorId}\n className={cn(\n 'ml-1 text-xs font-medium text-destructive group-data-[orientation=horizontal]/field:col-span-2 group-data-[orientation=horizontal]/field:row-start-3',\n className,\n )}\n {...props}\n data-slot={slotName}\n >\n {message}\n </p>\n );\n}\n","import * as React from 'react';\n\nexport interface FloatingSheetLabels {\n backLabel: string;\n closeLabel: string;\n}\n\nexport const floatingSheetDefaultLabels: FloatingSheetLabels = {\n backLabel: 'Back',\n closeLabel: 'Close',\n};\n\nexport const FLOATING_SHEET_OFFSET_LIMIT = 3;\n\nexport interface FloatingSheetStackEntry {\n id: string;\n title: React.ReactNode;\n persistent: boolean;\n close: () => void;\n}\n\nexport interface FloatingSheetStackContextValue {\n labels: FloatingSheetLabels;\n container: HTMLElement | null;\n entries: FloatingSheetStackEntry[];\n register: (entry: FloatingSheetStackEntry) => void;\n unregister: (id: string) => void;\n closeAll: () => void;\n}\n\nexport const FloatingSheetStackContext =\n React.createContext<FloatingSheetStackContextValue | null>(null);\n\nexport function useFloatingSheetStack(): FloatingSheetStackContextValue {\n const context = React.useContext(FloatingSheetStackContext);\n\n if (!context) {\n throw new Error(\n 'FloatingSheet must be rendered inside a FloatingSheetStack.',\n );\n }\n\n return context;\n}\n","import * as DialogPrimitive from '@radix-ui/react-dialog';\nimport * as React from 'react';\n\nimport {\n FloatingSheetStackContext,\n floatingSheetDefaultLabels,\n type FloatingSheetLabels,\n type FloatingSheetStackContextValue,\n type FloatingSheetStackEntry,\n} from '@/components/ui/floating-sheet-context';\nimport { useUiLabels } from '@/locales/context';\nimport type { SlotNameProps } from '@/types';\n\nexport function FloatingSheetStack({\n children,\n labels,\n slotName = 'floating-sheet-stack',\n}: {\n children: React.ReactNode;\n labels?: Partial<FloatingSheetLabels>;\n} & SlotNameProps) {\n const { backLabel, closeLabel } = useUiLabels(\n 'floatingSheet',\n floatingSheetDefaultLabels,\n labels,\n );\n const [entries, setEntries] = React.useState<FloatingSheetStackEntry[]>([]);\n const [container, setContainer] = React.useState<HTMLElement | null>(null);\n\n const register = React.useCallback((entry: FloatingSheetStackEntry) => {\n setEntries((current) =>\n current.some((item) => item.id === entry.id)\n ? current.map((item) => (item.id === entry.id ? entry : item))\n : [...current, entry],\n );\n }, []);\n\n const unregister = React.useCallback((id: string) => {\n setEntries((current) => current.filter((item) => item.id !== id));\n }, []);\n\n const closeAll = React.useCallback(() => {\n for (const entry of [...entries].reverse()) {\n entry.close();\n }\n }, [entries]);\n\n const value = React.useMemo<FloatingSheetStackContextValue>(\n () => ({\n labels: { backLabel, closeLabel },\n container,\n entries,\n register,\n unregister,\n closeAll,\n }),\n [\n backLabel,\n closeLabel,\n container,\n entries,\n register,\n unregister,\n closeAll,\n ],\n );\n\n const top = entries.at(-1);\n\n return (\n <FloatingSheetStackContext.Provider value={value}>\n {children}\n\n <DialogPrimitive.Root\n open={entries.length > 0}\n onOpenChange={(open) => {\n if (!open) {\n closeAll();\n }\n }}\n >\n <DialogPrimitive.Portal>\n <DialogPrimitive.Overlay\n data-slot=\"floating-sheet-overlay\"\n className=\"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 inset-0 bg-black/60 backdrop-blur-sm fixed z-50\"\n />\n <DialogPrimitive.Content\n aria-describedby={undefined}\n onEscapeKeyDown={(event) => {\n event.preventDefault();\n\n if (!top?.persistent) {\n top?.close();\n }\n }}\n onInteractOutside={(event) => {\n if (top?.persistent) {\n event.preventDefault();\n }\n }}\n onOpenAutoFocus={(event) => event.preventDefault()}\n onCloseAutoFocus={(event) => event.preventDefault()}\n className=\"inset-y-0 right-0 sm:inset-y-4 sm:right-4 sm:w-[calc(100vw-2rem)] sm:max-w-lg fixed z-50 w-full outline-none\"\n data-slot={slotName}\n >\n <DialogPrimitive.Title className=\"sr-only\">\n {top?.title}\n </DialogPrimitive.Title>\n <div\n ref={setContainer}\n data-slot=\"floating-sheet-panels\"\n className=\"relative h-full w-full\"\n />\n </DialogPrimitive.Content>\n </DialogPrimitive.Portal>\n </DialogPrimitive.Root>\n </FloatingSheetStackContext.Provider>\n );\n}\n","import { ArrowLeftIcon, XIcon } from 'lucide-react';\nimport * as React from 'react';\nimport { createPortal } from 'react-dom';\n\nimport {\n FLOATING_SHEET_OFFSET_LIMIT,\n floatingSheetDefaultLabels,\n useFloatingSheetStack,\n type FloatingSheetLabels,\n} from '@/components/ui/floating-sheet-context';\nimport { FloatingSheetStack } from '@/components/ui/floating-sheet-stack';\nimport { focusRing, modalSurface } from '@/lib/language';\nimport { cn } from '@/lib/utils';\nimport type { SlotNameProps } from '@/types';\n\nfunction FloatingSheet({\n open,\n onOpenChange,\n title,\n description,\n persistent = false,\n className,\n children,\n slotName = 'floating-sheet',\n ...props\n}: Omit<React.ComponentProps<'section'>, 'title'> & {\n open: boolean;\n onOpenChange: (open: boolean) => void;\n title: React.ReactNode;\n description?: React.ReactNode;\n persistent?: boolean;\n} & SlotNameProps) {\n const { labels, container, entries, register, unregister, closeAll } =\n useFloatingSheetStack();\n const id = React.useId();\n const titleId = `${id}-title`;\n const descriptionId = `${id}-description`;\n const close = React.useCallback(() => onOpenChange(false), [onOpenChange]);\n const closeRef = React.useRef(close);\n const titleRef = React.useRef(title);\n const openerRef = React.useRef<Element | null>(null);\n const panelRef = React.useRef<HTMLElement | null>(null);\n const focusedRef = React.useRef(false);\n\n React.useEffect(() => {\n closeRef.current = close;\n titleRef.current = title;\n });\n\n React.useEffect(() => {\n if (!open) {\n return;\n }\n\n register({\n id,\n title: titleRef.current,\n persistent,\n close: () => closeRef.current(),\n });\n }, [open, id, persistent, register]);\n\n React.useEffect(() => {\n if (!open) {\n return;\n }\n\n return () => unregister(id);\n }, [open, id, unregister]);\n\n const index = entries.findIndex((entry) => entry.id === id);\n const depth = index === -1 ? 0 : entries.length - 1 - index;\n const isTop = index !== -1 && depth === 0;\n\n React.useEffect(() => {\n if (open) {\n openerRef.current = document.activeElement;\n\n return;\n }\n\n const opener = openerRef.current;\n openerRef.current = null;\n\n if (opener instanceof HTMLElement && document.contains(opener)) {\n opener.focus();\n }\n }, [open]);\n\n React.useEffect(() => {\n if (!open) {\n focusedRef.current = false;\n\n return;\n }\n\n if (!isTop || focusedRef.current) {\n return;\n }\n\n focusedRef.current = true;\n\n const frame = requestAnimationFrame(() => panelRef.current?.focus());\n\n return () => cancelAnimationFrame(frame);\n }, [open, isTop]);\n\n if (!open || !container) {\n return null;\n }\n\n const offset = Math.min(depth, FLOATING_SHEET_OFFSET_LIMIT);\n\n return createPortal(\n <section\n ref={panelRef}\n data-depth={depth}\n role=\"dialog\"\n aria-labelledby={titleId}\n aria-describedby={description ? descriptionId : undefined}\n tabIndex={-1}\n inert={!isTop}\n style={{\n transform: `translateX(-${offset * 26}px) scale(${1 - offset * 0.035})`,\n zIndex: index,\n }}\n className={cn(\n `${modalSurface} inset-0 ease-out absolute flex flex-col overflow-hidden transition-transform duration-300 outline-none`,\n depth > 0 && 'max-sm:hidden pointer-events-none',\n depth > FLOATING_SHEET_OFFSET_LIMIT && 'hidden',\n className,\n )}\n {...props}\n data-slot={slotName}\n >\n <header\n data-slot=\"floating-sheet-header\"\n className=\"gap-1 p-5 flex flex-col\"\n >\n {index > 0 ? (\n <button\n type=\"button\"\n data-slot=\"floating-sheet-back\"\n onClick={close}\n className={cn(\n 'gap-2 h-8 -ml-2 px-2 text-sm font-medium inline-flex w-fit items-center rounded-full text-muted-foreground transition-colors hover:bg-accent hover:text-foreground',\n focusRing,\n )}\n >\n <ArrowLeftIcon className=\"size-4\" />\n {labels.backLabel}\n </button>\n ) : null}\n\n <h2\n id={titleId}\n data-slot=\"floating-sheet-title\"\n className=\"pr-10 text-lg font-semibold text-foreground\"\n >\n {title}\n </h2>\n\n {description ? (\n <p\n id={descriptionId}\n data-slot=\"floating-sheet-description\"\n className=\"text-sm text-muted-foreground\"\n >\n {description}\n </p>\n ) : null}\n </header>\n\n {children}\n\n <button\n type=\"button\"\n data-slot=\"floating-sheet-close\"\n aria-label={labels.closeLabel}\n onClick={closeAll}\n className={cn(\n 'top-4 right-4 size-9 shadow-xs absolute flex items-center justify-center rounded-full border border-border bg-muted text-muted-foreground transition-colors hover:bg-accent hover:text-foreground disabled:pointer-events-none',\n focusRing,\n )}\n >\n <XIcon className=\"size-4\" />\n </button>\n </section>,\n container,\n );\n}\n\nfunction FloatingSheetBody({\n className,\n slotName = 'floating-sheet-body',\n ...props\n}: React.ComponentProps<'div'> & SlotNameProps) {\n return (\n <div\n className={cn('p-5 flex-1 overflow-y-auto', className)}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nfunction FloatingSheetFooter({\n className,\n slotName = 'floating-sheet-footer',\n ...props\n}: React.ComponentProps<'div'> & SlotNameProps) {\n return (\n <div\n className={cn(\n 'gap-2 p-5 mt-auto flex items-center justify-end',\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n );\n}\n\nexport {\n FloatingSheet,\n FloatingSheetBody,\n floatingSheetDefaultLabels,\n FloatingSheetFooter,\n FloatingSheetStack,\n type FloatingSheetLabels,\n};\n","import { OTPInput, OTPInputContext } from 'input-otp';\nimport { Minus } from 'lucide-react';\nimport * as React from 'react';\n\nimport { controlFill, glassControl } from '@/lib/language';\nimport { cn } from '@/lib/utils';\nimport type { SlotNameProps } from '@/types';\n\nconst InputOTP = React.forwardRef<\n React.ElementRef<typeof OTPInput>,\n React.ComponentPropsWithoutRef<typeof OTPInput>\n>(({ className, containerClassName, ...props }, ref) => (\n <OTPInput\n ref={ref}\n containerClassName={cn(\n 'gap-2 flex items-center has-[:disabled]:opacity-50',\n containerClassName,\n )}\n className={cn('disabled:cursor-not-allowed', className)}\n {...props}\n />\n));\nInputOTP.displayName = 'InputOTP';\n\nconst InputOTPGroup = React.forwardRef<\n React.ElementRef<'div'>,\n React.ComponentPropsWithoutRef<'div'>\n>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn('flex items-center', className)} {...props} />\n));\nInputOTPGroup.displayName = 'InputOTPGroup';\n\nconst InputOTPSlot = React.forwardRef<\n React.ElementRef<'div'>,\n React.ComponentPropsWithoutRef<'div'> & { index: number } & SlotNameProps\n>(({ index, className, slotName = 'input-otp-slot', ...props }, ref) => {\n const inputOTPContext = React.useContext(OTPInputContext);\n const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index];\n\n return (\n <div\n ref={ref}\n className={cn(\n glassControl,\n controlFill,\n 'size-11 text-sm font-medium first:rounded-l-2xl last:rounded-r-2xl relative flex items-center justify-center rounded-none transition-all',\n isActive && 'z-10 ring-[3px] ring-ring/50',\n className,\n )}\n {...props}\n data-slot={slotName}\n >\n {char}\n {hasFakeCaret && (\n <div className=\"inset-0 pointer-events-none absolute flex items-center justify-center\">\n <div className=\"h-4 animate-caret-blink w-px bg-foreground duration-1000\" />\n </div>\n )}\n </div>\n );\n});\nInputOTPSlot.displayName = 'InputOTPSlot';\n\nconst InputOTPSeparator = React.forwardRef<\n React.ElementRef<'div'>,\n React.ComponentPropsWithoutRef<'div'>\n>(({ ...props }, ref) => (\n <div ref={ref} role=\"separator\" {...props}>\n <Minus />\n </div>\n));\nInputOTPSeparator.displayName = 'InputOTPSeparator';\n\nexport { InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot };\n","import * as SwitchPrimitives from '@radix-ui/react-switch';\nimport * as React from 'react';\n\nimport { focusRing } from '@/lib/language';\nimport { cn } from '@/lib/utils';\nimport type { SlotNameProps } from '@/types';\n\nconst Switch = React.forwardRef<\n React.ElementRef<typeof SwitchPrimitives.Root>,\n React.ComponentPropsWithoutRef<typeof SwitchPrimitives.Root> & SlotNameProps\n>(({ className, slotName = 'switch', ...props }, ref) => (\n <SwitchPrimitives.Root\n className={cn(\n `peer h-6 w-11 shadow-sm inline-flex shrink-0 cursor-pointer items-center rounded-full border border-transparent transition-colors disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input ${focusRing}`,\n className,\n )}\n {...props}\n ref={ref}\n data-slot={slotName}\n >\n <SwitchPrimitives.Thumb\n data-slot=\"switch-thumb\"\n className={cn(\n 'size-5 shadow-lg data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0 pointer-events-none block rounded-full bg-background ring-0 transition-transform',\n )}\n />\n </SwitchPrimitives.Root>\n));\nSwitch.displayName = SwitchPrimitives.Root.displayName;\n\nexport { Switch };\n","import * as TabsPrimitive from '@radix-ui/react-tabs';\nimport * as React from 'react';\n\nimport { elevatedSurface, focusRing, nestedSurfaceReset } from '@/lib/language';\nimport { cn } from '@/lib/utils';\nimport type { SlotNameProps } from '@/types';\n\nconst Tabs = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Root> & SlotNameProps\n>(({ slotName = 'tabs', ...props }, ref) => (\n <TabsPrimitive.Root ref={ref} {...props} data-slot={slotName} />\n));\nTabs.displayName = TabsPrimitive.Root.displayName;\n\nconst TabsList = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.List> & SlotNameProps\n>(({ className, slotName = 'tabs-list', ...props }, ref) => (\n <TabsPrimitive.List\n ref={ref}\n className={cn(\n 'h-11 p-1.5 rounded-2xl inline-flex items-center justify-center bg-muted text-muted-foreground',\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n));\nTabsList.displayName = TabsPrimitive.List.displayName;\n\nconst TabsTrigger = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger> & SlotNameProps\n>(({ className, slotName = 'tabs-trigger', ...props }, ref) => (\n <TabsPrimitive.Trigger\n ref={ref}\n className={cn(\n `px-4 text-sm font-medium data-[state=active]:shadow-sm h-8 rounded-xl data-[state=active]:font-semibold inline-flex items-center justify-center whitespace-nowrap transition-all disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground ${focusRing}`,\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n));\nTabsTrigger.displayName = TabsPrimitive.Trigger.displayName;\n\nconst TabsContent = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content> & SlotNameProps\n>(({ className, slotName = 'tabs-content', ...props }, ref) => (\n <TabsPrimitive.Content\n ref={ref}\n className={cn(\n elevatedSurface,\n nestedSurfaceReset,\n `mt-2 p-5 bg-card ${focusRing}`,\n className,\n )}\n {...props}\n data-slot={slotName}\n />\n));\nTabsContent.displayName = TabsPrimitive.Content.displayName;\n\nexport { Tabs, TabsContent, TabsList, TabsTrigger };\n","import * as React from 'react';\n\nimport { fieldFocus, fieldSurface } from '@/lib/language';\nimport { cn } from '@/lib/utils';\nimport type { SlotNameProps } from '@/types';\n\nconst Textarea = React.forwardRef<\n HTMLTextAreaElement,\n React.ComponentProps<'textarea'> & SlotNameProps\n>(({ className, slotName = 'textarea', ...props }, ref) => {\n return (\n <textarea\n className={cn(\n fieldSurface,\n 'px-4 py-3 text-sm font-medium min-h-24 flex w-full resize-none transition-[color,box-shadow] selection:bg-primary selection:text-primary-foreground placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50',\n fieldFocus,\n 'aria-invalid:border-destructive aria-invalid:ring-destructive/20',\n className,\n )}\n ref={ref}\n {...props}\n data-slot={slotName}\n />\n );\n});\nTextarea.displayName = 'Textarea';\n\nexport { Textarea };\n"]}
|