@spacesync/client 0.1.9 → 0.1.11

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.
Files changed (129) hide show
  1. package/dist/analog-clock-picker.js +3 -11
  2. package/dist/analog-clock-picker.js.map +1 -1
  3. package/dist/booking-schedule-calendars.d.ts +1 -29
  4. package/dist/booking-schedule-calendars.js +6 -92
  5. package/dist/booking-schedule-calendars.js.map +1 -1
  6. package/dist/booking-schedule.d.ts +71 -0
  7. package/dist/booking-schedule.js +3 -0
  8. package/dist/booking-schedule.js.map +1 -0
  9. package/dist/booking-space-layout-picker.js +8 -11
  10. package/dist/booking-space-layout-picker.js.map +1 -1
  11. package/dist/button-Iem7kbk0.d.ts +16 -0
  12. package/dist/chat-stick-to-bottom.js +0 -10
  13. package/dist/chat-stick-to-bottom.js.map +1 -1
  14. package/dist/chunk-2IZODKTR.js +116 -0
  15. package/dist/chunk-2IZODKTR.js.map +1 -0
  16. package/dist/chunk-2TT2ZGMT.js +21 -0
  17. package/dist/chunk-2TT2ZGMT.js.map +1 -0
  18. package/dist/chunk-3MAGTCCN.js +192 -0
  19. package/dist/chunk-3MAGTCCN.js.map +1 -0
  20. package/dist/chunk-56H7UFAW.js +237 -0
  21. package/dist/chunk-56H7UFAW.js.map +1 -0
  22. package/dist/chunk-5HOK5JHR.js +60 -0
  23. package/dist/chunk-5HOK5JHR.js.map +1 -0
  24. package/dist/{chunk-H7EX6B6N.js → chunk-5NOKULX2.js} +5 -4
  25. package/dist/chunk-5NOKULX2.js.map +1 -0
  26. package/dist/chunk-6VJQIBC3.js +715 -0
  27. package/dist/chunk-6VJQIBC3.js.map +1 -0
  28. package/dist/chunk-BQVMO33N.js +133 -0
  29. package/dist/chunk-BQVMO33N.js.map +1 -0
  30. package/dist/chunk-CXXOKCLJ.js +37 -0
  31. package/dist/chunk-CXXOKCLJ.js.map +1 -0
  32. package/dist/chunk-FN4BWFDX.js +43 -0
  33. package/dist/chunk-FN4BWFDX.js.map +1 -0
  34. package/dist/chunk-HRHDOLWU.js +62 -0
  35. package/dist/chunk-HRHDOLWU.js.map +1 -0
  36. package/dist/chunk-HZB2EHEH.js +216 -0
  37. package/dist/chunk-HZB2EHEH.js.map +1 -0
  38. package/dist/chunk-IBGGQXTH.js +21 -0
  39. package/dist/chunk-IBGGQXTH.js.map +1 -0
  40. package/dist/chunk-JCEOU7BU.js +128 -0
  41. package/dist/chunk-JCEOU7BU.js.map +1 -0
  42. package/dist/{chunk-RV5PMZYZ.js → chunk-MBZAYH5D.js} +4 -18
  43. package/dist/chunk-MBZAYH5D.js.map +1 -0
  44. package/dist/chunk-NWVNYKND.js +153 -0
  45. package/dist/chunk-NWVNYKND.js.map +1 -0
  46. package/dist/chunk-OTSA5ROL.js +209 -0
  47. package/dist/chunk-OTSA5ROL.js.map +1 -0
  48. package/dist/chunk-OV5ODANJ.js +224 -0
  49. package/dist/chunk-OV5ODANJ.js.map +1 -0
  50. package/dist/chunk-PPMJZVR4.js +37 -0
  51. package/dist/chunk-PPMJZVR4.js.map +1 -0
  52. package/dist/{chunk-CKCXQBHQ.js → chunk-RC5SWZPB.js} +5 -4
  53. package/dist/chunk-RC5SWZPB.js.map +1 -0
  54. package/dist/chunk-SHMKDGFF.js +75 -0
  55. package/dist/chunk-SHMKDGFF.js.map +1 -0
  56. package/dist/chunk-T3SOBIYA.js +61 -0
  57. package/dist/chunk-T3SOBIYA.js.map +1 -0
  58. package/dist/chunk-TH5RASJS.js +97 -0
  59. package/dist/chunk-TH5RASJS.js.map +1 -0
  60. package/dist/{chunk-LUB7QWGU.js → chunk-VIJ2HWPZ.js} +5 -159
  61. package/dist/chunk-VIJ2HWPZ.js.map +1 -0
  62. package/dist/chunk-VQ63T7CJ.js +22 -0
  63. package/dist/chunk-VQ63T7CJ.js.map +1 -0
  64. package/dist/chunk-XDVGFHK4.js +50 -0
  65. package/dist/chunk-XDVGFHK4.js.map +1 -0
  66. package/dist/chunk-XI4BQY5T.js +188 -0
  67. package/dist/chunk-XI4BQY5T.js.map +1 -0
  68. package/dist/detail-page-header.js +1 -1
  69. package/dist/file-viewer-dialog.js +3 -9
  70. package/dist/file-viewer-dialog.js.map +1 -1
  71. package/dist/floor-switcher.js +5 -9
  72. package/dist/floor-switcher.js.map +1 -1
  73. package/dist/layout-canvas-view.js +8 -11
  74. package/dist/page-list-chrome.js +5 -3
  75. package/dist/page-list-loading.js +5 -3
  76. package/dist/page-list-loading.js.map +1 -1
  77. package/dist/platform-support-message-composer.js +2 -10
  78. package/dist/platform-support-message-composer.js.map +1 -1
  79. package/dist/sidebar-Dzvrjr69.d.ts +85 -0
  80. package/dist/styles/theme.css +52 -2
  81. package/dist/styles/theme.css.map +1 -1
  82. package/dist/theme-appearance-control.js +2 -1
  83. package/dist/theme-appearance-control.js.map +1 -1
  84. package/dist/ui/accordion.d.ts +9 -0
  85. package/dist/ui/accordion.js +4 -0
  86. package/dist/ui/accordion.js.map +1 -0
  87. package/dist/ui/calendar.d.ts +6 -0
  88. package/dist/ui/calendar.js +4 -0
  89. package/dist/ui/calendar.js.map +1 -0
  90. package/dist/ui/carousel.d.ts +22 -0
  91. package/dist/ui/carousel.js +5 -0
  92. package/dist/ui/carousel.js.map +1 -0
  93. package/dist/ui/chart.d.ts +42 -0
  94. package/dist/ui/chart.js +229 -0
  95. package/dist/ui/chart.js.map +1 -0
  96. package/dist/ui/command.d.ts +19 -0
  97. package/dist/ui/command.js +5 -0
  98. package/dist/ui/command.js.map +1 -0
  99. package/dist/ui/context-menu.d.ts +27 -0
  100. package/dist/ui/context-menu.js +4 -0
  101. package/dist/ui/context-menu.js.map +1 -0
  102. package/dist/ui/form.d.ts +27 -0
  103. package/dist/ui/form.js +5 -0
  104. package/dist/ui/form.js.map +1 -0
  105. package/dist/ui/input-otp.d.ts +13 -0
  106. package/dist/ui/input-otp.js +4 -0
  107. package/dist/ui/input-otp.js.map +1 -0
  108. package/dist/ui/menubar.d.ts +28 -0
  109. package/dist/ui/menubar.js +4 -0
  110. package/dist/ui/menubar.js.map +1 -0
  111. package/dist/ui/navigation-menu.d.ts +17 -0
  112. package/dist/ui/navigation-menu.js +4 -0
  113. package/dist/ui/navigation-menu.js.map +1 -0
  114. package/dist/ui/resizable.d.ts +10 -0
  115. package/dist/ui/resizable.js +4 -0
  116. package/dist/ui/resizable.js.map +1 -0
  117. package/dist/ui/sidebar.d.ts +7 -0
  118. package/dist/ui/sidebar.js +9 -0
  119. package/dist/ui/sidebar.js.map +1 -0
  120. package/dist/ui.d.ts +28 -272
  121. package/dist/ui.js +2427 -6
  122. package/dist/ui.js.map +1 -1
  123. package/package.json +9 -1
  124. package/dist/chunk-CKCXQBHQ.js.map +0 -1
  125. package/dist/chunk-F7MU5T46.js +0 -5146
  126. package/dist/chunk-F7MU5T46.js.map +0 -1
  127. package/dist/chunk-H7EX6B6N.js.map +0 -1
  128. package/dist/chunk-LUB7QWGU.js.map +0 -1
  129. package/dist/chunk-RV5PMZYZ.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ui/menubar.tsx"],"names":[],"mappings":"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","file":"chunk-HZB2EHEH.js","sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as MenubarPrimitive from \"@radix-ui/react-menubar\";\nimport { CheckIcon, ChevronRightIcon, CircleIcon } from \"lucide-react\";\n\nimport { cn } from \"./utils\";\n\nfunction Menubar({ className, ...props }: React.ComponentProps<typeof MenubarPrimitive.Root>) {\n return (\n <MenubarPrimitive.Root\n data-slot=\"menubar\"\n className={cn(\n \"bg-background flex h-9 items-center gap-1 rounded-md border p-1 shadow-xs\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction MenubarMenu({ ...props }: React.ComponentProps<typeof MenubarPrimitive.Menu>) {\n return <MenubarPrimitive.Menu data-slot=\"menubar-menu\" {...props} />;\n}\n\nfunction MenubarGroup({ ...props }: React.ComponentProps<typeof MenubarPrimitive.Group>) {\n return <MenubarPrimitive.Group data-slot=\"menubar-group\" {...props} />;\n}\n\nfunction MenubarPortal({ ...props }: React.ComponentProps<typeof MenubarPrimitive.Portal>) {\n return <MenubarPrimitive.Portal data-slot=\"menubar-portal\" {...props} />;\n}\n\nfunction MenubarRadioGroup({ ...props }: React.ComponentProps<typeof MenubarPrimitive.RadioGroup>) {\n return <MenubarPrimitive.RadioGroup data-slot=\"menubar-radio-group\" {...props} />;\n}\n\nfunction MenubarTrigger({\n className,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Trigger>) {\n return (\n <MenubarPrimitive.Trigger\n data-slot=\"menubar-trigger\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex items-center rounded-sm px-2 py-1 text-sm font-medium outline-hidden select-none\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction MenubarContent({\n className,\n align = \"start\",\n alignOffset = -4,\n sideOffset = 8,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Content>) {\n return (\n <MenubarPortal>\n <MenubarPrimitive.Content\n data-slot=\"menubar-content\"\n align={align}\n alignOffset={alignOffset}\n sideOffset={sideOffset}\n className={cn(\n \"bg-popover text-popover-foreground data-[state=open]:animate-in 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 min-w-[12rem] origin-(--radix-menubar-content-transform-origin) overflow-hidden rounded-md border border-white/10 p-1 shadow-md\",\n className,\n )}\n {...props}\n />\n </MenubarPortal>\n );\n}\n\nfunction MenubarItem({\n className,\n inset,\n variant = \"default\",\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Item> & {\n inset?: boolean;\n variant?: \"default\" | \"destructive\";\n}) {\n return (\n <MenubarPrimitive.Item\n data-slot=\"menubar-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"focus:bg-card/10 focus:text-popover-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction MenubarCheckboxItem({\n className,\n children,\n checked,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.CheckboxItem>) {\n return (\n <MenubarPrimitive.CheckboxItem\n data-slot=\"menubar-checkbox-item\"\n className={cn(\n \"focus:bg-card/10 focus:text-popover-foreground relative flex cursor-default items-center gap-2 rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n checked={checked}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <MenubarPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </MenubarPrimitive.ItemIndicator>\n </span>\n {children}\n </MenubarPrimitive.CheckboxItem>\n );\n}\n\nfunction MenubarRadioItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.RadioItem>) {\n return (\n <MenubarPrimitive.RadioItem\n data-slot=\"menubar-radio-item\"\n className={cn(\n \"focus:bg-card/10 focus:text-popover-foreground relative flex cursor-default items-center gap-2 rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <MenubarPrimitive.ItemIndicator>\n <CircleIcon className=\"size-2 fill-current\" />\n </MenubarPrimitive.ItemIndicator>\n </span>\n {children}\n </MenubarPrimitive.RadioItem>\n );\n}\n\nfunction MenubarLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Label> & {\n inset?: boolean;\n}) {\n return (\n <MenubarPrimitive.Label\n data-slot=\"menubar-label\"\n data-inset={inset}\n className={cn(\"px-2 py-1.5 text-sm font-medium data-[inset]:pl-8\", className)}\n {...props}\n />\n );\n}\n\nfunction MenubarSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Separator>) {\n return (\n <MenubarPrimitive.Separator\n data-slot=\"menubar-separator\"\n className={cn(\"bg-card/10 -mx-1 my-1 h-px\", className)}\n {...props}\n />\n );\n}\n\nfunction MenubarShortcut({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"menubar-shortcut\"\n className={cn(\"text-muted-foreground ml-auto text-xs tracking-widest\", className)}\n {...props}\n />\n );\n}\n\nfunction MenubarSub({ ...props }: React.ComponentProps<typeof MenubarPrimitive.Sub>) {\n return <MenubarPrimitive.Sub data-slot=\"menubar-sub\" {...props} />;\n}\n\nfunction MenubarSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.SubTrigger> & {\n inset?: boolean;\n}) {\n return (\n <MenubarPrimitive.SubTrigger\n data-slot=\"menubar-sub-trigger\"\n data-inset={inset}\n className={cn(\n \"focus:bg-card/10 focus:text-popover-foreground data-[state=open]:bg-card/10 data-[state=open]:text-popover-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-none select-none data-[inset]:pl-8\",\n className,\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto h-4 w-4\" />\n </MenubarPrimitive.SubTrigger>\n );\n}\n\nfunction MenubarSubContent({\n className,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.SubContent>) {\n return (\n <MenubarPrimitive.SubContent\n data-slot=\"menubar-sub-content\"\n className={cn(\n \"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 min-w-[8rem] origin-(--radix-menubar-content-transform-origin) overflow-hidden rounded-md border border-white/10 p-1 shadow-lg\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n Menubar,\n MenubarPortal,\n MenubarMenu,\n MenubarTrigger,\n MenubarContent,\n MenubarGroup,\n MenubarSeparator,\n MenubarLabel,\n MenubarItem,\n MenubarShortcut,\n MenubarCheckboxItem,\n MenubarRadioGroup,\n MenubarRadioItem,\n MenubarSub,\n MenubarSubTrigger,\n MenubarSubContent,\n};\n"]}
@@ -0,0 +1,21 @@
1
+ import { cn } from './chunk-DMPSQ22Q.js';
2
+ import * as LabelPrimitive from '@radix-ui/react-label';
3
+ import { jsx } from 'react/jsx-runtime';
4
+
5
+ function Label({ className, ...props }) {
6
+ return /* @__PURE__ */ jsx(
7
+ LabelPrimitive.Root,
8
+ {
9
+ "data-slot": "label",
10
+ className: cn(
11
+ "flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",
12
+ className
13
+ ),
14
+ ...props
15
+ }
16
+ );
17
+ }
18
+
19
+ export { Label };
20
+ //# sourceMappingURL=chunk-IBGGQXTH.js.map
21
+ //# sourceMappingURL=chunk-IBGGQXTH.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ui/label.tsx"],"names":[],"mappings":";;;;AAOA,SAAS,KAAA,CAAM,EAAE,SAAA,EAAW,GAAG,OAAM,EAAqD;AACxF,EAAA,uBACE,GAAA;AAAA,IAAgB,cAAA,CAAA,IAAA;AAAA,IAAf;AAAA,MACC,WAAA,EAAU,OAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,qNAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ","file":"chunk-IBGGQXTH.js","sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as LabelPrimitive from \"@radix-ui/react-label\";\n\nimport { cn } from \"./utils\";\n\nfunction Label({ className, ...props }: React.ComponentProps<typeof LabelPrimitive.Root>) {\n return (\n <LabelPrimitive.Root\n data-slot=\"label\"\n className={cn(\n \"flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Label };\n"]}
@@ -0,0 +1,128 @@
1
+ import { Dialog, DialogHeader, DialogTitle, DialogDescription, DialogContent } from './chunk-7YCAAP43.js';
2
+ import { cn } from './chunk-DMPSQ22Q.js';
3
+ import { Command as Command$1 } from 'cmdk';
4
+ import { SearchIcon } from 'lucide-react';
5
+ import { jsx, jsxs } from 'react/jsx-runtime';
6
+
7
+ function Command({ className, ...props }) {
8
+ return /* @__PURE__ */ jsx(
9
+ Command$1,
10
+ {
11
+ "data-slot": "command",
12
+ className: cn(
13
+ "bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md",
14
+ className
15
+ ),
16
+ ...props
17
+ }
18
+ );
19
+ }
20
+ function CommandDialog({
21
+ title = "Command Palette",
22
+ description = "Search for a command to run...",
23
+ children,
24
+ ...props
25
+ }) {
26
+ return /* @__PURE__ */ jsxs(Dialog, { ...props, children: [
27
+ /* @__PURE__ */ jsxs(DialogHeader, { className: "sr-only", children: [
28
+ /* @__PURE__ */ jsx(DialogTitle, { children: title }),
29
+ /* @__PURE__ */ jsx(DialogDescription, { children: description })
30
+ ] }),
31
+ /* @__PURE__ */ jsx(DialogContent, { className: "overflow-hidden p-0", children: /* @__PURE__ */ jsx(Command, { className: "[&_[cmdk-group-heading]]:text-muted-foreground **:data-[slot=command-input-wrapper]:h-12 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5", children }) })
32
+ ] });
33
+ }
34
+ function CommandInput({
35
+ className,
36
+ ...props
37
+ }) {
38
+ return /* @__PURE__ */ jsxs("div", { "data-slot": "command-input-wrapper", className: "flex h-9 items-center gap-2 border-b border-white/10 px-3", children: [
39
+ /* @__PURE__ */ jsx(SearchIcon, { className: "size-4 shrink-0 text-popover-foreground/50" }),
40
+ /* @__PURE__ */ jsx(
41
+ Command$1.Input,
42
+ {
43
+ "data-slot": "command-input",
44
+ className: cn(
45
+ "flex h-10 w-full rounded-md bg-transparent py-3 text-sm text-popover-foreground outline-hidden placeholder:text-popover-foreground/50 disabled:cursor-not-allowed disabled:opacity-50",
46
+ className
47
+ ),
48
+ ...props
49
+ }
50
+ )
51
+ ] });
52
+ }
53
+ function CommandList({ className, ...props }) {
54
+ return /* @__PURE__ */ jsx(
55
+ Command$1.List,
56
+ {
57
+ "data-slot": "command-list",
58
+ className: cn("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto", className),
59
+ ...props
60
+ }
61
+ );
62
+ }
63
+ function CommandEmpty({ ...props }) {
64
+ return /* @__PURE__ */ jsx(
65
+ Command$1.Empty,
66
+ {
67
+ "data-slot": "command-empty",
68
+ className: "py-6 text-center text-sm text-popover-foreground/60",
69
+ ...props
70
+ }
71
+ );
72
+ }
73
+ function CommandGroup({
74
+ className,
75
+ ...props
76
+ }) {
77
+ return /* @__PURE__ */ jsx(
78
+ Command$1.Group,
79
+ {
80
+ "data-slot": "command-group",
81
+ className: cn(
82
+ "text-popover-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-popover-foreground/60",
83
+ className
84
+ ),
85
+ ...props
86
+ }
87
+ );
88
+ }
89
+ function CommandSeparator({
90
+ className,
91
+ ...props
92
+ }) {
93
+ return /* @__PURE__ */ jsx(
94
+ Command$1.Separator,
95
+ {
96
+ "data-slot": "command-separator",
97
+ className: cn("bg-card/10 -mx-1 h-px", className),
98
+ ...props
99
+ }
100
+ );
101
+ }
102
+ function CommandItem({ className, ...props }) {
103
+ return /* @__PURE__ */ jsx(
104
+ Command$1.Item,
105
+ {
106
+ "data-slot": "command-item",
107
+ className: cn(
108
+ "group relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm text-popover-foreground outline-hidden data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 data-[selected=true]:bg-card/10 data-[selected=true]:text-popover-foreground [&_svg:not([class*='text-'])]:text-popover-foreground/60 data-[selected=true]:[&_svg:not([class*='text-'])]:text-popover-foreground/80 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
109
+ className
110
+ ),
111
+ ...props
112
+ }
113
+ );
114
+ }
115
+ function CommandShortcut({ className, ...props }) {
116
+ return /* @__PURE__ */ jsx(
117
+ "span",
118
+ {
119
+ "data-slot": "command-shortcut",
120
+ className: cn("text-muted-foreground ml-auto text-xs tracking-widest", className),
121
+ ...props
122
+ }
123
+ );
124
+ }
125
+
126
+ export { Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut };
127
+ //# sourceMappingURL=chunk-JCEOU7BU.js.map
128
+ //# sourceMappingURL=chunk-JCEOU7BU.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ui/command.tsx"],"names":["CommandPrimitive"],"mappings":";;;;;;AASA,SAAS,OAAA,CAAQ,EAAE,SAAA,EAAW,GAAG,OAAM,EAAkD;AACvF,EAAA,uBACE,GAAA;AAAA,IAACA,SAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,SAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,2FAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,aAAA,CAAc;AAAA,EACrB,KAAA,GAAQ,iBAAA;AAAA,EACR,WAAA,GAAc,gCAAA;AAAA,EACd,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAGG;AACD,EAAA,uBACE,IAAA,CAAC,MAAA,EAAA,EAAQ,GAAG,KAAA,EACV,QAAA,EAAA;AAAA,oBAAA,IAAA,CAAC,YAAA,EAAA,EAAa,WAAU,SAAA,EACtB,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,eAAa,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,sBACpB,GAAA,CAAC,qBAAmB,QAAA,EAAA,WAAA,EAAY;AAAA,KAAA,EAClC,CAAA;AAAA,oBACA,GAAA,CAAC,iBAAc,SAAA,EAAU,qBAAA,EACvB,8BAAC,OAAA,EAAA,EAAQ,SAAA,EAAU,uZAAA,EAChB,QAAA,EACH,CAAA,EACF;AAAA,GAAA,EACF,CAAA;AAEJ;AAEA,SAAS,YAAA,CAAa;AAAA,EACpB,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAwD;AACtD,EAAA,uBACE,IAAA,CAAC,KAAA,EAAA,EAAI,WAAA,EAAU,uBAAA,EAAwB,WAAU,2DAAA,EAC/C,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,UAAA,EAAA,EAAW,WAAU,4CAAA,EAA6C,CAAA;AAAA,oBACnE,GAAA;AAAA,MAACA,SAAA,CAAiB,KAAA;AAAA,MAAjB;AAAA,QACC,WAAA,EAAU,eAAA;AAAA,QACV,SAAA,EAAW,EAAA;AAAA,UACT,uLAAA;AAAA,UACA;AAAA,SACF;AAAA,QACC,GAAG;AAAA;AAAA;AACN,GAAA,EACF,CAAA;AAEJ;AAEA,SAAS,WAAA,CAAY,EAAE,SAAA,EAAW,GAAG,OAAM,EAAuD;AAChG,EAAA,uBACE,GAAA;AAAA,IAACA,SAAA,CAAiB,IAAA;AAAA,IAAjB;AAAA,MACC,WAAA,EAAU,cAAA;AAAA,MACV,SAAA,EAAW,EAAA,CAAG,6DAAA,EAA+D,SAAS,CAAA;AAAA,MACrF,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,YAAA,CAAa,EAAE,GAAG,KAAA,EAAM,EAAwD;AACvF,EAAA,uBACE,GAAA;AAAA,IAACA,SAAA,CAAiB,KAAA;AAAA,IAAjB;AAAA,MACC,WAAA,EAAU,eAAA;AAAA,MACV,SAAA,EAAU,qDAAA;AAAA,MACT,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,YAAA,CAAa;AAAA,EACpB,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAwD;AACtD,EAAA,uBACE,GAAA;AAAA,IAACA,SAAA,CAAiB,KAAA;AAAA,IAAjB;AAAA,MACC,WAAA,EAAU,eAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,qOAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,gBAAA,CAAiB;AAAA,EACxB,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA4D;AAC1D,EAAA,uBACE,GAAA;AAAA,IAACA,SAAA,CAAiB,SAAA;AAAA,IAAjB;AAAA,MACC,WAAA,EAAU,mBAAA;AAAA,MACV,SAAA,EAAW,EAAA,CAAG,uBAAA,EAAyB,SAAS,CAAA;AAAA,MAC/C,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,WAAA,CAAY,EAAE,SAAA,EAAW,GAAG,OAAM,EAAuD;AAChG,EAAA,uBACE,GAAA;AAAA,IAACA,SAAA,CAAiB,IAAA;AAAA,IAAjB;AAAA,MACC,WAAA,EAAU,cAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,wfAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,eAAA,CAAgB,EAAE,SAAA,EAAW,GAAG,OAAM,EAAiC;AAC9E,EAAA,uBACE,GAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,kBAAA;AAAA,MACV,SAAA,EAAW,EAAA,CAAG,uDAAA,EAAyD,SAAS,CAAA;AAAA,MAC/E,GAAG;AAAA;AAAA,GACN;AAEJ","file":"chunk-JCEOU7BU.js","sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { Command as CommandPrimitive } from \"cmdk\";\nimport { SearchIcon } from \"lucide-react\";\n\nimport { cn } from \"./utils\";\nimport { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle } from \"./dialog\";\n\nfunction Command({ className, ...props }: React.ComponentProps<typeof CommandPrimitive>) {\n return (\n <CommandPrimitive\n data-slot=\"command\"\n className={cn(\n \"bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction CommandDialog({\n title = \"Command Palette\",\n description = \"Search for a command to run...\",\n children,\n ...props\n}: React.ComponentProps<typeof Dialog> & {\n title?: string;\n description?: string;\n}) {\n return (\n <Dialog {...props}>\n <DialogHeader className=\"sr-only\">\n <DialogTitle>{title}</DialogTitle>\n <DialogDescription>{description}</DialogDescription>\n </DialogHeader>\n <DialogContent className=\"overflow-hidden p-0\">\n <Command className=\"[&_[cmdk-group-heading]]:text-muted-foreground **:data-[slot=command-input-wrapper]:h-12 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5\">\n {children}\n </Command>\n </DialogContent>\n </Dialog>\n );\n}\n\nfunction CommandInput({\n className,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Input>) {\n return (\n <div data-slot=\"command-input-wrapper\" className=\"flex h-9 items-center gap-2 border-b border-white/10 px-3\">\n <SearchIcon className=\"size-4 shrink-0 text-popover-foreground/50\" />\n <CommandPrimitive.Input\n data-slot=\"command-input\"\n className={cn(\n \"flex h-10 w-full rounded-md bg-transparent py-3 text-sm text-popover-foreground outline-hidden placeholder:text-popover-foreground/50 disabled:cursor-not-allowed disabled:opacity-50\",\n className,\n )}\n {...props}\n />\n </div>\n );\n}\n\nfunction CommandList({ className, ...props }: React.ComponentProps<typeof CommandPrimitive.List>) {\n return (\n <CommandPrimitive.List\n data-slot=\"command-list\"\n className={cn(\"max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto\", className)}\n {...props}\n />\n );\n}\n\nfunction CommandEmpty({ ...props }: React.ComponentProps<typeof CommandPrimitive.Empty>) {\n return (\n <CommandPrimitive.Empty\n data-slot=\"command-empty\"\n className=\"py-6 text-center text-sm text-popover-foreground/60\"\n {...props}\n />\n );\n}\n\nfunction CommandGroup({\n className,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Group>) {\n return (\n <CommandPrimitive.Group\n data-slot=\"command-group\"\n className={cn(\n \"text-popover-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-popover-foreground/60\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction CommandSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Separator>) {\n return (\n <CommandPrimitive.Separator\n data-slot=\"command-separator\"\n className={cn(\"bg-card/10 -mx-1 h-px\", className)}\n {...props}\n />\n );\n}\n\nfunction CommandItem({ className, ...props }: React.ComponentProps<typeof CommandPrimitive.Item>) {\n return (\n <CommandPrimitive.Item\n data-slot=\"command-item\"\n className={cn(\n \"group relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm text-popover-foreground outline-hidden data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 data-[selected=true]:bg-card/10 data-[selected=true]:text-popover-foreground [&_svg:not([class*='text-'])]:text-popover-foreground/60 data-[selected=true]:[&_svg:not([class*='text-'])]:text-popover-foreground/80 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction CommandShortcut({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"command-shortcut\"\n className={cn(\"text-muted-foreground ml-auto text-xs tracking-widest\", className)}\n {...props}\n />\n );\n}\n\nexport {\n Command,\n CommandDialog,\n CommandInput,\n CommandList,\n CommandEmpty,\n CommandGroup,\n CommandItem,\n CommandShortcut,\n CommandSeparator,\n};\n"]}
@@ -1,21 +1,7 @@
1
1
  import { cn } from './chunk-DMPSQ22Q.js';
2
- import * as LabelPrimitive from '@radix-ui/react-label';
3
- import { jsx } from 'react/jsx-runtime';
4
2
  import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';
3
+ import { jsx } from 'react/jsx-runtime';
5
4
 
6
- function Label({ className, ...props }) {
7
- return /* @__PURE__ */ jsx(
8
- LabelPrimitive.Root,
9
- {
10
- "data-slot": "label",
11
- className: cn(
12
- "flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",
13
- className
14
- ),
15
- ...props
16
- }
17
- );
18
- }
19
5
  function RadioGroup({
20
6
  className,
21
7
  ...props
@@ -58,6 +44,6 @@ function RadioGroupItem({
58
44
  );
59
45
  }
60
46
 
61
- export { Label, RadioGroup, RadioGroupItem };
62
- //# sourceMappingURL=chunk-RV5PMZYZ.js.map
63
- //# sourceMappingURL=chunk-RV5PMZYZ.js.map
47
+ export { RadioGroup, RadioGroupItem };
48
+ //# sourceMappingURL=chunk-MBZAYH5D.js.map
49
+ //# sourceMappingURL=chunk-MBZAYH5D.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ui/radio-group.tsx"],"names":[],"mappings":";;;;AAOA,SAAS,UAAA,CAAW;AAAA,EAClB,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA0D;AACxD,EAAA,uBACE,GAAA;AAAA,IAAqB,mBAAA,CAAA,IAAA;AAAA,IAApB;AAAA,MACC,WAAA,EAAU,aAAA;AAAA,MACV,SAAA,EAAW,EAAA,CAAG,YAAA,EAAc,SAAS,CAAA;AAAA,MACpC,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,cAAA,CAAe;AAAA,EACtB,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA0D;AACxD,EAAA,uBACE,GAAA;AAAA,IAAqB,mBAAA,CAAA,IAAA;AAAA,IAApB;AAAA,MACC,WAAA,EAAU,kBAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,6JAAA;AAAA,QACA,uFAAA;AAAA,QACA,0DAAA;AAAA,QACA,iDAAA;AAAA,QACA,sCAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEJ,QAAA,kBAAA,GAAA;AAAA,QAAqB,mBAAA,CAAA,SAAA;AAAA,QAApB;AAAA,UACC,WAAA,EAAU,uBAAA;AAAA,UACV,SAAA,EAAU,kCAAA;AAAA,UAEV,QAAA,kBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,mCAAA,EAAoC;AAAA;AAAA;AACtD;AAAA,GACF;AAEJ","file":"chunk-MBZAYH5D.js","sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as RadioGroupPrimitive from \"@radix-ui/react-radio-group\";\n\nimport { cn } from \"./utils\";\n\nfunction RadioGroup({\n className,\n ...props\n}: React.ComponentProps<typeof RadioGroupPrimitive.Root>) {\n return (\n <RadioGroupPrimitive.Root\n data-slot=\"radio-group\"\n className={cn(\"grid gap-3\", className)}\n {...props}\n />\n );\n}\n\nfunction RadioGroupItem({\n className,\n ...props\n}: React.ComponentProps<typeof RadioGroupPrimitive.Item>) {\n return (\n <RadioGroupPrimitive.Item\n data-slot=\"radio-group-item\"\n className={cn(\n \"flex size-[18px] shrink-0 items-center justify-center rounded-full border border-border bg-card shadow-sm outline-none transition-[border-color,box-shadow]\",\n \"focus-visible:border-blue-500 focus-visible:ring-[3px] focus-visible:ring-blue-500/25\",\n \"aria-invalid:border-red-400 aria-invalid:ring-red-500/20\",\n \"disabled:cursor-not-allowed disabled:opacity-50\",\n \"data-[state=checked]:border-blue-600\",\n className,\n )}\n {...props}\n >\n <RadioGroupPrimitive.Indicator\n data-slot=\"radio-group-indicator\"\n className=\"flex items-center justify-center\"\n >\n <span className=\"size-2.5 rounded-full bg-blue-600\" />\n </RadioGroupPrimitive.Indicator>\n </RadioGroupPrimitive.Item>\n );\n}\n\nexport { RadioGroup, RadioGroupItem };\n"]}
@@ -0,0 +1,153 @@
1
+ import { cn } from './chunk-DMPSQ22Q.js';
2
+ import * as NavigationMenuPrimitive from '@radix-ui/react-navigation-menu';
3
+ import { cva } from 'class-variance-authority';
4
+ import { ChevronDownIcon } from 'lucide-react';
5
+ import { jsxs, jsx } from 'react/jsx-runtime';
6
+
7
+ function NavigationMenu({
8
+ className,
9
+ children,
10
+ viewport = true,
11
+ ...props
12
+ }) {
13
+ return /* @__PURE__ */ jsxs(
14
+ NavigationMenuPrimitive.Root,
15
+ {
16
+ "data-slot": "navigation-menu",
17
+ "data-viewport": viewport,
18
+ className: cn(
19
+ "group/navigation-menu relative flex max-w-max flex-1 items-center justify-center",
20
+ className
21
+ ),
22
+ ...props,
23
+ children: [
24
+ children,
25
+ viewport && /* @__PURE__ */ jsx(NavigationMenuViewport, {})
26
+ ]
27
+ }
28
+ );
29
+ }
30
+ function NavigationMenuList({
31
+ className,
32
+ ...props
33
+ }) {
34
+ return /* @__PURE__ */ jsx(
35
+ NavigationMenuPrimitive.List,
36
+ {
37
+ "data-slot": "navigation-menu-list",
38
+ className: cn("group flex flex-1 list-none items-center justify-center gap-1", className),
39
+ ...props
40
+ }
41
+ );
42
+ }
43
+ function NavigationMenuItem({
44
+ className,
45
+ ...props
46
+ }) {
47
+ return /* @__PURE__ */ jsx(
48
+ NavigationMenuPrimitive.Item,
49
+ {
50
+ "data-slot": "navigation-menu-item",
51
+ className: cn("relative", className),
52
+ ...props
53
+ }
54
+ );
55
+ }
56
+ var navigationMenuTriggerStyle = cva(
57
+ "group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=open]:hover:bg-accent data-[state=open]:text-accent-foreground data-[state=open]:focus:bg-accent data-[state=open]:bg-accent/50 focus-visible:ring-ring/50 outline-none transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1"
58
+ );
59
+ function NavigationMenuTrigger({
60
+ className,
61
+ children,
62
+ ...props
63
+ }) {
64
+ return /* @__PURE__ */ jsxs(
65
+ NavigationMenuPrimitive.Trigger,
66
+ {
67
+ "data-slot": "navigation-menu-trigger",
68
+ className: cn(navigationMenuTriggerStyle(), "group", className),
69
+ ...props,
70
+ children: [
71
+ children,
72
+ " ",
73
+ /* @__PURE__ */ jsx(
74
+ ChevronDownIcon,
75
+ {
76
+ className: "relative top-[1px] ml-1 size-3 transition duration-300 group-data-[state=open]:rotate-180",
77
+ "aria-hidden": "true"
78
+ }
79
+ )
80
+ ]
81
+ }
82
+ );
83
+ }
84
+ function NavigationMenuContent({
85
+ className,
86
+ ...props
87
+ }) {
88
+ return /* @__PURE__ */ jsx(
89
+ NavigationMenuPrimitive.Content,
90
+ {
91
+ "data-slot": "navigation-menu-content",
92
+ className: cn(
93
+ "data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 top-0 left-0 w-full p-2 pr-2.5 md:absolute md:w-auto",
94
+ "group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground group-data-[viewport=false]/navigation-menu:data-[state=open]:animate-in group-data-[viewport=false]/navigation-menu:data-[state=closed]:animate-out group-data-[viewport=false]/navigation-menu:data-[state=closed]:zoom-out-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:zoom-in-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:fade-in-0 group-data-[viewport=false]/navigation-menu:data-[state=closed]:fade-out-0 group-data-[viewport=false]/navigation-menu:top-full group-data-[viewport=false]/navigation-menu:mt-1.5 group-data-[viewport=false]/navigation-menu:overflow-hidden group-data-[viewport=false]/navigation-menu:rounded-md group-data-[viewport=false]/navigation-menu:border group-data-[viewport=false]/navigation-menu:shadow group-data-[viewport=false]/navigation-menu:duration-200 **:data-[slot=navigation-menu-link]:focus:ring-0 **:data-[slot=navigation-menu-link]:focus:outline-none",
95
+ className
96
+ ),
97
+ ...props
98
+ }
99
+ );
100
+ }
101
+ function NavigationMenuViewport({
102
+ className,
103
+ ...props
104
+ }) {
105
+ return /* @__PURE__ */ jsx("div", { className: cn("absolute top-full left-0 isolate z-50 flex justify-center"), children: /* @__PURE__ */ jsx(
106
+ NavigationMenuPrimitive.Viewport,
107
+ {
108
+ "data-slot": "navigation-menu-viewport",
109
+ className: cn(
110
+ "origin-top-center bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border shadow md:w-[var(--radix-navigation-menu-viewport-width)]",
111
+ className
112
+ ),
113
+ ...props
114
+ }
115
+ ) });
116
+ }
117
+ function NavigationMenuLink({
118
+ className,
119
+ ...props
120
+ }) {
121
+ return /* @__PURE__ */ jsx(
122
+ NavigationMenuPrimitive.Link,
123
+ {
124
+ "data-slot": "navigation-menu-link",
125
+ className: cn(
126
+ "data-[active=true]:focus:bg-accent data-[active=true]:hover:bg-accent data-[active=true]:bg-accent/50 data-[active=true]:text-accent-foreground hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus-visible:ring-ring/50 [&_svg:not([class*='text-'])]:text-muted-foreground flex flex-col gap-1 rounded-sm p-2 text-sm transition-all outline-none focus-visible:ring-[3px] focus-visible:outline-1 [&_svg:not([class*='size-'])]:size-4",
127
+ className
128
+ ),
129
+ ...props
130
+ }
131
+ );
132
+ }
133
+ function NavigationMenuIndicator({
134
+ className,
135
+ ...props
136
+ }) {
137
+ return /* @__PURE__ */ jsx(
138
+ NavigationMenuPrimitive.Indicator,
139
+ {
140
+ "data-slot": "navigation-menu-indicator",
141
+ className: cn(
142
+ "data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden",
143
+ className
144
+ ),
145
+ ...props,
146
+ children: /* @__PURE__ */ jsx("div", { className: "bg-border relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm shadow-md" })
147
+ }
148
+ );
149
+ }
150
+
151
+ export { NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, navigationMenuTriggerStyle };
152
+ //# sourceMappingURL=chunk-NWVNYKND.js.map
153
+ //# sourceMappingURL=chunk-NWVNYKND.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ui/navigation-menu.tsx"],"names":[],"mappings":"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","file":"chunk-NWVNYKND.js","sourcesContent":["import * as React from \"react\";\nimport * as NavigationMenuPrimitive from \"@radix-ui/react-navigation-menu\";\nimport { cva } from \"class-variance-authority\";\nimport { ChevronDownIcon } from \"lucide-react\";\n\nimport { cn } from \"./utils\";\n\nfunction NavigationMenu({\n className,\n children,\n viewport = true,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Root> & {\n viewport?: boolean;\n}) {\n return (\n <NavigationMenuPrimitive.Root\n data-slot=\"navigation-menu\"\n data-viewport={viewport}\n className={cn(\n \"group/navigation-menu relative flex max-w-max flex-1 items-center justify-center\",\n className,\n )}\n {...props}\n >\n {children}\n {viewport && <NavigationMenuViewport />}\n </NavigationMenuPrimitive.Root>\n );\n}\n\nfunction NavigationMenuList({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.List>) {\n return (\n <NavigationMenuPrimitive.List\n data-slot=\"navigation-menu-list\"\n className={cn(\"group flex flex-1 list-none items-center justify-center gap-1\", className)}\n {...props}\n />\n );\n}\n\nfunction NavigationMenuItem({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Item>) {\n return (\n <NavigationMenuPrimitive.Item\n data-slot=\"navigation-menu-item\"\n className={cn(\"relative\", className)}\n {...props}\n />\n );\n}\n\nconst navigationMenuTriggerStyle = cva(\n \"group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=open]:hover:bg-accent data-[state=open]:text-accent-foreground data-[state=open]:focus:bg-accent data-[state=open]:bg-accent/50 focus-visible:ring-ring/50 outline-none transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1\",\n);\n\nfunction NavigationMenuTrigger({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Trigger>) {\n return (\n <NavigationMenuPrimitive.Trigger\n data-slot=\"navigation-menu-trigger\"\n className={cn(navigationMenuTriggerStyle(), \"group\", className)}\n {...props}\n >\n {children}{\" \"}\n <ChevronDownIcon\n className=\"relative top-[1px] ml-1 size-3 transition duration-300 group-data-[state=open]:rotate-180\"\n aria-hidden=\"true\"\n />\n </NavigationMenuPrimitive.Trigger>\n );\n}\n\nfunction NavigationMenuContent({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Content>) {\n return (\n <NavigationMenuPrimitive.Content\n data-slot=\"navigation-menu-content\"\n className={cn(\n \"data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 top-0 left-0 w-full p-2 pr-2.5 md:absolute md:w-auto\",\n \"group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground group-data-[viewport=false]/navigation-menu:data-[state=open]:animate-in group-data-[viewport=false]/navigation-menu:data-[state=closed]:animate-out group-data-[viewport=false]/navigation-menu:data-[state=closed]:zoom-out-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:zoom-in-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:fade-in-0 group-data-[viewport=false]/navigation-menu:data-[state=closed]:fade-out-0 group-data-[viewport=false]/navigation-menu:top-full group-data-[viewport=false]/navigation-menu:mt-1.5 group-data-[viewport=false]/navigation-menu:overflow-hidden group-data-[viewport=false]/navigation-menu:rounded-md group-data-[viewport=false]/navigation-menu:border group-data-[viewport=false]/navigation-menu:shadow group-data-[viewport=false]/navigation-menu:duration-200 **:data-[slot=navigation-menu-link]:focus:ring-0 **:data-[slot=navigation-menu-link]:focus:outline-none\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction NavigationMenuViewport({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Viewport>) {\n return (\n <div className={cn(\"absolute top-full left-0 isolate z-50 flex justify-center\")}>\n <NavigationMenuPrimitive.Viewport\n data-slot=\"navigation-menu-viewport\"\n className={cn(\n \"origin-top-center bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border shadow md:w-[var(--radix-navigation-menu-viewport-width)]\",\n className,\n )}\n {...props}\n />\n </div>\n );\n}\n\nfunction NavigationMenuLink({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Link>) {\n return (\n <NavigationMenuPrimitive.Link\n data-slot=\"navigation-menu-link\"\n className={cn(\n \"data-[active=true]:focus:bg-accent data-[active=true]:hover:bg-accent data-[active=true]:bg-accent/50 data-[active=true]:text-accent-foreground hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus-visible:ring-ring/50 [&_svg:not([class*='text-'])]:text-muted-foreground flex flex-col gap-1 rounded-sm p-2 text-sm transition-all outline-none focus-visible:ring-[3px] focus-visible:outline-1 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction NavigationMenuIndicator({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Indicator>) {\n return (\n <NavigationMenuPrimitive.Indicator\n data-slot=\"navigation-menu-indicator\"\n className={cn(\n \"data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden\",\n className,\n )}\n {...props}\n >\n <div className=\"bg-border relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm shadow-md\" />\n </NavigationMenuPrimitive.Indicator>\n );\n}\n\nexport {\n NavigationMenu,\n NavigationMenuList,\n NavigationMenuItem,\n NavigationMenuContent,\n NavigationMenuTrigger,\n NavigationMenuLink,\n NavigationMenuIndicator,\n NavigationMenuViewport,\n navigationMenuTriggerStyle,\n};\n"]}
@@ -0,0 +1,209 @@
1
+ // src/lib/booking-schedule.ts
2
+ function localDateYmd(d) {
3
+ const y = d.getFullYear();
4
+ const m = String(d.getMonth() + 1).padStart(2, "0");
5
+ const day = String(d.getDate()).padStart(2, "0");
6
+ return `${y}-${m}-${day}`;
7
+ }
8
+ function todayLocalYmd(now = /* @__PURE__ */ new Date()) {
9
+ return localDateYmd(now);
10
+ }
11
+ function pricingTodayYmd(now = /* @__PURE__ */ new Date()) {
12
+ return todayLocalYmd(now);
13
+ }
14
+ var PRICING_TODAY = todayLocalYmd();
15
+ function currentMonthYm(now = /* @__PURE__ */ new Date()) {
16
+ return `${now.getFullYear()}-${String(now.getMonth() + 1).padStart(2, "0")}`;
17
+ }
18
+ function currentWeekStart(now = /* @__PURE__ */ new Date()) {
19
+ const d = new Date(now.getFullYear(), now.getMonth(), now.getDate());
20
+ const day = d.getDay();
21
+ const offset = day === 0 ? -6 : 1 - day;
22
+ d.setDate(d.getDate() + offset);
23
+ return localDateYmd(d);
24
+ }
25
+ function computeMinMonth(now = /* @__PURE__ */ new Date()) {
26
+ if (now.getDate() === 1) {
27
+ return currentMonthYm(now);
28
+ }
29
+ const n = new Date(now.getFullYear(), now.getMonth() + 1, 1);
30
+ return currentMonthYm(n);
31
+ }
32
+ function computeMinWeekStart(now = /* @__PURE__ */ new Date()) {
33
+ const day = now.getDay();
34
+ if (day === 1) return todayLocalYmd(now);
35
+ const d = new Date(now.getFullYear(), now.getMonth(), now.getDate());
36
+ const skip = day === 0 ? 1 : 8 - day;
37
+ d.setDate(d.getDate() + skip);
38
+ return localDateYmd(d);
39
+ }
40
+ var MIN_MONTH = computeMinMonth();
41
+ var MIN_WEEK_START = computeMinWeekStart();
42
+ var IS_PARTIAL_MONTH = (/* @__PURE__ */ new Date()).getDate() !== 1;
43
+ function monthLabel(ym) {
44
+ const [y, m] = ym.split("-").map(Number);
45
+ return new Date(y, m - 1, 1).toLocaleDateString("en-US", { month: "long", year: "numeric" });
46
+ }
47
+ function monthCount(from, to) {
48
+ if (!from || !to || !from.includes("-") || !to.includes("-")) return 0;
49
+ const [fy, fm] = from.split("-").map(Number);
50
+ const [ty, tm] = to.split("-").map(Number);
51
+ return (ty - fy) * 12 + (tm - fm) + 1;
52
+ }
53
+ function weekRangeLabel(weekFrom, weekCount) {
54
+ if (!weekFrom || isNaN((/* @__PURE__ */ new Date(weekFrom + "T00:00:00")).getTime())) return "\u2014";
55
+ const end = parseDateOnly(weekFrom);
56
+ end.setDate(end.getDate() + weekCount * 7 - 1);
57
+ const s = parseDateOnly(weekFrom).toLocaleDateString("en-US", { month: "short", day: "numeric" });
58
+ const e = end.toLocaleDateString("en-US", { month: "short", day: "numeric", year: "numeric" });
59
+ return `${s} \u2013 ${e}`;
60
+ }
61
+ function weekCountBetween(weekFrom, weekToMon) {
62
+ if (!weekFrom || !weekToMon) return 0;
63
+ if (weekToMon < weekFrom) return 1;
64
+ return Math.floor(diffDays(weekFrom, weekToMon) / 7) + 1;
65
+ }
66
+ function addMonthsYm(ym, delta) {
67
+ const [y, m] = ym.split("-").map(Number);
68
+ const d = new Date(y, (m ?? 1) - 1 + delta, 1);
69
+ return `${d.getFullYear()}-${String(d.getMonth() + 1).padStart(2, "0")}`;
70
+ }
71
+ function parseDateOnly(date) {
72
+ const [y, m, d] = date.split("-").map(Number);
73
+ return new Date(y, m - 1, d);
74
+ }
75
+ function diffDays(a, b) {
76
+ const da = parseDateOnly(a);
77
+ const db = parseDateOnly(b);
78
+ return Math.max(0, Math.round((db.getTime() - da.getTime()) / 864e5));
79
+ }
80
+ function addDays(date, days) {
81
+ const d = parseDateOnly(date);
82
+ d.setDate(d.getDate() + days);
83
+ return localDateYmd(d);
84
+ }
85
+ function hmMinutes(hm) {
86
+ const [h, m] = hm.split(":").map(Number);
87
+ if (!Number.isFinite(h) || !Number.isFinite(m)) return null;
88
+ return h * 60 + m;
89
+ }
90
+ function isSlotCharge(chargeBy) {
91
+ return chargeBy === "hours" || chargeBy === "minutes";
92
+ }
93
+ function snapScheduleEndTime(from, end, chargeBy) {
94
+ const fromMin = hmMinutes(from);
95
+ if (fromMin == null) return end || "10:00";
96
+ const delta = chargeBy === "minutes" ? 1 : 60;
97
+ const next = fromMin + delta;
98
+ return `${String(Math.floor(next / 60)).padStart(2, "0")}:${String(next % 60).padStart(2, "0")}`;
99
+ }
100
+ function minNeededTimeHm(prepMinutes, now = /* @__PURE__ */ new Date()) {
101
+ const earliest = new Date(now.getTime() + prepMinutes * 6e4);
102
+ if (earliest.getSeconds() > 0 || earliest.getMilliseconds() > 0) {
103
+ earliest.setMinutes(earliest.getMinutes() + 1);
104
+ }
105
+ earliest.setSeconds(0, 0);
106
+ return `${String(earliest.getHours()).padStart(2, "0")}:${String(earliest.getMinutes()).padStart(2, "0")}`;
107
+ }
108
+ function partialElapsed(config, booking, now = /* @__PURE__ */ new Date()) {
109
+ const today = todayLocalYmd(now);
110
+ if (config.chargeBy === "months") {
111
+ const cur = currentMonthYm(now);
112
+ const min = computeMinMonth(now);
113
+ if (!booking.monthFrom || booking.monthFrom !== cur || booking.monthFrom >= min) return null;
114
+ const days = diffDays(`${booking.monthFrom}-01`, today);
115
+ return days > 0 ? { amount: days, unit: "days" } : null;
116
+ }
117
+ if (config.chargeBy === "weeks") {
118
+ const cur = currentWeekStart(now);
119
+ const min = computeMinWeekStart(now);
120
+ if (!booking.weekFrom || booking.weekFrom !== cur || booking.weekFrom >= min) return null;
121
+ const days = diffDays(booking.weekFrom, today);
122
+ return days > 0 ? { amount: days, unit: "days" } : null;
123
+ }
124
+ if (config.chargeBy === "days") {
125
+ if (!booking.startDate) return null;
126
+ if (booking.startDate < today) {
127
+ const days = diffDays(booking.startDate, today);
128
+ return days > 0 ? { amount: days, unit: "days" } : null;
129
+ }
130
+ if (booking.oneDayBooking !== false && booking.startDate === today) {
131
+ const hours = now.getHours() + now.getMinutes() / 60;
132
+ const rounded = Math.floor(hours);
133
+ return rounded > 0 ? { amount: rounded, unit: "hours" } : null;
134
+ }
135
+ return null;
136
+ }
137
+ if (isSlotCharge(config.chargeBy)) {
138
+ if (booking.scheduleDate !== today || !booking.scheduleTime) return null;
139
+ const startMin = hmMinutes(booking.scheduleTime);
140
+ const nowMin = now.getHours() * 60 + now.getMinutes();
141
+ if (startMin == null || startMin >= nowMin) return null;
142
+ const elapsed = nowMin - startMin;
143
+ if (config.chargeBy === "minutes") {
144
+ return elapsed > 0 ? { amount: elapsed, unit: "minutes" } : null;
145
+ }
146
+ const hours = Math.floor(elapsed / 60);
147
+ return hours > 0 ? { amount: hours, unit: "hours" } : null;
148
+ }
149
+ return null;
150
+ }
151
+ function formatPartialElapsedLabel(elapsed) {
152
+ const { amount, unit } = elapsed;
153
+ if (unit === "days") return `${amount} day${amount !== 1 ? "s" : ""}`;
154
+ if (unit === "hours") return `${amount} hour${amount !== 1 ? "s" : ""}`;
155
+ return `${amount} minute${amount !== 1 ? "s" : ""}`;
156
+ }
157
+ function applyBookingScheduleDefaults(config, booking, options) {
158
+ const now = options?.now ?? /* @__PURE__ */ new Date();
159
+ const today = todayLocalYmd(now);
160
+ const patch = {};
161
+ if (isSlotCharge(config.chargeBy)) {
162
+ if (!booking.scheduleDate) patch.scheduleDate = today;
163
+ if (!booking.scheduleTime) patch.scheduleTime = "09:00";
164
+ const from = patch.scheduleTime ?? booking.scheduleTime ?? "09:00";
165
+ if (!booking.scheduleEndTime) {
166
+ patch.scheduleEndTime = snapScheduleEndTime(from, "", config.chargeBy);
167
+ }
168
+ return patch;
169
+ }
170
+ if (config.chargeBy === "days") {
171
+ if (!booking.startDate) {
172
+ patch.startDate = today;
173
+ patch.endDate = addDays(today, 1);
174
+ patch.oneDayBooking = true;
175
+ } else if (!booking.endDate) {
176
+ patch.endDate = addDays(booking.startDate, 1);
177
+ }
178
+ if (booking.oneDayBooking === void 0) patch.oneDayBooking = true;
179
+ return patch;
180
+ }
181
+ if (config.chargeBy === "weeks") {
182
+ if (!booking.weekFrom) patch.weekFrom = computeMinWeekStart(now);
183
+ if (!booking.weekCount) patch.weekCount = 1;
184
+ return patch;
185
+ }
186
+ if (config.chargeBy === "months") {
187
+ const min = computeMinMonth(now);
188
+ if (!booking.monthFrom) patch.monthFrom = min;
189
+ if (!booking.monthTo) patch.monthTo = patch.monthFrom ?? booking.monthFrom ?? min;
190
+ return patch;
191
+ }
192
+ if (config.chargeBy === "quantity") {
193
+ if (!booking.scheduleDate) patch.scheduleDate = today;
194
+ let time = booking.scheduleTime || "09:00";
195
+ const prep = options?.preparationMinutes ?? 0;
196
+ if (prep > 0 && (patch.scheduleDate ?? booking.scheduleDate ?? today) === today) {
197
+ const floor = minNeededTimeHm(prep, now);
198
+ if (time < floor) time = floor;
199
+ }
200
+ if (!booking.scheduleTime) patch.scheduleTime = time;
201
+ if (!booking.itemQuantity) patch.itemQuantity = 1;
202
+ return patch;
203
+ }
204
+ return patch;
205
+ }
206
+
207
+ export { IS_PARTIAL_MONTH, MIN_MONTH, MIN_WEEK_START, PRICING_TODAY, addDays, addMonthsYm, applyBookingScheduleDefaults, computeMinMonth, computeMinWeekStart, currentMonthYm, currentWeekStart, diffDays, formatPartialElapsedLabel, localDateYmd, monthCount, monthLabel, partialElapsed, pricingTodayYmd, todayLocalYmd, weekCountBetween, weekRangeLabel };
208
+ //# sourceMappingURL=chunk-OTSA5ROL.js.map
209
+ //# sourceMappingURL=chunk-OTSA5ROL.js.map