@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,61 @@
1
+ import { cn } from './chunk-DMPSQ22Q.js';
2
+ import * as AccordionPrimitive from '@radix-ui/react-accordion';
3
+ import { ChevronDownIcon } from 'lucide-react';
4
+ import { jsx, jsxs } from 'react/jsx-runtime';
5
+
6
+ function Accordion({ ...props }) {
7
+ return /* @__PURE__ */ jsx(AccordionPrimitive.Root, { "data-slot": "accordion", ...props });
8
+ }
9
+ function AccordionItem({
10
+ className,
11
+ ...props
12
+ }) {
13
+ return /* @__PURE__ */ jsx(
14
+ AccordionPrimitive.Item,
15
+ {
16
+ "data-slot": "accordion-item",
17
+ className: cn("border-b last:border-b-0", className),
18
+ ...props
19
+ }
20
+ );
21
+ }
22
+ function AccordionTrigger({
23
+ className,
24
+ children,
25
+ ...props
26
+ }) {
27
+ return /* @__PURE__ */ jsx(AccordionPrimitive.Header, { className: "flex", children: /* @__PURE__ */ jsxs(
28
+ AccordionPrimitive.Trigger,
29
+ {
30
+ "data-slot": "accordion-trigger",
31
+ className: cn(
32
+ "focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180",
33
+ className
34
+ ),
35
+ ...props,
36
+ children: [
37
+ children,
38
+ /* @__PURE__ */ jsx(ChevronDownIcon, { className: "text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200" })
39
+ ]
40
+ }
41
+ ) });
42
+ }
43
+ function AccordionContent({
44
+ className,
45
+ children,
46
+ ...props
47
+ }) {
48
+ return /* @__PURE__ */ jsx(
49
+ AccordionPrimitive.Content,
50
+ {
51
+ "data-slot": "accordion-content",
52
+ className: "data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm",
53
+ ...props,
54
+ children: /* @__PURE__ */ jsx("div", { className: cn("pt-0 pb-4", className), children })
55
+ }
56
+ );
57
+ }
58
+
59
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger };
60
+ //# sourceMappingURL=chunk-T3SOBIYA.js.map
61
+ //# sourceMappingURL=chunk-T3SOBIYA.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ui/accordion.tsx"],"names":[],"mappings":";;;;;AAQA,SAAS,SAAA,CAAU,EAAE,GAAG,KAAA,EAAM,EAAyD;AACrF,EAAA,2BAA2B,kBAAA,CAAA,IAAA,EAAnB,EAAwB,WAAA,EAAU,WAAA,EAAa,GAAG,KAAA,EAAO,CAAA;AACnE;AAEA,SAAS,aAAA,CAAc;AAAA,EACrB,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAyD;AACvD,EAAA,uBACE,GAAA;AAAA,IAAoB,kBAAA,CAAA,IAAA;AAAA,IAAnB;AAAA,MACC,WAAA,EAAU,gBAAA;AAAA,MACV,SAAA,EAAW,EAAA,CAAG,0BAAA,EAA4B,SAAS,CAAA;AAAA,MAClD,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,gBAAA,CAAiB;AAAA,EACxB,SAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA4D;AAC1D,EAAA,uBACE,GAAA,CAAoB,kBAAA,CAAA,MAAA,EAAnB,EAA0B,SAAA,EAAU,MAAA,EACnC,QAAA,kBAAA,IAAA;AAAA,IAAoB,kBAAA,CAAA,OAAA;AAAA,IAAnB;AAAA,MACC,WAAA,EAAU,mBAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,4SAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEH,QAAA,EAAA;AAAA,QAAA,QAAA;AAAA,wBACD,GAAA,CAAC,eAAA,EAAA,EAAgB,SAAA,EAAU,6GAAA,EAA8G;AAAA;AAAA;AAAA,GAC3I,EACF,CAAA;AAEJ;AAEA,SAAS,gBAAA,CAAiB;AAAA,EACxB,SAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA4D;AAC1D,EAAA,uBACE,GAAA;AAAA,IAAoB,kBAAA,CAAA,OAAA;AAAA,IAAnB;AAAA,MACC,WAAA,EAAU,mBAAA;AAAA,MACV,SAAA,EAAU,2GAAA;AAAA,MACT,GAAG,KAAA;AAAA,MAEJ,8BAAC,KAAA,EAAA,EAAI,SAAA,EAAW,GAAG,WAAA,EAAa,SAAS,GAAI,QAAA,EAAS;AAAA;AAAA,GACxD;AAEJ","file":"chunk-T3SOBIYA.js","sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\nimport { ChevronDownIcon } from \"lucide-react\";\n\nimport { cn } from \"./utils\";\n\nfunction Accordion({ ...props }: React.ComponentProps<typeof AccordionPrimitive.Root>) {\n return <AccordionPrimitive.Root data-slot=\"accordion\" {...props} />;\n}\n\nfunction AccordionItem({\n className,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Item>) {\n return (\n <AccordionPrimitive.Item\n data-slot=\"accordion-item\"\n className={cn(\"border-b last:border-b-0\", className)}\n {...props}\n />\n );\n}\n\nfunction AccordionTrigger({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Trigger>) {\n return (\n <AccordionPrimitive.Header className=\"flex\">\n <AccordionPrimitive.Trigger\n data-slot=\"accordion-trigger\"\n className={cn(\n \"focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180\",\n className,\n )}\n {...props}\n >\n {children}\n <ChevronDownIcon className=\"text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200\" />\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n );\n}\n\nfunction AccordionContent({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Content>) {\n return (\n <AccordionPrimitive.Content\n data-slot=\"accordion-content\"\n className=\"data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm\"\n {...props}\n >\n <div className={cn(\"pt-0 pb-4\", className)}>{children}</div>\n </AccordionPrimitive.Content>\n );\n}\n\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent };\n"]}
@@ -0,0 +1,97 @@
1
+ import { Label } from './chunk-IBGGQXTH.js';
2
+ import { cn } from './chunk-DMPSQ22Q.js';
3
+ import * as React from 'react';
4
+ import { Slot } from '@radix-ui/react-slot';
5
+ import { FormProvider, Controller, useFormContext, useFormState } from 'react-hook-form';
6
+ import { jsx } from 'react/jsx-runtime';
7
+
8
+ var Form = FormProvider;
9
+ var FormFieldContext = React.createContext({});
10
+ var FormField = ({
11
+ ...props
12
+ }) => {
13
+ return /* @__PURE__ */ jsx(FormFieldContext.Provider, { value: { name: props.name }, children: /* @__PURE__ */ jsx(Controller, { ...props }) });
14
+ };
15
+ var useFormField = () => {
16
+ const fieldContext = React.useContext(FormFieldContext);
17
+ const itemContext = React.useContext(FormItemContext);
18
+ const { getFieldState } = useFormContext();
19
+ const formState = useFormState({ name: fieldContext.name });
20
+ const fieldState = getFieldState(fieldContext.name, formState);
21
+ if (!fieldContext) {
22
+ throw new Error("useFormField should be used within <FormField>");
23
+ }
24
+ const { id } = itemContext;
25
+ return {
26
+ id,
27
+ name: fieldContext.name,
28
+ formItemId: `${id}-form-item`,
29
+ formDescriptionId: `${id}-form-item-description`,
30
+ formMessageId: `${id}-form-item-message`,
31
+ ...fieldState
32
+ };
33
+ };
34
+ var FormItemContext = React.createContext({});
35
+ function FormItem({ className, ...props }) {
36
+ const id = React.useId();
37
+ return /* @__PURE__ */ jsx(FormItemContext.Provider, { value: { id }, children: /* @__PURE__ */ jsx("div", { "data-slot": "form-item", className: cn("grid gap-2", className), ...props }) });
38
+ }
39
+ function FormLabel({ className, ...props }) {
40
+ const { error, formItemId } = useFormField();
41
+ return /* @__PURE__ */ jsx(
42
+ Label,
43
+ {
44
+ "data-slot": "form-label",
45
+ "data-error": !!error,
46
+ className: cn("data-[error=true]:text-destructive", className),
47
+ htmlFor: formItemId,
48
+ ...props
49
+ }
50
+ );
51
+ }
52
+ function FormControl({ ...props }) {
53
+ const { error, formItemId, formDescriptionId, formMessageId } = useFormField();
54
+ return /* @__PURE__ */ jsx(
55
+ Slot,
56
+ {
57
+ "data-slot": "form-control",
58
+ id: formItemId,
59
+ "aria-describedby": !error ? `${formDescriptionId}` : `${formDescriptionId} ${formMessageId}`,
60
+ "aria-invalid": !!error,
61
+ ...props
62
+ }
63
+ );
64
+ }
65
+ function FormDescription({ className, ...props }) {
66
+ const { formDescriptionId } = useFormField();
67
+ return /* @__PURE__ */ jsx(
68
+ "p",
69
+ {
70
+ "data-slot": "form-description",
71
+ id: formDescriptionId,
72
+ className: cn("text-muted-foreground text-sm", className),
73
+ ...props
74
+ }
75
+ );
76
+ }
77
+ function FormMessage({ className, ...props }) {
78
+ const { error, formMessageId } = useFormField();
79
+ const body = error ? String(error?.message ?? "") : props.children;
80
+ if (!body) {
81
+ return null;
82
+ }
83
+ return /* @__PURE__ */ jsx(
84
+ "p",
85
+ {
86
+ "data-slot": "form-message",
87
+ id: formMessageId,
88
+ className: cn("text-destructive text-sm", className),
89
+ ...props,
90
+ children: body
91
+ }
92
+ );
93
+ }
94
+
95
+ export { Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField };
96
+ //# sourceMappingURL=chunk-TH5RASJS.js.map
97
+ //# sourceMappingURL=chunk-TH5RASJS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ui/form.tsx"],"names":[],"mappings":"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","file":"chunk-TH5RASJS.js","sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as LabelPrimitive from \"@radix-ui/react-label\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport {\n Controller,\n FormProvider,\n useFormContext,\n useFormState,\n type ControllerProps,\n type FieldPath,\n type FieldValues,\n} from \"react-hook-form\";\n\nimport { cn } from \"./utils\";\nimport { Label } from \"./label\";\n\nconst Form = FormProvider;\n\ntype FormFieldContextValue<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n> = {\n name: TName;\n};\n\nconst FormFieldContext = React.createContext<FormFieldContextValue>({} as FormFieldContextValue);\n\nconst FormField = <\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n>({\n ...props\n}: ControllerProps<TFieldValues, TName>) => {\n return (\n <FormFieldContext.Provider value={{ name: props.name }}>\n <Controller {...props} />\n </FormFieldContext.Provider>\n );\n};\n\nconst useFormField = () => {\n const fieldContext = React.useContext(FormFieldContext);\n const itemContext = React.useContext(FormItemContext);\n const { getFieldState } = useFormContext();\n const formState = useFormState({ name: fieldContext.name });\n const fieldState = getFieldState(fieldContext.name, formState);\n\n if (!fieldContext) {\n throw new Error(\"useFormField should be used within <FormField>\");\n }\n\n const { id } = itemContext;\n\n return {\n id,\n name: fieldContext.name,\n formItemId: `${id}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState,\n };\n};\n\ntype FormItemContextValue = {\n id: string;\n};\n\nconst FormItemContext = React.createContext<FormItemContextValue>({} as FormItemContextValue);\n\nfunction FormItem({ className, ...props }: React.ComponentProps<\"div\">) {\n const id = React.useId();\n\n return (\n <FormItemContext.Provider value={{ id }}>\n <div data-slot=\"form-item\" className={cn(\"grid gap-2\", className)} {...props} />\n </FormItemContext.Provider>\n );\n}\n\nfunction FormLabel({ className, ...props }: React.ComponentProps<typeof LabelPrimitive.Root>) {\n const { error, formItemId } = useFormField();\n\n return (\n <Label\n data-slot=\"form-label\"\n data-error={!!error}\n className={cn(\"data-[error=true]:text-destructive\", className)}\n htmlFor={formItemId}\n {...props}\n />\n );\n}\n\nfunction FormControl({ ...props }: React.ComponentProps<typeof Slot>) {\n const { error, formItemId, formDescriptionId, formMessageId } = useFormField();\n\n return (\n <Slot\n data-slot=\"form-control\"\n id={formItemId}\n aria-describedby={!error ? `${formDescriptionId}` : `${formDescriptionId} ${formMessageId}`}\n aria-invalid={!!error}\n {...props}\n />\n );\n}\n\nfunction FormDescription({ className, ...props }: React.ComponentProps<\"p\">) {\n const { formDescriptionId } = useFormField();\n\n return (\n <p\n data-slot=\"form-description\"\n id={formDescriptionId}\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n );\n}\n\nfunction FormMessage({ className, ...props }: React.ComponentProps<\"p\">) {\n const { error, formMessageId } = useFormField();\n const body = error ? String(error?.message ?? \"\") : props.children;\n\n if (!body) {\n return null;\n }\n\n return (\n <p\n data-slot=\"form-message\"\n id={formMessageId}\n className={cn(\"text-destructive text-sm\", className)}\n {...props}\n >\n {body}\n </p>\n );\n}\n\nexport {\n useFormField,\n Form,\n FormItem,\n FormLabel,\n FormControl,\n FormDescription,\n FormMessage,\n FormField,\n};\n"]}
@@ -1,39 +1,8 @@
1
- import { buttonVariants } from './chunk-VHINHHZQ.js';
2
1
  import { cn } from './chunk-DMPSQ22Q.js';
