erp-pro-ui 0.2.5 → 0.2.7
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/accordion.cjs +1 -1
- package/dist/accordion.mjs +1 -1
- package/dist/alert.cjs +1 -1
- package/dist/alert.mjs +1 -1
- package/dist/animated-content.cjs +1 -1
- package/dist/animated-content.mjs +1 -1
- package/dist/ascii-text.cjs +1 -1
- package/dist/ascii-text.mjs +1 -1
- package/dist/background-gradient-animation.cjs +1 -1
- package/dist/background-gradient-animation.mjs +1 -1
- package/dist/button-hover-border-gradient.cjs +1 -1
- package/dist/button-hover-border-gradient.mjs +1 -1
- package/dist/button.cjs +1 -1
- package/dist/button.mjs +1 -1
- package/dist/calendar.cjs +1 -1
- package/dist/calendar.mjs +1 -1
- package/dist/card.cjs +1 -1
- package/dist/card.mjs +1 -1
- package/dist/carousel.cjs +1 -1
- package/dist/carousel.mjs +1 -1
- package/dist/catalog.cjs +21 -0
- package/dist/catalog.cjs.map +1 -1
- package/dist/catalog.d.ts +37 -1
- package/dist/catalog.d.ts.map +1 -1
- package/dist/catalog.mjs +21 -0
- package/dist/catalog.mjs.map +1 -1
- package/dist/charts.cjs +1 -1
- package/dist/charts.mjs +1 -1
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.mjs +1 -1
- package/dist/chip.cjs +1 -1
- package/dist/chip.mjs +1 -1
- package/dist/chroma-grid.cjs +1 -1
- package/dist/chroma-grid.mjs +1 -1
- package/dist/chunks/{drawer-DaoAXL-w.mjs → Drawer-BhTTQV8Q.mjs} +2 -2
- package/dist/chunks/{drawer-DaoAXL-w.mjs.map → Drawer-BhTTQV8Q.mjs.map} +1 -1
- package/dist/chunks/{drawer-D07dGN6R.cjs → Drawer-C_DLqrus.cjs} +2 -3
- package/dist/chunks/{drawer-D07dGN6R.cjs.map → Drawer-C_DLqrus.cjs.map} +1 -1
- package/dist/chunks/{DropdownMenu-BtTOri-A.mjs → DropdownMenu-B18BI5l7.mjs} +2 -2
- package/dist/chunks/{DropdownMenu-BtTOri-A.mjs.map → DropdownMenu-B18BI5l7.mjs.map} +1 -1
- package/dist/chunks/{DropdownMenu-BDrNYO-D.cjs → DropdownMenu-CEmlmX7P.cjs} +2 -3
- package/dist/chunks/{DropdownMenu-BDrNYO-D.cjs.map → DropdownMenu-CEmlmX7P.cjs.map} +1 -1
- package/dist/chunks/{HoverBorderGradient-NbdXeLgC.mjs → HoverBorderGradient-CGKcviEd.mjs} +2 -2
- package/dist/chunks/{HoverBorderGradient-NbdXeLgC.mjs.map → HoverBorderGradient-CGKcviEd.mjs.map} +1 -1
- package/dist/chunks/{HoverBorderGradient-9pfvBoHR.cjs → HoverBorderGradient-DTKasFZO.cjs} +2 -3
- package/dist/chunks/{HoverBorderGradient-9pfvBoHR.cjs.map → HoverBorderGradient-DTKasFZO.cjs.map} +1 -1
- package/dist/chunks/{SunToMoonButton-BkEfkElJ.mjs → SunToMoonButton-DIMK53fW.mjs} +2 -2
- package/dist/chunks/{SunToMoonButton-BkEfkElJ.mjs.map → SunToMoonButton-DIMK53fW.mjs.map} +1 -1
- package/dist/chunks/{SunToMoonButton-jS4BJD9q.cjs → SunToMoonButton-DUuIqw22.cjs} +2 -3
- package/dist/chunks/{SunToMoonButton-jS4BJD9q.cjs.map → SunToMoonButton-DUuIqw22.cjs.map} +1 -1
- package/dist/chunks/{Tooltip-DD30yj3A.cjs → Tooltip-1yPGRJ2Q.cjs} +10 -8
- package/dist/chunks/Tooltip-1yPGRJ2Q.cjs.map +1 -0
- package/dist/chunks/{Tooltip-DK3B879v.mjs → Tooltip-CEj-I4JO.mjs} +10 -7
- package/dist/chunks/Tooltip-CEj-I4JO.mjs.map +1 -0
- package/dist/chunks/{accordion-6zxJUYXr.mjs → accordion-Cf-Q3rec.mjs} +2 -2
- package/dist/chunks/{accordion-6zxJUYXr.mjs.map → accordion-Cf-Q3rec.mjs.map} +1 -1
- package/dist/chunks/{accordion-CmB6EidC.cjs → accordion-X4PNqWkW.cjs} +2 -3
- package/dist/chunks/{accordion-CmB6EidC.cjs.map → accordion-X4PNqWkW.cjs.map} +1 -1
- package/dist/chunks/{alert-C5KEeQqh.cjs → alert-BEMULPIi.cjs} +2 -3
- package/dist/chunks/{alert-C5KEeQqh.cjs.map → alert-BEMULPIi.cjs.map} +1 -1
- package/dist/chunks/{alert-XVmYJgds.mjs → alert-GImBqaCY.mjs} +2 -2
- package/dist/chunks/{alert-XVmYJgds.mjs.map → alert-GImBqaCY.mjs.map} +1 -1
- package/dist/chunks/{animated-content-bK6xp-vc.mjs → animated-content-Bp-Yt0_7.mjs} +1 -1
- package/dist/chunks/{animated-content-bK6xp-vc.mjs.map → animated-content-Bp-Yt0_7.mjs.map} +1 -1
- package/dist/chunks/{animated-content-CLsFnjgr.cjs → animated-content-tSHXDZq2.cjs} +1 -2
- package/dist/chunks/{animated-content-CLsFnjgr.cjs.map → animated-content-tSHXDZq2.cjs.map} +1 -1
- package/dist/chunks/{ascii-text-BFnpVur6.cjs → ascii-text-Ctua6ucZ.cjs} +2 -2
- package/dist/chunks/{ascii-text-BFnpVur6.cjs.map → ascii-text-Ctua6ucZ.cjs.map} +1 -1
- package/dist/chunks/{ascii-text-Bdy4C5rU.mjs → ascii-text-QyP7JU7g.mjs} +1 -1
- package/dist/chunks/{ascii-text-Bdy4C5rU.mjs.map → ascii-text-QyP7JU7g.mjs.map} +1 -1
- package/dist/chunks/{background-gradient-animation-BR9wx6Z8.mjs → background-gradient-animation-CZUD_aq2.mjs} +2 -2
- package/dist/chunks/{background-gradient-animation-BR9wx6Z8.mjs.map → background-gradient-animation-CZUD_aq2.mjs.map} +1 -1
- package/dist/chunks/{background-gradient-animation-CiNdmA61.cjs → background-gradient-animation-PvM0i88k.cjs} +2 -3
- package/dist/chunks/{background-gradient-animation-CiNdmA61.cjs.map → background-gradient-animation-PvM0i88k.cjs.map} +1 -1
- package/dist/chunks/{button-A6UTvrOu.mjs → button-CAU9ej3h.mjs} +3 -2
- package/dist/chunks/button-CAU9ej3h.mjs.map +1 -0
- package/dist/chunks/{button-C4MXPxsC.cjs → button-D2ZYmVda.cjs} +3 -3
- package/dist/chunks/button-D2ZYmVda.cjs.map +1 -0
- package/dist/chunks/{button-hover-border-gradient-ssmwU5-U.cjs → button-hover-border-gradient-D12Zjmd3.cjs} +2 -3
- package/dist/chunks/{button-hover-border-gradient-ssmwU5-U.cjs.map → button-hover-border-gradient-D12Zjmd3.cjs.map} +1 -1
- package/dist/chunks/{button-hover-border-gradient-DnFvjNNw.mjs → button-hover-border-gradient-VNEg4V0o.mjs} +2 -2
- package/dist/chunks/{button-hover-border-gradient-DnFvjNNw.mjs.map → button-hover-border-gradient-VNEg4V0o.mjs.map} +1 -1
- package/dist/chunks/calendar-BlUhssD4.mjs +203 -0
- package/dist/chunks/calendar-BlUhssD4.mjs.map +1 -0
- package/dist/chunks/calendar-CdKKhdx5.cjs +208 -0
- package/dist/chunks/calendar-CdKKhdx5.cjs.map +1 -0
- package/dist/chunks/{card-RrT68nvu.cjs → card-C_Qr7E6E.cjs} +1 -2
- package/dist/chunks/{card-RrT68nvu.cjs.map → card-C_Qr7E6E.cjs.map} +1 -1
- package/dist/chunks/{card-BId1_zHw.mjs → card-DYHDNCPK.mjs} +1 -1
- package/dist/chunks/{card-BId1_zHw.mjs.map → card-DYHDNCPK.mjs.map} +1 -1
- package/dist/chunks/{carousel-Cv0m1Pp5.cjs → carousel-DtOJEbEU.cjs} +4 -5
- package/dist/chunks/{carousel-Cv0m1Pp5.cjs.map → carousel-DtOJEbEU.cjs.map} +1 -1
- package/dist/chunks/{carousel-Dd4rp-jr.mjs → carousel-eeqWZZHE.mjs} +4 -4
- package/dist/chunks/{carousel-Dd4rp-jr.mjs.map → carousel-eeqWZZHE.mjs.map} +1 -1
- package/dist/chunks/chartStyles-2mTluDoo.cjs +108 -0
- package/dist/chunks/chartStyles-2mTluDoo.cjs.map +1 -0
- package/dist/chunks/chartStyles-DrHVYS5N.mjs +55 -0
- package/dist/chunks/chartStyles-DrHVYS5N.mjs.map +1 -0
- package/dist/chunks/{charts-BmIV-mJy.cjs → charts-DMu4zp8j.cjs} +43 -94
- package/dist/chunks/charts-DMu4zp8j.cjs.map +1 -0
- package/dist/chunks/{charts-DkVu0rFc.mjs → charts-DlskmT1J.mjs} +3 -54
- package/dist/chunks/charts-DlskmT1J.mjs.map +1 -0
- package/dist/chunks/{checkbox-3aB7XC9_.mjs → checkbox-D7EJQbqC.mjs} +1 -1
- package/dist/chunks/{checkbox-3aB7XC9_.mjs.map → checkbox-D7EJQbqC.mjs.map} +1 -1
- package/dist/chunks/{checkbox-D8ivRZ1x.cjs → checkbox-Lw2UqyNE.cjs} +1 -2
- package/dist/chunks/{checkbox-D8ivRZ1x.cjs.map → checkbox-Lw2UqyNE.cjs.map} +1 -1
- package/dist/chunks/{chip-B0YzBwkz.cjs → chip-D5i9VT9O.cjs} +4 -5
- package/dist/chunks/{chip-B0YzBwkz.cjs.map → chip-D5i9VT9O.cjs.map} +1 -1
- package/dist/chunks/{chip-CqcdcSs2.mjs → chip-DBlSQcqR.mjs} +4 -4
- package/dist/chunks/{chip-CqcdcSs2.mjs.map → chip-DBlSQcqR.mjs.map} +1 -1
- package/dist/chunks/{chroma-grid-DcZ9f4Ui.cjs → chroma-grid-CTDtdFUm.cjs} +2 -3
- package/dist/chunks/{chroma-grid-DcZ9f4Ui.cjs.map → chroma-grid-CTDtdFUm.cjs.map} +1 -1
- package/dist/chunks/{chroma-grid-opB2DBtS.mjs → chroma-grid-DuLTfGVP.mjs} +2 -2
- package/dist/chunks/{chroma-grid-opB2DBtS.mjs.map → chroma-grid-DuLTfGVP.mjs.map} +1 -1
- package/dist/chunks/{color-palette-pLh6En3n.cjs → color-palette-DQQ9UV0N.cjs} +2 -2
- package/dist/chunks/{color-palette-pLh6En3n.cjs.map → color-palette-DQQ9UV0N.cjs.map} +1 -1
- package/dist/chunks/{color-palette-C3lesasJ.mjs → color-palette-G1HUXWJP.mjs} +1 -1
- package/dist/chunks/{color-palette-C3lesasJ.mjs.map → color-palette-G1HUXWJP.mjs.map} +1 -1
- package/dist/chunks/{combobox-CtNrGmuR.cjs → combobox-CkNzH1YV.cjs} +6 -6
- package/dist/chunks/{combobox-CtNrGmuR.cjs.map → combobox-CkNzH1YV.cjs.map} +1 -1
- package/dist/chunks/{combobox-B6yk5U82.mjs → combobox-xNmFFHd6.mjs} +5 -5
- package/dist/chunks/{combobox-B6yk5U82.mjs.map → combobox-xNmFFHd6.mjs.map} +1 -1
- package/dist/chunks/dashboard-cards-Bww66_5K.cjs +6570 -0
- package/dist/chunks/dashboard-cards-Bww66_5K.cjs.map +1 -0
- package/dist/chunks/dashboard-cards-lnifLEyj.mjs +6385 -0
- package/dist/chunks/dashboard-cards-lnifLEyj.mjs.map +1 -0
- package/dist/chunks/{data-table-fAEuevPn.cjs → data-table-BCVbzkLo.cjs} +48 -37
- package/dist/chunks/data-table-BCVbzkLo.cjs.map +1 -0
- package/dist/chunks/{data-table-Dtf6lKpp.mjs → data-table-C25KHEn4.mjs} +47 -36
- package/dist/chunks/data-table-C25KHEn4.mjs.map +1 -0
- package/dist/chunks/date-picker--cqsgsIV.mjs +587 -0
- package/dist/chunks/date-picker--cqsgsIV.mjs.map +1 -0
- package/dist/chunks/date-picker-BJQdFyqr.cjs +592 -0
- package/dist/chunks/date-picker-BJQdFyqr.cjs.map +1 -0
- package/dist/chunks/{dialog-DSyq6MS3.mjs → dialog-BHIeG3Sg.mjs} +3 -3
- package/dist/chunks/{dialog-DSyq6MS3.mjs.map → dialog-BHIeG3Sg.mjs.map} +1 -1
- package/dist/chunks/{dialog-J2ZTSTpL.cjs → dialog-CLKU0cXX.cjs} +3 -4
- package/dist/chunks/{dialog-J2ZTSTpL.cjs.map → dialog-CLKU0cXX.cjs.map} +1 -1
- package/dist/chunks/draggable-grid-2L_eHKfp.cjs +245 -0
- package/dist/chunks/draggable-grid-2L_eHKfp.cjs.map +1 -0
- package/dist/chunks/draggable-grid-IuCMSOsE.mjs +240 -0
- package/dist/chunks/draggable-grid-IuCMSOsE.mjs.map +1 -0
- package/dist/chunks/event-calendar-CO2doGJW.mjs +1191 -0
- package/dist/chunks/event-calendar-CO2doGJW.mjs.map +1 -0
- package/dist/chunks/event-calendar-CvficOuV.cjs +1208 -0
- package/dist/chunks/event-calendar-CvficOuV.cjs.map +1 -0
- package/dist/chunks/{form-X6Vyaavl.cjs → form-DARN6jtX.cjs} +1 -2
- package/dist/chunks/{form-X6Vyaavl.cjs.map → form-DARN6jtX.cjs.map} +1 -1
- package/dist/chunks/{form-CtZ6U-_B.mjs → form-DNuFklNR.mjs} +1 -1
- package/dist/chunks/{form-CtZ6U-_B.mjs.map → form-DNuFklNR.mjs.map} +1 -1
- package/dist/chunks/{gradual-blur-C6NOnjTw.cjs → gradual-blur-BBLbpXD4.cjs} +2 -3
- package/dist/chunks/{gradual-blur-C6NOnjTw.cjs.map → gradual-blur-BBLbpXD4.cjs.map} +1 -1
- package/dist/chunks/{gradual-blur-DXfxpCdB.mjs → gradual-blur-BPx2MSWI.mjs} +2 -2
- package/dist/chunks/{gradual-blur-DXfxpCdB.mjs.map → gradual-blur-BPx2MSWI.mjs.map} +1 -1
- package/dist/chunks/{hover-card-C88rU-nW.mjs → hover-card-BkVHGXz6.mjs} +1 -1
- package/dist/chunks/{hover-card-C88rU-nW.mjs.map → hover-card-BkVHGXz6.mjs.map} +1 -1
- package/dist/chunks/{hover-card--rplmsA_.cjs → hover-card-DwZFtu8w.cjs} +1 -2
- package/dist/chunks/{hover-card--rplmsA_.cjs.map → hover-card-DwZFtu8w.cjs.map} +1 -1
- package/dist/chunks/{icons-CRanVZB1.cjs → icons-Ci8yEvvF.cjs} +1 -2
- package/dist/chunks/{icons-CRanVZB1.cjs.map → icons-Ci8yEvvF.cjs.map} +1 -1
- package/dist/chunks/{icons-bx3nrxNv.mjs → icons-CkVHNbbN.mjs} +1 -1
- package/dist/chunks/{icons-bx3nrxNv.mjs.map → icons-CkVHNbbN.mjs.map} +1 -1
- package/dist/chunks/{input-Bqo9Q5zF.mjs → input-B-XSdnfh.mjs} +4 -4
- package/dist/chunks/{input-Bqo9Q5zF.mjs.map → input-B-XSdnfh.mjs.map} +1 -1
- package/dist/chunks/{input-DkCPyWXi.cjs → input-EH7x0pQY.cjs} +4 -5
- package/dist/chunks/{input-DkCPyWXi.cjs.map → input-EH7x0pQY.cjs.map} +1 -1
- package/dist/chunks/{label-Drxg0cG2.mjs → label-CcsncrKQ.mjs} +1 -1
- package/dist/chunks/{label-Drxg0cG2.mjs.map → label-CcsncrKQ.mjs.map} +1 -1
- package/dist/chunks/{label-BKzqfAAq.cjs → label-Du-5H7wd.cjs} +1 -2
- package/dist/chunks/{label-BKzqfAAq.cjs.map → label-Du-5H7wd.cjs.map} +1 -1
- package/dist/chunks/{loading-Dtosnb4A.mjs → loading-2Lh_355V.mjs} +2 -2
- package/dist/chunks/{loading-Dtosnb4A.mjs.map → loading-2Lh_355V.mjs.map} +1 -1
- package/dist/chunks/{loading-BiM4mKh6.cjs → loading-DeGHTDO2.cjs} +2 -3
- package/dist/chunks/{loading-BiM4mKh6.cjs.map → loading-DeGHTDO2.cjs.map} +1 -1
- package/dist/chunks/{multi-select-combobox-Do23ZfOQ.mjs → multi-select-combobox-BOdKmPj2.mjs} +4 -4
- package/dist/chunks/{multi-select-combobox-Do23ZfOQ.mjs.map → multi-select-combobox-BOdKmPj2.mjs.map} +1 -1
- package/dist/chunks/{multi-select-combobox-C0DoDzxQ.cjs → multi-select-combobox-PPYRcaPg.cjs} +5 -5
- package/dist/chunks/{multi-select-combobox-C0DoDzxQ.cjs.map → multi-select-combobox-PPYRcaPg.cjs.map} +1 -1
- package/dist/chunks/{otp-input-JOysxKfD.mjs → otp-input--_itTXaL.mjs} +1 -1
- package/dist/chunks/{otp-input-JOysxKfD.mjs.map → otp-input--_itTXaL.mjs.map} +1 -1
- package/dist/chunks/{otp-input-CkhV-sGl.cjs → otp-input-Dgw_47Z7.cjs} +1 -2
- package/dist/chunks/{otp-input-CkhV-sGl.cjs.map → otp-input-Dgw_47Z7.cjs.map} +1 -1
- package/dist/chunks/{overlay-DNnZywyR.cjs → overlay-15EzdrIu.cjs} +1 -2
- package/dist/chunks/{overlay-DNnZywyR.cjs.map → overlay-15EzdrIu.cjs.map} +1 -1
- package/dist/chunks/{overlay-BzkUmjQ-.mjs → overlay-BMbhF-EC.mjs} +1 -1
- package/dist/chunks/{overlay-BzkUmjQ-.mjs.map → overlay-BMbhF-EC.mjs.map} +1 -1
- package/dist/chunks/{password-strength-meter-DCi_BP7e.cjs → password-strength-meter-Be1c-dnK.cjs} +2 -3
- package/dist/chunks/{password-strength-meter-DCi_BP7e.cjs.map → password-strength-meter-Be1c-dnK.cjs.map} +1 -1
- package/dist/chunks/{password-strength-meter-BsvqQBAg.mjs → password-strength-meter-Q1Qr-4tz.mjs} +2 -2
- package/dist/chunks/{password-strength-meter-BsvqQBAg.mjs.map → password-strength-meter-Q1Qr-4tz.mjs.map} +1 -1
- package/dist/chunks/{progress-bar-CYaBO_lS.cjs → progress-bar-BsnX079N.cjs} +3 -3
- package/dist/chunks/{progress-bar-CYaBO_lS.cjs.map → progress-bar-BsnX079N.cjs.map} +1 -1
- package/dist/chunks/{progress-bar-DQ5ZKk2Y.mjs → progress-bar-l5WpbpZf.mjs} +2 -2
- package/dist/chunks/{progress-bar-DQ5ZKk2Y.mjs.map → progress-bar-l5WpbpZf.mjs.map} +1 -1
- package/dist/chunks/{radio-CuiM_gDv.mjs → radio-B94_TGtz.mjs} +2 -2
- package/dist/chunks/{radio-CuiM_gDv.mjs.map → radio-B94_TGtz.mjs.map} +1 -1
- package/dist/chunks/{radio-zx9xEW_C.cjs → radio-W_NiS_dO.cjs} +2 -3
- package/dist/chunks/{radio-zx9xEW_C.cjs.map → radio-W_NiS_dO.cjs.map} +1 -1
- package/dist/chunks/{select-bZ9WqLOc.cjs → select-C5lkcrSB.cjs} +5 -6
- package/dist/chunks/{select-bZ9WqLOc.cjs.map → select-C5lkcrSB.cjs.map} +1 -1
- package/dist/chunks/{select-CUaSNR09.mjs → select-DnSSxddm.mjs} +5 -5
- package/dist/chunks/{select-CUaSNR09.mjs.map → select-DnSSxddm.mjs.map} +1 -1
- package/dist/chunks/{sidebar-Dhf_Arae.mjs → sidebar-C3Sx87wD.mjs} +10 -11
- package/dist/chunks/{sidebar-Dhf_Arae.mjs.map → sidebar-C3Sx87wD.mjs.map} +1 -1
- package/dist/chunks/{sidebar-3i4mGE6T.cjs → sidebar-DDRWkz5k.cjs} +10 -12
- package/dist/chunks/{sidebar-3i4mGE6T.cjs.map → sidebar-DDRWkz5k.cjs.map} +1 -1
- package/dist/chunks/{skeleton-DCBGLNAZ.cjs → skeleton-B2u9c1xJ.cjs} +2 -3
- package/dist/chunks/{skeleton-DCBGLNAZ.cjs.map → skeleton-B2u9c1xJ.cjs.map} +1 -1
- package/dist/chunks/{skeleton-nH1eAN96.mjs → skeleton-DVAlrOq2.mjs} +2 -2
- package/dist/chunks/{skeleton-nH1eAN96.mjs.map → skeleton-DVAlrOq2.mjs.map} +1 -1
- package/dist/chunks/{spinners-g6_Up5Rb.mjs → spinners-BQtIp2ov.mjs} +2 -2
- package/dist/chunks/{spinners-g6_Up5Rb.mjs.map → spinners-BQtIp2ov.mjs.map} +1 -1
- package/dist/chunks/{spinners-C9acUulz.cjs → spinners-BiebALzS.cjs} +2 -3
- package/dist/chunks/{spinners-C9acUulz.cjs.map → spinners-BiebALzS.cjs.map} +1 -1
- package/dist/chunks/{splash-cursor-BqG7ClsJ.cjs → splash-cursor-8b7ORB2k.cjs} +2 -3
- package/dist/chunks/{splash-cursor-BqG7ClsJ.cjs.map → splash-cursor-8b7ORB2k.cjs.map} +1 -1
- package/dist/chunks/{splash-cursor-N4FdnkOa.mjs → splash-cursor-CeZffMed.mjs} +2 -2
- package/dist/chunks/{splash-cursor-N4FdnkOa.mjs.map → splash-cursor-CeZffMed.mjs.map} +1 -1
- package/dist/chunks/{spotlight-card-BmsqC7wm.cjs → spotlight-card-BQjp7hO1.cjs} +2 -3
- package/dist/chunks/{spotlight-card-BmsqC7wm.cjs.map → spotlight-card-BQjp7hO1.cjs.map} +1 -1
- package/dist/chunks/{spotlight-card-D9Z3nTmb.mjs → spotlight-card-DiPtBCAK.mjs} +2 -2
- package/dist/chunks/{spotlight-card-D9Z3nTmb.mjs.map → spotlight-card-DiPtBCAK.mjs.map} +1 -1
- package/dist/chunks/{stepper-DepvEGfr.cjs → stepper-BuhQfQTH.cjs} +5 -6
- package/dist/chunks/{stepper-DepvEGfr.cjs.map → stepper-BuhQfQTH.cjs.map} +1 -1
- package/dist/chunks/{stepper-Jv5OS1nY.mjs → stepper-CVNcexxq.mjs} +5 -5
- package/dist/chunks/{stepper-Jv5OS1nY.mjs.map → stepper-CVNcexxq.mjs.map} +1 -1
- package/dist/chunks/{sun-to-moon-button-PwgTPsTW.cjs → sun-to-moon-button-BzYGFhrg.cjs} +4 -5
- package/dist/chunks/{sun-to-moon-button-PwgTPsTW.cjs.map → sun-to-moon-button-BzYGFhrg.cjs.map} +1 -1
- package/dist/chunks/{sun-to-moon-button-BJtBEaa3.mjs → sun-to-moon-button-CRXBMFZb.mjs} +4 -4
- package/dist/chunks/{sun-to-moon-button-BJtBEaa3.mjs.map → sun-to-moon-button-CRXBMFZb.mjs.map} +1 -1
- package/dist/chunks/{switch-X3l8xnle.cjs → switch-CEoT3MgX.cjs} +1 -2
- package/dist/chunks/{switch-X3l8xnle.cjs.map → switch-CEoT3MgX.cjs.map} +1 -1
- package/dist/chunks/{switch-iPsN1NS2.mjs → switch-DUnNe4xP.mjs} +1 -1
- package/dist/chunks/{switch-iPsN1NS2.mjs.map → switch-DUnNe4xP.mjs.map} +1 -1
- package/dist/chunks/{textarea-CGRl2hrM.cjs → textarea-Bschfj24.cjs} +2 -3
- package/dist/chunks/{textarea-CGRl2hrM.cjs.map → textarea-Bschfj24.cjs.map} +1 -1
- package/dist/chunks/{textarea-Bdo-Trvi.mjs → textarea-CfeKo5HA.mjs} +2 -2
- package/dist/chunks/{textarea-Bdo-Trvi.mjs.map → textarea-CfeKo5HA.mjs.map} +1 -1
- package/dist/chunks/{theme-koPrLKQv.mjs → theme-BXML6jHE.mjs} +1 -1
- package/dist/chunks/{theme-koPrLKQv.mjs.map → theme-BXML6jHE.mjs.map} +1 -1
- package/dist/chunks/{theme-D6B-FaoE.cjs → theme-BzTaXYZ8.cjs} +1 -2
- package/dist/chunks/{theme-D6B-FaoE.cjs.map → theme-BzTaXYZ8.cjs.map} +1 -1
- package/dist/chunks/{toast-BcBidy5n.mjs → toast-D1W0BvoH.mjs} +2 -2
- package/dist/chunks/{toast-BcBidy5n.mjs.map → toast-D1W0BvoH.mjs.map} +1 -1
- package/dist/chunks/{toast-DiFgv3IL.cjs → toast-DL8svc6q.cjs} +2 -3
- package/dist/chunks/{toast-DiFgv3IL.cjs.map → toast-DL8svc6q.cjs.map} +1 -1
- package/dist/chunks/{truncated-text-BIXqNfOL.cjs → truncated-text-D0t4atw5.cjs} +3 -3
- package/dist/chunks/{truncated-text-BIXqNfOL.cjs.map → truncated-text-D0t4atw5.cjs.map} +1 -1
- package/dist/chunks/{truncated-text-C9t9o9IA.mjs → truncated-text-DIkg-8Vo.mjs} +2 -2
- package/dist/chunks/{truncated-text-C9t9o9IA.mjs.map → truncated-text-DIkg-8Vo.mjs.map} +1 -1
- package/dist/chunks/{typography-LwwY_MOy.cjs → typography-C5fYwhp2.cjs} +3 -3
- package/dist/chunks/{typography-LwwY_MOy.cjs.map → typography-C5fYwhp2.cjs.map} +1 -1
- package/dist/chunks/{typography-Ct-jDJP3.mjs → typography-Czi7t5y4.mjs} +2 -2
- package/dist/chunks/{typography-Ct-jDJP3.mjs.map → typography-Czi7t5y4.mjs.map} +1 -1
- package/dist/chunks/{utils-LRbEQHYs.cjs → utils-CoA0q63n.cjs} +84 -4
- package/dist/chunks/utils-CoA0q63n.cjs.map +1 -0
- package/dist/chunks/{utils-7S0u48mU.mjs → utils-Dc7j29ec.mjs} +84 -4
- package/dist/chunks/utils-Dc7j29ec.mjs.map +1 -0
- package/dist/color-palette.cjs +1 -1
- package/dist/color-palette.mjs +1 -1
- package/dist/combobox.cjs +1 -1
- package/dist/combobox.mjs +1 -1
- package/dist/components/data-display/charts/chartPalette.d.ts +1 -1
- package/dist/components/data-display/dashboard-cards/AIFeatureAdoptionCard.d.ts +26 -0
- package/dist/components/data-display/dashboard-cards/AIFeatureAdoptionCard.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/AIInsightsCard.d.ts +30 -0
- package/dist/components/data-display/dashboard-cards/AIInsightsCard.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/AcquisitionChannelCard.d.ts +24 -0
- package/dist/components/data-display/dashboard-cards/AcquisitionChannelCard.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/BarBreakdownCard.d.ts +49 -0
- package/dist/components/data-display/dashboard-cards/BarBreakdownCard.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/CustomerLifecycleCard.d.ts +24 -0
- package/dist/components/data-display/dashboard-cards/CustomerLifecycleCard.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/DeviceSalesCard.d.ts +25 -0
- package/dist/components/data-display/dashboard-cards/DeviceSalesCard.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/EarningReportsTabsCard.d.ts +143 -0
- package/dist/components/data-display/dashboard-cards/EarningReportsTabsCard.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/EarningsCard.d.ts +43 -0
- package/dist/components/data-display/dashboard-cards/EarningsCard.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/ExpensesCard.d.ts +26 -0
- package/dist/components/data-display/dashboard-cards/ExpensesCard.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/FinancialPLCard.d.ts +78 -0
- package/dist/components/data-display/dashboard-cards/FinancialPLCard.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/IncomeExpenseCard.d.ts +30 -0
- package/dist/components/data-display/dashboard-cards/IncomeExpenseCard.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/InventoryCards.d.ts +44 -0
- package/dist/components/data-display/dashboard-cards/InventoryCards.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/PaymentSummaryCard.d.ts +45 -0
- package/dist/components/data-display/dashboard-cards/PaymentSummaryCard.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/RevenueGrowthCard.d.ts +26 -0
- package/dist/components/data-display/dashboard-cards/RevenueGrowthCard.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/SalesHeatmapCard.d.ts +36 -0
- package/dist/components/data-display/dashboard-cards/SalesHeatmapCard.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/SalesOverviewCard.d.ts +33 -0
- package/dist/components/data-display/dashboard-cards/SalesOverviewCard.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/SeatUtilizationCard.d.ts +22 -0
- package/dist/components/data-display/dashboard-cards/SeatUtilizationCard.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/ShipmentStatisticsCard.d.ts +33 -0
- package/dist/components/data-display/dashboard-cards/ShipmentStatisticsCard.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/StockAvailabilityCard.d.ts +24 -0
- package/dist/components/data-display/dashboard-cards/StockAvailabilityCard.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/SubscriptionHealthCard.d.ts +23 -0
- package/dist/components/data-display/dashboard-cards/SubscriptionHealthCard.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/SupportTrackerCard.d.ts +25 -0
- package/dist/components/data-display/dashboard-cards/SupportTrackerCard.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/ToolUsageOverviewCard.d.ts +22 -0
- package/dist/components/data-display/dashboard-cards/ToolUsageOverviewCard.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/TopPlansCard.d.ts +23 -0
- package/dist/components/data-display/dashboard-cards/TopPlansCard.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/TopSellingItemsCard.d.ts +42 -0
- package/dist/components/data-display/dashboard-cards/TopSellingItemsCard.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/TopToolsCard.d.ts +22 -0
- package/dist/components/data-display/dashboard-cards/TopToolsCard.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/TopicsCard.d.ts +18 -0
- package/dist/components/data-display/dashboard-cards/TopicsCard.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/VehicleConditionCard.d.ts +20 -0
- package/dist/components/data-display/dashboard-cards/VehicleConditionCard.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/VehiclesOverviewCard.d.ts +21 -0
- package/dist/components/data-display/dashboard-cards/VehiclesOverviewCard.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/_PLCardHeader.d.ts +63 -0
- package/dist/components/data-display/dashboard-cards/_PLCardHeader.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/_PLCharts.d.ts +33 -0
- package/dist/components/data-display/dashboard-cards/_PLCharts.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/_PLKpiStrip.d.ts +11 -0
- package/dist/components/data-display/dashboard-cards/_PLKpiStrip.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/_PLOverview.d.ts +9 -0
- package/dist/components/data-display/dashboard-cards/_PLOverview.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/_TabTooltip.d.ts +8 -0
- package/dist/components/data-display/dashboard-cards/_TabTooltip.d.ts.map +1 -0
- package/dist/components/data-display/dashboard-cards/index.d.ts +57 -0
- package/dist/components/data-display/dashboard-cards/index.d.ts.map +1 -1
- package/dist/components/data-display/data-table/DataTable.d.ts.map +1 -1
- package/dist/components/data-display/data-table/DataTableControls.d.ts.map +1 -1
- package/dist/components/data-display/event-calendar/AddEventPanel.d.ts +11 -0
- package/dist/components/data-display/event-calendar/AddEventPanel.d.ts.map +1 -0
- package/dist/components/data-display/event-calendar/CalendarHeader.d.ts +13 -0
- package/dist/components/data-display/event-calendar/CalendarHeader.d.ts.map +1 -0
- package/dist/components/data-display/event-calendar/CalendarSidebar.d.ts +13 -0
- package/dist/components/data-display/event-calendar/CalendarSidebar.d.ts.map +1 -0
- package/dist/components/data-display/event-calendar/EventCalendar.d.ts +3 -0
- package/dist/components/data-display/event-calendar/EventCalendar.d.ts.map +1 -0
- package/dist/components/data-display/event-calendar/EventDetailDrawer.d.ts +10 -0
- package/dist/components/data-display/event-calendar/EventDetailDrawer.d.ts.map +1 -0
- package/dist/components/data-display/event-calendar/EventFilterList.d.ts +9 -0
- package/dist/components/data-display/event-calendar/EventFilterList.d.ts.map +1 -0
- package/dist/components/data-display/event-calendar/EventPill.d.ts +10 -0
- package/dist/components/data-display/event-calendar/EventPill.d.ts.map +1 -0
- package/dist/components/data-display/event-calendar/MiniCalendarPicker.d.ts +9 -0
- package/dist/components/data-display/event-calendar/MiniCalendarPicker.d.ts.map +1 -0
- package/dist/components/data-display/event-calendar/calendarUtils.d.ts +27 -0
- package/dist/components/data-display/event-calendar/calendarUtils.d.ts.map +1 -0
- package/dist/components/data-display/event-calendar/index.d.ts +4 -0
- package/dist/components/data-display/event-calendar/index.d.ts.map +1 -0
- package/dist/components/data-display/event-calendar/types.d.ts +52 -0
- package/dist/components/data-display/event-calendar/types.d.ts.map +1 -0
- package/dist/components/data-display/event-calendar/views/DayView.d.ts +10 -0
- package/dist/components/data-display/event-calendar/views/DayView.d.ts.map +1 -0
- package/dist/components/data-display/event-calendar/views/ListView.d.ts +10 -0
- package/dist/components/data-display/event-calendar/views/ListView.d.ts.map +1 -0
- package/dist/components/data-display/event-calendar/views/MonthView.d.ts +11 -0
- package/dist/components/data-display/event-calendar/views/MonthView.d.ts.map +1 -0
- package/dist/components/data-display/event-calendar/views/WeekView.d.ts +10 -0
- package/dist/components/data-display/event-calendar/views/WeekView.d.ts.map +1 -0
- package/dist/components/forms/button/Button.d.ts.map +1 -1
- package/dist/components/forms/calendar/Calendar.d.ts +1 -1
- package/dist/components/forms/calendar/Calendar.d.ts.map +1 -1
- package/dist/components/forms/calendar/types.d.ts +6 -0
- package/dist/components/forms/calendar/types.d.ts.map +1 -1
- package/dist/components/forms/date-picker/DatePicker.d.ts.map +1 -1
- package/dist/components/layout/draggable-grid/DraggableGrid.d.ts +20 -0
- package/dist/components/layout/draggable-grid/DraggableGrid.d.ts.map +1 -0
- package/dist/components/layout/draggable-grid/index.d.ts +3 -0
- package/dist/components/layout/draggable-grid/index.d.ts.map +1 -0
- package/dist/components/navigation/sidebar/DashboardSidebarShell.d.ts.map +1 -1
- package/dist/components/overlays/tooltip/Tooltip.d.ts +3 -1
- package/dist/components/overlays/tooltip/Tooltip.d.ts.map +1 -1
- package/dist/dashboard-cards.cjs +33 -0
- package/dist/dashboard-cards.d.ts +2 -0
- package/dist/dashboard-cards.mjs +2 -0
- package/dist/data-table.cjs +1 -1
- package/dist/data-table.mjs +1 -1
- package/dist/date-picker.cjs +1 -1
- package/dist/date-picker.mjs +1 -1
- package/dist/dialog.cjs +1 -1
- package/dist/dialog.mjs +1 -1
- package/dist/docs.cjs +44 -0
- package/dist/docs.cjs.map +1 -1
- package/dist/docs.d.ts.map +1 -1
- package/dist/docs.mjs +44 -0
- package/dist/docs.mjs.map +1 -1
- package/dist/draggable-grid.cjs +3 -0
- package/dist/draggable-grid.d.ts +2 -0
- package/dist/draggable-grid.mjs +2 -0
- package/dist/drawer.cjs +2 -2
- package/dist/drawer.mjs +1 -1
- package/dist/event-calendar.cjs +5 -0
- package/dist/event-calendar.d.ts +2 -0
- package/dist/event-calendar.mjs +2 -0
- package/dist/form.cjs +1 -1
- package/dist/form.mjs +1 -1
- package/dist/gradual-blur.cjs +1 -1
- package/dist/gradual-blur.mjs +1 -1
- package/dist/hover-border-gradient.cjs +1 -1
- package/dist/hover-border-gradient.mjs +1 -1
- package/dist/hover-card.cjs +1 -1
- package/dist/hover-card.mjs +1 -1
- package/dist/icons.cjs +1 -1
- package/dist/icons.mjs +1 -1
- package/dist/index.cjs +91 -332
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +10 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +57 -329
- package/dist/index.mjs.map +1 -1
- package/dist/input.cjs +1 -1
- package/dist/input.mjs +1 -1
- package/dist/label.cjs +1 -1
- package/dist/label.mjs +1 -1
- package/dist/loading.cjs +1 -1
- package/dist/loading.mjs +1 -1
- package/dist/multi-select-combobox.cjs +1 -1
- package/dist/multi-select-combobox.mjs +1 -1
- package/dist/otp-input.cjs +1 -1
- package/dist/otp-input.mjs +1 -1
- package/dist/password-strength-meter.cjs +1 -1
- package/dist/password-strength-meter.mjs +1 -1
- package/dist/progress-bar.cjs +1 -1
- package/dist/progress-bar.mjs +1 -1
- package/dist/radio.cjs +1 -1
- package/dist/radio.mjs +1 -1
- package/dist/select.cjs +1 -1
- package/dist/select.mjs +1 -1
- package/dist/sidebar.cjs +1 -1
- package/dist/sidebar.mjs +1 -1
- package/dist/skeleton.cjs +1 -1
- package/dist/skeleton.mjs +1 -1
- package/dist/spinners.cjs +1 -1
- package/dist/spinners.mjs +1 -1
- package/dist/splash-cursor.cjs +1 -1
- package/dist/splash-cursor.mjs +1 -1
- package/dist/spotlight-card.cjs +1 -1
- package/dist/spotlight-card.mjs +1 -1
- package/dist/stepper.cjs +1 -1
- package/dist/stepper.mjs +1 -1
- package/dist/sun-to-moon-button.cjs +2 -2
- package/dist/sun-to-moon-button.mjs +2 -2
- package/dist/switch.cjs +1 -1
- package/dist/switch.mjs +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.mjs +1 -1
- package/dist/theme.cjs +1 -1
- package/dist/theme.mjs +1 -1
- package/dist/toast.cjs +1 -1
- package/dist/toast.mjs +1 -1
- package/dist/tooltip.cjs +1 -1
- package/dist/tooltip.mjs +1 -1
- package/dist/truncated-text.cjs +1 -1
- package/dist/truncated-text.mjs +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.mjs +1 -1
- package/dist/utils.cjs +1 -1
- package/dist/utils.mjs +1 -1
- package/package.json +44 -11
- package/dist/chunks/Tooltip-DD30yj3A.cjs.map +0 -1
- package/dist/chunks/Tooltip-DK3B879v.mjs.map +0 -1
- package/dist/chunks/button-A6UTvrOu.mjs.map +0 -1
- package/dist/chunks/button-C4MXPxsC.cjs.map +0 -1
- package/dist/chunks/calendar-5XzPqKbE.mjs +0 -178
- package/dist/chunks/calendar-5XzPqKbE.mjs.map +0 -1
- package/dist/chunks/calendar-CQJgQ5H_.cjs +0 -184
- package/dist/chunks/calendar-CQJgQ5H_.cjs.map +0 -1
- package/dist/chunks/charts-BmIV-mJy.cjs.map +0 -1
- package/dist/chunks/charts-DkVu0rFc.mjs.map +0 -1
- package/dist/chunks/data-table-Dtf6lKpp.mjs.map +0 -1
- package/dist/chunks/data-table-fAEuevPn.cjs.map +0 -1
- package/dist/chunks/date-picker-BmQ0rgwH.mjs +0 -228
- package/dist/chunks/date-picker-BmQ0rgwH.mjs.map +0 -1
- package/dist/chunks/date-picker-qpUZMtZC.cjs +0 -234
- package/dist/chunks/date-picker-qpUZMtZC.cjs.map +0 -1
- package/dist/chunks/utils-7S0u48mU.mjs.map +0 -1
- package/dist/chunks/utils-LRbEQHYs.cjs.map +0 -1
- /package/dist/chunks/{chunk-B_GkZjkl.cjs → chunk-D6vf50IK.cjs} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toast-DiFgv3IL.cjs","names":[],"sources":["../../src/components/overlays/toast/Toast.tsx"],"sourcesContent":["import {\n createContext,\n useContext,\n useState,\n useCallback,\n useRef,\n useEffect,\n forwardRef,\n} from \"react\";\nimport { motion, AnimatePresence } from \"framer-motion\";\nimport {\n AlertTriangleIcon,\n CheckCircleIcon,\n CloseIcon,\n InfoCircleIcon,\n LoaderIcon,\n XCircleIcon,\n} from \"../../icons\";\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport type ToastType =\n | \"success\"\n | \"error\"\n | \"warning\"\n | \"info\"\n | \"default\"\n | \"loading\";\nexport type ToastPosition =\n | \"top-left\"\n | \"top-center\"\n | \"top-right\"\n | \"bottom-left\"\n | \"bottom-center\"\n | \"bottom-right\";\n\nexport interface ToastAction {\n label: string;\n onClick: () => void;\n}\n\nexport interface Toast {\n id: string;\n type: ToastType;\n title?: string;\n description?: string;\n duration?: number;\n icon?: React.ReactNode;\n action?: ToastAction;\n dismissible?: boolean;\n onDismiss?: () => void;\n onAutoClose?: () => void;\n promise?: {\n loading: string;\n success: string | ((data: unknown) => string);\n error: string | ((error: unknown) => string);\n };\n}\n\nexport interface ToastOptions {\n type?: ToastType;\n title?: string;\n description?: string;\n duration?: number;\n icon?: React.ReactNode;\n action?: ToastAction;\n dismissible?: boolean;\n onDismiss?: () => void;\n onAutoClose?: () => void;\n}\n\nexport interface ToastContextValue {\n toasts: Toast[];\n toast: (options: ToastOptions | string) => string;\n success: (options: ToastOptions | string) => string;\n error: (options: ToastOptions | string) => string;\n warning: (options: ToastOptions | string) => string;\n info: (options: ToastOptions | string) => string;\n loading: (options: ToastOptions | string) => string;\n promise: <T>(\n promise: Promise<T>,\n options: {\n loading: string;\n success: string | ((data: T) => string);\n error: string | ((error: unknown) => string);\n },\n ) => Promise<T>;\n dismiss: (id: string) => void;\n dismissAll: () => void;\n update: (id: string, options: Partial<ToastOptions>) => void;\n}\n\nexport interface ToastProviderProps {\n children: React.ReactNode;\n /** Default position for toasts */\n position?: ToastPosition;\n /** Default duration in milliseconds */\n duration?: number;\n /** Maximum number of visible toasts */\n maxToasts?: number;\n /** Gap between toasts */\n gap?: number;\n /** Whether toasts are dismissible by default */\n dismissible?: boolean;\n /** Custom className for the toast container */\n containerClassName?: string;\n}\n\nexport interface ToastItemProps {\n toast: Toast;\n onDismiss: (id: string) => void;\n position: ToastPosition;\n}\n\n// ============================================================================\n// Context\n// ============================================================================\n\nconst ToastContext = createContext<ToastContextValue | null>(null);\n\nexport const useToast = (): ToastContextValue => {\n const context = useContext(ToastContext);\n if (!context) {\n throw new Error(\"useToast must be used within a ToastProvider\");\n }\n return context;\n};\n\n// ============================================================================\n// Styles\n// ============================================================================\n\nconst typeStyles: Record<\n ToastType,\n { bg: string; icon: string; iconBg: string }\n> = {\n success: {\n bg: \"bg-ds-surface-1 border-ds-state-success-border\",\n icon: \"text-ds-state-success-text\",\n iconBg: \"bg-ds-state-success-surface\",\n },\n error: {\n bg: \"bg-ds-surface-1 border-ds-state-error-border\",\n icon: \"text-ds-state-error-text\",\n iconBg: \"bg-ds-state-error-surface\",\n },\n warning: {\n bg: \"bg-ds-surface-1 border-ds-state-warning-border\",\n icon: \"text-ds-state-warning-text\",\n iconBg: \"bg-ds-state-warning-surface\",\n },\n info: {\n bg: \"bg-ds-surface-1 border-ds-state-info-border\",\n icon: \"text-ds-state-info-text\",\n iconBg: \"bg-ds-state-info-surface\",\n },\n default: {\n bg: \"bg-ds-surface-1 border-ds-border-2\",\n icon: \"text-ds-2\",\n iconBg: \"bg-ds-surface-2\",\n },\n loading: {\n bg: \"bg-ds-surface-1 border-ds-border-2\",\n icon: \"text-ds-1\",\n iconBg: \"bg-ds-accent-subtle\",\n },\n};\n\nconst positionStyles: Record<ToastPosition, string> = {\n \"top-left\": \"top-4 left-4\",\n \"top-center\": \"top-4 left-1/2 -translate-x-1/2\",\n \"top-right\": \"top-4 right-4\",\n \"bottom-left\": \"bottom-4 left-4\",\n \"bottom-center\": \"bottom-4 left-1/2 -translate-x-1/2\",\n \"bottom-right\": \"bottom-4 right-4\",\n};\n\nconst getMotionVariants = (position: ToastPosition) => {\n const isTop = position.startsWith(\"top\");\n const isCenter = position.includes(\"center\");\n const isLeft = position.includes(\"left\");\n\n return {\n initial: {\n opacity: 0,\n y: isTop ? -20 : 20,\n x: isCenter ? 0 : isLeft ? -20 : 20,\n scale: 0.95,\n },\n animate: {\n opacity: 1,\n y: 0,\n x: 0,\n scale: 1,\n },\n exit: {\n opacity: 0,\n y: isTop ? -20 : 20,\n scale: 0.95,\n transition: { duration: 0.15 },\n },\n };\n};\n\n// ============================================================================\n// Toast Item Component\n// ============================================================================\n\nconst ToastItem = forwardRef<HTMLDivElement, ToastItemProps>(\n ({ toast, onDismiss, position }, ref) => {\n const {\n type,\n title,\n description,\n icon,\n action,\n dismissible = true,\n duration,\n } = toast;\n const timerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const [progress, setProgress] = useState(100);\n const [isPaused, setIsPaused] = useState(false);\n\n const defaultIcons: Record<ToastType, React.ReactNode> = {\n success: <CheckCircleIcon className=\"w-5 h-5\" aria-hidden=\"true\" />,\n error: <XCircleIcon className=\"w-5 h-5\" aria-hidden=\"true\" />,\n warning: <AlertTriangleIcon className=\"w-5 h-5\" aria-hidden=\"true\" />,\n info: <InfoCircleIcon className=\"w-5 h-5\" aria-hidden=\"true\" />,\n loading: (\n <LoaderIcon className=\"w-5 h-5 animate-spin\" aria-hidden=\"true\" />\n ),\n default: null,\n };\n\n // Auto-dismiss timer with progress\n useEffect(() => {\n if (duration && duration > 0 && type !== \"loading\") {\n const startTime = Date.now();\n const interval = 50;\n\n const updateProgress = () => {\n if (isPaused) return;\n\n const elapsed = Date.now() - startTime;\n const remaining = Math.max(0, 100 - (elapsed / duration) * 100);\n setProgress(remaining);\n\n if (remaining <= 0) {\n toast.onAutoClose?.();\n onDismiss(toast.id);\n }\n };\n\n timerRef.current = setInterval(updateProgress, interval);\n\n return () => {\n if (timerRef.current) {\n clearInterval(timerRef.current);\n }\n };\n }\n }, [duration, toast.id, type, isPaused, onDismiss, toast]);\n\n const handleMouseEnter = () => setIsPaused(true);\n const handleMouseLeave = () => setIsPaused(false);\n\n const styles = typeStyles[type];\n const displayIcon = icon ?? defaultIcons[type];\n const variants = getMotionVariants(position);\n\n return (\n <motion.div\n ref={ref}\n layout\n initial={variants.initial}\n animate={variants.animate}\n exit={variants.exit}\n transition={{ type: \"spring\", stiffness: 400, damping: 30 }}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n className={`\n relative flex items-start gap-3 p-4 pr-10\n rounded-lg shadow-lg border min-w-[320px] max-w-[420px]\n overflow-hidden\n ${styles.bg}\n `}\n role=\"alert\"\n aria-live=\"polite\"\n >\n {/* Progress bar */}\n {duration && duration > 0 && type !== \"loading\" && (\n <div className=\"absolute bottom-0 left-0 right-0 h-1 bg-ds-surface-2\">\n <motion.div\n className={`h-full ${\n type === \"success\"\n ? \"bg-ds-state-success\"\n : type === \"error\"\n ? \"bg-ds-state-danger\"\n : type === \"warning\"\n ? \"bg-ds-state-warning\"\n : type === \"info\"\n ? \"bg-ds-state-info\"\n : \"bg-ds-border-3\"\n }`}\n style={{ width: `${progress}%` }}\n transition={{ duration: 0.05 }}\n />\n </div>\n )}\n\n {/* Icon */}\n {displayIcon && (\n <div\n className={`shrink-0 p-1.5 rounded-full ${styles.iconBg} ${styles.icon}`}\n >\n {displayIcon}\n </div>\n )}\n\n {/* Content */}\n <div className=\"flex-1 min-w-0\">\n {title && <p className=\"text-sm font-semibold text-ds-1\">{title}</p>}\n {description && (\n <p className={`text-sm text-ds-2 ${title ? \"mt-1\" : \"\"}`}>\n {description}\n </p>\n )}\n {action && (\n <button\n onClick={() => {\n action.onClick();\n onDismiss(toast.id);\n }}\n className=\"mt-2 text-sm font-medium text-ds-1 hover:underline\"\n >\n {action.label}\n </button>\n )}\n </div>\n\n {/* Dismiss button */}\n {dismissible && (\n <button\n onClick={() => {\n toast.onDismiss?.();\n onDismiss(toast.id);\n }}\n className=\"absolute top-3 right-3 rounded-full p-1 text-ds-2 transition-colors hover:bg-ds-surface-2 hover:text-ds-1\"\n aria-label=\"Dismiss\"\n >\n <CloseIcon className=\"w-4 h-4\" aria-hidden=\"true\" />\n </button>\n )}\n </motion.div>\n );\n },\n);\n\nToastItem.displayName = \"ToastItem\";\n\n// ============================================================================\n// Toast Provider Component\n// ============================================================================\n\nexport const ToastProvider: React.FC<ToastProviderProps> = ({\n children,\n position = \"bottom-right\",\n duration = 5000,\n maxToasts = 5,\n gap = 12,\n dismissible = true,\n containerClassName = \"\",\n}) => {\n const [toasts, setToasts] = useState<Toast[]>([]);\n const toastIdCounter = useRef(0);\n\n const generateId = () => {\n toastIdCounter.current += 1;\n return `toast-${toastIdCounter.current}-${Date.now()}`;\n };\n\n const addToast = useCallback(\n (options: ToastOptions | string, type: ToastType = \"default\"): string => {\n const id = generateId();\n const toastOptions: ToastOptions =\n typeof options === \"string\" ? { description: options } : options;\n\n const newToast: Toast = {\n id,\n type: toastOptions.type ?? type,\n title: toastOptions.title,\n description: toastOptions.description,\n duration: toastOptions.duration ?? duration,\n icon: toastOptions.icon,\n action: toastOptions.action,\n dismissible: toastOptions.dismissible ?? dismissible,\n onDismiss: toastOptions.onDismiss,\n onAutoClose: toastOptions.onAutoClose,\n };\n\n setToasts((prev) => {\n const updated = [...prev, newToast];\n // Keep only the last maxToasts\n return updated.slice(-maxToasts);\n });\n\n return id;\n },\n [duration, dismissible, maxToasts],\n );\n\n const dismiss = useCallback((id: string) => {\n setToasts((prev) => prev.filter((t) => t.id !== id));\n }, []);\n\n const dismissAll = useCallback(() => {\n setToasts([]);\n }, []);\n\n const update = useCallback((id: string, options: Partial<ToastOptions>) => {\n setToasts((prev) =>\n prev.map((t) =>\n t.id === id\n ? {\n ...t,\n ...options,\n type: options.type ?? t.type,\n }\n : t,\n ),\n );\n }, []);\n\n const toast = useCallback(\n (options: ToastOptions | string) => addToast(options, \"default\"),\n [addToast],\n );\n\n const success = useCallback(\n (options: ToastOptions | string) => addToast(options, \"success\"),\n [addToast],\n );\n\n const error = useCallback(\n (options: ToastOptions | string) => addToast(options, \"error\"),\n [addToast],\n );\n\n const warning = useCallback(\n (options: ToastOptions | string) => addToast(options, \"warning\"),\n [addToast],\n );\n\n const info = useCallback(\n (options: ToastOptions | string) => addToast(options, \"info\"),\n [addToast],\n );\n\n const loading = useCallback(\n (options: ToastOptions | string) => {\n const toastOptions: ToastOptions =\n typeof options === \"string\" ? { description: options } : options;\n return addToast(\n { ...toastOptions, duration: 0, dismissible: false },\n \"loading\",\n );\n },\n [addToast],\n );\n\n const promise = useCallback(\n async <T,>(\n promiseToResolve: Promise<T>,\n options: {\n loading: string;\n success: string | ((data: T) => string);\n error: string | ((error: unknown) => string);\n },\n ): Promise<T> => {\n const id = loading(options.loading);\n\n try {\n const result = await promiseToResolve;\n const successMessage =\n typeof options.success === \"function\"\n ? options.success(result)\n : options.success;\n update(id, {\n type: \"success\",\n description: successMessage,\n duration,\n dismissible: true,\n });\n return result;\n } catch (err) {\n const errorMessage =\n typeof options.error === \"function\"\n ? options.error(err)\n : options.error;\n update(id, {\n type: \"error\",\n description: errorMessage,\n duration,\n dismissible: true,\n });\n throw err;\n }\n },\n [loading, update, duration],\n );\n\n const contextValue: ToastContextValue = {\n toasts,\n toast,\n success,\n error,\n warning,\n info,\n loading,\n promise,\n dismiss,\n dismissAll,\n update,\n };\n\n const isTop = position.startsWith(\"top\");\n\n return (\n <ToastContext.Provider value={contextValue}>\n {children}\n <div\n className={`fixed z-100 flex flex-col pointer-events-none ${positionStyles[position]} ${containerClassName}`}\n style={{ gap: `${gap}px` }}\n >\n <AnimatePresence mode=\"popLayout\">\n {(isTop ? toasts : [...toasts].reverse()).map((t) => (\n <div key={t.id} className=\"pointer-events-auto\">\n <ToastItem toast={t} onDismiss={dismiss} position={position} />\n </div>\n ))}\n </AnimatePresence>\n </div>\n </ToastContext.Provider>\n );\n};\n\n// ============================================================================\n// Standalone toast function (for use without hooks)\n// ============================================================================\n\nlet globalToast: ToastContextValue | null = null;\n\nexport const setGlobalToast = (toastContext: ToastContextValue) => {\n globalToast = toastContext;\n};\n\nexport const toastStandalone = {\n show: (options: ToastOptions | string) => globalToast?.toast(options),\n success: (options: ToastOptions | string) => globalToast?.success(options),\n error: (options: ToastOptions | string) => globalToast?.error(options),\n warning: (options: ToastOptions | string) => globalToast?.warning(options),\n info: (options: ToastOptions | string) => globalToast?.info(options),\n loading: (options: ToastOptions | string) => globalToast?.loading(options),\n promise: <T,>(\n promise: Promise<T>,\n options: {\n loading: string;\n success: string | ((data: T) => string);\n error: string | ((error: unknown) => string);\n },\n ) => globalToast?.promise(promise, options),\n dismiss: (id: string) => globalToast?.dismiss(id),\n dismissAll: () => globalToast?.dismissAll(),\n};\n\n// ============================================================================\n// Exports\n// ============================================================================\n\nexport default ToastProvider;\nexport { ToastItem };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"toast-DL8svc6q.cjs","names":[],"sources":["../../src/components/overlays/toast/Toast.tsx"],"sourcesContent":["import {\n createContext,\n useContext,\n useState,\n useCallback,\n useRef,\n useEffect,\n forwardRef,\n} from \"react\";\nimport { motion, AnimatePresence } from \"framer-motion\";\nimport {\n AlertTriangleIcon,\n CheckCircleIcon,\n CloseIcon,\n InfoCircleIcon,\n LoaderIcon,\n XCircleIcon,\n} from \"../../icons\";\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport type ToastType =\n | \"success\"\n | \"error\"\n | \"warning\"\n | \"info\"\n | \"default\"\n | \"loading\";\nexport type ToastPosition =\n | \"top-left\"\n | \"top-center\"\n | \"top-right\"\n | \"bottom-left\"\n | \"bottom-center\"\n | \"bottom-right\";\n\nexport interface ToastAction {\n label: string;\n onClick: () => void;\n}\n\nexport interface Toast {\n id: string;\n type: ToastType;\n title?: string;\n description?: string;\n duration?: number;\n icon?: React.ReactNode;\n action?: ToastAction;\n dismissible?: boolean;\n onDismiss?: () => void;\n onAutoClose?: () => void;\n promise?: {\n loading: string;\n success: string | ((data: unknown) => string);\n error: string | ((error: unknown) => string);\n };\n}\n\nexport interface ToastOptions {\n type?: ToastType;\n title?: string;\n description?: string;\n duration?: number;\n icon?: React.ReactNode;\n action?: ToastAction;\n dismissible?: boolean;\n onDismiss?: () => void;\n onAutoClose?: () => void;\n}\n\nexport interface ToastContextValue {\n toasts: Toast[];\n toast: (options: ToastOptions | string) => string;\n success: (options: ToastOptions | string) => string;\n error: (options: ToastOptions | string) => string;\n warning: (options: ToastOptions | string) => string;\n info: (options: ToastOptions | string) => string;\n loading: (options: ToastOptions | string) => string;\n promise: <T>(\n promise: Promise<T>,\n options: {\n loading: string;\n success: string | ((data: T) => string);\n error: string | ((error: unknown) => string);\n },\n ) => Promise<T>;\n dismiss: (id: string) => void;\n dismissAll: () => void;\n update: (id: string, options: Partial<ToastOptions>) => void;\n}\n\nexport interface ToastProviderProps {\n children: React.ReactNode;\n /** Default position for toasts */\n position?: ToastPosition;\n /** Default duration in milliseconds */\n duration?: number;\n /** Maximum number of visible toasts */\n maxToasts?: number;\n /** Gap between toasts */\n gap?: number;\n /** Whether toasts are dismissible by default */\n dismissible?: boolean;\n /** Custom className for the toast container */\n containerClassName?: string;\n}\n\nexport interface ToastItemProps {\n toast: Toast;\n onDismiss: (id: string) => void;\n position: ToastPosition;\n}\n\n// ============================================================================\n// Context\n// ============================================================================\n\nconst ToastContext = createContext<ToastContextValue | null>(null);\n\nexport const useToast = (): ToastContextValue => {\n const context = useContext(ToastContext);\n if (!context) {\n throw new Error(\"useToast must be used within a ToastProvider\");\n }\n return context;\n};\n\n// ============================================================================\n// Styles\n// ============================================================================\n\nconst typeStyles: Record<\n ToastType,\n { bg: string; icon: string; iconBg: string }\n> = {\n success: {\n bg: \"bg-ds-surface-1 border-ds-state-success-border\",\n icon: \"text-ds-state-success-text\",\n iconBg: \"bg-ds-state-success-surface\",\n },\n error: {\n bg: \"bg-ds-surface-1 border-ds-state-error-border\",\n icon: \"text-ds-state-error-text\",\n iconBg: \"bg-ds-state-error-surface\",\n },\n warning: {\n bg: \"bg-ds-surface-1 border-ds-state-warning-border\",\n icon: \"text-ds-state-warning-text\",\n iconBg: \"bg-ds-state-warning-surface\",\n },\n info: {\n bg: \"bg-ds-surface-1 border-ds-state-info-border\",\n icon: \"text-ds-state-info-text\",\n iconBg: \"bg-ds-state-info-surface\",\n },\n default: {\n bg: \"bg-ds-surface-1 border-ds-border-2\",\n icon: \"text-ds-2\",\n iconBg: \"bg-ds-surface-2\",\n },\n loading: {\n bg: \"bg-ds-surface-1 border-ds-border-2\",\n icon: \"text-ds-1\",\n iconBg: \"bg-ds-accent-subtle\",\n },\n};\n\nconst positionStyles: Record<ToastPosition, string> = {\n \"top-left\": \"top-4 left-4\",\n \"top-center\": \"top-4 left-1/2 -translate-x-1/2\",\n \"top-right\": \"top-4 right-4\",\n \"bottom-left\": \"bottom-4 left-4\",\n \"bottom-center\": \"bottom-4 left-1/2 -translate-x-1/2\",\n \"bottom-right\": \"bottom-4 right-4\",\n};\n\nconst getMotionVariants = (position: ToastPosition) => {\n const isTop = position.startsWith(\"top\");\n const isCenter = position.includes(\"center\");\n const isLeft = position.includes(\"left\");\n\n return {\n initial: {\n opacity: 0,\n y: isTop ? -20 : 20,\n x: isCenter ? 0 : isLeft ? -20 : 20,\n scale: 0.95,\n },\n animate: {\n opacity: 1,\n y: 0,\n x: 0,\n scale: 1,\n },\n exit: {\n opacity: 0,\n y: isTop ? -20 : 20,\n scale: 0.95,\n transition: { duration: 0.15 },\n },\n };\n};\n\n// ============================================================================\n// Toast Item Component\n// ============================================================================\n\nconst ToastItem = forwardRef<HTMLDivElement, ToastItemProps>(\n ({ toast, onDismiss, position }, ref) => {\n const {\n type,\n title,\n description,\n icon,\n action,\n dismissible = true,\n duration,\n } = toast;\n const timerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const [progress, setProgress] = useState(100);\n const [isPaused, setIsPaused] = useState(false);\n\n const defaultIcons: Record<ToastType, React.ReactNode> = {\n success: <CheckCircleIcon className=\"w-5 h-5\" aria-hidden=\"true\" />,\n error: <XCircleIcon className=\"w-5 h-5\" aria-hidden=\"true\" />,\n warning: <AlertTriangleIcon className=\"w-5 h-5\" aria-hidden=\"true\" />,\n info: <InfoCircleIcon className=\"w-5 h-5\" aria-hidden=\"true\" />,\n loading: (\n <LoaderIcon className=\"w-5 h-5 animate-spin\" aria-hidden=\"true\" />\n ),\n default: null,\n };\n\n // Auto-dismiss timer with progress\n useEffect(() => {\n if (duration && duration > 0 && type !== \"loading\") {\n const startTime = Date.now();\n const interval = 50;\n\n const updateProgress = () => {\n if (isPaused) return;\n\n const elapsed = Date.now() - startTime;\n const remaining = Math.max(0, 100 - (elapsed / duration) * 100);\n setProgress(remaining);\n\n if (remaining <= 0) {\n toast.onAutoClose?.();\n onDismiss(toast.id);\n }\n };\n\n timerRef.current = setInterval(updateProgress, interval);\n\n return () => {\n if (timerRef.current) {\n clearInterval(timerRef.current);\n }\n };\n }\n }, [duration, toast.id, type, isPaused, onDismiss, toast]);\n\n const handleMouseEnter = () => setIsPaused(true);\n const handleMouseLeave = () => setIsPaused(false);\n\n const styles = typeStyles[type];\n const displayIcon = icon ?? defaultIcons[type];\n const variants = getMotionVariants(position);\n\n return (\n <motion.div\n ref={ref}\n layout\n initial={variants.initial}\n animate={variants.animate}\n exit={variants.exit}\n transition={{ type: \"spring\", stiffness: 400, damping: 30 }}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n className={`\n relative flex items-start gap-3 p-4 pr-10\n rounded-lg shadow-lg border min-w-[320px] max-w-[420px]\n overflow-hidden\n ${styles.bg}\n `}\n role=\"alert\"\n aria-live=\"polite\"\n >\n {/* Progress bar */}\n {duration && duration > 0 && type !== \"loading\" && (\n <div className=\"absolute bottom-0 left-0 right-0 h-1 bg-ds-surface-2\">\n <motion.div\n className={`h-full ${\n type === \"success\"\n ? \"bg-ds-state-success\"\n : type === \"error\"\n ? \"bg-ds-state-danger\"\n : type === \"warning\"\n ? \"bg-ds-state-warning\"\n : type === \"info\"\n ? \"bg-ds-state-info\"\n : \"bg-ds-border-3\"\n }`}\n style={{ width: `${progress}%` }}\n transition={{ duration: 0.05 }}\n />\n </div>\n )}\n\n {/* Icon */}\n {displayIcon && (\n <div\n className={`shrink-0 p-1.5 rounded-full ${styles.iconBg} ${styles.icon}`}\n >\n {displayIcon}\n </div>\n )}\n\n {/* Content */}\n <div className=\"flex-1 min-w-0\">\n {title && <p className=\"text-sm font-semibold text-ds-1\">{title}</p>}\n {description && (\n <p className={`text-sm text-ds-2 ${title ? \"mt-1\" : \"\"}`}>\n {description}\n </p>\n )}\n {action && (\n <button\n onClick={() => {\n action.onClick();\n onDismiss(toast.id);\n }}\n className=\"mt-2 text-sm font-medium text-ds-1 hover:underline\"\n >\n {action.label}\n </button>\n )}\n </div>\n\n {/* Dismiss button */}\n {dismissible && (\n <button\n onClick={() => {\n toast.onDismiss?.();\n onDismiss(toast.id);\n }}\n className=\"absolute top-3 right-3 rounded-full p-1 text-ds-2 transition-colors hover:bg-ds-surface-2 hover:text-ds-1\"\n aria-label=\"Dismiss\"\n >\n <CloseIcon className=\"w-4 h-4\" aria-hidden=\"true\" />\n </button>\n )}\n </motion.div>\n );\n },\n);\n\nToastItem.displayName = \"ToastItem\";\n\n// ============================================================================\n// Toast Provider Component\n// ============================================================================\n\nexport const ToastProvider: React.FC<ToastProviderProps> = ({\n children,\n position = \"bottom-right\",\n duration = 5000,\n maxToasts = 5,\n gap = 12,\n dismissible = true,\n containerClassName = \"\",\n}) => {\n const [toasts, setToasts] = useState<Toast[]>([]);\n const toastIdCounter = useRef(0);\n\n const generateId = () => {\n toastIdCounter.current += 1;\n return `toast-${toastIdCounter.current}-${Date.now()}`;\n };\n\n const addToast = useCallback(\n (options: ToastOptions | string, type: ToastType = \"default\"): string => {\n const id = generateId();\n const toastOptions: ToastOptions =\n typeof options === \"string\" ? { description: options } : options;\n\n const newToast: Toast = {\n id,\n type: toastOptions.type ?? type,\n title: toastOptions.title,\n description: toastOptions.description,\n duration: toastOptions.duration ?? duration,\n icon: toastOptions.icon,\n action: toastOptions.action,\n dismissible: toastOptions.dismissible ?? dismissible,\n onDismiss: toastOptions.onDismiss,\n onAutoClose: toastOptions.onAutoClose,\n };\n\n setToasts((prev) => {\n const updated = [...prev, newToast];\n // Keep only the last maxToasts\n return updated.slice(-maxToasts);\n });\n\n return id;\n },\n [duration, dismissible, maxToasts],\n );\n\n const dismiss = useCallback((id: string) => {\n setToasts((prev) => prev.filter((t) => t.id !== id));\n }, []);\n\n const dismissAll = useCallback(() => {\n setToasts([]);\n }, []);\n\n const update = useCallback((id: string, options: Partial<ToastOptions>) => {\n setToasts((prev) =>\n prev.map((t) =>\n t.id === id\n ? {\n ...t,\n ...options,\n type: options.type ?? t.type,\n }\n : t,\n ),\n );\n }, []);\n\n const toast = useCallback(\n (options: ToastOptions | string) => addToast(options, \"default\"),\n [addToast],\n );\n\n const success = useCallback(\n (options: ToastOptions | string) => addToast(options, \"success\"),\n [addToast],\n );\n\n const error = useCallback(\n (options: ToastOptions | string) => addToast(options, \"error\"),\n [addToast],\n );\n\n const warning = useCallback(\n (options: ToastOptions | string) => addToast(options, \"warning\"),\n [addToast],\n );\n\n const info = useCallback(\n (options: ToastOptions | string) => addToast(options, \"info\"),\n [addToast],\n );\n\n const loading = useCallback(\n (options: ToastOptions | string) => {\n const toastOptions: ToastOptions =\n typeof options === \"string\" ? { description: options } : options;\n return addToast(\n { ...toastOptions, duration: 0, dismissible: false },\n \"loading\",\n );\n },\n [addToast],\n );\n\n const promise = useCallback(\n async <T,>(\n promiseToResolve: Promise<T>,\n options: {\n loading: string;\n success: string | ((data: T) => string);\n error: string | ((error: unknown) => string);\n },\n ): Promise<T> => {\n const id = loading(options.loading);\n\n try {\n const result = await promiseToResolve;\n const successMessage =\n typeof options.success === \"function\"\n ? options.success(result)\n : options.success;\n update(id, {\n type: \"success\",\n description: successMessage,\n duration,\n dismissible: true,\n });\n return result;\n } catch (err) {\n const errorMessage =\n typeof options.error === \"function\"\n ? options.error(err)\n : options.error;\n update(id, {\n type: \"error\",\n description: errorMessage,\n duration,\n dismissible: true,\n });\n throw err;\n }\n },\n [loading, update, duration],\n );\n\n const contextValue: ToastContextValue = {\n toasts,\n toast,\n success,\n error,\n warning,\n info,\n loading,\n promise,\n dismiss,\n dismissAll,\n update,\n };\n\n const isTop = position.startsWith(\"top\");\n\n return (\n <ToastContext.Provider value={contextValue}>\n {children}\n <div\n className={`fixed z-100 flex flex-col pointer-events-none ${positionStyles[position]} ${containerClassName}`}\n style={{ gap: `${gap}px` }}\n >\n <AnimatePresence mode=\"popLayout\">\n {(isTop ? toasts : [...toasts].reverse()).map((t) => (\n <div key={t.id} className=\"pointer-events-auto\">\n <ToastItem toast={t} onDismiss={dismiss} position={position} />\n </div>\n ))}\n </AnimatePresence>\n </div>\n </ToastContext.Provider>\n );\n};\n\n// ============================================================================\n// Standalone toast function (for use without hooks)\n// ============================================================================\n\nlet globalToast: ToastContextValue | null = null;\n\nexport const setGlobalToast = (toastContext: ToastContextValue) => {\n globalToast = toastContext;\n};\n\nexport const toastStandalone = {\n show: (options: ToastOptions | string) => globalToast?.toast(options),\n success: (options: ToastOptions | string) => globalToast?.success(options),\n error: (options: ToastOptions | string) => globalToast?.error(options),\n warning: (options: ToastOptions | string) => globalToast?.warning(options),\n info: (options: ToastOptions | string) => globalToast?.info(options),\n loading: (options: ToastOptions | string) => globalToast?.loading(options),\n promise: <T,>(\n promise: Promise<T>,\n options: {\n loading: string;\n success: string | ((data: T) => string);\n error: string | ((error: unknown) => string);\n },\n ) => globalToast?.promise(promise, options),\n dismiss: (id: string) => globalToast?.dismiss(id),\n dismissAll: () => globalToast?.dismissAll(),\n};\n\n// ============================================================================\n// Exports\n// ============================================================================\n\nexport default ToastProvider;\nexport { ToastItem };\n"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const require_chunk = require("./chunk-
|
|
2
|
-
const require_utils = require("./utils-
|
|
1
|
+
const require_chunk = require("./chunk-D6vf50IK.cjs");
|
|
2
|
+
const require_utils = require("./utils-CoA0q63n.cjs");
|
|
3
3
|
let react = require("react");
|
|
4
4
|
react = require_chunk.__toESM(react, 1);
|
|
5
5
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
@@ -49,4 +49,4 @@ Object.defineProperty(exports, "TruncatedText", {
|
|
|
49
49
|
}
|
|
50
50
|
});
|
|
51
51
|
|
|
52
|
-
//# sourceMappingURL=truncated-text-
|
|
52
|
+
//# sourceMappingURL=truncated-text-D0t4atw5.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"truncated-text-
|
|
1
|
+
{"version":3,"file":"truncated-text-D0t4atw5.cjs","names":[],"sources":["../../src/components/typography/truncated-text/TruncatedText.tsx"],"sourcesContent":["import React, { isValidElement, type ElementType, type ReactNode } from \"react\";\n\nimport { mergeClassNames } from \"../../../utils\";\n\nfunction extractTextContent(node: ReactNode): string | undefined {\n if (typeof node === \"string\" || typeof node === \"number\") {\n return String(node);\n }\n\n if (Array.isArray(node)) {\n const parts = node\n .map((child) => extractTextContent(child))\n .filter((value): value is string => Boolean(value));\n\n return parts.length > 0 ? parts.join(\"\") : undefined;\n }\n\n if (isValidElement<{ children?: ReactNode }>(node)) {\n return extractTextContent(node.props.children);\n }\n\n return undefined;\n}\n\nexport interface TruncatedTextProps extends Omit<\n React.HTMLAttributes<HTMLElement>,\n \"children\"\n> {\n children: ReactNode;\n as?: ElementType;\n lines?: number;\n width?: React.CSSProperties[\"width\"];\n maxWidth?: React.CSSProperties[\"maxWidth\"];\n showTitleOnHover?: boolean;\n}\n\nexport const TruncatedText = ({\n children,\n as,\n lines = 1,\n width,\n maxWidth,\n showTitleOnHover = false,\n className,\n style,\n title,\n ...rest\n}: TruncatedTextProps): React.JSX.Element => {\n const Component = as ?? \"span\";\n const normalizedLines =\n Number.isFinite(lines) && lines > 0 ? Math.floor(lines) : 1;\n const resolvedTitle = showTitleOnHover\n ? (title ?? extractTextContent(children))\n : title;\n\n const truncationStyle: React.CSSProperties =\n normalizedLines > 1\n ? {\n ...style,\n width,\n maxWidth,\n overflow: \"hidden\",\n display: style?.display ?? \"-webkit-box\",\n WebkitBoxOrient: \"vertical\",\n WebkitLineClamp: normalizedLines,\n }\n : {\n ...style,\n width,\n maxWidth,\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n display: style?.display ?? \"block\",\n };\n\n return (\n <Component\n {...rest}\n title={resolvedTitle}\n style={truncationStyle}\n className={mergeClassNames(\"min-w-0\", className)}\n >\n {children}\n </Component>\n );\n};\n"],"mappings":";;;;;;AAIA,SAAS,mBAAmB,MAAqC;CAC/D,IAAI,OAAO,SAAS,YAAY,OAAO,SAAS,UAC9C,OAAO,OAAO,IAAI;CAGpB,IAAI,MAAM,QAAQ,IAAI,GAAG;EACvB,MAAM,QAAQ,KACX,KAAK,UAAU,mBAAmB,KAAK,CAAC,EACxC,QAAQ,UAA2B,QAAQ,KAAK,CAAC;EAEpD,OAAO,MAAM,SAAS,IAAI,MAAM,KAAK,EAAE,IAAI,KAAA;CAC7C;CAEA,KAAA,GAAA,MAAA,gBAA6C,IAAI,GAC/C,OAAO,mBAAmB,KAAK,MAAM,QAAQ;AAIjD;AAcA,IAAa,iBAAiB,EAC5B,UACA,IACA,QAAQ,GACR,OACA,UACA,mBAAmB,OACnB,WACA,OACA,OACA,GAAG,WACwC;CAC3C,MAAM,YAAY,MAAM;CACxB,MAAM,kBACJ,OAAO,SAAS,KAAK,KAAK,QAAQ,IAAI,KAAK,MAAM,KAAK,IAAI;CAC5D,MAAM,gBAAgB,mBACjB,SAAS,mBAAmB,QAAQ,IACrC;CAEJ,MAAM,kBACJ,kBAAkB,IACd;EACE,GAAG;EACH;EACA;EACA,UAAU;EACV,SAAS,OAAO,WAAW;EAC3B,iBAAiB;EACjB,iBAAiB;CACnB,IACA;EACE,GAAG;EACH;EACA;EACA,UAAU;EACV,cAAc;EACd,YAAY;EACZ,SAAS,OAAO,WAAW;CAC7B;CAEN,OACE,iBAAA,GAAA,kBAAA,KAAC,WAAD;EACE,GAAI;EACJ,OAAO;EACP,OAAO;EACP,WAAW,cAAA,gBAAgB,WAAW,SAAS;EAE9C;CACQ,CAAA;AAEf"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as mergeClassNames } from "./utils-
|
|
1
|
+
import { n as mergeClassNames } from "./utils-Dc7j29ec.mjs";
|
|
2
2
|
import { isValidElement } from "react";
|
|
3
3
|
import { jsx } from "react/jsx-runtime";
|
|
4
4
|
//#region src/components/typography/truncated-text/TruncatedText.tsx
|
|
@@ -42,4 +42,4 @@ var TruncatedText = ({ children, as, lines = 1, width, maxWidth, showTitleOnHove
|
|
|
42
42
|
//#endregion
|
|
43
43
|
export { TruncatedText as t };
|
|
44
44
|
|
|
45
|
-
//# sourceMappingURL=truncated-text-
|
|
45
|
+
//# sourceMappingURL=truncated-text-DIkg-8Vo.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"truncated-text-
|
|
1
|
+
{"version":3,"file":"truncated-text-DIkg-8Vo.mjs","names":[],"sources":["../../src/components/typography/truncated-text/TruncatedText.tsx"],"sourcesContent":["import React, { isValidElement, type ElementType, type ReactNode } from \"react\";\n\nimport { mergeClassNames } from \"../../../utils\";\n\nfunction extractTextContent(node: ReactNode): string | undefined {\n if (typeof node === \"string\" || typeof node === \"number\") {\n return String(node);\n }\n\n if (Array.isArray(node)) {\n const parts = node\n .map((child) => extractTextContent(child))\n .filter((value): value is string => Boolean(value));\n\n return parts.length > 0 ? parts.join(\"\") : undefined;\n }\n\n if (isValidElement<{ children?: ReactNode }>(node)) {\n return extractTextContent(node.props.children);\n }\n\n return undefined;\n}\n\nexport interface TruncatedTextProps extends Omit<\n React.HTMLAttributes<HTMLElement>,\n \"children\"\n> {\n children: ReactNode;\n as?: ElementType;\n lines?: number;\n width?: React.CSSProperties[\"width\"];\n maxWidth?: React.CSSProperties[\"maxWidth\"];\n showTitleOnHover?: boolean;\n}\n\nexport const TruncatedText = ({\n children,\n as,\n lines = 1,\n width,\n maxWidth,\n showTitleOnHover = false,\n className,\n style,\n title,\n ...rest\n}: TruncatedTextProps): React.JSX.Element => {\n const Component = as ?? \"span\";\n const normalizedLines =\n Number.isFinite(lines) && lines > 0 ? Math.floor(lines) : 1;\n const resolvedTitle = showTitleOnHover\n ? (title ?? extractTextContent(children))\n : title;\n\n const truncationStyle: React.CSSProperties =\n normalizedLines > 1\n ? {\n ...style,\n width,\n maxWidth,\n overflow: \"hidden\",\n display: style?.display ?? \"-webkit-box\",\n WebkitBoxOrient: \"vertical\",\n WebkitLineClamp: normalizedLines,\n }\n : {\n ...style,\n width,\n maxWidth,\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n display: style?.display ?? \"block\",\n };\n\n return (\n <Component\n {...rest}\n title={resolvedTitle}\n style={truncationStyle}\n className={mergeClassNames(\"min-w-0\", className)}\n >\n {children}\n </Component>\n );\n};\n"],"mappings":";;;;AAIA,SAAS,mBAAmB,MAAqC;CAC/D,IAAI,OAAO,SAAS,YAAY,OAAO,SAAS,UAC9C,OAAO,OAAO,IAAI;CAGpB,IAAI,MAAM,QAAQ,IAAI,GAAG;EACvB,MAAM,QAAQ,KACX,KAAK,UAAU,mBAAmB,KAAK,CAAC,EACxC,QAAQ,UAA2B,QAAQ,KAAK,CAAC;EAEpD,OAAO,MAAM,SAAS,IAAI,MAAM,KAAK,EAAE,IAAI,KAAA;CAC7C;CAEA,IAAI,eAAyC,IAAI,GAC/C,OAAO,mBAAmB,KAAK,MAAM,QAAQ;AAIjD;AAcA,IAAa,iBAAiB,EAC5B,UACA,IACA,QAAQ,GACR,OACA,UACA,mBAAmB,OACnB,WACA,OACA,OACA,GAAG,WACwC;CAC3C,MAAM,YAAY,MAAM;CACxB,MAAM,kBACJ,OAAO,SAAS,KAAK,KAAK,QAAQ,IAAI,KAAK,MAAM,KAAK,IAAI;CAC5D,MAAM,gBAAgB,mBACjB,SAAS,mBAAmB,QAAQ,IACrC;CAEJ,MAAM,kBACJ,kBAAkB,IACd;EACE,GAAG;EACH;EACA;EACA,UAAU;EACV,SAAS,OAAO,WAAW;EAC3B,iBAAiB;EACjB,iBAAiB;CACnB,IACA;EACE,GAAG;EACH;EACA;EACA,UAAU;EACV,cAAc;EACd,YAAY;EACZ,SAAS,OAAO,WAAW;CAC7B;CAEN,OACE,oBAAC,WAAD;EACE,GAAI;EACJ,OAAO;EACP,OAAO;EACP,WAAW,gBAAgB,WAAW,SAAS;EAE9C;CACQ,CAAA;AAEf"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const require_chunk = require("./chunk-
|
|
2
|
-
const require_utils = require("./utils-
|
|
1
|
+
const require_chunk = require("./chunk-D6vf50IK.cjs");
|
|
2
|
+
const require_utils = require("./utils-CoA0q63n.cjs");
|
|
3
3
|
let react = require("react");
|
|
4
4
|
react = require_chunk.__toESM(react, 1);
|
|
5
5
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
@@ -87,4 +87,4 @@ Object.defineProperty(exports, "Typography", {
|
|
|
87
87
|
}
|
|
88
88
|
});
|
|
89
89
|
|
|
90
|
-
//# sourceMappingURL=typography-
|
|
90
|
+
//# sourceMappingURL=typography-C5fYwhp2.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typography-
|
|
1
|
+
{"version":3,"file":"typography-C5fYwhp2.cjs","names":[],"sources":["../../src/components/typography/Typography.tsx"],"sourcesContent":["import React, { type ReactNode, type ElementType } from \"react\";\nimport { mergeClassNames } from \"../../utils\";\n\nexport type TypographyVariant =\n | \"h1\"\n | \"h2\"\n | \"h3\"\n | \"h4\"\n | \"h5\"\n | \"h6\"\n | \"body1\"\n | \"body2\"\n | \"caption\"\n | \"overline\";\n\nexport type TypographyAlign = \"left\" | \"center\" | \"right\" | \"justify\";\nexport type TypographyWeight =\n | \"thin\"\n | \"extralight\"\n | \"light\"\n | \"normal\"\n | \"medium\"\n | \"semibold\"\n | \"bold\"\n | \"extrabold\"\n | \"black\";\nexport type TypographyTracking =\n | \"tighter\"\n | \"tight\"\n | \"normal\"\n | \"wide\"\n | \"wider\"\n | \"widest\";\nexport type TypographyGradient =\n | boolean\n | \"primary\"\n | \"ocean\"\n | \"sunset\"\n | \"aurora\"\n | \"neon\"\n | \"forest\"\n | \"galaxy\";\n\nexport interface TypographyProps {\n children: ReactNode;\n variant?: TypographyVariant;\n align?: TypographyAlign;\n weight?: TypographyWeight;\n tracking?: TypographyTracking;\n italic?: boolean;\n as?: ElementType;\n className?: string;\n gradient?: TypographyGradient;\n style?: React.CSSProperties;\n}\n\nconst variantMapping: Record<TypographyVariant, ElementType> = {\n h1: \"h1\",\n h2: \"h2\",\n h3: \"h3\",\n h4: \"h4\",\n h5: \"h5\",\n h6: \"h6\",\n body1: \"p\",\n body2: \"p\",\n caption: \"span\",\n overline: \"span\",\n};\n\nconst variantStyles: Record<TypographyVariant, string> = {\n h1: \"text-4xl md:text-6xl font-black tracking-tighter uppercase italic leading-tight\",\n h2: \"text-3xl md:text-5xl font-black tracking-tight uppercase italic leading-snug\",\n h3: \"text-2xl md:text-4xl font-extrabold tracking-tight italic\",\n h4: \"text-xl md:text-2xl font-bold tracking-tight\",\n h5: \"text-lg md:text-xl font-bold\",\n h6: \"text-base md:text-lg font-semibold uppercase tracking-widest text-ds-3\",\n body1: \"text-base font-medium leading-relaxed\",\n body2: \"text-sm font-medium leading-relaxed text-ds-2\",\n caption: \"text-xs font-semibold uppercase tracking-wider text-ds-3\",\n overline: \"text-[10px] font-black uppercase tracking-[0.2em] text-ds-2\",\n};\n\nconst alignStyles: Record<TypographyAlign, string> = {\n left: \"text-left\",\n center: \"text-center\",\n right: \"text-right\",\n justify: \"text-justify\",\n};\n\nconst weightStyles: Record<TypographyWeight, string> = {\n thin: \"font-thin\",\n extralight: \"font-extralight\",\n light: \"font-light\",\n normal: \"font-normal\",\n medium: \"font-medium\",\n semibold: \"font-semibold\",\n bold: \"font-bold\",\n extrabold: \"font-extrabold\",\n black: \"font-black\",\n};\n\nconst trackingStyles: Record<TypographyTracking, string> = {\n tighter: \"tracking-tighter\",\n tight: \"tracking-tight\",\n normal: \"tracking-normal\",\n wide: \"tracking-wide\",\n wider: \"tracking-wider\",\n widest: \"tracking-widest\",\n};\n\nconst gradientStyles: Record<string, string> = {\n primary: \"bg-clip-text text-transparent\",\n ocean:\n \"bg-linear-to-r from-cyan-500 to-blue-600 bg-clip-text text-transparent\",\n sunset:\n \"bg-linear-to-r from-orange-500 to-rose-600 bg-clip-text text-transparent\",\n aurora:\n \"bg-linear-to-r from-emerald-400 to-cyan-500 bg-clip-text text-transparent\",\n neon: \"bg-linear-to-r from-fuchsia-500 to-purple-600 bg-clip-text text-transparent\",\n forest:\n \"bg-linear-to-r from-lime-500 to-emerald-600 bg-clip-text text-transparent\",\n galaxy:\n \"bg-linear-to-r from-indigo-500 via-purple-500 to-pink-500 bg-clip-text text-transparent\",\n};\n\nexport const Typography = ({\n children,\n variant = \"body1\",\n align,\n weight,\n tracking,\n italic,\n as,\n className,\n gradient = false,\n style,\n}: TypographyProps) => {\n const Component = as || variantMapping[variant];\n const gradientVariant = gradient === true ? \"primary\" : gradient;\n\n const getGradientClass = () => {\n if (!gradient) return \"\";\n if (gradient === true) return gradientStyles.primary;\n return gradientStyles[gradient] || gradientStyles.primary;\n };\n\n const computedStyle: React.CSSProperties | undefined =\n gradientVariant === \"primary\"\n ? {\n ...style,\n backgroundImage:\n \"linear-gradient(90deg, var(--ds-color-accent), var(--ds-color-accent-hover))\",\n }\n : style;\n\n return (\n <Component\n style={computedStyle}\n className={mergeClassNames(\n variantStyles[variant],\n align && alignStyles[align],\n weight && weightStyles[weight],\n tracking && trackingStyles[tracking],\n italic && \"italic\",\n getGradientClass(),\n className,\n )}\n >\n {children}\n </Component>\n );\n};\n"],"mappings":";;;;;;AAwDA,IAAM,iBAAyD;CAC7D,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,OAAO;CACP,OAAO;CACP,SAAS;CACT,UAAU;AACZ;AAEA,IAAM,gBAAmD;CACvD,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,OAAO;CACP,OAAO;CACP,SAAS;CACT,UAAU;AACZ;AAEA,IAAM,cAA+C;CACnD,MAAM;CACN,QAAQ;CACR,OAAO;CACP,SAAS;AACX;AAEA,IAAM,eAAiD;CACrD,MAAM;CACN,YAAY;CACZ,OAAO;CACP,QAAQ;CACR,QAAQ;CACR,UAAU;CACV,MAAM;CACN,WAAW;CACX,OAAO;AACT;AAEA,IAAM,iBAAqD;CACzD,SAAS;CACT,OAAO;CACP,QAAQ;CACR,MAAM;CACN,OAAO;CACP,QAAQ;AACV;AAEA,IAAM,iBAAyC;CAC7C,SAAS;CACT,OACE;CACF,QACE;CACF,QACE;CACF,MAAM;CACN,QACE;CACF,QACE;AACJ;AAEA,IAAa,cAAc,EACzB,UACA,UAAU,SACV,OACA,QACA,UACA,QACA,IACA,WACA,WAAW,OACX,YACqB;CACrB,MAAM,YAAY,MAAM,eAAe;CACvC,MAAM,kBAAkB,aAAa,OAAO,YAAY;CAExD,MAAM,yBAAyB;EAC7B,IAAI,CAAC,UAAU,OAAO;EACtB,IAAI,aAAa,MAAM,OAAO,eAAe;EAC7C,OAAO,eAAe,aAAa,eAAe;CACpD;CAWA,OACE,iBAAA,GAAA,kBAAA,KAAC,WAAD;EACE,OAVF,oBAAoB,YAChB;GACE,GAAG;GACH,iBACE;EACJ,IACA;EAKF,WAAW,cAAA,gBACT,cAAc,UACd,SAAS,YAAY,QACrB,UAAU,aAAa,SACvB,YAAY,eAAe,WAC3B,UAAU,UACV,iBAAiB,GACjB,SACF;EAEC;CACQ,CAAA;AAEf"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as mergeClassNames } from "./utils-
|
|
1
|
+
import { n as mergeClassNames } from "./utils-Dc7j29ec.mjs";
|
|
2
2
|
import "react";
|
|
3
3
|
import { jsx } from "react/jsx-runtime";
|
|
4
4
|
//#region src/components/typography/Typography.tsx
|
|
@@ -80,4 +80,4 @@ var Typography = ({ children, variant = "body1", align, weight, tracking, italic
|
|
|
80
80
|
//#endregion
|
|
81
81
|
export { Typography as t };
|
|
82
82
|
|
|
83
|
-
//# sourceMappingURL=typography-
|
|
83
|
+
//# sourceMappingURL=typography-Czi7t5y4.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typography-
|
|
1
|
+
{"version":3,"file":"typography-Czi7t5y4.mjs","names":[],"sources":["../../src/components/typography/Typography.tsx"],"sourcesContent":["import React, { type ReactNode, type ElementType } from \"react\";\nimport { mergeClassNames } from \"../../utils\";\n\nexport type TypographyVariant =\n | \"h1\"\n | \"h2\"\n | \"h3\"\n | \"h4\"\n | \"h5\"\n | \"h6\"\n | \"body1\"\n | \"body2\"\n | \"caption\"\n | \"overline\";\n\nexport type TypographyAlign = \"left\" | \"center\" | \"right\" | \"justify\";\nexport type TypographyWeight =\n | \"thin\"\n | \"extralight\"\n | \"light\"\n | \"normal\"\n | \"medium\"\n | \"semibold\"\n | \"bold\"\n | \"extrabold\"\n | \"black\";\nexport type TypographyTracking =\n | \"tighter\"\n | \"tight\"\n | \"normal\"\n | \"wide\"\n | \"wider\"\n | \"widest\";\nexport type TypographyGradient =\n | boolean\n | \"primary\"\n | \"ocean\"\n | \"sunset\"\n | \"aurora\"\n | \"neon\"\n | \"forest\"\n | \"galaxy\";\n\nexport interface TypographyProps {\n children: ReactNode;\n variant?: TypographyVariant;\n align?: TypographyAlign;\n weight?: TypographyWeight;\n tracking?: TypographyTracking;\n italic?: boolean;\n as?: ElementType;\n className?: string;\n gradient?: TypographyGradient;\n style?: React.CSSProperties;\n}\n\nconst variantMapping: Record<TypographyVariant, ElementType> = {\n h1: \"h1\",\n h2: \"h2\",\n h3: \"h3\",\n h4: \"h4\",\n h5: \"h5\",\n h6: \"h6\",\n body1: \"p\",\n body2: \"p\",\n caption: \"span\",\n overline: \"span\",\n};\n\nconst variantStyles: Record<TypographyVariant, string> = {\n h1: \"text-4xl md:text-6xl font-black tracking-tighter uppercase italic leading-tight\",\n h2: \"text-3xl md:text-5xl font-black tracking-tight uppercase italic leading-snug\",\n h3: \"text-2xl md:text-4xl font-extrabold tracking-tight italic\",\n h4: \"text-xl md:text-2xl font-bold tracking-tight\",\n h5: \"text-lg md:text-xl font-bold\",\n h6: \"text-base md:text-lg font-semibold uppercase tracking-widest text-ds-3\",\n body1: \"text-base font-medium leading-relaxed\",\n body2: \"text-sm font-medium leading-relaxed text-ds-2\",\n caption: \"text-xs font-semibold uppercase tracking-wider text-ds-3\",\n overline: \"text-[10px] font-black uppercase tracking-[0.2em] text-ds-2\",\n};\n\nconst alignStyles: Record<TypographyAlign, string> = {\n left: \"text-left\",\n center: \"text-center\",\n right: \"text-right\",\n justify: \"text-justify\",\n};\n\nconst weightStyles: Record<TypographyWeight, string> = {\n thin: \"font-thin\",\n extralight: \"font-extralight\",\n light: \"font-light\",\n normal: \"font-normal\",\n medium: \"font-medium\",\n semibold: \"font-semibold\",\n bold: \"font-bold\",\n extrabold: \"font-extrabold\",\n black: \"font-black\",\n};\n\nconst trackingStyles: Record<TypographyTracking, string> = {\n tighter: \"tracking-tighter\",\n tight: \"tracking-tight\",\n normal: \"tracking-normal\",\n wide: \"tracking-wide\",\n wider: \"tracking-wider\",\n widest: \"tracking-widest\",\n};\n\nconst gradientStyles: Record<string, string> = {\n primary: \"bg-clip-text text-transparent\",\n ocean:\n \"bg-linear-to-r from-cyan-500 to-blue-600 bg-clip-text text-transparent\",\n sunset:\n \"bg-linear-to-r from-orange-500 to-rose-600 bg-clip-text text-transparent\",\n aurora:\n \"bg-linear-to-r from-emerald-400 to-cyan-500 bg-clip-text text-transparent\",\n neon: \"bg-linear-to-r from-fuchsia-500 to-purple-600 bg-clip-text text-transparent\",\n forest:\n \"bg-linear-to-r from-lime-500 to-emerald-600 bg-clip-text text-transparent\",\n galaxy:\n \"bg-linear-to-r from-indigo-500 via-purple-500 to-pink-500 bg-clip-text text-transparent\",\n};\n\nexport const Typography = ({\n children,\n variant = \"body1\",\n align,\n weight,\n tracking,\n italic,\n as,\n className,\n gradient = false,\n style,\n}: TypographyProps) => {\n const Component = as || variantMapping[variant];\n const gradientVariant = gradient === true ? \"primary\" : gradient;\n\n const getGradientClass = () => {\n if (!gradient) return \"\";\n if (gradient === true) return gradientStyles.primary;\n return gradientStyles[gradient] || gradientStyles.primary;\n };\n\n const computedStyle: React.CSSProperties | undefined =\n gradientVariant === \"primary\"\n ? {\n ...style,\n backgroundImage:\n \"linear-gradient(90deg, var(--ds-color-accent), var(--ds-color-accent-hover))\",\n }\n : style;\n\n return (\n <Component\n style={computedStyle}\n className={mergeClassNames(\n variantStyles[variant],\n align && alignStyles[align],\n weight && weightStyles[weight],\n tracking && trackingStyles[tracking],\n italic && \"italic\",\n getGradientClass(),\n className,\n )}\n >\n {children}\n </Component>\n );\n};\n"],"mappings":";;;;AAwDA,IAAM,iBAAyD;CAC7D,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,OAAO;CACP,OAAO;CACP,SAAS;CACT,UAAU;AACZ;AAEA,IAAM,gBAAmD;CACvD,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,OAAO;CACP,OAAO;CACP,SAAS;CACT,UAAU;AACZ;AAEA,IAAM,cAA+C;CACnD,MAAM;CACN,QAAQ;CACR,OAAO;CACP,SAAS;AACX;AAEA,IAAM,eAAiD;CACrD,MAAM;CACN,YAAY;CACZ,OAAO;CACP,QAAQ;CACR,QAAQ;CACR,UAAU;CACV,MAAM;CACN,WAAW;CACX,OAAO;AACT;AAEA,IAAM,iBAAqD;CACzD,SAAS;CACT,OAAO;CACP,QAAQ;CACR,MAAM;CACN,OAAO;CACP,QAAQ;AACV;AAEA,IAAM,iBAAyC;CAC7C,SAAS;CACT,OACE;CACF,QACE;CACF,QACE;CACF,MAAM;CACN,QACE;CACF,QACE;AACJ;AAEA,IAAa,cAAc,EACzB,UACA,UAAU,SACV,OACA,QACA,UACA,QACA,IACA,WACA,WAAW,OACX,YACqB;CACrB,MAAM,YAAY,MAAM,eAAe;CACvC,MAAM,kBAAkB,aAAa,OAAO,YAAY;CAExD,MAAM,yBAAyB;EAC7B,IAAI,CAAC,UAAU,OAAO;EACtB,IAAI,aAAa,MAAM,OAAO,eAAe;EAC7C,OAAO,eAAe,aAAa,eAAe;CACpD;CAWA,OACE,oBAAC,WAAD;EACE,OAVF,oBAAoB,YAChB;GACE,GAAG;GACH,iBACE;EACJ,IACA;EAKF,WAAW,gBACT,cAAc,UACd,SAAS,YAAY,QACrB,UAAU,aAAa,SACvB,YAAY,eAAe,WAC3B,UAAU,UACV,iBAAiB,GACjB,SACF;EAEC;CACQ,CAAA;AAEf"}
|
|
@@ -20,7 +20,7 @@ function clsx() {
|
|
|
20
20
|
return n;
|
|
21
21
|
}
|
|
22
22
|
//#endregion
|
|
23
|
-
//#region ../../node_modules/.pnpm/tailwind-merge@3.
|
|
23
|
+
//#region ../../node_modules/.pnpm/tailwind-merge@3.6.0/node_modules/tailwind-merge/dist/bundle-mjs.mjs
|
|
24
24
|
/**
|
|
25
25
|
* Concatenates two arrays faster than the array spread operator.
|
|
26
26
|
*/
|
|
@@ -303,11 +303,18 @@ var createConfigUtils = (config) => ({
|
|
|
303
303
|
cache: createLruCache(config.cacheSize),
|
|
304
304
|
parseClassName: createParseClassName(config),
|
|
305
305
|
sortModifiers: createSortModifiers(config),
|
|
306
|
+
postfixLookupClassGroupIds: createPostfixLookupClassGroupIds(config),
|
|
306
307
|
...createClassGroupUtils(config)
|
|
307
308
|
});
|
|
309
|
+
var createPostfixLookupClassGroupIds = (config) => {
|
|
310
|
+
const lookup = Object.create(null);
|
|
311
|
+
const classGroupIds = config.postfixLookupClassGroups;
|
|
312
|
+
if (classGroupIds) for (let i = 0; i < classGroupIds.length; i++) lookup[classGroupIds[i]] = true;
|
|
313
|
+
return lookup;
|
|
314
|
+
};
|
|
308
315
|
var SPLIT_CLASSES_REGEX = /\s+/;
|
|
309
316
|
var mergeClassList = (classList, configUtils) => {
|
|
310
|
-
const { parseClassName, getClassGroupId, getConflictingClassGroupIds, sortModifiers } = configUtils;
|
|
317
|
+
const { parseClassName, getClassGroupId, getConflictingClassGroupIds, sortModifiers, postfixLookupClassGroupIds } = configUtils;
|
|
311
318
|
/**
|
|
312
319
|
* Set of classGroupIds in following format:
|
|
313
320
|
* `{importantModifier}{variantModifiers}{classGroupId}`
|
|
@@ -326,7 +333,15 @@ var mergeClassList = (classList, configUtils) => {
|
|
|
326
333
|
continue;
|
|
327
334
|
}
|
|
328
335
|
let hasPostfixModifier = !!maybePostfixModifierPosition;
|
|
329
|
-
let classGroupId
|
|
336
|
+
let classGroupId;
|
|
337
|
+
if (hasPostfixModifier) {
|
|
338
|
+
classGroupId = getClassGroupId(baseClassName.substring(0, maybePostfixModifierPosition));
|
|
339
|
+
const classGroupIdWithPostfix = classGroupId && postfixLookupClassGroupIds[classGroupId] ? getClassGroupId(baseClassName) : void 0;
|
|
340
|
+
if (classGroupIdWithPostfix && classGroupIdWithPostfix !== classGroupId) {
|
|
341
|
+
classGroupId = classGroupIdWithPostfix;
|
|
342
|
+
hasPostfixModifier = false;
|
|
343
|
+
}
|
|
344
|
+
} else classGroupId = getClassGroupId(baseClassName);
|
|
330
345
|
if (!classGroupId) {
|
|
331
346
|
if (!hasPostfixModifier) {
|
|
332
347
|
result = originalClassName + (result.length > 0 ? " " + result : result);
|
|
@@ -434,6 +449,7 @@ var isNever = () => false;
|
|
|
434
449
|
var isShadow = (value) => shadowRegex.test(value);
|
|
435
450
|
var isImage = (value) => imageRegex.test(value);
|
|
436
451
|
var isAnyNonArbitrary = (value) => !isArbitraryValue(value) && !isArbitraryVariable(value);
|
|
452
|
+
var isNamedContainerQuery = (value) => value.startsWith("@container") && (value[10] === "/" && value[11] !== void 0 || value[11] === "s" && value[16] !== void 0 && value.startsWith("-size/", 10) || value[11] === "n" && value[18] !== void 0 && value.startsWith("-normal/", 10));
|
|
437
453
|
var isArbitrarySize = (value) => getIsArbitraryValue(value, isLabelSize, isNever);
|
|
438
454
|
var isArbitraryValue = (value) => arbitraryValueRegex.test(value);
|
|
439
455
|
var isArbitraryLength = (value) => getIsArbitraryValue(value, isLabelLength, isLengthOnly);
|
|
@@ -839,6 +855,22 @@ var getDefaultConfig = () => {
|
|
|
839
855
|
*/
|
|
840
856
|
container: ["container"],
|
|
841
857
|
/**
|
|
858
|
+
* Container Type
|
|
859
|
+
* @see https://tailwindcss.com/docs/responsive-design#container-queries
|
|
860
|
+
*/
|
|
861
|
+
"container-type": [{ "@container": [
|
|
862
|
+
"",
|
|
863
|
+
"normal",
|
|
864
|
+
"size",
|
|
865
|
+
isArbitraryVariable,
|
|
866
|
+
isArbitraryValue
|
|
867
|
+
] }],
|
|
868
|
+
/**
|
|
869
|
+
* Container Name
|
|
870
|
+
* @see https://tailwindcss.com/docs/responsive-design#named-containers
|
|
871
|
+
*/
|
|
872
|
+
"container-named": [isNamedContainerQuery],
|
|
873
|
+
/**
|
|
842
874
|
* Columns
|
|
843
875
|
* @see https://tailwindcss.com/docs/columns
|
|
844
876
|
*/
|
|
@@ -1746,6 +1778,15 @@ var getDefaultConfig = () => {
|
|
|
1746
1778
|
*/
|
|
1747
1779
|
indent: [{ indent: scaleUnambiguousSpacing() }],
|
|
1748
1780
|
/**
|
|
1781
|
+
* Tab Size
|
|
1782
|
+
* @see https://tailwindcss.com/docs/tab-size
|
|
1783
|
+
*/
|
|
1784
|
+
"tab-size": [{ tab: [
|
|
1785
|
+
isInteger,
|
|
1786
|
+
isArbitraryVariable,
|
|
1787
|
+
isArbitraryValue
|
|
1788
|
+
] }],
|
|
1789
|
+
/**
|
|
1749
1790
|
* Vertical Alignment
|
|
1750
1791
|
* @see https://tailwindcss.com/docs/vertical-align
|
|
1751
1792
|
*/
|
|
@@ -2820,6 +2861,15 @@ var getDefaultConfig = () => {
|
|
|
2820
2861
|
*/
|
|
2821
2862
|
"translate-none": ["translate-none"],
|
|
2822
2863
|
/**
|
|
2864
|
+
* Zoom
|
|
2865
|
+
* @see https://tailwindcss.com/docs/zoom
|
|
2866
|
+
*/
|
|
2867
|
+
zoom: [{ zoom: [
|
|
2868
|
+
isInteger,
|
|
2869
|
+
isArbitraryVariable,
|
|
2870
|
+
isArbitraryValue
|
|
2871
|
+
] }],
|
|
2872
|
+
/**
|
|
2823
2873
|
* Accent Color
|
|
2824
2874
|
* @see https://tailwindcss.com/docs/accent-color
|
|
2825
2875
|
*/
|
|
@@ -2916,6 +2966,34 @@ var getDefaultConfig = () => {
|
|
|
2916
2966
|
*/
|
|
2917
2967
|
"scroll-behavior": [{ scroll: ["auto", "smooth"] }],
|
|
2918
2968
|
/**
|
|
2969
|
+
* Scrollbar Thumb Color
|
|
2970
|
+
* @see https://tailwindcss.com/docs/scrollbar-color
|
|
2971
|
+
*/
|
|
2972
|
+
"scrollbar-thumb-color": [{ "scrollbar-thumb": scaleColor() }],
|
|
2973
|
+
/**
|
|
2974
|
+
* Scrollbar Track Color
|
|
2975
|
+
* @see https://tailwindcss.com/docs/scrollbar-color
|
|
2976
|
+
*/
|
|
2977
|
+
"scrollbar-track-color": [{ "scrollbar-track": scaleColor() }],
|
|
2978
|
+
/**
|
|
2979
|
+
* Scrollbar Gutter
|
|
2980
|
+
* @see https://tailwindcss.com/docs/scrollbar-gutter
|
|
2981
|
+
*/
|
|
2982
|
+
"scrollbar-gutter": [{ "scrollbar-gutter": [
|
|
2983
|
+
"auto",
|
|
2984
|
+
"stable",
|
|
2985
|
+
"both"
|
|
2986
|
+
] }],
|
|
2987
|
+
/**
|
|
2988
|
+
* Scrollbar Width
|
|
2989
|
+
* @see https://tailwindcss.com/docs/scrollbar-width
|
|
2990
|
+
*/
|
|
2991
|
+
"scrollbar-w": [{ scrollbar: [
|
|
2992
|
+
"auto",
|
|
2993
|
+
"thin",
|
|
2994
|
+
"none"
|
|
2995
|
+
] }],
|
|
2996
|
+
/**
|
|
2919
2997
|
* Scroll Margin
|
|
2920
2998
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
2921
2999
|
*/
|
|
@@ -3136,6 +3214,7 @@ var getDefaultConfig = () => {
|
|
|
3136
3214
|
"forced-color-adjust": [{ "forced-color-adjust": ["auto", "none"] }]
|
|
3137
3215
|
},
|
|
3138
3216
|
conflictingClassGroups: {
|
|
3217
|
+
"container-named": ["container-type"],
|
|
3139
3218
|
overflow: ["overflow-x", "overflow-y"],
|
|
3140
3219
|
overscroll: ["overscroll-x", "overscroll-y"],
|
|
3141
3220
|
inset: [
|
|
@@ -3301,6 +3380,7 @@ var getDefaultConfig = () => {
|
|
|
3301
3380
|
"touch-pz": ["touch"]
|
|
3302
3381
|
},
|
|
3303
3382
|
conflictingClassGroupModifiers: { "font-size": ["leading"] },
|
|
3383
|
+
postfixLookupClassGroups: ["container-type"],
|
|
3304
3384
|
orderSensitiveModifiers: [
|
|
3305
3385
|
"*",
|
|
3306
3386
|
"**",
|
|
@@ -3354,4 +3434,4 @@ Object.defineProperty(exports, "validateEmail", {
|
|
|
3354
3434
|
}
|
|
3355
3435
|
});
|
|
3356
3436
|
|
|
3357
|
-
//# sourceMappingURL=utils-
|
|
3437
|
+
//# sourceMappingURL=utils-CoA0q63n.cjs.map
|