@definable/ui 0.1.9 → 0.1.12

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 (53) hide show
  1. package/dist/MonacoEditor-COZcVMEj.cjs +8 -0
  2. package/dist/MonacoEditor-COZcVMEj.cjs.map +1 -0
  3. package/dist/MonacoEditor-D3QSSKa4.js +295 -0
  4. package/dist/MonacoEditor-D3QSSKa4.js.map +1 -0
  5. package/dist/alert.d.ts +7 -0
  6. package/dist/badge.d.ts +1 -1
  7. package/dist/command.d.ts +13 -13
  8. package/dist/components/alert.d.ts +7 -0
  9. package/dist/components/alert.esm.js +35 -22
  10. package/dist/components/alert.esm.js.map +1 -1
  11. package/dist/components/alert.js +1 -1
  12. package/dist/components/alert.js.map +1 -1
  13. package/dist/components/badge.d.ts +1 -1
  14. package/dist/components/card.esm.js +13 -13
  15. package/dist/components/card.esm.js.map +1 -1
  16. package/dist/components/card.js +1 -1
  17. package/dist/components/card.js.map +1 -1
  18. package/dist/components/command.d.ts +13 -13
  19. package/dist/components/modal.esm.js +64 -46
  20. package/dist/components/modal.esm.js.map +1 -1
  21. package/dist/components/modal.js +1 -1
  22. package/dist/components/modal.js.map +1 -1
  23. package/dist/components/monaco-editor.esm.js +6 -292
  24. package/dist/components/monaco-editor.esm.js.map +1 -1
  25. package/dist/components/monaco-editor.js +1 -7
  26. package/dist/components/monaco-editor.js.map +1 -1
  27. package/dist/components/selection-bar.esm.js +7 -7
  28. package/dist/components/selection-bar.esm.js.map +1 -1
  29. package/dist/components/selection-bar.js +1 -1
  30. package/dist/components/selection-bar.js.map +1 -1
  31. package/dist/components/sheet.esm.js +22 -22
  32. package/dist/components/sheet.esm.js.map +1 -1
  33. package/dist/components/sheet.js +1 -1
  34. package/dist/components/sheet.js.map +1 -1
  35. package/dist/components/stepper.esm.js +4 -211
  36. package/dist/components/stepper.esm.js.map +1 -1
  37. package/dist/components/stepper.js +1 -1
  38. package/dist/components/stepper.js.map +1 -1
  39. package/dist/components/tooltip.esm.js +25 -49
  40. package/dist/components/tooltip.esm.js.map +1 -1
  41. package/dist/components/tooltip.js +1 -1
  42. package/dist/components/tooltip.js.map +1 -1
  43. package/dist/index.d.ts +432 -1
  44. package/dist/index.esm.js +193 -135
  45. package/dist/index.esm.js.map +1 -1
  46. package/dist/index.js +1 -1
  47. package/dist/index.js.map +1 -1
  48. package/dist/stepper-modal-CPlBpxWy.cjs +2 -0
  49. package/dist/stepper-modal-CPlBpxWy.cjs.map +1 -0
  50. package/dist/stepper-modal-SYU9mbXs.js +214 -0
  51. package/dist/stepper-modal-SYU9mbXs.js.map +1 -0
  52. package/dist/styles.css +1 -1
  53. package/package.json +1 -1
@@ -1,8 +1,9 @@
1
1
  import { j as a } from "../jsx-runtime-DGlMoOmv.js";