3
- import * as React from 'react';
4
- import { cva } from 'class-variance-authority';
5
- import { jsx, jsxs } from 'react/jsx-runtime';
6
2
  import * as SelectPrimitive from '@radix-ui/react-select';
7
- import { ChevronDownIcon, CheckIcon, ChevronUpIcon, Search, ChevronLeftIcon, ChevronRightIcon, MoreHorizontalIcon } from 'lucide-react';
3
+ import { ChevronDownIcon, CheckIcon, ChevronUpIcon } from 'lucide-react';
4
+ import { jsx, jsxs } from 'react/jsx-runtime';
8
5
 
9
- var inputVariants = cva(
10
- "file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground border-border bg-card text-foreground flex w-full min-w-0 rounded-md border px-3 py-1 text-base transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium focus-visible:border-blue-400 focus-visible:ring-[3px] focus-visible:ring-blue-500/25 disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-red-400 aria-invalid:ring-red-500/20 md:text-sm",
11
- {
12
- variants: {
13
- size: {
14
- sm: "h-8 text-sm",
15
- default: "h-9",
16
- lg: "h-10",
17
- xl: "h-11"
18
- }
19
- },
20
- defaultVariants: {
21
- size: "default"
22
- }
23
- }
24
- );
25
- var Input = React.forwardRef(function Input2({ className, type, size, ...props }, ref) {
26
- return /* @__PURE__ */ jsx(
27
- "input",
28
- {
29
- ref,
30
- type,
31
- "data-slot": "input",
32
- className: cn(inputVariants({ size }), className),
33
- ...props
34
- }
35
- );
36
- });
37
6
  function Select({ ...props }) {
38
7
  return /* @__PURE__ */ jsx(SelectPrimitive.Root, { "data-slot": "select", ...props });
39
8
  }
