@jarllyng/nostromo 3.1.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 +312 -0
- package/dist/chunk-2DNQXAMB.cjs +2 -0
- package/dist/chunk-2DNQXAMB.cjs.map +1 -0
- package/dist/chunk-2JQROMCM.js +2 -0
- package/dist/chunk-2JQROMCM.js.map +1 -0
- package/dist/chunk-3BNGK67W.js +2 -0
- package/dist/chunk-3BNGK67W.js.map +1 -0
- package/dist/chunk-3V3OIZWQ.cjs +2 -0
- package/dist/chunk-3V3OIZWQ.cjs.map +1 -0
- package/dist/chunk-44HISN45.js +2 -0
- package/dist/chunk-44HISN45.js.map +1 -0
- package/dist/chunk-4FSJEW7W.cjs +2 -0
- package/dist/chunk-4FSJEW7W.cjs.map +1 -0
- package/dist/chunk-4PN7OGLX.cjs +2 -0
- package/dist/chunk-4PN7OGLX.cjs.map +1 -0
- package/dist/chunk-4TYVEXRA.cjs +2 -0
- package/dist/chunk-4TYVEXRA.cjs.map +1 -0
- package/dist/chunk-4WFEVNXW.cjs +2 -0
- package/dist/chunk-4WFEVNXW.cjs.map +1 -0
- package/dist/chunk-55N2IT62.cjs +2 -0
- package/dist/chunk-55N2IT62.cjs.map +1 -0
- package/dist/chunk-5PVFLXPO.cjs +3 -0
- package/dist/chunk-5PVFLXPO.cjs.map +1 -0
- package/dist/chunk-6QAYHUNV.js +3 -0
- package/dist/chunk-6QAYHUNV.js.map +1 -0
- package/dist/chunk-7PPAI3MM.cjs +2 -0
- package/dist/chunk-7PPAI3MM.cjs.map +1 -0
- package/dist/chunk-7SPPGTBT.cjs +2 -0
- package/dist/chunk-7SPPGTBT.cjs.map +1 -0
- package/dist/chunk-7W456HZL.js +2 -0
- package/dist/chunk-7W456HZL.js.map +1 -0
- package/dist/chunk-7WEIVLG3.cjs +2 -0
- package/dist/chunk-7WEIVLG3.cjs.map +1 -0
- package/dist/chunk-7YFUAGIW.cjs +2 -0
- package/dist/chunk-7YFUAGIW.cjs.map +1 -0
- package/dist/chunk-ABA7B5DE.js +2 -0
- package/dist/chunk-ABA7B5DE.js.map +1 -0
- package/dist/chunk-AC2JBXHQ.js +2 -0
- package/dist/chunk-AC2JBXHQ.js.map +1 -0
- package/dist/chunk-AHRTNKXE.js +2 -0
- package/dist/chunk-AHRTNKXE.js.map +1 -0
- package/dist/chunk-AVTJE2O2.js +3 -0
- package/dist/chunk-AVTJE2O2.js.map +1 -0
- package/dist/chunk-B2BWBKZA.cjs +2 -0
- package/dist/chunk-B2BWBKZA.cjs.map +1 -0
- package/dist/chunk-BSUHBLZO.cjs +2 -0
- package/dist/chunk-BSUHBLZO.cjs.map +1 -0
- package/dist/chunk-BYV75TDY.cjs +2 -0
- package/dist/chunk-BYV75TDY.cjs.map +1 -0
- package/dist/chunk-BZF3ZOAN.js +3 -0
- package/dist/chunk-BZF3ZOAN.js.map +1 -0
- package/dist/chunk-CEMOHO3Z.js +2 -0
- package/dist/chunk-CEMOHO3Z.js.map +1 -0
- package/dist/chunk-COXN6XBA.js +2 -0
- package/dist/chunk-COXN6XBA.js.map +1 -0
- package/dist/chunk-CVOSWGQZ.js +2 -0
- package/dist/chunk-CVOSWGQZ.js.map +1 -0
- package/dist/chunk-EFCNLYYW.cjs +2 -0
- package/dist/chunk-EFCNLYYW.cjs.map +1 -0
- package/dist/chunk-EGQ2Q37R.cjs +2 -0
- package/dist/chunk-EGQ2Q37R.cjs.map +1 -0
- package/dist/chunk-EIXD3Y4R.js +2 -0
- package/dist/chunk-EIXD3Y4R.js.map +1 -0
- package/dist/chunk-EVRQYWZ3.cjs +2 -0
- package/dist/chunk-EVRQYWZ3.cjs.map +1 -0
- package/dist/chunk-FUENXWR7.cjs +2 -0
- package/dist/chunk-FUENXWR7.cjs.map +1 -0
- package/dist/chunk-G35BR7SK.cjs +2 -0
- package/dist/chunk-G35BR7SK.cjs.map +1 -0
- package/dist/chunk-G5ZSOVJY.cjs +2 -0
- package/dist/chunk-G5ZSOVJY.cjs.map +1 -0
- package/dist/chunk-G6TR5RGR.js +2 -0
- package/dist/chunk-G6TR5RGR.js.map +1 -0
- package/dist/chunk-GUJB555L.js +2 -0
- package/dist/chunk-GUJB555L.js.map +1 -0
- package/dist/chunk-HD3TMQPR.js +2 -0
- package/dist/chunk-HD3TMQPR.js.map +1 -0
- package/dist/chunk-HWZTMVQV.cjs +2 -0
- package/dist/chunk-HWZTMVQV.cjs.map +1 -0
- package/dist/chunk-IOX4WPJL.cjs +2 -0
- package/dist/chunk-IOX4WPJL.cjs.map +1 -0
- package/dist/chunk-ITRGJNWL.cjs +2 -0
- package/dist/chunk-ITRGJNWL.cjs.map +1 -0
- package/dist/chunk-J4VRJVTO.cjs +2 -0
- package/dist/chunk-J4VRJVTO.cjs.map +1 -0
- package/dist/chunk-JEHIMQQZ.js +2 -0
- package/dist/chunk-JEHIMQQZ.js.map +1 -0
- package/dist/chunk-JUOCEYUF.cjs +2 -0
- package/dist/chunk-JUOCEYUF.cjs.map +1 -0
- package/dist/chunk-JZROH43C.js +2 -0
- package/dist/chunk-JZROH43C.js.map +1 -0
- package/dist/chunk-K2JCGDU7.cjs +3 -0
- package/dist/chunk-K2JCGDU7.cjs.map +1 -0
- package/dist/chunk-LR4VUFOQ.js +2 -0
- package/dist/chunk-LR4VUFOQ.js.map +1 -0
- package/dist/chunk-LXQT7FH6.cjs +2 -0
- package/dist/chunk-LXQT7FH6.cjs.map +1 -0
- package/dist/chunk-LYVCB45L.js +2 -0
- package/dist/chunk-LYVCB45L.js.map +1 -0
- package/dist/chunk-M5IBD3KV.js +2 -0
- package/dist/chunk-M5IBD3KV.js.map +1 -0
- package/dist/chunk-MLJZU63I.cjs +2 -0
- package/dist/chunk-MLJZU63I.cjs.map +1 -0
- package/dist/chunk-MLSE5XSB.cjs +3 -0
- package/dist/chunk-MLSE5XSB.cjs.map +1 -0
- package/dist/chunk-MRZOLUSF.js +2 -0
- package/dist/chunk-MRZOLUSF.js.map +1 -0
- package/dist/chunk-MVCGR7JQ.js +2 -0
- package/dist/chunk-MVCGR7JQ.js.map +1 -0
- package/dist/chunk-NLD4R74T.js +2 -0
- package/dist/chunk-NLD4R74T.js.map +1 -0
- package/dist/chunk-OEN63W3G.cjs +2 -0
- package/dist/chunk-OEN63W3G.cjs.map +1 -0
- package/dist/chunk-OUWOPYAX.js +2 -0
- package/dist/chunk-OUWOPYAX.js.map +1 -0
- package/dist/chunk-OZ3RIKZO.cjs +2 -0
- package/dist/chunk-OZ3RIKZO.cjs.map +1 -0
- package/dist/chunk-PEYPRWZP.js +2 -0
- package/dist/chunk-PEYPRWZP.js.map +1 -0
- package/dist/chunk-PMNNV4ML.cjs +2 -0
- package/dist/chunk-PMNNV4ML.cjs.map +1 -0
- package/dist/chunk-PVHTEE5T.cjs +2 -0
- package/dist/chunk-PVHTEE5T.cjs.map +1 -0
- package/dist/chunk-Q6QMSAJR.js +2 -0
- package/dist/chunk-Q6QMSAJR.js.map +1 -0
- package/dist/chunk-QBAURT3I.js +2 -0
- package/dist/chunk-QBAURT3I.js.map +1 -0
- package/dist/chunk-QF5CRDZI.js +2 -0
- package/dist/chunk-QF5CRDZI.js.map +1 -0
- package/dist/chunk-RC2THAIA.js +2 -0
- package/dist/chunk-RC2THAIA.js.map +1 -0
- package/dist/chunk-RPRISB7O.cjs +2 -0
- package/dist/chunk-RPRISB7O.cjs.map +1 -0
- package/dist/chunk-SD4IIQ2I.cjs +2 -0
- package/dist/chunk-SD4IIQ2I.cjs.map +1 -0
- package/dist/chunk-SLGMKBST.js +2 -0
- package/dist/chunk-SLGMKBST.js.map +1 -0
- package/dist/chunk-TGPWW7FC.js +2 -0
- package/dist/chunk-TGPWW7FC.js.map +1 -0
- package/dist/chunk-TJFZAMBB.js +2 -0
- package/dist/chunk-TJFZAMBB.js.map +1 -0
- package/dist/chunk-UL6MF7ES.js +2 -0
- package/dist/chunk-UL6MF7ES.js.map +1 -0
- package/dist/chunk-V77N662N.cjs +2 -0
- package/dist/chunk-V77N662N.cjs.map +1 -0
- package/dist/chunk-VD6S2PE4.js +2 -0
- package/dist/chunk-VD6S2PE4.js.map +1 -0
- package/dist/chunk-VXMDVKAD.js +2 -0
- package/dist/chunk-VXMDVKAD.js.map +1 -0
- package/dist/chunk-WW2DDHCI.js +2 -0
- package/dist/chunk-WW2DDHCI.js.map +1 -0
- package/dist/chunk-XPIBRXTW.cjs +2 -0
- package/dist/chunk-XPIBRXTW.cjs.map +1 -0
- package/dist/chunk-XQUZ7DUN.js +2 -0
- package/dist/chunk-XQUZ7DUN.js.map +1 -0
- package/dist/chunk-YNSODGYK.js +2 -0
- package/dist/chunk-YNSODGYK.js.map +1 -0
- package/dist/chunk-ZC4HJSII.cjs +2 -0
- package/dist/chunk-ZC4HJSII.cjs.map +1 -0
- package/dist/chunk-ZEJAFIOC.js +2 -0
- package/dist/chunk-ZEJAFIOC.js.map +1 -0
- package/dist/chunk-ZQDFYSZB.cjs +2 -0
- package/dist/chunk-ZQDFYSZB.cjs.map +1 -0
- package/dist/chunk-ZYP2PDSX.cjs +2 -0
- package/dist/chunk-ZYP2PDSX.cjs.map +1 -0
- package/dist/components/core/accordion.cjs +2 -0
- package/dist/components/core/accordion.cjs.map +1 -0
- package/dist/components/core/accordion.d.cts +53 -0
- package/dist/components/core/accordion.d.ts +53 -0
- package/dist/components/core/accordion.js +2 -0
- package/dist/components/core/accordion.js.map +1 -0
- package/dist/components/core/alert.cjs +2 -0
- package/dist/components/core/alert.cjs.map +1 -0
- package/dist/components/core/alert.d.cts +29 -0
- package/dist/components/core/alert.d.ts +29 -0
- package/dist/components/core/alert.js +2 -0
- package/dist/components/core/alert.js.map +1 -0
- package/dist/components/core/avatar.cjs +2 -0
- package/dist/components/core/avatar.cjs.map +1 -0
- package/dist/components/core/avatar.d.cts +22 -0
- package/dist/components/core/avatar.d.ts +22 -0
- package/dist/components/core/avatar.js +2 -0
- package/dist/components/core/avatar.js.map +1 -0
- package/dist/components/core/badge.cjs +2 -0
- package/dist/components/core/badge.cjs.map +1 -0
- package/dist/components/core/badge.d.cts +43 -0
- package/dist/components/core/badge.d.ts +43 -0
- package/dist/components/core/badge.js +2 -0
- package/dist/components/core/badge.js.map +1 -0
- package/dist/components/core/breadcrumb.cjs +2 -0
- package/dist/components/core/breadcrumb.cjs.map +1 -0
- package/dist/components/core/breadcrumb.d.cts +43 -0
- package/dist/components/core/breadcrumb.d.ts +43 -0
- package/dist/components/core/breadcrumb.js +2 -0
- package/dist/components/core/breadcrumb.js.map +1 -0
- package/dist/components/core/button.cjs +2 -0
- package/dist/components/core/button.cjs.map +1 -0
- package/dist/components/core/button.d.cts +39 -0
- package/dist/components/core/button.d.ts +39 -0
- package/dist/components/core/button.js +2 -0
- package/dist/components/core/button.js.map +1 -0
- package/dist/components/core/calendar.cjs +2 -0
- package/dist/components/core/calendar.cjs.map +1 -0
- package/dist/components/core/calendar.d.cts +45 -0
- package/dist/components/core/calendar.d.ts +45 -0
- package/dist/components/core/calendar.js +2 -0
- package/dist/components/core/calendar.js.map +1 -0
- package/dist/components/core/card.cjs +2 -0
- package/dist/components/core/card.cjs.map +1 -0
- package/dist/components/core/card.d.cts +26 -0
- package/dist/components/core/card.d.ts +26 -0
- package/dist/components/core/card.js +2 -0
- package/dist/components/core/card.js.map +1 -0
- package/dist/components/core/charts-lazy.cjs +2 -0
- package/dist/components/core/charts-lazy.cjs.map +1 -0
- package/dist/components/core/charts-lazy.d.cts +31 -0
- package/dist/components/core/charts-lazy.d.ts +31 -0
- package/dist/components/core/charts-lazy.js +2 -0
- package/dist/components/core/charts-lazy.js.map +1 -0
- package/dist/components/core/charts.cjs +2 -0
- package/dist/components/core/charts.cjs.map +1 -0
- package/dist/components/core/charts.d.cts +35 -0
- package/dist/components/core/charts.d.ts +35 -0
- package/dist/components/core/charts.js +2 -0
- package/dist/components/core/charts.js.map +1 -0
- package/dist/components/core/checkbox.cjs +2 -0
- package/dist/components/core/checkbox.cjs.map +1 -0
- package/dist/components/core/checkbox.d.cts +31 -0
- package/dist/components/core/checkbox.d.ts +31 -0
- package/dist/components/core/checkbox.js +2 -0
- package/dist/components/core/checkbox.js.map +1 -0
- package/dist/components/core/data-table.cjs +2 -0
- package/dist/components/core/data-table.cjs.map +1 -0
- package/dist/components/core/data-table.d.cts +54 -0
- package/dist/components/core/data-table.d.ts +54 -0
- package/dist/components/core/data-table.js +2 -0
- package/dist/components/core/data-table.js.map +1 -0
- package/dist/components/core/dialog.cjs +2 -0
- package/dist/components/core/dialog.cjs.map +1 -0
- package/dist/components/core/dialog.d.cts +34 -0
- package/dist/components/core/dialog.d.ts +34 -0
- package/dist/components/core/dialog.js +2 -0
- package/dist/components/core/dialog.js.map +1 -0
- package/dist/components/core/error-boundary.cjs +2 -0
- package/dist/components/core/error-boundary.cjs.map +1 -0
- package/dist/components/core/error-boundary.d.cts +35 -0
- package/dist/components/core/error-boundary.d.ts +35 -0
- package/dist/components/core/error-boundary.js +2 -0
- package/dist/components/core/error-boundary.js.map +1 -0
- package/dist/components/core/error-message.cjs +2 -0
- package/dist/components/core/error-message.cjs.map +1 -0
- package/dist/components/core/error-message.d.cts +13 -0
- package/dist/components/core/error-message.d.ts +13 -0
- package/dist/components/core/error-message.js +2 -0
- package/dist/components/core/error-message.js.map +1 -0
- package/dist/components/core/helper-text.cjs +2 -0
- package/dist/components/core/helper-text.cjs.map +1 -0
- package/dist/components/core/helper-text.d.cts +13 -0
- package/dist/components/core/helper-text.d.ts +13 -0
- package/dist/components/core/helper-text.js +2 -0
- package/dist/components/core/helper-text.js.map +1 -0
- package/dist/components/core/icon.cjs +2 -0
- package/dist/components/core/icon.cjs.map +1 -0
- package/dist/components/core/icon.d.cts +19 -0
- package/dist/components/core/icon.d.ts +19 -0
- package/dist/components/core/icon.js +2 -0
- package/dist/components/core/icon.js.map +1 -0
- package/dist/components/core/input.cjs +2 -0
- package/dist/components/core/input.cjs.map +1 -0
- package/dist/components/core/input.d.cts +18 -0
- package/dist/components/core/input.d.ts +18 -0
- package/dist/components/core/input.js +2 -0
- package/dist/components/core/input.js.map +1 -0
- package/dist/components/core/label.cjs +2 -0
- package/dist/components/core/label.cjs.map +1 -0
- package/dist/components/core/label.d.cts +14 -0
- package/dist/components/core/label.d.ts +14 -0
- package/dist/components/core/label.js +2 -0
- package/dist/components/core/label.js.map +1 -0
- package/dist/components/core/pagination.cjs +2 -0
- package/dist/components/core/pagination.cjs.map +1 -0
- package/dist/components/core/pagination.d.cts +32 -0
- package/dist/components/core/pagination.d.ts +32 -0
- package/dist/components/core/pagination.js +2 -0
- package/dist/components/core/pagination.js.map +1 -0
- package/dist/components/core/progress.cjs +2 -0
- package/dist/components/core/progress.cjs.map +1 -0
- package/dist/components/core/progress.d.cts +44 -0
- package/dist/components/core/progress.d.ts +44 -0
- package/dist/components/core/progress.js +2 -0
- package/dist/components/core/progress.js.map +1 -0
- package/dist/components/core/radio-group.cjs +2 -0
- package/dist/components/core/radio-group.cjs.map +1 -0
- package/dist/components/core/radio-group.d.cts +71 -0
- package/dist/components/core/radio-group.d.ts +71 -0
- package/dist/components/core/radio-group.js +2 -0
- package/dist/components/core/radio-group.js.map +1 -0
- package/dist/components/core/select.cjs +2 -0
- package/dist/components/core/select.cjs.map +1 -0
- package/dist/components/core/select.d.cts +41 -0
- package/dist/components/core/select.d.ts +41 -0
- package/dist/components/core/select.js +2 -0
- package/dist/components/core/select.js.map +1 -0
- package/dist/components/core/separator.cjs +2 -0
- package/dist/components/core/separator.cjs.map +1 -0
- package/dist/components/core/separator.d.cts +16 -0
- package/dist/components/core/separator.d.ts +16 -0
- package/dist/components/core/separator.js +2 -0
- package/dist/components/core/separator.js.map +1 -0
- package/dist/components/core/skeleton.cjs +2 -0
- package/dist/components/core/skeleton.cjs.map +1 -0
- package/dist/components/core/skeleton.d.cts +46 -0
- package/dist/components/core/skeleton.d.ts +46 -0
- package/dist/components/core/skeleton.js +2 -0
- package/dist/components/core/skeleton.js.map +1 -0
- package/dist/components/core/switch.cjs +2 -0
- package/dist/components/core/switch.cjs.map +1 -0
- package/dist/components/core/switch.d.cts +21 -0
- package/dist/components/core/switch.d.ts +21 -0
- package/dist/components/core/switch.js +2 -0
- package/dist/components/core/switch.js.map +1 -0
- package/dist/components/core/table.cjs +2 -0
- package/dist/components/core/table.cjs.map +1 -0
- package/dist/components/core/table.d.cts +84 -0
- package/dist/components/core/table.d.ts +84 -0
- package/dist/components/core/table.js +2 -0
- package/dist/components/core/table.js.map +1 -0
- package/dist/components/core/tabs.cjs +2 -0
- package/dist/components/core/tabs.cjs.map +1 -0
- package/dist/components/core/tabs.d.cts +28 -0
- package/dist/components/core/tabs.d.ts +28 -0
- package/dist/components/core/tabs.js +2 -0
- package/dist/components/core/tabs.js.map +1 -0
- package/dist/components/core/textarea.cjs +2 -0
- package/dist/components/core/textarea.cjs.map +1 -0
- package/dist/components/core/textarea.d.cts +18 -0
- package/dist/components/core/textarea.d.ts +18 -0
- package/dist/components/core/textarea.js +2 -0
- package/dist/components/core/textarea.js.map +1 -0
- package/dist/components/core/toast.cjs +2 -0
- package/dist/components/core/toast.cjs.map +1 -0
- package/dist/components/core/toast.d.cts +50 -0
- package/dist/components/core/toast.d.ts +50 -0
- package/dist/components/core/toast.js +2 -0
- package/dist/components/core/toast.js.map +1 -0
- package/dist/components/core/tooltip.cjs +2 -0
- package/dist/components/core/tooltip.cjs.map +1 -0
- package/dist/components/core/tooltip.d.cts +68 -0
- package/dist/components/core/tooltip.d.ts +68 -0
- package/dist/components/core/tooltip.js +2 -0
- package/dist/components/core/tooltip.js.map +1 -0
- package/dist/components/marketing/features.cjs +2 -0
- package/dist/components/marketing/features.cjs.map +1 -0
- package/dist/components/marketing/features.d.cts +35 -0
- package/dist/components/marketing/features.d.ts +35 -0
- package/dist/components/marketing/features.js +2 -0
- package/dist/components/marketing/features.js.map +1 -0
- package/dist/components/marketing/gallery.cjs +2 -0
- package/dist/components/marketing/gallery.cjs.map +1 -0
- package/dist/components/marketing/gallery.d.cts +38 -0
- package/dist/components/marketing/gallery.d.ts +38 -0
- package/dist/components/marketing/gallery.js +2 -0
- package/dist/components/marketing/gallery.js.map +1 -0
- package/dist/components/marketing/hero.cjs +2 -0
- package/dist/components/marketing/hero.cjs.map +1 -0
- package/dist/components/marketing/hero.d.cts +31 -0
- package/dist/components/marketing/hero.d.ts +31 -0
- package/dist/components/marketing/hero.js +2 -0
- package/dist/components/marketing/hero.js.map +1 -0
- package/dist/components/marketing/logo-wall.cjs +2 -0
- package/dist/components/marketing/logo-wall.cjs.map +1 -0
- package/dist/components/marketing/logo-wall.d.cts +44 -0
- package/dist/components/marketing/logo-wall.d.ts +44 -0
- package/dist/components/marketing/logo-wall.js +2 -0
- package/dist/components/marketing/logo-wall.js.map +1 -0
- package/dist/components/marketing/pricing.cjs +2 -0
- package/dist/components/marketing/pricing.cjs.map +1 -0
- package/dist/components/marketing/pricing.d.cts +52 -0
- package/dist/components/marketing/pricing.d.ts +52 -0
- package/dist/components/marketing/pricing.js +2 -0
- package/dist/components/marketing/pricing.js.map +1 -0
- package/dist/components/marketing/testimonials.cjs +2 -0
- package/dist/components/marketing/testimonials.cjs.map +1 -0
- package/dist/components/marketing/testimonials.d.cts +34 -0
- package/dist/components/marketing/testimonials.d.ts +34 -0
- package/dist/components/marketing/testimonials.js +2 -0
- package/dist/components/marketing/testimonials.js.map +1 -0
- package/dist/index.cjs +2 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.css +2 -0
- package/dist/index.css.map +1 -0
- package/dist/index.d.cts +125 -0
- package/dist/index.d.ts +125 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/lazy.cjs +2 -0
- package/dist/lib/lazy.cjs.map +1 -0
- package/dist/lib/lazy.d.cts +43 -0
- package/dist/lib/lazy.d.ts +43 -0
- package/dist/lib/lazy.js +2 -0
- package/dist/lib/lazy.js.map +1 -0
- package/dist/lib/performance.cjs +2 -0
- package/dist/lib/performance.cjs.map +1 -0
- package/dist/lib/performance.d.cts +52 -0
- package/dist/lib/performance.d.ts +52 -0
- package/dist/lib/performance.js +2 -0
- package/dist/lib/performance.js.map +1 -0
- package/dist/tailwind.css +29 -0
- package/dist/themes/__tests__/themes.test.ts +46 -0
- package/dist/themes/index.ts +50 -0
- package/dist/themes/lv-426.css +342 -0
- package/dist/themes/mother.css +280 -0
- package/dist/themes/nostromo.css +315 -0
- package/dist/themes/sulaco.css +404 -0
- package/dist/themes/utils.ts +105 -0
- package/dist/tokens.css +212 -0
- package/package.json +321 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var chunkITRGJNWL_cjs=require('./chunk-ITRGJNWL.cjs'),a=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 a__namespace=/*#__PURE__*/_interopNamespace(a);var E=classVarianceAuthority.cva("flex items-center justify-center space-x-1",{variants:{variant:{default:"",compact:"space-x-0.5"},size:{default:"h-9",sm:"h-8",lg:"h-10"}},defaultVariants:{variant:"default",size:"default"}}),i=classVarianceAuthority.cva("inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",outline:"border border-input bg-transparent hover:bg-accent hover:text-accent-foreground",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 w-9",sm:"h-8 w-8 text-xs",lg:"h-10 w-10",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),k=a__namespace.forwardRef(({className:o,currentPage:e,totalPages:t,onPageChange:b,showFirstLast:v=true,showPrevNext:y=true,maxVisiblePages:c=5,disabled:r=false,variant:R,size:l,...w},P)=>{let m=n=>{r||n<1||n>t||n===e||b(n);},f=(()=>{if(t<=c)return Array.from({length:t},(L,N)=>N+1);let n=Math.floor(c/2),u=Math.max(1,e-n),h=Math.min(t,u+c-1);return h-u+1<c&&(u=Math.max(1,h-c+1)),Array.from({length:h-u+1},(L,N)=>u+N)})(),C=f[0]>1,M=f[f.length-1]<t;return a__namespace.createElement("nav",{ref:P,"aria-label":"Pagination",className:chunkITRGJNWL_cjs.a(E({variant:R,size:l}),o),...w},a__namespace.createElement("ul",{className:"flex items-center space-x-1"},v&&a__namespace.createElement("li",null,a__namespace.createElement("button",{onClick:()=>m(1),disabled:r||e===1,className:chunkITRGJNWL_cjs.a(i({variant:"outline",size:l})),"aria-label":"Go to first page"},a__namespace.createElement("span",{className:"sr-only"},"First"),a__namespace.createElement(phosphorReact.CaretLeft,{className:"h-4 w-4"}),a__namespace.createElement(phosphorReact.CaretLeft,{className:"h-4 w-4 -ml-1"}))),y&&a__namespace.createElement("li",null,a__namespace.createElement("button",{onClick:()=>m(e-1),disabled:r||e===1,className:chunkITRGJNWL_cjs.a(i({variant:"outline",size:l})),"aria-label":"Go to previous page"},a__namespace.createElement("span",{className:"sr-only"},"Previous"),a__namespace.createElement(phosphorReact.CaretLeft,{className:"h-4 w-4"}))),C&&a__namespace.createElement("li",null,a__namespace.createElement("span",{className:"flex items-center justify-center h-9 w-9 text-sm text-muted-foreground"},a__namespace.createElement(phosphorReact.DotsThree,{className:"h-4 w-4"}),a__namespace.createElement("span",{className:"sr-only"},"More pages before"))),f.map(n=>a__namespace.createElement("li",{key:n},a__namespace.createElement("button",{onClick:()=>m(n),disabled:r,className:chunkITRGJNWL_cjs.a(i({variant:n===e?"default":"outline",size:l}),n===e&&"bg-primary text-primary-foreground hover:bg-primary/90"),"aria-label":`Go to page ${n}`,"aria-current":n===e?"page":void 0},n))),M&&a__namespace.createElement("li",null,a__namespace.createElement("span",{className:"flex items-center justify-center h-9 w-9 text-sm text-muted-foreground"},a__namespace.createElement(phosphorReact.DotsThree,{className:"h-4 w-4"}),a__namespace.createElement("span",{className:"sr-only"},"More pages after"))),y&&a__namespace.createElement("li",null,a__namespace.createElement("button",{onClick:()=>m(e+1),disabled:r||e===t,className:chunkITRGJNWL_cjs.a(i({variant:"outline",size:l})),"aria-label":"Go to next page"},a__namespace.createElement("span",{className:"sr-only"},"Next"),a__namespace.createElement(phosphorReact.CaretRight,{className:"h-4 w-4"}))),v&&a__namespace.createElement("li",null,a__namespace.createElement("button",{onClick:()=>m(t),disabled:r||e===t,className:chunkITRGJNWL_cjs.a(i({variant:"outline",size:l})),"aria-label":"Go to last page"},a__namespace.createElement("span",{className:"sr-only"},"Last"),a__namespace.createElement(phosphorReact.CaretRight,{className:"h-4 w-4"}),a__namespace.createElement(phosphorReact.CaretRight,{className:"h-4 w-4 -ml-1"})))))});k.displayName="Pagination";var T=a__namespace.forwardRef(({className:o,...e},t)=>a__namespace.createElement("ul",{ref:t,className:chunkITRGJNWL_cjs.a("flex flex-row items-center gap-1",o),...e}));T.displayName="PaginationContent";var H=a__namespace.forwardRef(({className:o,...e},t)=>a__namespace.createElement("li",{ref:t,className:chunkITRGJNWL_cjs.a("",o),...e}));H.displayName="PaginationItem";var G=a__namespace.forwardRef(({className:o,isActive:e,...t},b)=>a__namespace.createElement("button",{ref:b,className:chunkITRGJNWL_cjs.a(i({variant:e?"default":"outline",size:"default"}),e&&"bg-primary text-primary-foreground hover:bg-primary/90",o),"aria-current":e?"page":void 0,...t}));G.displayName="PaginationLink";var V=a__namespace.forwardRef(({className:o,...e},t)=>a__namespace.createElement("button",{ref:t,className:chunkITRGJNWL_cjs.a(i({variant:"outline",size:"default"}),o),"aria-label":"Go to previous page",...e},a__namespace.createElement(phosphorReact.CaretLeft,{className:"h-4 w-4"}),a__namespace.createElement("span",{className:"sr-only"},"Previous")));V.displayName="PaginationPrevious";var W=a__namespace.forwardRef(({className:o,...e},t)=>a__namespace.createElement("button",{ref:t,className:chunkITRGJNWL_cjs.a(i({variant:"outline",size:"default"}),o),"aria-label":"Go to next page",...e},a__namespace.createElement(phosphorReact.CaretRight,{className:"h-4 w-4"}),a__namespace.createElement("span",{className:"sr-only"},"Next")));W.displayName="PaginationNext";var j=a__namespace.forwardRef(({className:o,...e},t)=>a__namespace.createElement("span",{ref:t,className:chunkITRGJNWL_cjs.a("flex h-9 w-9 items-center justify-center",o),...e},a__namespace.createElement(phosphorReact.DotsThree,{className:"h-4 w-4"}),a__namespace.createElement("span",{className:"sr-only"},"More pages")));j.displayName="PaginationEllipsis";exports.a=E;exports.b=i;exports.c=k;exports.d=T;exports.e=H;exports.f=G;exports.g=V;exports.h=W;exports.i=j;//# sourceMappingURL=chunk-BYV75TDY.cjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-BYV75TDY.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/core/pagination.tsx"],"names":["paginationVariants","cva","paginationItemVariants","Pagination","a","className","currentPage","totalPages","onPageChange","showFirstLast","showPrevNext","maxVisiblePages","disabled","variant","size","props","ref","handlePageChange","page","visiblePages","_","i","half","start","end","showStartEllipsis","showEndEllipsis","cn","CaretLeft","DotsThree","CaretRight","PaginationContent","PaginationItem","PaginationLink","isActive","PaginationPrevious","PaginationNext","PaginationEllipsis"],"mappings":"+hBAKA,IAAMA,EAAqBC,0BAAAA,CACzB,4CAAA,CACA,CACE,QAAA,CAAU,CACR,OAAA,CAAS,CACP,QAAS,EAAA,CACT,OAAA,CAAS,aACX,CAAA,CACA,IAAA,CAAM,CACJ,OAAA,CAAS,KAAA,CACT,GAAI,KAAA,CACJ,EAAA,CAAI,MACN,CACF,CAAA,CACA,gBAAiB,CACf,OAAA,CAAS,UACT,IAAA,CAAM,SACR,CACF,CACF,EAEMC,CAAAA,CAAyBD,0BAAAA,CAC7B,gPACA,CACE,QAAA,CAAU,CACR,OAAA,CAAS,CACP,QAAS,gFAAA,CACT,OAAA,CAAS,kFACT,KAAA,CAAO,8CAAA,CACP,KAAM,iDACR,CAAA,CACA,KAAM,CACJ,OAAA,CAAS,UACT,EAAA,CAAI,iBAAA,CACJ,GAAI,WAAA,CACJ,IAAA,CAAM,SACR,CACF,CAAA,CACA,gBAAiB,CACf,OAAA,CAAS,UACT,IAAA,CAAM,SACR,CACF,CACF,CAAA,CAcME,EAAmBC,YAAA,CAAA,UAAA,CACvB,CACE,CACE,SAAA,CAAAC,CAAAA,CACA,WAAA,CAAAC,CAAAA,CACA,WAAAC,CAAAA,CACA,YAAA,CAAAC,EACA,aAAA,CAAAC,CAAAA,CAAgB,KAChB,YAAA,CAAAC,CAAAA,CAAe,KACf,eAAA,CAAAC,CAAAA,CAAkB,EAClB,QAAA,CAAAC,CAAAA,CAAW,MACX,OAAA,CAAAC,CAAAA,CACA,KAAAC,CAAAA,CACA,GAAGC,CACL,CAAA,CACAC,CAAAA,GACG,CACH,IAAMC,CAAAA,CAAoBC,GAAiB,CACrCN,CAAAA,EAAYM,EAAO,CAAA,EAAKA,CAAAA,CAAOX,GAAcW,CAAAA,GAASZ,CAAAA,EAG1DE,EAAaU,CAAI,EACnB,EAkBMC,CAAAA,CAAAA,CAhBkB,IAAM,CAC5B,GAAIZ,CAAAA,EAAcI,CAAAA,CAChB,OAAO,MAAM,IAAA,CAAK,CAAE,OAAQJ,CAAW,CAAA,CAAG,CAACa,CAAAA,CAAGC,CAAAA,GAAMA,EAAI,CAAC,CAAA,CAG3D,IAAMC,CAAAA,CAAO,IAAA,CAAK,MAAMX,CAAAA,CAAkB,CAAC,EACvCY,CAAAA,CAAQ,IAAA,CAAK,IAAI,CAAA,CAAGjB,CAAAA,CAAcgB,CAAI,CAAA,CACtCE,CAAAA,CAAM,KAAK,GAAA,CAAIjB,CAAAA,CAAYgB,EAAQZ,CAAAA,CAAkB,CAAC,EAE1D,OAAIa,CAAAA,CAAMD,EAAQ,CAAA,CAAIZ,CAAAA,GACpBY,EAAQ,IAAA,CAAK,GAAA,CAAI,EAAGC,CAAAA,CAAMb,CAAAA,CAAkB,CAAC,CAAA,CAAA,CAGxC,MAAM,IAAA,CAAK,CAAE,OAAQa,CAAAA,CAAMD,CAAAA,CAAQ,CAAE,CAAA,CAAG,CAACH,EAAGC,CAAAA,GAAME,CAAAA,CAAQF,CAAC,CACpE,CAAA,IAGMI,CAAAA,CAAoBN,CAAAA,CAAa,CAAC,CAAA,CAAK,CAAA,CACvCO,CAAAA,CAAkBP,CAAAA,CAAaA,EAAa,MAAA,CAAS,CAAC,EAAKZ,CAAAA,CAEjE,OACEH,2BAAC,KAAA,CAAA,CACC,GAAA,CAAKY,EACL,YAAA,CAAW,YAAA,CACX,UAAWW,mBAAAA,CAAG3B,CAAAA,CAAmB,CAAE,OAAA,CAAAa,CAAAA,CAAS,KAAAC,CAAK,CAAC,CAAA,CAAGT,CAAS,EAC7D,GAAGU,CAAAA,CAAAA,CAEJX,2BAAC,IAAA,CAAA,CAAG,SAAA,CAAU,+BACXK,CAAAA,EACCL,YAAA,CAAA,aAAA,CAAC,UACCA,YAAA,CAAA,aAAA,CAAC,QAAA,CAAA,CACC,QAAS,IAAMa,CAAAA,CAAiB,CAAC,CAAA,CACjC,QAAA,CAAUL,GAAYN,CAAAA,GAAgB,CAAA,CACtC,UAAWqB,mBAAAA,CAAGzB,CAAAA,CAAuB,CAAE,OAAA,CAAS,SAAA,CAAW,KAAAY,CAAK,CAAC,CAAC,CAAA,CAClE,YAAA,CAAW,oBAEXV,YAAA,CAAA,aAAA,CAAC,MAAA,CAAA,CAAK,UAAU,SAAA,CAAA,CAAU,OAAK,EAC/BA,YAAA,CAAA,aAAA,CAACwB,uBAAAA,CAAA,CAAU,SAAA,CAAU,SAAA,CAAU,CAAA,CAC/BxB,YAAA,CAAA,aAAA,CAACwB,wBAAA,CAAU,SAAA,CAAU,gBAAgB,CACvC,CACF,EAGDlB,CAAAA,EACCN,YAAA,CAAA,aAAA,CAAC,UACCA,YAAA,CAAA,aAAA,CAAC,QAAA,CAAA,CACC,QAAS,IAAMa,CAAAA,CAAiBX,EAAc,CAAC,CAAA,CAC/C,SAAUM,CAAAA,EAAYN,CAAAA,GAAgB,EACtC,SAAA,CAAWqB,mBAAAA,CAAGzB,EAAuB,CAAE,OAAA,CAAS,UAAW,IAAA,CAAAY,CAAK,CAAC,CAAC,CAAA,CAClE,aAAW,qBAAA,CAAA,CAEXV,YAAA,CAAA,aAAA,CAAC,QAAK,SAAA,CAAU,SAAA,CAAA,CAAU,UAAQ,CAAA,CAClCA,YAAA,CAAA,aAAA,CAACwB,wBAAA,CAAU,SAAA,CAAU,SAAA,CAAU,CACjC,CACF,CAAA,CAGDH,CAAAA,EACCrB,2BAAC,IAAA,CAAA,IAAA,CACCA,YAAA,CAAA,aAAA,CAAC,QAAK,SAAA,CAAU,wEAAA,CAAA,CACdA,2BAACyB,uBAAAA,CAAA,CAAU,UAAU,SAAA,CAAU,CAAA,CAC/BzB,2BAAC,MAAA,CAAA,CAAK,SAAA,CAAU,WAAU,mBAAiB,CAC7C,CACF,CAAA,CAGDe,CAAAA,CAAa,IAAKD,CAAAA,EACjBd,YAAA,CAAA,aAAA,CAAC,MAAG,GAAA,CAAKc,CAAAA,CAAAA,CACPd,2BAAC,QAAA,CAAA,CACC,OAAA,CAAS,IAAMa,CAAAA,CAAiBC,CAAI,EACpC,QAAA,CAAUN,CAAAA,CACV,UAAWe,mBAAAA,CACTzB,CAAAA,CAAuB,CACrB,OAAA,CAASgB,CAAAA,GAASZ,CAAAA,CAAc,SAAA,CAAY,UAC5C,IAAA,CAAAQ,CACF,CAAC,CAAA,CACDI,CAAAA,GAASZ,GAAe,wDAC1B,CAAA,CACA,aAAY,CAAA,WAAA,EAAcY,CAAI,GAC9B,cAAA,CAAcA,CAAAA,GAASZ,EAAc,MAAA,CAAS,MAAA,CAAA,CAE7CY,CACH,CACF,CACD,CAAA,CAEAQ,CAAAA,EACCtB,2BAAC,IAAA,CAAA,IAAA,CACCA,YAAA,CAAA,aAAA,CAAC,QAAK,SAAA,CAAU,wEAAA,CAAA,CACdA,2BAACyB,uBAAAA,CAAA,CAAU,UAAU,SAAA,CAAU,CAAA,CAC/BzB,2BAAC,MAAA,CAAA,CAAK,SAAA,CAAU,WAAU,kBAAgB,CAC5C,CACF,CAAA,CAGDM,CAAAA,EACCN,YAAA,CAAA,aAAA,CAAC,IAAA,CAAA,IAAA,CACCA,2BAAC,QAAA,CAAA,CACC,OAAA,CAAS,IAAMa,CAAAA,CAAiBX,CAAAA,CAAc,CAAC,CAAA,CAC/C,QAAA,CAAUM,GAAYN,CAAAA,GAAgBC,CAAAA,CACtC,UAAWoB,mBAAAA,CAAGzB,CAAAA,CAAuB,CAAE,OAAA,CAAS,SAAA,CAAW,KAAAY,CAAK,CAAC,CAAC,CAAA,CAClE,YAAA,CAAW,mBAEXV,YAAA,CAAA,aAAA,CAAC,MAAA,CAAA,CAAK,UAAU,SAAA,CAAA,CAAU,MAAI,EAC9BA,YAAA,CAAA,aAAA,CAAC0B,wBAAAA,CAAA,CAAW,SAAA,CAAU,SAAA,CAAU,CAClC,CACF,CAAA,CAGDrB,GACCL,YAAA,CAAA,aAAA,CAAC,IAAA,CAAA,IAAA,CACCA,2BAAC,QAAA,CAAA,CACC,OAAA,CAAS,IAAMa,CAAAA,CAAiBV,CAAU,CAAA,CAC1C,QAAA,CAAUK,GAAYN,CAAAA,GAAgBC,CAAAA,CACtC,UAAWoB,mBAAAA,CAAGzB,CAAAA,CAAuB,CAAE,OAAA,CAAS,SAAA,CAAW,KAAAY,CAAK,CAAC,CAAC,CAAA,CAClE,YAAA,CAAW,mBAEXV,YAAA,CAAA,aAAA,CAAC,MAAA,CAAA,CAAK,UAAU,SAAA,CAAA,CAAU,MAAI,EAC9BA,YAAA,CAAA,aAAA,CAAC0B,wBAAAA,CAAA,CAAW,SAAA,CAAU,SAAA,CAAU,EAChC1B,YAAA,CAAA,aAAA,CAAC0B,wBAAAA,CAAA,CAAW,SAAA,CAAU,eAAA,CAAgB,CACxC,CACF,CAEJ,CACF,CAEJ,CACF,EACA3B,CAAAA,CAAW,WAAA,CAAc,YAAA,CAEzB,IAAM4B,EAA0B3B,YAAA,CAAA,UAAA,CAG9B,CAAC,CAAE,SAAA,CAAAC,CAAAA,CAAW,GAAGU,CAAM,CAAA,CAAGC,IAC1BZ,YAAA,CAAA,aAAA,CAAC,IAAA,CAAA,CACC,IAAKY,CAAAA,CACL,SAAA,CAAWW,oBAAG,kCAAA,CAAoCtB,CAAS,EAC1D,GAAGU,CAAAA,CACN,CACD,EACDgB,CAAAA,CAAkB,YAAc,mBAAA,CAEhC,IAAMC,EAAuB5B,YAAA,CAAA,UAAA,CAG3B,CAAC,CAAE,SAAA,CAAAC,CAAAA,CAAW,GAAGU,CAAM,CAAA,CAAGC,IAC1BZ,YAAA,CAAA,aAAA,CAAC,IAAA,CAAA,CAAG,IAAKY,CAAAA,CAAK,SAAA,CAAWW,oBAAG,EAAA,CAAItB,CAAS,CAAA,CAAI,GAAGU,EAAO,CACxD,EACDiB,EAAe,WAAA,CAAc,gBAAA,KAEvBC,CAAAA,CAAuB7B,YAAA,CAAA,UAAA,CAK3B,CAAC,CAAE,SAAA,CAAAC,EAAW,QAAA,CAAA6B,CAAAA,CAAU,GAAGnB,CAAM,CAAA,CAAGC,IACpCZ,YAAA,CAAA,aAAA,CAAC,QAAA,CAAA,CACC,GAAA,CAAKY,CAAAA,CACL,UAAWW,mBAAAA,CACTzB,CAAAA,CAAuB,CACrB,OAAA,CAASgC,CAAAA,CAAW,UAAY,SAAA,CAChC,IAAA,CAAM,SACR,CAAC,CAAA,CACDA,GAAY,wDAAA,CACZ7B,CACF,EACA,cAAA,CAAc6B,CAAAA,CAAW,OAAS,MAAA,CACjC,GAAGnB,CAAAA,CACN,CACD,EACDkB,CAAAA,CAAe,WAAA,CAAc,iBAE7B,IAAME,CAAAA,CAA2B/B,wBAG/B,CAAC,CAAE,UAAAC,CAAAA,CAAW,GAAGU,CAAM,CAAA,CAAGC,CAAAA,GAC1BZ,2BAAC,QAAA,CAAA,CACC,GAAA,CAAKY,EACL,SAAA,CAAWW,mBAAAA,CAAGzB,EAAuB,CAAE,OAAA,CAAS,UAAW,IAAA,CAAM,SAAU,CAAC,CAAA,CAAGG,CAAS,EACxF,YAAA,CAAW,qBAAA,CACV,GAAGU,CAAAA,CAAAA,CAEJX,YAAA,CAAA,aAAA,CAACwB,wBAAA,CAAU,SAAA,CAAU,UAAU,CAAA,CAC/BxB,YAAA,CAAA,aAAA,CAAC,QAAK,SAAA,CAAU,SAAA,CAAA,CAAU,UAAQ,CACpC,CACD,EACD+B,CAAAA,CAAmB,YAAc,oBAAA,CAEjC,IAAMC,EAAuBhC,YAAA,CAAA,UAAA,CAG3B,CAAC,CAAE,SAAA,CAAAC,CAAAA,CAAW,GAAGU,CAAM,CAAA,CAAGC,IAC1BZ,YAAA,CAAA,aAAA,CAAC,QAAA,CAAA,CACC,IAAKY,CAAAA,CACL,SAAA,CAAWW,oBAAGzB,CAAAA,CAAuB,CAAE,QAAS,SAAA,CAAW,IAAA,CAAM,SAAU,CAAC,CAAA,CAAGG,CAAS,CAAA,CACxF,YAAA,CAAW,kBACV,GAAGU,CAAAA,CAAAA,CAEJX,2BAAC0B,wBAAAA,CAAA,CAAW,UAAU,SAAA,CAAU,CAAA,CAChC1B,2BAAC,MAAA,CAAA,CAAK,SAAA,CAAU,SAAA,CAAA,CAAU,MAAI,CAChC,CACD,EACDgC,EAAe,WAAA,CAAc,gBAAA,KAEvBC,CAAAA,CAA2BjC,YAAA,CAAA,UAAA,CAG/B,CAAC,CAAE,SAAA,CAAAC,EAAW,GAAGU,CAAM,EAAGC,CAAAA,GAC1BZ,YAAA,CAAA,aAAA,CAAC,QACC,GAAA,CAAKY,CAAAA,CACL,UAAWW,mBAAAA,CAAG,0CAAA,CAA4CtB,CAAS,CAAA,CAClE,GAAGU,GAEJX,YAAA,CAAA,aAAA,CAACyB,uBAAAA,CAAA,CAAU,SAAA,CAAU,SAAA,CAAU,EAC/BzB,YAAA,CAAA,aAAA,CAAC,MAAA,CAAA,CAAK,UAAU,SAAA,CAAA,CAAU,YAAU,CACtC,CACD,EACDiC,EAAmB,WAAA,CAAc,oBAAA","file":"chunk-BYV75TDY.cjs","sourcesContent":["import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../lib/utils\";\nimport { CaretLeft, CaretRight, DotsThree } from \"phosphor-react\";\n\nconst paginationVariants = cva(\n \"flex items-center justify-center space-x-1\",\n {\n variants: {\n variant: {\n default: \"\",\n compact: \"space-x-0.5\",\n },\n size: {\n default: \"h-9\",\n sm: \"h-8\",\n lg: \"h-10\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n);\n\nconst paginationItemVariants = cva(\n \"inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50\",\n {\n variants: {\n variant: {\n default: \"border border-input bg-background hover:bg-accent hover:text-accent-foreground\",\n outline: \"border border-input bg-transparent hover:bg-accent hover:text-accent-foreground\",\n ghost: \"hover:bg-accent hover:text-accent-foreground\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n size: {\n default: \"h-9 w-9\",\n sm: \"h-8 w-8 text-xs\",\n lg: \"h-10 w-10\",\n icon: \"h-9 w-9\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n);\n\nexport interface PaginationProps\n extends React.HTMLAttributes<HTMLElement>,\n VariantProps<typeof paginationVariants> {\n currentPage: number;\n totalPages: number;\n onPageChange: (page: number) => void;\n showFirstLast?: boolean;\n showPrevNext?: boolean;\n maxVisiblePages?: number;\n disabled?: boolean;\n}\n\nconst Pagination = React.forwardRef<HTMLElement, PaginationProps>(\n (\n {\n className,\n currentPage,\n totalPages,\n onPageChange,\n showFirstLast = true,\n showPrevNext = true,\n maxVisiblePages = 5,\n disabled = false,\n variant,\n size,\n ...props\n },\n ref\n ) => {\n const handlePageChange = (page: number) => {\n if (disabled || page < 1 || page > totalPages || page === currentPage) {\n return;\n }\n onPageChange(page);\n };\n\n const getVisiblePages = () => {\n if (totalPages <= maxVisiblePages) {\n return Array.from({ length: totalPages }, (_, i) => i + 1);\n }\n\n const half = Math.floor(maxVisiblePages / 2);\n let start = Math.max(1, currentPage - half);\n let end = Math.min(totalPages, start + maxVisiblePages - 1);\n\n if (end - start + 1 < maxVisiblePages) {\n start = Math.max(1, end - maxVisiblePages + 1);\n }\n\n return Array.from({ length: end - start + 1 }, (_, i) => start + i);\n };\n\n const visiblePages = getVisiblePages();\n const showStartEllipsis = visiblePages[0]! > 1;\n const showEndEllipsis = visiblePages[visiblePages.length - 1]! < totalPages;\n\n return (\n <nav\n ref={ref}\n aria-label=\"Pagination\"\n className={cn(paginationVariants({ variant, size }), className)}\n {...props}\n >\n <ul className=\"flex items-center space-x-1\">\n {showFirstLast && (\n <li>\n <button\n onClick={() => handlePageChange(1)}\n disabled={disabled || currentPage === 1}\n className={cn(paginationItemVariants({ variant: \"outline\", size }))}\n aria-label=\"Go to first page\"\n >\n <span className=\"sr-only\">First</span>\n <CaretLeft className=\"h-4 w-4\" />\n <CaretLeft className=\"h-4 w-4 -ml-1\" />\n </button>\n </li>\n )}\n\n {showPrevNext && (\n <li>\n <button\n onClick={() => handlePageChange(currentPage - 1)}\n disabled={disabled || currentPage === 1}\n className={cn(paginationItemVariants({ variant: \"outline\", size }))}\n aria-label=\"Go to previous page\"\n >\n <span className=\"sr-only\">Previous</span>\n <CaretLeft className=\"h-4 w-4\" />\n </button>\n </li>\n )}\n\n {showStartEllipsis && (\n <li>\n <span className=\"flex items-center justify-center h-9 w-9 text-sm text-muted-foreground\">\n <DotsThree className=\"h-4 w-4\" />\n <span className=\"sr-only\">More pages before</span>\n </span>\n </li>\n )}\n\n {visiblePages.map((page) => (\n <li key={page}>\n <button\n onClick={() => handlePageChange(page)}\n disabled={disabled}\n className={cn(\n paginationItemVariants({\n variant: page === currentPage ? \"default\" : \"outline\",\n size,\n }),\n page === currentPage && \"bg-primary text-primary-foreground hover:bg-primary/90\"\n )}\n aria-label={`Go to page ${page}`}\n aria-current={page === currentPage ? \"page\" : undefined}\n >\n {page}\n </button>\n </li>\n ))}\n\n {showEndEllipsis && (\n <li>\n <span className=\"flex items-center justify-center h-9 w-9 text-sm text-muted-foreground\">\n <DotsThree className=\"h-4 w-4\" />\n <span className=\"sr-only\">More pages after</span>\n </span>\n </li>\n )}\n\n {showPrevNext && (\n <li>\n <button\n onClick={() => handlePageChange(currentPage + 1)}\n disabled={disabled || currentPage === totalPages}\n className={cn(paginationItemVariants({ variant: \"outline\", size }))}\n aria-label=\"Go to next page\"\n >\n <span className=\"sr-only\">Next</span>\n <CaretRight className=\"h-4 w-4\" />\n </button>\n </li>\n )}\n\n {showFirstLast && (\n <li>\n <button\n onClick={() => handlePageChange(totalPages)}\n disabled={disabled || currentPage === totalPages}\n className={cn(paginationItemVariants({ variant: \"outline\", size }))}\n aria-label=\"Go to last page\"\n >\n <span className=\"sr-only\">Last</span>\n <CaretRight className=\"h-4 w-4\" />\n <CaretRight className=\"h-4 w-4 -ml-1\" />\n </button>\n </li>\n )}\n </ul>\n </nav>\n );\n }\n);\nPagination.displayName = \"Pagination\";\n\nconst PaginationContent = React.forwardRef<\n HTMLUListElement,\n React.ComponentPropsWithoutRef<\"ul\">\n>(({ className, ...props }, ref) => (\n <ul\n ref={ref}\n className={cn(\"flex flex-row items-center gap-1\", className)}\n {...props}\n />\n));\nPaginationContent.displayName = \"PaginationContent\";\n\nconst PaginationItem = React.forwardRef<\n HTMLLIElement,\n React.ComponentPropsWithoutRef<\"li\">\n>(({ className, ...props }, ref) => (\n <li ref={ref} className={cn(\"\", className)} {...props} />\n));\nPaginationItem.displayName = \"PaginationItem\";\n\nconst PaginationLink = React.forwardRef<\n HTMLButtonElement,\n React.ComponentPropsWithoutRef<\"button\"> & {\n isActive?: boolean;\n }\n>(({ className, isActive, ...props }, ref) => (\n <button\n ref={ref}\n className={cn(\n paginationItemVariants({\n variant: isActive ? \"default\" : \"outline\",\n size: \"default\",\n }),\n isActive && \"bg-primary text-primary-foreground hover:bg-primary/90\",\n className\n )}\n aria-current={isActive ? \"page\" : undefined}\n {...props}\n />\n));\nPaginationLink.displayName = \"PaginationLink\";\n\nconst PaginationPrevious = React.forwardRef<\n HTMLButtonElement,\n React.ComponentPropsWithoutRef<\"button\">\n>(({ className, ...props }, ref) => (\n <button\n ref={ref}\n className={cn(paginationItemVariants({ variant: \"outline\", size: \"default\" }), className)}\n aria-label=\"Go to previous page\"\n {...props}\n >\n <CaretLeft className=\"h-4 w-4\" />\n <span className=\"sr-only\">Previous</span>\n </button>\n));\nPaginationPrevious.displayName = \"PaginationPrevious\";\n\nconst PaginationNext = React.forwardRef<\n HTMLButtonElement,\n React.ComponentPropsWithoutRef<\"button\">\n>(({ className, ...props }, ref) => (\n <button\n ref={ref}\n className={cn(paginationItemVariants({ variant: \"outline\", size: \"default\" }), className)}\n aria-label=\"Go to next page\"\n {...props}\n >\n <CaretRight className=\"h-4 w-4\" />\n <span className=\"sr-only\">Next</span>\n </button>\n));\nPaginationNext.displayName = \"PaginationNext\";\n\nconst PaginationEllipsis = React.forwardRef<\n HTMLSpanElement,\n React.ComponentPropsWithoutRef<\"span\">\n>(({ className, ...props }, ref) => (\n <span\n ref={ref}\n className={cn(\"flex h-9 w-9 items-center justify-center\", className)}\n {...props}\n >\n <DotsThree className=\"h-4 w-4\" />\n <span className=\"sr-only\">More pages</span>\n </span>\n));\nPaginationEllipsis.displayName = \"PaginationEllipsis\";\n\nexport {\n Pagination,\n PaginationContent,\n PaginationItem,\n PaginationLink,\n PaginationPrevious,\n PaginationNext,\n PaginationEllipsis,\n paginationVariants,\n paginationItemVariants,\n};\n"]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import {a}from'./chunk-AC2JBXHQ.js';import*as e from'react';import*as t from'@radix-ui/react-select';import {cva}from'class-variance-authority';var d=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=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=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.Root,f=e.forwardRef(({...r},o)=>e.createElement(t.Group,{...r}));f.displayName="SelectGroup";var u=e.forwardRef(({...r},o)=>e.createElement(t.Value,{...r}));u.displayName="SelectValue";var v=e.forwardRef(({className:r,variant:o,size:i,children:a$1,...c},l)=>e.createElement(t.Trigger,{ref:l,className:a(d({variant:o,size:i}),r),...c},a$1,e.createElement(t.Icon,{asChild:true},e.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.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})))));v.displayName="SelectPrimitive.Trigger";var S=e.forwardRef(({className:r,variant:o,children:i,position:a$1="popper",...c},l)=>e.createElement(t.Portal,null,e.createElement(t.Content,{ref:l,className:a(p({variant:o}),a$1==="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$1,...c},e.createElement(t.Viewport,{className:a("p-1",a$1==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]")},i))));S.displayName="SelectPrimitive.Content";var g=e.forwardRef(({className:r,...o},i)=>e.createElement(t.Label,{ref:i,className:a("py-1.5 pl-8 pr-2 text-sm font-semibold",r),...o}));g.displayName="SelectPrimitive.Label";var P=e.forwardRef(({className:r,variant:o,children:i,...a$1},c)=>e.createElement(t.Item,{ref:c,className:a(m({variant:o}),r),...a$1},e.createElement("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center"},e.createElement(t.ItemIndicator,null,e.createElement("svg",{className:"h-4 w-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},e.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5 13l4 4L19 7"})))),e.createElement(t.ItemText,null,i)));P.displayName="SelectPrimitive.Item";var h=e.forwardRef(({className:r,...o},i)=>e.createElement(t.Separator,{ref:i,className:a("-mx-1 my-1 h-px bg-muted",r),...o}));h.displayName="SelectPrimitive.Separator";
|
|
2
|
+
export{d as a,p as b,m as c,R as d,f as e,u as f,v as g,S as h,g as i,P as j,h as k};//# sourceMappingURL=chunk-BZF3ZOAN.js.map
|
|
3
|
+
//# sourceMappingURL=chunk-BZF3ZOAN.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/core/select.tsx"],"names":["selectTriggerVariants","cva","selectContentVariants","selectItemVariants","Select","SelectGroup","props","_ref","SelectValue","SelectTrigger","className","variant","size","children","cn","SelectContent","position","ref","SelectLabel","SelectItem","SelectSeparator"],"mappings":"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","file":"chunk-BZF3ZOAN.js","sourcesContent":["import * as React from \"react\";\nimport * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../lib/utils\";\n\nconst selectTriggerVariants = cva(\n \"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\",\n {\n variants: {\n variant: {\n default: \"border-border hover:border-border focus:border-ring\",\n outline: \"border-2 border-border hover:border-border focus:border-ring\",\n ghost: \"border-transparent bg-transparent hover:bg-muted\",\n error:\n \"border-destructive hover:border-destructive/80 focus:border-destructive focus:ring-destructive\",\n success:\n \"border-success-500 hover:border-success-600 focus:border-success-500 focus:ring-success-500\",\n },\n size: {\n default: \"h-10 px-3 py-2 text-sm\",\n sm: \"h-8 px-2 py-1 text-xs\",\n lg: \"h-12 px-4 py-3 text-base\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n },\n);\n\nconst selectContentVariants = cva(\n \"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\",\n {\n variants: {\n variant: {\n default: \"border-border shadow-lg hover:shadow-xl\",\n outline: \"border-2 border-border shadow-lg hover:shadow-xl\",\n ghost: \"border-transparent shadow-xl hover:shadow-2xl\",\n error: \"border-destructive/20 shadow-lg hover:shadow-xl\",\n success: \"border-success-200 shadow-lg hover:shadow-xl\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\nconst selectItemVariants = cva(\n \"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\",\n {\n variants: {\n variant: {\n default: \"focus:bg-accent focus:text-accent-foreground hover:bg-muted\",\n highlight: \"focus:bg-primary/10 focus:text-primary hover:bg-primary/5\",\n error:\n \"focus:bg-destructive/10 focus:text-destructive hover:bg-destructive/5\",\n success:\n \"focus:bg-success-100 focus:text-success-900 hover:bg-success-50\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\n// Select Root\nexport interface SelectProps extends React.ComponentPropsWithoutRef<\n typeof SelectPrimitive.Root\n> {}\n\nconst Select = SelectPrimitive.Root;\n\n// Select Group\nexport interface SelectGroupProps extends React.ComponentPropsWithoutRef<\n typeof SelectPrimitive.Group\n> {}\n\nconst SelectGroup = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Group>,\n SelectGroupProps\n>(({ ...props }, _ref) => <SelectPrimitive.Group {...props} />);\nSelectGroup.displayName = \"SelectGroup\";\n\n// Select Value\nexport interface SelectValueProps extends React.ComponentPropsWithoutRef<\n typeof SelectPrimitive.Value\n> {}\n\nconst SelectValue = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Value>,\n SelectValueProps\n>(({ ...props }, _ref) => <SelectPrimitive.Value {...props} />);\nSelectValue.displayName = \"SelectValue\";\n\n// Select Trigger\nexport interface SelectTriggerProps\n extends\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>,\n VariantProps<typeof selectTriggerVariants> {}\n\nconst SelectTrigger = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Trigger>,\n SelectTriggerProps\n>(({ className, variant, size, children, ...props }, _ref) => (\n <SelectPrimitive.Trigger\n ref={_ref}\n className={cn(selectTriggerVariants({ variant, size }), className)}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <svg\n className=\"h-4 w-4 opacity-50\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M19 9l-7 7-7-7\"\n />\n </svg>\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n));\nSelectTrigger.displayName = \"SelectPrimitive.Trigger\";\n\n// Select Content\nexport interface SelectContentProps\n extends\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>,\n VariantProps<typeof selectContentVariants> {}\n\nconst SelectContent = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Content>,\n SelectContentProps\n>(({ className, variant, children, position = \"popper\", ...props }, ref) => (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n ref={ref}\n className={cn(\n selectContentVariants({ variant }),\n position === \"popper\" &&\n \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n className,\n )}\n position={position}\n {...props}\n >\n <SelectPrimitive.Viewport\n className={cn(\n \"p-1\",\n position === \"popper\" &&\n \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]\",\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n));\nSelectContent.displayName = \"SelectPrimitive.Content\";\n\n// Select Label\nexport interface SelectLabelProps extends React.ComponentPropsWithoutRef<\n typeof SelectPrimitive.Label\n> {}\n\nconst SelectLabel = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Label>,\n SelectLabelProps\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Label\n ref={ref}\n className={cn(\"py-1.5 pl-8 pr-2 text-sm font-semibold\", className)}\n {...props}\n />\n));\nSelectLabel.displayName = \"SelectPrimitive.Label\";\n\n// Select Item\nexport interface SelectItemProps\n extends\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>,\n VariantProps<typeof selectItemVariants> {}\n\nconst SelectItem = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Item>,\n SelectItemProps\n>(({ className, variant, children, ...props }, ref) => (\n <SelectPrimitive.Item\n ref={ref}\n className={cn(selectItemVariants({ variant }), className)}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <svg\n className=\"h-4 w-4\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M5 13l4 4L19 7\"\n />\n </svg>\n </SelectPrimitive.ItemIndicator>\n </span>\n\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n));\nSelectItem.displayName = \"SelectPrimitive.Item\";\n\n// Select Separator\nexport interface SelectSeparatorProps extends React.ComponentPropsWithoutRef<\n typeof SelectPrimitive.Separator\n> {}\n\nconst SelectSeparator = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Separator>,\n SelectSeparatorProps\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 my-1 h-px bg-muted\", className)}\n {...props}\n />\n));\nSelectSeparator.displayName = \"SelectPrimitive.Separator\";\n\nexport {\n Select,\n SelectGroup,\n SelectValue,\n SelectTrigger,\n SelectContent,\n SelectLabel,\n SelectItem,\n SelectSeparator,\n selectTriggerVariants,\n selectContentVariants,\n selectItemVariants,\n};\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {a}from'./chunk-AC2JBXHQ.js';import t 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"}}),p=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=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=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.createElement("section",{className:a(f({variant:l}),m),...u},t.createElement("div",{className:"container mx-auto px-4"},(n||s)&&t.createElement("div",{className:a("mb-12",i&&"text-center")},n&&t.createElement("h2",{className:"text-3xl md:text-4xl font-bold tracking-tight mb-4"},n),s&&t.createElement("p",{className:a("text-lg text-muted-foreground",i&&"max-w-2xl mx-auto")},s)),t.createElement("div",{className:a(p({columns:d}))},o.map((a$1,g)=>t.createElement("div",{key:a$1.id||g,className:a(v({variant:c}))},a$1.icon&&t.createElement("div",{className:a(x({variant:a$1.iconVariant}))},a$1.icon),t.createElement("h3",{className:"text-xl font-semibold mb-3 text-foreground"},a$1.title),t.createElement("p",{className:"text-muted-foreground leading-relaxed"},a$1.description))))));export{N as a};//# sourceMappingURL=chunk-CEMOHO3Z.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-CEMOHO3Z.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/marketing/features.tsx"],"names":["featuresVariants","cva","featuresGridVariants","featureCardVariants","featureIconVariants","Features","features","title","subtitle","columns","cardVariant","variant","className","centered","props","React","cn","feature","idx"],"mappings":"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","file":"chunk-CEMOHO3Z.js","sourcesContent":["import React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../lib/utils';\n\nconst featuresVariants = cva(\n 'py-16 md:py-24',\n {\n variants: {\n variant: {\n default: 'bg-background',\n muted: 'bg-muted/30',\n accent: 'bg-accent/10',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n }\n);\n\nconst featuresGridVariants = cva(\n 'grid gap-8',\n {\n variants: {\n columns: {\n 1: 'grid-cols-1',\n 2: 'grid-cols-1 md:grid-cols-2',\n 3: 'grid-cols-1 md:grid-cols-2 lg:grid-cols-3',\n 4: 'grid-cols-1 md:grid-cols-2 lg:grid-cols-4',\n },\n },\n defaultVariants: {\n columns: 3,\n },\n }\n);\n\nconst featureCardVariants = cva(\n 'relative p-6 rounded-lg border bg-card text-card-foreground shadow-sm transition-all duration-200 hover:shadow-md',\n {\n variants: {\n variant: {\n default: 'border-border hover:border-accent/20',\n accent: 'border-accent/20 bg-accent/5 hover:bg-accent/10',\n muted: 'border-muted bg-muted/20 hover:bg-muted/30',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n }\n);\n\nconst featureIconVariants = cva(\n 'w-12 h-12 rounded-lg flex items-center justify-center mb-4',\n {\n variants: {\n variant: {\n default: 'bg-primary/10 text-primary',\n accent: 'bg-accent/20 text-accent-foreground',\n muted: 'bg-muted text-muted-foreground',\n success: 'bg-success-100 text-success-600',\n warning: 'bg-warning-100 text-warning-600',\n error: 'bg-error-100 text-error-600',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n }\n);\n\nexport interface Feature {\n id: string;\n title: string;\n description: string;\n icon?: React.ReactNode;\n iconVariant?: VariantProps<typeof featureIconVariants>['variant'];\n}\n\nexport interface FeaturesProps extends VariantProps<typeof featuresVariants> {\n features: Feature[];\n title?: string;\n subtitle?: string;\n columns?: VariantProps<typeof featuresGridVariants>['columns'];\n cardVariant?: VariantProps<typeof featureCardVariants>['variant'];\n className?: string;\n centered?: boolean;\n}\n\nexport const Features: React.FC<FeaturesProps> = ({\n features,\n title,\n subtitle,\n columns,\n cardVariant,\n variant,\n className,\n centered = true,\n ...props\n}) => {\n return (\n <section className={cn(featuresVariants({ variant }), className)} {...props}>\n <div className=\"container mx-auto px-4\">\n {(title || subtitle) && (\n <div className={cn('mb-12', centered && 'text-center')}>\n {title && (\n <h2 className=\"text-3xl md:text-4xl font-bold tracking-tight mb-4\">\n {title}\n </h2>\n )}\n {subtitle && (\n <p className={cn(\n 'text-lg text-muted-foreground',\n centered && 'max-w-2xl mx-auto'\n )}>\n {subtitle}\n </p>\n )}\n </div>\n )}\n \n <div className={cn(featuresGridVariants({ columns }))}>\n {features.map((feature, idx) => (\n <div\n key={feature.id || idx}\n className={cn(featureCardVariants({ variant: cardVariant }))}\n >\n {feature.icon && (\n <div className={cn(featureIconVariants({ variant: feature.iconVariant }))}>\n {feature.icon}\n </div>\n )}\n \n <h3 className=\"text-xl font-semibold mb-3 text-foreground\">\n {feature.title}\n </h3>\n \n <p className=\"text-muted-foreground leading-relaxed\">\n {feature.description}\n </p>\n </div>\n ))}\n </div>\n </div>\n </section>\n );\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/lib/memo.ts"],"names":["memo","Component"],"mappings":"wBAeO,SAASA,CAAAA,CAAQC,EAAiB,CACvC,OAAa,CAAA,CAAA,IAAA,CACXA,CACF,CACF","file":"chunk-COXN6XBA.js","sourcesContent":["import * as React from \"react\";\n\n/**\n * `React.memo` that keeps the component's own type.\n *\n * `React.memo` returns a `MemoExoticComponent`, which drops a `forwardRef`\n * component's call signature and cannot carry the statics that compound\n * components rely on (`Card.Header` and friends). Every memoised component here\n * used to work around that with `as any as typeof Component`, which cost an\n * `no-explicit-any` suppression in thirteen files.\n *\n * The cast is still a cast - it just lives in one auditable place instead of\n * thirteen, and it goes through `unknown` rather than `any`, so nothing\n * downstream silently loses type checking.\n */\nexport function memo<T>(Component: T): T {\n return React.memo(\n Component as unknown as React.FunctionComponent,\n ) as unknown as T;\n}\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {a as a$1}from'./chunk-AC2JBXHQ.js';import*as a from'react';import {cva}from'class-variance-authority';var d=cva("shrink-0 bg-border",{variants:{orientation:{horizontal:"h-[1px] w-full",vertical:"h-full w-[1px]"},variant:{default:"bg-border",muted:"bg-muted",subtle:"bg-muted/50"},size:{default:"",sm:"h-px",lg:"h-0.5"}},defaultVariants:{orientation:"horizontal",variant:"default",size:"default"}}),f=a.forwardRef(({className:o,orientation:t="horizontal",variant:i="default",size:n="default",decorative:r=true,...l},s)=>a.createElement("div",{ref:s,role:r?"none":"separator",...r?{}:{"aria-orientation":t||void 0},className:a$1(d({orientation:t,variant:i,size:n}),o),...l}));f.displayName="Separator";export{d as a,f as b};//# sourceMappingURL=chunk-CVOSWGQZ.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-CVOSWGQZ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/core/separator.tsx"],"names":["separatorVariants","cva","Separator","className","orientation","variant","size","decorative","props","ref","cn"],"mappings":"8GAIA,IAAMA,CAAAA,CAAoBC,GAAAA,CACxB,oBAAA,CACA,CACE,QAAA,CAAU,CACR,WAAA,CAAa,CACX,UAAA,CAAY,gBAAA,CACZ,QAAA,CAAU,gBACZ,EACA,OAAA,CAAS,CACP,OAAA,CAAS,WAAA,CACT,KAAA,CAAO,UAAA,CACP,OAAQ,aACV,CAAA,CACA,IAAA,CAAM,CACJ,OAAA,CAAS,EAAA,CACT,GAAI,MAAA,CACJ,EAAA,CAAI,OACN,CACF,CAAA,CACA,eAAA,CAAiB,CACf,WAAA,CAAa,YAAA,CACb,OAAA,CAAS,SAAA,CACT,IAAA,CAAM,SACR,CACF,CACF,CAAA,CASMC,CAAAA,CAAkB,CAAA,CAAA,UAAA,CACtB,CACE,CACE,UAAAC,CAAAA,CACA,WAAA,CAAAC,CAAAA,CAAc,YAAA,CACd,OAAA,CAAAC,CAAAA,CAAU,UACV,IAAA,CAAAC,CAAAA,CAAO,SAAA,CACP,UAAA,CAAAC,CAAAA,CAAa,IAAA,CACb,GAAGC,CACL,CAAA,CACAC,CAAAA,GAGE,CAAA,CAAA,aAAA,CAAC,KAAA,CAAA,CACC,GAAA,CAAKA,EACL,IAAA,CAAMF,CAAAA,CAAa,MAAA,CAAS,WAAA,CAC3B,GAAIA,CAAAA,CAAa,EAAC,CAAI,CAAE,kBAAA,CAAoBH,CAAAA,EAAe,MAAU,CAAA,CACtE,UAAWM,GAAAA,CAAGV,CAAAA,CAAkB,CAAE,WAAA,CAAAI,CAAAA,CAAa,OAAA,CAAAC,EAAS,IAAA,CAAAC,CAAK,CAAC,CAAA,CAAGH,CAAS,CAAA,CACzE,GAAGK,CAAAA,CACN,CAGN,EACAN,CAAAA,CAAU,WAAA,CAAc,WAAA","file":"chunk-CVOSWGQZ.js","sourcesContent":["import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../lib/utils\";\n\nconst separatorVariants = cva(\n \"shrink-0 bg-border\",\n {\n variants: {\n orientation: {\n horizontal: \"h-[1px] w-full\",\n vertical: \"h-full w-[1px]\",\n },\n variant: {\n default: \"bg-border\",\n muted: \"bg-muted\",\n subtle: \"bg-muted/50\",\n },\n size: {\n default: \"\",\n sm: \"h-px\",\n lg: \"h-0.5\",\n },\n },\n defaultVariants: {\n orientation: \"horizontal\",\n variant: \"default\",\n size: \"default\",\n },\n }\n);\n\nexport interface SeparatorProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, \"aria-orientation\">,\n VariantProps<typeof separatorVariants> {\n decorative?: boolean;\n \"aria-orientation\"?: \"horizontal\" | \"vertical\";\n}\n\nconst Separator = React.forwardRef<HTMLDivElement, SeparatorProps>(\n (\n {\n className,\n orientation = \"horizontal\",\n variant = \"default\",\n size = \"default\",\n decorative = true,\n ...props\n },\n ref\n ) => {\n return (\n <div\n ref={ref}\n role={decorative ? \"none\" : \"separator\"}\n {...(decorative ? {} : { \"aria-orientation\": orientation || undefined })}\n className={cn(separatorVariants({ orientation, variant, size }), className)}\n {...props}\n />\n );\n }\n);\nSeparator.displayName = \"Separator\";\n\nexport { Separator, separatorVariants };\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'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
|
+
//# sourceMappingURL=chunk-EFCNLYYW.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/core/badge.tsx"],"names":["badgeVariants","cva","BadgeComponent","className","variant","size","props","o","cn","Badge","memo"],"mappings":"6iBAKMA,CAAAA,CAAgBC,0BAAAA,CACpB,4MAAA,CACA,CACE,SAAU,CACR,OAAA,CAAS,CACP,OAAA,CACE,qGAAA,CACF,UACE,2GAAA,CACF,WAAA,CACE,iHAAA,CACF,OAAA,CACE,iGACF,OAAA,CACE,sGAAA,CACF,QACE,sGAAA,CACF,IAAA,CAAM,8FACN,KAAA,CACE,gGACJ,EACA,IAAA,CAAM,CACJ,GAAI,qBAAA,CACJ,OAAA,CAAS,wBACT,EAAA,CAAI,mBACN,CACF,CAAA,CACA,eAAA,CAAiB,CACf,OAAA,CAAS,UACT,IAAA,CAAM,SACR,CACF,CACF,EA4CA,SAASC,CAAAA,CAAe,CAAE,SAAA,CAAAC,CAAAA,CAAW,QAAAC,CAAAA,CAAS,IAAA,CAAAC,EAAM,GAAGC,CAAM,EAAe,CAC1E,OACEC,YAAA,CAAA,aAAA,CAAC,KAAA,CAAA,CACC,UAAWC,mBAAAA,CAAGR,CAAAA,CAAc,CAAE,OAAA,CAAAI,CAAAA,CAAS,KAAAC,CAAK,CAAC,EAAGF,CAAS,CAAA,CACxD,GAAGG,CAAAA,CACN,CAEJ,CAGA,IAAMG,CAAAA,CAAQC,oBAAKR,CAAc","file":"chunk-EFCNLYYW.cjs","sourcesContent":["import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../lib/utils\";\nimport { memo } from \"../../lib/memo\";\n\nconst badgeVariants = cva(\n \"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\",\n {\n variants: {\n variant: {\n default:\n \"border-transparent bg-primary text-primary-foreground hover:bg-primary/90 shadow-xs hover:shadow-sm\",\n secondary:\n \"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80 shadow-xs hover:shadow-sm\",\n destructive:\n \"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/90 shadow-xs hover:shadow-sm\",\n outline:\n \"border-2 border-border text-foreground hover:border-primary hover:text-primary hover:shadow-sm\",\n success:\n \"border-transparent bg-success text-success-foreground hover:bg-success-600 shadow-xs hover:shadow-sm\",\n warning:\n \"border-transparent bg-warning text-warning-foreground hover:bg-warning-600 shadow-xs hover:shadow-sm\",\n info: \"border-transparent bg-info text-info-foreground hover:bg-info-600 shadow-xs hover:shadow-sm\",\n error:\n \"border-transparent bg-error text-error-foreground hover:bg-error-600 shadow-xs hover:shadow-sm\",\n },\n size: {\n sm: \"px-2 py-0.5 text-xs\",\n default: \"px-2.5 py-0.5 text-xs\",\n lg: \"px-3 py-1 text-sm\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n },\n);\n\n/**\n * Props for the Badge component\n */\nexport interface BadgeProps\n extends\n React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof badgeVariants> {\n /**\n * The visual variant of the badge\n * @default \"default\"\n */\n variant?:\n | \"default\"\n | \"secondary\"\n | \"destructive\"\n | \"outline\"\n | \"success\"\n | \"warning\"\n | \"info\";\n /**\n * The size of the badge\n * @default \"default\"\n */\n size?: \"sm\" | \"default\" | \"lg\";\n}\n\n/**\n * Badge component for displaying small status indicators or labels\n *\n * @example\n * ```tsx\n * <Badge variant=\"default\">New</Badge>\n * <Badge variant=\"secondary\">Beta</Badge>\n * <Badge variant=\"destructive\">Error</Badge>\n * <Badge variant=\"outline\">Draft</Badge>\n * <Badge variant=\"success\">Success</Badge>\n * <Badge variant=\"warning\">Warning</Badge>\n * <Badge variant=\"info\">Info</Badge>\n * <Badge size=\"sm\">Small</Badge>\n * <Badge size=\"lg\">Large</Badge>\n * ```\n */\nfunction BadgeComponent({ className, variant, size, ...props }: BadgeProps) {\n return (\n <div\n className={cn(badgeVariants({ variant, size }), className)}\n {...props}\n />\n );\n}\n\n// Memoize Badge for performance optimization\nconst Badge = memo(BadgeComponent) as typeof BadgeComponent;\n\nexport { Badge, badgeVariants };\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'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,V,N)=>!!(o&&dateFns.isBefore(dateFns.startOfDay(n),dateFns.startOfDay(o))||s&&dateFns.isAfter(dateFns.startOfDay(n),dateFns.endOfDay(s))||V?.some(Y=>h(Y,n))||N?.includes(dateFns.getDay(n))),C=(n,o="en-US")=>n?dateFns.format(n,"MMM d, yyyy"):"",ke=(n,o,s="en-US")=>!n&&!o?"":n&&o?`${C(n,s)} - ${C(o,s)}`:n?C(n,s):o?C(o,s):"",Fe=(n,o="en-US")=>n.length===0?"":n.length===1?C(n[0],o):`${n.length} dates selected`,Ne=a__default.default.forwardRef(({mode:n="single",value:o,defaultValue:s,onChange:V,minDate:N,maxDate:Y,disabledDates:A,disabledDays:H,locale:y="en-US",placeholder:X,label:I,error:L,helperText:U,className:Z,inputClassName:R,calendarClassName:ee,variant:te,size:K,showOutsideDays:k=true,firstDayOfWeek:P=1,...ne},re)=>{let[F,w]=a.useState(false),[i,D]=a.useState(new Date),[p,m]=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(F&&!p){let e=new Date;e.setHours(0,0,0,0),m(e);}},[F,p]);let x=e=>{j||se(e),V?.(e);},z=e=>{if(!_(e,N,Y,A,H)){if(n==="single")x(e),w(false);else if(n==="range"){let r=l;if(!r?.from||r.from&&r.to)x({from:e});else {let t=r.from,d=e;d<t?x({from:d,to:t}):x({from:t,to:d}),w(false);}}else if(n==="multiple"){let r=l||[],t=r.findIndex(d=>h(d,e));t>=0?x(r.filter((d,u)=>u!==t)):x([...r,e]);}}},ie=a.useMemo(()=>{if(!l)return "";if(n==="single")return C(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(k&&t>0){let u=new Date(i.getFullYear(),i.getMonth()-1),g=W(u);for(let c=g-t+1;c<=g;c++){let f=new Date(u.getFullYear(),u.getMonth(),c);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(k){let u=42-e.length,g=new Date(i.getFullYear(),i.getMonth()+1);for(let c=1;c<=u;c++){let f=new Date(g.getFullYear(),g.getMonth(),c);e.push({date:f,isCurrentMonth:false,isToday:h(f,r)});}}return e},[i,k,P]),ue=()=>{D(new Date(i.getFullYear(),i.getMonth()-1,1));},de=()=>{D(new Date(i.getFullYear(),i.getMonth()+1,1));},fe=()=>{let e=new Date;D(e),m(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),m(t),t.getMonth()!==i.getMonth()&&D(new Date(t.getFullYear(),t.getMonth(),1));return}if(e.key==="ArrowLeft"){e.preventDefault();let t=new Date(r);t.setDate(t.getDate()-1),m(t),t.getMonth()!==i.getMonth()&&D(new Date(t.getFullYear(),t.getMonth(),1));return}if(e.key==="ArrowDown"){e.preventDefault();let t=new Date(r);t.setDate(t.getDate()+7),m(t),t.getMonth()!==i.getMonth()&&D(new Date(t.getFullYear(),t.getMonth(),1));return}if(e.key==="ArrowUp"){e.preventDefault();let t=new Date(r);t.setDate(t.getDate()-7),m(t),t.getMonth()!==i.getMonth()&&D(new Date(t.getFullYear(),t.getMonth(),1));return}if(e.key==="Home"){e.preventDefault();let t=new Date(r.getFullYear(),r.getMonth(),1);m(t);return}if(e.key==="End"){e.preventDefault();let t=new Date(r.getFullYear(),r.getMonth()+1,0);m(t);return}if(e.key==="PageUp"){e.preventDefault();let t=new Date(r.getFullYear(),r.getMonth()-1,r.getDate());m(t),D(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());m(t),D(new Date(t.getFullYear(),t.getMonth(),1));return}if(e.key==="Escape"){e.preventDefault(),w(false);return}};a.useEffect(()=>{if(p&&F){let e=`${p.getFullYear()}-${p.getMonth()}-${p.getDate()}`,r=$.current.get(e);r&&r.focus();}},[p,F]);let De=a.useMemo(()=>{let e=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];return P===1?[...e.slice(1),e[0]]:e},[P]),me=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:F,onOpenChange:w},a__default.default.createElement("div",{className:"space-y-2"},I&&a__default.default.createElement("label",{className:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"},I),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:()=>w(true),onFocus:()=>w(true),"aria-label":I||"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"},me),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"},De.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()}`,c=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:()=>{k&&!e.isCurrentMonth?(D(new Date(e.date.getFullYear(),e.date.getMonth(),1)),setTimeout(()=>z(e.date),0)):z(e.date);},onKeyDown:f=>ge(f,e.date),disabled:d||(k?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",c&&"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:c?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-EGQ2Q37R.cjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-EGQ2Q37R.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-EGQ2Q37R.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 }\n | 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 onClick={() => setOpen(true)}\n onFocus={() => 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 // Then select the date\n setTimeout(() => handleDateClick(day.date), 0);\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"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {a as a$1}from'./chunk-COXN6XBA.js';import {a}from'./chunk-AC2JBXHQ.js';import e from'react';import {cva}from'class-variance-authority';var c=cva("animate-pulse rounded-md bg-muted",{variants:{variant:{default:"bg-muted",light:"bg-muted/50",dark:"bg-muted",primary:"bg-primary/10",success:"bg-success-200",warning:"bg-warning-200",error:"bg-error-200"},size:{xs:"h-2",sm:"h-3",md:"h-4",lg:"h-6",xl:"h-8","2xl":"h-12","3xl":"h-16"},shape:{rectangle:"rounded-md",circle:"rounded-full",square:"rounded-lg",pill:"rounded-full"},animation:{pulse:"animate-pulse",wave:"animate-wave",none:"animate-none"}},defaultVariants:{variant:"default",size:"md",shape:"rectangle",animation:"pulse"}}),N=e.forwardRef(({className:n,children:s,width:a$1,height:r,variant:t="default",size:o="md",shape:i="rectangle",animation:d="pulse",loading:u=true,...f},h)=>{if(!u&&s)return e.createElement(e.Fragment,null,s);let p={width:a$1||void 0,height:r||void 0};return e.createElement("div",{ref:h,className:a(c({variant:t,size:o,shape:i,animation:d}),n),style:p,"aria-label":"Loading content",role:"status",...f})});N.displayName="Skeleton";var l=a$1(N),k=e.forwardRef(({className:n,lines:s=3,lastLineWidth:a$1="75%",spacing:r="md",variant:t="default",animation:o="pulse",loading:i=true,...d},u)=>i?e.createElement("div",{ref:u,className:a("space-y-2",{none:"space-y-0",sm:"space-y-1",md:"space-y-2",lg:"space-y-3"}[r],n),"aria-label":"Loading text content",role:"status",...d},Array.from({length:s},(h,p)=>e.createElement("div",{key:p,className:a(c({variant:t,animation:o}),"h-4 rounded-md",p===s-1&&"w-3/4"),style:{width:p===s-1?a$1:"100%"}}))):null);k.displayName="SkeletonText";var v=e.forwardRef(({className:n,size:s="md",variant:a$1="default",animation:r="pulse",loading:t=true,...o},i)=>{if(!t)return null;let d={xs:"h-6 w-6",sm:"h-8 w-8",md:"h-10 w-10",lg:"h-12 w-12",xl:"h-16 w-16","2xl":"h-20 w-20"};return e.createElement("div",{ref:i,className:a(c({variant:a$1,animation:r}),"rounded-full",d[s],n),"aria-label":"Loading avatar",role:"status",...o})});v.displayName="SkeletonAvatar";var g=e.forwardRef(({className:n,size:s="md",variant:a$1="default",animation:r="pulse",loading:t=true,...o},i)=>{if(!t)return null;let d={sm:"h-8 px-3",md:"h-10 px-4",lg:"h-12 px-6"},u={default:"bg-muted",primary:"bg-primary/10",secondary:"bg-secondary",outline:"bg-muted/50 border border-border",ghost:"bg-muted/50"},f=a$1||"default";return e.createElement("div",{ref:i,className:a(c({animation:r}),"rounded-md",d[s],u[f],n),"aria-label":"Loading button",role:"status",...o})});g.displayName="SkeletonButton";var y=e.forwardRef(({className:n,showAvatar:s=true,showActions:a$1=true,variant:r="default",animation:t="pulse",loading:o=true,...i},d)=>o?e.createElement("div",{ref:d,className:a("p-6 border border-border rounded-lg bg-card",n),"aria-label":"Loading card content",role:"status",...i},e.createElement("div",{className:"space-y-4"},e.createElement("div",{className:"flex items-center space-x-3"},s&&e.createElement(v,{size:"md",variant:r,animation:t}),e.createElement("div",{className:"flex-1 space-y-2"},e.createElement(l,{className:"h-4 w-3/4",variant:r,animation:t}),e.createElement(l,{className:"h-3 w-1/2",variant:r,animation:t}))),e.createElement("div",{className:"space-y-2"},e.createElement(l,{className:"h-4 w-full",variant:r,animation:t}),e.createElement(l,{className:"h-4 w-5/6",variant:r,animation:t}),e.createElement(l,{className:"h-4 w-4/5",variant:r,animation:t})),a$1&&e.createElement("div",{className:"flex space-x-2 pt-4"},e.createElement(g,{size:"sm",animation:t}),e.createElement(g,{size:"sm",animation:t})))):null);y.displayName="SkeletonCard";var S=e.forwardRef(({className:n,variant:s="default",animation:a$1="pulse",loading:r=true,...t},o)=>r?e.createElement("div",{ref:o,className:a("space-y-3",n),"aria-label":"Loading table content",role:"status",...t},e.createElement("div",{className:"grid grid-cols-4 gap-4"},e.createElement(l,{className:"h-4",variant:s,animation:a$1}),e.createElement(l,{className:"h-4",variant:s,animation:a$1}),e.createElement(l,{className:"h-4",variant:s,animation:a$1}),e.createElement(l,{className:"h-4",variant:s,animation:a$1})),Array.from({length:5},(i,d)=>e.createElement("div",{key:d,className:"grid grid-cols-4 gap-4"},e.createElement(l,{className:"h-4",variant:s,animation:a$1}),e.createElement(l,{className:"h-4",variant:s,animation:a$1}),e.createElement(l,{className:"h-4",variant:s,animation:a$1}),e.createElement(l,{className:"h-4",variant:s,animation:a$1})))):null);S.displayName="SkeletonTable";var w=e.forwardRef(({className:n,items:s=5,variant:a$1="default",animation:r="pulse",loading:t=true,...o},i)=>t?e.createElement("div",{ref:i,className:a("space-y-3",n),"aria-label":"Loading list content",role:"status",...o},Array.from({length:s},(d,u)=>e.createElement("div",{key:u,className:"flex items-center space-x-3"},e.createElement(v,{size:"sm",variant:a$1,animation:r}),e.createElement("div",{className:"flex-1 space-y-2"},e.createElement(l,{className:"h-4 w-3/4",variant:a$1,animation:r}),e.createElement(l,{className:"h-3 w-1/2",variant:a$1,animation:r}))))):null);w.displayName="SkeletonList";export{c as a,l as b,k as c,v as d,g as e,y as f,S as g,w as h};//# sourceMappingURL=chunk-EIXD3Y4R.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-EIXD3Y4R.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/core/skeleton.tsx"],"names":["skeletonVariants","cva","SkeletonComponent","React","className","children","width","height","variant","size","shape","animation","loading","props","ref","style","cn","Skeleton","memo","SkeletonText","lines","lastLineWidth","spacing","_","index","SkeletonAvatar","sizeClasses","SkeletonButton","variantClasses","finalVariant","SkeletonCard","showAvatar","showActions","SkeletonTable","SkeletonList","items"],"mappings":"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","file":"chunk-EIXD3Y4R.js","sourcesContent":["import React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../lib/utils\";\nimport { memo } from \"../../lib/memo\";\n\n// Skeleton variants\nconst skeletonVariants = cva(\"animate-pulse rounded-md bg-muted\", {\n variants: {\n variant: {\n default: \"bg-muted\",\n light: \"bg-muted/50\",\n dark: \"bg-muted\",\n primary: \"bg-primary/10\",\n success: \"bg-success-200\",\n warning: \"bg-warning-200\",\n error: \"bg-error-200\",\n },\n size: {\n xs: \"h-2\",\n sm: \"h-3\",\n md: \"h-4\",\n lg: \"h-6\",\n xl: \"h-8\",\n \"2xl\": \"h-12\",\n \"3xl\": \"h-16\",\n },\n shape: {\n rectangle: \"rounded-md\",\n circle: \"rounded-full\",\n square: \"rounded-lg\",\n pill: \"rounded-full\",\n },\n animation: {\n pulse: \"animate-pulse\",\n wave: \"animate-wave\",\n none: \"animate-none\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"md\",\n shape: \"rectangle\",\n animation: \"pulse\",\n },\n});\n\n// Types\nexport interface SkeletonProps extends VariantProps<typeof skeletonVariants> {\n className?: string;\n children?: React.ReactNode;\n width?: string | number;\n height?: string | number;\n lines?: number;\n spacing?: \"none\" | \"sm\" | \"md\" | \"lg\";\n loading?: boolean;\n}\n\nexport interface SkeletonTextProps extends Omit<\n SkeletonProps,\n \"shape\" | \"size\"\n> {\n lines?: number;\n lastLineWidth?: string | number;\n}\n\nexport interface SkeletonAvatarProps extends Omit<\n SkeletonProps,\n \"shape\" | \"size\"\n> {\n size?: \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\" | \"2xl\";\n}\n\nexport interface SkeletonButtonProps extends Omit<\n SkeletonProps,\n \"shape\" | \"size\" | \"variant\"\n> {\n size?: \"sm\" | \"md\" | \"lg\";\n variant?: \"default\" | \"primary\" | \"secondary\" | \"outline\" | \"ghost\";\n}\n\nexport interface SkeletonCardProps extends Omit<\n SkeletonProps,\n \"shape\" | \"size\"\n> {\n showAvatar?: boolean;\n showActions?: boolean;\n}\n\n// Main Skeleton Component\nconst SkeletonComponent = React.forwardRef<HTMLDivElement, SkeletonProps>(\n (\n {\n className,\n children,\n width,\n height,\n variant = \"default\",\n size = \"md\",\n shape = \"rectangle\",\n animation = \"pulse\",\n loading = true,\n ...props\n },\n ref,\n ) => {\n if (!loading && children) {\n return <>{children}</>;\n }\n\n const style = {\n width: width || undefined,\n height: height || undefined,\n };\n\n return (\n <div\n ref={ref}\n className={cn(\n skeletonVariants({ variant, size, shape, animation }),\n className,\n )}\n style={style}\n aria-label=\"Loading content\"\n role=\"status\"\n {...props}\n />\n );\n },\n);\n\nSkeletonComponent.displayName = \"Skeleton\";\n\n// Memoize Skeleton for performance optimization\nexport const Skeleton = memo(SkeletonComponent) as typeof SkeletonComponent;\n\n// Skeleton Text Component\nexport const SkeletonText = React.forwardRef<HTMLDivElement, SkeletonTextProps>(\n (\n {\n className,\n lines = 3,\n lastLineWidth = \"75%\",\n spacing = \"md\",\n variant = \"default\",\n animation = \"pulse\",\n loading = true,\n ...props\n },\n ref,\n ) => {\n if (!loading) {\n return null;\n }\n\n const spacingClasses = {\n none: \"space-y-0\",\n sm: \"space-y-1\",\n md: \"space-y-2\",\n lg: \"space-y-3\",\n };\n\n return (\n <div\n ref={ref}\n className={cn(\"space-y-2\", spacingClasses[spacing], className)}\n aria-label=\"Loading text content\"\n role=\"status\"\n {...props}\n >\n {Array.from({ length: lines }, (_, index) => (\n <div\n key={index}\n className={cn(\n skeletonVariants({ variant, animation }),\n \"h-4 rounded-md\",\n index === lines - 1 && \"w-3/4\",\n )}\n style={{\n width: index === lines - 1 ? lastLineWidth : \"100%\",\n }}\n />\n ))}\n </div>\n );\n },\n);\n\nSkeletonText.displayName = \"SkeletonText\";\n\n// Skeleton Avatar Component\nexport const SkeletonAvatar = React.forwardRef<\n HTMLDivElement,\n SkeletonAvatarProps\n>(\n (\n {\n className,\n size = \"md\",\n variant = \"default\",\n animation = \"pulse\",\n loading = true,\n ...props\n },\n ref,\n ) => {\n if (!loading) {\n return null;\n }\n\n const sizeClasses = {\n xs: \"h-6 w-6\",\n sm: \"h-8 w-8\",\n md: \"h-10 w-10\",\n lg: \"h-12 w-12\",\n xl: \"h-16 w-16\",\n \"2xl\": \"h-20 w-20\",\n };\n\n return (\n <div\n ref={ref}\n className={cn(\n skeletonVariants({ variant, animation }),\n \"rounded-full\",\n sizeClasses[size],\n className,\n )}\n aria-label=\"Loading avatar\"\n role=\"status\"\n {...props}\n />\n );\n },\n);\n\nSkeletonAvatar.displayName = \"SkeletonAvatar\";\n\n// Skeleton Button Component\nexport const SkeletonButton = React.forwardRef<\n HTMLDivElement,\n SkeletonButtonProps\n>(\n (\n {\n className,\n size = \"md\",\n variant = \"default\",\n animation = \"pulse\",\n loading = true,\n ...props\n },\n ref,\n ) => {\n if (!loading) {\n return null;\n }\n\n const sizeClasses = {\n sm: \"h-8 px-3\",\n md: \"h-10 px-4\",\n lg: \"h-12 px-6\",\n };\n\n const variantClasses = {\n default: \"bg-muted\",\n primary: \"bg-primary/10\",\n secondary: \"bg-secondary\",\n outline: \"bg-muted/50 border border-border\",\n ghost: \"bg-muted/50\",\n };\n\n const finalVariant = variant || \"default\";\n\n return (\n <div\n ref={ref}\n className={cn(\n skeletonVariants({ animation }),\n \"rounded-md\",\n sizeClasses[size],\n variantClasses[finalVariant],\n className,\n )}\n aria-label=\"Loading button\"\n role=\"status\"\n {...props}\n />\n );\n },\n);\n\nSkeletonButton.displayName = \"SkeletonButton\";\n\n// Skeleton Card Component\nexport const SkeletonCard = React.forwardRef<HTMLDivElement, SkeletonCardProps>(\n (\n {\n className,\n showAvatar = true,\n showActions = true,\n variant = \"default\",\n animation = \"pulse\",\n loading = true,\n ...props\n },\n ref,\n ) => {\n if (!loading) {\n return null;\n }\n\n return (\n <div\n ref={ref}\n className={cn(\"p-6 border border-border rounded-lg bg-card\", className)}\n aria-label=\"Loading card content\"\n role=\"status\"\n {...props}\n >\n <div className=\"space-y-4\">\n {/* Header with avatar and title */}\n <div className=\"flex items-center space-x-3\">\n {showAvatar && (\n <SkeletonAvatar\n size=\"md\"\n variant={variant}\n animation={animation}\n />\n )}\n <div className=\"flex-1 space-y-2\">\n <Skeleton\n className=\"h-4 w-3/4\"\n variant={variant}\n animation={animation}\n />\n <Skeleton\n className=\"h-3 w-1/2\"\n variant={variant}\n animation={animation}\n />\n </div>\n </div>\n\n {/* Content */}\n <div className=\"space-y-2\">\n <Skeleton\n className=\"h-4 w-full\"\n variant={variant}\n animation={animation}\n />\n <Skeleton\n className=\"h-4 w-5/6\"\n variant={variant}\n animation={animation}\n />\n <Skeleton\n className=\"h-4 w-4/5\"\n variant={variant}\n animation={animation}\n />\n </div>\n\n {/* Actions */}\n {showActions && (\n <div className=\"flex space-x-2 pt-4\">\n <SkeletonButton size=\"sm\" animation={animation} />\n <SkeletonButton size=\"sm\" animation={animation} />\n </div>\n )}\n </div>\n </div>\n );\n },\n);\n\nSkeletonCard.displayName = \"SkeletonCard\";\n\n// Skeleton Table Component\nexport const SkeletonTable = React.forwardRef<HTMLDivElement, SkeletonProps>(\n (\n {\n className,\n variant = \"default\",\n animation = \"pulse\",\n loading = true,\n ...props\n },\n ref,\n ) => {\n if (!loading) {\n return null;\n }\n\n return (\n <div\n ref={ref}\n className={cn(\"space-y-3\", className)}\n aria-label=\"Loading table content\"\n role=\"status\"\n {...props}\n >\n {/* Header */}\n <div className=\"grid grid-cols-4 gap-4\">\n <Skeleton className=\"h-4\" variant={variant} animation={animation} />\n <Skeleton className=\"h-4\" variant={variant} animation={animation} />\n <Skeleton className=\"h-4\" variant={variant} animation={animation} />\n <Skeleton className=\"h-4\" variant={variant} animation={animation} />\n </div>\n\n {/* Rows */}\n {Array.from({ length: 5 }, (_, index) => (\n <div key={index} className=\"grid grid-cols-4 gap-4\">\n <Skeleton className=\"h-4\" variant={variant} animation={animation} />\n <Skeleton className=\"h-4\" variant={variant} animation={animation} />\n <Skeleton className=\"h-4\" variant={variant} animation={animation} />\n <Skeleton className=\"h-4\" variant={variant} animation={animation} />\n </div>\n ))}\n </div>\n );\n },\n);\n\nSkeletonTable.displayName = \"SkeletonTable\";\n\n// Skeleton List Component\nexport const SkeletonList = React.forwardRef<\n HTMLDivElement,\n SkeletonProps & { items?: number }\n>(\n (\n {\n className,\n items = 5,\n variant = \"default\",\n animation = \"pulse\",\n loading = true,\n ...props\n },\n ref,\n ) => {\n if (!loading) {\n return null;\n }\n\n return (\n <div\n ref={ref}\n className={cn(\"space-y-3\", className)}\n aria-label=\"Loading list content\"\n role=\"status\"\n {...props}\n >\n {Array.from({ length: items }, (_, index) => (\n <div key={index} className=\"flex items-center space-x-3\">\n <SkeletonAvatar size=\"sm\" variant={variant} animation={animation} />\n <div className=\"flex-1 space-y-2\">\n <Skeleton\n className=\"h-4 w-3/4\"\n variant={variant}\n animation={animation}\n />\n <Skeleton\n className=\"h-3 w-1/2\"\n variant={variant}\n animation={animation}\n />\n </div>\n </div>\n ))}\n </div>\n );\n },\n);\n\nSkeletonList.displayName = \"SkeletonList\";\n\n// Export variants for external use\nexport { skeletonVariants };\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'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
|
+
//# sourceMappingURL=chunk-EVRQYWZ3.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/core/switch.tsx"],"names":["switchVariants","cva","switchThumbVariants","Switch","e","className","_children","label","helperText","error","required","variant","size","id","props","ref","generatedId","switchId","helperTextId","errorId","a","cn"],"mappings":"8kBAKA,IAAMA,CAAAA,CAAiBC,2BACrB,4VAAA,CACA,CACE,SAAU,CACR,OAAA,CAAS,CACP,OAAA,CACE,yFAAA,CACF,KAAA,CACE,6GAAA,CACF,OAAA,CACE,kGACJ,EACA,IAAA,CAAM,CACJ,GAAI,SAAA,CACJ,OAAA,CAAS,WACT,EAAA,CAAI,UACN,CACF,CAAA,CACA,eAAA,CAAiB,CACf,QAAS,SAAA,CACT,IAAA,CAAM,SACR,CACF,CACF,EAEMC,CAAAA,CAAsBD,0BAAAA,CAC1B,4KAAA,CACA,CACE,QAAA,CAAU,CACR,KAAM,CACJ,EAAA,CAAI,6CACJ,OAAA,CAAS,4CAAA,CACT,GAAI,4CACN,CACF,CAAA,CACA,eAAA,CAAiB,CACf,IAAA,CAAM,SACR,CACF,CACF,EAYME,CAAAA,CAAeC,YAAA,CAAA,UAAA,CAInB,CACE,CACE,SAAA,CAAAC,CAAAA,CACA,QAAA,CAAUC,CAAAA,CACV,KAAA,CAAAC,EACA,UAAA,CAAAC,CAAAA,CACA,MAAAC,CAAAA,CACA,QAAA,CAAAC,EACA,OAAA,CAAAC,CAAAA,CACA,IAAA,CAAAC,CAAAA,CACA,EAAA,CAAAC,CAAAA,CACA,GAAGC,CACL,CAAA,CACAC,IACG,CACH,IAAMC,EAAoBZ,YAAA,CAAA,KAAA,EAAM,CAC1Ba,CAAAA,CAAWJ,CAAAA,EAAMG,CAAAA,CACjBE,CAAAA,CAAeV,EAAa,CAAA,EAAGS,CAAQ,UAAY,MAAA,CACnDE,CAAAA,CAAUV,EAAQ,CAAA,EAAGQ,CAAQ,CAAA,MAAA,CAAA,CAAW,MAAA,CAI9C,OACEb,YAAA,CAAA,aAAA,CAAC,OAAI,SAAA,CAAU,6BAAA,CAAA,CACbA,2BAAiBgB,YAAA,CAAA,IAAA,CAAhB,CACC,IAAKL,CAAAA,CACL,EAAA,CAAIE,CAAAA,CACJ,SAAA,CAAWI,mBAAAA,CACTrB,CAAAA,CAAe,CAAE,OAAA,CARHS,CAAAA,CAAQ,QAAUE,CAAAA,EAAW,SAAA,CAQF,KAAAC,CAAK,CAAC,CAAA,CAC/CP,CACF,CAAA,CACA,kBAAA,CAAkBgB,oBAAGH,CAAAA,CAAcC,CAAO,GAAK,MAAA,CAC/C,cAAA,CAAcV,EACd,eAAA,CAAeC,CAAAA,CACd,GAAGI,CAAAA,CAAAA,CAEJV,YAAA,CAAA,aAAA,CAAiBgB,YAAA,CAAA,KAAA,CAAhB,CACC,SAAA,CAAWC,mBAAAA,CAAGnB,EAAoB,CAAE,IAAA,CAAAU,CAAK,CAAC,CAAC,CAAA,CAC7C,CACF,CAAA,CACAR,YAAA,CAAA,aAAA,CAAC,OAAI,SAAA,CAAU,2BAAA,CAAA,CACZG,GACCH,YAAA,CAAA,aAAA,CAAC,OAAA,CAAA,CACC,QAASa,CAAAA,CACT,SAAA,CAAU,4FAAA,CAAA,CAETV,CAAAA,CACAG,CAAAA,EAAYN,YAAA,CAAA,aAAA,CAAC,QAAK,SAAA,CAAU,qBAAA,CAAA,CAAsB,GAAC,CACtD,CAAA,CAEDI,GACCJ,YAAA,CAAA,aAAA,CAAC,GAAA,CAAA,CACC,EAAA,CAAIc,CAAAA,CACJ,SAAA,CAAWG,mBAAAA,CACT,gCACAZ,CAAAA,EAAS,kBACX,CAAA,CAAA,CAECD,CACH,CAEJ,CACF,CAEJ,CACF,EACAL,CAAAA,CAAO,WAAA,CAA8BiB,YAAA,CAAA,IAAA,CAAK,WAAA","file":"chunk-EVRQYWZ3.cjs","sourcesContent":["import * as React from \"react\";\nimport * as SwitchPrimitive from \"@radix-ui/react-switch\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../lib/utils\";\n\nconst switchVariants = cva(\n \"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\",\n {\n variants: {\n variant: {\n default:\n \"data-[state=checked]:bg-primary data-[state=unchecked]:bg-muted focus-visible:ring-ring\",\n error:\n \"data-[state=checked]:bg-destructive data-[state=unchecked]:bg-destructive/20 focus-visible:ring-destructive\",\n success:\n \"data-[state=checked]:bg-success data-[state=unchecked]:bg-success-100 focus-visible:ring-success\",\n },\n size: {\n sm: \"h-4 w-7\",\n default: \"h-6 w-11\",\n lg: \"h-8 w-14\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n },\n);\n\nconst switchThumbVariants = cva(\n \"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\",\n {\n variants: {\n size: {\n sm: \"h-3 w-3 data-[state=checked]:translate-x-3\",\n default: \"h-5 w-5 data-[state=checked]:translate-x-5\",\n lg: \"h-7 w-7 data-[state=checked]:translate-x-6\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n },\n);\n\nexport interface SwitchProps\n extends\n React.ComponentPropsWithoutRef<typeof SwitchPrimitive.Root>,\n VariantProps<typeof switchVariants> {\n label?: string;\n helperText?: string;\n error?: boolean;\n required?: boolean;\n}\n\nconst Switch = React.forwardRef<\n React.ElementRef<typeof SwitchPrimitive.Root>,\n SwitchProps\n>(\n (\n {\n className,\n children: _children,\n label,\n helperText,\n error,\n required,\n variant,\n size,\n id,\n ...props\n },\n ref,\n ) => {\n const generatedId = React.useId();\n const switchId = id || generatedId;\n const helperTextId = helperText ? `${switchId}-helper` : undefined;\n const errorId = error ? `${switchId}-error` : undefined;\n\n const switchVariant = error ? \"error\" : variant || \"default\";\n\n return (\n <div className=\"flex items-center space-x-2\">\n <SwitchPrimitive.Root\n ref={ref}\n id={switchId}\n className={cn(\n switchVariants({ variant: switchVariant, size }),\n className,\n )}\n aria-describedby={cn(helperTextId, errorId) || undefined}\n aria-invalid={error}\n aria-required={required}\n {...props}\n >\n <SwitchPrimitive.Thumb\n className={cn(switchThumbVariants({ size }))}\n />\n </SwitchPrimitive.Root>\n <div className=\"grid gap-1.5 leading-none\">\n {label && (\n <label\n htmlFor={switchId}\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 {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 </div>\n );\n },\n);\nSwitch.displayName = SwitchPrimitive.Root.displayName;\n\nexport { Switch, switchVariants, switchThumbVariants };\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'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
|
+
//# sourceMappingURL=chunk-FUENXWR7.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/core/input.tsx"],"names":["inputVariants","cva","InputComponent","e","className","type","error","success","helperText","label","id","variant","inputSize","props","ref","generatedId","inputId","helperTextId","errorId","cn","Input","memo"],"mappings":"6iBAKMA,CAAAA,CAAgBC,0BAAAA,CAEpB,iVACA,CACE,QAAA,CAAU,CACR,OAAA,CAAS,CAEP,QAAS,CACP,yBAAA,CACA,sCACA,sDAAA,CACA,yBACF,EAEA,KAAA,CAAO,CACL,+BACA,6CAAA,CACA,oEAAA,CACA,yBACF,CAAA,CAEA,OAAA,CAAS,CACP,8BAAA,CACA,0CAAA,CACA,qEACA,yBACF,CAAA,CAEA,OAAQ,CACN,2BAAA,CACA,wCACA,sDAAA,CACA,6BACF,CACF,CAAA,CACA,SAAA,CAAW,CAET,EAAA,CAAI,qBACJ,OAAA,CAAS,mBAAA,CACT,GAAI,qBACN,CACF,EACA,eAAA,CAAiB,CACf,QAAS,SAAA,CACT,SAAA,CAAW,SACb,CACF,CACF,EAYMC,CAAAA,CAAuBC,YAAA,CAAA,UAAA,CAC3B,CACE,CACE,SAAA,CAAAC,EACA,IAAA,CAAAC,CAAAA,CACA,MAAAC,CAAAA,CACA,OAAA,CAAAC,EACA,UAAA,CAAAC,CAAAA,CACA,MAAAC,CAAAA,CACA,EAAA,CAAAC,EACA,OAAA,CAAAC,CAAAA,CACA,UAAAC,CAAAA,CACA,GAAGC,CACL,CAAA,CACAC,CAAAA,GACG,CACH,IAAMC,CAAAA,CAAoBZ,YAAA,CAAA,KAAA,EAAM,CAC1Ba,EAAUN,CAAAA,EAAMK,CAAAA,CAChBE,EAAeT,CAAAA,CAAa,CAAA,EAAGQ,CAAO,CAAA,OAAA,CAAA,CAAY,MAAA,CAClDE,EAAUZ,CAAAA,CAAQ,CAAA,EAAGU,CAAO,CAAA,MAAA,CAAA,CAAW,MAAA,CAS7C,OACEb,YAAA,CAAA,aAAA,CAAC,KAAA,CAAA,CAAI,UAAU,WAAA,CAAA,CACZM,CAAAA,EACCN,2BAAC,OAAA,CAAA,CACC,OAAA,CAASa,EACT,SAAA,CAAU,4FAAA,CAAA,CAETP,CACH,CAAA,CAEFN,YAAA,CAAA,aAAA,CAAC,SACC,IAAA,CAAME,CAAAA,CACN,UAAWc,mBAAAA,CACTnB,CAAAA,CAAc,CAAE,OAAA,CAnBHM,CAAAA,CACjB,QACAC,CAAAA,CACE,SAAA,CACAI,GAAW,SAAA,CAe8B,SAAA,CAAAC,CAAAA,CAAW,SAAA,CAAAR,CAAU,CAAC,CAC/D,EACA,GAAA,CAAKU,CAAAA,CACL,GAAIE,CAAAA,CACJ,kBAAA,CAAkBG,oBAAGF,CAAAA,CAAcC,CAAO,GAAK,MAAA,CAC/C,cAAA,CAAcZ,EACb,GAAGO,CAAAA,CACN,EACCL,CAAAA,EACCL,YAAA,CAAA,aAAA,CAAC,KACC,EAAA,CAAIc,CAAAA,CACJ,UAAWE,mBAAAA,CACT,+BAAA,CACAb,GAAS,kBAAA,CACTC,CAAAA,EAAW,cACb,CAAA,CAAA,CAECC,CACH,CAEJ,CAEJ,CACF,EACAN,CAAAA,CAAe,WAAA,CAAc,QAG7B,IAAMkB,CAAAA,CAAQC,oBAAKnB,CAAc","file":"chunk-FUENXWR7.cjs","sourcesContent":["import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../lib/utils\";\nimport { memo } from \"../../lib/memo\";\n\nconst inputVariants = cva(\n // Base styles with improved spacing and transitions\n \"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\",\n {\n variants: {\n variant: {\n // Enhanced default with better focus\n default: [\n \"border-border shadow-sm\",\n \"hover:border-border hover:shadow-sm\",\n \"focus-visible:ring-ring/20 focus-visible:border-ring\",\n \"focus-visible:shadow-md\",\n ],\n // Enhanced error with better feedback\n error: [\n \"border-destructive shadow-sm\",\n \"hover:border-destructive/80 hover:shadow-sm\",\n \"focus-visible:ring-destructive/20 focus-visible:border-destructive\",\n \"focus-visible:shadow-md\",\n ],\n // Enhanced success with better feedback\n success: [\n \"border-success-500 shadow-sm\",\n \"hover:border-success-600 hover:shadow-sm\",\n \"focus-visible:ring-success-500/20 focus-visible:border-success-500\",\n \"focus-visible:shadow-md\",\n ],\n // Subtle variant for less prominent inputs\n subtle: [\n \"border-border bg-muted/50\",\n \"hover:border-border hover:bg-muted/80\",\n \"focus-visible:ring-ring/10 focus-visible:border-ring\",\n \"focus-visible:bg-background\",\n ],\n },\n inputSize: {\n // Improved spacing for consistency\n sm: \"h-8 px-2.5 text-xs\",\n default: \"h-10 px-3 text-sm\",\n lg: \"h-11 px-4 text-base\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n inputSize: \"default\",\n },\n },\n);\n\nexport interface InputProps\n extends\n Omit<React.InputHTMLAttributes<HTMLInputElement>, \"size\">,\n VariantProps<typeof inputVariants> {\n error?: boolean;\n success?: boolean;\n helperText?: string;\n label?: string;\n}\n\nconst InputComponent = React.forwardRef<HTMLInputElement, InputProps>(\n (\n {\n className,\n type,\n error,\n success,\n helperText,\n label,\n id,\n variant,\n inputSize,\n ...props\n },\n ref,\n ) => {\n const generatedId = React.useId();\n const inputId = id || generatedId;\n const helperTextId = helperText ? `${inputId}-helper` : undefined;\n const errorId = error ? `${inputId}-error` : undefined;\n\n // Determine variant based on state\n const inputVariant = error\n ? \"error\"\n : success\n ? \"success\"\n : variant || \"default\";\n\n return (\n <div className=\"space-y-2\">\n {label && (\n <label\n htmlFor={inputId}\n className=\"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\"\n >\n {label}\n </label>\n )}\n <input\n type={type}\n className={cn(\n inputVariants({ variant: inputVariant, inputSize, className }),\n )}\n ref={ref}\n id={inputId}\n aria-describedby={cn(helperTextId, errorId) || undefined}\n aria-invalid={error}\n {...props}\n />\n {helperText && (\n <p\n id={helperTextId}\n className={cn(\n \"text-sm text-muted-foreground\",\n error && \"text-destructive\",\n success && \"text-success\",\n )}\n >\n {helperText}\n </p>\n )}\n </div>\n );\n },\n);\nInputComponent.displayName = \"Input\";\n\n// Memoize Input for performance optimization\nconst Input = memo(InputComponent) as typeof InputComponent;\n\nexport { Input, inputVariants };\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'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
|
+
//# sourceMappingURL=chunk-G35BR7SK.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/core/progress.tsx"],"names":["progressVariants","cva","progressBarVariants","progressLabelVariants","ProgressComponent","React","className","value","max","showLabel","label","size","variant","animated","glow","indeterminate","props","ref","percentage","displayLabel","cn","Progress","memo","circularProgressVariants","circularProgressSvgVariants","CircularProgressComponent","strokeWidth","radius","circumference","strokeDasharray","strokeDashoffset","getStrokeColor","getGlowFilter","CircularProgress"],"mappings":"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","file":"chunk-G35BR7SK.cjs","sourcesContent":["import React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../lib/utils\";\nimport { memo } from \"../../lib/memo\";\n\nconst progressVariants = cva(\"relative overflow-hidden rounded-full bg-muted\", {\n variants: {\n size: {\n sm: \"h-1\",\n md: \"h-2\",\n lg: \"h-3\",\n xl: \"h-4\",\n },\n variant: {\n default: \"bg-muted\",\n primary: \"bg-primary/10\",\n success: \"bg-success-100\",\n warning: \"bg-warning-100\",\n error: \"bg-error-100\",\n energy: \"bg-gradient-to-r from-cyan-100 to-blue-100\",\n health: \"bg-gradient-to-r from-green-100 to-emerald-100\",\n alien: \"bg-gradient-to-r from-purple-100 to-pink-100\",\n },\n },\n defaultVariants: {\n size: \"md\",\n variant: \"default\",\n },\n});\n\nconst progressBarVariants = cva(\n \"h-full transition-all duration-500 ease-out rounded-full\",\n {\n variants: {\n variant: {\n default: \"bg-primary\",\n primary: \"bg-primary\",\n success: \"bg-success-600\",\n warning: \"bg-warning-600\",\n error: \"bg-error-600\",\n energy:\n \"bg-gradient-to-r from-cyan-500 to-blue-500 shadow-lg shadow-cyan-500/25\",\n health:\n \"bg-gradient-to-r from-green-500 to-emerald-500 shadow-lg shadow-green-500/25\",\n alien:\n \"bg-gradient-to-r from-purple-500 to-pink-500 shadow-lg shadow-purple-500/25\",\n },\n animated: {\n true: \"animate-pulse\",\n false: \"\",\n },\n glow: {\n true: \"shadow-lg\",\n false: \"\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n animated: false,\n glow: false,\n },\n },\n);\n\nconst progressLabelVariants = cva(\n \"text-sm font-medium transition-colors duration-200\",\n {\n variants: {\n variant: {\n default: \"text-muted-foreground\",\n primary: \"text-primary\",\n success: \"text-success-700\",\n warning: \"text-warning-700\",\n error: \"text-error-700\",\n energy: \"text-cyan-700\",\n health: \"text-green-700\",\n alien: \"text-purple-700\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\nexport interface ProgressProps\n extends\n React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof progressVariants> {\n value: number;\n max?: number;\n showLabel?: boolean;\n label?: string;\n animated?: boolean;\n glow?: boolean;\n indeterminate?: boolean;\n}\n\nconst ProgressComponent = React.forwardRef<HTMLDivElement, ProgressProps>(\n (\n {\n className,\n value,\n max = 100,\n showLabel = false,\n label,\n size,\n variant,\n animated = false,\n glow = false,\n indeterminate = false,\n ...props\n },\n ref,\n ) => {\n const percentage = Math.min(Math.max((value / max) * 100, 0), 100);\n const displayLabel = label || `${Math.round(percentage)}%`;\n\n return (\n <div className=\"w-full\">\n {(showLabel || label) && (\n <div className=\"mb-2 flex justify-between items-center\">\n <span className={cn(progressLabelVariants({ variant }))}>\n {label || \"Progress\"}\n </span>\n {showLabel && (\n <span className={cn(progressLabelVariants({ variant }))}>\n {displayLabel}\n </span>\n )}\n </div>\n )}\n\n <div\n ref={ref}\n className={cn(progressVariants({ size, variant }), className)}\n role=\"progressbar\"\n aria-valuenow={indeterminate ? undefined : value}\n aria-valuemin={0}\n aria-valuemax={max}\n aria-label={label || \"Progress\"}\n {...props}\n >\n <div\n className={cn(\n progressBarVariants({ variant, animated, glow }),\n indeterminate && \"animate-pulse w-1/3 absolute left-0\",\n )}\n style={\n indeterminate\n ? {}\n : {\n width: `${percentage}%`,\n transition: \"width 0.5s ease-out\",\n }\n }\n />\n\n {/* Sci-fi glow effect */}\n {glow && (\n <div\n className={cn(\n \"absolute inset-0 rounded-full opacity-30 blur-sm\",\n variant === \"energy\" &&\n \"bg-gradient-to-r from-cyan-400 to-blue-400\",\n variant === \"health\" &&\n \"bg-gradient-to-r from-green-400 to-emerald-400\",\n variant === \"alien\" &&\n \"bg-gradient-to-r from-purple-400 to-pink-400\",\n variant === \"primary\" && \"bg-brand-400\",\n variant === \"success\" && \"bg-success-400\",\n variant === \"warning\" && \"bg-warning-400\",\n variant === \"error\" && \"bg-error-400\",\n )}\n style={{\n width: `${percentage}%`,\n transition: \"width 0.5s ease-out\",\n }}\n />\n )}\n </div>\n </div>\n );\n },\n);\n\nProgressComponent.displayName = \"Progress\";\n\n// Memoize Progress for performance optimization\nconst Progress = memo(ProgressComponent) as typeof ProgressComponent;\n\n// Circular Progress Component\nconst circularProgressVariants = cva(\n \"relative inline-flex items-center justify-center\",\n {\n variants: {\n size: {\n sm: \"w-8 h-8\",\n md: \"w-12 h-12\",\n lg: \"w-16 h-16\",\n xl: \"w-20 h-20\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n },\n);\n\nconst circularProgressSvgVariants = cva(\"transform -rotate-90\", {\n variants: {\n size: {\n sm: \"w-8 h-8\",\n md: \"w-12 h-12\",\n lg: \"w-16 h-16\",\n xl: \"w-20 h-20\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nexport interface CircularProgressProps\n extends\n React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof circularProgressVariants> {\n value: number;\n max?: number;\n showLabel?: boolean;\n label?: string;\n variant?:\n | \"default\"\n | \"primary\"\n | \"success\"\n | \"warning\"\n | \"error\"\n | \"energy\"\n | \"health\"\n | \"alien\";\n animated?: boolean;\n glow?: boolean;\n strokeWidth?: number;\n}\n\nconst CircularProgressComponent = React.forwardRef<\n HTMLDivElement,\n CircularProgressProps\n>(\n (\n {\n className,\n value,\n max = 100,\n showLabel = false,\n label,\n size,\n variant = \"default\",\n animated = false,\n glow = false,\n strokeWidth = 2,\n ...props\n },\n ref,\n ) => {\n const percentage = Math.min(Math.max((value / max) * 100, 0), 100);\n const radius =\n size === \"sm\" ? 14 : size === \"md\" ? 20 : size === \"lg\" ? 28 : 36;\n const circumference = 2 * Math.PI * radius;\n const strokeDasharray = circumference;\n const strokeDashoffset = circumference - (percentage / 100) * circumference;\n\n const getStrokeColor = () => {\n switch (variant) {\n case \"primary\":\n return \"stroke-primary\";\n case \"success\":\n return \"stroke-success\";\n case \"warning\":\n return \"stroke-warning\";\n case \"error\":\n return \"stroke-error\";\n case \"energy\":\n return \"stroke-cyan-500\";\n case \"health\":\n return \"stroke-green-500\";\n case \"alien\":\n return \"stroke-purple-500\";\n default:\n return \"stroke-primary\";\n }\n };\n\n const getGlowFilter = () => {\n if (!glow) return \"\";\n switch (variant) {\n case \"energy\":\n return \"drop-shadow-[0_0_8px_rgba(6,182,212,0.5)]\";\n case \"health\":\n return \"drop-shadow-[0_0_8px_rgba(34,197,94,0.5)]\";\n case \"alien\":\n return \"drop-shadow-[0_0_8px_rgba(168,85,247,0.5)]\";\n default:\n return \"drop-shadow-[0_0_8px_rgba(59,130,246,0.5)]\";\n }\n };\n\n return (\n <div\n ref={ref}\n className={cn(circularProgressVariants({ size }), className)}\n role=\"progressbar\"\n aria-valuenow={value}\n aria-valuemin={0}\n aria-valuemax={max}\n aria-label={label || \"Circular progress\"}\n {...props}\n >\n <svg\n className={cn(circularProgressSvgVariants({ size }))}\n viewBox={`0 0 ${radius * 2 + strokeWidth * 2} ${radius * 2 + strokeWidth * 2}`}\n >\n {/* Background circle */}\n <circle\n cx={radius + strokeWidth}\n cy={radius + strokeWidth}\n r={radius}\n stroke=\"currentColor\"\n strokeWidth={strokeWidth}\n fill=\"none\"\n className=\"text-muted\"\n />\n\n {/* Progress circle */}\n <circle\n cx={radius + strokeWidth}\n cy={radius + strokeWidth}\n r={radius}\n stroke=\"currentColor\"\n strokeWidth={strokeWidth}\n fill=\"none\"\n strokeLinecap=\"round\"\n strokeDasharray={strokeDasharray}\n strokeDashoffset={strokeDashoffset}\n className={cn(\n getStrokeColor(),\n getGlowFilter(),\n animated && \"animate-pulse\",\n \"transition-all duration-500 ease-out\",\n )}\n />\n </svg>\n\n {/* Center label */}\n {showLabel && (\n <div className=\"absolute inset-0 flex items-center justify-center\">\n <span\n className={cn(\n \"text-xs font-medium\",\n size === \"sm\" && \"text-xs\",\n size === \"md\" && \"text-sm\",\n size === \"lg\" && \"text-base\",\n size === \"xl\" && \"text-lg\",\n progressLabelVariants({ variant }),\n )}\n >\n {label || `${Math.round(percentage)}%`}\n </span>\n </div>\n )}\n </div>\n );\n },\n);\n\nCircularProgressComponent.displayName = \"CircularProgress\";\n\n// Memoize CircularProgress for performance optimization\nconst CircularProgress = memo(\n CircularProgressComponent,\n) as typeof CircularProgressComponent;\n\nexport {\n Progress,\n CircularProgress,\n progressVariants,\n progressBarVariants,\n progressLabelVariants,\n};\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var chunk7SPPGTBT_cjs=require('./chunk-7SPPGTBT.cjs'),chunkITRGJNWL_cjs=require('./chunk-ITRGJNWL.cjs'),r=require('react'),recharts=require('recharts'),classVarianceAuthority=require('class-variance-authority');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var r__default=/*#__PURE__*/_interopDefault(r);var U=classVarianceAuthority.cva("w-full",{variants:{variant:{default:"",minimal:"",detailed:""},size:{sm:"h-48",md:"h-64",lg:"h-96",xl:"h-[500px]"}},defaultVariants:{variant:"default",size:"md"}}),s=["hsl(var(--nostromo-color-brand-500))","hsl(var(--nostromo-color-brand-600))","hsl(var(--nostromo-color-success-500))","hsl(var(--nostromo-color-warning-500))","hsl(var(--nostromo-color-error-500))","hsl(var(--nostromo-color-info-500))","hsl(var(--nostromo-color-brand-400))","hsl(var(--nostromo-color-brand-700))"],g=({active:u,payload:t,label:i})=>u&&t&&t.length?r__default.default.createElement("div",{className:"rounded-lg border border-border bg-popover p-3 shadow-lg"},r__default.default.createElement("p",{className:"mb-2 font-semibold text-popover-foreground"},String(i??"")),t.map((m,n)=>r__default.default.createElement("p",{key:n,className:"text-sm",style:{color:m.color}},`${m.name??""}: ${m.value??""}`))):null,v=({payload:u})=>r__default.default.createElement("div",{className:"mt-4 flex flex-wrap justify-center gap-4"},u?.map((t,i)=>r__default.default.createElement("div",{key:i,className:"flex items-center gap-2"},r__default.default.createElement("div",{className:"h-3 w-3 rounded",style:{backgroundColor:t.color},"aria-hidden":"true"}),r__default.default.createElement("span",{className:"text-sm text-popover-foreground"},t.value)))),w=r__default.default.forwardRef(({type:u,data:t,dataKeys:i,xAxisKey:m="name",colors:n=s,showGrid:b=true,showLegend:h=true,showTooltip:d=true,title:C,description:N,className:z,variant:A,size:p,height:K,ariaLabel:T,ariaLabelledBy:V,strokeWidth:D=2,fillOpacity:B=.6,...I},j)=>{let L=K||(p==="sm"?192:p==="lg"?384:p==="xl"?500:256),H=()=>{if(typeof window>"u")return r__default.default.createElement("div",{className:"flex items-center justify-center h-full text-muted-foreground"},r__default.default.createElement("p",null,"Chart loading..."));let y={data:t,margin:{top:5,right:5,left:5,bottom:5}};switch(u){case "line":return r__default.default.createElement(recharts.LineChart,{...y},b&&r__default.default.createElement(recharts.CartesianGrid,{strokeDasharray:"3 3",stroke:"hsl(var(--nostromo-color-neutral-300))"}),r__default.default.createElement(recharts.XAxis,{dataKey:m,stroke:"hsl(var(--nostromo-color-neutral-600))",tick:{fill:"hsl(var(--nostromo-color-neutral-700))",fontSize:12}}),r__default.default.createElement(recharts.YAxis,{stroke:"hsl(var(--nostromo-color-neutral-600))",tick:{fill:"hsl(var(--nostromo-color-neutral-700))",fontSize:12}}),d&&r__default.default.createElement(recharts.Tooltip,{content:r__default.default.createElement(g,null)}),i.map((e,a)=>{let o=a%n.length,l=n[o]??s[o%s.length];return r__default.default.createElement(recharts.Line,{key:e,type:"monotone",dataKey:e,stroke:l,strokeWidth:D,dot:{r:4,fill:l},activeDot:{r:6}})}),h&&r__default.default.createElement(recharts.Legend,{content:r__default.default.createElement(v,null)}));case "bar":return r__default.default.createElement(recharts.BarChart,{...y},b&&r__default.default.createElement(recharts.CartesianGrid,{strokeDasharray:"3 3",stroke:"hsl(var(--nostromo-color-neutral-300))"}),r__default.default.createElement(recharts.XAxis,{dataKey:m,stroke:"hsl(var(--nostromo-color-neutral-600))",tick:{fill:"hsl(var(--nostromo-color-neutral-700))",fontSize:12}}),r__default.default.createElement(recharts.YAxis,{stroke:"hsl(var(--nostromo-color-neutral-600))",tick:{fill:"hsl(var(--nostromo-color-neutral-700))",fontSize:12}}),d&&r__default.default.createElement(recharts.Tooltip,{content:r__default.default.createElement(g,null)}),i.map((e,a)=>{let o=a%n.length,l=n[o]??s[o%s.length];return r__default.default.createElement(recharts.Bar,{key:e,dataKey:e,fill:l})}),h&&r__default.default.createElement(recharts.Legend,{content:r__default.default.createElement(v,null)}));case "area":return r__default.default.createElement(recharts.AreaChart,{...y},b&&r__default.default.createElement(recharts.CartesianGrid,{strokeDasharray:"3 3",stroke:"hsl(var(--nostromo-color-neutral-300))"}),r__default.default.createElement(recharts.XAxis,{dataKey:m,stroke:"hsl(var(--nostromo-color-neutral-600))",tick:{fill:"hsl(var(--nostromo-color-neutral-700))",fontSize:12}}),r__default.default.createElement(recharts.YAxis,{stroke:"hsl(var(--nostromo-color-neutral-600))",tick:{fill:"hsl(var(--nostromo-color-neutral-700))",fontSize:12}}),d&&r__default.default.createElement(recharts.Tooltip,{content:r__default.default.createElement(g,null)}),i.map((e,a)=>{let o=a%n.length,l=n[o]??s[o%s.length];return r__default.default.createElement(recharts.Area,{key:e,type:"monotone",dataKey:e,stroke:l,fill:l,fillOpacity:B,strokeWidth:D})}),h&&r__default.default.createElement(recharts.Legend,{content:r__default.default.createElement(v,null)}));case "pie":{let e=i[0]||"value";return r__default.default.createElement(recharts.PieChart,null,r__default.default.createElement(recharts.Pie,{data:t,dataKey:e,nameKey:m,cx:"50%",cy:"50%",outerRadius:L/4,label:a=>`${a.name??""}: ${((a.percent??0)*100).toFixed(0)}%`},t.map((a,o)=>{let l=n[o%n.length]||s[o%s.length];return r__default.default.createElement(recharts.Cell,{key:`cell-${o}`,fill:l??"#8884d8"})})),d&&r__default.default.createElement(recharts.Tooltip,{content:r__default.default.createElement(g,null)}),h&&r__default.default.createElement(recharts.Legend,{content:r__default.default.createElement(v,null)}))}default:return null}};return r__default.default.createElement("div",{ref:j,className:chunkITRGJNWL_cjs.a(U({variant:A,size:p}),z),role:"img","aria-label":T||C||`${u} chart`,"aria-labelledby":V,...I},C&&r__default.default.createElement("h3",{className:"mb-2 text-lg font-semibold text-foreground"},C),N&&r__default.default.createElement("p",{className:"mb-4 text-sm text-muted-foreground"},N),r__default.default.createElement(recharts.ResponsiveContainer,{width:"100%",height:L},H()))});w.displayName="Chart";var tr=chunk7SPPGTBT_cjs.a(w);exports.a=U;exports.b=tr;//# sourceMappingURL=chunk-G5ZSOVJY.cjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-G5ZSOVJY.cjs.map
|