@cryptlex/web-components 1.3.3 → 1.3.5

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 (70) hide show
  1. package/dist/components/data-table/column-picker.es.js +15 -17
  2. package/dist/components/data-table/column-picker.es.js.map +1 -1
  3. package/dist/components/data-table/data-table.es.js +60 -57
  4. package/dist/components/data-table/data-table.es.js.map +1 -1
  5. package/dist/components/data-table/table-actions.es.js +19 -23
  6. package/dist/components/data-table/table-actions.es.js.map +1 -1
  7. package/dist/components/data-table/table-commons.es.js +21 -24
  8. package/dist/components/data-table/table-commons.es.js.map +1 -1
  9. package/dist/components/data-table/table-content.es.js +21 -17
  10. package/dist/components/data-table/table-content.es.js.map +1 -1
  11. package/dist/components/data-table/table-utils/createTableFetchFn.es.js +8 -9
  12. package/dist/components/data-table/table-utils/createTableFetchFn.es.js.map +1 -1
  13. package/dist/components/data-table/table-utils/types.es.js.map +1 -1
  14. package/dist/components/key-value-card/key-value-card.es.js +85 -0
  15. package/dist/components/key-value-card/key-value-card.es.js.map +1 -0
  16. package/dist/components/sidebar/app-layout.es.js +14 -27
  17. package/dist/components/sidebar/app-layout.es.js.map +1 -1
  18. package/dist/components/sidebar/nav-main.es.js +44 -42
  19. package/dist/components/sidebar/nav-main.es.js.map +1 -1
  20. package/dist/components/static-data-table/data-table.es.js +6 -6
  21. package/dist/components/static-data-table/data-table.es.js.map +1 -1
  22. package/dist/components/ui/avatar.es.js +12 -14
  23. package/dist/components/ui/avatar.es.js.map +1 -1
  24. package/dist/components/ui/button.es.js +11 -10
  25. package/dist/components/ui/button.es.js.map +1 -1
  26. package/dist/components/ui/chart.es.js +48 -59
  27. package/dist/components/ui/chart.es.js.map +1 -1
  28. package/dist/components/ui/collapsible.es.js +1 -0
  29. package/dist/components/ui/collapsible.es.js.map +1 -1
  30. package/dist/components/ui/copy-button.es.js +72 -0
  31. package/dist/components/ui/copy-button.es.js.map +1 -0
  32. package/dist/components/ui/dialog.es.js +23 -22
  33. package/dist/components/ui/dialog.es.js.map +1 -1
  34. package/dist/components/ui/drawer.es.js +21 -57
  35. package/dist/components/ui/drawer.es.js.map +1 -1
  36. package/dist/components/ui/form.es.js +28 -29
  37. package/dist/components/ui/form.es.js.map +1 -1
  38. package/dist/components/ui/link-button.es.js +22 -0
  39. package/dist/components/ui/link-button.es.js.map +1 -0
  40. package/dist/components/ui/mutli-select.es.js +15 -15
  41. package/dist/components/ui/mutli-select.es.js.map +1 -1
  42. package/dist/components/ui/pagination.es.js +20 -20
  43. package/dist/components/ui/password-input.es.js +9 -8
  44. package/dist/components/ui/password-input.es.js.map +1 -1
  45. package/dist/components/ui/search-input.es.js +5 -4
  46. package/dist/components/ui/search-input.es.js.map +1 -1
  47. package/dist/components/ui/select.es.js +17 -22
  48. package/dist/components/ui/select.es.js.map +1 -1
  49. package/dist/components/ui/separator.es.js +17 -18
  50. package/dist/components/ui/separator.es.js.map +1 -1
  51. package/dist/components/ui/sheet.es.js +1 -0
  52. package/dist/components/ui/sheet.es.js.map +1 -1
  53. package/dist/components/ui/sonner.es.js +3 -2
  54. package/dist/components/ui/sonner.es.js.map +1 -1
  55. package/dist/components/ui/table.es.js +19 -19
  56. package/dist/components/ui/table.es.js.map +1 -1
  57. package/dist/components/ui/tooltip.es.js +9 -8
  58. package/dist/components/ui/tooltip.es.js.map +1 -1
  59. package/dist/index.es.d.ts +55 -82
  60. package/dist/index.es.js +215 -220
  61. package/dist/utils/index.es.js +19 -14
  62. package/dist/utils/index.es.js.map +1 -1
  63. package/package.json +10 -6
  64. package/tailwind.preset.ts +55 -47
  65. package/dist/components/data-table/table-utils/fetch.es.js +0 -40
  66. package/dist/components/data-table/table-utils/fetch.es.js.map +0 -1
  67. package/dist/components/info-card/info-card.es.js +0 -74
  68. package/dist/components/info-card/info-card.es.js.map +0 -1
  69. package/dist/components/ui/dynamic-input.es.js +0 -141
  70. package/dist/components/ui/dynamic-input.es.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.es.js","sources":["../../../lib/components/ui/dialog.tsx"],"sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\"\nimport { Cross2Icon } from \"@radix-ui/react-icons\"\n\nimport { cn } from \"@/utils\"\n\nconst Dialog = DialogPrimitive.Root\n\nconst DialogTrigger = DialogPrimitive.Trigger\n\nconst DialogPortal = DialogPrimitive.Portal\n\nconst DialogClose = DialogPrimitive.Close\n\nconst DialogOverlay = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Overlay\n ref={ref}\n className={cn(\n \"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n className\n )}\n {...props}\n />\n))\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName\n\nconst DialogContent = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Content\n ref={ref}\n className={cn(\n \"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg\",\n className\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close className=\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground\">\n <Cross2Icon className=\"h-4 w-4\" />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </DialogPortal>\n))\nDialogContent.displayName = DialogPrimitive.Content.displayName\n\nconst DialogHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col space-y-1.5 text-center sm:text-left\",\n className\n )}\n {...props}\n />\n)\nDialogHeader.displayName = \"DialogHeader\"\n\nconst DialogFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\n className\n )}\n {...props}\n />\n)\nDialogFooter.displayName = \"DialogFooter\"\n\nconst DialogTitle = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Title\n ref={ref}\n className={cn(\n \"text-heading-3\",\n className\n )}\n {...props}\n />\n))\nDialogTitle.displayName = DialogPrimitive.Title.displayName\n\nconst DialogDescription = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Description\n ref={ref}\n className={cn(\"text-body text-muted-foreground\", className)}\n {...props}\n />\n))\nDialogDescription.displayName = DialogPrimitive.Description.displayName\n\nexport {\n Dialog,\n DialogPortal,\n DialogOverlay,\n DialogTrigger,\n DialogClose,\n DialogContent,\n DialogHeader,\n DialogFooter,\n DialogTitle,\n DialogDescription,\n}\n"],"names":["Dialog","DialogPrimitive","DialogTrigger","DialogPortal","DialogClose","DialogOverlay","React","className","props","ref","jsx","cn","DialogContent","children","jsxs","Cross2Icon","DialogHeader","DialogFooter","DialogTitle","DialogDescription"],"mappings":";;;;;AAQA,MAAMA,IAASC,EAAgB,MAEzBC,IAAgBD,EAAgB,SAEhCE,IAAeF,EAAgB,QAE/BG,IAAcH,EAAgB,OAE9BI,IAAgBC,EAAM,WAG1B,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAM,GAAGC,MAC1B,gBAAAC;AAAA,EAACT,EAAgB;AAAA,EAAhB;AAAA,IACC,KAAAQ;AAAA,IACA,WAAWE;AAAA,MACT;AAAA,MACAJ;AAAA,IACF;AAAA,IACC,GAAGC;AAAA,EAAA;AACN,CACD;AACDH,EAAc,cAAcJ,EAAgB,QAAQ;AAEpD,MAAMW,IAAgBN,EAAM,WAG1B,CAAC,EAAE,WAAAC,GAAW,UAAAM,GAAU,GAAGL,EAAM,GAAGC,MACpC,gBAAAK,EAACX,GACC,EAAA,UAAA;AAAA,EAAA,gBAAAO,EAACL,GAAc,EAAA;AAAA,EACf,gBAAAS;AAAA,IAACb,EAAgB;AAAA,IAAhB;AAAA,MACC,KAAAQ;AAAA,MACA,WAAWE;AAAA,QACT;AAAA,QACAJ;AAAA,MACF;AAAA,MACC,GAAGC;AAAA,MAEH,UAAA;AAAA,QAAAK;AAAA,QACA,gBAAAC,EAAAb,EAAgB,OAAhB,EAAsB,WAAU,iRAC/B,UAAA;AAAA,UAAC,gBAAAS,EAAAK,GAAA,EAAW,WAAU,UAAU,CAAA;AAAA,UAC/B,gBAAAL,EAAA,QAAA,EAAK,WAAU,WAAU,UAAK,QAAA,CAAA;AAAA,QAAA,EACjC,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AACF,GACF,CACD;AACDE,EAAc,cAAcX,EAAgB,QAAQ;AAEpD,MAAMe,IAAe,CAAC;AAAA,EACpB,WAAAT;AAAA,EACA,GAAGC;AACL,MACE,gBAAAE;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWC;AAAA,MACT;AAAA,MACAJ;AAAA,IACF;AAAA,IACC,GAAGC;AAAA,EAAA;AACN;AAEFQ,EAAa,cAAc;AAE3B,MAAMC,IAAe,CAAC;AAAA,EACpB,WAAAV;AAAA,EACA,GAAGC;AACL,MACE,gBAAAE;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWC;AAAA,MACT;AAAA,MACAJ;AAAA,IACF;AAAA,IACC,GAAGC;AAAA,EAAA;AACN;AAEFS,EAAa,cAAc;AAErB,MAAAC,IAAcZ,EAAM,WAGxB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAM,GAAGC,MAC1B,gBAAAC;AAAA,EAACT,EAAgB;AAAA,EAAhB;AAAA,IACC,KAAAQ;AAAA,IACA,WAAWE;AAAA,MACT;AAAA,MACAJ;AAAA,IACF;AAAA,IACC,GAAGC;AAAA,EAAA;AACN,CACD;AACDU,EAAY,cAAcjB,EAAgB,MAAM;AAE1C,MAAAkB,IAAoBb,EAAM,WAG9B,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAM,GAAGC,MAC1B,gBAAAC;AAAA,EAACT,EAAgB;AAAA,EAAhB;AAAA,IACC,KAAAQ;AAAA,IACA,WAAWE,EAAG,mCAAmCJ,CAAS;AAAA,IACzD,GAAGC;AAAA,EAAA;AACN,CACD;AACDW,EAAkB,cAAclB,EAAgB,YAAY;"}