@@ -172,130 +141,7 @@ function SelectScrollDownButton({
172
141
  }
173
142
  );
174
143
  }
175
- function SearchField({
176
- value,
177
- onChange,
178
- placeholder,
179
- className,
180
- size = "default",
181
- "aria-label": ariaLabel
182
- }) {
183
- const heightClass = size === "lg" ? "h-11" : "h-10";
184
- const iconSize = size === "lg" ? 16 : 16;
185
- return /* @__PURE__ */ jsxs(
186
- "div",
187
- {
188
- className: cn(
189
- "flex items-center gap-2 rounded-md border border-border bg-card px-3 w-full focus-within:border-blue-400 focus-within:ring-[3px] focus-within:ring-blue-500/25 transition-all",
190
- heightClass,
191
- className
192
- ),
193
- children: [
194
- /* @__PURE__ */ jsx(Search, { size: iconSize, className: "text-muted-foreground shrink-0", strokeWidth: 2.25 }),
195
- /* @__PURE__ */ jsx(
196
- Input,
197
- {
198
- type: "search",
199
- value,
200
- onChange: (e) => onChange(e.target.value),
201
- placeholder,
202
- "aria-label": ariaLabel,
203
- className: "flex-1 border-0 bg-transparent shadow-none focus-visible:ring-0 px-0 min-w-0 h-auto"
204
- }
205
- )
206
- ]
207
- }
208
- );
209
- }
210
- function Pagination({ className, ...props }) {
211
- return /* @__PURE__ */ jsx(
212
- "nav",
213
- {
214
- role: "navigation",
215
- "aria-label": "pagination",
216
- "data-slot": "pagination",
217
- className: cn("mx-auto flex w-full justify-center", className),
218
- ...props
219
- }
220
- );
221
- }
222
- function PaginationContent({ className, ...props }) {
223
- return /* @__PURE__ */ jsx(
224
- "ul",
225
- {
226
- "data-slot": "pagination-content",
227
- className: cn("flex flex-row items-center gap-1", className),
228
- ...props
229
- }
230
- );
231
- }
232
- function PaginationItem({ ...props }) {
233
- return /* @__PURE__ */ jsx("li", { "data-slot": "pagination-item", ...props });
234
- }
235
- function PaginationLink({ className, isActive, size = "icon", ...props }) {
236
- return /* @__PURE__ */ jsx(
237
- "a",
238
- {
239
- "aria-current": isActive ? "page" : void 0,
240
- "data-slot": "pagination-link",
241
- "data-active": isActive,
242
- className: cn(
243
- buttonVariants({
244
- variant: isActive ? "outline" : "ghost",
245
- size
246
- }),
247
- className
248
- ),
249
- ...props
250
- }
251
- );
252
- }
253
- function PaginationPrevious({ className, ...props }) {
254
- return /* @__PURE__ */ jsxs(
255
- PaginationLink,
256
- {
257
- "aria-label": "Go to previous page",
258
- size: "default",
259
- className: cn("gap-1 px-2.5 sm:pl-2.5", className),
260
- ...props,
261
- children: [
262
- /* @__PURE__ */ jsx(ChevronLeftIcon, {}),
263
- /* @__PURE__ */ jsx("span", { className: "hidden sm:block", children: "Previous" })
264
- ]
265
- }
266
- );
267
- }
268
- function PaginationNext({ className, ...props }) {
269
- return /* @__PURE__ */ jsxs(
270
- PaginationLink,
271
- {
272
- "aria-label": "Go to next page",
273
- size: "default",
274
- className: cn("gap-1 px-2.5 sm:pr-2.5", className),
275
- ...props,
276
- children: [
277
- /* @__PURE__ */ jsx("span", { className: "hidden sm:block", children: "Next" }),
278
- /* @__PURE__ */ jsx(ChevronRightIcon, {})
279
- ]
280
- }
281
- );
282
- }
283
- function PaginationEllipsis({ className, ...props }) {
284
- return /* @__PURE__ */ jsxs(
285
- "span",
286
- {
287
- "aria-hidden": true,
288
- "data-slot": "pagination-ellipsis",
289
- className: cn("flex size-9 items-center justify-center", className),
290
- ...props,
291
- children: [
292
- /* @__PURE__ */ jsx(MoreHorizontalIcon, { className: "size-4" }),
293
- /* @__PURE__ */ jsx("span", { className: "sr-only", children: "More pages" })
294
- ]
295
- }
296
- );
297
- }
298
144
 