2
- import * as s from "react";
3
- import { c as d } from "../index-DACAHwoB.js";
4
- import { c as i } from "../utils-qaFjX9_3.js";
5
- const l = d(
2
+ import * as i from "react";
3
+ import { c as p } from "../index-DACAHwoB.js";
4
+ import { c as s } from "../utils-qaFjX9_3.js";
5
+ import { ConfirmationModal as v } from "./confirmation-modal.esm.js";
6
+ const x = p(
6
7
  "relative w-full rounded-lg border p-4",
7
8
  {
8
9
  variants: {
@@ -15,37 +16,49 @@ const l = d(
15
16
  variant: "default"
16
17
  }
17
18
  }
18
- ), n = s.forwardRef(({ className: e, variant: t, ...r }, o) => /* @__PURE__ */ a.jsx(
19
+ ), g = i.forwardRef(({ className: t, variant: r, isOpen: e, onClose: d, onConfirm: o, title: l, description: n, confirmText: m, cancelText: c, ...f }, u) => e !== void 0 && d && o && l && n ? /* @__PURE__ */ a.jsx(
20
+ v,
21
+ {
22
+ isOpen: e,
23
+ onClose: d,
24
+ onConfirm: o,
25
+ title: l,
26
+ description: n,
27
+ confirmText: m,
28
+ cancelText: c,
29
+ type: r === "destructive" ? "danger" : "warning"
30
+ }
31
+ ) : /* @__PURE__ */ a.jsx(
19
32
  "div",
20
33
  {
21
- ref: o,
34
+ ref: u,
22
35
  role: "alert",
23
- className: i(l({ variant: t }), e),
24
- ...r
36
+ className: s(x({ variant: r }), t),
37
+ ...f
25
38
  }
26
39
  ));
27
- n.displayName = "Alert";
28
- const c = s.forwardRef(({ className: e, ...t }, r) => /* @__PURE__ */ a.jsx(
40
+ g.displayName = "Alert";
41
+ const b = i.forwardRef(({ className: t, ...r }, e) => /* @__PURE__ */ a.jsx(
29
42
  "h5",
30
43
  {
31
- ref: r,
32
- className: i("mb-1 font-medium leading-none tracking-tight", e),
33
- ...t
44
+ ref: e,
45
+ className: s("mb-1 font-medium leading-none tracking-tight", t),
46
+ ...r
34
47
  }
35
48
  ));
36
- c.displayName = "AlertTitle";
37
- const m = s.forwardRef(({ className: e, ...t }, r) => /* @__PURE__ */ a.jsx(
49
+ b.displayName = "AlertTitle";
50
+ const j = i.forwardRef(({ className: t, ...r }, e) => /* @__PURE__ */ a.jsx(
38
51
  "div",
39
52
  {
40
- ref: r,
41
- className: i("text-sm [&_p]:leading-relaxed", e),
42
- ...t
53
+ ref: e,
54
+ className: s("text-sm [&_p]:leading-relaxed", t),
55
+ ...r
43
56
  }
44
57
  ));
45
- m.displayName = "AlertDescription";
58
+ j.displayName = "AlertDescription";
46
59
  export {
47
- n as Alert,
48
- m as AlertDescription,
49
- c as AlertTitle
60
+ g as Alert,
61
+ j as AlertDescription,
62
+ b as AlertTitle
50
63
  };
51
64
  //# sourceMappingURL=alert.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"alert.esm.js","sources":["../../src/components/alert.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { cva, VariantProps } from \"class-variance-authority\"\nimport { cn } from \"@/lib/utils\"\n\nconst alertVariants = cva(\n \"relative w-full rounded-lg border p-4\",\n {\n variants: {\n variant: {\n default: \"bg-background text-foreground\",\n destructive:\n \"border-destructive/50 text-destructive dark:border-destructive\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nexport interface AlertProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof alertVariants> {}\n\nconst Alert = React.forwardRef<\n HTMLDivElement,\n AlertProps\n>(({ className, variant, ...props }, ref) => (\n <div\n ref={ref}\n role=\"alert\"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n />\n))\nAlert.displayName = \"Alert\"\n\nconst AlertTitle = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLHeadingElement>\n>(({ className, ...props }, ref) => (\n <h5\n ref={ref}\n className={cn(\"mb-1 font-medium leading-none tracking-tight\", className)}\n {...props}\n />\n))\nAlertTitle.displayName = \"AlertTitle\"\n\nconst AlertDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"text-sm [&_p]:leading-relaxed\", className)}\n {...props}\n />\n))\nAlertDescription.displayName = \"AlertDescription\"\n\nexport { Alert, AlertTitle, AlertDescription }"],"names":["alertVariants","cva","Alert","React","className","variant","props","ref","jsx","cn","AlertTitle","AlertDescription"],"mappings":";;;;AAIA,MAAMA,IAAgBC;AAAA,EACpB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SAAS;AAAA,QACT,aACE;AAAA,MAAA;AAAA,IACJ;AAAA,IAEF,iBAAiB;AAAA,MACf,SAAS;AAAA,IAAA;AAAA,EACX;AAEJ,GAMMC,IAAQC,EAAM,WAGlB,CAAC,EAAE,WAAAC,GAAW,SAAAC,GAAS,GAAGC,KAASC,MACnCC,gBAAAA,EAAAA;AAAAA,EAAC;AAAA,EAAA;AAAA,IACC,KAAAD;AAAA,IACA,MAAK;AAAA,IACL,WAAWE,EAAGT,EAAc,EAAE,SAAAK,EAAA,CAAS,GAAGD,CAAS;AAAA,IAClD,GAAGE;AAAA,EAAA;AACN,CACD;AACDJ,EAAM,cAAc;AAEpB,MAAMQ,IAAaP,EAAM,WAGvB,CAAC,EAAE,WAAAC,GAAW,GAAGE,EAAA,GAASC,MAC1BC,gBAAAA,EAAAA;AAAAA,EAAC;AAAA,EAAA;AAAA,IACC,KAAAD;AAAA,IACA,WAAWE,EAAG,gDAAgDL,CAAS;AAAA,IACtE,GAAGE;AAAA,EAAA;AACN,CACD;AACDI,EAAW,cAAc;AAEzB,MAAMC,IAAmBR,EAAM,WAG7B,CAAC,EAAE,WAAAC,GAAW,GAAGE,EAAA,GAASC,MAC1BC,gBAAAA,EAAAA;AAAAA,EAAC;AAAA,EAAA;AAAA,IACC,KAAAD;AAAA,IACA,WAAWE,EAAG,iCAAiCL,CAAS;AAAA,IACvD,GAAGE;AAAA,EAAA;AACN,CACD;AACDK,EAAiB,cAAc;"}
1
+ {"version":3,"file":"alert.esm.js","sources":["../../src/components/alert.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { cva, VariantProps } from \"class-variance-authority\"\nimport { cn } from \"@/lib/utils\"\nimport { ConfirmationModal } from \"./confirmation-modal\"\n\nconst alertVariants = cva(\n \"relative w-full rounded-lg border p-4\",\n {\n variants: {\n variant: {\n default: \"bg-background text-foreground\",\n destructive:\n \"border-destructive/50 text-destructive dark:border-destructive\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nexport interface AlertProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof alertVariants> {\n // For confirmation dialog functionality\n isOpen?: boolean\n onClose?: () => void\n onConfirm?: () => void\n title?: string\n description?: string\n confirmText?: string\n cancelText?: string\n}\n\nconst Alert = React.forwardRef<\n HTMLDivElement,\n AlertProps\n>(({ className, variant, isOpen, onClose, onConfirm, title, description, confirmText, cancelText, ...props }, ref) => {\n // If used as a confirmation dialog\n if (isOpen !== undefined && onClose && onConfirm && title && description) {\n return (\n <ConfirmationModal\n isOpen={isOpen}\n onClose={onClose}\n onConfirm={onConfirm}\n title={title}\n description={description}\n confirmText={confirmText}\n cancelText={cancelText}\n type={variant === \"destructive\" ? \"danger\" : \"warning\"}\n />\n )\n }\n\n // Default static alert behavior\n return (\n <div\n ref={ref}\n role=\"alert\"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n />\n )\n})\nAlert.displayName = \"Alert\"\n\nconst AlertTitle = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLHeadingElement>\n>(({ className, ...props }, ref) => (\n <h5\n ref={ref}\n className={cn(\"mb-1 font-medium leading-none tracking-tight\", className)}\n {...props}\n />\n))\nAlertTitle.displayName = \"AlertTitle\"\n\nconst AlertDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"text-sm [&_p]:leading-relaxed\", className)}\n {...props}\n />\n))\nAlertDescription.displayName = \"AlertDescription\"\n\nexport { Alert, AlertTitle, AlertDescription }"],"names":["alertVariants","cva","Alert","React","className","variant","isOpen","onClose","onConfirm","title","description","confirmText","cancelText","props","ref","jsx","ConfirmationModal","cn","AlertTitle","AlertDescription"],"mappings":";;;;;AAKA,MAAMA,IAAgBC;AAAA,EACpB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SAAS;AAAA,QACT,aACE;AAAA,MAAA;AAAA,IACJ;AAAA,IAEF,iBAAiB;AAAA,MACf,SAAS;AAAA,IAAA;AAAA,EACX;AAEJ,GAeMC,IAAQC,EAAM,WAGlB,CAAC,EAAE,WAAAC,GAAW,SAAAC,GAAS,QAAAC,GAAQ,SAAAC,GAAS,WAAAC,GAAW,OAAAC,GAAO,aAAAC,GAAa,aAAAC,GAAa,YAAAC,GAAY,GAAGC,EAAA,GAASC,MAExGR,MAAW,UAAaC,KAAWC,KAAaC,KAASC,IAEzDK,gBAAAA,EAAAA;AAAAA,EAACC;AAAA,EAAA;AAAA,IACC,QAAAV;AAAA,IACA,SAAAC;AAAA,IACA,WAAAC;AAAA,IACA,OAAAC;AAAA,IACA,aAAAC;AAAA,IACA,aAAAC;AAAA,IACA,YAAAC;AAAA,IACA,MAAMP,MAAY,gBAAgB,WAAW;AAAA,EAAA;AAAA,IAOjDU,gBAAAA,EAAAA;AAAAA,EAAC;AAAA,EAAA;AAAA,IACC,KAAAD;AAAA,IACA,MAAK;AAAA,IACL,WAAWG,EAAGjB,EAAc,EAAE,SAAAK,EAAA,CAAS,GAAGD,CAAS;AAAA,IAClD,GAAGS;AAAA,EAAA;AAAA,CAGT;AACDX,EAAM,cAAc;AAEpB,MAAMgB,IAAaf,EAAM,WAGvB,CAAC,EAAE,WAAAC,GAAW,GAAGS,EAAA,GAASC,MAC1BC,gBAAAA,EAAAA;AAAAA,EAAC;AAAA,EAAA;AAAA,IACC,KAAAD;AAAA,IACA,WAAWG,EAAG,gDAAgDb,CAAS;AAAA,IACtE,GAAGS;AAAA,EAAA;AACN,CACD;AACDK,EAAW,cAAc;AAEzB,MAAMC,IAAmBhB,EAAM,WAG7B,CAAC,EAAE,WAAAC,GAAW,GAAGS,EAAA,GAASC,MAC1BC,gBAAAA,EAAAA;AAAAA,EAAC;AAAA,EAAA;AAAA,IACC,KAAAD;AAAA,IACA,WAAWG,EAAG,iCAAiCb,CAAS;AAAA,IACvD,GAAGS;AAAA,EAAA;AACN,CACD;AACDM,EAAiB,cAAc;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("../jsx-runtime-BYECrxsp.cjs"),d=require("react"),u=require("../index-Deooizx8.cjs"),n=require("../utils-DSKoFOjv.cjs");function f(e){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const a=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,a.get?a:{enumerable:!0,get:()=>e[t]})}}return r.default=e,Object.freeze(r)}const s=f(d),m=u.cva("relative w-full rounded-lg border p-4",{variants:{variant:{default:"bg-background text-foreground",destructive:"border-destructive/50 text-destructive dark:border-destructive"}},defaultVariants:{variant:"default"}}),l=s.forwardRef(({className:e,variant:r,...t},a)=>i.jsxRuntimeExports.jsx("div",{ref:a,role:"alert",className:n.cn(m({variant:r}),e),...t}));l.displayName="Alert";const o=s.forwardRef(({className:e,...r},t)=>i.jsxRuntimeExports.jsx("h5",{ref:t,className:n.cn("mb-1 font-medium leading-none tracking-tight",e),...r}));o.displayName="AlertTitle";const c=s.forwardRef(({className:e,...r},t)=>i.jsxRuntimeExports.jsx("div",{ref:t,className:n.cn("text-sm [&_p]:leading-relaxed",e),...r}));c.displayName="AlertDescription";exports.Alert=l;exports.AlertDescription=c;exports.AlertTitle=o;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../jsx-runtime-BYECrxsp.cjs"),b=require("react"),j=require("../index-Deooizx8.cjs"),i=require("../utils-DSKoFOjv.cjs"),v=require("./confirmation-modal.js");function R(e){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:()=>e[t]})}}return r.default=e,Object.freeze(r)}const s=R(b),y=j.cva("relative w-full rounded-lg border p-4",{variants:{variant:{default:"bg-background text-foreground",destructive:"border-destructive/50 text-destructive dark:border-destructive"}},defaultVariants:{variant:"default"}}),d=s.forwardRef(({className:e,variant:r,isOpen:t,onClose:n,onConfirm:o,title:l,description:c,confirmText:m,cancelText:p,...x},g)=>t!==void 0&&n&&o&&l&&c?a.jsxRuntimeExports.jsx(v.ConfirmationModal,{isOpen:t,onClose:n,onConfirm:o,title:l,description:c,confirmText:m,cancelText:p,type:r==="destructive"?"danger":"warning"}):a.jsxRuntimeExports.jsx("div",{ref:g,role:"alert",className:i.cn(y({variant:r}),e),...x}));d.displayName="Alert";const u=s.forwardRef(({className:e,...r},t)=>a.jsxRuntimeExports.jsx("h5",{ref:t,className:i.cn("mb-1 font-medium leading-none tracking-tight",e),...r}));u.displayName="AlertTitle";const f=s.forwardRef(({className:e,...r},t)=>a.jsxRuntimeExports.jsx("div",{ref:t,className:i.cn("text-sm [&_p]:leading-relaxed",e),...r}));f.displayName="AlertDescription";exports.Alert=d;exports.AlertDescription=f;exports.AlertTitle=u;
2
2
  //# sourceMappingURL=alert.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"alert.js","sources":["../../src/components/alert.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { cva, VariantProps } from \"class-variance-authority\"\nimport { cn } from \"@/lib/utils\"\n\nconst alertVariants = cva(\n \"relative w-full rounded-lg border p-4\",\n {\n variants: {\n variant: {\n default: \"bg-background text-foreground\",\n destructive:\n \"border-destructive/50 text-destructive dark:border-destructive\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nexport interface AlertProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof alertVariants> {}\n\nconst Alert = React.forwardRef<\n HTMLDivElement,\n AlertProps\n>(({ className, variant, ...props }, ref) => (\n <div\n ref={ref}\n role=\"alert\"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n />\n))\nAlert.displayName = \"Alert\"\n\nconst AlertTitle = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLHeadingElement>\n>(({ className, ...props }, ref) => (\n <h5\n ref={ref}\n className={cn(\"mb-1 font-medium leading-none tracking-tight\", className)}\n {...props}\n />\n))\nAlertTitle.displayName = \"AlertTitle\"\n\nconst AlertDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"text-sm [&_p]:leading-relaxed\", className)}\n {...props}\n />\n))\nAlertDescription.displayName = \"AlertDescription\"\n\nexport { Alert, AlertTitle, AlertDescription }"],"names":["alertVariants","cva","Alert","React","className","variant","props","ref","jsx","cn","AlertTitle","AlertDescription"],"mappings":"kfAIMA,EAAgBC,EAAAA,IACpB,wCACA,CACE,SAAU,CACR,QAAS,CACP,QAAS,gCACT,YACE,gEAAA,CACJ,EAEF,gBAAiB,CACf,QAAS,SAAA,CACX,CAEJ,EAMMC,EAAQC,EAAM,WAGlB,CAAC,CAAE,UAAAC,EAAW,QAAAC,EAAS,GAAGC,GAASC,IACnCC,EAAAA,kBAAAA,IAAC,MAAA,CACC,IAAAD,EACA,KAAK,QACL,UAAWE,EAAAA,GAAGT,EAAc,CAAE,QAAAK,CAAA,CAAS,EAAGD,CAAS,EAClD,GAAGE,CAAA,CACN,CACD,EACDJ,EAAM,YAAc,QAEpB,MAAMQ,EAAaP,EAAM,WAGvB,CAAC,CAAE,UAAAC,EAAW,GAAGE,CAAA,EAASC,IAC1BC,EAAAA,kBAAAA,IAAC,KAAA,CACC,IAAAD,EACA,UAAWE,EAAAA,GAAG,+CAAgDL,CAAS,EACtE,GAAGE,CAAA,CACN,CACD,EACDI,EAAW,YAAc,aAEzB,MAAMC,EAAmBR,EAAM,WAG7B,CAAC,CAAE,UAAAC,EAAW,GAAGE,CAAA,EAASC,IAC1BC,EAAAA,kBAAAA,IAAC,MAAA,CACC,IAAAD,EACA,UAAWE,EAAAA,GAAG,gCAAiCL,CAAS,EACvD,GAAGE,CAAA,CACN,CACD,EACDK,EAAiB,YAAc"}
1
+ {"version":3,"file":"alert.js","sources":["../../src/components/alert.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { cva, VariantProps } from \"class-variance-authority\"\nimport { cn } from \"@/lib/utils\"\nimport { ConfirmationModal } from \"./confirmation-modal\"\n\nconst alertVariants = cva(\n \"relative w-full rounded-lg border p-4\",\n {\n variants: {\n variant: {\n default: \"bg-background text-foreground\",\n destructive:\n \"border-destructive/50 text-destructive dark:border-destructive\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nexport interface AlertProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof alertVariants> {\n // For confirmation dialog functionality\n isOpen?: boolean\n onClose?: () => void\n onConfirm?: () => void\n title?: string\n description?: string\n confirmText?: string\n cancelText?: string\n}\n\nconst Alert = React.forwardRef<\n HTMLDivElement,\n AlertProps\n>(({ className, variant, isOpen, onClose, onConfirm, title, description, confirmText, cancelText, ...props }, ref) => {\n // If used as a confirmation dialog\n if (isOpen !== undefined && onClose && onConfirm && title && description) {\n return (\n <ConfirmationModal\n isOpen={isOpen}\n onClose={onClose}\n onConfirm={onConfirm}\n title={title}\n description={description}\n confirmText={confirmText}\n cancelText={cancelText}\n type={variant === \"destructive\" ? \"danger\" : \"warning\"}\n />\n )\n }\n\n // Default static alert behavior\n return (\n <div\n ref={ref}\n role=\"alert\"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n />\n )\n})\nAlert.displayName = \"Alert\"\n\nconst AlertTitle = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLHeadingElement>\n>(({ className, ...props }, ref) => (\n <h5\n ref={ref}\n className={cn(\"mb-1 font-medium leading-none tracking-tight\", className)}\n {...props}\n />\n))\nAlertTitle.displayName = \"AlertTitle\"\n\nconst AlertDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"text-sm [&_p]:leading-relaxed\", className)}\n {...props}\n />\n))\nAlertDescription.displayName = \"AlertDescription\"\n\nexport { Alert, AlertTitle, AlertDescription }"],"names":["alertVariants","cva","Alert","React","className","variant","isOpen","onClose","onConfirm","title","description","confirmText","cancelText","props","ref","jsx","ConfirmationModal","cn","AlertTitle","AlertDescription"],"mappings":"uhBAKMA,EAAgBC,EAAAA,IACpB,wCACA,CACE,SAAU,CACR,QAAS,CACP,QAAS,gCACT,YACE,gEAAA,CACJ,EAEF,gBAAiB,CACf,QAAS,SAAA,CACX,CAEJ,EAeMC,EAAQC,EAAM,WAGlB,CAAC,CAAE,UAAAC,EAAW,QAAAC,EAAS,OAAAC,EAAQ,QAAAC,EAAS,UAAAC,EAAW,MAAAC,EAAO,YAAAC,EAAa,YAAAC,EAAa,WAAAC,EAAY,GAAGC,CAAA,EAASC,IAExGR,IAAW,QAAaC,GAAWC,GAAaC,GAASC,EAEzDK,EAAAA,kBAAAA,IAACC,EAAAA,kBAAA,CACC,OAAAV,EACA,QAAAC,EACA,UAAAC,EACA,MAAAC,EACA,YAAAC,EACA,YAAAC,EACA,WAAAC,EACA,KAAMP,IAAY,cAAgB,SAAW,SAAA,CAAA,EAOjDU,EAAAA,kBAAAA,IAAC,MAAA,CACC,IAAAD,EACA,KAAK,QACL,UAAWG,EAAAA,GAAGjB,EAAc,CAAE,QAAAK,CAAA,CAAS,EAAGD,CAAS,EAClD,GAAGS,CAAA,CAAA,CAGT,EACDX,EAAM,YAAc,QAEpB,MAAMgB,EAAaf,EAAM,WAGvB,CAAC,CAAE,UAAAC,EAAW,GAAGS,CAAA,EAASC,IAC1BC,EAAAA,kBAAAA,IAAC,KAAA,CACC,IAAAD,EACA,UAAWG,EAAAA,GAAG,+CAAgDb,CAAS,EACtE,GAAGS,CAAA,CACN,CACD,EACDK,EAAW,YAAc,aAEzB,MAAMC,EAAmBhB,EAAM,WAG7B,CAAC,CAAE,UAAAC,EAAW,GAAGS,CAAA,EAASC,IAC1BC,EAAAA,kBAAAA,IAAC,MAAA,CACC,IAAAD,EACA,UAAWG,EAAAA,GAAG,gCAAiCb,CAAS,EACvD,GAAGS,CAAA,CACN,CACD,EACDM,EAAiB,YAAc"}
@@ -1,7 +1,7 @@
1
1
  import { VariantProps } from 'class-variance-authority';
2
2
  import * as React from "react";
3
3
  declare const badgeVariants: (props?: ({
4
- variant?: "default" | "destructive" | "secondary" | "outline" | null | undefined;
4
+ variant?: "default" | "outline" | "secondary" | "destructive" | null | undefined;
5
5
  } & import('class-variance-authority/dist/types').ClassProp) | undefined) => string;
6
6
  export interface BadgeProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {
7
7
  }
@@ -1,19 +1,19 @@
1
- import { j as s } from "../jsx-runtime-DGlMoOmv.js";
2
- import * as d from "react";
1
+ import { j as d } from "../jsx-runtime-DGlMoOmv.js";
2
+ import * as s from "react";
3
3
  import { c as t } from "../utils-qaFjX9_3.js";
4
- const o = d.forwardRef(({ className: a, ...e }, r) => /* @__PURE__ */ s.jsx(
4
+ const o = s.forwardRef(({ className: a, ...e }, r) => /* @__PURE__ */ d.jsx(
5
5
  "div",
6
6
  {
7
7
  ref: r,
8
8
  className: t(
9
- "rounded-lg border bg-card text-card-foreground shadow-sm",
9
+ "rounded-lg border-border/50 bg-card text-card-foreground ",
10
10
  a
11
11
  ),
12
12
  ...e
13
13
  }
14
14
  ));
15
15
  o.displayName = "Card";
16
- const i = d.forwardRef(({ className: a, ...e }, r) => /* @__PURE__ */ s.jsx(
16
+ const i = s.forwardRef(({ className: a, ...e }, r) => /* @__PURE__ */ d.jsx(
17
17
  "div",
18
18
  {
19
19
  ref: r,
@@ -22,7 +22,7 @@ const i = d.forwardRef(({ className: a, ...e }, r) => /* @__PURE__ */ s.jsx(
22
22
  }
23
23
  ));
24
24
  i.displayName = "CardHeader";
25
- const m = d.forwardRef(({ className: a, ...e }, r) => /* @__PURE__ */ s.jsx(
25
+ const c = s.forwardRef(({ className: a, ...e }, r) => /* @__PURE__ */ d.jsx(
26
26
  "h3",
27
27
  {
28
28
  ref: r,
@@ -30,8 +30,8 @@ const m = d.forwardRef(({ className: a, ...e }, r) => /* @__PURE__ */ s.jsx(
30
30
  ...e
31
31
  }
32
32
  ));
33
- m.displayName = "CardTitle";
34
- const c = d.forwardRef(({ className: a, ...e }, r) => /* @__PURE__ */ s.jsx(
33
+ c.displayName = "CardTitle";
34
+ const m = s.forwardRef(({ className: a, ...e }, r) => /* @__PURE__ */ d.jsx(
35
35
  "p",
36
36
  {
37
37
  ref: r,
@@ -39,10 +39,10 @@ const c = d.forwardRef(({ className: a, ...e }, r) => /* @__PURE__ */ s.jsx(
39
39
  ...e
40
40
  }
41
41
  ));
42
- c.displayName = "CardDescription";
43
- const n = d.forwardRef(({ className: a, ...e }, r) => /* @__PURE__ */ s.jsx("div", { ref: r, className: t("p-6 pt-0", a), ...e }));
42
+ m.displayName = "CardDescription";
43
+ const n = s.forwardRef(({ className: a, ...e }, r) => /* @__PURE__ */ d.jsx("div", { ref: r, className: t("p-6 pt-0", a), ...e }));
44
44
  n.displayName = "CardContent";
45
- const l = d.forwardRef(({ className: a, ...e }, r) => /* @__PURE__ */ s.jsx(
45
+ const l = s.forwardRef(({ className: a, ...e }, r) => /* @__PURE__ */ d.jsx(
46
46
  "div",
47
47
  {
48
48
  ref: r,
@@ -54,9 +54,9 @@ l.displayName = "CardFooter";
54
54
  export {
55
55
  o as Card,
56
56
  n as CardContent,
57
- c as CardDescription,
57
+ m as CardDescription,
58
58
  l as CardFooter,
59
59
  i as CardHeader,
60
- m as CardTitle
60
+ c as CardTitle
61
61
  };
62
62
  //# sourceMappingURL=card.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"card.esm.js","sources":["../../src/components/card.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { cn } from \"@/lib/utils\"\n\nconst Card = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n \"rounded-lg border bg-card text-card-foreground shadow-sm\",\n className\n )}\n {...props}\n />\n))\nCard.displayName = \"Card\"\n\nconst CardHeader = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"flex flex-col space-y-1.5 p-6\", className)}\n {...props}\n />\n))\nCardHeader.displayName = \"CardHeader\"\n\nconst CardTitle = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLHeadingElement>\n>(({ className, ...props }, ref) => (\n <h3\n ref={ref}\n className={cn(\"text-lg font-semibold leading-none tracking-tight\", className)}\n {...props}\n />\n))\nCardTitle.displayName = \"CardTitle\"\n\nconst CardDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => (\n <p\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n))\nCardDescription.displayName = \"CardDescription\"\n\nconst CardContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn(\"p-6 pt-0\", className)} {...props} />\n))\nCardContent.displayName = \"CardContent\"\n\nconst CardFooter = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"flex items-center p-6 pt-0\", className)}\n {...props}\n />\n))\nCardFooter.displayName = \"CardFooter\"\n\nexport { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent } "],"names":["Card","React","className","props","ref","jsx","cn","CardHeader","CardTitle","CardDescription","CardContent","CardFooter"],"mappings":";;;AAGA,MAAMA,IAAOC,EAAM,WAGjB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAC1BC,gBAAAA,EAAAA;AAAAA,EAAC;AAAA,EAAA;AAAA,IACC,KAAAD;AAAA,IACA,WAAWE;AAAA,MACT;AAAA,MACAJ;AAAA,IAAA;AAAA,IAED,GAAGC;AAAA,EAAA;AACN,CACD;AACDH,EAAK,cAAc;AAEnB,MAAMO,IAAaN,EAAM,WAGvB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAC1BC,gBAAAA,EAAAA;AAAAA,EAAC;AAAA,EAAA;AAAA,IACC,KAAAD;AAAA,IACA,WAAWE,EAAG,iCAAiCJ,CAAS;AAAA,IACvD,GAAGC;AAAA,EAAA;AACN,CACD;AACDI,EAAW,cAAc;AAEzB,MAAMC,IAAYP,EAAM,WAGtB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAC1BC,gBAAAA,EAAAA;AAAAA,EAAC;AAAA,EAAA;AAAA,IACC,KAAAD;AAAA,IACA,WAAWE,EAAG,qDAAqDJ,CAAS;AAAA,IAC3E,GAAGC;AAAA,EAAA;AACN,CACD;AACDK,EAAU,cAAc;AAExB,MAAMC,IAAkBR,EAAM,WAG5B,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAC1BC,gBAAAA,EAAAA;AAAAA,EAAC;AAAA,EAAA;AAAA,IACC,KAAAD;AAAA,IACA,WAAWE,EAAG,iCAAiCJ,CAAS;AAAA,IACvD,GAAGC;AAAA,EAAA;AACN,CACD;AACDM,EAAgB,cAAc;AAE9B,MAAMC,IAAcT,EAAM,WAGxB,CAAC,EAAE,WAAAC,GAAW,GAAGC,KAASC,4BACzB,OAAA,EAAI,KAAAA,GAAU,WAAWE,EAAG,YAAYJ,CAAS,GAAI,GAAGC,GAAO,CACjE;AACDO,EAAY,cAAc;AAE1B,MAAMC,IAAaV,EAAM,WAGvB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAC1BC,gBAAAA,EAAAA;AAAAA,EAAC;AAAA,EAAA;AAAA,IACC,KAAAD;AAAA,IACA,WAAWE,EAAG,8BAA8BJ,CAAS;AAAA,IACpD,GAAGC;AAAA,EAAA;AACN,CACD;AACDQ,EAAW,cAAc;"}
1
+ {"version":3,"file":"card.esm.js","sources":["../../src/components/card.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { cn } from \"@/lib/utils\"\n\nconst Card = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n \"rounded-lg border-border/50 bg-card text-card-foreground \",\n className\n )}\n {...props}\n />\n))\nCard.displayName = \"Card\"\n\nconst CardHeader = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"flex flex-col space-y-1.5 p-6\", className)}\n {...props}\n />\n))\nCardHeader.displayName = \"CardHeader\"\n\nconst CardTitle = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLHeadingElement>\n>(({ className, ...props }, ref) => (\n <h3\n ref={ref}\n className={cn(\"text-lg font-semibold leading-none tracking-tight\", className)}\n {...props}\n />\n))\nCardTitle.displayName = \"CardTitle\"\n\nconst CardDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => (\n <p\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n))\nCardDescription.displayName = \"CardDescription\"\n\nconst CardContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn(\"p-6 pt-0\", className)} {...props} />\n))\nCardContent.displayName = \"CardContent\"\n\nconst CardFooter = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"flex items-center p-6 pt-0\", className)}\n {...props}\n />\n))\nCardFooter.displayName = \"CardFooter\"\n\nexport { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent } "],"names":["Card","React","className","props","ref","jsx","cn","CardHeader","CardTitle","CardDescription","CardContent","CardFooter"],"mappings":";;;AAGA,MAAMA,IAAOC,EAAM,WAGjB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAC1BC,gBAAAA,EAAAA;AAAAA,EAAC;AAAA,EAAA;AAAA,IACC,KAAAD;AAAA,IACA,WAAWE;AAAA,MACT;AAAA,MACAJ;AAAA,IAAA;AAAA,IAED,GAAGC;AAAA,EAAA;AACN,CACD;AACDH,EAAK,cAAc;AAEnB,MAAMO,IAAaN,EAAM,WAGvB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAC1BC,gBAAAA,EAAAA;AAAAA,EAAC;AAAA,EAAA;AAAA,IACC,KAAAD;AAAA,IACA,WAAWE,EAAG,iCAAiCJ,CAAS;AAAA,IACvD,GAAGC;AAAA,EAAA;AACN,CACD;AACDI,EAAW,cAAc;AAEzB,MAAMC,IAAYP,EAAM,WAGtB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAC1BC,gBAAAA,EAAAA;AAAAA,EAAC;AAAA,EAAA;AAAA,IACC,KAAAD;AAAA,IACA,WAAWE,EAAG,qDAAqDJ,CAAS;AAAA,IAC3E,GAAGC;AAAA,EAAA;AACN,CACD;AACDK,EAAU,cAAc;AAExB,MAAMC,IAAkBR,EAAM,WAG5B,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAC1BC,gBAAAA,EAAAA;AAAAA,EAAC;AAAA,EAAA;AAAA,IACC,KAAAD;AAAA,IACA,WAAWE,EAAG,iCAAiCJ,CAAS;AAAA,IACvD,GAAGC;AAAA,EAAA;AACN,CACD;AACDM,EAAgB,cAAc;AAE9B,MAAMC,IAAcT,EAAM,WAGxB,CAAC,EAAE,WAAAC,GAAW,GAAGC,KAASC,4BACzB,OAAA,EAAI,KAAAA,GAAU,WAAWE,EAAG,YAAYJ,CAAS,GAAI,GAAGC,GAAO,CACjE;AACDO,EAAY,cAAc;AAE1B,MAAMC,IAAaV,EAAM,WAGvB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAC1BC,gBAAAA,EAAAA;AAAAA,EAAC;AAAA,EAAA;AAAA,IACC,KAAAD;AAAA,IACA,WAAWE,EAAG,8BAA8BJ,CAAS;AAAA,IACpD,GAAGC;AAAA,EAAA;AACN,CACD;AACDQ,EAAW,cAAc;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../jsx-runtime-BYECrxsp.cjs"),f=require("react"),s=require("../utils-DSKoFOjv.cjs");function u(e){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:()=>e[t]})}}return r.default=e,Object.freeze(r)}const o=u(f),d=o.forwardRef(({className:e,...r},t)=>a.jsxRuntimeExports.jsx("div",{ref:t,className:s.cn("rounded-lg border bg-card text-card-foreground shadow-sm",e),...r}));d.displayName="Card";const c=o.forwardRef(({className:e,...r},t)=>a.jsxRuntimeExports.jsx("div",{ref:t,className:s.cn("flex flex-col space-y-1.5 p-6",e),...r}));c.displayName="CardHeader";const i=o.forwardRef(({className:e,...r},t)=>a.jsxRuntimeExports.jsx("h3",{ref:t,className:s.cn("text-lg font-semibold leading-none tracking-tight",e),...r}));i.displayName="CardTitle";const l=o.forwardRef(({className:e,...r},t)=>a.jsxRuntimeExports.jsx("p",{ref:t,className:s.cn("text-sm text-muted-foreground",e),...r}));l.displayName="CardDescription";const m=o.forwardRef(({className:e,...r},t)=>a.jsxRuntimeExports.jsx("div",{ref:t,className:s.cn("p-6 pt-0",e),...r}));m.displayName="CardContent";const p=o.forwardRef(({className:e,...r},t)=>a.jsxRuntimeExports.jsx("div",{ref:t,className:s.cn("flex items-center p-6 pt-0",e),...r}));p.displayName="CardFooter";exports.Card=d;exports.CardContent=m;exports.CardDescription=l;exports.CardFooter=p;exports.CardHeader=c;exports.CardTitle=i;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../jsx-runtime-BYECrxsp.cjs"),m=require("react"),s=require("../utils-DSKoFOjv.cjs");function u(e){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:()=>e[t]})}}return r.default=e,Object.freeze(r)}const o=u(m),d=o.forwardRef(({className:e,...r},t)=>a.jsxRuntimeExports.jsx("div",{ref:t,className:s.cn("rounded-lg border-border/50 bg-card text-card-foreground ",e),...r}));d.displayName="Card";const c=o.forwardRef(({className:e,...r},t)=>a.jsxRuntimeExports.jsx("div",{ref:t,className:s.cn("flex flex-col space-y-1.5 p-6",e),...r}));c.displayName="CardHeader";const i=o.forwardRef(({className:e,...r},t)=>a.jsxRuntimeExports.jsx("h3",{ref:t,className:s.cn("text-lg font-semibold leading-none tracking-tight",e),...r}));i.displayName="CardTitle";const l=o.forwardRef(({className:e,...r},t)=>a.jsxRuntimeExports.jsx("p",{ref:t,className:s.cn("text-sm text-muted-foreground",e),...r}));l.displayName="CardDescription";const p=o.forwardRef(({className:e,...r},t)=>a.jsxRuntimeExports.jsx("div",{ref:t,className:s.cn("p-6 pt-0",e),...r}));p.displayName="CardContent";const f=o.forwardRef(({className:e,...r},t)=>a.jsxRuntimeExports.jsx("div",{ref:t,className:s.cn("flex items-center p-6 pt-0",e),...r}));f.displayName="CardFooter";exports.Card=d;exports.CardContent=p;exports.CardDescription=l;exports.CardFooter=f;exports.CardHeader=c;exports.CardTitle=i;
2
2
  //# sourceMappingURL=card.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"card.js","sources":["../../src/components/card.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { cn } from \"@/lib/utils\"\n\nconst Card = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n \"rounded-lg border bg-card text-card-foreground shadow-sm\",\n className\n )}\n {...props}\n />\n))\nCard.displayName = \"Card\"\n\nconst CardHeader = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"flex flex-col space-y-1.5 p-6\", className)}\n {...props}\n />\n))\nCardHeader.displayName = \"CardHeader\"\n\nconst CardTitle = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLHeadingElement>\n>(({ className, ...props }, ref) => (\n <h3\n ref={ref}\n className={cn(\"text-lg font-semibold leading-none tracking-tight\", className)}\n {...props}\n />\n))\nCardTitle.displayName = \"CardTitle\"\n\nconst CardDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => (\n <p\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n))\nCardDescription.displayName = \"CardDescription\"\n\nconst CardContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn(\"p-6 pt-0\", className)} {...props} />\n))\nCardContent.displayName = \"CardContent\"\n\nconst CardFooter = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"flex items-center p-6 pt-0\", className)}\n {...props}\n />\n))\nCardFooter.displayName = \"CardFooter\"\n\nexport { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent } "],"names":["Card","React","className","props","ref","jsx","cn","CardHeader","CardTitle","CardDescription","CardContent","CardFooter"],"mappings":"+cAGMA,EAAOC,EAAM,WAGjB,CAAC,CAAE,UAAAC,EAAW,GAAGC,CAAA,EAASC,IAC1BC,EAAAA,kBAAAA,IAAC,MAAA,CACC,IAAAD,EACA,UAAWE,EAAAA,GACT,2DACAJ,CAAA,EAED,GAAGC,CAAA,CACN,CACD,EACDH,EAAK,YAAc,OAEnB,MAAMO,EAAaN,EAAM,WAGvB,CAAC,CAAE,UAAAC,EAAW,GAAGC,CAAA,EAASC,IAC1BC,EAAAA,kBAAAA,IAAC,MAAA,CACC,IAAAD,EACA,UAAWE,EAAAA,GAAG,gCAAiCJ,CAAS,EACvD,GAAGC,CAAA,CACN,CACD,EACDI,EAAW,YAAc,aAEzB,MAAMC,EAAYP,EAAM,WAGtB,CAAC,CAAE,UAAAC,EAAW,GAAGC,CAAA,EAASC,IAC1BC,EAAAA,kBAAAA,IAAC,KAAA,CACC,IAAAD,EACA,UAAWE,EAAAA,GAAG,oDAAqDJ,CAAS,EAC3E,GAAGC,CAAA,CACN,CACD,EACDK,EAAU,YAAc,YAExB,MAAMC,EAAkBR,EAAM,WAG5B,CAAC,CAAE,UAAAC,EAAW,GAAGC,CAAA,EAASC,IAC1BC,EAAAA,kBAAAA,IAAC,IAAA,CACC,IAAAD,EACA,UAAWE,EAAAA,GAAG,gCAAiCJ,CAAS,EACvD,GAAGC,CAAA,CACN,CACD,EACDM,EAAgB,YAAc,kBAE9B,MAAMC,EAAcT,EAAM,WAGxB,CAAC,CAAE,UAAAC,EAAW,GAAGC,GAASC,4BACzB,MAAA,CAAI,IAAAA,EAAU,UAAWE,EAAAA,GAAG,WAAYJ,CAAS,EAAI,GAAGC,EAAO,CACjE,EACDO,EAAY,YAAc,cAE1B,MAAMC,EAAaV,EAAM,WAGvB,CAAC,CAAE,UAAAC,EAAW,GAAGC,CAAA,EAASC,IAC1BC,EAAAA,kBAAAA,IAAC,MAAA,CACC,IAAAD,EACA,UAAWE,EAAAA,GAAG,6BAA8BJ,CAAS,EACpD,GAAGC,CAAA,CACN,CACD,EACDQ,EAAW,YAAc"}
1
+ {"version":3,"file":"card.js","sources":["../../src/components/card.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { cn } from \"@/lib/utils\"\n\nconst Card = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n \"rounded-lg border-border/50 bg-card text-card-foreground \",\n className\n )}\n {...props}\n />\n))\nCard.displayName = \"Card\"\n\nconst CardHeader = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"flex flex-col space-y-1.5 p-6\", className)}\n {...props}\n />\n))\nCardHeader.displayName = \"CardHeader\"\n\nconst CardTitle = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLHeadingElement>\n>(({ className, ...props }, ref) => (\n <h3\n ref={ref}\n className={cn(\"text-lg font-semibold leading-none tracking-tight\", className)}\n {...props}\n />\n))\nCardTitle.displayName = \"CardTitle\"\n\nconst CardDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => (\n <p\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n))\nCardDescription.displayName = \"CardDescription\"\n\nconst CardContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn(\"p-6 pt-0\", className)} {...props} />\n))\nCardContent.displayName = \"CardContent\"\n\nconst CardFooter = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"flex items-center p-6 pt-0\", className)}\n {...props}\n />\n))\nCardFooter.displayName = \"CardFooter\"\n\nexport { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent } "],"names":["Card","React","className","props","ref","jsx","cn","CardHeader","CardTitle","CardDescription","CardContent","CardFooter"],"mappings":"+cAGMA,EAAOC,EAAM,WAGjB,CAAC,CAAE,UAAAC,EAAW,GAAGC,CAAA,EAASC,IAC1BC,EAAAA,kBAAAA,IAAC,MAAA,CACC,IAAAD,EACA,UAAWE,EAAAA,GACT,4DACAJ,CAAA,EAED,GAAGC,CAAA,CACN,CACD,EACDH,EAAK,YAAc,OAEnB,MAAMO,EAAaN,EAAM,WAGvB,CAAC,CAAE,UAAAC,EAAW,GAAGC,CAAA,EAASC,IAC1BC,EAAAA,kBAAAA,IAAC,MAAA,CACC,IAAAD,EACA,UAAWE,EAAAA,GAAG,gCAAiCJ,CAAS,EACvD,GAAGC,CAAA,CACN,CACD,EACDI,EAAW,YAAc,aAEzB,MAAMC,EAAYP,EAAM,WAGtB,CAAC,CAAE,UAAAC,EAAW,GAAGC,CAAA,EAASC,IAC1BC,EAAAA,kBAAAA,IAAC,KAAA,CACC,IAAAD,EACA,UAAWE,EAAAA,GAAG,oDAAqDJ,CAAS,EAC3E,GAAGC,CAAA,CACN,CACD,EACDK,EAAU,YAAc,YAExB,MAAMC,EAAkBR,EAAM,WAG5B,CAAC,CAAE,UAAAC,EAAW,GAAGC,CAAA,EAASC,IAC1BC,EAAAA,kBAAAA,IAAC,IAAA,CACC,IAAAD,EACA,UAAWE,EAAAA,GAAG,gCAAiCJ,CAAS,EACvD,GAAGC,CAAA,CACN,CACD,EACDM,EAAgB,YAAc,kBAE9B,MAAMC,EAAcT,EAAM,WAGxB,CAAC,CAAE,UAAAC,EAAW,GAAGC,GAASC,4BACzB,MAAA,CAAI,IAAAA,EAAU,UAAWE,EAAAA,GAAG,WAAYJ,CAAS,EAAI,GAAGC,EAAO,CACjE,EACDO,EAAY,YAAc,cAE1B,MAAMC,EAAaV,EAAM,WAGvB,CAAC,CAAE,UAAAC,EAAW,GAAGC,CAAA,EAASC,IAC1BC,EAAAA,kBAAAA,IAAC,MAAA,CACC,IAAAD,EACA,UAAWE,EAAAA,GAAG,6BAA8BJ,CAAS,EACpD,GAAGC,CAAA,CACN,CACD,EACDQ,EAAW,YAAc"}
@@ -1,11 +1,11 @@
1
1
  import * as React from "react";
2
2
  declare const Command: React.ForwardRefExoticComponent<Omit<{
3
3
  children?: React.ReactNode;
4
- } & Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.HTMLAttributes<HTMLDivElement> | "key"> & {
4
+ } & Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
5
5
  ref?: React.Ref<HTMLDivElement>;
6
6
  } & {
7
7
  asChild?: boolean;
8
- }, keyof React.HTMLAttributes<HTMLDivElement> | "asChild" | "key"> & {
8
+ }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & {
9
9
  label?: string;
10
10
  shouldFilter?: boolean;
11
11
  filter?: (value: string, search: string, keywords?: string[]) => number;
@@ -25,51 +25,51 @@ declare const CommandInput: React.ForwardRefExoticComponent<Omit<Omit<Pick<Pick<
25
25
  ref?: React.Ref<HTMLInputElement>;
26
26
  } & {
27
27
  asChild?: boolean;
28
- }, "asChild" | "key" | keyof React.InputHTMLAttributes<HTMLInputElement>>, "onChange" | "type" | "value"> & {
28
+ }, "key" | "asChild" | keyof React.InputHTMLAttributes<HTMLInputElement>>, "onChange" | "type" | "value"> & {
29
29
  value?: string;
30
30
  onValueChange?: (search: string) => void;
31
31
  } & React.RefAttributes<HTMLInputElement>, "ref"> & React.RefAttributes<HTMLInputElement>>;
32
32
  declare const CommandList: React.ForwardRefExoticComponent<Omit<{
33
33
  children?: React.ReactNode;
34
- } & Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.HTMLAttributes<HTMLDivElement> | "key"> & {
34
+ } & Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
35
35
  ref?: React.Ref<HTMLDivElement>;
36
36
  } & {
37
37
  asChild?: boolean;
38
- }, keyof React.HTMLAttributes<HTMLDivElement> | "asChild" | "key"> & {
38
+ }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & {
39
39
  label?: string;
40
40
  } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
41
41
  declare const CommandEmpty: React.ForwardRefExoticComponent<Omit<{
42
42
  children?: React.ReactNode;
43
- } & Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.HTMLAttributes<HTMLDivElement> | "key"> & {
43
+ } & Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
44
44
  ref?: React.Ref<HTMLDivElement>;
45
45
  } & {
46
46
  asChild?: boolean;
47
- }, keyof React.HTMLAttributes<HTMLDivElement> | "asChild" | "key"> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
47
+ }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
48
48
  declare const CommandGroup: React.ForwardRefExoticComponent<Omit<{
49
49
  children?: React.ReactNode;
50
- } & Omit<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.HTMLAttributes<HTMLDivElement> | "key"> & {
50
+ } & Omit<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
51
51
  ref?: React.Ref<HTMLDivElement>;
52
52
  } & {
53
53
  asChild?: boolean;
54
- }, keyof React.HTMLAttributes<HTMLDivElement> | "asChild" | "key">, "heading" | "value"> & {
54
+ }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild">, "value" | "heading"> & {
55
55
  heading?: React.ReactNode;
56
56
  value?: string;
57
57
  forceMount?: boolean;
58
58
  } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
59
- declare const CommandSeparator: React.ForwardRefExoticComponent<Omit<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.HTMLAttributes<HTMLDivElement> | "key"> & {
59
+ declare const CommandSeparator: React.ForwardRefExoticComponent<Omit<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
60
60
  ref?: React.Ref<HTMLDivElement>;
61
61
  } & {
62
62
  asChild?: boolean;
63
- }, keyof React.HTMLAttributes<HTMLDivElement> | "asChild" | "key"> & {
63
+ }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & {
64
64
  alwaysRender?: boolean;
65
65
  } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
66
66
  declare const CommandItem: React.ForwardRefExoticComponent<Omit<{
67
67
  children?: React.ReactNode;
68
- } & Omit<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.HTMLAttributes<HTMLDivElement> | "key"> & {
68
+ } & Omit<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
69
69
  ref?: React.Ref<HTMLDivElement>;
70
70
  } & {
71
71
  asChild?: boolean;
72
- }, keyof React.HTMLAttributes<HTMLDivElement> | "asChild" | "key">, "onSelect" | "disabled" | "value"> & {
72
+ }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild">, "onSelect" | "disabled" | "value"> & {
73
73
  disabled?: boolean;
74
74
  onSelect?: (value: string) => void;
75
75
  value?: string;
@@ -1,92 +1,110 @@
1
1
  import { j as e } from "../jsx-runtime-DGlMoOmv.js";
2
- import { createPortal as y } from "react-dom";
3
- import { AnimatePresence as g, motion as c } from "framer-motion";
4
- import { X as N } from "lucide-react";
5
- import { c as t } from "../utils-qaFjX9_3.js";
6
- import { useCallback as k, useEffect as E } from "react";
7
- const z = {
8
- sm: "max-w-sm",
9
- md: "max-w-md",
10
- lg: "max-w-lg",
11
- xl: "max-w-xl",
12
- "2xl": "max-w-[1200px] w-[90vw]",
13
- "3xl": "max-w-[1600px] w-[90vw]",
14
- full: "w-[100vw]"
2
+ import { createPortal as w } from "react-dom";
3
+ import { AnimatePresence as N, motion as o } from "framer-motion";
4
+ import { X as k } from "lucide-react";
5
+ import { c as i } from "../utils-qaFjX9_3.js";
6
+ import { useCallback as W, useEffect as E } from "react";
7
+ const z = (t) => {
8
+ switch (t) {
9
+ case "sm":
10
+ return { width: "100%", maxWidth: "384px" };
11
+ case "md":
12
+ return { width: "100%", maxWidth: "448px" };
13
+ case "lg":
14
+ return { width: "100%", maxWidth: "512px" };
15
+ case "xl":
16
+ return { width: "100%", maxWidth: "70%" };
17
+ case "2xl":
18
+ return { width: "80%", maxWidth: "1200px" };
19
+ case "3xl":
20
+ return { width: "90%", maxWidth: "1600px" };
21
+ case "full":
22
+ return { width: "100%" };
23
+ default:
24
+ return { width: "100%", maxWidth: "448px" };
25
+ }
15
26
  };
16
- function M({
17
- isOpen: r,
18
- onClose: s,
27
+ function H({
28
+ isOpen: t,
29
+ onClose: d,
19
30
  title: a,
20
- description: d,
21
- icon: i,
22
- children: o,
23
- footer: n,
24
- size: x = "md",
25
- showClose: u = !0,
31
+ description: n,
32
+ icon: c,
33
+ children: x,
34
+ footer: r,
35
+ size: u = "md",
36
+ showClose: h = !0,
26
37
  className: f,
27
- isContentScrollable: h = !0,
28
- mainClassName: p,
29
- contentClassName: b,
38
+ isContentScrollable: p = !0,
39
+ mainClassName: b,
40
+ contentClassName: j,
30
41
  header: l,
31
- zIndexClassName: j = "z-[50]"
42
+ zIndexClassName: g = "z-[50]"
32
43
  }) {
33
- const m = k((w) => {
34
- w.key === "Escape" && r && s();
35
- }, [r, s]);
44
+ const m = W((v) => {
45
+ v.key === "Escape" && t && d();
46
+ }, [t, d]);
36
47
  E(() => (document.addEventListener("keydown", m), () => document.removeEventListener("keydown", m)), [m]);
37
- const v = /* @__PURE__ */ e.jsx(g, { children: r && /* @__PURE__ */ e.jsx("div", { className: t("fixed inset-0 z-50 overflow-hidden", j), children: /* @__PURE__ */ e.jsxs("div", { className: t("min-h-full flex items-center justify-center p-4", p), children: [
48
+ const s = a || n || c || l, y = /* @__PURE__ */ e.jsx(N, { children: t && /* @__PURE__ */ e.jsx("div", { className: i("fixed inset-0 z-50 overflow-hidden", g), children: /* @__PURE__ */ e.jsxs("div", { className: i("min-h-full flex items-center justify-center p-4", b), children: [
38
49
  /* @__PURE__ */ e.jsx(
39
- c.div,
50
+ o.div,
40
51
  {
41
52
  initial: { opacity: 0 },
42
53
  animate: { opacity: 1 },
43
54
  exit: { opacity: 0 },
44
55
  className: "fixed inset-0 bg-background/80 backdrop-blur-sm",
45
- onClick: s
56
+ onClick: d
46
57
  }
47
58
  ),
48
59
  /* @__PURE__ */ e.jsxs(
49
- c.div,
60
+ o.div,
50
61
  {
51
62
  initial: { opacity: 0, scale: 0.95 },
52
63
  animate: { opacity: 1, scale: 1 },
53
64
  exit: { opacity: 0, scale: 0.95 },
54
65
  transition: { duration: 0.1, ease: "easeOut" },
55
- className: t(
56
- "relative transform rounded-lg bg-background shadow-xl border border-border flex flex-col max-h-[85vh]",
57
- z[x],
66
+ className: i(
67
+ "relative transform rounded-lg bg-background shadow-xl border border-border/50 flex flex-col max-h-[85vh] overflow-hidden",
58
68
  f
59
69
  ),
70
+ style: z(u),
60
71
  children: [
61
- (a || d || i || l) && /* @__PURE__ */ e.jsxs("div", { className: "flex-shrink-0 flex items-center justify-between p-2 border-b border-border", children: [
72
+ s && /* @__PURE__ */ e.jsxs("div", { className: "flex-shrink-0 rounded-t-lg bg-card flex items-center justify-between p-2 border-b border-border/50", children: [
62
73
  l || /* @__PURE__ */ e.jsxs("div", { className: "flex items-center gap-3", children: [
63
- i && /* @__PURE__ */ e.jsx("div", { className: "h-8 w-8 rounded-lg flex items-center justify-center", children: i }),
74
+ c && /* @__PURE__ */ e.jsx("div", { className: "h-8 w-8 rounded-lg flex items-center justify-center", children: c }),
64
75
  /* @__PURE__ */ e.jsxs("div", { children: [
65
76
  a && /* @__PURE__ */ e.jsx("h2", { className: "text-sm font-small", children: a }),
66
- d && /* @__PURE__ */ e.jsx("p", { className: "text-sm text-muted-foreground", children: d })
77
+ n && /* @__PURE__ */ e.jsx("p", { className: "text-sm text-muted-foreground", children: n })
67
78
  ] })
68
79
  ] }),
69
- u && /* @__PURE__ */ e.jsx(
80
+ h && /* @__PURE__ */ e.jsx(
70
81
  "button",
71
82
  {
72
- onClick: s,
83
+ onClick: d,
73
84
  className: "p-1.5 rounded-md hover:bg-muted text-muted-foreground",
74
85
  children: /* @__PURE__ */ e.jsxs("div", { className: "flex justify-center items-center", children: [
75
- /* @__PURE__ */ e.jsx(N, { className: "h-4 w-4" }),
86
+ /* @__PURE__ */ e.jsx(k, { className: "h-4 w-4" }),
76
87
  /* @__PURE__ */ e.jsx("kbd", { className: "ml-2 text-[10px] text-muted-foreground bg-muted px-1.5 py-0.5 rounded", children: "ESC" })
77
88
  ] })
78
89
  }
79
90
  )
80
91
  ] }),
81
- /* @__PURE__ */ e.jsx("div", { className: t("flex-1 min-h-0", h ? "overflow-y-auto" : "", b), children: o }),
82
- n && /* @__PURE__ */ e.jsx("div", { className: "flex-shrink-0 flex items-center justify-end gap-2 px-4 py-3 border-t border-border bg-muted/50", children: n })
92
+ /* @__PURE__ */ e.jsx("div", { className: i(
93
+ "flex-1 min-h-0",
94
+ p ? "overflow-y-auto" : "",
95
+ !r && !s ? "rounded-lg" : "",
96
+ !r && s ? "rounded-b-lg" : "",
97
+ r && !s ? "rounded-t-lg" : "",
98
+ j
99
+ ), children: x }),
100
+ r && /* @__PURE__ */ e.jsx("div", { className: "flex-shrink-0 flex items-center justify-end gap-2 px-4 py-3 border-t border-border/50 bg-card rounded-b-lg", children: r })
83
101
  ]
84
102
  }
85
103
  )
86
104
  ] }) }) });
87
- return y(v, document.body);
105
+ return w(y, document.body);
88
106
  }
89
107
  export {
90
- M as Modal
108
+ H as Modal
91
109
  };
92
110
  //# sourceMappingURL=modal.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"modal.esm.js","sources":["../../src/components/modal.tsx"],"sourcesContent":["import { createPortal } from 'react-dom';\nimport { AnimatePresence, motion } from 'framer-motion';\nimport { X } from 'lucide-react';\nimport { cn } from '@/lib/utils';\nimport { useEffect, useCallback } from 'react';\n\nexport interface ModalProps {\n isOpen: boolean;\n onClose: () => void;\n title?: string;\n description?: string | React.ReactNode;\n icon?: React.ReactNode;\n children: React.ReactNode;\n footer?: React.ReactNode;\n size?: 'sm' | 'md' | 'lg' | 'xl' | '2xl' | 'full' | '3xl';\n showClose?: boolean;\n className?: string;\n mainClassName?: string;\n isContentScrollable?: boolean;\n header?: React.ReactNode;\n headerClassName?: string;\n contentClassName?: string;\n zIndexClassName?: string;\n}\n\nconst sizeClasses = {\n sm: 'max-w-sm',\n md: 'max-w-md',\n lg: 'max-w-lg',\n xl: 'max-w-xl',\n '2xl': 'max-w-[1200px] w-[90vw]',\n '3xl': 'max-w-[1600px] w-[90vw]',\n full: 'w-[100vw]'\n};\n\nexport function Modal({\n isOpen,\n onClose,\n title,\n description,\n icon,\n children,\n footer,\n size = 'md',\n showClose = true,\n className,\n isContentScrollable = true,\n mainClassName,\n contentClassName,\n header,\n zIndexClassName = 'z-[50]'\n}: ModalProps) {\n const handleKeyDown = useCallback((e: KeyboardEvent) => {\n if (e.key === 'Escape' && isOpen) {\n onClose();\n }\n }, [isOpen, onClose]);\n\n useEffect(() => {\n document.addEventListener('keydown', handleKeyDown);\n return () => document.removeEventListener('keydown', handleKeyDown);\n }, [handleKeyDown]);\n\n const content = (\n <AnimatePresence>\n {isOpen && (\n <div className={cn(\"fixed inset-0 z-50 overflow-hidden\", zIndexClassName)}>\n <div className={cn(\"min-h-full flex items-center justify-center p-4\", mainClassName)}>\n <motion.div\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n className=\"fixed inset-0 bg-background/80 backdrop-blur-sm\"\n onClick={onClose}\n />\n \n <motion.div\n initial={{ opacity: 0, scale: 0.95 }}\n animate={{ opacity: 1, scale: 1 }}\n exit={{ opacity: 0, scale: 0.95 }}\n transition={{ duration: 0.1, ease: \"easeOut\" }}\n className={cn(\n \"relative transform rounded-lg bg-background shadow-xl border border-border flex flex-col max-h-[85vh]\",\n sizeClasses[size],\n className\n )}\n >\n {/* Header - Fixed */}\n {(title || description || icon || header) && (\n <div className=\"flex-shrink-0 flex items-center justify-between p-2 border-b border-border\">\n \n {header ? header: (\n <div className=\"flex items-center gap-3\">\n {icon && (\n <div className=\"h-8 w-8 rounded-lg flex items-center justify-center\">\n {icon}\n </div>\n )}\n <div>\n {title && <h2 className=\"text-sm font-small\">{title}</h2>}\n {description && <p className=\"text-sm text-muted-foreground\">{description}</p>}\n </div>\n </div>\n )}\n {showClose && (\n <button\n onClick={onClose}\n className=\"p-1.5 rounded-md hover:bg-muted text-muted-foreground\"\n >\n <div className=\"flex justify-center items-center\">\n <X className=\"h-4 w-4\" />\n <kbd className=\"ml-2 text-[10px] text-muted-foreground bg-muted px-1.5 py-0.5 rounded\">\n ESC\n </kbd>\n </div>\n </button>\n )}\n </div>\n )}\n\n {/* Content - Scrollable */}\n <div className={cn(\"flex-1 min-h-0\", isContentScrollable ? 'overflow-y-auto' : '', contentClassName )}>\n {children}\n </div>\n\n {/* Footer - Fixed */}\n {footer && (\n <div className=\"flex-shrink-0 flex items-center justify-end gap-2 px-4 py-3 border-t border-border bg-muted/50\">\n {footer}\n </div>\n )}\n </motion.div>\n </div>\n </div>\n )}\n </AnimatePresence>\n );\n\n return createPortal(content, document.body);\n}"],"names":["sizeClasses","Modal","isOpen","onClose","title","description","icon","children","footer","size","showClose","className","isContentScrollable","mainClassName","contentClassName","header","zIndexClassName","handleKeyDown","useCallback","e","useEffect","content","jsx","AnimatePresence","cn","jsxs","motion","X","createPortal"],"mappings":";;;;;;AAyBA,MAAMA,IAAc;AAAA,EAClB,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,OAAO;AAAA,EACP,MAAM;AACR;AAEO,SAASC,EAAM;AAAA,EACpB,QAAAC;AAAA,EACA,SAAAC;AAAA,EACA,OAAAC;AAAA,EACA,aAAAC;AAAA,EACA,MAAAC;AAAA,EACA,UAAAC;AAAA,EACA,QAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,WAAAC,IAAY;AAAA,EACZ,WAAAC;AAAA,EACA,qBAAAC,IAAsB;AAAA,EACtB,eAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,QAAAC;AAAA,EACA,iBAAAC,IAAkB;AACpB,GAAe;AACb,QAAMC,IAAgBC,EAAY,CAACC,MAAqB;AACtD,IAAIA,EAAE,QAAQ,YAAYjB,KACxBC,EAAA;AAAA,EAEJ,GAAG,CAACD,GAAQC,CAAO,CAAC;AAEpB,EAAAiB,EAAU,OACR,SAAS,iBAAiB,WAAWH,CAAa,GAC3C,MAAM,SAAS,oBAAoB,WAAWA,CAAa,IACjE,CAACA,CAAa,CAAC;AAElB,QAAMI,IACJC,gBAAAA,MAACC,GAAA,EACE,UAAArB,KACCoB,gBAAAA,MAAC,SAAI,WAAWE,EAAG,sCAAsCR,CAAe,GACtE,UAAAS,gBAAAA,EAAAA,KAAC,OAAA,EAAI,WAAWD,EAAG,mDAAmDX,CAAa,GACjF,UAAA;AAAA,IAAAS,gBAAAA,EAAAA;AAAAA,MAACI,EAAO;AAAA,MAAP;AAAA,QACC,SAAS,EAAE,SAAS,EAAA;AAAA,QACpB,SAAS,EAAE,SAAS,EAAA;AAAA,QACpB,MAAM,EAAE,SAAS,EAAA;AAAA,QACjB,WAAU;AAAA,QACV,SAASvB;AAAA,MAAA;AAAA,IAAA;AAAA,IAGXsB,gBAAAA,EAAAA;AAAAA,MAACC,EAAO;AAAA,MAAP;AAAA,QACC,SAAS,EAAE,SAAS,GAAG,OAAO,KAAA;AAAA,QAC9B,SAAS,EAAE,SAAS,GAAG,OAAO,EAAA;AAAA,QAC9B,MAAM,EAAE,SAAS,GAAG,OAAO,KAAA;AAAA,QAC3B,YAAY,EAAE,UAAU,KAAK,MAAM,UAAA;AAAA,QACnC,WAAWF;AAAA,UACT;AAAA,UACAxB,EAAYS,CAAI;AAAA,UAChBE;AAAA,QAAA;AAAA,QAIA,UAAA;AAAA,WAAAP,KAASC,KAAeC,KAAQS,MAChCU,gBAAAA,OAAC,OAAA,EAAI,WAAU,8EAEZ,UAAA;AAAA,YAAAV,KACCU,gBAAAA,OAAC,OAAA,EAAI,WAAU,2BACZ,UAAA;AAAA,cAAAnB,KACCgB,gBAAAA,EAAAA,IAAC,OAAA,EAAI,WAAU,uDACZ,UAAAhB,GACH;AAAA,qCAED,OAAA,EACE,UAAA;AAAA,gBAAAF,KAASkB,gBAAAA,EAAAA,IAAC,MAAA,EAAG,WAAU,sBAAsB,UAAAlB,GAAM;AAAA,gBACnDC,KAAeiB,gBAAAA,EAAAA,IAAC,KAAA,EAAE,WAAU,iCAAiC,UAAAjB,EAAA,CAAY;AAAA,cAAA,EAAA,CAC5E;AAAA,YAAA,GACF;AAAA,YAEDK,KACCY,gBAAAA,EAAAA;AAAAA,cAAC;AAAA,cAAA;AAAA,gBACC,SAASnB;AAAA,gBACT,WAAU;AAAA,gBAEV,UAAAsB,gBAAAA,EAAAA,KAAC,OAAA,EAAI,WAAU,oCACb,UAAA;AAAA,kBAAAH,gBAAAA,EAAAA,IAACK,GAAA,EAAE,WAAU,UAAA,CAAU;AAAA,kBACvBL,gBAAAA,EAAAA,IAAC,OAAA,EAAI,WAAU,yEAAwE,UAAA,MAAA,CAEvF;AAAA,gBAAA,EAAA,CACF;AAAA,cAAA;AAAA,YAAA;AAAA,UACF,GAEJ;AAAA,UAIFA,gBAAAA,EAAAA,IAAC,OAAA,EAAI,WAAWE,EAAG,kBAAkBZ,IAAsB,oBAAoB,IAAIE,CAAiB,GACjG,UAAAP,EAAA,CACH;AAAA,UAGCC,KACCc,gBAAAA,EAAAA,IAAC,OAAA,EAAI,WAAU,kGACZ,UAAAd,EAAA,CACH;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAEJ,EAAA,CACF,GACF,GAEJ;AAGF,SAAOoB,EAAaP,GAAS,SAAS,IAAI;AAC5C;"}
1
+ {"version":3,"file":"modal.esm.js","sources":["../../src/components/modal.tsx"],"sourcesContent":["import { createPortal } from 'react-dom';\nimport { AnimatePresence, motion } from 'framer-motion';\nimport { X } from 'lucide-react';\nimport { cn } from '@/lib/utils';\nimport { useEffect, useCallback } from 'react';\n\nexport interface ModalProps {\n isOpen: boolean;\n onClose: () => void;\n title?: string;\n description?: string | React.ReactNode;\n icon?: React.ReactNode;\n children: React.ReactNode;\n footer?: React.ReactNode;\n size?: 'sm' | 'md' | 'lg' | 'xl' | '2xl' | 'full' | '3xl';\n showClose?: boolean;\n className?: string;\n mainClassName?: string;\n isContentScrollable?: boolean;\n header?: React.ReactNode;\n headerClassName?: string;\n contentClassName?: string;\n zIndexClassName?: string;\n}\n\nconst getSizeStyles = (size: 'sm' | 'md' | 'lg' | 'xl' | '2xl' | 'full' | '3xl') => {\n switch (size) {\n case 'sm':\n return { width: '100%', maxWidth: '384px' }; // max-w-sm equivalent\n case 'md':\n return { width: '100%', maxWidth: '448px' }; // max-w-md equivalent\n case 'lg':\n return { width: '100%', maxWidth: '512px' }; // max-w-lg equivalent\n case 'xl':\n return { width: '100%', maxWidth: '70%' };\n case '2xl':\n return { width: '80%', maxWidth: '1200px' };\n case '3xl':\n return { width: '90%', maxWidth: '1600px' };\n case 'full':\n return { width: '100%' };\n default:\n return { width: '100%', maxWidth: '448px' };\n }\n};\n\nexport function Modal({\n isOpen,\n onClose,\n title,\n description,\n icon,\n children,\n footer,\n size = 'md',\n showClose = true,\n className,\n isContentScrollable = true,\n mainClassName,\n contentClassName,\n header,\n zIndexClassName = 'z-[50]'\n}: ModalProps) {\n const handleKeyDown = useCallback((e: KeyboardEvent) => {\n if (e.key === 'Escape' && isOpen) {\n onClose();\n }\n }, [isOpen, onClose]);\n\n useEffect(() => {\n document.addEventListener('keydown', handleKeyDown);\n return () => document.removeEventListener('keydown', handleKeyDown);\n }, [handleKeyDown]);\n \n const isHeader = title || description || icon || header;\n const content = (\n <AnimatePresence>\n {isOpen && (\n <div className={cn(\"fixed inset-0 z-50 overflow-hidden\", zIndexClassName)}>\n <div className={cn(\"min-h-full flex items-center justify-center p-4\", mainClassName)}>\n <motion.div\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n className=\"fixed inset-0 bg-background/80 backdrop-blur-sm\"\n onClick={onClose}\n />\n \n <motion.div\n initial={{ opacity: 0, scale: 0.95 }}\n animate={{ opacity: 1, scale: 1 }}\n exit={{ opacity: 0, scale: 0.95 }}\n transition={{ duration: 0.1, ease: \"easeOut\" }}\n className={cn(\n \"relative transform rounded-lg bg-background shadow-xl border border-border/50 flex flex-col max-h-[85vh] overflow-hidden\",\n className\n )}\n style={getSizeStyles(size)}\n >\n {/* Header - Fixed */}\n {isHeader && (\n <div className=\"flex-shrink-0 rounded-t-lg bg-card flex items-center justify-between p-2 border-b border-border/50\">\n \n {header ? header: (\n <div className=\"flex items-center gap-3\">\n {icon && (\n <div className=\"h-8 w-8 rounded-lg flex items-center justify-center\">\n {icon}\n </div>\n )}\n <div>\n {title && <h2 className=\"text-sm font-small\">{title}</h2>}\n {description && <p className=\"text-sm text-muted-foreground\">{description}</p>}\n </div>\n </div>\n )}\n {showClose && (\n <button\n onClick={onClose}\n className=\"p-1.5 rounded-md hover:bg-muted text-muted-foreground\"\n >\n <div className=\"flex justify-center items-center\">\n <X className=\"h-4 w-4\" />\n <kbd className=\"ml-2 text-[10px] text-muted-foreground bg-muted px-1.5 py-0.5 rounded\">\n ESC\n </kbd>\n </div>\n </button>\n )}\n </div>\n )}\n\n {/* Content - Scrollable */}\n <div className={cn(\n \"flex-1 min-h-0\", \n isContentScrollable ? 'overflow-y-auto' : '', \n !footer && !isHeader ? 'rounded-lg' : '',\n !footer && isHeader ? 'rounded-b-lg' : '', \n footer && !isHeader ? 'rounded-t-lg' : '',\n contentClassName \n )}>\n {children}\n </div>\n\n {/* Footer - Fixed */}\n {footer && (\n <div className=\"flex-shrink-0 flex items-center justify-end gap-2 px-4 py-3 border-t border-border/50 bg-card rounded-b-lg\">\n {footer}\n </div>\n )}\n </motion.div>\n </div>\n </div>\n )}\n </AnimatePresence>\n );\n\n return createPortal(content, document.body);\n}"],"names":["getSizeStyles","size","Modal","isOpen","onClose","title","description","icon","children","footer","showClose","className","isContentScrollable","mainClassName","contentClassName","header","zIndexClassName","handleKeyDown","useCallback","e","useEffect","isHeader","content","jsx","AnimatePresence","cn","jsxs","motion","X","createPortal"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../jsx-runtime-BYECrxsp.cjs"),y=require("react-dom"),c=require("framer-motion"),R=require("lucide-react"),t=require("../utils-DSKoFOjv.cjs"),d=require("react"),g={sm:"max-w-sm",md:"max-w-md",lg:"max-w-lg",xl:"max-w-xl","2xl":"max-w-[1200px] w-[90vw]","3xl":"max-w-[1600px] w-[90vw]",full:"w-[100vw]"};function N({isOpen:r,onClose:s,title:n,description:i,icon:x,children:l,footer:m,size:u="md",showClose:j=!0,className:p,isContentScrollable:f=!0,mainClassName:b,contentClassName:h,header:a,zIndexClassName:v="z-[50]"}){const o=d.useCallback(w=>{w.key==="Escape"&&r&&s()},[r,s]);d.useEffect(()=>(document.addEventListener("keydown",o),()=>document.removeEventListener("keydown",o)),[o]);const E=e.jsxRuntimeExports.jsx(c.AnimatePresence,{children:r&&e.jsxRuntimeExports.jsx("div",{className:t.cn("fixed inset-0 z-50 overflow-hidden",v),children:e.jsxRuntimeExports.jsxs("div",{className:t.cn("min-h-full flex items-center justify-center p-4",b),children:[e.jsxRuntimeExports.jsx(c.motion.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:"fixed inset-0 bg-background/80 backdrop-blur-sm",onClick:s}),e.jsxRuntimeExports.jsxs(c.motion.div,{initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.95},transition:{duration:.1,ease:"easeOut"},className:t.cn("relative transform rounded-lg bg-background shadow-xl border border-border flex flex-col max-h-[85vh]",g[u],p),children:[(n||i||x||a)&&e.jsxRuntimeExports.jsxs("div",{className:"flex-shrink-0 flex items-center justify-between p-2 border-b border-border",children:[a||e.jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-3",children:[x&&e.jsxRuntimeExports.jsx("div",{className:"h-8 w-8 rounded-lg flex items-center justify-center",children:x}),e.jsxRuntimeExports.jsxs("div",{children:[n&&e.jsxRuntimeExports.jsx("h2",{className:"text-sm font-small",children:n}),i&&e.jsxRuntimeExports.jsx("p",{className:"text-sm text-muted-foreground",children:i})]})]}),j&&e.jsxRuntimeExports.jsx("button",{onClick:s,className:"p-1.5 rounded-md hover:bg-muted text-muted-foreground",children:e.jsxRuntimeExports.jsxs("div",{className:"flex justify-center items-center",children:[e.jsxRuntimeExports.jsx(R.X,{className:"h-4 w-4"}),e.jsxRuntimeExports.jsx("kbd",{className:"ml-2 text-[10px] text-muted-foreground bg-muted px-1.5 py-0.5 rounded",children:"ESC"})]})})]}),e.jsxRuntimeExports.jsx("div",{className:t.cn("flex-1 min-h-0",f?"overflow-y-auto":"",h),children:l}),m&&e.jsxRuntimeExports.jsx("div",{className:"flex-shrink-0 flex items-center justify-end gap-2 px-4 py-3 border-t border-border bg-muted/50",children:m})]})]})})});return y.createPortal(E,document.body)}exports.Modal=N;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../jsx-runtime-BYECrxsp.cjs"),R=require("react-dom"),l=require("framer-motion"),w=require("lucide-react"),n=require("../utils-DSKoFOjv.cjs"),u=require("react"),N=t=>{switch(t){case"sm":return{width:"100%",maxWidth:"384px"};case"md":return{width:"100%",maxWidth:"448px"};case"lg":return{width:"100%",maxWidth:"512px"};case"xl":return{width:"100%",maxWidth:"70%"};case"2xl":return{width:"80%",maxWidth:"1200px"};case"3xl":return{width:"90%",maxWidth:"1600px"};case"full":return{width:"100%"};default:return{width:"100%",maxWidth:"448px"}}};function k({isOpen:t,onClose:r,title:d,description:x,icon:a,children:m,footer:s,size:h="md",showClose:j=!0,className:p,isContentScrollable:f=!0,mainClassName:b,contentClassName:g,header:c,zIndexClassName:y="z-[50]"}){const o=u.useCallback(v=>{v.key==="Escape"&&t&&r()},[t,r]);u.useEffect(()=>(document.addEventListener("keydown",o),()=>document.removeEventListener("keydown",o)),[o]);const i=d||x||a||c,E=e.jsxRuntimeExports.jsx(l.AnimatePresence,{children:t&&e.jsxRuntimeExports.jsx("div",{className:n.cn("fixed inset-0 z-50 overflow-hidden",y),children:e.jsxRuntimeExports.jsxs("div",{className:n.cn("min-h-full flex items-center justify-center p-4",b),children:[e.jsxRuntimeExports.jsx(l.motion.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:"fixed inset-0 bg-background/80 backdrop-blur-sm",onClick:r}),e.jsxRuntimeExports.jsxs(l.motion.div,{initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.95},transition:{duration:.1,ease:"easeOut"},className:n.cn("relative transform rounded-lg bg-background shadow-xl border border-border/50 flex flex-col max-h-[85vh] overflow-hidden",p),style:N(h),children:[i&&e.jsxRuntimeExports.jsxs("div",{className:"flex-shrink-0 rounded-t-lg bg-card flex items-center justify-between p-2 border-b border-border/50",children:[c||e.jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-3",children:[a&&e.jsxRuntimeExports.jsx("div",{className:"h-8 w-8 rounded-lg flex items-center justify-center",children:a}),e.jsxRuntimeExports.jsxs("div",{children:[d&&e.jsxRuntimeExports.jsx("h2",{className:"text-sm font-small",children:d}),x&&e.jsxRuntimeExports.jsx("p",{className:"text-sm text-muted-foreground",children:x})]})]}),j&&e.jsxRuntimeExports.jsx("button",{onClick:r,className:"p-1.5 rounded-md hover:bg-muted text-muted-foreground",children:e.jsxRuntimeExports.jsxs("div",{className:"flex justify-center items-center",children:[e.jsxRuntimeExports.jsx(w.X,{className:"h-4 w-4"}),e.jsxRuntimeExports.jsx("kbd",{className:"ml-2 text-[10px] text-muted-foreground bg-muted px-1.5 py-0.5 rounded",children:"ESC"})]})})]}),e.jsxRuntimeExports.jsx("div",{className:n.cn("flex-1 min-h-0",f?"overflow-y-auto":"",!s&&!i?"rounded-lg":"",!s&&i?"rounded-b-lg":"",s&&!i?"rounded-t-lg":"",g),children:m}),s&&e.jsxRuntimeExports.jsx("div",{className:"flex-shrink-0 flex items-center justify-end gap-2 px-4 py-3 border-t border-border/50 bg-card rounded-b-lg",children:s})]})]})})});return R.createPortal(E,document.body)}exports.Modal=k;
2
2
  //# sourceMappingURL=modal.js.map