@jarllyng/nostromo 3.1.1 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/base.css +0 -48
- package/dist/chunk-2DNQXAMB.cjs +1 -0
- package/dist/chunk-2HYJSYQX.js +3 -0
- package/dist/chunk-2HYJSYQX.js.map +1 -0
- package/dist/chunk-2JQROMCM.js +1 -0
- package/dist/chunk-35I2BJC3.js +3 -0
- package/dist/chunk-35I2BJC3.js.map +1 -0
- package/dist/chunk-35RWQSO2.cjs +3 -0
- package/dist/chunk-35RWQSO2.cjs.map +1 -0
- package/dist/chunk-3BNGK67W.js +1 -0
- package/dist/chunk-3QVQ2TNE.cjs +3 -0
- package/dist/chunk-3QVQ2TNE.cjs.map +1 -0
- package/dist/chunk-3V3OIZWQ.cjs +1 -0
- package/dist/chunk-44HISN45.js +1 -0
- package/dist/chunk-4FSJEW7W.cjs +1 -0
- package/dist/chunk-55N2IT62.cjs +1 -0
- package/dist/chunk-5PVFLXPO.cjs +1 -0
- package/dist/{chunk-ZC4HJSII.cjs → chunk-5Z3MYAVM.cjs} +3 -2
- package/dist/{chunk-ZC4HJSII.cjs.map → chunk-5Z3MYAVM.cjs.map} +1 -1
- package/dist/chunk-6QAYHUNV.js +1 -0
- package/dist/chunk-7PPAI3MM.cjs +1 -0
- package/dist/chunk-7SPPGTBT.cjs +1 -0
- package/dist/chunk-7WEIVLG3.cjs +1 -0
- package/dist/chunk-7YFUAGIW.cjs +1 -0
- package/dist/chunk-ABA7B5DE.js +1 -0
- package/dist/chunk-AC2JBXHQ.js +1 -0
- package/dist/chunk-AHRTNKXE.js +1 -0
- package/dist/chunk-AVTJE2O2.js +1 -0
- package/dist/{chunk-ZQDFYSZB.cjs → chunk-AYEM2M4H.cjs} +3 -2
- package/dist/{chunk-ZQDFYSZB.cjs.map → chunk-AYEM2M4H.cjs.map} +1 -1
- package/dist/chunk-BL2TM4YT.js +3 -0
- package/dist/chunk-BL2TM4YT.js.map +1 -0
- package/dist/chunk-BYV75TDY.cjs +1 -0
- package/dist/{chunk-BSUHBLZO.cjs → chunk-BZ5ZCZJX.cjs} +3 -2
- package/dist/{chunk-BSUHBLZO.cjs.map → chunk-BZ5ZCZJX.cjs.map} +1 -1
- package/dist/chunk-BZF3ZOAN.js +1 -0
- package/dist/chunk-C7HZAQBX.cjs +3 -0
- package/dist/chunk-C7HZAQBX.cjs.map +1 -0
- package/dist/chunk-CEMOHO3Z.js +1 -0
- package/dist/chunk-COXN6XBA.js +1 -0
- package/dist/chunk-DNTPD3PJ.js +3 -0
- package/dist/chunk-DNTPD3PJ.js.map +1 -0
- package/dist/chunk-EFCNLYYW.cjs +1 -0
- package/dist/chunk-EVRQYWZ3.cjs +1 -0
- package/dist/chunk-FUENXWR7.cjs +1 -0
- package/dist/chunk-G35BR7SK.cjs +1 -0
- package/dist/chunk-HD3TMQPR.js +1 -0
- package/dist/{chunk-TGPWW7FC.js → chunk-HRJXPCGF.js} +3 -2
- package/dist/{chunk-TGPWW7FC.js.map → chunk-HRJXPCGF.js.map} +1 -1
- package/dist/chunk-HWZTMVQV.cjs +1 -0
- package/dist/chunk-IOX4WPJL.cjs +1 -0
- package/dist/chunk-ITRGJNWL.cjs +1 -0
- package/dist/chunk-J4VRJVTO.cjs +1 -0
- package/dist/chunk-JCETHQ55.cjs +3 -0
- package/dist/chunk-JCETHQ55.cjs.map +1 -0
- package/dist/chunk-JEHIMQQZ.js +1 -0
- package/dist/chunk-JUOCEYUF.cjs +1 -0
- package/dist/chunk-K2JCGDU7.cjs +1 -0
- package/dist/chunk-LR4VUFOQ.js +1 -0
- package/dist/chunk-LXQT7FH6.cjs +1 -0
- package/dist/chunk-LYVCB45L.js +1 -0
- package/dist/chunk-MDXW6IRM.cjs +3 -0
- package/dist/chunk-MDXW6IRM.cjs.map +1 -0
- package/dist/chunk-MLJZU63I.cjs +1 -0
- package/dist/chunk-MLSE5XSB.cjs +1 -0
- package/dist/chunk-MOPCE5RA.js +3 -0
- package/dist/chunk-MOPCE5RA.js.map +1 -0
- package/dist/chunk-MVCGR7JQ.js +1 -0
- package/dist/chunk-MY2KMTUS.js +3 -0
- package/dist/chunk-MY2KMTUS.js.map +1 -0
- package/dist/chunk-NBX6FKCA.cjs +3 -0
- package/dist/chunk-NBX6FKCA.cjs.map +1 -0
- package/dist/chunk-NC27D5Y3.cjs +3 -0
- package/dist/chunk-NC27D5Y3.cjs.map +1 -0
- package/dist/chunk-NLD4R74T.js +1 -0
- package/dist/chunk-NPSIDFOF.cjs +3 -0
- package/dist/chunk-NPSIDFOF.cjs.map +1 -0
- package/dist/chunk-OEN63W3G.cjs +1 -0
- package/dist/chunk-OUWOPYAX.js +1 -0
- package/dist/chunk-PMNNV4ML.cjs +1 -0
- package/dist/chunk-Q6QMSAJR.js +1 -0
- package/dist/chunk-QBAURT3I.js +1 -0
- package/dist/chunk-QKM5LPRW.js +3 -0
- package/dist/chunk-QKM5LPRW.js.map +1 -0
- package/dist/chunk-RC2THAIA.js +1 -0
- package/dist/chunk-SVWQWRPZ.js +3 -0
- package/dist/chunk-SVWQWRPZ.js.map +1 -0
- package/dist/chunk-UIEGBT4T.js +3 -0
- package/dist/chunk-UIEGBT4T.js.map +1 -0
- package/dist/chunk-UL6MF7ES.js +1 -0
- package/dist/{chunk-4WFEVNXW.cjs → chunk-V45EOCAD.cjs} +3 -2
- package/dist/chunk-V45EOCAD.cjs.map +1 -0
- package/dist/chunk-V77N662N.cjs +1 -0
- package/dist/chunk-VD6S2PE4.js +1 -0
- package/dist/chunk-VNDL67OG.cjs +3 -0
- package/dist/chunk-VNDL67OG.cjs.map +1 -0
- package/dist/chunk-WK6LNC2E.cjs +3 -0
- package/dist/chunk-WK6LNC2E.cjs.map +1 -0
- package/dist/{chunk-M5IBD3KV.js → chunk-WO3KCAN6.js} +3 -2
- package/dist/{chunk-M5IBD3KV.js.map → chunk-WO3KCAN6.js.map} +1 -1
- package/dist/chunk-WW2DDHCI.js +1 -0
- package/dist/{chunk-7W456HZL.js → chunk-XJJJEWSU.js} +3 -2
- package/dist/{chunk-7W456HZL.js.map → chunk-XJJJEWSU.js.map} +1 -1
- package/dist/chunk-XLZJ6HBL.js +3 -0
- package/dist/chunk-XLZJ6HBL.js.map +1 -0
- package/dist/chunk-XPIBRXTW.cjs +1 -0
- package/dist/chunk-XQUZ7DUN.js +1 -0
- package/dist/chunk-XRVHMGMD.js +3 -0
- package/dist/chunk-XRVHMGMD.js.map +1 -0
- package/dist/chunk-YNSODGYK.js +1 -0
- package/dist/chunk-ZEJAFIOC.js +1 -0
- package/dist/components/core/accordion.cjs +1 -0
- package/dist/components/core/accordion.js +1 -0
- package/dist/components/core/alert.cjs +1 -0
- package/dist/components/core/alert.d.cts +1 -1
- package/dist/components/core/alert.d.ts +1 -1
- package/dist/components/core/alert.js +1 -0
- package/dist/components/core/avatar.cjs +1 -0
- package/dist/components/core/avatar.js +1 -0
- package/dist/components/core/badge.cjs +1 -0
- package/dist/components/core/badge.d.cts +2 -2
- package/dist/components/core/badge.d.ts +2 -2
- package/dist/components/core/badge.js +1 -0
- package/dist/components/core/breadcrumb.cjs +2 -1
- package/dist/components/core/breadcrumb.d.cts +10 -4
- package/dist/components/core/breadcrumb.d.ts +10 -4
- package/dist/components/core/breadcrumb.js +2 -1
- package/dist/components/core/button.cjs +1 -0
- package/dist/components/core/button.d.cts +2 -2
- package/dist/components/core/button.d.ts +2 -2
- package/dist/components/core/button.js +1 -0
- package/dist/components/core/calendar.cjs +2 -1
- package/dist/components/core/calendar.js +2 -1
- package/dist/components/core/card.cjs +1 -0
- package/dist/components/core/card.js +1 -0
- package/dist/components/core/charts-lazy.cjs +2 -1
- package/dist/components/core/charts-lazy.js +2 -1
- package/dist/components/core/charts.cjs +2 -1
- package/dist/components/core/charts.js +2 -1
- package/dist/components/core/checkbox.cjs +2 -1
- package/dist/components/core/checkbox.d.cts +1 -1
- package/dist/components/core/checkbox.d.ts +1 -1
- package/dist/components/core/checkbox.js +2 -1
- package/dist/components/core/data-table.cjs +2 -1
- package/dist/components/core/data-table.d.cts +2 -2
- package/dist/components/core/data-table.d.ts +2 -2
- package/dist/components/core/data-table.js +2 -1
- package/dist/components/core/dialog.cjs +2 -1
- package/dist/components/core/dialog.d.cts +21 -3
- package/dist/components/core/dialog.d.ts +21 -3
- package/dist/components/core/dialog.js +2 -1
- package/dist/components/core/error-boundary.cjs +1 -0
- package/dist/components/core/error-boundary.d.cts +1 -1
- package/dist/components/core/error-boundary.d.ts +1 -1
- package/dist/components/core/error-boundary.js +1 -0
- package/dist/components/core/error-message.cjs +1 -0
- package/dist/components/core/error-message.d.cts +1 -1
- package/dist/components/core/error-message.d.ts +1 -1
- package/dist/components/core/error-message.js +1 -0
- package/dist/components/core/helper-text.cjs +1 -0
- package/dist/components/core/helper-text.d.cts +1 -1
- package/dist/components/core/helper-text.d.ts +1 -1
- package/dist/components/core/helper-text.js +1 -0
- package/dist/components/core/icon.cjs +2 -1
- package/dist/components/core/icon.d.cts +3 -3
- package/dist/components/core/icon.d.ts +3 -3
- package/dist/components/core/icon.js +2 -1
- package/dist/components/core/input.cjs +1 -0
- package/dist/components/core/input.d.cts +1 -1
- package/dist/components/core/input.d.ts +1 -1
- package/dist/components/core/input.js +1 -0
- package/dist/components/core/label.cjs +1 -0
- package/dist/components/core/label.d.cts +1 -1
- package/dist/components/core/label.d.ts +1 -1
- package/dist/components/core/label.js +1 -0
- package/dist/components/core/pagination.cjs +1 -0
- package/dist/components/core/pagination.d.cts +1 -1
- package/dist/components/core/pagination.d.ts +1 -1
- package/dist/components/core/pagination.js +1 -0
- package/dist/components/core/progress.cjs +1 -0
- package/dist/components/core/progress.d.cts +3 -3
- package/dist/components/core/progress.d.ts +3 -3
- package/dist/components/core/progress.js +1 -0
- package/dist/components/core/radio-group.cjs +1 -0
- package/dist/components/core/radio-group.d.cts +1 -1
- package/dist/components/core/radio-group.d.ts +1 -1
- package/dist/components/core/radio-group.js +1 -0
- package/dist/components/core/select.cjs +1 -0
- package/dist/components/core/select.d.cts +3 -3
- package/dist/components/core/select.d.ts +3 -3
- package/dist/components/core/select.js +1 -0
- package/dist/components/core/separator.cjs +2 -1
- package/dist/components/core/separator.js +2 -1
- package/dist/components/core/skeleton.cjs +2 -1
- package/dist/components/core/skeleton.d.cts +1 -1
- package/dist/components/core/skeleton.d.ts +1 -1
- package/dist/components/core/skeleton.js +2 -1
- package/dist/components/core/switch.cjs +1 -0
- package/dist/components/core/switch.d.cts +1 -1
- package/dist/components/core/switch.d.ts +1 -1
- package/dist/components/core/switch.js +1 -0
- package/dist/components/core/table.cjs +2 -1
- package/dist/components/core/table.d.cts +11 -1
- package/dist/components/core/table.d.ts +11 -1
- package/dist/components/core/table.js +2 -1
- package/dist/components/core/tabs.cjs +1 -0
- package/dist/components/core/tabs.js +1 -0
- package/dist/components/core/textarea.cjs +2 -1
- package/dist/components/core/textarea.d.cts +1 -1
- package/dist/components/core/textarea.d.ts +1 -1
- package/dist/components/core/textarea.js +2 -1
- package/dist/components/core/toast.cjs +2 -1
- package/dist/components/core/toast.d.cts +2 -2
- package/dist/components/core/toast.d.ts +2 -2
- package/dist/components/core/toast.js +2 -1
- package/dist/components/core/tooltip.cjs +2 -1
- package/dist/components/core/tooltip.d.cts +2 -2
- package/dist/components/core/tooltip.d.ts +2 -2
- package/dist/components/core/tooltip.js +2 -1
- package/dist/components/marketing/features.cjs +1 -0
- package/dist/components/marketing/features.d.cts +2 -2
- package/dist/components/marketing/features.d.ts +2 -2
- package/dist/components/marketing/features.js +1 -0
- package/dist/components/marketing/gallery.cjs +1 -0
- package/dist/components/marketing/gallery.d.cts +1 -1
- package/dist/components/marketing/gallery.d.ts +1 -1
- package/dist/components/marketing/gallery.js +1 -0
- package/dist/components/marketing/hero.cjs +1 -0
- package/dist/components/marketing/hero.js +1 -0
- package/dist/components/marketing/logo-wall.cjs +1 -0
- package/dist/components/marketing/logo-wall.js +1 -0
- package/dist/components/marketing/pricing.cjs +1 -0
- package/dist/components/marketing/pricing.d.cts +1 -1
- package/dist/components/marketing/pricing.d.ts +1 -1
- package/dist/components/marketing/pricing.js +1 -0
- package/dist/components/marketing/testimonials.cjs +1 -0
- package/dist/components/marketing/testimonials.d.cts +1 -1
- package/dist/components/marketing/testimonials.d.ts +1 -1
- package/dist/components/marketing/testimonials.js +1 -0
- package/dist/index.cjs +2 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +1 -1
- package/dist/index.css.map +1 -1
- package/dist/index.d.cts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/lazy.cjs +1 -0
- package/dist/lib/lazy.d.cts +3 -3
- package/dist/lib/lazy.d.ts +3 -3
- package/dist/lib/lazy.js +1 -0
- package/dist/lib/performance.cjs +1 -0
- package/dist/lib/performance.js +1 -0
- package/dist/themes/lv-426.css +48 -52
- package/dist/themes/mother.css +52 -58
- package/dist/themes/nostromo.css +35 -30
- package/dist/themes/sulaco.css +47 -51
- package/dist/tokens.css +1 -1
- package/package.json +4 -3
- package/dist/chunk-4PN7OGLX.cjs +0 -2
- package/dist/chunk-4PN7OGLX.cjs.map +0 -1
- package/dist/chunk-4TYVEXRA.cjs +0 -2
- package/dist/chunk-4TYVEXRA.cjs.map +0 -1
- package/dist/chunk-4WFEVNXW.cjs.map +0 -1
- package/dist/chunk-B2BWBKZA.cjs +0 -2
- package/dist/chunk-B2BWBKZA.cjs.map +0 -1
- package/dist/chunk-CVOSWGQZ.js +0 -2
- package/dist/chunk-CVOSWGQZ.js.map +0 -1
- package/dist/chunk-EGQ2Q37R.cjs +0 -2
- package/dist/chunk-EGQ2Q37R.cjs.map +0 -1
- package/dist/chunk-EIXD3Y4R.js +0 -2
- package/dist/chunk-EIXD3Y4R.js.map +0 -1
- package/dist/chunk-G5ZSOVJY.cjs +0 -2
- package/dist/chunk-G5ZSOVJY.cjs.map +0 -1
- package/dist/chunk-G6TR5RGR.js +0 -2
- package/dist/chunk-G6TR5RGR.js.map +0 -1
- package/dist/chunk-GUJB555L.js +0 -2
- package/dist/chunk-GUJB555L.js.map +0 -1
- package/dist/chunk-JZROH43C.js +0 -2
- package/dist/chunk-JZROH43C.js.map +0 -1
- package/dist/chunk-MRZOLUSF.js +0 -2
- package/dist/chunk-MRZOLUSF.js.map +0 -1
- package/dist/chunk-OZ3RIKZO.cjs +0 -2
- package/dist/chunk-OZ3RIKZO.cjs.map +0 -1
- package/dist/chunk-PEYPRWZP.js +0 -2
- package/dist/chunk-PEYPRWZP.js.map +0 -1
- package/dist/chunk-PVHTEE5T.cjs +0 -2
- package/dist/chunk-PVHTEE5T.cjs.map +0 -1
- package/dist/chunk-QF5CRDZI.js +0 -2
- package/dist/chunk-QF5CRDZI.js.map +0 -1
- package/dist/chunk-RPRISB7O.cjs +0 -2
- package/dist/chunk-RPRISB7O.cjs.map +0 -1
- package/dist/chunk-SD4IIQ2I.cjs +0 -2
- package/dist/chunk-SD4IIQ2I.cjs.map +0 -1
- package/dist/chunk-SLGMKBST.js +0 -2
- package/dist/chunk-SLGMKBST.js.map +0 -1
- package/dist/chunk-TJFZAMBB.js +0 -2
- package/dist/chunk-TJFZAMBB.js.map +0 -1
- package/dist/chunk-VXMDVKAD.js +0 -2
- package/dist/chunk-VXMDVKAD.js.map +0 -1
- package/dist/chunk-ZYP2PDSX.cjs +0 -2
- package/dist/chunk-ZYP2PDSX.cjs.map +0 -1
package/dist/chunk-COXN6XBA.js
CHANGED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import {a}from'./chunk-AC2JBXHQ.js';import*as e from'react';import {cva}from'class-variance-authority';var v=cva("peer h-4 w-4 shrink-0 rounded-sm border border-input bg-background shadow-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground data-[state=checked]:border-primary transition-all duration-200",{variants:{variant:{default:"border-border hover:border-border data-[state=checked]:bg-primary data-[state=checked]:border-primary",error:"border-destructive focus-visible:ring-destructive data-[state=checked]:bg-destructive data-[state=checked]:border-destructive",success:"border-success-500 focus-visible:ring-success-500 data-[state=checked]:bg-success-500 data-[state=checked]:border-success-500"},size:{default:"h-4 w-4",sm:"h-3 w-3",lg:"h-5 w-5"}},defaultVariants:{variant:"default",size:"default"}}),k=e.forwardRef(({className:o,error:t,helperText:s,label:d,required:c,id:n,variant:b,size:l,...u},p)=>{let m=e.useId(),r=n||m,i=s?`${r}-helper`:void 0,f=t?`${r}-error`:void 0;return e.createElement("div",{className:"space-y-2"},e.createElement("div",{className:"flex items-center space-x-3"},e.createElement("input",{type:"checkbox",className:a(v({variant:t?"error":b||"default",size:l,className:o})),ref:p,id:r,"aria-describedby":a(i,f)||void 0,"aria-invalid":t,required:c,...u}),d&&e.createElement("label",{htmlFor:r,className:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"},d,c&&e.createElement("span",{className:"text-error-500 ml-1"},"*"))),s&&e.createElement("p",{id:i,className:a("text-sm text-muted-foreground",t&&"text-destructive")},s))});k.displayName="Checkbox";export{v as a,k as b};//# sourceMappingURL=chunk-DNTPD3PJ.js.map
|
|
3
|
+
//# sourceMappingURL=chunk-DNTPD3PJ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/core/checkbox.tsx"],"names":["checkboxVariants","cva","Checkbox","className","error","helperText","label","required","id","variant","size","props","ref","generatedId","checkboxId","helperTextId","errorId","cn"],"mappings":"uGAIA,IAAMA,CAAAA,CAAmBC,GAAAA,CACvB,+WAAA,CACA,CACE,QAAA,CAAU,CACR,QAAS,CACP,OAAA,CACE,wGACF,KAAA,CACE,+HAAA,CACF,OAAA,CACE,+HACJ,EACA,IAAA,CAAM,CACJ,OAAA,CAAS,SAAA,CACT,GAAI,SAAA,CACJ,EAAA,CAAI,SACN,CACF,EACA,eAAA,CAAiB,CACf,QAAS,SAAA,CACT,IAAA,CAAM,SACR,CACF,CACF,CAAA,CA0BMC,CAAAA,CAAiB,aACrB,CACE,CACE,SAAA,CAAAC,CAAAA,CACA,MAAAC,CAAAA,CACA,UAAA,CAAAC,CAAAA,CACA,KAAA,CAAAC,EACA,QAAA,CAAAC,CAAAA,CACA,GAAAC,CAAAA,CACA,OAAA,CAAAC,EACA,IAAA,CAAAC,CAAAA,CACA,GAAGC,CACL,EACAC,CAAAA,GACG,CACH,IAAMC,CAAAA,CAAoB,SAAM,CAC1BC,CAAAA,CAAaN,CAAAA,EAAMK,CAAAA,CACnBE,EAAeV,CAAAA,CAAa,CAAA,EAAGS,CAAU,CAAA,OAAA,CAAA,CAAY,MAAA,CACrDE,EAAUZ,CAAAA,CAAQ,CAAA,EAAGU,CAAU,CAAA,MAAA,CAAA,CAAW,OAKhD,OACE,CAAA,CAAA,aAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAU,aACb,CAAA,CAAA,aAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAU,6BAAA,CAAA,CACb,gBAAC,OAAA,CAAA,CACC,IAAA,CAAK,WACL,SAAA,CAAWG,CAAAA,CACTjB,EAAiB,CAAE,OAAA,CARLI,CAAAA,CAAQ,OAAA,CAAUK,GAAW,SAAA,CAQE,IAAA,CAAAC,CAAAA,CAAM,SAAA,CAAAP,CAAU,CAAC,CAChE,CAAA,CACA,GAAA,CAAKS,EACL,EAAA,CAAIE,CAAAA,CACJ,mBAAkBG,CAAAA,CAAGF,CAAAA,CAAcC,CAAO,CAAA,EAAK,MAAA,CAC/C,cAAA,CAAcZ,CAAAA,CACd,SAAUG,CAAAA,CACT,GAAGI,CAAAA,CACN,CAAA,CACCL,GACC,CAAA,CAAA,aAAA,CAAC,OAAA,CAAA,CACC,OAAA,CAASQ,CAAAA,CACT,UAAU,4FAAA,CAAA,CAETR,CAAAA,CACAC,GAAY,CAAA,CAAA,aAAA,CAAC,MAAA,CAAA,CAAK,UAAU,qBAAA,CAAA,CAAsB,GAAC,CACtD,CAEJ,EACCF,CAAAA,EACC,CAAA,CAAA,aAAA,CAAC,KACC,EAAA,CAAIU,CAAAA,CACJ,UAAWE,CAAAA,CACT,+BAAA,CACAb,CAAAA,EAAS,kBACX,GAECC,CACH,CAEJ,CAEJ,CACF,EACAH,EAAS,WAAA,CAAc,UAAA","file":"chunk-DNTPD3PJ.js","sourcesContent":["import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../lib/utils\";\n\nconst checkboxVariants = cva(\n \"peer h-4 w-4 shrink-0 rounded-sm border border-input bg-background shadow-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground data-[state=checked]:border-primary transition-all duration-200\",\n {\n variants: {\n variant: {\n default:\n \"border-border hover:border-border data-[state=checked]:bg-primary data-[state=checked]:border-primary\",\n error:\n \"border-destructive focus-visible:ring-destructive data-[state=checked]:bg-destructive data-[state=checked]:border-destructive\",\n success:\n \"border-success-500 focus-visible:ring-success-500 data-[state=checked]:bg-success-500 data-[state=checked]:border-success-500\",\n },\n size: {\n default: \"h-4 w-4\",\n sm: \"h-3 w-3\",\n lg: \"h-5 w-5\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n },\n);\n\nexport interface CheckboxProps\n extends\n Omit<React.InputHTMLAttributes<HTMLInputElement>, \"size\">,\n VariantProps<typeof checkboxVariants> {\n /**\n * Whether the checkbox is in an error state\n * @default false\n */\n error?: boolean;\n /**\n * Helper text to display below the checkbox\n */\n helperText?: string;\n /**\n * Label text for the checkbox\n */\n label?: string;\n /**\n * Whether the checkbox is required\n * @default false\n */\n required?: boolean;\n}\n\nconst Checkbox = React.forwardRef<HTMLInputElement, CheckboxProps>(\n (\n {\n className,\n error,\n helperText,\n label,\n required,\n id,\n variant,\n size,\n ...props\n },\n ref,\n ) => {\n const generatedId = React.useId();\n const checkboxId = id || generatedId;\n const helperTextId = helperText ? `${checkboxId}-helper` : undefined;\n const errorId = error ? `${checkboxId}-error` : undefined;\n\n // Determine variant based on error state\n const checkboxVariant = error ? \"error\" : variant || \"default\";\n\n return (\n <div className=\"space-y-2\">\n <div className=\"flex items-center space-x-3\">\n <input\n type=\"checkbox\"\n className={cn(\n checkboxVariants({ variant: checkboxVariant, size, className }),\n )}\n ref={ref}\n id={checkboxId}\n aria-describedby={cn(helperTextId, errorId) || undefined}\n aria-invalid={error}\n required={required}\n {...props}\n />\n {label && (\n <label\n htmlFor={checkboxId}\n className=\"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\"\n >\n {label}\n {required && <span className=\"text-error-500 ml-1\">*</span>}\n </label>\n )}\n </div>\n {helperText && (\n <p\n id={helperTextId}\n className={cn(\n \"text-sm text-muted-foreground\",\n error && \"text-destructive\",\n )}\n >\n {helperText}\n </p>\n )}\n </div>\n );\n },\n);\nCheckbox.displayName = \"Checkbox\";\n\nexport { Checkbox, checkboxVariants };\n"]}
|
package/dist/chunk-EFCNLYYW.cjs
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
'use strict';var chunk7SPPGTBT_cjs=require('./chunk-7SPPGTBT.cjs'),chunkITRGJNWL_cjs=require('./chunk-ITRGJNWL.cjs'),o=require('react'),classVarianceAuthority=require('class-variance-authority');function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var o__namespace=/*#__PURE__*/_interopNamespace(o);var i=classVarianceAuthority.cva("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-all duration-200 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 shadow-xs hover:shadow-sm",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground hover:bg-primary/90 shadow-xs hover:shadow-sm",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80 shadow-xs hover:shadow-sm",destructive:"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/90 shadow-xs hover:shadow-sm",outline:"border-2 border-border text-foreground hover:border-primary hover:text-primary hover:shadow-sm",success:"border-transparent bg-success text-success-foreground hover:bg-success-600 shadow-xs hover:shadow-sm",warning:"border-transparent bg-warning text-warning-foreground hover:bg-warning-600 shadow-xs hover:shadow-sm",info:"border-transparent bg-info text-info-foreground hover:bg-info-600 shadow-xs hover:shadow-sm",error:"border-transparent bg-error text-error-foreground hover:bg-error-600 shadow-xs hover:shadow-sm"},size:{sm:"px-2 py-0.5 text-xs",default:"px-2.5 py-0.5 text-xs",lg:"px-3 py-1 text-sm"}},defaultVariants:{variant:"default",size:"default"}});function g({className:s,variant:t,size:a,...n}){return o__namespace.createElement("div",{className:chunkITRGJNWL_cjs.a(i({variant:t,size:a}),s),...n})}var p=chunk7SPPGTBT_cjs.a(g);exports.a=i;exports.b=p;//# sourceMappingURL=chunk-EFCNLYYW.cjs.map
|
|
2
3
|
//# sourceMappingURL=chunk-EFCNLYYW.cjs.map
|
package/dist/chunk-EVRQYWZ3.cjs
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
'use strict';var chunkITRGJNWL_cjs=require('./chunk-ITRGJNWL.cjs'),e=require('react'),a=require('@radix-ui/react-switch'),classVarianceAuthority=require('class-variance-authority');function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var e__namespace=/*#__PURE__*/_interopNamespace(e);var a__namespace=/*#__PURE__*/_interopNamespace(a);var v=classVarianceAuthority.cva("peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-muted",{variants:{variant:{default:"data-[state=checked]:bg-primary data-[state=unchecked]:bg-muted focus-visible:ring-ring",error:"data-[state=checked]:bg-destructive data-[state=unchecked]:bg-destructive/20 focus-visible:ring-destructive",success:"data-[state=checked]:bg-success data-[state=unchecked]:bg-success-100 focus-visible:ring-success"},size:{sm:"h-4 w-7",default:"h-6 w-11",lg:"h-8 w-14"}},defaultVariants:{variant:"default",size:"default"}}),w=classVarianceAuthority.cva("pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0",{variants:{size:{sm:"h-3 w-3 data-[state=checked]:translate-x-3",default:"h-5 w-5 data-[state=checked]:translate-x-5",lg:"h-7 w-7 data-[state=checked]:translate-x-6"}},defaultVariants:{size:"default"}}),k=e__namespace.forwardRef(({className:u,children:x,label:c,helperText:r,error:i,required:n,variant:h,size:d,id:m,...f},p)=>{let b=e__namespace.useId(),s=m||b,o=r?`${s}-helper`:void 0,g=i?`${s}-error`:void 0;return e__namespace.createElement("div",{className:"flex items-center space-x-2"},e__namespace.createElement(a__namespace.Root,{ref:p,id:s,className:chunkITRGJNWL_cjs.a(v({variant:i?"error":h||"default",size:d}),u),"aria-describedby":chunkITRGJNWL_cjs.a(o,g)||void 0,"aria-invalid":i,"aria-required":n,...f},e__namespace.createElement(a__namespace.Thumb,{className:chunkITRGJNWL_cjs.a(w({size:d}))})),e__namespace.createElement("div",{className:"grid gap-1.5 leading-none"},c&&e__namespace.createElement("label",{htmlFor:s,className:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"},c,n&&e__namespace.createElement("span",{className:"text-error-500 ml-1"},"*")),r&&e__namespace.createElement("p",{id:o,className:chunkITRGJNWL_cjs.a("text-sm text-muted-foreground",i&&"text-destructive")},r)))});k.displayName=a__namespace.Root.displayName;exports.a=v;exports.b=w;exports.c=k;//# sourceMappingURL=chunk-EVRQYWZ3.cjs.map
|
|
2
3
|
//# sourceMappingURL=chunk-EVRQYWZ3.cjs.map
|
package/dist/chunk-FUENXWR7.cjs
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
'use strict';var chunk7SPPGTBT_cjs=require('./chunk-7SPPGTBT.cjs'),chunkITRGJNWL_cjs=require('./chunk-ITRGJNWL.cjs'),e=require('react'),classVarianceAuthority=require('class-variance-authority');function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var e__namespace=/*#__PURE__*/_interopNamespace(e);var I=classVarianceAuthority.cva("flex w-full rounded-md border bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 transition-all duration-200",{variants:{variant:{default:["border-border shadow-sm","hover:border-border hover:shadow-sm","focus-visible:ring-ring/20 focus-visible:border-ring","focus-visible:shadow-md"],error:["border-destructive shadow-sm","hover:border-destructive/80 hover:shadow-sm","focus-visible:ring-destructive/20 focus-visible:border-destructive","focus-visible:shadow-md"],success:["border-success-500 shadow-sm","hover:border-success-600 hover:shadow-sm","focus-visible:ring-success-500/20 focus-visible:border-success-500","focus-visible:shadow-md"],subtle:["border-border bg-muted/50","hover:border-border hover:bg-muted/80","focus-visible:ring-ring/10 focus-visible:border-ring","focus-visible:bg-background"]},inputSize:{sm:"h-8 px-2.5 text-xs",default:"h-10 px-3 text-sm",lg:"h-11 px-4 text-base"}},defaultVariants:{variant:"default",inputSize:"default"}}),u=e__namespace.forwardRef(({className:c,type:l,error:r,success:i,helperText:o,label:d,id:b,variant:p,inputSize:f,...m},v)=>{let g=e__namespace.useId(),s=b||g,n=o?`${s}-helper`:void 0,h=r?`${s}-error`:void 0;return e__namespace.createElement("div",{className:"space-y-2"},d&&e__namespace.createElement("label",{htmlFor:s,className:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"},d),e__namespace.createElement("input",{type:l,className:chunkITRGJNWL_cjs.a(I({variant:r?"error":i?"success":p||"default",inputSize:f,className:c})),ref:v,id:s,"aria-describedby":chunkITRGJNWL_cjs.a(n,h)||void 0,"aria-invalid":r,...m}),o&&e__namespace.createElement("p",{id:n,className:chunkITRGJNWL_cjs.a("text-sm text-muted-foreground",r&&"text-destructive",i&&"text-success")},o))});u.displayName="Input";var R=chunk7SPPGTBT_cjs.a(u);exports.a=I;exports.b=R;//# sourceMappingURL=chunk-FUENXWR7.cjs.map
|
|
2
3
|
//# sourceMappingURL=chunk-FUENXWR7.cjs.map
|
package/dist/chunk-G35BR7SK.cjs
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
'use strict';var chunk7SPPGTBT_cjs=require('./chunk-7SPPGTBT.cjs'),chunkITRGJNWL_cjs=require('./chunk-ITRGJNWL.cjs'),e=require('react'),classVarianceAuthority=require('class-variance-authority');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var e__default=/*#__PURE__*/_interopDefault(e);var C=classVarianceAuthority.cva("relative overflow-hidden rounded-full bg-muted",{variants:{size:{sm:"h-1",md:"h-2",lg:"h-3",xl:"h-4"},variant:{default:"bg-muted",primary:"bg-primary/10",success:"bg-success-100",warning:"bg-warning-100",error:"bg-error-100",energy:"bg-gradient-to-r from-cyan-100 to-blue-100",health:"bg-gradient-to-r from-green-100 to-emerald-100",alien:"bg-gradient-to-r from-purple-100 to-pink-100"}},defaultVariants:{size:"md",variant:"default"}}),M=classVarianceAuthority.cva("h-full transition-all duration-500 ease-out rounded-full",{variants:{variant:{default:"bg-primary",primary:"bg-primary",success:"bg-success-600",warning:"bg-warning-600",error:"bg-error-600",energy:"bg-gradient-to-r from-cyan-500 to-blue-500 shadow-lg shadow-cyan-500/25",health:"bg-gradient-to-r from-green-500 to-emerald-500 shadow-lg shadow-green-500/25",alien:"bg-gradient-to-r from-purple-500 to-pink-500 shadow-lg shadow-purple-500/25"},animated:{true:"animate-pulse",false:""},glow:{true:"shadow-lg",false:""}},defaultVariants:{variant:"default",animated:false,glow:false}}),y=classVarianceAuthority.cva("text-sm font-medium transition-colors duration-200",{variants:{variant:{default:"text-muted-foreground",primary:"text-primary",success:"text-success-700",warning:"text-warning-700",error:"text-error-700",energy:"text-cyan-700",health:"text-green-700",alien:"text-purple-700"}},defaultVariants:{variant:"default"}}),x=e__default.default.forwardRef(({className:d,value:i,max:u=100,showLabel:m=false,label:n,size:s,variant:r,animated:p=false,glow:c=false,indeterminate:a=false,...f},b)=>{let l=Math.min(Math.max(i/u*100,0),100),t=n||`${Math.round(l)}%`;return e__default.default.createElement("div",{className:"w-full"},(m||n)&&e__default.default.createElement("div",{className:"mb-2 flex justify-between items-center"},e__default.default.createElement("span",{className:chunkITRGJNWL_cjs.a(y({variant:r}))},n||"Progress"),m&&e__default.default.createElement("span",{className:chunkITRGJNWL_cjs.a(y({variant:r}))},t)),e__default.default.createElement("div",{ref:b,className:chunkITRGJNWL_cjs.a(C({size:s,variant:r}),d),role:"progressbar","aria-valuenow":a?void 0:i,"aria-valuemin":0,"aria-valuemax":u,"aria-label":n||"Progress",...f},e__default.default.createElement("div",{className:chunkITRGJNWL_cjs.a(M({variant:r,animated:p,glow:c}),a&&"animate-pulse w-1/3 absolute left-0"),style:a?{}:{width:`${l}%`,transition:"width 0.5s ease-out"}}),c&&e__default.default.createElement("div",{className:chunkITRGJNWL_cjs.a("absolute inset-0 rounded-full opacity-30 blur-sm",r==="energy"&&"bg-gradient-to-r from-cyan-400 to-blue-400",r==="health"&&"bg-gradient-to-r from-green-400 to-emerald-400",r==="alien"&&"bg-gradient-to-r from-purple-400 to-pink-400",r==="primary"&&"bg-brand-400",r==="success"&&"bg-success-400",r==="warning"&&"bg-warning-400",r==="error"&&"bg-error-400"),style:{width:`${l}%`,transition:"width 0.5s ease-out"}})))});x.displayName="Progress";var E=chunk7SPPGTBT_cjs.a(x),_=classVarianceAuthority.cva("relative inline-flex items-center justify-center",{variants:{size:{sm:"w-8 h-8",md:"w-12 h-12",lg:"w-16 h-16",xl:"w-20 h-20"}},defaultVariants:{size:"md"}}),L=classVarianceAuthority.cva("transform -rotate-90",{variants:{size:{sm:"w-8 h-8",md:"w-12 h-12",lg:"w-16 h-16",xl:"w-20 h-20"}},defaultVariants:{size:"md"}}),v=e__default.default.forwardRef(({className:d,value:i,max:u=100,showLabel:m=false,label:n,size:s,variant:r="default",animated:p=false,glow:c=false,strokeWidth:a=2,...f},b)=>{let l=Math.min(Math.max(i/u*100,0),100),t=s==="sm"?14:s==="md"?20:s==="lg"?28:36,h=2*Math.PI*t,P=h,k=h-l/100*h,N=()=>{switch(r){case "primary":return "stroke-primary";case "success":return "stroke-success";case "warning":return "stroke-warning";case "error":return "stroke-error";case "energy":return "stroke-cyan-500";case "health":return "stroke-green-500";case "alien":return "stroke-purple-500";default:return "stroke-primary"}},V=()=>{if(!c)return "";switch(r){case "energy":return "drop-shadow-[0_0_8px_rgba(6,182,212,0.5)]";case "health":return "drop-shadow-[0_0_8px_rgba(34,197,94,0.5)]";case "alien":return "drop-shadow-[0_0_8px_rgba(168,85,247,0.5)]";default:return "drop-shadow-[0_0_8px_rgba(59,130,246,0.5)]"}};return e__default.default.createElement("div",{ref:b,className:chunkITRGJNWL_cjs.a(_({size:s}),d),role:"progressbar","aria-valuenow":i,"aria-valuemin":0,"aria-valuemax":u,"aria-label":n||"Circular progress",...f},e__default.default.createElement("svg",{className:chunkITRGJNWL_cjs.a(L({size:s})),viewBox:`0 0 ${t*2+a*2} ${t*2+a*2}`},e__default.default.createElement("circle",{cx:t+a,cy:t+a,r:t,stroke:"currentColor",strokeWidth:a,fill:"none",className:"text-muted"}),e__default.default.createElement("circle",{cx:t+a,cy:t+a,r:t,stroke:"currentColor",strokeWidth:a,fill:"none",strokeLinecap:"round",strokeDasharray:P,strokeDashoffset:k,className:chunkITRGJNWL_cjs.a(N(),V(),p&&"animate-pulse","transition-all duration-500 ease-out")})),m&&e__default.default.createElement("div",{className:"absolute inset-0 flex items-center justify-center"},e__default.default.createElement("span",{className:chunkITRGJNWL_cjs.a("text-xs font-medium",s==="sm"&&"text-xs",s==="md"&&"text-sm",s==="lg"&&"text-base",s==="xl"&&"text-lg",y({variant:r}))},n||`${Math.round(l)}%`)))});v.displayName="CircularProgress";var j=chunk7SPPGTBT_cjs.a(v);exports.a=C;exports.b=M;exports.c=y;exports.d=E;exports.e=j;//# sourceMappingURL=chunk-G35BR7SK.cjs.map
|
|
2
3
|
//# sourceMappingURL=chunk-G35BR7SK.cjs.map
|
package/dist/chunk-HD3TMQPR.js
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
import {a as a$1}from'./chunk-COXN6XBA.js';import {a}from'./chunk-AC2JBXHQ.js';import*as e from'react';import {cva}from'class-variance-authority';var I=cva("flex w-full rounded-md border bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 transition-all duration-200",{variants:{variant:{default:["border-border shadow-sm","hover:border-border hover:shadow-sm","focus-visible:ring-ring/20 focus-visible:border-ring","focus-visible:shadow-md"],error:["border-destructive shadow-sm","hover:border-destructive/80 hover:shadow-sm","focus-visible:ring-destructive/20 focus-visible:border-destructive","focus-visible:shadow-md"],success:["border-success-500 shadow-sm","hover:border-success-600 hover:shadow-sm","focus-visible:ring-success-500/20 focus-visible:border-success-500","focus-visible:shadow-md"],subtle:["border-border bg-muted/50","hover:border-border hover:bg-muted/80","focus-visible:ring-ring/10 focus-visible:border-ring","focus-visible:bg-background"]},inputSize:{sm:"h-8 px-2.5 text-xs",default:"h-10 px-3 text-sm",lg:"h-11 px-4 text-base"}},defaultVariants:{variant:"default",inputSize:"default"}}),u=e.forwardRef(({className:c,type:l,error:r,success:i,helperText:o,label:d,id:b,variant:p,inputSize:f,...m},v)=>{let g=e.useId(),s=b||g,n=o?`${s}-helper`:void 0,h=r?`${s}-error`:void 0;return e.createElement("div",{className:"space-y-2"},d&&e.createElement("label",{htmlFor:s,className:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"},d),e.createElement("input",{type:l,className:a(I({variant:r?"error":i?"success":p||"default",inputSize:f,className:c})),ref:v,id:s,"aria-describedby":a(n,h)||void 0,"aria-invalid":r,...m}),o&&e.createElement("p",{id:n,className:a("text-sm text-muted-foreground",r&&"text-destructive",i&&"text-success")},o))});u.displayName="Input";var R=a$1(u);export{I as a,R as b};//# sourceMappingURL=chunk-HD3TMQPR.js.map
|
|
2
3
|
//# sourceMappingURL=chunk-HD3TMQPR.js.map
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use client";
|
|
2
|
+
import {b}from'./chunk-QKM5LPRW.js';import a,{Suspense}from'react';var p=a.lazy(()=>import('./components/core/charts.js').then(t=>({default:t.Chart}))),s=({fallback:t=a.createElement(b,{className:"h-64 w-full"}),...r})=>a.createElement(Suspense,{fallback:t},a.createElement(p,{...r}));s.displayName="LazyChart";export{s as a};//# sourceMappingURL=chunk-HRJXPCGF.js.map
|
|
3
|
+
//# sourceMappingURL=chunk-HRJXPCGF.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/core/charts-lazy.tsx"],"names":["ChartLazy","React","module","LazyChart","fallback","Skeleton","props","Suspense"],"mappings":"uEAwBMA,CAAAA,CAAYC,CAAAA,CAAM,IAAA,CAAK,IAC3B,OAAO,6BAAU,EAAE,IAAA,CAAMC,CAAAA,GAAY,CACnC,OAAA,CAASA,CAAAA,CAAO,KAClB,EAAE,CACJ,CAAA,CAMaC,CAAAA,CAAsC,CAAC,CAClD,QAAA,CAAAC,EAAWH,CAAAA,CAAA,aAAA,CAACI,CAAAA,CAAA,CAAS,SAAA,CAAU,aAAA,CAAc,EAC7C,GAAGC,CACL,CAAA,GAEIL,CAAAA,CAAA,aAAA,CAACM,QAAAA,CAAA,CAAS,QAAA,CAAUH,CAAAA,CAAAA,CAClBH,CAAAA,CAAA,aAAA,CAACD,CAAAA,CAAA,CAAW,GAAGM,CAAAA,CAAO,CACxB,EAIJH,CAAAA,CAAU,WAAA,CAAc,WAAA","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/components/core/charts-lazy.tsx"],"names":["ChartLazy","React","module","LazyChart","fallback","Skeleton","props","Suspense"],"mappings":"uEAwBMA,CAAAA,CAAYC,CAAAA,CAAM,IAAA,CAAK,IAC3B,OAAO,6BAAU,EAAE,IAAA,CAAMC,CAAAA,GAAY,CACnC,OAAA,CAASA,CAAAA,CAAO,KAClB,EAAE,CACJ,CAAA,CAMaC,CAAAA,CAAsC,CAAC,CAClD,QAAA,CAAAC,EAAWH,CAAAA,CAAA,aAAA,CAACI,CAAAA,CAAA,CAAS,SAAA,CAAU,aAAA,CAAc,EAC7C,GAAGC,CACL,CAAA,GAEIL,CAAAA,CAAA,aAAA,CAACM,QAAAA,CAAA,CAAS,QAAA,CAAUH,CAAAA,CAAAA,CAClBH,CAAAA,CAAA,aAAA,CAACD,CAAAA,CAAA,CAAW,GAAGM,CAAAA,CAAO,CACxB,EAIJH,CAAAA,CAAU,WAAA,CAAc,WAAA","file":"chunk-HRJXPCGF.js","sourcesContent":["import React, { Suspense } from \"react\";\nimport { Skeleton } from \"./skeleton\";\n\n/**\n * Lazy-loaded Chart component wrapper\n * Use this for better code splitting when Charts are not immediately needed\n *\n * @example\n * ```tsx\n * import { LazyChart } from '@jarllyng/nostromo/components/core/charts-lazy';\n *\n * function Dashboard() {\n * return (\n * <LazyChart\n * type=\"line\"\n * data={data}\n * dataKeys={['sales', 'revenue']}\n * />\n * );\n * }\n * ```\n */\n\n// Dynamic import for Chart component with recharts\nconst ChartLazy = React.lazy(() =>\n import(\"./charts\").then((module) => ({\n default: module.Chart,\n })),\n);\n\nexport interface LazyChartProps extends React.ComponentProps<typeof ChartLazy> {\n fallback?: React.ReactNode;\n}\n\nexport const LazyChart: React.FC<LazyChartProps> = ({\n fallback = <Skeleton className=\"h-64 w-full\" />,\n ...props\n}) => {\n return (\n <Suspense fallback={fallback}>\n <ChartLazy {...props} />\n </Suspense>\n );\n};\n\nLazyChart.displayName = \"LazyChart\";\n"]}
|
package/dist/chunk-HWZTMVQV.cjs
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
'use strict';var chunkITRGJNWL_cjs=require('./chunk-ITRGJNWL.cjs'),t=require('react'),e=require('@radix-ui/react-tabs'),classVarianceAuthority=require('class-variance-authority');function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var t__namespace=/*#__PURE__*/_interopNamespace(t);var e__namespace=/*#__PURE__*/_interopNamespace(e);var f=classVarianceAuthority.cva("inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground transition-all duration-200 shadow-sm hover:shadow-md",{variants:{variant:{default:"bg-muted shadow-sm hover:shadow-md",outline:"border border-border bg-transparent shadow-sm hover:shadow-md",pills:"bg-transparent p-0 shadow-none",elevated:"bg-muted/50 shadow-md hover:shadow-lg",filled:"bg-muted shadow-sm hover:shadow-md"},size:{default:"h-10",sm:"h-8 text-sm",lg:"h-12 text-lg"}},defaultVariants:{variant:"default",size:"default"}}),m=classVarianceAuthority.cva("inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 hover:bg-muted/50",{variants:{variant:{default:"data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm data-[state=active]:border-border",outline:"data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:border-b-2 data-[state=active]:border-primary data-[state=active]:shadow-sm",pills:"data-[state=active]:bg-primary data-[state=active]:text-primary-foreground data-[state=active]:shadow-sm hover:bg-primary/10 hover:text-primary",elevated:"data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-md data-[state=active]:border-border",filled:"data-[state=active]:bg-muted data-[state=active]:text-foreground data-[state=active]:shadow-sm"},size:{default:"px-3 py-1.5 text-sm",sm:"px-2 py-1 text-xs",lg:"px-4 py-2 text-base"}},defaultVariants:{variant:"default",size:"default"}}),b=classVarianceAuthority.cva("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand-500 focus-visible:ring-offset-2 transition-all duration-200"),c=t__namespace.forwardRef(({className:a,...s},i)=>t__namespace.createElement(e__namespace.Root,{ref:i,className:chunkITRGJNWL_cjs.a("w-full",a),...s}));c.displayName="Tabs";var p=t__namespace.forwardRef(({className:a,variant:s,size:i,...o},n)=>t__namespace.createElement(e__namespace.List,{ref:n,className:chunkITRGJNWL_cjs.a(f({variant:s,size:i}),a),...o}));p.displayName="TabsList";var l=t__namespace.forwardRef(({className:a,variant:s,size:i,...o},n)=>t__namespace.createElement(e__namespace.Trigger,{ref:n,className:chunkITRGJNWL_cjs.a(m({variant:s,size:i}),a),...o}));l.displayName="TabsTrigger";var v=t__namespace.forwardRef(({className:a,...s},i)=>t__namespace.createElement(e__namespace.Content,{ref:i,className:chunkITRGJNWL_cjs.a(b(),a),...s}));v.displayName="TabsContent";exports.a=f;exports.b=m;exports.c=b;exports.d=c;exports.e=p;exports.f=l;exports.g=v;//# sourceMappingURL=chunk-HWZTMVQV.cjs.map
|
|
2
3
|
//# sourceMappingURL=chunk-HWZTMVQV.cjs.map
|
package/dist/chunk-IOX4WPJL.cjs
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
'use strict';var chunk7SPPGTBT_cjs=require('./chunk-7SPPGTBT.cjs'),chunkITRGJNWL_cjs=require('./chunk-ITRGJNWL.cjs'),e=require('react'),classVarianceAuthority=require('class-variance-authority');function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var e__namespace=/*#__PURE__*/_interopNamespace(e);var n=classVarianceAuthority.cva("relative flex shrink-0 overflow-hidden rounded-full transition-all duration-200 shadow-sm hover:shadow-md",{variants:{size:{sm:"h-8 w-8",default:"h-10 w-10",lg:"h-12 w-12",xl:"h-16 w-16"},variant:{default:"shadow-sm hover:shadow-md",elevated:"shadow-lg hover:shadow-xl",outline:"border-2 border-border shadow-sm hover:border-primary hover:shadow-md",filled:"bg-muted shadow-sm hover:shadow-md",interactive:"shadow-sm hover:shadow-md cursor-pointer hover:scale-105"}},defaultVariants:{size:"default",variant:"default"}}),u=e__namespace.forwardRef(({className:a,size:t,variant:r,src:s,alt:w,fallback:g,children:l,...m},d)=>{let[p,i]=e__namespace.useState(false);return e__namespace.useEffect(()=>{i(false);},[s]),l?e__namespace.createElement("div",{ref:d,className:chunkITRGJNWL_cjs.a(n({size:t,variant:r}),a),...m},l):e__namespace.createElement("div",{ref:d,className:chunkITRGJNWL_cjs.a(n({size:t,variant:r}),a),...m},s&&!p?e__namespace.createElement("img",{src:s,alt:w,className:"aspect-square h-full w-full object-cover",onError:()=>i(true)}):e__namespace.createElement("div",{className:"flex h-full w-full items-center justify-center rounded-full bg-muted text-sm font-medium text-muted-foreground"},g))});u.displayName="Avatar";var c=e__namespace.forwardRef(({className:a,...t},r)=>e__namespace.createElement("img",{ref:r,className:chunkITRGJNWL_cjs.a("aspect-square h-full w-full object-cover",a),...t}));c.displayName="AvatarImage";var v=e__namespace.forwardRef(({className:a,...t},r)=>e__namespace.createElement("div",{ref:r,className:chunkITRGJNWL_cjs.a("flex h-full w-full items-center justify-center rounded-full bg-muted text-sm font-medium text-muted-foreground",a),...t}));v.displayName="AvatarFallback";var h=chunk7SPPGTBT_cjs.a(u);h.Image=c;h.Fallback=v;exports.a=n;exports.b=c;exports.c=v;exports.d=h;//# sourceMappingURL=chunk-IOX4WPJL.cjs.map
|
|
2
3
|
//# sourceMappingURL=chunk-IOX4WPJL.cjs.map
|
package/dist/chunk-ITRGJNWL.cjs
CHANGED
package/dist/chunk-J4VRJVTO.cjs
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
'use strict';var chunkITRGJNWL_cjs=require('./chunk-ITRGJNWL.cjs'),t=require('react'),classVarianceAuthority=require('class-variance-authority');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var t__default=/*#__PURE__*/_interopDefault(t);var f=classVarianceAuthority.cva("py-16 md:py-24",{variants:{variant:{default:"bg-background",muted:"bg-muted/30",accent:"bg-accent/10"}},defaultVariants:{variant:"default"}}),p=classVarianceAuthority.cva("grid gap-8",{variants:{columns:{1:"grid-cols-1",2:"grid-cols-1 md:grid-cols-2",3:"grid-cols-1 md:grid-cols-2 lg:grid-cols-3",4:"grid-cols-1 md:grid-cols-2 lg:grid-cols-4"}},defaultVariants:{columns:3}}),v=classVarianceAuthority.cva("relative p-6 rounded-lg border bg-card text-card-foreground shadow-sm transition-all duration-200 hover:shadow-md",{variants:{variant:{default:"border-border hover:border-accent/20",accent:"border-accent/20 bg-accent/5 hover:bg-accent/10",muted:"border-muted bg-muted/20 hover:bg-muted/30"}},defaultVariants:{variant:"default"}}),x=classVarianceAuthority.cva("w-12 h-12 rounded-lg flex items-center justify-center mb-4",{variants:{variant:{default:"bg-primary/10 text-primary",accent:"bg-accent/20 text-accent-foreground",muted:"bg-muted text-muted-foreground",success:"bg-success-100 text-success-600",warning:"bg-warning-100 text-warning-600",error:"bg-error-100 text-error-600"}},defaultVariants:{variant:"default"}}),N=({features:o,title:n,subtitle:s,columns:d,cardVariant:c,variant:l,className:m,centered:i=true,...u})=>t__default.default.createElement("section",{className:chunkITRGJNWL_cjs.a(f({variant:l}),m),...u},t__default.default.createElement("div",{className:"container mx-auto px-4"},(n||s)&&t__default.default.createElement("div",{className:chunkITRGJNWL_cjs.a("mb-12",i&&"text-center")},n&&t__default.default.createElement("h2",{className:"text-3xl md:text-4xl font-bold tracking-tight mb-4"},n),s&&t__default.default.createElement("p",{className:chunkITRGJNWL_cjs.a("text-lg text-muted-foreground",i&&"max-w-2xl mx-auto")},s)),t__default.default.createElement("div",{className:chunkITRGJNWL_cjs.a(p({columns:d}))},o.map((a,g)=>t__default.default.createElement("div",{key:a.id||g,className:chunkITRGJNWL_cjs.a(v({variant:c}))},a.icon&&t__default.default.createElement("div",{className:chunkITRGJNWL_cjs.a(x({variant:a.iconVariant}))},a.icon),t__default.default.createElement("h3",{className:"text-xl font-semibold mb-3 text-foreground"},a.title),t__default.default.createElement("p",{className:"text-muted-foreground leading-relaxed"},a.description))))));exports.a=N;//# sourceMappingURL=chunk-J4VRJVTO.cjs.map
|
|
2
3
|
//# sourceMappingURL=chunk-J4VRJVTO.cjs.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
'use strict';var chunk5PVFLXPO_cjs=require('./chunk-5PVFLXPO.cjs'),chunkITRGJNWL_cjs=require('./chunk-ITRGJNWL.cjs'),a=require('react'),v=require('@radix-ui/react-popover'),classVarianceAuthority=require('class-variance-authority'),dateFns=require('date-fns');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var a__default=/*#__PURE__*/_interopDefault(a);var v__namespace=/*#__PURE__*/_interopNamespace(v);var ye=classVarianceAuthority.cva("inline-block rounded-lg border bg-background shadow-lg",{variants:{variant:{default:"border-border bg-card",outline:"border-2 border-border",ghost:"border-transparent bg-transparent shadow-none"},size:{sm:"p-2",md:"p-3",lg:"p-4"}},defaultVariants:{variant:"default",size:"md"}}),we=classVarianceAuthority.cva("flex items-center justify-center rounded-md font-medium transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"hover:bg-muted text-foreground",selected:"bg-primary text-primary-foreground hover:bg-primary/90 font-semibold",range:"bg-primary/10 text-primary hover:bg-primary/20 font-medium",today:"border-2 border-primary text-foreground font-semibold",outside:"text-muted-foreground",disabled:"text-muted-foreground/50 cursor-not-allowed"},size:{sm:"h-7 w-7 text-xs",md:"h-9 w-9 text-sm",lg:"h-11 w-11 text-base"}},defaultVariants:{variant:"default",size:"md"}}),W=n=>dateFns.getDaysInMonth(n),xe=(n,o)=>{let s=dateFns.getDay(dateFns.startOfMonth(n));return o===1?s===0?6:s-1:s},h=(n,o)=>!n||!o?false:dateFns.isSameDay(n,o),Ce=(n,o,s)=>!o&&!s?false:o&&s?dateFns.isWithinInterval(dateFns.startOfDay(n),{start:dateFns.startOfDay(o),end:dateFns.endOfDay(s)}):o?!dateFns.isBefore(dateFns.startOfDay(n),dateFns.startOfDay(o)):s?!dateFns.isAfter(dateFns.startOfDay(n),dateFns.endOfDay(s)):false,_=(n,o,s,I,N)=>!!(o&&dateFns.isBefore(dateFns.startOfDay(n),dateFns.startOfDay(o))||s&&dateFns.isAfter(dateFns.startOfDay(n),dateFns.endOfDay(s))||I?.some(Y=>h(Y,n))||N?.includes(dateFns.getDay(n))),x=(n,o="en-US")=>n?dateFns.format(n,"MMM d, yyyy"):"",ke=(n,o,s="en-US")=>!n&&!o?"":n&&o?`${x(n,s)} - ${x(o,s)}`:n?x(n,s):o?x(o,s):"",Fe=(n,o="en-US")=>n.length===0?"":n.length===1?x(n[0],o):`${n.length} dates selected`,Ne=a__default.default.forwardRef(({mode:n="single",value:o,defaultValue:s,onChange:I,minDate:N,maxDate:Y,disabledDates:A,disabledDays:H,locale:y="en-US",placeholder:X,label:V,error:L,helperText:U,className:Z,inputClassName:R,calendarClassName:ee,variant:te,size:K,showOutsideDays:C=true,firstDayOfWeek:P=1,...ne},re)=>{let[k,F]=a.useState(false),[i,c]=a.useState(new Date),[p,D]=a.useState(null),ae=a.useRef(null),$=a.useRef(new Map),[oe,se]=a.useState(s),j=o!==void 0,l=j?o:oe;a__default.default.useLayoutEffect(()=>{if(k&&!p){let e=new Date;e.setHours(0,0,0,0),D(e);}},[k,p]);let w=e=>{j||se(e),I?.(e);},z=e=>{if(!_(e,N,Y,A,H)){if(n==="single")w(e),F(false);else if(n==="range"){let r=l;if(!r?.from||r.from&&r.to)w({from:e});else {let t=r.from,d=e;d<t?w({from:d,to:t}):w({from:t,to:d}),F(false);}}else if(n==="multiple"){let r=l||[],t=r.findIndex(d=>h(d,e));t>=0?w(r.filter((d,u)=>u!==t)):w([...r,e]);}}},ie=a.useMemo(()=>{if(!l)return "";if(n==="single")return x(l,y);if(n==="range"){let e=l;return ke(e.from,e.to,y)}else return Fe(l,y)},[l,n,y]),le=a.useMemo(()=>{let e=[],r=new Date;r.setHours(0,0,0,0);let t=xe(i,P),d=W(i);if(C&&t>0){let u=new Date(i.getFullYear(),i.getMonth()-1),g=W(u);for(let m=g-t+1;m<=g;m++){let f=new Date(u.getFullYear(),u.getMonth(),m);e.push({date:f,isCurrentMonth:false,isToday:h(f,r)});}}for(let u=1;u<=d;u++){let g=new Date(i.getFullYear(),i.getMonth(),u);e.push({date:g,isCurrentMonth:true,isToday:h(g,r)});}if(C){let u=42-e.length,g=new Date(i.getFullYear(),i.getMonth()+1);for(let m=1;m<=u;m++){let f=new Date(g.getFullYear(),g.getMonth(),m);e.push({date:f,isCurrentMonth:false,isToday:h(f,r)});}}return e},[i,C,P]),ue=()=>{c(new Date(i.getFullYear(),i.getMonth()-1,1));},de=()=>{c(new Date(i.getFullYear(),i.getMonth()+1,1));},fe=()=>{let e=new Date;c(e),D(e);},ge=(e,r)=>{if(e.key==="Enter"||e.key===" "){e.preventDefault(),z(r);return}if(e.key==="ArrowRight"){e.preventDefault();let t=new Date(r);t.setDate(t.getDate()+1),D(t),t.getMonth()!==i.getMonth()&&c(new Date(t.getFullYear(),t.getMonth(),1));return}if(e.key==="ArrowLeft"){e.preventDefault();let t=new Date(r);t.setDate(t.getDate()-1),D(t),t.getMonth()!==i.getMonth()&&c(new Date(t.getFullYear(),t.getMonth(),1));return}if(e.key==="ArrowDown"){e.preventDefault();let t=new Date(r);t.setDate(t.getDate()+7),D(t),t.getMonth()!==i.getMonth()&&c(new Date(t.getFullYear(),t.getMonth(),1));return}if(e.key==="ArrowUp"){e.preventDefault();let t=new Date(r);t.setDate(t.getDate()-7),D(t),t.getMonth()!==i.getMonth()&&c(new Date(t.getFullYear(),t.getMonth(),1));return}if(e.key==="Home"){e.preventDefault();let t=new Date(r.getFullYear(),r.getMonth(),1);D(t);return}if(e.key==="End"){e.preventDefault();let t=new Date(r.getFullYear(),r.getMonth()+1,0);D(t);return}if(e.key==="PageUp"){e.preventDefault();let t=new Date(r.getFullYear(),r.getMonth()-1,r.getDate());D(t),c(new Date(t.getFullYear(),t.getMonth(),1));return}if(e.key==="PageDown"){e.preventDefault();let t=new Date(r.getFullYear(),r.getMonth()+1,r.getDate());D(t),c(new Date(t.getFullYear(),t.getMonth(),1));return}if(e.key==="Escape"){e.preventDefault(),F(false);return}};a.useEffect(()=>{if(p&&k){let e=`${p.getFullYear()}-${p.getMonth()}-${p.getDate()}`,r=$.current.get(e);r&&r.focus();}},[p,k]);let ce=a.useMemo(()=>{let e=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];return P===1?[...e.slice(1),e[0]]:e},[P]),De=i.toLocaleDateString(y,{month:"long",year:"numeric"});return a__default.default.createElement("div",{ref:re,className:chunkITRGJNWL_cjs.a("w-full",Z),...ne},a__default.default.createElement(v__namespace.Root,{open:k,onOpenChange:F},a__default.default.createElement("div",{className:"space-y-2"},V&&a__default.default.createElement("label",{className:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"},V),a__default.default.createElement(v__namespace.Trigger,{asChild:true},a__default.default.createElement("button",{type:"button",className:chunkITRGJNWL_cjs.a("flex w-full rounded-md border bg-background px-3 py-2 text-sm ring-offset-background","placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2","disabled:cursor-not-allowed disabled:opacity-50 transition-all duration-200 text-left",L?"border-error-500 shadow-sm hover:border-error-600 focus-visible:ring-error-500/20 focus-visible:border-error-500":"border-border shadow-sm hover:border-primary focus-visible:ring-ring/20 focus-visible:border-primary","h-10",R),onClick:()=>F(true),"aria-label":V||"Open calendar","aria-invalid":L},ie||a__default.default.createElement("span",{className:"text-muted-foreground"},X||"Select date..."))),U&&a__default.default.createElement("p",{className:chunkITRGJNWL_cjs.a("text-sm text-muted-foreground",L&&"text-error-600")},U)),a__default.default.createElement(v__namespace.Portal,null,a__default.default.createElement(v__namespace.Content,{className:chunkITRGJNWL_cjs.a("z-50 w-auto rounded-lg border bg-popover p-4 shadow-lg","data-[state=open]:animate-in data-[state=closed]:animate-out","data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0","data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95","data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2","data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2"),sideOffset:5,align:"start"},a__default.default.createElement("div",{ref:ae,className:chunkITRGJNWL_cjs.a(ye({variant:te,size:K}),ee),role:"application","aria-label":"Calendar"},a__default.default.createElement("div",{className:"flex items-center justify-between mb-4"},a__default.default.createElement("div",{className:"flex items-center gap-2"},a__default.default.createElement(chunk5PVFLXPO_cjs.b,{variant:"ghost",size:"sm",onClick:ue,"aria-label":"Previous month"},a__default.default.createElement("svg",{className:"h-4 w-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},a__default.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"}))),a__default.default.createElement("h3",{className:"text-sm font-semibold text-popover-foreground","data-testid":"calendar-month-year"},De),a__default.default.createElement(chunk5PVFLXPO_cjs.b,{variant:"ghost",size:"sm",onClick:de,"aria-label":"Next month"},a__default.default.createElement("svg",{className:"h-4 w-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},a__default.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})))),a__default.default.createElement(chunk5PVFLXPO_cjs.b,{variant:"ghost",size:"sm",onClick:fe,className:"text-xs"},"Today")),a__default.default.createElement("div",{className:"grid grid-cols-7 gap-1 mb-2"},ce.map(e=>a__default.default.createElement("div",{key:e,className:"text-center text-xs font-medium text-muted-foreground"},e))),a__default.default.createElement("div",{className:"grid grid-cols-7 gap-1"},le.map((e,r)=>{let t=n==="single"?h(e.date,l):n==="range"?Ce(e.date,l?.from,l?.to):l?.some(f=>h(f,e.date)),d=_(e.date,N,Y,A,H),u=n==="range"&&l?.from&&!l?.to&&e.date>=l.from,g=`${e.date.getFullYear()}-${e.date.getMonth()}-${e.date.getDate()}`,m=p&&h(e.date,p);return a__default.default.createElement("button",{key:`${e.date.getTime()}-${r}`,ref:f=>{f?$.current.set(g,f):$.current.delete(g);},type:"button",onClick:()=>{C&&!e.isCurrentMonth&&c(new Date(e.date.getFullYear(),e.date.getMonth(),1)),z(e.date);},onKeyDown:f=>ge(f,e.date),disabled:d||(C?false:!e.isCurrentMonth),className:chunkITRGJNWL_cjs.a(we({variant:t?"selected":u?"range":e.isToday?"today":e.isCurrentMonth?d?"disabled":"default":"outside",size:K}),!e.isCurrentMonth&&"opacity-50",m&&"ring-2 ring-brand-500 ring-offset-2 z-10"),"aria-label":e.date.toLocaleDateString(y,{weekday:"long",year:"numeric",month:"long",day:"numeric"}),"aria-selected":t,"aria-disabled":d,tabIndex:m?0:-1},e.date.getDate())})),n==="range"&&l?.from&&!l?.to&&a__default.default.createElement("div",{className:"mt-4 pt-4 border-t border-border"},a__default.default.createElement("p",{className:"text-xs text-muted-foreground text-center"},"Select end date")))))))});Ne.displayName="Calendar";exports.a=ye;exports.b=we;exports.c=Ne;//# sourceMappingURL=chunk-JCETHQ55.cjs.map
|
|
3
|
+
//# sourceMappingURL=chunk-JCETHQ55.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/core/calendar.tsx"],"names":["calendarVariants","cva","calendarDayVariants","getDaysInMonth","date","dateFnsGetDaysInMonth","getFirstDayOfMonth","firstDayOfWeek","firstDay","getDay","startOfMonth","isSameDay","date1","date2","dateFnsIsSameDay","isDateInRange","from","to","isWithinInterval","startOfDay","endOfDay","isBefore","isAfter","isDateDisabled","minDate","maxDate","disabledDates","disabledDays","d","formatDate","_locale","dateFnsFormat","formatDateRange","locale","formatMultipleDates","dates","Calendar","React","mode","value","defaultValue","onChange","placeholder","label","error","helperText","className","inputClassName","calendarClassName","variant","size","showOutsideDays","props","ref","open","setOpen","useState","currentMonth","setCurrentMonth","focusedDate","setFocusedDate","calendarRef","useRef","dayButtonRefs","internalValue","setInternalValue","isControlled","calendarValue","today","handleValueChange","newValue","handleDateClick","rangeValue","multipleValue","dateIndex","_","i","displayValue","useMemo","range","calendarDays","days","daysInMonth","prevMonth","daysInPrevMonth","remainingDays","nextMonth","goToPreviousMonth","goToNextMonth","goToToday","handleKeyDown","nextDate","prevDate","lastDay","useEffect","dateKey","button","dayNames","names","monthYearDisplay","cn","v","Button","day","index","isSelected","isDisabled","isInRange","isFocused","el","e"],"mappings":"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","file":"chunk-JCETHQ55.cjs","sourcesContent":["import React, { useState, useMemo, useRef, useEffect } from \"react\";\nimport * as Popover from \"@radix-ui/react-popover\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport {\n getDaysInMonth as dateFnsGetDaysInMonth,\n startOfMonth,\n getDay,\n isSameDay as dateFnsIsSameDay,\n isWithinInterval,\n isBefore,\n isAfter,\n format as dateFnsFormat,\n startOfDay,\n endOfDay,\n} from \"date-fns\";\nimport { cn } from \"../../lib/utils\";\nimport { Button } from \"./button\";\n\n// Calendar variants\nconst calendarVariants = cva(\n \"inline-block rounded-lg border bg-background shadow-lg\",\n {\n variants: {\n variant: {\n default: \"border-border bg-card\",\n outline: \"border-2 border-border\",\n ghost: \"border-transparent bg-transparent shadow-none\",\n },\n size: {\n sm: \"p-2\",\n md: \"p-3\",\n lg: \"p-4\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"md\",\n },\n },\n);\n\nconst calendarDayVariants = cva(\n \"flex items-center justify-center rounded-md font-medium transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50\",\n {\n variants: {\n variant: {\n default: \"hover:bg-muted text-foreground\",\n selected:\n \"bg-primary text-primary-foreground hover:bg-primary/90 font-semibold\",\n range: \"bg-primary/10 text-primary hover:bg-primary/20 font-medium\",\n today: \"border-2 border-primary text-foreground font-semibold\",\n outside: \"text-muted-foreground\",\n disabled: \"text-muted-foreground/50 cursor-not-allowed\",\n },\n size: {\n sm: \"h-7 w-7 text-xs\",\n md: \"h-9 w-9 text-sm\",\n lg: \"h-11 w-11 text-base\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"md\",\n },\n },\n);\n\nexport type CalendarMode = \"single\" | \"range\" | \"multiple\";\n\nexport interface CalendarProps extends VariantProps<typeof calendarVariants> {\n mode?: CalendarMode;\n value?: Date | Date[] | { from?: Date; to?: Date };\n defaultValue?: Date | Date[] | { from?: Date; to?: Date };\n onChange?: (\n value: Date | Date[] | { from?: Date; to?: Date } | undefined,\n ) => void;\n minDate?: Date;\n maxDate?: Date;\n disabledDates?: Date[];\n disabledDays?: number[]; // 0 = Sunday, 1 = Monday, etc.\n locale?: string;\n placeholder?: string;\n label?: string;\n error?: boolean;\n helperText?: string;\n className?: string;\n inputClassName?: string;\n calendarClassName?: string;\n showOutsideDays?: boolean;\n firstDayOfWeek?: 0 | 1; // 0 = Sunday, 1 = Monday\n}\n\n// Helper functions using date-fns for robust date manipulation\nconst getDaysInMonth = (date: Date): number => {\n return dateFnsGetDaysInMonth(date);\n};\n\nconst getFirstDayOfMonth = (date: Date, firstDayOfWeek: 0 | 1): number => {\n // Use date-fns getDay for consistent day-of-week calculation\n const firstDay = getDay(startOfMonth(date));\n // Convert Sunday (0) to Monday-first (6) if needed\n // Sunday = 0, Monday = 1, ..., Saturday = 6\n // For Monday-first: Sunday becomes 6, Monday becomes 0, etc.\n return firstDayOfWeek === 1 ? (firstDay === 0 ? 6 : firstDay - 1) : firstDay;\n};\n\nconst isSameDay = (\n date1: Date | undefined,\n date2: Date | undefined,\n): boolean => {\n if (!date1 || !date2) return false;\n return dateFnsIsSameDay(date1, date2);\n};\n\nconst isDateInRange = (date: Date, from?: Date, to?: Date): boolean => {\n if (!from && !to) return false;\n if (from && to) {\n // Use date-fns isWithinInterval for proper date range checking\n return isWithinInterval(startOfDay(date), {\n start: startOfDay(from),\n end: endOfDay(to),\n });\n }\n if (from) return !isBefore(startOfDay(date), startOfDay(from));\n if (to) return !isAfter(startOfDay(date), endOfDay(to));\n return false;\n};\n\nconst isDateDisabled = (\n date: Date,\n minDate?: Date,\n maxDate?: Date,\n disabledDates?: Date[],\n disabledDays?: number[],\n): boolean => {\n if (minDate && isBefore(startOfDay(date), startOfDay(minDate))) return true;\n if (maxDate && isAfter(startOfDay(date), endOfDay(maxDate))) return true;\n if (disabledDates?.some((d) => isSameDay(d, date))) return true;\n if (disabledDays?.includes(getDay(date))) return true;\n return false;\n};\n\nconst formatDate = (\n date: Date | undefined,\n _locale: string = \"en-US\",\n): string => {\n if (!date) return \"\";\n // Use date-fns format for consistent formatting\n // Note: date-fns uses locale objects, but we'll use a simple format for now\n // For full locale support, import locale from 'date-fns/locale'\n // Locale parameter is kept for API compatibility but not yet used\n return dateFnsFormat(date, \"MMM d, yyyy\");\n};\n\nconst formatDateRange = (\n from?: Date,\n to?: Date,\n locale: string = \"en-US\",\n): string => {\n if (!from && !to) return \"\";\n if (from && to) {\n return `${formatDate(from, locale)} - ${formatDate(to, locale)}`;\n }\n if (from) return formatDate(from, locale);\n if (to) return formatDate(to, locale);\n return \"\";\n};\n\nconst formatMultipleDates = (\n dates: Date[],\n _locale: string = \"en-US\",\n): string => {\n if (dates.length === 0) return \"\";\n if (dates.length === 1) return formatDate(dates[0], _locale);\n return `${dates.length} dates selected`;\n};\n\nexport const Calendar = React.forwardRef<HTMLDivElement, CalendarProps>(\n (\n {\n mode = \"single\",\n value,\n defaultValue,\n onChange,\n minDate,\n maxDate,\n disabledDates,\n disabledDays,\n locale = \"en-US\",\n placeholder,\n label,\n error,\n helperText,\n className,\n inputClassName,\n calendarClassName,\n variant,\n size,\n showOutsideDays = true,\n firstDayOfWeek = 1,\n ...props\n },\n ref,\n ) => {\n const [open, setOpen] = useState(false);\n const [currentMonth, setCurrentMonth] = useState(new Date());\n const [focusedDate, setFocusedDate] = useState<Date | null>(null);\n const calendarRef = useRef<HTMLDivElement>(null);\n const dayButtonRefs = useRef<Map<string, HTMLButtonElement>>(new Map());\n\n // Controlled vs uncontrolled\n const [internalValue, setInternalValue] = useState<\n Date | Date[] | { from?: Date; to?: Date } | undefined\n >(defaultValue);\n\n const isControlled = value !== undefined;\n const calendarValue = isControlled ? value : internalValue;\n\n // Set focused date when calendar opens\n React.useLayoutEffect(() => {\n if (open && !focusedDate) {\n const today = new Date();\n today.setHours(0, 0, 0, 0);\n setFocusedDate(today);\n }\n }, [open, focusedDate]);\n\n // Handle value changes\n const handleValueChange = (\n newValue: Date | Date[] | { from?: Date; to?: Date } | undefined,\n ) => {\n if (!isControlled) {\n setInternalValue(newValue);\n }\n onChange?.(newValue);\n };\n\n // Handle date selection\n const handleDateClick = (date: Date) => {\n if (isDateDisabled(date, minDate, maxDate, disabledDates, disabledDays)) {\n return;\n }\n\n if (mode === \"single\") {\n handleValueChange(date);\n setOpen(false);\n } else if (mode === \"range\") {\n const rangeValue = calendarValue as\n { from?: Date; to?: Date } | undefined;\n if (!rangeValue?.from || (rangeValue.from && rangeValue.to)) {\n // Start new range\n handleValueChange({ from: date });\n } else {\n // Complete range\n const from = rangeValue.from;\n const to = date;\n if (to < from) {\n handleValueChange({ from: to, to: from });\n } else {\n handleValueChange({ from, to });\n }\n setOpen(false);\n }\n } else if (mode === \"multiple\") {\n const multipleValue = (calendarValue as Date[]) || [];\n const dateIndex = multipleValue.findIndex((d) => isSameDay(d, date));\n if (dateIndex >= 0) {\n // Remove date\n handleValueChange(multipleValue.filter((_, i) => i !== dateIndex));\n } else {\n // Add date\n handleValueChange([...multipleValue, date]);\n }\n }\n };\n\n // Get display value\n const displayValue = useMemo(() => {\n if (!calendarValue) return \"\";\n\n if (mode === \"single\") {\n return formatDate(calendarValue as Date, locale);\n } else if (mode === \"range\") {\n const range = calendarValue as { from?: Date; to?: Date };\n return formatDateRange(range.from, range.to, locale);\n } else {\n return formatMultipleDates(calendarValue as Date[], locale);\n }\n }, [calendarValue, mode, locale]);\n\n // Generate calendar days\n const calendarDays = useMemo(() => {\n const days: Array<{\n date: Date;\n isCurrentMonth: boolean;\n isToday: boolean;\n }> = [];\n const today = new Date();\n today.setHours(0, 0, 0, 0);\n\n const firstDay = getFirstDayOfMonth(currentMonth, firstDayOfWeek);\n const daysInMonth = getDaysInMonth(currentMonth);\n\n // Previous month days\n if (showOutsideDays && firstDay > 0) {\n const prevMonth = new Date(\n currentMonth.getFullYear(),\n currentMonth.getMonth() - 1,\n );\n const daysInPrevMonth = getDaysInMonth(prevMonth);\n for (\n let i = daysInPrevMonth - firstDay + 1;\n i <= daysInPrevMonth;\n i++\n ) {\n const date = new Date(\n prevMonth.getFullYear(),\n prevMonth.getMonth(),\n i,\n );\n days.push({\n date,\n isCurrentMonth: false,\n isToday: isSameDay(date, today),\n });\n }\n }\n\n // Current month days\n for (let i = 1; i <= daysInMonth; i++) {\n const date = new Date(\n currentMonth.getFullYear(),\n currentMonth.getMonth(),\n i,\n );\n days.push({\n date,\n isCurrentMonth: true,\n isToday: isSameDay(date, today),\n });\n }\n\n // Next month days\n if (showOutsideDays) {\n const remainingDays = 42 - days.length; // 6 weeks * 7 days\n const nextMonth = new Date(\n currentMonth.getFullYear(),\n currentMonth.getMonth() + 1,\n );\n for (let i = 1; i <= remainingDays; i++) {\n const date = new Date(\n nextMonth.getFullYear(),\n nextMonth.getMonth(),\n i,\n );\n days.push({\n date,\n isCurrentMonth: false,\n isToday: isSameDay(date, today),\n });\n }\n }\n\n return days;\n }, [currentMonth, showOutsideDays, firstDayOfWeek]);\n\n // Navigate months\n const goToPreviousMonth = () => {\n setCurrentMonth(\n new Date(currentMonth.getFullYear(), currentMonth.getMonth() - 1, 1),\n );\n };\n\n const goToNextMonth = () => {\n setCurrentMonth(\n new Date(currentMonth.getFullYear(), currentMonth.getMonth() + 1, 1),\n );\n };\n\n const goToToday = () => {\n const today = new Date();\n setCurrentMonth(today);\n setFocusedDate(today);\n };\n\n // Keyboard navigation\n const handleKeyDown = (e: React.KeyboardEvent, date: Date) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n handleDateClick(date);\n return;\n }\n\n if (e.key === \"ArrowRight\") {\n e.preventDefault();\n const nextDate = new Date(date);\n nextDate.setDate(nextDate.getDate() + 1);\n setFocusedDate(nextDate);\n // Update month if needed\n if (nextDate.getMonth() !== currentMonth.getMonth()) {\n setCurrentMonth(\n new Date(nextDate.getFullYear(), nextDate.getMonth(), 1),\n );\n }\n return;\n }\n\n if (e.key === \"ArrowLeft\") {\n e.preventDefault();\n const prevDate = new Date(date);\n prevDate.setDate(prevDate.getDate() - 1);\n setFocusedDate(prevDate);\n // Update month if needed\n if (prevDate.getMonth() !== currentMonth.getMonth()) {\n setCurrentMonth(\n new Date(prevDate.getFullYear(), prevDate.getMonth(), 1),\n );\n }\n return;\n }\n\n if (e.key === \"ArrowDown\") {\n e.preventDefault();\n const nextDate = new Date(date);\n nextDate.setDate(nextDate.getDate() + 7);\n setFocusedDate(nextDate);\n // Update month if needed\n if (nextDate.getMonth() !== currentMonth.getMonth()) {\n setCurrentMonth(\n new Date(nextDate.getFullYear(), nextDate.getMonth(), 1),\n );\n }\n return;\n }\n\n if (e.key === \"ArrowUp\") {\n e.preventDefault();\n const prevDate = new Date(date);\n prevDate.setDate(prevDate.getDate() - 7);\n setFocusedDate(prevDate);\n // Update month if needed\n if (prevDate.getMonth() !== currentMonth.getMonth()) {\n setCurrentMonth(\n new Date(prevDate.getFullYear(), prevDate.getMonth(), 1),\n );\n }\n return;\n }\n\n if (e.key === \"Home\") {\n e.preventDefault();\n const firstDay = new Date(date.getFullYear(), date.getMonth(), 1);\n setFocusedDate(firstDay);\n return;\n }\n\n if (e.key === \"End\") {\n e.preventDefault();\n const lastDay = new Date(date.getFullYear(), date.getMonth() + 1, 0);\n setFocusedDate(lastDay);\n return;\n }\n\n if (e.key === \"PageUp\") {\n e.preventDefault();\n const prevMonth = new Date(\n date.getFullYear(),\n date.getMonth() - 1,\n date.getDate(),\n );\n setFocusedDate(prevMonth);\n setCurrentMonth(\n new Date(prevMonth.getFullYear(), prevMonth.getMonth(), 1),\n );\n return;\n }\n\n if (e.key === \"PageDown\") {\n e.preventDefault();\n const nextMonth = new Date(\n date.getFullYear(),\n date.getMonth() + 1,\n date.getDate(),\n );\n setFocusedDate(nextMonth);\n setCurrentMonth(\n new Date(nextMonth.getFullYear(), nextMonth.getMonth(), 1),\n );\n return;\n }\n\n if (e.key === \"Escape\") {\n e.preventDefault();\n setOpen(false);\n return;\n }\n };\n\n // Focus management\n useEffect(() => {\n if (focusedDate && open) {\n const dateKey = `${focusedDate.getFullYear()}-${focusedDate.getMonth()}-${focusedDate.getDate()}`;\n const button = dayButtonRefs.current.get(dateKey);\n if (button) {\n button.focus();\n }\n }\n }, [focusedDate, open]);\n\n // Day names\n const dayNames = useMemo(() => {\n const names = [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"];\n if (firstDayOfWeek === 1) {\n return [...names.slice(1), names[0]];\n }\n return names;\n }, [firstDayOfWeek]);\n\n // Month/year display\n const monthYearDisplay = currentMonth.toLocaleDateString(locale, {\n month: \"long\",\n year: \"numeric\",\n });\n\n return (\n <div ref={ref} className={cn(\"w-full\", className)} {...props}>\n <Popover.Root open={open} onOpenChange={setOpen}>\n <div className=\"space-y-2\">\n {label && (\n <label className=\"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\">\n {label}\n </label>\n )}\n <Popover.Trigger asChild>\n <button\n type=\"button\"\n className={cn(\n \"flex w-full rounded-md border bg-background px-3 py-2 text-sm ring-offset-background\",\n \"placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2\",\n \"disabled:cursor-not-allowed disabled:opacity-50 transition-all duration-200 text-left\",\n error\n ? \"border-error-500 shadow-sm hover:border-error-600 focus-visible:ring-error-500/20 focus-visible:border-error-500\"\n : \"border-border shadow-sm hover:border-primary focus-visible:ring-ring/20 focus-visible:border-primary\",\n \"h-10\",\n inputClassName,\n )}\n // No onFocus handler here. Radix returns focus to the trigger\n // when the popover closes, so opening on focus meant selecting a\n // date closed it and immediately reopened it - the flicker. It\n // also popped the calendar open when tabbing past the field.\n onClick={() => setOpen(true)}\n aria-label={label || \"Open calendar\"}\n aria-invalid={error}\n >\n {displayValue || (\n <span className=\"text-muted-foreground\">\n {placeholder || \"Select date...\"}\n </span>\n )}\n </button>\n </Popover.Trigger>\n {helperText && (\n <p\n className={cn(\n \"text-sm text-muted-foreground\",\n error && \"text-error-600\",\n )}\n >\n {helperText}\n </p>\n )}\n </div>\n\n <Popover.Portal>\n <Popover.Content\n className={cn(\n \"z-50 w-auto rounded-lg border bg-popover p-4 shadow-lg\",\n \"data-[state=open]:animate-in data-[state=closed]:animate-out\",\n \"data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n \"data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95\",\n \"data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2\",\n \"data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n )}\n sideOffset={5}\n align=\"start\"\n >\n <div\n ref={calendarRef}\n className={cn(\n calendarVariants({ variant, size }),\n calendarClassName,\n )}\n role=\"application\"\n aria-label=\"Calendar\"\n >\n {/* Header */}\n <div className=\"flex items-center justify-between mb-4\">\n <div className=\"flex items-center gap-2\">\n <Button\n variant=\"ghost\"\n size=\"sm\"\n onClick={goToPreviousMonth}\n aria-label=\"Previous month\"\n >\n <svg\n className=\"h-4 w-4\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M15 19l-7-7 7-7\"\n />\n </svg>\n </Button>\n\n <h3\n className=\"text-sm font-semibold text-popover-foreground\"\n data-testid=\"calendar-month-year\"\n >\n {monthYearDisplay}\n </h3>\n\n <Button\n variant=\"ghost\"\n size=\"sm\"\n onClick={goToNextMonth}\n aria-label=\"Next month\"\n >\n <svg\n className=\"h-4 w-4\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M9 5l7 7-7 7\"\n />\n </svg>\n </Button>\n </div>\n\n <Button\n variant=\"ghost\"\n size=\"sm\"\n onClick={goToToday}\n className=\"text-xs\"\n >\n Today\n </Button>\n </div>\n\n {/* Day names */}\n <div className=\"grid grid-cols-7 gap-1 mb-2\">\n {dayNames.map((day) => (\n <div\n key={day}\n className=\"text-center text-xs font-medium text-muted-foreground\"\n >\n {day}\n </div>\n ))}\n </div>\n\n {/* Calendar grid */}\n <div className=\"grid grid-cols-7 gap-1\">\n {calendarDays.map((day, index) => {\n const isSelected =\n mode === \"single\"\n ? isSameDay(day.date, calendarValue as Date | undefined)\n : mode === \"range\"\n ? isDateInRange(\n day.date,\n (calendarValue as { from?: Date; to?: Date })\n ?.from,\n (calendarValue as { from?: Date; to?: Date })?.to,\n )\n : (calendarValue as Date[])?.some((d) =>\n isSameDay(d, day.date),\n );\n\n const isDisabled = isDateDisabled(\n day.date,\n minDate,\n maxDate,\n disabledDates,\n disabledDays,\n );\n\n const isInRange =\n mode === \"range\" &&\n (calendarValue as { from?: Date; to?: Date })?.from &&\n !(calendarValue as { from?: Date; to?: Date })?.to &&\n day.date >=\n (calendarValue as { from?: Date; to?: Date }).from!;\n\n const dateKey = `${day.date.getFullYear()}-${day.date.getMonth()}-${day.date.getDate()}`;\n const isFocused =\n focusedDate && isSameDay(day.date, focusedDate);\n\n return (\n <button\n key={`${day.date.getTime()}-${index}`}\n ref={(el) => {\n if (el) {\n dayButtonRefs.current.set(dateKey, el);\n } else {\n dayButtonRefs.current.delete(dateKey);\n }\n }}\n type=\"button\"\n onClick={() => {\n if (showOutsideDays && !day.isCurrentMonth) {\n // Navigate to the month of the clicked date\n setCurrentMonth(\n new Date(\n day.date.getFullYear(),\n day.date.getMonth(),\n 1,\n ),\n );\n // Synchronously: React batches both updates into one\n // render. Deferring the selection by a tick showed the\n // new month first and selected a frame later, which\n // read as a flash.\n handleDateClick(day.date);\n } else {\n handleDateClick(day.date);\n }\n }}\n onKeyDown={(e) => handleKeyDown(e, day.date)}\n disabled={\n isDisabled ||\n (showOutsideDays ? false : !day.isCurrentMonth)\n }\n className={cn(\n calendarDayVariants({\n variant: isSelected\n ? \"selected\"\n : isInRange\n ? \"range\"\n : day.isToday\n ? \"today\"\n : !day.isCurrentMonth\n ? \"outside\"\n : isDisabled\n ? \"disabled\"\n : \"default\",\n size,\n }),\n !day.isCurrentMonth && \"opacity-50\",\n isFocused &&\n \"ring-2 ring-brand-500 ring-offset-2 z-10\",\n )}\n aria-label={day.date.toLocaleDateString(locale, {\n weekday: \"long\",\n year: \"numeric\",\n month: \"long\",\n day: \"numeric\",\n })}\n aria-selected={isSelected}\n aria-disabled={isDisabled}\n tabIndex={isFocused ? 0 : -1}\n >\n {day.date.getDate()}\n </button>\n );\n })}\n </div>\n\n {/* Footer for range mode */}\n {mode === \"range\" &&\n (calendarValue as { from?: Date; to?: Date })?.from &&\n !(calendarValue as { from?: Date; to?: Date })?.to && (\n <div className=\"mt-4 pt-4 border-t border-border\">\n <p className=\"text-xs text-muted-foreground text-center\">\n Select end date\n </p>\n </div>\n )}\n </div>\n </Popover.Content>\n </Popover.Portal>\n </Popover.Root>\n </div>\n );\n },\n);\n\nCalendar.displayName = \"Calendar\";\n\nexport { calendarVariants, calendarDayVariants };\n"]}
|
package/dist/chunk-JEHIMQQZ.js
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
import {a}from'./chunk-AC2JBXHQ.js';import t from'react';import {cva}from'class-variance-authority';var f=cva("relative overflow-hidden bg-gradient-to-br from-background to-muted/20",{variants:{size:{sm:"py-16 md:py-20",md:"py-20 md:py-28",lg:"py-24 md:py-32",xl:"py-32 md:py-40"},variant:{default:"text-foreground",muted:"text-muted-foreground",accent:"text-accent-foreground bg-accent/10"}},defaultVariants:{size:"md",variant:"default"}}),u=cva("container mx-auto px-4 text-center",{variants:{align:{left:"text-left",center:"text-center",right:"text-right"}},defaultVariants:{align:"center"}}),V=cva("font-bold tracking-tight",{variants:{size:{sm:"text-3xl md:text-4xl lg:text-5xl",md:"text-4xl md:text-5xl lg:text-6xl",lg:"text-5xl md:text-6xl lg:text-7xl",xl:"text-6xl md:text-7xl lg:text-8xl"}},defaultVariants:{size:"md"}}),b=cva("mt-4 text-lg md:text-xl text-muted-foreground max-w-2xl mx-auto",{variants:{size:{sm:"text-base md:text-lg",md:"text-lg md:text-xl",lg:"text-xl md:text-2xl"}},defaultVariants:{size:"md"}}),z=({title:l,subtitle:r,cta:i,className:o,size:x,variant:d,contentAlign:m,titleSize:g,subtitleSize:c,backgroundImage:n,overlay:s=false,...p})=>t.createElement("section",{className:a(f({size:x,variant:d}),o),style:n?{backgroundImage:`url(${n})`}:void 0,...p},s&&t.createElement("div",{className:"absolute inset-0 bg-background/80 backdrop-blur-sm"}),t.createElement("div",{className:a(u({align:m}),s&&"relative z-10")},t.createElement("h1",{className:a(V({size:g}))},l),r&&t.createElement("p",{className:a(b({size:c}))},r),i&&t.createElement("div",{className:"mt-8 flex flex-col sm:flex-row gap-4 justify-center items-center"},i)));export{z as a};//# sourceMappingURL=chunk-JEHIMQQZ.js.map
|
|
2
3
|
//# sourceMappingURL=chunk-JEHIMQQZ.js.map
|
package/dist/chunk-JUOCEYUF.cjs
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
'use strict';var chunkITRGJNWL_cjs=require('./chunk-ITRGJNWL.cjs'),a=require('react'),classVarianceAuthority=require('class-variance-authority');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var a__default=/*#__PURE__*/_interopDefault(a);var f=classVarianceAuthority.cva("py-16 md:py-24",{variants:{variant:{default:"bg-background",muted:"bg-muted/30",accent:"bg-accent/10"}},defaultVariants:{variant:"default"}}),x=classVarianceAuthority.cva("grid gap-8",{variants:{columns:{1:"grid-cols-1",2:"grid-cols-1 md:grid-cols-2",3:"grid-cols-1 md:grid-cols-2 lg:grid-cols-3",4:"grid-cols-1 md:grid-cols-2 lg:grid-cols-4"}},defaultVariants:{columns:3}}),b=classVarianceAuthority.cva("relative p-6 rounded-lg border bg-card text-card-foreground shadow-sm",{variants:{variant:{default:"border-border",accent:"border-accent/20 bg-accent/5",muted:"border-muted bg-muted/20"}},defaultVariants:{variant:"default"}}),h=({testimonials:d,title:e,subtitle:s,columns:m,cardVariant:l,variant:c,className:g,showRatings:u=true,...v})=>{let p=r=>Array.from({length:5},(o,i)=>a__default.default.createElement("span",{key:i,className:chunkITRGJNWL_cjs.a("text-lg",i<r?"text-yellow-400":"text-muted-foreground/30")},"\u2605"));return a__default.default.createElement("section",{className:chunkITRGJNWL_cjs.a(f({variant:c}),g),...v},a__default.default.createElement("div",{className:"container mx-auto px-4"},(e||s)&&a__default.default.createElement("div",{className:"text-center mb-12"},e&&a__default.default.createElement("h2",{className:"text-3xl md:text-4xl font-bold tracking-tight mb-4"},e),s&&a__default.default.createElement("p",{className:"text-lg text-muted-foreground max-w-2xl mx-auto"},s)),a__default.default.createElement("div",{className:chunkITRGJNWL_cjs.a(x({columns:m}))},d.map((r,o)=>a__default.default.createElement("div",{key:r.id||o,className:chunkITRGJNWL_cjs.a(b({variant:l}))},u&&r.rating&&a__default.default.createElement("div",{className:"flex mb-4"},p(r.rating)),a__default.default.createElement("blockquote",{className:"text-muted-foreground mb-6"},"\u201C",r.content,"\u201D"),a__default.default.createElement("div",{className:"flex items-center gap-3"},r.avatar&&a__default.default.createElement("img",{src:r.avatar,alt:r.name,className:"w-10 h-10 rounded-full object-cover"}),a__default.default.createElement("div",null,a__default.default.createElement("div",{className:"font-semibold text-foreground"},r.name),a__default.default.createElement("div",{className:"text-sm text-muted-foreground"},r.role,r.company&&` at ${r.company}`))))))))};exports.a=h;//# sourceMappingURL=chunk-JUOCEYUF.cjs.map
|
|
2
3
|
//# sourceMappingURL=chunk-JUOCEYUF.cjs.map
|
package/dist/chunk-K2JCGDU7.cjs
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
'use strict';var chunkITRGJNWL_cjs=require('./chunk-ITRGJNWL.cjs'),e=require('react'),t=require('@radix-ui/react-select'),classVarianceAuthority=require('class-variance-authority');function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var e__namespace=/*#__PURE__*/_interopNamespace(e);var t__namespace=/*#__PURE__*/_interopNamespace(t);var d=classVarianceAuthority.cva("flex h-10 w-full items-center justify-between rounded-md border bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 transition-all duration-200 shadow-sm hover:shadow-md",{variants:{variant:{default:"border-border hover:border-border focus:border-ring",outline:"border-2 border-border hover:border-border focus:border-ring",ghost:"border-transparent bg-transparent hover:bg-muted",error:"border-destructive hover:border-destructive/80 focus:border-destructive focus:ring-destructive",success:"border-success-500 hover:border-success-600 focus:border-success-500 focus:ring-success-500"},size:{default:"h-10 px-3 py-2 text-sm",sm:"h-8 px-2 py-1 text-xs",lg:"h-12 px-4 py-3 text-base"}},defaultVariants:{variant:"default",size:"default"}}),p=classVarianceAuthority.cva("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-lg transition-all duration-200",{variants:{variant:{default:"border-border shadow-lg hover:shadow-xl",outline:"border-2 border-border shadow-lg hover:shadow-xl",ghost:"border-transparent shadow-xl hover:shadow-2xl",error:"border-destructive/20 shadow-lg hover:shadow-xl",success:"border-success-200 shadow-lg hover:shadow-xl"}},defaultVariants:{variant:"default"}}),m=classVarianceAuthority.cva("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 transition-all duration-200",{variants:{variant:{default:"focus:bg-accent focus:text-accent-foreground hover:bg-muted",highlight:"focus:bg-primary/10 focus:text-primary hover:bg-primary/5",error:"focus:bg-destructive/10 focus:text-destructive hover:bg-destructive/5",success:"focus:bg-success-100 focus:text-success-900 hover:bg-success-50"}},defaultVariants:{variant:"default"}}),R=t__namespace.Root,f=e__namespace.forwardRef(({...r},o)=>e__namespace.createElement(t__namespace.Group,{...r}));f.displayName="SelectGroup";var u=e__namespace.forwardRef(({...r},o)=>e__namespace.createElement(t__namespace.Value,{...r}));u.displayName="SelectValue";var v=e__namespace.forwardRef(({className:r,variant:o,size:i,children:a,...c},l)=>e__namespace.createElement(t__namespace.Trigger,{ref:l,className:chunkITRGJNWL_cjs.a(d({variant:o,size:i}),r),...c},a,e__namespace.createElement(t__namespace.Icon,{asChild:true},e__namespace.createElement("svg",{className:"h-4 w-4 opacity-50",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},e__namespace.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})))));v.displayName="SelectPrimitive.Trigger";var S=e__namespace.forwardRef(({className:r,variant:o,children:i,position:a="popper",...c},l)=>e__namespace.createElement(t__namespace.Portal,null,e__namespace.createElement(t__namespace.Content,{ref:l,className:chunkITRGJNWL_cjs.a(p({variant:o}),a==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",r),position:a,...c},e__namespace.createElement(t__namespace.Viewport,{className:chunkITRGJNWL_cjs.a("p-1",a==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]")},i))));S.displayName="SelectPrimitive.Content";var g=e__namespace.forwardRef(({className:r,...o},i)=>e__namespace.createElement(t__namespace.Label,{ref:i,className:chunkITRGJNWL_cjs.a("py-1.5 pl-8 pr-2 text-sm font-semibold",r),...o}));g.displayName="SelectPrimitive.Label";var P=e__namespace.forwardRef(({className:r,variant:o,children:i,...a},c)=>e__namespace.createElement(t__namespace.Item,{ref:c,className:chunkITRGJNWL_cjs.a(m({variant:o}),r),...a},e__namespace.createElement("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center"},e__namespace.createElement(t__namespace.ItemIndicator,null,e__namespace.createElement("svg",{className:"h-4 w-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},e__namespace.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5 13l4 4L19 7"})))),e__namespace.createElement(t__namespace.ItemText,null,i)));P.displayName="SelectPrimitive.Item";var h=e__namespace.forwardRef(({className:r,...o},i)=>e__namespace.createElement(t__namespace.Separator,{ref:i,className:chunkITRGJNWL_cjs.a("-mx-1 my-1 h-px bg-muted",r),...o}));h.displayName="SelectPrimitive.Separator";
|
|
2
3
|
exports.a=d;exports.b=p;exports.c=m;exports.d=R;exports.e=f;exports.f=u;exports.g=v;exports.h=S;exports.i=g;exports.j=P;exports.k=h;//# sourceMappingURL=chunk-K2JCGDU7.cjs.map
|
|
3
4
|
//# sourceMappingURL=chunk-K2JCGDU7.cjs.map
|
package/dist/chunk-LR4VUFOQ.js
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
import {a as a$1}from'./chunk-AC2JBXHQ.js';import a from'react';import {cva}from'class-variance-authority';var f=cva("py-16 md:py-24",{variants:{variant:{default:"bg-background",muted:"bg-muted/30",accent:"bg-accent/10"}},defaultVariants:{variant:"default"}}),x=cva("grid gap-8",{variants:{columns:{1:"grid-cols-1",2:"grid-cols-1 md:grid-cols-2",3:"grid-cols-1 md:grid-cols-2 lg:grid-cols-3",4:"grid-cols-1 md:grid-cols-2 lg:grid-cols-4"}},defaultVariants:{columns:3}}),b=cva("relative p-6 rounded-lg border bg-card text-card-foreground shadow-sm",{variants:{variant:{default:"border-border",accent:"border-accent/20 bg-accent/5",muted:"border-muted bg-muted/20"}},defaultVariants:{variant:"default"}}),h=({testimonials:d,title:e,subtitle:s,columns:m,cardVariant:l,variant:c,className:g,showRatings:u=true,...v})=>{let p=r=>Array.from({length:5},(o,i)=>a.createElement("span",{key:i,className:a$1("text-lg",i<r?"text-yellow-400":"text-muted-foreground/30")},"\u2605"));return a.createElement("section",{className:a$1(f({variant:c}),g),...v},a.createElement("div",{className:"container mx-auto px-4"},(e||s)&&a.createElement("div",{className:"text-center mb-12"},e&&a.createElement("h2",{className:"text-3xl md:text-4xl font-bold tracking-tight mb-4"},e),s&&a.createElement("p",{className:"text-lg text-muted-foreground max-w-2xl mx-auto"},s)),a.createElement("div",{className:a$1(x({columns:m}))},d.map((r,o)=>a.createElement("div",{key:r.id||o,className:a$1(b({variant:l}))},u&&r.rating&&a.createElement("div",{className:"flex mb-4"},p(r.rating)),a.createElement("blockquote",{className:"text-muted-foreground mb-6"},"\u201C",r.content,"\u201D"),a.createElement("div",{className:"flex items-center gap-3"},r.avatar&&a.createElement("img",{src:r.avatar,alt:r.name,className:"w-10 h-10 rounded-full object-cover"}),a.createElement("div",null,a.createElement("div",{className:"font-semibold text-foreground"},r.name),a.createElement("div",{className:"text-sm text-muted-foreground"},r.role,r.company&&` at ${r.company}`))))))))};export{h as a};//# sourceMappingURL=chunk-LR4VUFOQ.js.map
|
|
2
3
|
//# sourceMappingURL=chunk-LR4VUFOQ.js.map
|
package/dist/chunk-LXQT7FH6.cjs
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
'use strict';var chunk7SPPGTBT_cjs=require('./chunk-7SPPGTBT.cjs'),chunkITRGJNWL_cjs=require('./chunk-ITRGJNWL.cjs'),e=require('react'),classVarianceAuthority=require('class-variance-authority'),phosphorReact=require('phosphor-react');function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var e__namespace=/*#__PURE__*/_interopNamespace(e);var M=classVarianceAuthority.cva("relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground",{variants:{variant:{default:"bg-background text-foreground border-border",success:"bg-success-50 text-success-900 border-success-200 [&>svg]:text-success-600",warning:"bg-warning-50 text-warning-900 border-warning-200 [&>svg]:text-warning-600",error:"bg-error-50 text-error-900 border-error-200 [&>svg]:text-error-600",info:"bg-info-50 text-info-900 border-info-200 [&>svg]:text-info-600"},size:{sm:"p-3 text-sm [&>svg]:h-4 [&>svg]:w-4",default:"p-4 text-sm [&>svg]:h-5 [&>svg]:w-5",lg:"p-6 text-base [&>svg]:h-6 [&>svg]:w-6"}},defaultVariants:{variant:"default",size:"default"}}),d=classVarianceAuthority.cva("mb-1 font-medium leading-none tracking-tight"),g=classVarianceAuthority.cva("text-sm [&_p]:leading-relaxed"),C=classVarianceAuthority.cva("absolute right-2 top-2 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",{variants:{size:{sm:"h-6 w-6",default:"h-7 w-7",lg:"h-8 w-8"}},defaultVariants:{size:"default"}}),u=e__namespace.forwardRef(({className:a,variant:r,size:s,title:o,description:l,dismissible:b=false,onDismiss:n,icon:c,children:w,...h},x)=>{let[A,N]=e__namespace.useState(true),T=e__namespace.useCallback(()=>{N(false),n&&n();},[n]),R=()=>{switch(r){case "success":return e__namespace.createElement(phosphorReact.CheckCircle,{className:"h-5 w-5"});case "warning":return e__namespace.createElement(phosphorReact.Warning,{className:"h-5 w-5"});case "error":return e__namespace.createElement(phosphorReact.XCircle,{className:"h-5 w-5"});case "info":return e__namespace.createElement(phosphorReact.Info,{className:"h-5 w-5"});default:return null}};return A?e__namespace.createElement("div",{ref:x,role:"alert",className:chunkITRGJNWL_cjs.a(M({variant:r,size:s}),a),...h},c!==null&&(c||R()),b&&e__namespace.createElement("button",{type:"button",className:chunkITRGJNWL_cjs.a(C({size:s})),onClick:T,"aria-label":"Dismiss alert"},e__namespace.createElement(phosphorReact.X,{className:"h-4 w-4"})),o&&e__namespace.createElement("div",{className:chunkITRGJNWL_cjs.a(d())},o),l&&e__namespace.createElement("div",{className:chunkITRGJNWL_cjs.a(g())},l),w):null});u.displayName="Alert";var m=e__namespace.forwardRef(({className:a,...r},s)=>e__namespace.createElement("h5",{ref:s,className:chunkITRGJNWL_cjs.a(d(),a),...r}));m.displayName="AlertTitle";var p=e__namespace.forwardRef(({className:a,...r},s)=>e__namespace.createElement("div",{ref:s,className:chunkITRGJNWL_cjs.a(g(),a),...r}));p.displayName="AlertDescription";var v=chunk7SPPGTBT_cjs.a(u);v.Title=m;v.Description=p;exports.a=M;exports.b=d;exports.c=g;exports.d=C;exports.e=m;exports.f=p;exports.g=v;//# sourceMappingURL=chunk-LXQT7FH6.cjs.map
|
|
2
3
|
//# sourceMappingURL=chunk-LXQT7FH6.cjs.map
|
package/dist/chunk-LYVCB45L.js
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
import {a}from'./chunk-AC2JBXHQ.js';import*as e from'react';import {cva}from'class-variance-authority';var d=cva("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 transition-all duration-200",{variants:{variant:{default:"text-foreground",muted:"text-muted-foreground",error:"text-destructive",success:"text-success-600",warning:"text-warning-600",info:"text-info-600"},size:{sm:"text-xs",default:"text-sm",lg:"text-base"},weight:{normal:"font-normal",medium:"font-medium",semibold:"font-semibold",bold:"font-bold"}},defaultVariants:{variant:"default",size:"default",weight:"medium"}}),m=e.forwardRef(({className:a$1,variant:r,size:o,weight:n,...i},l)=>e.createElement("label",{ref:l,className:a(d({variant:r,size:o,weight:n}),a$1),...i}));m.displayName="Label";export{d as a,m as b};//# sourceMappingURL=chunk-LYVCB45L.js.map
|
|
2
3
|
//# sourceMappingURL=chunk-LYVCB45L.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
'use strict';var chunk7SPPGTBT_cjs=require('./chunk-7SPPGTBT.cjs'),chunkITRGJNWL_cjs=require('./chunk-ITRGJNWL.cjs'),a=require('react'),classVarianceAuthority=require('class-variance-authority');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var a__default=/*#__PURE__*/_interopDefault(a);var Y=classVarianceAuthority.cva("absolute z-50 px-3 py-2 text-sm font-medium rounded-md shadow-lg transition-opacity duration-200",{variants:{variant:{default:"bg-popover text-popover-foreground border border-border",light:"bg-popover text-popover-foreground border border-border",dark:"bg-popover text-popover-foreground border border-border",success:"bg-success text-success-foreground",warning:"bg-warning text-warning-foreground",error:"bg-destructive text-destructive-foreground",info:"bg-info text-info-foreground"},size:{sm:"text-xs px-2 py-1",md:"text-sm px-3 py-2",lg:"text-base px-4 py-3"},placement:{top:"bottom-full left-1/2 -translate-x-1/2 mb-2","top-start":"bottom-full left-0 mb-2","top-end":"bottom-full right-0 mb-2",bottom:"top-full left-1/2 -translate-x-1/2 mt-2","bottom-start":"top-full left-0 mt-2","bottom-end":"top-full right-0 mt-2",left:"right-full top-1/2 -translate-y-1/2 mr-2","left-start":"right-full top-0 mr-2","left-end":"right-full bottom-0 mr-2",right:"left-full top-1/2 -translate-y-1/2 ml-2","right-start":"left-full top-0 ml-2","right-end":"left-full bottom-0 ml-2"}},defaultVariants:{variant:"default",size:"md",placement:"top"}}),Z=classVarianceAuthority.cva("absolute w-2 h-2 rotate-45",{variants:{variant:{default:"bg-popover border border-border",light:"bg-popover border border-border",dark:"bg-popover border border-border",success:"bg-success-500",warning:"bg-warning-500",error:"bg-destructive",info:"bg-info-500"},placement:{top:"top-full left-1/2 -translate-x-1/2 -translate-y-1/2","top-start":"top-full left-4 -translate-y-1/2","top-end":"top-full right-4 -translate-y-1/2",bottom:"bottom-full left-1/2 -translate-x-1/2 translate-y-1/2","bottom-start":"bottom-full left-4 translate-y-1/2","bottom-end":"bottom-full right-4 translate-y-1/2",left:"left-full top-1/2 -translate-x-1/2 -translate-y-1/2","left-start":"left-full top-4 -translate-x-1/2","left-end":"left-full bottom-4 -translate-x-1/2",right:"right-full top-1/2 translate-x-1/2 -translate-y-1/2","right-start":"right-full top-4 translate-x-1/2","right-end":"right-full bottom-4 translate-x-1/2"}},defaultVariants:{variant:"default",placement:"top"}}),O=a__default.default.createContext(void 0),$=()=>{let u=a__default.default.useContext(O);if(!u)throw new Error("Tooltip components must be used within a Tooltip");return u},q=a__default.default.forwardRef(({children:u,content:v,trigger:T="hover",open:i,onOpenChange:d,delayDuration:e=700,skipDelayDuration:y=300,disabled:f=false,className:E,contentClassName:s,sideOffset:C=4,alignOffset:M=0,avoidCollisions:R=true,collisionBoundary:w,collisionPadding:o=8,hideWhenDetached:x=false,sticky:D="partial",updatePositionDeps:L,closeOnBlur:H=true,...h},c)=>{let[N,t]=a.useState(false),r=a.useRef(null),g=a.useRef(null),l=i!==void 0,n=l?i:N,p=a.useCallback(_=>{f||(l||t(_),d?.(_));},[f,l,d]),m=a.useCallback(()=>{r.current!=null&&(clearTimeout(r.current),r.current=null),g.current!=null&&(clearTimeout(g.current),g.current=null);},[]),W=a.useCallback(()=>{m(),p(true);},[m,p]),B=a.useCallback(()=>{m(),p(false);},[m,p]),V=a.useCallback(()=>{m(),!f&&(e>0?r.current=window.setTimeout(()=>{p(true);},e):p(true));},[m,f,e,p]),z=a.useCallback(()=>{m(),y>0?g.current=window.setTimeout(()=>{p(false);},y):p(false);},[m,y,p]),G=a.useCallback(()=>{n?z():V();},[n,V,z]),J=a.useCallback(()=>{n?B():W();},[n,W,B]);a.useEffect(()=>()=>{m();},[m]);let Q={open:n,setOpen:p,trigger:T,delayDuration:e,skipDelayDuration:y,openNow:W,closeNow:B,openWithDelay:V,closeWithDelay:z,toggleWithDelay:G,toggleNow:J,closeOnBlur:H},U=n===true;return a__default.default.createElement(O.Provider,{value:Q},a__default.default.createElement("div",{ref:c,className:chunkITRGJNWL_cjs.a("relative inline-block",E),"data-open":n,...h},u,U?a__default.default.createElement(F,{className:s||"",sideOffset:C,alignOffset:M,avoidCollisions:R,collisionBoundary:w||null,collisionPadding:o,hideWhenDetached:x,sticky:D,updatePositionDeps:L||[],variant:h.variant,size:h.size,placement:h.placement},v):null))});q.displayName="Tooltip";var A=a__default.default.forwardRef(({children:u,asChild:v=true,className:T,...i},d)=>{let{trigger:e,openNow:y,closeNow:f,openWithDelay:E,closeWithDelay:s,toggleNow:C,closeOnBlur:M}=$(),R=a.useRef(null),w={ref:o=>{R.current=o,typeof d=="function"?d(o):d&&(d.current=o);},className:chunkITRGJNWL_cjs.a(T),"data-tooltip-trigger":true,onMouseEnter:o=>{i.onMouseEnter?.(o),e==="hover"&&E();},onMouseLeave:o=>{i.onMouseLeave?.(o),e==="hover"&&s();},onPointerEnter:o=>{i.onPointerEnter?.(o),e==="hover"&&E();},onPointerLeave:o=>{i.onPointerLeave?.(o),e==="hover"&&s();},onClick:o=>{i.onClick?.(o),e==="click"&&C();},onFocus:o=>{i.onFocus?.(o),e==="focus"&&y();},onBlur:o=>{i.onBlur?.(o),M&&f();},onKeyDown:o=>{i.onKeyDown?.(o),o.key==="Escape"&&f();}};return v&&a__default.default.isValidElement(u)?a__default.default.cloneElement(u,{...u.props||{},...w}):a__default.default.createElement("span",{...w,tabIndex:e==="focus"?0:void 0,role:e==="click"?"button":void 0},u)});A.displayName="TooltipTrigger";var F=a__default.default.forwardRef(({children:u,variant:v="default",size:T="md",placement:i="top",className:d,sideOffset:e=4,alignOffset:y=0,avoidCollisions:f=true,collisionBoundary:E,collisionPadding:s=8,hideWhenDetached:C=false,sticky:M="partial",updatePositionDeps:R,...w},o)=>{let x=a__default.default.useContext(O)?.open??true,D=a.useRef(null),[L,H]=a.useState({top:0,left:0}),h=a.useCallback(()=>{if(!D.current)return;let c=D.current,N=c.parentElement?.querySelector("[data-tooltip-trigger]");if(!N)return;let t=N.getBoundingClientRect(),r=c.getBoundingClientRect(),g={width:window.innerWidth,height:window.innerHeight},l=0,n=0;switch(i){case "top":l=t.top-r.height-e,n=t.left+t.width/2-r.width/2;break;case "top-start":l=t.top-r.height-e,n=t.left;break;case "top-end":l=t.top-r.height-e,n=t.right-r.width;break;case "bottom":l=t.bottom+e,n=t.left+t.width/2-r.width/2;break;case "bottom-start":l=t.bottom+e,n=t.left;break;case "bottom-end":l=t.bottom+e,n=t.right-r.width;break;case "left":l=t.top+t.height/2-r.height/2,n=t.left-r.width-e;break;case "left-start":l=t.top,n=t.left-r.width-e;break;case "left-end":l=t.bottom-r.height,n=t.left-r.width-e;break;case "right":l=t.top+t.height/2-r.height/2,n=t.right+e;break;case "right-start":l=t.top,n=t.right+e;break;case "right-end":l=t.bottom-r.height,n=t.right+e;break}f&&(n<s?n=s:n+r.width>g.width-s&&(n=g.width-r.width-s),l<s?l=s:l+r.height>g.height-s&&(l=g.height-r.height-s)),H({top:l,left:n});},[i,e,f,s]);return a__default.default.useLayoutEffect(()=>{h();let c=()=>h();return window.addEventListener("resize",c),window.addEventListener("scroll",c),()=>{window.removeEventListener("resize",c),window.removeEventListener("scroll",c);}},[h,R,x]),a__default.default.createElement("div",{ref:c=>{D.current=c,typeof o=="function"?o(c):o&&(o.current=c);},role:"tooltip","data-tooltip-instance":"nostromo","data-state":x?"open":"closed","aria-hidden":x?void 0:true,className:chunkITRGJNWL_cjs.a(Y({variant:v,size:T,placement:i}),x?"opacity-100":"pointer-events-none opacity-0",d),style:{position:"fixed",top:L.top,left:L.left,zIndex:50},...w},u,a__default.default.createElement("div",{className:chunkITRGJNWL_cjs.a(Z({variant:v,placement:i}))}))});F.displayName="TooltipContent";var tt=({children:u,delayDuration:v=700,skipDelayDuration:T=300,defaultOpen:i=false})=>a__default.default.createElement("div",{"data-tooltip-provider":true},u),j=chunk7SPPGTBT_cjs.a(q);j.Trigger=A;j.Content=F;j.Provider=tt;exports.a=Y;exports.b=Z;exports.c=A;exports.d=F;exports.e=tt;exports.f=j;//# sourceMappingURL=chunk-MDXW6IRM.cjs.map
|
|
3
|
+
//# sourceMappingURL=chunk-MDXW6IRM.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/core/tooltip.tsx"],"names":["tooltipVariants","cva","arrowVariants","TooltipContext","React","useTooltipContext","context","TooltipComponent","children","content","trigger","controlledOpen","onOpenChange","delayDuration","skipDelayDuration","disabled","className","contentClassName","sideOffset","alignOffset","avoidCollisions","collisionBoundary","collisionPadding","hideWhenDetached","sticky","updatePositionDeps","closeOnBlur","props","ref","internalOpen","setInternalOpen","useState","delayTimerRef","useRef","skipDelayTimerRef","isControlled","open","setOpen","useCallback","newOpen","clearTimers","openNow","closeNow","openWithDelay","closeWithDelay","toggleWithDelay","toggleNow","useEffect","contextValue","shouldRenderContent","cn","TooltipContent","TooltipTrigger","asChild","triggerRef","triggerProps","node","e","variant","size","placement","_alignOffset","_collisionBoundary","_hideWhenDetached","_sticky","contentRef","position","setPosition","updatePosition","triggerRect","contentRect","viewport","top","left","handleResize","TooltipProvider","_delayDuration","_skipDelayDuration","_defaultOpen","Tooltip","memo"],"mappings":"uTAMMA,CAAAA,CAAkBC,0BAAAA,CACtB,kGAAA,CACA,CACE,QAAA,CAAU,CACR,OAAA,CAAS,CACP,QAAS,yDAAA,CACT,KAAA,CAAO,yDAAA,CACP,IAAA,CAAM,0DACN,OAAA,CAAS,oCAAA,CACT,OAAA,CAAS,oCAAA,CACT,MAAO,4CAAA,CACP,IAAA,CAAM,8BACR,CAAA,CACA,IAAA,CAAM,CACJ,EAAA,CAAI,mBAAA,CACJ,GAAI,mBAAA,CACJ,EAAA,CAAI,qBACN,CAAA,CACA,UAAW,CACT,GAAA,CAAK,4CAAA,CACL,WAAA,CAAa,0BACb,SAAA,CAAW,0BAAA,CACX,MAAA,CAAQ,yCAAA,CACR,eAAgB,sBAAA,CAChB,YAAA,CAAc,uBAAA,CACd,IAAA,CAAM,2CACN,YAAA,CAAc,uBAAA,CACd,UAAA,CAAY,0BAAA,CACZ,MAAO,yCAAA,CACP,aAAA,CAAe,sBAAA,CACf,WAAA,CAAa,yBACf,CACF,CAAA,CACA,eAAA,CAAiB,CACf,OAAA,CAAS,SAAA,CACT,IAAA,CAAM,IAAA,CACN,UAAW,KACb,CACF,CACF,CAAA,CAEMC,EAAgBD,0BAAAA,CAAI,4BAAA,CAA8B,CACtD,QAAA,CAAU,CACR,OAAA,CAAS,CACP,OAAA,CAAS,iCAAA,CACT,KAAA,CAAO,iCAAA,CACP,IAAA,CAAM,iCAAA,CACN,QAAS,gBAAA,CACT,OAAA,CAAS,gBAAA,CACT,KAAA,CAAO,iBACP,IAAA,CAAM,aACR,CAAA,CACA,SAAA,CAAW,CACT,GAAA,CAAK,qDAAA,CACL,WAAA,CAAa,kCAAA,CACb,SAAA,CAAW,mCAAA,CACX,MAAA,CAAQ,uDAAA,CACR,eAAgB,oCAAA,CAChB,YAAA,CAAc,qCAAA,CACd,IAAA,CAAM,sDACN,YAAA,CAAc,kCAAA,CACd,UAAA,CAAY,qCAAA,CACZ,MAAO,qDAAA,CACP,aAAA,CAAe,kCAAA,CACf,WAAA,CAAa,qCACf,CACF,CAAA,CACA,eAAA,CAAiB,CACf,QAAS,SAAA,CACT,SAAA,CAAW,KACb,CACF,CAAC,CAAA,CA8DKE,CAAAA,CAAiBC,kBAAAA,CAAM,aAAA,CAC3B,MACF,CAAA,CAEMC,CAAAA,CAAoB,IAAM,CAC9B,IAAMC,CAAAA,CAAUF,kBAAAA,CAAM,UAAA,CAAWD,CAAc,CAAA,CAC/C,GAAI,CAACG,CAAAA,CACH,MAAM,IAAI,KAAA,CAAM,kDAAkD,CAAA,CAEpE,OAAOA,CACT,CAAA,CAGMC,CAAAA,CAAmBH,kBAAAA,CAAM,UAAA,CAC7B,CACE,CACE,QAAA,CAAAI,EACA,OAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CAAU,QACV,IAAA,CAAMC,CAAAA,CACN,YAAA,CAAAC,CAAAA,CACA,cAAAC,CAAAA,CAAgB,GAAA,CAChB,iBAAA,CAAAC,CAAAA,CAAoB,GAAA,CACpB,QAAA,CAAAC,CAAAA,CAAW,KAAA,CACX,UAAAC,CAAAA,CACA,gBAAA,CAAAC,CAAAA,CACA,UAAA,CAAAC,EAAa,CAAA,CACb,WAAA,CAAAC,CAAAA,CAAc,CAAA,CACd,gBAAAC,CAAAA,CAAkB,IAAA,CAClB,iBAAA,CAAAC,CAAAA,CACA,iBAAAC,CAAAA,CAAmB,CAAA,CACnB,gBAAA,CAAAC,CAAAA,CAAmB,MACnB,MAAA,CAAAC,CAAAA,CAAS,SAAA,CACT,kBAAA,CAAAC,EACA,WAAA,CAAAC,CAAAA,CAAc,IAAA,CACd,GAAGC,CACL,CAAA,CACAC,CAAAA,GACG,CACH,GAAM,CAACC,CAAAA,CAAcC,CAAe,CAAA,CAAIC,WAAS,KAAK,CAAA,CAChDC,CAAAA,CAAgBC,QAAAA,CACpB,IACF,CAAA,CACMC,CAAAA,CAAoBD,QAAAA,CAExB,IAAI,EAEAE,CAAAA,CAAexB,CAAAA,GAAmB,MAAA,CAClCyB,CAAAA,CAAOD,EAAexB,CAAAA,CAAiBkB,CAAAA,CAEvCQ,CAAAA,CAAUC,aAAAA,CACbC,GAAqB,CAChBxB,CAAAA,GAEAoB,CAAAA,EAGFL,CAAAA,CAAgBS,CAAO,CAAA,CACvB3B,CAAAA,GAAe2B,CAAO,CAAA,EAE1B,EACA,CAACxB,CAAAA,CAAUoB,CAAAA,CAAcvB,CAAY,CACvC,CAAA,CAGM4B,CAAAA,CAAcF,aAAAA,CAAY,IAAM,CAChCN,CAAAA,CAAc,OAAA,EAAW,IAAA,GAC3B,aAAaA,CAAAA,CAAc,OAAO,CAAA,CAClCA,CAAAA,CAAc,QAAU,IAAA,CAAA,CAEtBE,CAAAA,CAAkB,OAAA,EAAW,IAAA,GAC/B,aAAaA,CAAAA,CAAkB,OAAO,CAAA,CACtCA,CAAAA,CAAkB,QAAU,IAAA,EAEhC,CAAA,CAAG,EAAE,EAECO,CAAAA,CAAUH,aAAAA,CAAY,IAAM,CAChCE,GAAY,CACZH,CAAAA,CAAQ,IAAI,EACd,CAAA,CAAG,CAACG,CAAAA,CAAaH,CAAO,CAAC,CAAA,CAEnBK,CAAAA,CAAWJ,aAAAA,CAAY,IAAM,CACjCE,CAAAA,EAAY,CACZH,CAAAA,CAAQ,KAAK,EACf,CAAA,CAAG,CAACG,CAAAA,CAAaH,CAAO,CAAC,CAAA,CAEnBM,CAAAA,CAAgBL,aAAAA,CAAY,IAAM,CACtCE,CAAAA,EAAY,CACR,CAAAzB,IACAF,CAAAA,CAAgB,CAAA,CAClBmB,CAAAA,CAAc,OAAA,CAAU,OAAO,UAAA,CAAW,IAAM,CAC9CK,CAAAA,CAAQ,IAAI,EACd,CAAA,CAAGxB,CAAa,EAEhBwB,CAAAA,CAAQ,IAAI,CAAA,EAEhB,CAAA,CAAG,CAACG,CAAAA,CAAazB,CAAAA,CAAUF,CAAAA,CAAewB,CAAO,CAAC,CAAA,CAE5CO,CAAAA,CAAiBN,aAAAA,CAAY,IAAM,CACvCE,CAAAA,EAAY,CACR1B,CAAAA,CAAoB,CAAA,CACtBoB,EAAkB,OAAA,CAAU,MAAA,CAAO,UAAA,CAAW,IAAM,CAClDG,CAAAA,CAAQ,KAAK,EACf,CAAA,CAAGvB,CAAiB,CAAA,CAEpBuB,CAAAA,CAAQ,KAAK,EAEjB,CAAA,CAAG,CAACG,CAAAA,CAAa1B,CAAAA,CAAmBuB,CAAO,CAAC,CAAA,CAEtCQ,CAAAA,CAAkBP,aAAAA,CAAY,IAAM,CACpCF,CAAAA,CACFQ,CAAAA,EAAe,CAEfD,IAEJ,CAAA,CAAG,CAACP,CAAAA,CAAMO,EAAeC,CAAc,CAAC,CAAA,CAElCE,CAAAA,CAAYR,cAAY,IAAM,CAC9BF,CAAAA,CAAMM,CAAAA,GACLD,CAAAA,GACP,CAAA,CAAG,CAACL,EAAMK,CAAAA,CAASC,CAAQ,CAAC,CAAA,CAG5BK,WAAAA,CAAU,IACD,IAAM,CACXP,IACF,CAAA,CACC,CAACA,CAAW,CAAC,CAAA,CAEhB,IAAMQ,CAAAA,CAAmC,CACvC,KAAAZ,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,OAAA,CAAA3B,EACA,aAAA,CAAAG,CAAAA,CACA,iBAAA,CAAAC,CAAAA,CACA,QAAA2B,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,aAAA,CAAAC,EACA,cAAA,CAAAC,CAAAA,CACA,eAAA,CAAAC,CAAAA,CACA,UAAAC,CAAAA,CACA,WAAA,CAAApB,CACF,CAAA,CAIMuB,CAAAA,CAAsBb,CAAAA,GAAS,IAAA,CAErC,OACEhC,mBAAA,aAAA,CAACD,CAAAA,CAAe,QAAA,CAAf,CAAwB,MAAO6C,CAAAA,CAAAA,CAC9B5C,kBAAAA,CAAA,aAAA,CAAC,KAAA,CAAA,CACC,IAAKwB,CAAAA,CACL,SAAA,CAAWsB,mBAAAA,CAAG,uBAAA,CAAyBlC,CAAS,CAAA,CAChD,WAAA,CAAWoB,CAAAA,CACV,GAAGT,CAAAA,CAAAA,CAEHnB,CAAAA,CACAyC,CAAAA,CACC7C,kBAAAA,CAAA,cAAC+C,CAAAA,CAAA,CACC,SAAA,CAAWlC,CAAAA,EAAoB,GAC/B,UAAA,CAAYC,CAAAA,CACZ,WAAA,CAAaC,CAAAA,CACb,eAAA,CAAiBC,CAAAA,CACjB,iBAAA,CAAmBC,CAAAA,EAAqB,KACxC,gBAAA,CAAkBC,CAAAA,CAClB,gBAAA,CAAkBC,CAAAA,CAClB,OAAQC,CAAAA,CACR,kBAAA,CAAoBC,CAAAA,EAAsB,GAC1C,OAAA,CAASE,CAAAA,CAAM,OAAA,CACf,IAAA,CAAMA,EAAM,IAAA,CACZ,SAAA,CAAWA,CAAAA,CAAM,SAAA,CAAA,CAEhBlB,CACH,CAAA,CACE,IACN,CACF,CAEJ,CACF,EAEAF,CAAAA,CAAiB,WAAA,CAAc,SAAA,KAKlB6C,CAAAA,CAAiBhD,kBAAAA,CAAM,UAAA,CAGlC,CAAC,CAAE,QAAA,CAAAI,CAAAA,CAAU,OAAA,CAAA6C,EAAU,IAAA,CAAM,SAAA,CAAArC,CAAAA,CAAW,GAAGW,CAAM,CAAA,CAAGC,CAAAA,GAAQ,CAC5D,GAAM,CACJ,OAAA,CAAAlB,CAAAA,CACA,OAAA,CAAA+B,CAAAA,CACA,SAAAC,CAAAA,CACA,aAAA,CAAAC,CAAAA,CACA,cAAA,CAAAC,EACA,SAAA,CAAAE,CAAAA,CACA,WAAA,CAAApB,CACF,EAAIrB,CAAAA,EAAkB,CAChBiD,CAAAA,CAAarB,QAAAA,CAAoB,IAAI,CAAA,CAErCsB,CAAAA,CAAe,CACnB,GAAA,CAAMC,CAAAA,EAAsB,CACzBF,CAAAA,CAA0D,OAAA,CAAUE,EACjE,OAAO5B,CAAAA,EAAQ,UAAA,CACjBA,CAAAA,CAAI4B,CAAI,CAAA,CACC5B,CAAAA,GACRA,CAAAA,CAAmD,OAAA,CAAU4B,GAElE,CAAA,CACA,SAAA,CAAWN,mBAAAA,CAAGlC,CAAS,EACvB,sBAAA,CAAwB,IAAA,CACxB,YAAA,CAAeyC,CAAAA,EAAqC,CAElD9B,CAAAA,CAAM,YAAA,GAAe8B,CAAkC,CAAA,CACnD/C,IAAY,OAAA,EACdiC,CAAAA,GAEJ,CAAA,CACA,aAAec,CAAAA,EAAqC,CAClD9B,CAAAA,CAAM,YAAA,GAAe8B,CAAkC,CAAA,CACnD/C,CAAAA,GAAY,OAAA,EAASkC,IAC3B,CAAA,CACA,cAAA,CAAiBa,CAAAA,EAA0B,CAEzC9B,CAAAA,CAAM,cAAA,GAAiB8B,CAAC,CAAA,CACpB/C,IAAY,OAAA,EAASiC,CAAAA,GAC3B,CAAA,CACA,cAAA,CAAiBc,CAAAA,EAA0B,CAEzC9B,CAAAA,CAAM,iBAAiB8B,CAAC,CAAA,CACpB/C,CAAAA,GAAY,OAAA,EAASkC,IAC3B,CAAA,CACA,OAAA,CAAUa,CAAAA,EAAwB,CAEhC9B,CAAAA,CAAM,OAAA,GAAU8B,CAAC,CAAA,CACb/C,CAAAA,GAAY,OAAA,EAASoC,CAAAA,GAC3B,EACA,OAAA,CAAUW,CAAAA,EAAwB,CAEhC9B,CAAAA,CAAM,UAAU8B,CAAC,CAAA,CACb/C,CAAAA,GAAY,OAAA,EAAS+B,IAC3B,CAAA,CACA,MAAA,CAASgB,CAAAA,EAAwB,CAE/B9B,CAAAA,CAAM,MAAA,GAAS8B,CAAC,CAAA,CACZ/B,GAAagB,CAAAA,GACnB,CAAA,CACA,SAAA,CAAYe,GAA2B,CAErC9B,CAAAA,CAAM,SAAA,GAAY8B,CAAC,EACfA,CAAAA,CAAE,GAAA,GAAQ,QAAA,EAAUf,CAAAA,GAC1B,CACF,CAAA,CAEA,OAAIW,GAAWjD,kBAAAA,CAAM,cAAA,CAAeI,CAAQ,CAAA,CAEnCJ,mBAAM,YAAA,CAAaI,CAAAA,CAAU,CAClC,GAAIA,EAAS,KAAA,EAAS,EAAC,CACvB,GAAG+C,CACL,CAAC,CAAA,CAIDnD,kBAAAA,CAAA,cAAC,MAAA,CAAA,CACE,GAAGmD,CAAAA,CACJ,QAAA,CAAU7C,IAAY,OAAA,CAAU,CAAA,CAAI,MAAA,CACpC,IAAA,CAAMA,IAAY,OAAA,CAAU,QAAA,CAAW,MAAA,CAAA,CAEtCF,CACH,CAEJ,CAAC,EAED4C,CAAAA,CAAe,YAAc,gBAAA,CAGtB,IAAMD,CAAAA,CAAiB/C,kBAAAA,CAAM,WAIlC,CACE,CACE,QAAA,CAAAI,CAAAA,CACA,QAAAkD,CAAAA,CAAU,SAAA,CACV,IAAA,CAAAC,CAAAA,CAAO,KACP,SAAA,CAAAC,CAAAA,CAAY,KAAA,CACZ,SAAA,CAAA5C,EACA,UAAA,CAAAE,CAAAA,CAAa,CAAA,CACb,WAAA,CAAa2C,EAAe,CAAA,CAC5B,eAAA,CAAAzC,CAAAA,CAAkB,IAAA,CAClB,kBAAmB0C,CAAAA,CACnB,gBAAA,CAAAxC,CAAAA,CAAmB,CAAA,CACnB,gBAAA,CAAkByC,CAAAA,CAAoB,KAAA,CACtC,MAAA,CAAQC,EAAU,SAAA,CAClB,kBAAA,CAAAvC,CAAAA,CACA,GAAGE,CACL,CAAA,CACAC,CAAAA,GACG,CAKH,IAAMQ,EAAOhC,kBAAAA,CAAM,UAAA,CAAWD,CAAc,CAAA,EAAG,IAAA,EAAQ,IAAA,CACjD8D,CAAAA,CAAahC,QAAAA,CAAuB,IAAI,CAAA,CACxC,CAACiC,CAAAA,CAAUC,CAAW,EAAIpC,UAAAA,CAAS,CAAE,GAAA,CAAK,CAAA,CAAG,KAAM,CAAE,CAAC,CAAA,CAEtDqC,CAAAA,CAAiB9B,aAAAA,CAAY,IAAM,CACvC,GAAI,CAAC2B,CAAAA,CAAW,OAAA,CAAS,OAEzB,IAAMxD,EAAUwD,CAAAA,CAAW,OAAA,CACrBvD,CAAAA,CAAUD,CAAAA,CAAQ,eAAe,aAAA,CACrC,wBACF,CAAA,CAEA,GAAI,CAACC,CAAAA,CAAS,OAEd,IAAM2D,CAAAA,CAAc3D,EAAQ,qBAAA,EAAsB,CAC5C4D,CAAAA,CAAc7D,CAAAA,CAAQ,uBAAsB,CAC5C8D,CAAAA,CAAW,CACf,KAAA,CAAO,OAAO,UAAA,CACd,MAAA,CAAQ,MAAA,CAAO,WACjB,CAAA,CAEIC,CAAAA,CAAM,CAAA,CACNC,CAAAA,CAAO,EAGX,OAAQb,CAAAA,EACN,KAAK,MACHY,CAAAA,CAAMH,CAAAA,CAAY,GAAA,CAAMC,CAAAA,CAAY,OAASpD,CAAAA,CAC7CuD,CAAAA,CACEJ,CAAAA,CAAY,IAAA,CAAOA,EAAY,KAAA,CAAQ,CAAA,CAAIC,CAAAA,CAAY,KAAA,CAAQ,EACjE,MACF,KAAK,WAAA,CACHE,CAAAA,CAAMH,EAAY,GAAA,CAAMC,CAAAA,CAAY,MAAA,CAASpD,CAAAA,CAC7CuD,EAAOJ,CAAAA,CAAY,IAAA,CACnB,MACF,KAAK,SAAA,CACHG,CAAAA,CAAMH,CAAAA,CAAY,GAAA,CAAMC,EAAY,MAAA,CAASpD,CAAAA,CAC7CuD,CAAAA,CAAOJ,CAAAA,CAAY,MAAQC,CAAAA,CAAY,KAAA,CACvC,MACF,KAAK,SACHE,CAAAA,CAAMH,CAAAA,CAAY,MAAA,CAASnD,CAAAA,CAC3BuD,EACEJ,CAAAA,CAAY,IAAA,CAAOA,CAAAA,CAAY,KAAA,CAAQ,EAAIC,CAAAA,CAAY,KAAA,CAAQ,CAAA,CACjE,MACF,KAAK,cAAA,CACHE,CAAAA,CAAMH,CAAAA,CAAY,MAAA,CAASnD,EAC3BuD,CAAAA,CAAOJ,CAAAA,CAAY,IAAA,CACnB,MACF,KAAK,YAAA,CACHG,CAAAA,CAAMH,CAAAA,CAAY,OAASnD,CAAAA,CAC3BuD,CAAAA,CAAOJ,CAAAA,CAAY,KAAA,CAAQC,EAAY,KAAA,CACvC,MACF,KAAK,MAAA,CACHE,EACEH,CAAAA,CAAY,GAAA,CAAMA,CAAAA,CAAY,MAAA,CAAS,CAAA,CAAIC,CAAAA,CAAY,MAAA,CAAS,CAAA,CAClEG,EAAOJ,CAAAA,CAAY,IAAA,CAAOC,CAAAA,CAAY,KAAA,CAAQpD,EAC9C,MACF,KAAK,YAAA,CACHsD,CAAAA,CAAMH,EAAY,GAAA,CAClBI,CAAAA,CAAOJ,CAAAA,CAAY,IAAA,CAAOC,CAAAA,CAAY,KAAA,CAAQpD,CAAAA,CAC9C,MACF,KAAK,UAAA,CACHsD,CAAAA,CAAMH,CAAAA,CAAY,MAAA,CAASC,EAAY,MAAA,CACvCG,CAAAA,CAAOJ,CAAAA,CAAY,IAAA,CAAOC,EAAY,KAAA,CAAQpD,CAAAA,CAC9C,MACF,KAAK,QACHsD,CAAAA,CACEH,CAAAA,CAAY,GAAA,CAAMA,CAAAA,CAAY,OAAS,CAAA,CAAIC,CAAAA,CAAY,MAAA,CAAS,CAAA,CAClEG,EAAOJ,CAAAA,CAAY,KAAA,CAAQnD,CAAAA,CAC3B,MACF,KAAK,aAAA,CACHsD,CAAAA,CAAMH,CAAAA,CAAY,GAAA,CAClBI,CAAAA,CAAOJ,CAAAA,CAAY,KAAA,CAAQnD,CAAAA,CAC3B,MACF,KAAK,WAAA,CACHsD,CAAAA,CAAMH,CAAAA,CAAY,OAASC,CAAAA,CAAY,MAAA,CACvCG,CAAAA,CAAOJ,CAAAA,CAAY,MAAQnD,CAAAA,CAC3B,KACJ,CAGIE,CAAAA,GAEEqD,EAAOnD,CAAAA,CACTmD,CAAAA,CAAOnD,CAAAA,CAEPmD,CAAAA,CAAOH,EAAY,KAAA,CACnBC,CAAAA,CAAS,KAAA,CAAQjD,CAAAA,GAEjBmD,EAAOF,CAAAA,CAAS,KAAA,CAAQD,CAAAA,CAAY,KAAA,CAAQhD,GAI1CkD,CAAAA,CAAMlD,CAAAA,CACRkD,CAAAA,CAAMlD,CAAAA,CAENkD,CAAAA,CAAMF,CAAAA,CAAY,MAAA,CAClBC,CAAAA,CAAS,OAASjD,CAAAA,GAElBkD,CAAAA,CAAMD,CAAAA,CAAS,MAAA,CAASD,EAAY,MAAA,CAAShD,CAAAA,CAAAA,CAAAA,CAIjD6C,CAAAA,CAAY,CAAE,IAAAK,CAAAA,CAAK,IAAA,CAAAC,CAAK,CAAC,EAC3B,CAAA,CAAG,CAACb,CAAAA,CAAW1C,CAAAA,CAAYE,EAAiBE,CAAgB,CAAC,CAAA,CAE7D,OAAAlB,mBAAM,eAAA,CAAgB,IAAM,CAC1BgE,CAAAA,GAEA,IAAMM,CAAAA,CAAe,IAAMN,CAAAA,EAAe,CAC1C,OAAA,MAAA,CAAO,gBAAA,CAAiB,QAAA,CAAUM,CAAY,CAAA,CAC9C,MAAA,CAAO,gBAAA,CAAiB,QAAA,CAAUA,CAAY,CAAA,CAEvC,IAAM,CACX,MAAA,CAAO,oBAAoB,QAAA,CAAUA,CAAY,CAAA,CACjD,MAAA,CAAO,mBAAA,CAAoB,QAAA,CAAUA,CAAY,EACnD,CAGF,CAAA,CAAG,CAACN,CAAAA,CAAgB3C,CAAAA,CAAoBW,CAAI,CAAC,CAAA,CAG3ChC,kBAAAA,CAAA,aAAA,CAAC,OACC,GAAA,CAAMoD,CAAAA,EAAS,CAEXS,CAAAA,CACA,OAAA,CAAUT,CAAAA,CACR,OAAO5B,CAAAA,EAAQ,WACjBA,CAAAA,CAAI4B,CAAI,CAAA,CACC5B,CAAAA,GACRA,EAAsD,OAAA,CACrD4B,CAAAA,EAEN,CAAA,CACA,IAAA,CAAK,UACL,uBAAA,CAAsB,UAAA,CACtB,YAAA,CAAYpB,CAAAA,CAAO,OAAS,QAAA,CAC5B,aAAA,CAAaA,CAAAA,CAAO,MAAA,CAAY,KAChC,SAAA,CAAWc,mBAAAA,CACTlD,CAAAA,CAAgB,CAAE,QAAA0D,CAAAA,CAAS,IAAA,CAAAC,CAAAA,CAAM,SAAA,CAAAC,CAAU,CAAC,CAAA,CAM5CxB,CAAAA,CAAO,aAAA,CAAgB,+BAAA,CACvBpB,CACF,CAAA,CACA,KAAA,CAAO,CACL,QAAA,CAAU,OAAA,CACV,GAAA,CAAKkD,CAAAA,CAAS,IACd,IAAA,CAAMA,CAAAA,CAAS,IAAA,CACf,MAAA,CAAQ,EACV,CAAA,CACC,GAAGvC,CAAAA,CAAAA,CAEHnB,CAAAA,CACDJ,mBAAA,aAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAW8C,mBAAAA,CAAGhD,EAAc,CAAE,OAAA,CAAAwD,CAAAA,CAAS,SAAA,CAAAE,CAAU,CAAC,CAAC,CAAA,CAAG,CAC7D,CAEJ,CACF,EAEAT,CAAAA,CAAe,WAAA,CAAc,gBAAA,CAUtB,IAAMwB,EAAAA,CAAkD,CAAC,CAC9D,QAAA,CAAAnE,CAAAA,CACA,aAAA,CAAeoE,CAAAA,CAAiB,IAChC,iBAAA,CAAmBC,CAAAA,CAAqB,GAAA,CACxC,WAAA,CAAaC,EAAe,KAC9B,CAAA,GACS1E,kBAAAA,CAAA,aAAA,CAAC,OAAI,uBAAA,CAAqB,IAAA,CAAA,CAAEI,CAAS,CAAA,CAIxCuE,EAAUC,mBAAAA,CAAKzE,CAAgB,EAOrCwE,CAAAA,CAAQ,QAAU3B,CAAAA,CAClB2B,CAAAA,CAAQ,OAAA,CAAU5B,CAAAA,CAClB4B,EAAQ,QAAA,CAAWJ,EAAAA","file":"chunk-MDXW6IRM.cjs","sourcesContent":["import React, { useState, useRef, useEffect, useCallback } from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../lib/utils\";\nimport { memo } from \"../../lib/memo\";\n\n// Tooltip variants\nconst tooltipVariants = cva(\n \"absolute z-50 px-3 py-2 text-sm font-medium rounded-md shadow-lg transition-opacity duration-200\",\n {\n variants: {\n variant: {\n default: \"bg-popover text-popover-foreground border border-border\",\n light: \"bg-popover text-popover-foreground border border-border\",\n dark: \"bg-popover text-popover-foreground border border-border\",\n success: \"bg-success text-success-foreground\",\n warning: \"bg-warning text-warning-foreground\",\n error: \"bg-destructive text-destructive-foreground\",\n info: \"bg-info text-info-foreground\",\n },\n size: {\n sm: \"text-xs px-2 py-1\",\n md: \"text-sm px-3 py-2\",\n lg: \"text-base px-4 py-3\",\n },\n placement: {\n top: \"bottom-full left-1/2 -translate-x-1/2 mb-2\",\n \"top-start\": \"bottom-full left-0 mb-2\",\n \"top-end\": \"bottom-full right-0 mb-2\",\n bottom: \"top-full left-1/2 -translate-x-1/2 mt-2\",\n \"bottom-start\": \"top-full left-0 mt-2\",\n \"bottom-end\": \"top-full right-0 mt-2\",\n left: \"right-full top-1/2 -translate-y-1/2 mr-2\",\n \"left-start\": \"right-full top-0 mr-2\",\n \"left-end\": \"right-full bottom-0 mr-2\",\n right: \"left-full top-1/2 -translate-y-1/2 ml-2\",\n \"right-start\": \"left-full top-0 ml-2\",\n \"right-end\": \"left-full bottom-0 ml-2\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"md\",\n placement: \"top\",\n },\n },\n);\n\nconst arrowVariants = cva(\"absolute w-2 h-2 rotate-45\", {\n variants: {\n variant: {\n default: \"bg-popover border border-border\",\n light: \"bg-popover border border-border\",\n dark: \"bg-popover border border-border\",\n success: \"bg-success-500\",\n warning: \"bg-warning-500\",\n error: \"bg-destructive\",\n info: \"bg-info-500\",\n },\n placement: {\n top: \"top-full left-1/2 -translate-x-1/2 -translate-y-1/2\",\n \"top-start\": \"top-full left-4 -translate-y-1/2\",\n \"top-end\": \"top-full right-4 -translate-y-1/2\",\n bottom: \"bottom-full left-1/2 -translate-x-1/2 translate-y-1/2\",\n \"bottom-start\": \"bottom-full left-4 translate-y-1/2\",\n \"bottom-end\": \"bottom-full right-4 translate-y-1/2\",\n left: \"left-full top-1/2 -translate-x-1/2 -translate-y-1/2\",\n \"left-start\": \"left-full top-4 -translate-x-1/2\",\n \"left-end\": \"left-full bottom-4 -translate-x-1/2\",\n right: \"right-full top-1/2 translate-x-1/2 -translate-y-1/2\",\n \"right-start\": \"right-full top-4 translate-x-1/2\",\n \"right-end\": \"right-full bottom-4 translate-x-1/2\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n placement: \"top\",\n },\n});\n\n// Types\nexport interface TooltipProps extends VariantProps<typeof tooltipVariants> {\n children: React.ReactNode;\n content: React.ReactNode;\n trigger?: \"hover\" | \"click\" | \"focus\" | \"manual\";\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n delayDuration?: number;\n skipDelayDuration?: number;\n disabled?: boolean;\n className?: string;\n contentClassName?: string;\n sideOffset?: number;\n alignOffset?: number;\n avoidCollisions?: boolean;\n collisionBoundary?: Element | null;\n collisionPadding?: number;\n hideWhenDetached?: boolean;\n sticky?: \"partial\" | \"always\";\n updatePositionDeps?: React.DependencyList;\n closeOnBlur?: boolean;\n}\n\nexport interface TooltipContentProps extends VariantProps<\n typeof tooltipVariants\n> {\n children: React.ReactNode;\n className?: string;\n sideOffset?: number;\n alignOffset?: number;\n avoidCollisions?: boolean;\n collisionBoundary?: Element | null;\n collisionPadding?: number;\n hideWhenDetached?: boolean;\n sticky?: \"partial\" | \"always\";\n updatePositionDeps?: React.DependencyList;\n}\n\nexport interface TooltipTriggerProps extends React.HTMLAttributes<HTMLElement> {\n children: React.ReactNode;\n asChild?: boolean;\n className?: string;\n}\n\n// Tooltip Context\ninterface TooltipContextType {\n open: boolean;\n setOpen: (open: boolean) => void;\n trigger: \"hover\" | \"click\" | \"focus\" | \"manual\";\n delayDuration: number;\n skipDelayDuration: number;\n openNow: () => void;\n closeNow: () => void;\n openWithDelay: () => void;\n closeWithDelay: () => void;\n toggleWithDelay: () => void;\n toggleNow: () => void;\n closeOnBlur: boolean;\n}\n\nconst TooltipContext = React.createContext<TooltipContextType | undefined>(\n undefined,\n);\n\nconst useTooltipContext = () => {\n const context = React.useContext(TooltipContext);\n if (!context) {\n throw new Error(\"Tooltip components must be used within a Tooltip\");\n }\n return context;\n};\n\n// Main Tooltip Component\nconst TooltipComponent = React.forwardRef<HTMLDivElement, TooltipProps>(\n (\n {\n children,\n content,\n trigger = \"hover\",\n open: controlledOpen,\n onOpenChange,\n delayDuration = 700,\n skipDelayDuration = 300,\n disabled = false,\n className,\n contentClassName,\n sideOffset = 4,\n alignOffset = 0,\n avoidCollisions = true,\n collisionBoundary,\n collisionPadding = 8,\n hideWhenDetached = false,\n sticky = \"partial\",\n updatePositionDeps,\n closeOnBlur = true,\n ...props\n },\n ref,\n ) => {\n const [internalOpen, setInternalOpen] = useState(false);\n const delayTimerRef = useRef<number | ReturnType<typeof setTimeout> | null>(\n null,\n );\n const skipDelayTimerRef = useRef<\n number | ReturnType<typeof setTimeout> | null\n >(null);\n\n const isControlled = controlledOpen !== undefined;\n const open = isControlled ? controlledOpen : internalOpen;\n\n const setOpen = useCallback(\n (newOpen: boolean) => {\n if (disabled) return;\n\n if (isControlled) {\n onOpenChange?.(newOpen);\n } else {\n setInternalOpen(newOpen);\n onOpenChange?.(newOpen); // notify i uncontrolled\n }\n },\n [disabled, isControlled, onOpenChange],\n );\n\n // --- Tooltip open/close/toggle helpers ---\n const clearTimers = useCallback(() => {\n if (delayTimerRef.current != null) {\n clearTimeout(delayTimerRef.current);\n delayTimerRef.current = null;\n }\n if (skipDelayTimerRef.current != null) {\n clearTimeout(skipDelayTimerRef.current);\n skipDelayTimerRef.current = null;\n }\n }, []);\n\n const openNow = useCallback(() => {\n clearTimers();\n setOpen(true);\n }, [clearTimers, setOpen]);\n\n const closeNow = useCallback(() => {\n clearTimers();\n setOpen(false);\n }, [clearTimers, setOpen]);\n\n const openWithDelay = useCallback(() => {\n clearTimers();\n if (disabled) return;\n if (delayDuration > 0) {\n delayTimerRef.current = window.setTimeout(() => {\n setOpen(true);\n }, delayDuration);\n } else {\n setOpen(true);\n }\n }, [clearTimers, disabled, delayDuration, setOpen]);\n\n const closeWithDelay = useCallback(() => {\n clearTimers();\n if (skipDelayDuration > 0) {\n skipDelayTimerRef.current = window.setTimeout(() => {\n setOpen(false);\n }, skipDelayDuration);\n } else {\n setOpen(false);\n }\n }, [clearTimers, skipDelayDuration, setOpen]);\n\n const toggleWithDelay = useCallback(() => {\n if (open) {\n closeWithDelay();\n } else {\n openWithDelay();\n }\n }, [open, openWithDelay, closeWithDelay]);\n\n const toggleNow = useCallback(() => {\n if (open) closeNow();\n else openNow();\n }, [open, openNow, closeNow]);\n\n // Cleanup timers on unmount\n useEffect(() => {\n return () => {\n clearTimers();\n };\n }, [clearTimers]);\n\n const contextValue: TooltipContextType = {\n open,\n setOpen,\n trigger,\n delayDuration,\n skipDelayDuration,\n openNow,\n closeNow,\n openWithDelay,\n closeWithDelay,\n toggleWithDelay,\n toggleNow,\n closeOnBlur,\n };\n\n // Only render the TooltipContent when open is true (and no pending close timer),\n // to help guard against duplicate tooltips in StrictMode/rapid toggles.\n const shouldRenderContent = open === true;\n\n return (\n <TooltipContext.Provider value={contextValue}>\n <div\n ref={ref}\n className={cn(\"relative inline-block\", className)}\n data-open={open}\n {...props}\n >\n {children}\n {shouldRenderContent ? (\n <TooltipContent\n className={contentClassName || \"\"}\n sideOffset={sideOffset}\n alignOffset={alignOffset}\n avoidCollisions={avoidCollisions}\n collisionBoundary={collisionBoundary || null}\n collisionPadding={collisionPadding}\n hideWhenDetached={hideWhenDetached}\n sticky={sticky}\n updatePositionDeps={updatePositionDeps || []}\n variant={props.variant}\n size={props.size}\n placement={props.placement}\n >\n {content}\n </TooltipContent>\n ) : null}\n </div>\n </TooltipContext.Provider>\n );\n },\n);\n\nTooltipComponent.displayName = \"Tooltip\";\n\n// Note: Tooltip memoization and subcomponent attachment happens at end of file\n\n// Tooltip Trigger Component\nexport const TooltipTrigger = React.forwardRef<\n HTMLElement,\n TooltipTriggerProps\n>(({ children, asChild = true, className, ...props }, ref) => {\n const {\n trigger,\n openNow,\n closeNow,\n openWithDelay,\n closeWithDelay,\n toggleNow,\n closeOnBlur,\n } = useTooltipContext();\n const triggerRef = useRef<HTMLElement>(null);\n\n const triggerProps = {\n ref: (node: HTMLElement) => {\n (triggerRef as React.MutableRefObject<HTMLElement | null>).current = node;\n if (typeof ref === \"function\") {\n ref(node);\n } else if (ref) {\n (ref as React.MutableRefObject<HTMLElement | null>).current = node;\n }\n },\n className: cn(className),\n \"data-tooltip-trigger\": true,\n onMouseEnter: (e: React.MouseEvent<HTMLElement>) => {\n // Call external handler first\n props.onMouseEnter?.(e as React.MouseEvent<HTMLElement>);\n if (trigger === \"hover\") {\n openWithDelay();\n }\n },\n onMouseLeave: (e: React.MouseEvent<HTMLElement>) => {\n props.onMouseLeave?.(e as React.MouseEvent<HTMLElement>);\n if (trigger === \"hover\") closeWithDelay();\n },\n onPointerEnter: (e: React.PointerEvent) => {\n // @ts-expect-error - Event handler type compatibility\n props.onPointerEnter?.(e);\n if (trigger === \"hover\") openWithDelay();\n },\n onPointerLeave: (e: React.PointerEvent) => {\n // @ts-expect-error - Event handler type compatibility\n props.onPointerLeave?.(e);\n if (trigger === \"hover\") closeWithDelay();\n },\n onClick: (e: React.MouseEvent) => {\n // @ts-expect-error - Event handler type compatibility\n props.onClick?.(e);\n if (trigger === \"click\") toggleNow();\n },\n onFocus: (e: React.FocusEvent) => {\n // @ts-expect-error - Event handler type compatibility\n props.onFocus?.(e);\n if (trigger === \"focus\") openNow();\n },\n onBlur: (e: React.FocusEvent) => {\n // @ts-expect-error - Event handler type compatibility\n props.onBlur?.(e);\n if (closeOnBlur) closeNow();\n },\n onKeyDown: (e: React.KeyboardEvent) => {\n // @ts-expect-error - Event handler type compatibility\n props.onKeyDown?.(e);\n if (e.key === \"Escape\") closeNow();\n },\n };\n\n if (asChild && React.isValidElement(children)) {\n // eslint-disable-next-line react-hooks/refs -- cloneElement merges triggerProps (incl. ref) onto the child; the ref is not read here\n return React.cloneElement(children, {\n ...(children.props || {}),\n ...triggerProps,\n });\n }\n\n return (\n <span\n {...triggerProps}\n tabIndex={trigger === \"focus\" ? 0 : undefined}\n role={trigger === \"click\" ? \"button\" : undefined}\n >\n {children}\n </span>\n );\n});\n\nTooltipTrigger.displayName = \"TooltipTrigger\";\n\n// Tooltip Content Component\nexport const TooltipContent = React.forwardRef<\n HTMLDivElement,\n TooltipContentProps\n>(\n (\n {\n children,\n variant = \"default\",\n size = \"md\",\n placement = \"top\",\n className,\n sideOffset = 4,\n alignOffset: _alignOffset = 0,\n avoidCollisions = true,\n collisionBoundary: _collisionBoundary,\n collisionPadding = 8,\n hideWhenDetached: _hideWhenDetached = false,\n sticky: _sticky = \"partial\",\n updatePositionDeps,\n ...props\n },\n ref,\n ) => {\n // Read the context directly rather than through useTooltipContext: that\n // throws without a provider, and TooltipContent was usable standalone before\n // this. Absent a Tooltip parent there is nothing to open it, so treat it as\n // shown - which is also what it did previously.\n const open = React.useContext(TooltipContext)?.open ?? true;\n const contentRef = useRef<HTMLDivElement>(null);\n const [position, setPosition] = useState({ top: 0, left: 0 });\n\n const updatePosition = useCallback(() => {\n if (!contentRef.current) return;\n\n const content = contentRef.current;\n const trigger = content.parentElement?.querySelector(\n \"[data-tooltip-trigger]\",\n ) as HTMLElement;\n\n if (!trigger) return;\n\n const triggerRect = trigger.getBoundingClientRect();\n const contentRect = content.getBoundingClientRect();\n const viewport = {\n width: window.innerWidth,\n height: window.innerHeight,\n };\n\n let top = 0;\n let left = 0;\n\n // Calculate position based on placement\n switch (placement) {\n case \"top\":\n top = triggerRect.top - contentRect.height - sideOffset;\n left =\n triggerRect.left + triggerRect.width / 2 - contentRect.width / 2;\n break;\n case \"top-start\":\n top = triggerRect.top - contentRect.height - sideOffset;\n left = triggerRect.left;\n break;\n case \"top-end\":\n top = triggerRect.top - contentRect.height - sideOffset;\n left = triggerRect.right - contentRect.width;\n break;\n case \"bottom\":\n top = triggerRect.bottom + sideOffset;\n left =\n triggerRect.left + triggerRect.width / 2 - contentRect.width / 2;\n break;\n case \"bottom-start\":\n top = triggerRect.bottom + sideOffset;\n left = triggerRect.left;\n break;\n case \"bottom-end\":\n top = triggerRect.bottom + sideOffset;\n left = triggerRect.right - contentRect.width;\n break;\n case \"left\":\n top =\n triggerRect.top + triggerRect.height / 2 - contentRect.height / 2;\n left = triggerRect.left - contentRect.width - sideOffset;\n break;\n case \"left-start\":\n top = triggerRect.top;\n left = triggerRect.left - contentRect.width - sideOffset;\n break;\n case \"left-end\":\n top = triggerRect.bottom - contentRect.height;\n left = triggerRect.left - contentRect.width - sideOffset;\n break;\n case \"right\":\n top =\n triggerRect.top + triggerRect.height / 2 - contentRect.height / 2;\n left = triggerRect.right + sideOffset;\n break;\n case \"right-start\":\n top = triggerRect.top;\n left = triggerRect.right + sideOffset;\n break;\n case \"right-end\":\n top = triggerRect.bottom - contentRect.height;\n left = triggerRect.right + sideOffset;\n break;\n }\n\n // Apply collision detection if enabled\n if (avoidCollisions) {\n // Horizontal collision detection\n if (left < collisionPadding) {\n left = collisionPadding;\n } else if (\n left + contentRect.width >\n viewport.width - collisionPadding\n ) {\n left = viewport.width - contentRect.width - collisionPadding;\n }\n\n // Vertical collision detection\n if (top < collisionPadding) {\n top = collisionPadding;\n } else if (\n top + contentRect.height >\n viewport.height - collisionPadding\n ) {\n top = viewport.height - contentRect.height - collisionPadding;\n }\n }\n\n setPosition({ top, left });\n }, [placement, sideOffset, avoidCollisions, collisionPadding]);\n\n React.useLayoutEffect(() => {\n updatePosition();\n\n const handleResize = () => updatePosition();\n window.addEventListener(\"resize\", handleResize);\n window.addEventListener(\"scroll\", handleResize);\n\n return () => {\n window.removeEventListener(\"resize\", handleResize);\n window.removeEventListener(\"scroll\", handleResize);\n };\n // is a dependency: the box is measured to place it, and measuring\n // it while closed gave a stale position on the first show.\n }, [updatePosition, updatePositionDeps, open]);\n\n return (\n <div\n ref={(node) => {\n (\n contentRef as React.MutableRefObject<HTMLDivElement | null>\n ).current = node;\n if (typeof ref === \"function\") {\n ref(node);\n } else if (ref) {\n (ref as React.MutableRefObject<HTMLDivElement | null>).current =\n node;\n }\n }}\n role=\"tooltip\"\n data-tooltip-instance=\"nostromo\"\n data-state={open ? \"open\" : \"closed\"}\n aria-hidden={open ? undefined : true}\n className={cn(\n tooltipVariants({ variant, size, placement }),\n // The content never read the open state. `data-open` was written on the\n // wrapper and nothing - no CSS, no conditional render - ever acted on\n // it, so the tooltip was permanently visible, sitting on top of its own\n // trigger. Bound to opacity rather than unmounted so the\n // `transition-opacity` the variants already declare still runs.\n open ? \"opacity-100\" : \"pointer-events-none opacity-0\",\n className,\n )}\n style={{\n position: \"fixed\",\n top: position.top,\n left: position.left,\n zIndex: 50,\n }}\n {...props}\n >\n {children}\n <div className={cn(arrowVariants({ variant, placement }))} />\n </div>\n );\n },\n);\n\nTooltipContent.displayName = \"TooltipContent\";\n\n// Tooltip Provider for global configuration\nexport interface TooltipProviderProps {\n children: React.ReactNode;\n delayDuration?: number;\n skipDelayDuration?: number;\n defaultOpen?: boolean;\n}\n\nexport const TooltipProvider: React.FC<TooltipProviderProps> = ({\n children,\n delayDuration: _delayDuration = 700,\n skipDelayDuration: _skipDelayDuration = 300,\n defaultOpen: _defaultOpen = false,\n}) => {\n return <div data-tooltip-provider>{children}</div>;\n};\n\n// Memoize Tooltip for performance optimization (after all subcomponents are defined)\nconst Tooltip = memo(TooltipComponent) as typeof TooltipComponent & {\n Trigger: typeof TooltipTrigger;\n Content: typeof TooltipContent;\n Provider: typeof TooltipProvider;\n};\n\n// Attach subcomponents to Tooltip for compound component pattern\nTooltip.Trigger = TooltipTrigger;\nTooltip.Content = TooltipContent;\nTooltip.Provider = TooltipProvider;\n\n// Export variants and Tooltip for external use\nexport { Tooltip, tooltipVariants, arrowVariants };\n"]}
|
package/dist/chunk-MLJZU63I.cjs
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
'use strict';var chunkITRGJNWL_cjs=require('./chunk-ITRGJNWL.cjs'),e=require('react'),classVarianceAuthority=require('class-variance-authority');function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var e__namespace=/*#__PURE__*/_interopNamespace(e);var V=classVarianceAuthority.cva("grid gap-2",{variants:{orientation:{vertical:"grid-cols-1",horizontal:"grid-cols-2 sm:grid-cols-3 md:grid-cols-4"}},defaultVariants:{orientation:"vertical"}}),w=classVarianceAuthority.cva("peer h-4 w-4 shrink-0 rounded-full border border-border shadow-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground data-[state=checked]:border-primary transition-all duration-200",{variants:{variant:{default:"border-border hover:border-border data-[state=checked]:bg-primary data-[state=checked]:border-primary",error:"border-destructive focus-visible:ring-destructive data-[state=checked]:bg-destructive data-[state=checked]:border-destructive",success:"border-success-500 focus-visible:ring-success-500 data-[state=checked]:bg-success-500 data-[state=checked]:border-success-500"},size:{default:"h-4 w-4",sm:"h-3 w-3",lg:"h-5 w-5"}},defaultVariants:{variant:"default",size:"default"}}),E=e__namespace.forwardRef(({className:u,error:t,helperText:r,label:s,required:d,orientation:p,name:m,defaultValue:o,value:n,onValueChange:l,disabled:b,children:c,...f},v)=>{let g=e__namespace.useId(),h=s?`${g}-label`:void 0,R=r?`${g}-helper`:void 0,y=t?`${g}-error`:void 0,x=a=>{l&&l(a.target.value);};return e__namespace.createElement("div",{className:"space-y-2"},s&&e__namespace.createElement("label",{id:h,className:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"},s,d&&e__namespace.createElement("span",{className:"text-error-500 ml-1"},"*")),e__namespace.createElement("div",{ref:v,className:chunkITRGJNWL_cjs.a(V({orientation:p,className:u})),role:"radiogroup","aria-labelledby":h,"aria-describedby":chunkITRGJNWL_cjs.a(R,y)||void 0,"aria-invalid":t,...f},e__namespace.Children.map(c,a=>{if(e__namespace.isValidElement(a)){let k=n!==void 0,P={name:m,disabled:!!(b??a.props.disabled),variant:t?"error":a.props.variant,...k?{checked:n===a.props.value}:{defaultChecked:o===a.props.value},onChange:x};return e__namespace.cloneElement(a,P)}return a})),r&&e__namespace.createElement("p",{id:R,className:chunkITRGJNWL_cjs.a("text-sm text-muted-foreground",t&&"text-destructive")},r))});E.displayName="RadioGroup";var N=e__namespace.forwardRef(({className:u,variant:t,size:r,value:s,label:d,disabled:p,id:m,onChange:o,...n},l)=>{let b=e__namespace.useId(),c=m||b,f=v=>{o&&o(v);};return e__namespace.createElement("div",{className:"flex items-center space-x-2"},e__namespace.createElement("input",{type:"radio",className:chunkITRGJNWL_cjs.a(w({variant:t,size:r,className:u})),ref:l,id:c,value:s,disabled:p,onChange:f,...n}),d&&e__namespace.createElement("label",{htmlFor:c,className:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"},d))});N.displayName="RadioItem";exports.a=V;exports.b=w;exports.c=E;exports.d=N;//# sourceMappingURL=chunk-MLJZU63I.cjs.map
|
|
2
3
|
//# sourceMappingURL=chunk-MLJZU63I.cjs.map
|
package/dist/chunk-MLSE5XSB.cjs
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
'use strict';var chunkITRGJNWL_cjs=require('./chunk-ITRGJNWL.cjs'),n=require('react'),classVarianceAuthority=require('class-variance-authority');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var n__default=/*#__PURE__*/_interopDefault(n);var L=classVarianceAuthority.cva("border border-border rounded-md overflow-hidden",{variants:{variant:{default:"bg-card",outlined:"border-2 border-border",filled:"bg-muted",ghost:"border-transparent bg-transparent"},size:{sm:"text-sm",md:"text-base",lg:"text-lg"}},defaultVariants:{variant:"default",size:"md"}}),z=classVarianceAuthority.cva("border-b border-border last:border-b-0",{variants:{variant:{default:"",outlined:"border-border",filled:"border-border",ghost:"border-transparent"}},defaultVariants:{variant:"default"}}),B=classVarianceAuthority.cva("flex w-full items-center justify-between py-4 px-6 text-left font-medium transition-colors hover:bg-muted focus:outline-none focus:ring-2 focus:ring-ring focus:ring-inset disabled:opacity-50 disabled:cursor-not-allowed",{variants:{variant:{default:"text-foreground",outlined:"text-foreground",filled:"text-foreground",ghost:"text-foreground"},size:{sm:"py-3 px-4 text-sm",md:"py-4 px-6 text-base",lg:"py-5 px-8 text-lg"}},defaultVariants:{variant:"default",size:"md"}}),K=classVarianceAuthority.cva("overflow-hidden transition-all duration-200 ease-in-out",{variants:{size:{sm:"text-sm",md:"text-base",lg:"text-lg"}},defaultVariants:{size:"md"}}),R=classVarianceAuthority.cva("h-4 w-4 shrink-0 transition-transform duration-200",{variants:{open:{true:"rotate-180",false:"rotate-0"}},defaultVariants:{open:false}}),E=n__default.default.createContext(void 0),N=n__default.default.createContext(null),T=()=>{let t=n__default.default.useContext(E);if(!t)throw new Error("Accordion components must be used within an Accordion");return t},P=()=>{let t=n__default.default.useContext(N);if(!t)throw new Error("Accordion components must be used within an AccordionItem");return t},S=n__default.default.forwardRef(({children:t,type:a="single",collapsible:c=true,value:l,defaultValue:i,onValueChange:o,variant:u="default",size:s="md",className:r,...f},g)=>{let[y,x]=n.useState(()=>i!==void 0?i:a==="single"?"":[]),p=l!==void 0,A=p?l:y,m=n.useCallback(e=>{p||x(e),o?.(e);},[p,o]),d={type:a,value:A,onValueChange:m,variant:u||"default",size:s||"md"};return n__default.default.createElement(E.Provider,{value:d},n__default.default.createElement("div",{ref:g,className:chunkITRGJNWL_cjs.a(L({variant:u,size:s}),r),"data-accordion-root":"true",...f},t))});S.displayName="Accordion";var $=n__default.default.forwardRef(({value:t,children:a,variant:c="default",className:l,disabled:i=false,...o},u)=>{let{variant:s,value:r,type:f,onValueChange:g}=T(),y=c==="default"?s:c,x=n__default.default.useId(),p=`accordion-trigger-${t}-${x}`,A=`accordion-content-${t}-${x}`,m=f==="single"?r===t:Array.isArray(r)&&r.includes(t),d=n.useCallback(()=>{if(!i)if(f==="single")g(m?"":t);else {let C=Array.isArray(r)?r:[];g(m?C.filter(I=>I!==t):[...C,t]);}},[i,m,f,t,r,g]),e={open:m,toggle:d,triggerId:p,contentId:A,value:t,disabled:i};return n__default.default.createElement(N.Provider,{value:e},n__default.default.createElement("div",{ref:u,className:chunkITRGJNWL_cjs.a(z({variant:y}),i&&"opacity-50 cursor-not-allowed",l),"data-value":t,"data-disabled":i,...o},a))});$.displayName="AccordionItem";var O=n__default.default.forwardRef(({children:t,variant:a="default",size:c="md",className:l,disabled:i=false,...o},u)=>{let{open:s,toggle:r,triggerId:f,contentId:g,disabled:y}=P(),{variant:x,size:p}=T(),A=a==="default"?x:a||"default",m=c==="md"?p:c||"md",d=y||i||false;return n__default.default.createElement("button",{...o,ref:u,type:"button",id:f,"aria-controls":g,"aria-expanded":s,"aria-disabled":d,disabled:d,"data-state":s?"open":"closed","data-accordion-trigger":"true",onClick:e=>{"onClick"in o&&o.onClick&&o.onClick(e),!d&&r();},onKeyDown:e=>{if("onKeyDown"in o&&o.onKeyDown&&o.onKeyDown(e),!d){if(e.key==="Enter"||e.key===" "){e.preventDefault(),e.stopPropagation(),r();return}if(e.key==="ArrowDown"||e.key==="ArrowUp"||e.key==="Home"||e.key==="End"){e.preventDefault();let C=e.currentTarget.closest('[data-accordion-root="true"]');if(!C)return;let b=Array.from(C.querySelectorAll('[data-accordion-trigger="true"]')).filter(D=>!D.disabled),M=e.currentTarget,V=b.indexOf(M);if(V===-1)return;let w;if(e.key==="ArrowDown")w=(V+1)%b.length;else if(e.key==="ArrowUp")w=(V-1+b.length)%b.length;else if(e.key==="Home")w=0;else if(e.key==="End")w=b.length-1;else return;b[w]?.focus();}}},className:chunkITRGJNWL_cjs.a(B({variant:A,size:m}),d&&"opacity-50 cursor-not-allowed",l)},n__default.default.createElement("span",{className:"flex-1"},t),n__default.default.createElement("svg",{className:chunkITRGJNWL_cjs.a(R({open:s})),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},n__default.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})))});O.displayName="AccordionTrigger";var j=n__default.default.forwardRef(({children:t,size:a="md",className:c,...l},i)=>{let{open:o,contentId:u,triggerId:s}=P(),{size:r}=T();return n__default.default.createElement("div",{...l,ref:i,id:u,role:"region","aria-labelledby":s,hidden:!o,"data-state":o?"open":"closed",className:chunkITRGJNWL_cjs.a(K({size:a==="md"?r:a}),"overflow-hidden transition-all duration-200 ease-in-out",c)},n__default.default.createElement("div",{className:"px-6 py-4"},t))});j.displayName="AccordionContent";
|
|
2
3
|
exports.a=L;exports.b=z;exports.c=B;exports.d=K;exports.e=R;exports.f=S;exports.g=$;exports.h=O;exports.i=j;//# sourceMappingURL=chunk-MLSE5XSB.cjs.map
|
|
3
4
|
//# sourceMappingURL=chunk-MLSE5XSB.cjs.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import {a as a$2}from'./chunk-COXN6XBA.js';import {a as a$1}from'./chunk-AC2JBXHQ.js';import a,{useState,useRef,useCallback,useEffect}from'react';import {cva}from'class-variance-authority';var Y=cva("absolute z-50 px-3 py-2 text-sm font-medium rounded-md shadow-lg transition-opacity duration-200",{variants:{variant:{default:"bg-popover text-popover-foreground border border-border",light:"bg-popover text-popover-foreground border border-border",dark:"bg-popover text-popover-foreground border border-border",success:"bg-success text-success-foreground",warning:"bg-warning text-warning-foreground",error:"bg-destructive text-destructive-foreground",info:"bg-info text-info-foreground"},size:{sm:"text-xs px-2 py-1",md:"text-sm px-3 py-2",lg:"text-base px-4 py-3"},placement:{top:"bottom-full left-1/2 -translate-x-1/2 mb-2","top-start":"bottom-full left-0 mb-2","top-end":"bottom-full right-0 mb-2",bottom:"top-full left-1/2 -translate-x-1/2 mt-2","bottom-start":"top-full left-0 mt-2","bottom-end":"top-full right-0 mt-2",left:"right-full top-1/2 -translate-y-1/2 mr-2","left-start":"right-full top-0 mr-2","left-end":"right-full bottom-0 mr-2",right:"left-full top-1/2 -translate-y-1/2 ml-2","right-start":"left-full top-0 ml-2","right-end":"left-full bottom-0 ml-2"}},defaultVariants:{variant:"default",size:"md",placement:"top"}}),Z=cva("absolute w-2 h-2 rotate-45",{variants:{variant:{default:"bg-popover border border-border",light:"bg-popover border border-border",dark:"bg-popover border border-border",success:"bg-success-500",warning:"bg-warning-500",error:"bg-destructive",info:"bg-info-500"},placement:{top:"top-full left-1/2 -translate-x-1/2 -translate-y-1/2","top-start":"top-full left-4 -translate-y-1/2","top-end":"top-full right-4 -translate-y-1/2",bottom:"bottom-full left-1/2 -translate-x-1/2 translate-y-1/2","bottom-start":"bottom-full left-4 translate-y-1/2","bottom-end":"bottom-full right-4 translate-y-1/2",left:"left-full top-1/2 -translate-x-1/2 -translate-y-1/2","left-start":"left-full top-4 -translate-x-1/2","left-end":"left-full bottom-4 -translate-x-1/2",right:"right-full top-1/2 translate-x-1/2 -translate-y-1/2","right-start":"right-full top-4 translate-x-1/2","right-end":"right-full bottom-4 translate-x-1/2"}},defaultVariants:{variant:"default",placement:"top"}}),O=a.createContext(void 0),$=()=>{let u=a.useContext(O);if(!u)throw new Error("Tooltip components must be used within a Tooltip");return u},q=a.forwardRef(({children:u,content:v,trigger:T="hover",open:i,onOpenChange:d,delayDuration:e=700,skipDelayDuration:y=300,disabled:f=false,className:E,contentClassName:s,sideOffset:C=4,alignOffset:M=0,avoidCollisions:R=true,collisionBoundary:w,collisionPadding:o=8,hideWhenDetached:x=false,sticky:D="partial",updatePositionDeps:L,closeOnBlur:H=true,...h},c)=>{let[N,t]=useState(false),r=useRef(null),g=useRef(null),l=i!==void 0,n=l?i:N,p=useCallback(_=>{f||(l||t(_),d?.(_));},[f,l,d]),m=useCallback(()=>{r.current!=null&&(clearTimeout(r.current),r.current=null),g.current!=null&&(clearTimeout(g.current),g.current=null);},[]),W=useCallback(()=>{m(),p(true);},[m,p]),B=useCallback(()=>{m(),p(false);},[m,p]),V=useCallback(()=>{m(),!f&&(e>0?r.current=window.setTimeout(()=>{p(true);},e):p(true));},[m,f,e,p]),z=useCallback(()=>{m(),y>0?g.current=window.setTimeout(()=>{p(false);},y):p(false);},[m,y,p]),G=useCallback(()=>{n?z():V();},[n,V,z]),J=useCallback(()=>{n?B():W();},[n,W,B]);useEffect(()=>()=>{m();},[m]);let Q={open:n,setOpen:p,trigger:T,delayDuration:e,skipDelayDuration:y,openNow:W,closeNow:B,openWithDelay:V,closeWithDelay:z,toggleWithDelay:G,toggleNow:J,closeOnBlur:H},U=n===true;return a.createElement(O.Provider,{value:Q},a.createElement("div",{ref:c,className:a$1("relative inline-block",E),"data-open":n,...h},u,U?a.createElement(F,{className:s||"",sideOffset:C,alignOffset:M,avoidCollisions:R,collisionBoundary:w||null,collisionPadding:o,hideWhenDetached:x,sticky:D,updatePositionDeps:L||[],variant:h.variant,size:h.size,placement:h.placement},v):null))});q.displayName="Tooltip";var A=a.forwardRef(({children:u,asChild:v=true,className:T,...i},d)=>{let{trigger:e,openNow:y,closeNow:f,openWithDelay:E,closeWithDelay:s,toggleNow:C,closeOnBlur:M}=$(),R=useRef(null),w={ref:o=>{R.current=o,typeof d=="function"?d(o):d&&(d.current=o);},className:a$1(T),"data-tooltip-trigger":true,onMouseEnter:o=>{i.onMouseEnter?.(o),e==="hover"&&E();},onMouseLeave:o=>{i.onMouseLeave?.(o),e==="hover"&&s();},onPointerEnter:o=>{i.onPointerEnter?.(o),e==="hover"&&E();},onPointerLeave:o=>{i.onPointerLeave?.(o),e==="hover"&&s();},onClick:o=>{i.onClick?.(o),e==="click"&&C();},onFocus:o=>{i.onFocus?.(o),e==="focus"&&y();},onBlur:o=>{i.onBlur?.(o),M&&f();},onKeyDown:o=>{i.onKeyDown?.(o),o.key==="Escape"&&f();}};return v&&a.isValidElement(u)?a.cloneElement(u,{...u.props||{},...w}):a.createElement("span",{...w,tabIndex:e==="focus"?0:void 0,role:e==="click"?"button":void 0},u)});A.displayName="TooltipTrigger";var F=a.forwardRef(({children:u,variant:v="default",size:T="md",placement:i="top",className:d,sideOffset:e=4,alignOffset:y=0,avoidCollisions:f=true,collisionBoundary:E,collisionPadding:s=8,hideWhenDetached:C=false,sticky:M="partial",updatePositionDeps:R,...w},o)=>{let x=a.useContext(O)?.open??true,D=useRef(null),[L,H]=useState({top:0,left:0}),h=useCallback(()=>{if(!D.current)return;let c=D.current,N=c.parentElement?.querySelector("[data-tooltip-trigger]");if(!N)return;let t=N.getBoundingClientRect(),r=c.getBoundingClientRect(),g={width:window.innerWidth,height:window.innerHeight},l=0,n=0;switch(i){case "top":l=t.top-r.height-e,n=t.left+t.width/2-r.width/2;break;case "top-start":l=t.top-r.height-e,n=t.left;break;case "top-end":l=t.top-r.height-e,n=t.right-r.width;break;case "bottom":l=t.bottom+e,n=t.left+t.width/2-r.width/2;break;case "bottom-start":l=t.bottom+e,n=t.left;break;case "bottom-end":l=t.bottom+e,n=t.right-r.width;break;case "left":l=t.top+t.height/2-r.height/2,n=t.left-r.width-e;break;case "left-start":l=t.top,n=t.left-r.width-e;break;case "left-end":l=t.bottom-r.height,n=t.left-r.width-e;break;case "right":l=t.top+t.height/2-r.height/2,n=t.right+e;break;case "right-start":l=t.top,n=t.right+e;break;case "right-end":l=t.bottom-r.height,n=t.right+e;break}f&&(n<s?n=s:n+r.width>g.width-s&&(n=g.width-r.width-s),l<s?l=s:l+r.height>g.height-s&&(l=g.height-r.height-s)),H({top:l,left:n});},[i,e,f,s]);return a.useLayoutEffect(()=>{h();let c=()=>h();return window.addEventListener("resize",c),window.addEventListener("scroll",c),()=>{window.removeEventListener("resize",c),window.removeEventListener("scroll",c);}},[h,R,x]),a.createElement("div",{ref:c=>{D.current=c,typeof o=="function"?o(c):o&&(o.current=c);},role:"tooltip","data-tooltip-instance":"nostromo","data-state":x?"open":"closed","aria-hidden":x?void 0:true,className:a$1(Y({variant:v,size:T,placement:i}),x?"opacity-100":"pointer-events-none opacity-0",d),style:{position:"fixed",top:L.top,left:L.left,zIndex:50},...w},u,a.createElement("div",{className:a$1(Z({variant:v,placement:i}))}))});F.displayName="TooltipContent";var tt=({children:u,delayDuration:v=700,skipDelayDuration:T=300,defaultOpen:i=false})=>a.createElement("div",{"data-tooltip-provider":true},u),j=a$2(q);j.Trigger=A;j.Content=F;j.Provider=tt;export{Y as a,Z as b,A as c,F as d,tt as e,j as f};//# sourceMappingURL=chunk-MOPCE5RA.js.map
|
|
3
|
+
//# sourceMappingURL=chunk-MOPCE5RA.js.map
|