299
- export { Input, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, SearchField, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, inputVariants };
300
- //# sourceMappingURL=chunk-LUB7QWGU.js.map
301
- //# sourceMappingURL=chunk-LUB7QWGU.js.map
145
+ export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue };
146
+ //# sourceMappingURL=chunk-VIJ2HWPZ.js.map
147
+ //# sourceMappingURL=chunk-VIJ2HWPZ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ui/select.tsx"],"names":[],"mappings":"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","file":"chunk-VIJ2HWPZ.js","sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { CheckIcon, ChevronDownIcon, ChevronUpIcon } from \"lucide-react\";\n\nimport { cn } from \"./utils\";\n\nfunction Select({ ...props }: React.ComponentProps<typeof SelectPrimitive.Root>) {\n return <SelectPrimitive.Root data-slot=\"select\" {...props} />;\n}\n\nfunction SelectGroup({ ...props }: React.ComponentProps<typeof SelectPrimitive.Group>) {\n return <SelectPrimitive.Group data-slot=\"select-group\" {...props} />;\n}\n\nfunction SelectValue({ ...props }: React.ComponentProps<typeof SelectPrimitive.Value>) {\n return <SelectPrimitive.Value data-slot=\"select-value\" {...props} />;\n}\n\nfunction SelectTrigger({\n className,\n size = \"default\",\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Trigger> & {\n size?: \"sm\" | \"default\";\n}) {\n return (\n <SelectPrimitive.Trigger\n data-slot=\"select-trigger\"\n data-size={size}\n className={cn(\n \"border border-border bg-card data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground hover:border-border focus-visible:border-blue-400 focus-visible:ring-blue-500/25 aria-invalid:border-red-400 aria-invalid:ring-red-500/20 dark:bg-input/30 dark:hover:bg-input/50 flex w-full items-center justify-between gap-2 rounded-md px-3 py-2 text-sm whitespace-nowrap transition-[color,box-shadow,border-color] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\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 ...props\n}: React.ComponentProps<typeof SelectPrimitive.Content>) {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n data-slot=\"select-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 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border border-white/10 shadow-md\",\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 >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n \"p-1\",\n position === \"popper\" &&\n \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1\",\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n );\n}\n\nfunction SelectLabel({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Label>) {\n return (\n <SelectPrimitive.Label\n data-slot=\"select-label\"\n className={cn(\"text-muted-foreground px-2 py-1.5 text-xs\", className)}\n {...props}\n />\n );\n}\n\nfunction SelectItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Item>) {\n return (\n <SelectPrimitive.Item\n data-slot=\"select-item\"\n className={cn(\n \"focus:bg-card/10 focus:text-popover-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2\",\n className,\n )}\n {...props}\n >\n <span className=\"absolute right-2 flex size-3.5 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 ...props\n}: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n return (\n <SelectPrimitive.Separator\n data-slot=\"select-separator\"\n className={cn(\"bg-card/10 pointer-events-none -mx-1 my-1 h-px\", className)}\n {...props}\n />\n );\n}\n\nfunction SelectScrollUpButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {\n return (\n <SelectPrimitive.ScrollUpButton\n data-slot=\"select-scroll-up-button\"\n className={cn(\"flex cursor-default items-center justify-center py-1\", className)}\n {...props}\n >\n <ChevronUpIcon className=\"size-4\" />\n </SelectPrimitive.ScrollUpButton>\n );\n}\n\nfunction SelectScrollDownButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {\n return (\n <SelectPrimitive.ScrollDownButton\n data-slot=\"select-scroll-down-button\"\n className={cn(\"flex cursor-default items-center justify-center py-1\", className)}\n {...props}\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"]}
@@ -0,0 +1,22 @@
1
+ import { cn } from './chunk-DMPSQ22Q.js';
2
+ import * as React from 'react';
3
+ import { jsx } from 'react/jsx-runtime';
4
+
5
+ var Textarea = React.forwardRef(function Textarea2({ className, ...props }, ref) {
6
+ return /* @__PURE__ */ jsx(
7
+ "textarea",
8
+ {
9
+ ref,
10
+ "data-slot": "textarea",
11
+ className: cn(
12
+ "resize-none border-border bg-card text-foreground placeholder:text-muted-foreground focus-visible:border-blue-400 focus-visible:ring-blue-500/25 aria-invalid:border-red-400 aria-invalid:ring-red-500/20 flex field-sizing-content min-h-16 w-full rounded-md border px-3 py-2 text-base transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
13
+ className
14
+ ),
15
+ ...props
16
+ }
17
+ );
18
+ });
19
+
20
+ export { Textarea };
21
+ //# sourceMappingURL=chunk-VQ63T7CJ.js.map
22
+ //# sourceMappingURL=chunk-VQ63T7CJ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ui/textarea.tsx"],"names":["Textarea"],"mappings":";;;;AAIA,IAAM,QAAA,GAAiB,iBAGrB,SAASA,SAAAA,CAAS,EAAE,SAAA,EAAW,GAAG,KAAA,EAAM,EAAG,GAAA,EAAK;AAChD,EAAA,uBACE,GAAA;AAAA,IAAC,UAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,WAAA,EAAU,UAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,0ZAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ,CAAC","file":"chunk-VQ63T7CJ.js","sourcesContent":["import * as React from \"react\";\n\nimport { cn } from \"./utils\";\n\nconst Textarea = React.forwardRef<\n HTMLTextAreaElement,\n React.ComponentProps<\"textarea\">\n>(function Textarea({ className, ...props }, ref) {\n return (\n <textarea\n ref={ref}\n data-slot=\"textarea\"\n className={cn(\n \"resize-none border-border bg-card text-foreground placeholder:text-muted-foreground focus-visible:border-blue-400 focus-visible:ring-blue-500/25 aria-invalid:border-red-400 aria-invalid:ring-red-500/20 flex field-sizing-content min-h-16 w-full rounded-md border px-3 py-2 text-base transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\n className,\n )}\n {...props}\n />\n );\n});\n\nexport { Textarea };\n"]}
@@ -0,0 +1,50 @@
1
+ import { cn } from './chunk-DMPSQ22Q.js';
2
+ import * as TooltipPrimitive from '@radix-ui/react-tooltip';
3
+ import { jsx, jsxs } from 'react/jsx-runtime';
4
+
5
+ function TooltipProvider({
6
+ delayDuration = 0,
7
+ ...props
8
+ }) {
9
+ return /* @__PURE__ */ jsx(
10
+ TooltipPrimitive.Provider,
11
+ {
12
+ "data-slot": "tooltip-provider",
13
+ delayDuration,
14
+ ...props
15
+ }
16
+ );
17
+ }
18
+ function Tooltip({ ...props }) {
19
+ return /* @__PURE__ */ jsx(TooltipProvider, { children: /* @__PURE__ */ jsx(TooltipPrimitive.Root, { "data-slot": "tooltip", ...props }) });
20
+ }
21
+ function TooltipTrigger({ ...props }) {
22
+ return /* @__PURE__ */ jsx(TooltipPrimitive.Trigger, { "data-slot": "tooltip-trigger", ...props });
23
+ }
24
+ function TooltipContent({
25
+ className,
26
+ sideOffset = 0,
27
+ children,
28
+ ...props
29
+ }) {
30
+ return /* @__PURE__ */ jsx(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsxs(
31
+ TooltipPrimitive.Content,
32
+ {
33
+ "data-slot": "tooltip-content",
34
+ sideOffset,
35
+ className: cn(
36
+ "bg-primary text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",
37
+ className
38
+ ),
39
+ ...props,
40
+ children: [
41
+ children,
42
+ /* @__PURE__ */ jsx(TooltipPrimitive.Arrow, { className: "bg-primary fill-primary z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]" })
43
+ ]
44
+ }
45
+ ) });
46
+ }
47
+
48
+ export { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger };
49
+ //# sourceMappingURL=chunk-XDVGFHK4.js.map
50
+ //# sourceMappingURL=chunk-XDVGFHK4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ui/tooltip.tsx"],"names":[],"mappings":";;;;AAOA,SAAS,eAAA,CAAgB;AAAA,EACvB,aAAA,GAAgB,CAAA;AAAA,EAChB,GAAG;AACL,CAAA,EAA2D;AACzD,EAAA,uBACE,GAAA;AAAA,IAAkB,gBAAA,CAAA,QAAA;AAAA,IAAjB;AAAA,MACC,WAAA,EAAU,kBAAA;AAAA,MACV,aAAA;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,OAAA,CAAQ,EAAE,GAAG,KAAA,EAAM,EAAuD;AACjF,EAAA,uBACE,GAAA,CAAC,mBACC,QAAA,kBAAA,GAAA,CAAkB,gBAAA,CAAA,IAAA,EAAjB,EAAsB,WAAA,EAAU,SAAA,EAAW,GAAG,KAAA,EAAO,CAAA,EACxD,CAAA;AAEJ;AAEA,SAAS,cAAA,CAAe,EAAE,GAAG,KAAA,EAAM,EAA0D;AAC3F,EAAA,2BAAyB,gBAAA,CAAA,OAAA,EAAjB,EAAyB,WAAA,EAAU,iBAAA,EAAmB,GAAG,KAAA,EAAO,CAAA;AAC1E;AAEA,SAAS,cAAA,CAAe;AAAA,EACtB,SAAA;AAAA,EACA,UAAA,GAAa,CAAA;AAAA,EACb,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA0D;AACxD,EAAA,uBACE,GAAA,CAAkB,yBAAjB,EACC,QAAA,kBAAA,IAAA;AAAA,IAAkB,gBAAA,CAAA,OAAA;AAAA,IAAjB;AAAA,MACC,WAAA,EAAU,iBAAA;AAAA,MACV,UAAA;AAAA,MACA,SAAA,EAAW,EAAA;AAAA,QACT,waAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEH,QAAA,EAAA;AAAA,QAAA,QAAA;AAAA,wBACD,GAAA,CAAkB,gBAAA,CAAA,KAAA,EAAjB,EAAuB,SAAA,EAAU,8FAAA,EAA+F;AAAA;AAAA;AAAA,GACnI,EACF,CAAA;AAEJ","file":"chunk-XDVGFHK4.js","sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\";\n\nimport { cn } from \"./utils\";\n\nfunction TooltipProvider({\n delayDuration = 0,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Provider>) {\n return (\n <TooltipPrimitive.Provider\n data-slot=\"tooltip-provider\"\n delayDuration={delayDuration}\n {...props}\n />\n );\n}\n\nfunction Tooltip({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Root>) {\n return (\n <TooltipProvider>\n <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\n </TooltipProvider>\n );\n}\n\nfunction TooltipTrigger({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />;\n}\n\nfunction TooltipContent({\n className,\n sideOffset = 0,\n children,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Content>) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n data-slot=\"tooltip-content\"\n sideOffset={sideOffset}\n className={cn(\n \"bg-primary text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance\",\n className,\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"bg-primary fill-primary z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]\" />\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n );\n}\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };\n"]}
@@ -0,0 +1,188 @@
1
+ import { cn } from './chunk-DMPSQ22Q.js';
2
+ import * as ContextMenuPrimitive from '@radix-ui/react-context-menu';
3
+ import { ChevronRightIcon, CheckIcon, CircleIcon } from 'lucide-react';
4
+ import { jsx, jsxs } from 'react/jsx-runtime';
5
+
6
+ function ContextMenu({ ...props }) {
7
+ return /* @__PURE__ */ jsx(ContextMenuPrimitive.Root, { "data-slot": "context-menu", ...props });
8
+ }
9
+ function ContextMenuTrigger({
10
+ ...props
11
+ }) {
12
+ return /* @__PURE__ */ jsx(ContextMenuPrimitive.Trigger, { "data-slot": "context-menu-trigger", ...props });
13
+ }
14
+ function ContextMenuGroup({ ...props }) {
15
+ return /* @__PURE__ */ jsx(ContextMenuPrimitive.Group, { "data-slot": "context-menu-group", ...props });
16
+ }
17
+ function ContextMenuPortal({ ...props }) {
18
+ return /* @__PURE__ */ jsx(ContextMenuPrimitive.Portal, { "data-slot": "context-menu-portal", ...props });
19
+ }
20
+ function ContextMenuSub({ ...props }) {
21
+ return /* @__PURE__ */ jsx(ContextMenuPrimitive.Sub, { "data-slot": "context-menu-sub", ...props });
22
+ }
23
+ function ContextMenuRadioGroup({
24
+ ...props
25
+ }) {
26
+ return /* @__PURE__ */ jsx(ContextMenuPrimitive.RadioGroup, { "data-slot": "context-menu-radio-group", ...props });
27
+ }
28
+ function ContextMenuSubTrigger({
29
+ className,
30
+ inset,
31
+ children,
32
+ ...props
33
+ }) {
34
+ return /* @__PURE__ */ jsxs(
35
+ ContextMenuPrimitive.SubTrigger,
36
+ {
37
+ "data-slot": "context-menu-sub-trigger",
38
+ "data-inset": inset,
39
+ className: cn(
40
+ "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-hidden select-none data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
41
+ className
42
+ ),
43
+ ...props,
44
+ children: [
45
+ children,
46
+ /* @__PURE__ */ jsx(ChevronRightIcon, { className: "ml-auto" })
47
+ ]
48
+ }
49
+ );
50
+ }
51
+ function ContextMenuSubContent({
52
+ className,
53
+ ...props
54
+ }) {
55
+ return /* @__PURE__ */ jsx(
56
+ ContextMenuPrimitive.SubContent,
57
+ {
58
+ "data-slot": "context-menu-sub-content",
59
+ className: cn(
60
+ "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-context-menu-content-transform-origin) overflow-hidden rounded-md border border-white/10 p-1 shadow-lg",
61
+ className
62
+ ),
63
+ ...props
64
+ }
65
+ );
66
+ }
67
+ function ContextMenuContent({
68
+ className,
69
+ ...props
70
+ }) {
71
+ return /* @__PURE__ */ jsx(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx(
72
+ ContextMenuPrimitive.Content,
73
+ {
74
+ "data-slot": "context-menu-content",
75
+ className: cn(
76
+ "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 max-h-(--radix-context-menu-content-available-height) min-w-[8rem] origin-(--radix-context-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border border-white/10 p-1 shadow-md",
77
+ className
78
+ ),
79
+ ...props
80
+ }
81
+ ) });
82
+ }
83
+ function ContextMenuItem({
84
+ className,
85
+ inset,
86
+ variant = "default",
87
+ ...props
88
+ }) {
89
+ return /* @__PURE__ */ jsx(
90
+ ContextMenuPrimitive.Item,
91
+ {
92
+ "data-slot": "context-menu-item",
93
+ "data-inset": inset,
94
+ "data-variant": variant,
95
+ className: cn(
96
+ "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",
97
+ className
98
+ ),
99
+ ...props
100
+ }
101
+ );
102
+ }
103
+ function ContextMenuCheckboxItem({
104
+ className,
105
+ children,
106
+ checked,
107
+ ...props
108
+ }) {
109
+ return /* @__PURE__ */ jsxs(
110
+ ContextMenuPrimitive.CheckboxItem,
111
+ {
112
+ "data-slot": "context-menu-checkbox-item",
113
+ className: cn(
114
+ "focus:bg-card/10 focus:text-popover-foreground relative flex cursor-default items-center gap-2 rounded-sm 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",
115
+ className
116
+ ),
117
+ checked,
118
+ ...props,
119
+ children: [
120
+ /* @__PURE__ */ jsx("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(CheckIcon, { className: "size-4" }) }) }),
121
+ children
122
+ ]
123
+ }
124
+ );
125
+ }
126
+ function ContextMenuRadioItem({
127
+ className,
128
+ children,
129
+ ...props
130
+ }) {
131
+ return /* @__PURE__ */ jsxs(
132
+ ContextMenuPrimitive.RadioItem,
133
+ {
134
+ "data-slot": "context-menu-radio-item",
135
+ className: cn(
136
+ "focus:bg-card/10 focus:text-popover-foreground relative flex cursor-default items-center gap-2 rounded-sm 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",
137
+ className
138
+ ),
139
+ ...props,
140
+ children: [
141
+ /* @__PURE__ */ jsx("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(CircleIcon, { className: "size-2 fill-current" }) }) }),
142
+ children
143
+ ]
144
+ }
145
+ );
146
+ }
147
+ function ContextMenuLabel({
148
+ className,
149
+ inset,
150
+ ...props
151
+ }) {
152
+ return /* @__PURE__ */ jsx(
153
+ ContextMenuPrimitive.Label,
154
+ {
155
+ "data-slot": "context-menu-label",
156
+ "data-inset": inset,
157
+ className: cn("text-foreground px-2 py-1.5 text-sm font-medium data-[inset]:pl-8", className),
158
+ ...props
159
+ }
160
+ );
161
+ }
162
+ function ContextMenuSeparator({
163
+ className,
164
+ ...props
165
+ }) {
166
+ return /* @__PURE__ */ jsx(
167
+ ContextMenuPrimitive.Separator,
168
+ {
169
+ "data-slot": "context-menu-separator",
170
+ className: cn("bg-card/10 -mx-1 my-1 h-px", className),
171
+ ...props
172
+ }
173
+ );
174
+ }
175
+ function ContextMenuShortcut({ className, ...props }) {
176
+ return /* @__PURE__ */ jsx(
177
+ "span",
178
+ {
179
+ "data-slot": "context-menu-shortcut",
180
+ className: cn("text-muted-foreground ml-auto text-xs tracking-widest", className),
181
+ ...props
182
+ }
183
+ );
184
+ }
185
+
186
+ export { ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger };
187
+ //# sourceMappingURL=chunk-XI4BQY5T.js.map
188
+ //# sourceMappingURL=chunk-XI4BQY5T.js.map