1
+ {"version":3,"file":"dialog.es.js","sources":["../../../lib/components/ui/dialog.tsx"],"sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\"\nimport { Cross2Icon } from \"@radix-ui/react-icons\"\n\nimport { cn } from \"@/utils\"\n\nconst Dialog = DialogPrimitive.Root\n\nconst DialogTrigger = DialogPrimitive.Trigger\n\nconst DialogPortal = DialogPrimitive.Portal\n\nconst DialogClose = DialogPrimitive.Close\n\nconst DialogOverlay = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Overlay\n ref={ref}\n className={cn(\n \"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n className\n )}\n {...props}\n />\n))\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName\n\nconst DialogContent = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Content\n ref={ref}\n className={cn(\n \"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg\",\n className\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close className=\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground\">\n <Cross2Icon className=\"h-4 w-4\" />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </DialogPortal>\n))\nDialogContent.displayName = DialogPrimitive.Content.displayName\n\nconst DialogHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col space-y-1.5 text-center sm:text-left\",\n className\n )}\n {...props}\n />\n)\nDialogHeader.displayName = \"DialogHeader\"\n\nconst DialogFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\n className\n )}\n {...props}\n />\n)\nDialogFooter.displayName = \"DialogFooter\"\n\nconst DialogTitle = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Title\n ref={ref}\n className={cn(\n \"text-heading-3\",\n className\n )}\n {...props}\n />\n))\nDialogTitle.displayName = DialogPrimitive.Title.displayName\n\nconst DialogDescription = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Description\n ref={ref}\n className={cn(\"text-body text-muted-foreground\", className)}\n {...props}\n />\n))\nDialogDescription.displayName = DialogPrimitive.Description.displayName\n\nexport {\n Dialog,\n DialogPortal,\n DialogOverlay,\n DialogTrigger,\n DialogClose,\n DialogContent,\n DialogHeader,\n DialogFooter,\n DialogTitle,\n DialogDescription,\n}\n"],"names":["Dialog","DialogPrimitive","DialogTrigger","DialogPortal","DialogClose","DialogOverlay","React","className","props","ref","jsx","cn","DialogContent","children","jsxs","Cross2Icon","DialogHeader","DialogFooter","DialogTitle","DialogDescription"],"mappings":";;;;;;AAQA,MAAMA,IAASC,EAAgB,MAEzBC,IAAgBD,EAAgB,SAEhCE,IAAeF,EAAgB,QAE/BG,IAAcH,EAAgB,OAE9BI,IAAgBC,EAAM,WAG1B,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAM,GAAGC,MAC1B,gBAAAC;AAAA,EAACT,EAAgB;AAAA,EAAhB;AAAA,IACC,KAAAQ;AAAA,IACA,WAAWE;AAAA,MACT;AAAA,MACAJ;AAAA,IACF;AAAA,IACC,GAAGC;AAAA,EAAA;AACN,CACD;AACDH,EAAc,cAAcJ,EAAgB,QAAQ;AAEpD,MAAMW,IAAgBN,EAAM,WAG1B,CAAC,EAAE,WAAAC,GAAW,UAAAM,GAAU,GAAGL,EAAM,GAAGC,MACpC,gBAAAK,EAACX,GACC,EAAA,UAAA;AAAA,EAAA,gBAAAO,EAACL,GAAc,EAAA;AAAA,EACf,gBAAAS;AAAA,IAACb,EAAgB;AAAA,IAAhB;AAAA,MACC,KAAAQ;AAAA,MACA,WAAWE;AAAA,QACT;AAAA,QACAJ;AAAA,MACF;AAAA,MACC,GAAGC;AAAA,MAEH,UAAA;AAAA,QAAAK;AAAA,QACA,gBAAAC,EAAAb,EAAgB,OAAhB,EAAsB,WAAU,iRAC/B,UAAA;AAAA,UAAC,gBAAAS,EAAAK,GAAA,EAAW,WAAU,UAAU,CAAA;AAAA,UAC/B,gBAAAL,EAAA,QAAA,EAAK,WAAU,WAAU,UAAK,QAAA,CAAA;AAAA,QAAA,EACjC,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AACF,GACF,CACD;AACDE,EAAc,cAAcX,EAAgB,QAAQ;AAEpD,MAAMe,IAAe,CAAC;AAAA,EACpB,WAAAT;AAAA,EACA,GAAGC;AACL,MACE,gBAAAE;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWC;AAAA,MACT;AAAA,MACAJ;AAAA,IACF;AAAA,IACC,GAAGC;AAAA,EAAA;AACN;AAEFQ,EAAa,cAAc;AAE3B,MAAMC,IAAe,CAAC;AAAA,EACpB,WAAAV;AAAA,EACA,GAAGC;AACL,MACE,gBAAAE;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWC;AAAA,MACT;AAAA,MACAJ;AAAA,IACF;AAAA,IACC,GAAGC;AAAA,EAAA;AACN;AAEFS,EAAa,cAAc;AAErB,MAAAC,IAAcZ,EAAM,WAGxB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAM,GAAGC,MAC1B,gBAAAC;AAAA,EAACT,EAAgB;AAAA,EAAhB;AAAA,IACC,KAAAQ;AAAA,IACA,WAAWE;AAAA,MACT;AAAA,MACAJ;AAAA,IACF;AAAA,IACC,GAAGC;AAAA,EAAA;AACN,CACD;AACDU,EAAY,cAAcjB,EAAgB,MAAM;AAE1C,MAAAkB,IAAoBb,EAAM,WAG9B,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAM,GAAGC,MAC1B,gBAAAC;AAAA,EAACT,EAAgB;AAAA,EAAhB;AAAA,IACC,KAAAQ;AAAA,IACA,WAAWE,EAAG,mCAAmCJ,CAAS;AAAA,IACzD,GAAGC;AAAA,EAAA;AACN,CACD;AACDW,EAAkB,cAAclB,EAAgB,YAAY;"}
@@ -1,19 +1,14 @@
1
- import { jsx as t, jsxs as i } from "react/jsx-runtime";
1
+ "use client";
2
+ import { jsx as t, jsxs as c } from "react/jsx-runtime";
2
3
  import * as l from "react";
3
4
  import { Drawer as a } from "vaul";
4
5
  import { cn as s } from "../../utils/index.es.js";
5
- const c = ({
6
+ const m = ({
6
7
  shouldScaleBackground: e = !0,
7
8
  ...r
8
- }) => /* @__PURE__ */ t(
9
- a.Root,
10
- {
11
- shouldScaleBackground: e,
12
- ...r
13
- }
14
- );
15
- c.displayName = "Drawer";
16
- const u = a.Trigger, n = a.Portal, b = a.Close, d = l.forwardRef(({ className: e, ...r }, o) => /* @__PURE__ */ t(
9
+ }) => /* @__PURE__ */ t(a.Root, { shouldScaleBackground: e, ...r });
10
+ m.displayName = "Drawer";
11
+ const u = a.Trigger, n = a.Portal, b = a.Close, i = l.forwardRef(({ className: e, ...r }, o) => /* @__PURE__ */ t(
17
12
  a.Overlay,
18
13
  {
19
14
  ref: o,
@@ -21,62 +16,31 @@ const u = a.Trigger, n = a.Portal, b = a.Close, d = l.forwardRef(({ className: e
21
16
  ...r
22
17
  }
23
18
  ));
24
- d.displayName = a.Overlay.displayName;
25
- const p = l.forwardRef(({ className: e, children: r, ...o }, m) => /* @__PURE__ */ i(n, { children: [
26
- /* @__PURE__ */ t(d, {}),
27
- /* @__PURE__ */ i(
19
+ i.displayName = a.Overlay.displayName;
20
+ const p = l.forwardRef(({ className: e, children: r, ...o }, d) => /* @__PURE__ */ c(n, { children: [
21
+ /* @__PURE__ */ t(i, {}),
22
+ /* @__PURE__ */ t(
28
23
  a.Content,
29
24
  {
30
- ref: m,
25
+ ref: d,
31
26
  style: { userSelect: "text" },
32
27
  className: s(
33
28
  "fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-[10px] border bg-background",
34
29
  e
35
30
  ),
36
31
  ...o,
37
- children: [
38
- /* @__PURE__ */ t("div", { className: "mx-auto mt-4 h-2 w-[100px] rounded-full bg-muted" }),
39
- r
40
- ]
32
+ children: r
41
33
  }
42
34
  )
43
35
  ] }));
44
36
  p.displayName = "DrawerContent";
45
- const f = ({
46
- className: e,
47
- ...r
48
- }) => /* @__PURE__ */ t(
49
- "div",
50
- {
51
- className: s("grid gap-1.5 p-4 text-center sm:text-left", e),
52
- ...r
53
- }
54
- );
37
+ const f = ({ className: e, ...r }) => /* @__PURE__ */ t("div", { className: s("grid gap-1.5 p-4 text-center sm:text-left", e), ...r });
55
38
  f.displayName = "DrawerHeader";
56
- const w = ({
57
- className: e,
58
- ...r
59
- }) => /* @__PURE__ */ t(
60
- "div",
61
- {
62
- className: s("mt-auto flex flex-col gap-2 p-4", e),
63
- ...r
64
- }
65
- );
39
+ const w = ({ className: e, ...r }) => /* @__PURE__ */ t("div", { className: s("mt-auto flex flex-col gap-2 p-4", e), ...r });
66
40
  w.displayName = "DrawerFooter";
41
+ const D = l.forwardRef(({ className: e, ...r }, o) => /* @__PURE__ */ t(a.Title, { ref: o, className: s("text-heading-3", e), ...r }));
42
+ D.displayName = a.Title.displayName;
67
43
  const x = l.forwardRef(({ className: e, ...r }, o) => /* @__PURE__ */ t(
68
- a.Title,
69
- {
70
- ref: o,
71
- className: s(
72
- "text-heading-3",
73
- e
74
- ),
75
- ...r
76
- }
77
- ));
78
- x.displayName = a.Title.displayName;
79
- const D = l.forwardRef(({ className: e, ...r }, o) => /* @__PURE__ */ t(
80
44
  a.Description,
81
45
  {
82
46
  ref: o,
@@ -84,17 +48,17 @@ const D = l.forwardRef(({ className: e, ...r }, o) => /* @__PURE__ */ t(
84
48
  ...r
85
49
  }
86
50
  ));
87
- D.displayName = a.Description.displayName;
51
+ x.displayName = a.Description.displayName;
88
52
  export {
89
- c as Drawer,
53
+ m as Drawer,
90
54
  b as DrawerClose,
91
55
  p as DrawerContent,
92
- D as DrawerDescription,
56
+ x as DrawerDescription,
93
57
  w as DrawerFooter,
94
58
  f as DrawerHeader,
95
- d as DrawerOverlay,
59
+ i as DrawerOverlay,
96
60
  n as DrawerPortal,
97
- x as DrawerTitle,
61
+ D as DrawerTitle,
98
62
  u as DrawerTrigger
99
63
  };
100
64
  //# sourceMappingURL=drawer.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"drawer.es.js","sources":["../../../lib/components/ui/drawer.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { Drawer as DrawerPrimitive } from \"vaul\"\n\nimport { cn } from \"@/utils\"\n\nconst Drawer = ({\n shouldScaleBackground = true,\n ...props\n}: React.ComponentProps<typeof DrawerPrimitive.Root>) => (\n <DrawerPrimitive.Root\n shouldScaleBackground={shouldScaleBackground}\n {...props}\n />\n)\nDrawer.displayName = \"Drawer\"\n\nconst DrawerTrigger = DrawerPrimitive.Trigger\n\nconst DrawerPortal: React.FC<\n React.ComponentProps<typeof DrawerPrimitive.Portal>\n> = DrawerPrimitive.Portal;\n\nconst DrawerClose = DrawerPrimitive.Close\n\nconst DrawerOverlay = React.forwardRef<\n React.ElementRef<typeof DrawerPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DrawerPrimitive.Overlay\n ref={ref}\n className={cn(\"fixed inset-0 z-50 bg-black/80\", className)}\n {...props}\n />\n))\nDrawerOverlay.displayName = DrawerPrimitive.Overlay.displayName\n\nconst DrawerContent = React.forwardRef<\n React.ElementRef<typeof DrawerPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <DrawerPortal>\n <DrawerOverlay />\n <DrawerPrimitive.Content\n ref={ref}\n style={{ userSelect: \"text\" }}\n className={cn(\n \"fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-[10px] border bg-background\",\n className,\n )}\n {...props}\n >\n <div className=\"mx-auto mt-4 h-2 w-[100px] rounded-full bg-muted\" />\n {children}\n </DrawerPrimitive.Content>\n </DrawerPortal>\n))\nDrawerContent.displayName = \"DrawerContent\"\n\nconst DrawerHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\"grid gap-1.5 p-4 text-center sm:text-left\", className)}\n {...props}\n />\n)\nDrawerHeader.displayName = \"DrawerHeader\"\n\nconst DrawerFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\"mt-auto flex flex-col gap-2 p-4\", className)}\n {...props}\n />\n)\nDrawerFooter.displayName = \"DrawerFooter\"\n\nconst DrawerTitle = React.forwardRef<\n React.ElementRef<typeof DrawerPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DrawerPrimitive.Title\n ref={ref}\n className={cn(\n \"text-heading-3\",\n className\n )}\n {...props}\n />\n))\nDrawerTitle.displayName = DrawerPrimitive.Title.displayName\n\nconst DrawerDescription = React.forwardRef<\n React.ElementRef<typeof DrawerPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DrawerPrimitive.Description\n ref={ref}\n className={cn(\"text-body text-muted-foreground\", className)}\n {...props}\n />\n))\nDrawerDescription.displayName = DrawerPrimitive.Description.displayName\n\nexport {\n Drawer,\n DrawerPortal,\n DrawerOverlay,\n DrawerTrigger,\n DrawerClose,\n DrawerContent,\n DrawerHeader,\n DrawerFooter,\n DrawerTitle,\n DrawerDescription,\n}\n"],"names":["Drawer","shouldScaleBackground","props","jsx","DrawerPrimitive","DrawerTrigger","DrawerPortal","DrawerClose","DrawerOverlay","React","className","ref","cn","DrawerContent","children","jsxs","DrawerHeader","DrawerFooter","DrawerTitle","DrawerDescription"],"mappings":";;;;AAKA,MAAMA,IAAS,CAAC;AAAA,EACd,uBAAAC,IAAwB;AAAA,EACxB,GAAGC;AACL,MACE,gBAAAC;AAAA,EAACC,EAAgB;AAAA,EAAhB;AAAA,IACC,uBAAAH;AAAA,IACC,GAAGC;AAAA,EAAA;AACN;AAEFF,EAAO,cAAc;AAErB,MAAMK,IAAgBD,EAAgB,SAEhCE,IAEFF,EAAgB,QAEdG,IAAcH,EAAgB,OAE9BI,IAAgBC,EAAM,WAG1B,CAAC,EAAE,WAAAC,GAAW,GAAGR,EAAM,GAAGS,MAC1B,gBAAAR;AAAA,EAACC,EAAgB;AAAA,EAAhB;AAAA,IACC,KAAAO;AAAA,IACA,WAAWC,EAAG,kCAAkCF,CAAS;AAAA,IACxD,GAAGR;AAAA,EAAA;AACN,CACD;AACDM,EAAc,cAAcJ,EAAgB,QAAQ;AAEpD,MAAMS,IAAgBJ,EAAM,WAG1B,CAAC,EAAE,WAAAC,GAAW,UAAAI,GAAU,GAAGZ,EAAM,GAAGS,MACpC,gBAAAI,EAACT,GACC,EAAA,UAAA;AAAA,EAAA,gBAAAH,EAACK,GAAc,EAAA;AAAA,EACf,gBAAAO;AAAA,IAACX,EAAgB;AAAA,IAAhB;AAAA,MACC,KAAAO;AAAA,MACA,OAAO,EAAE,YAAY,OAAO;AAAA,MAC5B,WAAWC;AAAA,QACT;AAAA,QACAF;AAAA,MACF;AAAA,MACC,GAAGR;AAAA,MAEJ,UAAA;AAAA,QAAC,gBAAAC,EAAA,OAAA,EAAI,WAAU,mDAAmD,CAAA;AAAA,QACjEW;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AACH,GACF,CACD;AACDD,EAAc,cAAc;AAE5B,MAAMG,IAAe,CAAC;AAAA,EACpB,WAAAN;AAAA,EACA,GAAGR;AACL,MACE,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWS,EAAG,6CAA6CF,CAAS;AAAA,IACnE,GAAGR;AAAA,EAAA;AACN;AAEFc,EAAa,cAAc;AAE3B,MAAMC,IAAe,CAAC;AAAA,EACpB,WAAAP;AAAA,EACA,GAAGR;AACL,MACE,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWS,EAAG,mCAAmCF,CAAS;AAAA,IACzD,GAAGR;AAAA,EAAA;AACN;AAEFe,EAAa,cAAc;AAErB,MAAAC,IAAcT,EAAM,WAGxB,CAAC,EAAE,WAAAC,GAAW,GAAGR,EAAM,GAAGS,MAC1B,gBAAAR;AAAA,EAACC,EAAgB;AAAA,EAAhB;AAAA,IACC,KAAAO;AAAA,IACA,WAAWC;AAAA,MACT;AAAA,MACAF;AAAA,IACF;AAAA,IACC,GAAGR;AAAA,EAAA;AACN,CACD;AACDgB,EAAY,cAAcd,EAAgB,MAAM;AAE1C,MAAAe,IAAoBV,EAAM,WAG9B,CAAC,EAAE,WAAAC,GAAW,GAAGR,EAAM,GAAGS,MAC1B,gBAAAR;AAAA,EAACC,EAAgB;AAAA,EAAhB;AAAA,IACC,KAAAO;AAAA,IACA,WAAWC,EAAG,mCAAmCF,CAAS;AAAA,IACzD,GAAGR;AAAA,EAAA;AACN,CACD;AACDiB,EAAkB,cAAcf,EAAgB,YAAY;"}
1
+ {"version":3,"file":"drawer.es.js","sources":["../../../lib/components/ui/drawer.tsx"],"sourcesContent":["'use client';\nimport * as React from 'react';\nimport { Drawer as DrawerPrimitive } from 'vaul';\n\nimport { cn } from '@/utils';\n\nconst Drawer = ({\n shouldScaleBackground = true,\n ...props\n}: React.ComponentProps<typeof DrawerPrimitive.Root>) => (\n <DrawerPrimitive.Root shouldScaleBackground={shouldScaleBackground} {...props} />\n);\nDrawer.displayName = 'Drawer';\n\nconst DrawerTrigger = DrawerPrimitive.Trigger;\n\nconst DrawerPortal: React.FC<React.ComponentProps<typeof DrawerPrimitive.Portal>> =\n DrawerPrimitive.Portal;\n\nconst DrawerClose = DrawerPrimitive.Close;\n\nconst DrawerOverlay = React.forwardRef<\n React.ElementRef<typeof DrawerPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DrawerPrimitive.Overlay\n ref={ref}\n className={cn('fixed inset-0 z-50 bg-black/80', className)}\n {...props}\n />\n));\nDrawerOverlay.displayName = DrawerPrimitive.Overlay.displayName;\n\nconst DrawerContent = React.forwardRef<\n React.ElementRef<typeof DrawerPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <DrawerPortal>\n <DrawerOverlay />\n <DrawerPrimitive.Content\n ref={ref}\n style={{ userSelect: 'text' }}\n className={cn(\n 'fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-[10px] border bg-background',\n className,\n )}\n {...props}\n >\n {/* <div className=\"mx-auto mt-4 h-2 w-[100px] rounded-full bg-muted\" /> */}\n {children}\n </DrawerPrimitive.Content>\n </DrawerPortal>\n));\nDrawerContent.displayName = 'DrawerContent';\n\nconst DrawerHeader = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div className={cn('grid gap-1.5 p-4 text-center sm:text-left', className)} {...props} />\n);\nDrawerHeader.displayName = 'DrawerHeader';\n\nconst DrawerFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div className={cn('mt-auto flex flex-col gap-2 p-4', className)} {...props} />\n);\nDrawerFooter.displayName = 'DrawerFooter';\n\nconst DrawerTitle = React.forwardRef<\n React.ElementRef<typeof DrawerPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DrawerPrimitive.Title ref={ref} className={cn('text-heading-3', className)} {...props} />\n));\nDrawerTitle.displayName = DrawerPrimitive.Title.displayName;\n\nconst DrawerDescription = React.forwardRef<\n React.ElementRef<typeof DrawerPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DrawerPrimitive.Description\n ref={ref}\n className={cn('text-body text-muted-foreground', className)}\n {...props}\n />\n));\nDrawerDescription.displayName = DrawerPrimitive.Description.displayName;\n\nexport {\n Drawer,\n DrawerClose,\n DrawerContent,\n DrawerDescription,\n DrawerFooter,\n DrawerHeader,\n DrawerOverlay,\n DrawerPortal,\n DrawerTitle,\n DrawerTrigger,\n};\n\n"],"names":["Drawer","shouldScaleBackground","props","DrawerPrimitive","DrawerTrigger","DrawerPortal","DrawerClose","DrawerOverlay","React","className","ref","jsx","cn","DrawerContent","children","jsxs","DrawerHeader","DrawerFooter","DrawerTitle","DrawerDescription"],"mappings":";;;;;AAMA,MAAMA,IAAS,CAAC;AAAA,EACd,uBAAAC,IAAwB;AAAA,EACxB,GAAGC;AACL,wBACGC,EAAgB,MAAhB,EAAqB,uBAAAF,GAA+C,GAAGC,EAAO,CAAA;AAEjFF,EAAO,cAAc;AAErB,MAAMI,IAAgBD,EAAgB,SAEhCE,IACJF,EAAgB,QAEZG,IAAcH,EAAgB,OAE9BI,IAAgBC,EAAM,WAG1B,CAAC,EAAE,WAAAC,GAAW,GAAGP,EAAM,GAAGQ,MAC1B,gBAAAC;AAAA,EAACR,EAAgB;AAAA,EAAhB;AAAA,IACC,KAAAO;AAAA,IACA,WAAWE,EAAG,kCAAkCH,CAAS;AAAA,IACxD,GAAGP;AAAA,EAAA;AACN,CACD;AACDK,EAAc,cAAcJ,EAAgB,QAAQ;AAEpD,MAAMU,IAAgBL,EAAM,WAG1B,CAAC,EAAE,WAAAC,GAAW,UAAAK,GAAU,GAAGZ,EAAM,GAAGQ,MACpC,gBAAAK,EAACV,GACC,EAAA,UAAA;AAAA,EAAA,gBAAAM,EAACJ,GAAc,EAAA;AAAA,EACf,gBAAAI;AAAA,IAACR,EAAgB;AAAA,IAAhB;AAAA,MACC,KAAAO;AAAA,MACA,OAAO,EAAE,YAAY,OAAO;AAAA,MAC5B,WAAWE;AAAA,QACT;AAAA,QACAH;AAAA,MACF;AAAA,MACC,GAAGP;AAAA,MAGH,UAAAY;AAAA,IAAA;AAAA,EAAA;AACH,GACF,CACD;AACDD,EAAc,cAAc;AAE5B,MAAMG,IAAe,CAAC,EAAE,WAAAP,GAAW,GAAGP,EAAM,MACzC,gBAAAS,EAAA,OAAA,EAAI,WAAWC,EAAG,6CAA6CH,CAAS,GAAI,GAAGP,EAAO,CAAA;AAEzFc,EAAa,cAAc;AAE3B,MAAMC,IAAe,CAAC,EAAE,WAAAR,GAAW,GAAGP,EAAM,MACzC,gBAAAS,EAAA,OAAA,EAAI,WAAWC,EAAG,mCAAmCH,CAAS,GAAI,GAAGP,EAAO,CAAA;AAE/Ee,EAAa,cAAc;AAErB,MAAAC,IAAcV,EAAM,WAGxB,CAAC,EAAE,WAAAC,GAAW,GAAGP,EAAM,GAAGQ,MAC1B,gBAAAC,EAACR,EAAgB,OAAhB,EAAsB,KAAAO,GAAU,WAAWE,EAAG,kBAAkBH,CAAS,GAAI,GAAGP,GAAO,CACzF;AACDgB,EAAY,cAAcf,EAAgB,MAAM;AAE1C,MAAAgB,IAAoBX,EAAM,WAG9B,CAAC,EAAE,WAAAC,GAAW,GAAGP,EAAM,GAAGQ,MAC1B,gBAAAC;AAAA,EAACR,EAAgB;AAAA,EAAhB;AAAA,IACC,KAAAO;AAAA,IACA,WAAWE,EAAG,mCAAmCH,CAAS;AAAA,IACzD,GAAGP;AAAA,EAAA;AACN,CACD;AACDiB,EAAkB,cAAchB,EAAgB,YAAY;"}
@@ -1,18 +1,17 @@
1
+ "use client";
1
2
  import { jsx as i } from "react/jsx-runtime";
2
- import * as s from "react";
3
3
  import { Slot as F } from "@radix-ui/react-slot";
4
+ import * as s from "react";
4
5
  import { FormProvider as u, Controller as p, useFormContext as x } from "react-hook-form";
5
- import { cn as a } from "../../utils/index.es.js";
6
6
  import { Label as I } from "./label.es.js";
7
- const D = u, f = s.createContext(
8
- {}
9
- ), M = ({
7
+ import { cn as a } from "../../utils/index.es.js";
8
+ const D = u, l = s.createContext({}), M = ({
10
9
  ...e
11
- }) => /* @__PURE__ */ i(f.Provider, { value: { name: e.name }, children: /* @__PURE__ */ i(p, { ...e }) }), d = () => {
12
- const e = s.useContext(f), o = s.useContext(l), { getFieldState: r, formState: t } = x(), m = r(e.name, t);
10
+ }) => /* @__PURE__ */ i(l.Provider, { value: { name: e.name }, children: /* @__PURE__ */ i(p, { ...e }) }), d = () => {
11
+ const e = s.useContext(l), t = s.useContext(f), { getFieldState: r, formState: o } = x(), m = r(e.name, o);
13
12
  if (!e)
14
13
  throw new Error("useFormField should be used within <FormField>");
15
- const { id: n } = o;
14
+ const { id: n } = t;
16
15
  return {
17
16
  id: n,
18
17
  name: e.name,
@@ -21,33 +20,33 @@ const D = u, f = s.createContext(
21
20
  formMessageId: `${n}-form-item-message`,
22
21
  ...m
23
22
  };
24
- }, l = s.createContext(
25
- {}
26
- ), C = s.forwardRef(({ className: e, ...o }, r) => {
27
- const t = s.useId();
28
- return /* @__PURE__ */ i(l.Provider, { value: { id: t }, children: /* @__PURE__ */ i("div", { ref: r, className: a("space-y-2", e), ...o }) });
29
- });
23
+ }, f = s.createContext({}), C = s.forwardRef(
24
+ ({ className: e, ...t }, r) => {
25
+ const o = s.useId();
26
+ return /* @__PURE__ */ i(f.Provider, { value: { id: o }, children: /* @__PURE__ */ i("div", { ref: r, className: a("space-y-2", e), ...t }) });
27
+ }
28
+ );
30
29
  C.displayName = "FormItem";
31
- const g = s.forwardRef(({ className: e, ...o }, r) => {
32
- const { error: t, formItemId: m } = d();
30
+ const g = s.forwardRef(({ className: e, ...t }, r) => {
31
+ const { error: o, formItemId: m } = d();
33
32
  return /* @__PURE__ */ i(
34
33
  I,
35
34
  {
36
35
  ref: r,
37
- className: a(t && "text-destructive", e),
36
+ className: a(o && "text-destructive", e),
38
37
  htmlFor: m,
39
- ...o
38
+ ...t
40
39
  }
41
40
  );
42
41
  });
43
42
  g.displayName = "FormLabel";
44
- const v = s.forwardRef(({ ...e }, o) => {
45
- const { error: r, formItemId: t, formDescriptionId: m, formMessageId: n } = d();
43
+ const v = s.forwardRef(({ ...e }, t) => {
44
+ const { error: r, formItemId: o, formDescriptionId: m, formMessageId: n } = d();
46
45
  return /* @__PURE__ */ i(
47
46
  F,
48
47
  {
49
- ref: o,
50
- id: t,
48
+ ref: t,
49
+ id: o,
51
50
  "aria-describedby": r ? `${m} ${n}` : `${m}`,
52
51
  "aria-invalid": !!r,
53
52
  ...e
@@ -55,25 +54,25 @@ const v = s.forwardRef(({ ...e }, o) => {
55
54
  );
56
55
  });
57
56
  v.displayName = "FormControl";
58
- const N = s.forwardRef(({ className: e, ...o }, r) => {
59
- const { formDescriptionId: t } = d();
57
+ const N = s.forwardRef(({ className: e, ...t }, r) => {
58
+ const { formDescriptionId: o } = d();
60
59
  return /* @__PURE__ */ i(
61
60
  "p",
62
61
  {
63
62
  ref: r,
64
- id: t,
63
+ id: o,
65
64
  className: a("text-caption text-muted-foreground", e),
66
- ...o
65
+ ...t
67
66
  }
68
67
  );
69
68
  });
70
69
  N.displayName = "FormDescription";
71
- const w = s.forwardRef(({ className: e, children: o, ...r }, t) => {
72
- const { error: m, formMessageId: n } = d(), c = m ? String(m == null ? void 0 : m.message) : o;
70
+ const w = s.forwardRef(({ className: e, children: t, ...r }, o) => {
71
+ const { error: m, formMessageId: n } = d(), c = m ? String(m == null ? void 0 : m.message) : t;
73
72
  return c ? /* @__PURE__ */ i(
74
73
  "p",
75
74
  {
76
- ref: t,
75
+ ref: o,
77
76
  id: n,
78
77
  className: a("text-caption font-medium text-destructive", e),
79
78
  ...r,
@@ -1 +1 @@
1
- {"version":3,"file":"form.es.js","sources":["../../../lib/components/ui/form.tsx"],"sourcesContent":["import * as React from \"react\"\nimport * as LabelPrimitive from \"@radix-ui/react-label\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport {\n Controller,\n ControllerProps,\n FieldPath,\n FieldValues,\n FormProvider,\n useFormContext,\n} from \"react-hook-form\"\n\nimport { cn } from \"@/utils\"\nimport { Label } from \"@/components/ui/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>(\n {} as FormFieldContextValue\n)\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, formState } = useFormContext()\n\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>(\n {} as FormItemContextValue\n)\n\nconst FormItem = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => {\n const id = React.useId()\n\n return (\n <FormItemContext.Provider value={{ id }}>\n <div ref={ref} className={cn(\"space-y-2\", className)} {...props} />\n </FormItemContext.Provider>\n )\n})\nFormItem.displayName = \"FormItem\"\n\nconst FormLabel = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root>\n>(({ className, ...props }, ref) => {\n const { error, formItemId } = useFormField()\n\n return (\n <Label\n ref={ref}\n className={cn(error && \"text-destructive\", className)}\n htmlFor={formItemId}\n {...props}\n />\n )\n})\nFormLabel.displayName = \"FormLabel\"\n\nconst FormControl = React.forwardRef<\n React.ElementRef<typeof Slot>,\n React.ComponentPropsWithoutRef<typeof Slot>\n>(({ ...props }, ref) => {\n const { error, formItemId, formDescriptionId, formMessageId } = useFormField()\n\n return (\n <Slot\n ref={ref}\n id={formItemId}\n aria-describedby={\n !error\n ? `${formDescriptionId}`\n : `${formDescriptionId} ${formMessageId}`\n }\n aria-invalid={!!error}\n {...props}\n />\n )\n})\nFormControl.displayName = \"FormControl\"\n\nconst FormDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => {\n const { formDescriptionId } = useFormField()\n\n return (\n <p\n ref={ref}\n id={formDescriptionId}\n className={cn(\"text-caption text-muted-foreground\", className)}\n {...props}\n />\n )\n})\nFormDescription.displayName = \"FormDescription\"\n\nconst FormMessage = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, children, ...props }, ref) => {\n const { error, formMessageId } = useFormField()\n const body = error ? String(error?.message) : children\n\n if (!body) {\n return null\n }\n\n return (\n <p\n ref={ref}\n id={formMessageId}\n className={cn(\"text-caption font-medium text-destructive\", className)}\n {...props}\n >\n {body}\n </p>\n )\n})\nFormMessage.displayName = \"FormMessage\"\n\nexport {\n useFormField,\n Form,\n FormItem,\n FormLabel,\n FormControl,\n FormDescription,\n FormMessage,\n FormField,\n}\n"],"names":["Form","FormProvider","FormFieldContext","React","FormField","props","jsx","Controller","useFormField","fieldContext","itemContext","FormItemContext","getFieldState","formState","useFormContext","fieldState","id","FormItem","className","ref","cn","FormLabel","error","formItemId","Label","FormControl","formDescriptionId","formMessageId","Slot","FormDescription","FormMessage","children","body"],"mappings":"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"}
1
+ {"version":3,"file":"form.es.js","sources":["../../../lib/components/ui/form.tsx"],"sourcesContent":["'use client';\nimport * as LabelPrimitive from '@radix-ui/react-label';\nimport { Slot } from '@radix-ui/react-slot';\nimport * as React from 'react';\nimport {\n Controller,\n ControllerProps,\n FieldPath,\n FieldValues,\n FormProvider,\n useFormContext,\n} from 'react-hook-form';\n\nimport { Label } from '@/components/ui/label';\nimport { cn } from '@/utils';\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, formState } = useFormContext();\n\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\nconst FormItem = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => {\n const id = React.useId();\n\n return (\n <FormItemContext.Provider value={{ id }}>\n <div ref={ref} className={cn('space-y-2', className)} {...props} />\n </FormItemContext.Provider>\n );\n },\n);\nFormItem.displayName = 'FormItem';\n\nconst FormLabel = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root>\n>(({ className, ...props }, ref) => {\n const { error, formItemId } = useFormField();\n\n return (\n <Label\n ref={ref}\n className={cn(error && 'text-destructive', className)}\n htmlFor={formItemId}\n {...props}\n />\n );\n});\nFormLabel.displayName = 'FormLabel';\n\nconst FormControl = React.forwardRef<\n React.ElementRef<typeof Slot>,\n React.ComponentPropsWithoutRef<typeof Slot>\n>(({ ...props }, ref) => {\n const { error, formItemId, formDescriptionId, formMessageId } = useFormField();\n\n return (\n <Slot\n ref={ref}\n id={formItemId}\n aria-describedby={!error ? `${formDescriptionId}` : `${formDescriptionId} ${formMessageId}`}\n aria-invalid={!!error}\n {...props}\n />\n );\n});\nFormControl.displayName = 'FormControl';\n\nconst FormDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => {\n const { formDescriptionId } = useFormField();\n\n return (\n <p\n ref={ref}\n id={formDescriptionId}\n className={cn('text-caption text-muted-foreground', className)}\n {...props}\n />\n );\n});\nFormDescription.displayName = 'FormDescription';\n\nconst FormMessage = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, children, ...props }, ref) => {\n const { error, formMessageId } = useFormField();\n const body = error ? String(error?.message) : children;\n\n if (!body) {\n return null;\n }\n\n return (\n <p\n ref={ref}\n id={formMessageId}\n className={cn('text-caption font-medium text-destructive', className)}\n {...props}\n >\n {body}\n </p>\n );\n});\nFormMessage.displayName = 'FormMessage';\n\nexport {\n Form,\n FormControl,\n FormDescription,\n FormField,\n FormItem,\n FormLabel,\n FormMessage,\n useFormField,\n};\n"],"names":["Form","FormProvider","FormFieldContext","React","FormField","props","jsx","Controller","useFormField","fieldContext","itemContext","FormItemContext","getFieldState","formState","useFormContext","fieldState","id","FormItem","className","ref","cn","FormLabel","error","formItemId","Label","FormControl","formDescriptionId","formMessageId","Slot","FormDescription","FormMessage","children","body"],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { jsxs as i, jsx as o } from "react/jsx-runtime";
2
+ import { buttonVariants as r } from "./button.es.js";
3
+ import { cn as a } from "../../utils/index.es.js";
4
+ import { Link as m } from "@tanstack/react-router";
5
+ function l(t) {
6
+ const n = t.icon;
7
+ return /* @__PURE__ */ i(
8
+ m,
9
+ {
10
+ className: a(r({ variant: t.variant, size: t.size }), "flex gap-2"),
11
+ to: t.to,
12
+ children: [
13
+ n && /* @__PURE__ */ o(n, { className: "h-4 w-4" }),
14
+ t.children
15
+ ]
16
+ }
17
+ );
18
+ }
19
+ export {
20
+ l as LinkButton
21
+ };
22
+ //# sourceMappingURL=link-button.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"link-button.es.js","sources":["../../../lib/components/ui/link-button.tsx"],"sourcesContent":["import { buttonVariants } from '@/components/ui/button';\nimport { cn } from '@/utils';\nimport { Link } from '@tanstack/react-router';\nimport type { VariantProps } from 'class-variance-authority';\nimport type { LucideIcon } from 'lucide-react';\n/**\n *\n * @param props buttonVariants\n * @returns Button as Tanstack Link\n */\nexport function LinkButton(\n props: VariantProps<typeof buttonVariants> & {\n icon?: LucideIcon;\n to: string;\n children: React.ReactNode;\n },\n) {\n const Icon = props.icon;\n return (\n <Link\n className={cn(buttonVariants({ variant: props.variant, size: props.size }), 'flex gap-2')}\n to={props.to}\n >\n {Icon && <Icon className=\"h-4 w-4\" />}\n {props.children}\n </Link>\n );\n}\n"],"names":["LinkButton","props","Icon","jsxs","Link","cn","buttonVariants","jsx"],"mappings":";;;;AAUO,SAASA,EACdC,GAKA;AACA,QAAMC,IAAOD,EAAM;AAEjB,SAAA,gBAAAE;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAGC,EAAe,EAAE,SAASL,EAAM,SAAS,MAAMA,EAAM,KAAM,CAAA,GAAG,YAAY;AAAA,MACxF,IAAIA,EAAM;AAAA,MAET,UAAA;AAAA,QAAQC,KAAA,gBAAAK,EAACL,GAAK,EAAA,WAAU,UAAU,CAAA;AAAA,QAClCD,EAAM;AAAA,MAAA;AAAA,IAAA;AAAA,EACT;AAEJ;"}
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { jsxs as n, jsx as e, Fragment as j } from "react/jsx-runtime";
2
3
  import { Badge as E } from "./badge.es.js";
3
4
  import { Button as I } from "./button.es.js";
@@ -10,6 +11,8 @@ import "./card.es.js";
10
11
  import "./chart.es.js";
11
12
  import "./checkbox.es.js";
12
13
  import "@radix-ui/react-collapsible";
14
+ import { XIcon as D, ChevronDown as g, Command as O, CheckIcon as B } from "lucide-react";
15
+ import * as m from "react";
13
16
  import "./dialog.es.js";
14
17
  import "./drawer.es.js";
15
18
  import "./dropdown-menu.es.js";
@@ -17,25 +20,21 @@ import "./form.es.js";
17
20
  import "./input.es.js";
18
21
  import "./input-otp.es.js";
19
22
  import "./label.es.js";
20
- import { cn as D } from "../../utils/index.es.js";
21
- import { XIcon as O, ChevronDown as y, Command as B, CheckIcon as K } from "lucide-react";
23
+ import { cn as K } from "../../utils/index.es.js";
24
+ import "@tanstack/react-router";
22
25
  import "./navigation-menu.es.js";
23
26
  import "./pagination.es.js";
24
27
  import "./password-input.es.js";
25
28
  import "./popover.es.js";
26
29
  import "./radio-group.es.js";
27
- import * as m from "react";
28
30
  import "./select.es.js";
29
- import { Separator as g } from "./separator.es.js";
31
+ import { Separator as y } from "./separator.es.js";
30
32
  import "./sheet.es.js";
31
33
  import "./sidebar.es.js";
32
34
  import "sonner";
33
35
  import "./table.es.js";
34
36
  import "./tabs.es.js";
35
37
  import "./tooltip.es.js";
36
- import "@tanstack/react-query";
37
- import "cmdk";
38
- import "use-debounce";
39
38
  import { Popover as R, PopoverTrigger as M, PopoverContent as A } from "@radix-ui/react-popover";
40
39
  import { cva as G } from "class-variance-authority";
41
40
  G(
@@ -83,6 +82,7 @@ const L = m.forwardRef(
83
82
  ref: w,
84
83
  ...b,
85
84
  onClick: () => a(!u),
85
+ variant: "ghost",
86
86
  className: "flex w-full p-1 rounded-md border min-h-10 h-auto items-center justify-between bg-inherit hover:bg-card",
87
87
  children: t.length > 0 ? /* @__PURE__ */ n("div", { className: "flex justify-between items-center w-full", children: [
88
88
  /* @__PURE__ */ e("div", { className: "flex flex-wrap items-center", children: t.map((r) => {
@@ -94,7 +94,7 @@ const L = m.forwardRef(
94
94
  }) }),
95
95
  /* @__PURE__ */ n("div", { className: "flex items-center justify-between", children: [
96
96
  /* @__PURE__ */ e(
97
- O,
97
+ D,
98
98
  {
99
99
  className: "h-4 mx-2 cursor-pointer text-muted-foreground",
100
100
  onClick: (r) => {
@@ -102,12 +102,12 @@ const L = m.forwardRef(
102
102
  }
103
103
  }
104
104
  ),
105
- /* @__PURE__ */ e(g, { orientation: "vertical", className: "flex min-h-6 h-full" }),
106
- /* @__PURE__ */ e(y, { className: "h-4 mx-2 cursor-pointer text-muted-foreground" })
105
+ /* @__PURE__ */ e(y, { orientation: "vertical", className: "flex min-h-6 h-full" }),
106
+ /* @__PURE__ */ e(g, { className: "h-4 mx-2 cursor-pointer text-muted-foreground" })
107
107
  ] })
108
108
  ] }) : /* @__PURE__ */ n("div", { className: "flex items-center justify-between w-full mx-auto", children: [
109
109
  /* @__PURE__ */ e("span", { className: "text-sm text-muted-foreground mx-3", children: x }),
110
- /* @__PURE__ */ e(y, { className: "h-4 cursor-pointer text-muted-foreground mx-2" })
110
+ /* @__PURE__ */ e(g, { className: "h-4 cursor-pointer text-muted-foreground mx-2" })
111
111
  ] })
112
112
  }
113
113
  ) }),
@@ -117,7 +117,7 @@ const L = m.forwardRef(
117
117
  className: "w-[200px] p-0 drop-shadow-sm",
118
118
  align: "start",
119
119
  onEscapeKeyDown: () => a(!1),
120
- children: /* @__PURE__ */ n(B, { children: [
120
+ children: /* @__PURE__ */ n(O, { children: [
121
121
  /* @__PURE__ */ e(k, { placeholder: "Search...", onKeyDown: N }),
122
122
  /* @__PURE__ */ n(P, { children: [
123
123
  /* @__PURE__ */ e(F, { children: "No results found." }),
@@ -136,11 +136,11 @@ const L = m.forwardRef(
136
136
  /* @__PURE__ */ e(
137
137
  "div",
138
138
  {
139
- className: D(
139
+ className: K(
140
140
  "mr-2 flex h-4 w-4 items-center justify-center rounded-sm border border-primary",
141
141
  o ? "bg-primary text-primary-foreground" : "opacity-50 [&_svg]:invisible"
142
142
  ),
143
- children: /* @__PURE__ */ e(K, { className: "h-4 w-4" })
143
+ children: /* @__PURE__ */ e(B, { className: "h-4 w-4" })
144
144
  }
145
145
  ),
146
146
  r.icon && /* @__PURE__ */ e(r.icon, { className: "mr-2 h-4 w-4 text-muted-foreground" }),
@@ -167,7 +167,7 @@ const L = m.forwardRef(
167
167
  children: "Clear"
168
168
  }
169
169
  ),
170
- /* @__PURE__ */ e(g, { orientation: "vertical", className: "flex min-h-6 h-full" })
170
+ /* @__PURE__ */ e(y, { orientation: "vertical", className: "flex min-h-6 h-full" })
171
171
  ] }),
172
172
  /* @__PURE__ */ e(v, {}),
173
173
  /* @__PURE__ */ e(
@@ -1 +1 @@
1
- {"version":3,"file":"mutli-select.es.js","sources":["../../../lib/components/ui/mutli-select.tsx"],"sourcesContent":["import { Badge } from '@/components/ui/badge';\nimport { Button } from '@/components/ui/button';\nimport {\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n CommandSeparator,\n} from '@/components/ui/command';\nimport { Separator } from '@/index';\nimport { cn } from '@/utils';\nimport { Popover, PopoverContent, PopoverTrigger } from '@radix-ui/react-popover';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { CheckIcon, ChevronDown, Command, XIcon } from 'lucide-react';\nimport * as React from 'react';\n\nconst multiSelectVariants = cva(\n 'm-1 transition ease-in-out delay-150 hover:-translate-y-1 hover:scale-110 duration-300',\n {\n variants: {\n variant: {\n default: 'border-foreground/10 drop-shadow-md text-foreground bg-card hover:bg-card/80',\n secondary:\n 'border-foreground/10 bg-secondary text-secondary-foreground hover:bg-secondary/80',\n destructive:\n 'border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80',\n inverted: 'inverted',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n);\n\ninterface MultiSelectFormFieldProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof multiSelectVariants> {\n asChild?: boolean;\n options: {\n label: string;\n value: string;\n icon?: React.ComponentType<{ className?: string }>;\n }[];\n defaultValue?: string[];\n disabled?: boolean;\n placeholder: string;\n className?: string;\n animation?: number;\n onValueChange: (value: string[]) => void;\n}\n\nconst MultiSelectFormField = React.forwardRef<HTMLButtonElement, MultiSelectFormFieldProps>(\n (\n {\n className,\n variant,\n asChild = false,\n options,\n defaultValue,\n onValueChange,\n disabled,\n placeholder,\n animation = 0,\n ...props\n },\n ref,\n ) => {\n const [selectedValues, setSelectedValues] = React.useState<string[]>(defaultValue || []);\n const selectedValuesSet = React.useRef(new Set(selectedValues));\n const [isPopoverOpen, setIsPopoverOpen] = React.useState(false);\n\n React.useEffect(() => {\n setSelectedValues(defaultValue || []);\n selectedValuesSet.current = new Set(defaultValue);\n }, [defaultValue]);\n\n const handleInputKeyDown = (event: any) => {\n if (event.key === 'Enter') {\n setIsPopoverOpen(true);\n } else if (event.key === 'Backspace' && !event.target.value) {\n selectedValues.pop();\n setSelectedValues([...selectedValues]);\n selectedValuesSet.current.delete(selectedValues[selectedValues.length - 1]);\n onValueChange([...selectedValues]);\n }\n };\n\n const toggleOption = (value: string) => {\n if (selectedValuesSet.current.has(value)) {\n selectedValuesSet.current.delete(value);\n setSelectedValues(selectedValues.filter((v) => v !== value));\n } else {\n selectedValuesSet.current.add(value);\n setSelectedValues([...selectedValues, value]);\n }\n onValueChange(Array.from(selectedValuesSet.current));\n };\n\n return (\n <Popover open={isPopoverOpen} onOpenChange={setIsPopoverOpen}>\n <PopoverTrigger asChild>\n <Button\n ref={ref}\n {...props}\n onClick={() => setIsPopoverOpen(!isPopoverOpen)}\n className=\"flex w-full p-1 rounded-md border min-h-10 h-auto items-center justify-between bg-inherit hover:bg-card\"\n >\n {selectedValues.length > 0 ? (\n <div className=\"flex justify-between items-center w-full\">\n <div className=\"flex flex-wrap items-center\">\n {selectedValues.map((value) => {\n const option = options.find((o) => o.value === value);\n const IconComponent = option?.icon;\n return (\n <Badge key={value}>\n {IconComponent && <IconComponent className=\"h-6 w-6 mr-2\" />}\n {option?.label}\n </Badge>\n );\n })}\n </div>\n <div className=\"flex items-center justify-between\">\n <XIcon\n className=\"h-4 mx-2 cursor-pointer text-muted-foreground\"\n onClick={(event) => {\n setSelectedValues([]);\n selectedValuesSet.current.clear();\n onValueChange([]);\n event.stopPropagation();\n }}\n />\n <Separator orientation=\"vertical\" className=\"flex min-h-6 h-full\" />\n <ChevronDown className=\"h-4 mx-2 cursor-pointer text-muted-foreground\" />\n </div>\n </div>\n ) : (\n <div className=\"flex items-center justify-between w-full mx-auto\">\n <span className=\"text-sm text-muted-foreground mx-3\">{placeholder}</span>\n <ChevronDown className=\"h-4 cursor-pointer text-muted-foreground mx-2\" />\n </div>\n )}\n </Button>\n </PopoverTrigger>\n <PopoverContent\n className=\"w-[200px] p-0 drop-shadow-sm\"\n align=\"start\"\n onEscapeKeyDown={() => setIsPopoverOpen(false)}\n >\n <Command>\n <CommandInput placeholder=\"Search...\" onKeyDown={handleInputKeyDown} />\n <CommandList>\n <CommandEmpty>No results found.</CommandEmpty>\n <CommandGroup>\n {options.map((option) => {\n const isSelected = selectedValuesSet.current.has(option.value);\n return (\n <CommandItem\n key={option.value}\n onSelect={() => toggleOption(option.value)}\n style={{\n pointerEvents: 'auto',\n opacity: 1,\n }}\n className=\"cursor-pointer\"\n >\n <div\n className={cn(\n 'mr-2 flex h-4 w-4 items-center justify-center rounded-sm border border-primary',\n isSelected\n ? 'bg-primary text-primary-foreground'\n : 'opacity-50 [&_svg]:invisible',\n )}\n >\n <CheckIcon className=\"h-4 w-4\" />\n </div>\n {option.icon && (\n <option.icon className=\"mr-2 h-4 w-4 text-muted-foreground\" />\n )}\n <span>{option.label}</span>\n </CommandItem>\n );\n })}\n </CommandGroup>\n <CommandSeparator />\n <CommandGroup>\n <div className=\"flex items-center justify-between\">\n {selectedValues.length > 0 && (\n <>\n <CommandItem\n onSelect={() => {\n setSelectedValues([]);\n selectedValuesSet.current.clear();\n onValueChange([]);\n }}\n style={{\n pointerEvents: 'auto',\n opacity: 1,\n }}\n className=\"flex-1 justify-center cursor-pointer\"\n >\n Clear\n </CommandItem>\n <Separator orientation=\"vertical\" className=\"flex min-h-6 h-full\" />\n </>\n )}\n <CommandSeparator />\n <CommandItem\n onSelect={() => setIsPopoverOpen(false)}\n style={{\n pointerEvents: 'auto',\n opacity: 1,\n }}\n className=\"flex-1 justify-center cursor-pointer\"\n >\n Close\n </CommandItem>\n </div>\n </CommandGroup>\n </CommandList>\n </Command>\n </PopoverContent>\n </Popover>\n );\n },\n);\n\nMultiSelectFormField.displayName = 'MultiSelectFormField';\n\nexport default MultiSelectFormField;\n"],"names":["cva","MultiSelectFormField","React","className","variant","asChild","options","defaultValue","onValueChange","disabled","placeholder","animation","props","ref","selectedValues","setSelectedValues","selectedValuesSet","isPopoverOpen","setIsPopoverOpen","handleInputKeyDown","event","toggleOption","value","v","jsxs","Popover","jsx","PopoverTrigger","Button","option","o","IconComponent","Badge","XIcon","Separator","ChevronDown","PopoverContent","Command","CommandInput","CommandList","CommandEmpty","CommandGroup","isSelected","CommandItem","cn","CheckIcon","CommandSeparator","Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"mutli-select.es.js","sources":["../../../lib/components/ui/mutli-select.tsx"],"sourcesContent":["'use client';\nimport { Badge } from '@/components/ui/badge';\nimport { Button } from '@/components/ui/button';\nimport {\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n CommandSeparator,\n} from '@/components/ui/command';\nimport { Separator } from '@/index';\nimport { cn } from '@/utils';\nimport { Popover, PopoverContent, PopoverTrigger } from '@radix-ui/react-popover';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { CheckIcon, ChevronDown, Command, XIcon } from 'lucide-react';\nimport * as React from 'react';\n\nconst multiSelectVariants = cva(\n 'm-1 transition ease-in-out delay-150 hover:-translate-y-1 hover:scale-110 duration-300',\n {\n variants: {\n variant: {\n default: 'border-foreground/10 drop-shadow-md text-foreground bg-card hover:bg-card/80',\n secondary:\n 'border-foreground/10 bg-secondary text-secondary-foreground hover:bg-secondary/80',\n destructive:\n 'border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80',\n inverted: 'inverted',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n);\n\ninterface MultiSelectFormFieldProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof multiSelectVariants> {\n asChild?: boolean;\n options: {\n label: string;\n value: string;\n icon?: React.ComponentType<{ className?: string }>;\n }[];\n defaultValue?: string[];\n disabled?: boolean;\n placeholder: string;\n className?: string;\n animation?: number;\n onValueChange: (value: string[]) => void;\n}\n\nconst MultiSelectFormField = React.forwardRef<HTMLButtonElement, MultiSelectFormFieldProps>(\n (\n {\n className,\n variant,\n asChild = false,\n options,\n defaultValue,\n onValueChange,\n disabled,\n placeholder,\n animation = 0,\n ...props\n },\n ref,\n ) => {\n const [selectedValues, setSelectedValues] = React.useState<string[]>(defaultValue || []);\n const selectedValuesSet = React.useRef(new Set(selectedValues));\n const [isPopoverOpen, setIsPopoverOpen] = React.useState(false);\n\n React.useEffect(() => {\n setSelectedValues(defaultValue || []);\n selectedValuesSet.current = new Set(defaultValue);\n }, [defaultValue]);\n\n const handleInputKeyDown = (event: any) => {\n if (event.key === 'Enter') {\n setIsPopoverOpen(true);\n } else if (event.key === 'Backspace' && !event.target.value) {\n selectedValues.pop();\n setSelectedValues([...selectedValues]);\n selectedValuesSet.current.delete(selectedValues[selectedValues.length - 1]);\n onValueChange([...selectedValues]);\n }\n };\n\n const toggleOption = (value: string) => {\n if (selectedValuesSet.current.has(value)) {\n selectedValuesSet.current.delete(value);\n setSelectedValues(selectedValues.filter((v) => v !== value));\n } else {\n selectedValuesSet.current.add(value);\n setSelectedValues([...selectedValues, value]);\n }\n onValueChange(Array.from(selectedValuesSet.current));\n };\n\n return (\n <Popover open={isPopoverOpen} onOpenChange={setIsPopoverOpen}>\n <PopoverTrigger asChild>\n <Button\n ref={ref}\n {...props}\n onClick={() => setIsPopoverOpen(!isPopoverOpen)}\n variant={'ghost'}\n className=\"flex w-full p-1 rounded-md border min-h-10 h-auto items-center justify-between bg-inherit hover:bg-card\"\n >\n {selectedValues.length > 0 ? (\n <div className=\"flex justify-between items-center w-full\">\n <div className=\"flex flex-wrap items-center\">\n {selectedValues.map((value) => {\n const option = options.find((o) => o.value === value);\n const IconComponent = option?.icon;\n return (\n <Badge key={value}>\n {IconComponent && <IconComponent className=\"h-6 w-6 mr-2\" />}\n {option?.label}\n </Badge>\n );\n })}\n </div>\n <div className=\"flex items-center justify-between\">\n <XIcon\n className=\"h-4 mx-2 cursor-pointer text-muted-foreground\"\n onClick={(event) => {\n setSelectedValues([]);\n selectedValuesSet.current.clear();\n onValueChange([]);\n event.stopPropagation();\n }}\n />\n <Separator orientation=\"vertical\" className=\"flex min-h-6 h-full\" />\n <ChevronDown className=\"h-4 mx-2 cursor-pointer text-muted-foreground\" />\n </div>\n </div>\n ) : (\n <div className=\"flex items-center justify-between w-full mx-auto\">\n <span className=\"text-sm text-muted-foreground mx-3\">{placeholder}</span>\n <ChevronDown className=\"h-4 cursor-pointer text-muted-foreground mx-2\" />\n </div>\n )}\n </Button>\n </PopoverTrigger>\n <PopoverContent\n className=\"w-[200px] p-0 drop-shadow-sm\"\n align=\"start\"\n onEscapeKeyDown={() => setIsPopoverOpen(false)}\n >\n <Command>\n <CommandInput placeholder=\"Search...\" onKeyDown={handleInputKeyDown} />\n <CommandList>\n <CommandEmpty>No results found.</CommandEmpty>\n <CommandGroup>\n {options.map((option) => {\n const isSelected = selectedValuesSet.current.has(option.value);\n return (\n <CommandItem\n key={option.value}\n onSelect={() => toggleOption(option.value)}\n style={{\n pointerEvents: 'auto',\n opacity: 1,\n }}\n className=\"cursor-pointer\"\n >\n <div\n className={cn(\n 'mr-2 flex h-4 w-4 items-center justify-center rounded-sm border border-primary',\n isSelected\n ? 'bg-primary text-primary-foreground'\n : 'opacity-50 [&_svg]:invisible',\n )}\n >\n <CheckIcon className=\"h-4 w-4\" />\n </div>\n {option.icon && (\n <option.icon className=\"mr-2 h-4 w-4 text-muted-foreground\" />\n )}\n <span>{option.label}</span>\n </CommandItem>\n );\n })}\n </CommandGroup>\n <CommandSeparator />\n <CommandGroup>\n <div className=\"flex items-center justify-between\">\n {selectedValues.length > 0 && (\n <>\n <CommandItem\n onSelect={() => {\n setSelectedValues([]);\n selectedValuesSet.current.clear();\n onValueChange([]);\n }}\n style={{\n pointerEvents: 'auto',\n opacity: 1,\n }}\n className=\"flex-1 justify-center cursor-pointer\"\n >\n Clear\n </CommandItem>\n <Separator orientation=\"vertical\" className=\"flex min-h-6 h-full\" />\n </>\n )}\n <CommandSeparator />\n <CommandItem\n onSelect={() => setIsPopoverOpen(false)}\n style={{\n pointerEvents: 'auto',\n opacity: 1,\n }}\n className=\"flex-1 justify-center cursor-pointer\"\n >\n Close\n </CommandItem>\n </div>\n </CommandGroup>\n </CommandList>\n </Command>\n </PopoverContent>\n </Popover>\n );\n },\n);\n\nMultiSelectFormField.displayName = 'MultiSelectFormField';\n\nexport default MultiSelectFormField;\n"],"names":["cva","MultiSelectFormField","React","className","variant","asChild","options","defaultValue","onValueChange","disabled","placeholder","animation","props","ref","selectedValues","setSelectedValues","selectedValuesSet","isPopoverOpen","setIsPopoverOpen","handleInputKeyDown","event","toggleOption","value","v","jsxs","Popover","jsx","PopoverTrigger","Button","option","o","IconComponent","Badge","XIcon","Separator","ChevronDown","PopoverContent","Command","CommandInput","CommandList","CommandEmpty","CommandGroup","isSelected","CommandItem","cn","CheckIcon","CommandSeparator","Fragment"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkB4BA;AAAA,EAC1B;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SAAS;AAAA,QACT,WACE;AAAA,QACF,aACE;AAAA,QACF,UAAU;AAAA,MAAA;AAAA,IAEd;AAAA,IACA,iBAAiB;AAAA,MACf,SAAS;AAAA,IAAA;AAAA,EACX;AAEJ;AAmBA,MAAMC,IAAuBC,EAAM;AAAA,EACjC,CACE;AAAA,IACE,WAAAC;AAAA,IACA,SAAAC;AAAA,IACA,SAAAC,IAAU;AAAA,IACV,SAAAC;AAAA,IACA,cAAAC;AAAA,IACA,eAAAC;AAAA,IACA,UAAAC;AAAA,IACA,aAAAC;AAAA,IACA,WAAAC,IAAY;AAAA,IACZ,GAAGC;AAAA,KAELC,MACG;AACG,UAAA,CAACC,GAAgBC,CAAiB,IAAIb,EAAM,SAAmBK,KAAgB,EAAE,GACjFS,IAAoBd,EAAM,OAAO,IAAI,IAAIY,CAAc,CAAC,GACxD,CAACG,GAAeC,CAAgB,IAAIhB,EAAM,SAAS,EAAK;AAE9D,IAAAA,EAAM,UAAU,MAAM;AACF,MAAAa,EAAAR,KAAgB,EAAE,GAClBS,EAAA,UAAU,IAAI,IAAIT,CAAY;AAAA,IAAA,GAC/C,CAACA,CAAY,CAAC;AAEX,UAAAY,IAAqB,CAACC,MAAe;AACrC,MAAAA,EAAM,QAAQ,UAChBF,EAAiB,EAAI,IACZE,EAAM,QAAQ,eAAe,CAACA,EAAM,OAAO,UACpDN,EAAe,IAAI,GACDC,EAAA,CAAC,GAAGD,CAAc,CAAC,GACrCE,EAAkB,QAAQ,OAAOF,EAAeA,EAAe,SAAS,CAAC,CAAC,GAC5DN,EAAA,CAAC,GAAGM,CAAc,CAAC;AAAA,IAErC,GAEMO,IAAe,CAACC,MAAkB;AACtC,MAAIN,EAAkB,QAAQ,IAAIM,CAAK,KACnBN,EAAA,QAAQ,OAAOM,CAAK,GACtCP,EAAkBD,EAAe,OAAO,CAACS,MAAMA,MAAMD,CAAK,CAAC,MAEzCN,EAAA,QAAQ,IAAIM,CAAK,GACnCP,EAAkB,CAAC,GAAGD,GAAgBQ,CAAK,CAAC,IAE9Cd,EAAc,MAAM,KAAKQ,EAAkB,OAAO,CAAC;AAAA,IACrD;AAEA,WACG,gBAAAQ,EAAAC,GAAA,EAAQ,MAAMR,GAAe,cAAcC,GAC1C,UAAA;AAAA,MAAC,gBAAAQ,EAAAC,GAAA,EAAe,SAAO,IACrB,UAAA,gBAAAD;AAAA,QAACE;AAAA,QAAA;AAAA,UACC,KAAAf;AAAA,UACC,GAAGD;AAAA,UACJ,SAAS,MAAMM,EAAiB,CAACD,CAAa;AAAA,UAC9C,SAAS;AAAA,UACT,WAAU;AAAA,UAET,YAAe,SAAS,IACtB,gBAAAO,EAAA,OAAA,EAAI,WAAU,4CACb,UAAA;AAAA,YAAA,gBAAAE,EAAC,SAAI,WAAU,+BACZ,UAAeZ,EAAA,IAAI,CAACQ,MAAU;AAC7B,oBAAMO,IAASvB,EAAQ,KAAK,CAACwB,MAAMA,EAAE,UAAUR,CAAK,GAC9CS,IAAgBF,KAAA,gBAAAA,EAAQ;AAC9B,uCACGG,GACE,EAAA,UAAA;AAAA,gBAAiBD,KAAA,gBAAAL,EAACK,GAAc,EAAA,WAAU,eAAe,CAAA;AAAA,gBACzDF,KAAA,gBAAAA,EAAQ;AAAA,cAAA,EAAA,GAFCP,CAGZ;AAAA,YAEH,CAAA,GACH;AAAA,YACA,gBAAAE,EAAC,OAAI,EAAA,WAAU,qCACb,UAAA;AAAA,cAAA,gBAAAE;AAAA,gBAACO;AAAA,gBAAA;AAAA,kBACC,WAAU;AAAA,kBACV,SAAS,CAACb,MAAU;AAClB,oBAAAL,EAAkB,CAAA,CAAE,GACpBC,EAAkB,QAAQ,MAAM,GAChCR,EAAc,CAAA,CAAE,GAChBY,EAAM,gBAAgB;AAAA,kBAAA;AAAA,gBACxB;AAAA,cACF;AAAA,cACC,gBAAAM,EAAAQ,GAAA,EAAU,aAAY,YAAW,WAAU,uBAAsB;AAAA,cAClE,gBAAAR,EAACS,GAAY,EAAA,WAAU,gDAAgD,CAAA;AAAA,YAAA,EACzE,CAAA;AAAA,UAAA,EACF,CAAA,IAEA,gBAAAX,EAAC,OAAI,EAAA,WAAU,oDACb,UAAA;AAAA,YAAC,gBAAAE,EAAA,QAAA,EAAK,WAAU,sCAAsC,UAAYhB,GAAA;AAAA,YAClE,gBAAAgB,EAACS,GAAY,EAAA,WAAU,gDAAgD,CAAA;AAAA,UAAA,EACzE,CAAA;AAAA,QAAA;AAAA,MAAA,GAGN;AAAA,MACA,gBAAAT;AAAA,QAACU;AAAA,QAAA;AAAA,UACC,WAAU;AAAA,UACV,OAAM;AAAA,UACN,iBAAiB,MAAMlB,EAAiB,EAAK;AAAA,UAE7C,4BAACmB,GACC,EAAA,UAAA;AAAA,YAAA,gBAAAX,EAACY,GAAa,EAAA,aAAY,aAAY,WAAWnB,GAAoB;AAAA,8BACpEoB,GACC,EAAA,UAAA;AAAA,cAAA,gBAAAb,EAACc,KAAa,UAAiB,oBAAA,CAAA;AAAA,cAC9B,gBAAAd,EAAAe,GAAA,EACE,UAAQnC,EAAA,IAAI,CAACuB,MAAW;AACvB,sBAAMa,IAAa1B,EAAkB,QAAQ,IAAIa,EAAO,KAAK;AAE3D,uBAAA,gBAAAL;AAAA,kBAACmB;AAAA,kBAAA;AAAA,oBAEC,UAAU,MAAMtB,EAAaQ,EAAO,KAAK;AAAA,oBACzC,OAAO;AAAA,sBACL,eAAe;AAAA,sBACf,SAAS;AAAA,oBACX;AAAA,oBACA,WAAU;AAAA,oBAEV,UAAA;AAAA,sBAAA,gBAAAH;AAAA,wBAAC;AAAA,wBAAA;AAAA,0BACC,WAAWkB;AAAA,4BACT;AAAA,4BACAF,IACI,uCACA;AAAA,0BACN;AAAA,0BAEA,UAAA,gBAAAhB,EAACmB,GAAU,EAAA,WAAU,UAAU,CAAA;AAAA,wBAAA;AAAA,sBACjC;AAAA,sBACChB,EAAO,QACN,gBAAAH,EAACG,EAAO,MAAP,EAAY,WAAU,sCAAqC;AAAA,sBAE9D,gBAAAH,EAAC,QAAM,EAAA,UAAAG,EAAO,MAAM,CAAA;AAAA,oBAAA;AAAA,kBAAA;AAAA,kBArBfA,EAAO;AAAA,gBAsBd;AAAA,cAEH,CAAA,GACH;AAAA,gCACCiB,GAAiB,EAAA;AAAA,cACjB,gBAAApB,EAAAe,GAAA,EACC,UAAC,gBAAAjB,EAAA,OAAA,EAAI,WAAU,qCACZ,UAAA;AAAA,gBAAeV,EAAA,SAAS,KAErB,gBAAAU,EAAAuB,GAAA,EAAA,UAAA;AAAA,kBAAA,gBAAArB;AAAA,oBAACiB;AAAA,oBAAA;AAAA,sBACC,UAAU,MAAM;AACd,wBAAA5B,EAAkB,CAAA,CAAE,GACpBC,EAAkB,QAAQ,MAAM,GAChCR,EAAc,CAAA,CAAE;AAAA,sBAClB;AAAA,sBACA,OAAO;AAAA,wBACL,eAAe;AAAA,wBACf,SAAS;AAAA,sBACX;AAAA,sBACA,WAAU;AAAA,sBACX,UAAA;AAAA,oBAAA;AAAA,kBAED;AAAA,kBACC,gBAAAkB,EAAAQ,GAAA,EAAU,aAAY,YAAW,WAAU,sBAAsB,CAAA;AAAA,gBAAA,GACpE;AAAA,kCAEDY,GAAiB,EAAA;AAAA,gBAClB,gBAAApB;AAAA,kBAACiB;AAAA,kBAAA;AAAA,oBACC,UAAU,MAAMzB,EAAiB,EAAK;AAAA,oBACtC,OAAO;AAAA,sBACL,eAAe;AAAA,sBACf,SAAS;AAAA,oBACX;AAAA,oBACA,WAAU;AAAA,oBACX,UAAA;AAAA,kBAAA;AAAA,gBAAA;AAAA,cAED,EAAA,CACF,EACF,CAAA;AAAA,YAAA,EACF,CAAA;AAAA,UAAA,EACF,CAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IACF,GACF;AAAA,EAAA;AAGN;AAEAjB,EAAqB,cAAc;"}