@techzyapp/ui-library 1.0.43 → 1.0.45
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/README.md +15 -14
- package/dist/{Accordion-B4vdZXIu.cjs → Accordion-CFyeLfPT.cjs} +2 -2
- package/dist/{Accordion-B4vdZXIu.cjs.map → Accordion-CFyeLfPT.cjs.map} +1 -1
- package/dist/{Accordion-DhFZ25KV.js → Accordion-DOrTQJB9.js} +2 -2
- package/dist/{Accordion-DhFZ25KV.js.map → Accordion-DOrTQJB9.js.map} +1 -1
- package/dist/{AdminRoot-BLHvXCvL.js → AdminRoot-BZ1v5vN9.js} +8 -8
- package/dist/{AdminRoot-BLHvXCvL.js.map → AdminRoot-BZ1v5vN9.js.map} +1 -1
- package/dist/{AdminRoot-D_g_TW30.cjs → AdminRoot-DJ4-UMAB.cjs} +2 -2
- package/dist/{AdminRoot-D_g_TW30.cjs.map → AdminRoot-DJ4-UMAB.cjs.map} +1 -1
- package/dist/Alert-BU7GlQna.js +70 -0
- package/dist/{Alert-D5E1PLkV.js.map → Alert-BU7GlQna.js.map} +1 -1
- package/dist/Alert-CVQOjuEq.cjs +2 -0
- package/dist/{Alert-B4XZDk16.cjs.map → Alert-CVQOjuEq.cjs.map} +1 -1
- package/dist/{AuthLayout-q8pbCGdt.js → AuthLayout-BI1wLuDl.js} +2 -2
- package/dist/{AuthLayout-q8pbCGdt.js.map → AuthLayout-BI1wLuDl.js.map} +1 -1
- package/dist/{AuthLayout-exuNQicH.cjs → AuthLayout-Bzlsvicf.cjs} +2 -2
- package/dist/{AuthLayout-exuNQicH.cjs.map → AuthLayout-Bzlsvicf.cjs.map} +1 -1
- package/dist/{Avatar-l48Ice6t.cjs → Avatar-BBqX1732.cjs} +2 -2
- package/dist/{Avatar-l48Ice6t.cjs.map → Avatar-BBqX1732.cjs.map} +1 -1
- package/dist/{Avatar-ClcmN0ba.js → Avatar-CaYyv5wk.js} +2 -2
- package/dist/{Avatar-ClcmN0ba.js.map → Avatar-CaYyv5wk.js.map} +1 -1
- package/dist/{AvatarGroup-l-KV3wdl.js → AvatarGroup-6fhm-van.js} +2 -2
- package/dist/{AvatarGroup-l-KV3wdl.js.map → AvatarGroup-6fhm-van.js.map} +1 -1
- package/dist/{AvatarGroup-CuvFX4di.cjs → AvatarGroup-DrkzAt1-.cjs} +2 -2
- package/dist/{AvatarGroup-CuvFX4di.cjs.map → AvatarGroup-DrkzAt1-.cjs.map} +1 -1
- package/dist/Breadcrumbs-BMz_YVPa.js +34 -0
- package/dist/{Breadcrumbs-M31xyok8.js.map → Breadcrumbs-BMz_YVPa.js.map} +1 -1
- package/dist/Breadcrumbs-BbC0o4JE.cjs +2 -0
- package/dist/{Breadcrumbs-DSUxcp6u.cjs.map → Breadcrumbs-BbC0o4JE.cjs.map} +1 -1
- package/dist/Button-C415LPw_.js +72 -0
- package/dist/{Button-CtADzomU.js.map → Button-C415LPw_.js.map} +1 -1
- package/dist/Button-mBZOvgyZ.cjs +2 -0
- package/dist/{Button-Q_5uA-zc.cjs.map → Button-mBZOvgyZ.cjs.map} +1 -1
- package/dist/{Calendar-CHLCv2s9.js → Calendar-B0f6h9-A.js} +5 -5
- package/dist/{Calendar-CHLCv2s9.js.map → Calendar-B0f6h9-A.js.map} +1 -1
- package/dist/{Calendar-BbbtMsZs.cjs → Calendar-hO051hfk.cjs} +2 -2
- package/dist/{Calendar-BbbtMsZs.cjs.map → Calendar-hO051hfk.cjs.map} +1 -1
- package/dist/{Card-CntRsQfm.cjs → Card-BdNr5row.cjs} +2 -2
- package/dist/{Card-CntRsQfm.cjs.map → Card-BdNr5row.cjs.map} +1 -1
- package/dist/{Card-Br9IB0yM.js → Card-ssUNaOF_.js} +4 -4
- package/dist/{Card-Br9IB0yM.js.map → Card-ssUNaOF_.js.map} +1 -1
- package/dist/Chip-BpJN4rzY.cjs +2 -0
- package/dist/{Chip-CrBizrvG.cjs.map → Chip-BpJN4rzY.cjs.map} +1 -1
- package/dist/Chip-C0x-6g2h.js +92 -0
- package/dist/{Chip-DYZ5w7VM.js.map → Chip-C0x-6g2h.js.map} +1 -1
- package/dist/ChoiceCardGroup-Cj_YFj6C.cjs +2 -0
- package/dist/{ChoiceCardGroup-C7Eengyd.cjs.map → ChoiceCardGroup-Cj_YFj6C.cjs.map} +1 -1
- package/dist/ChoiceCardGroup-D37XREKV.js +180 -0
- package/dist/{ChoiceCardGroup-q0yN-TeQ.js.map → ChoiceCardGroup-D37XREKV.js.map} +1 -1
- package/dist/CodeBlock-DKnWINdV.js +96 -0
- package/dist/{CodeBlock-B6Eqc4HR.js.map → CodeBlock-DKnWINdV.js.map} +1 -1
- package/dist/CodeBlock-DTrzN95i.cjs +2 -0
- package/dist/{CodeBlock-DW4uaZXM.cjs.map → CodeBlock-DTrzN95i.cjs.map} +1 -1
- package/dist/{ColorPicker-GsKIqJu8.js → ColorPicker-Bidev2DJ.js} +3 -3
- package/dist/{ColorPicker-GsKIqJu8.js.map → ColorPicker-Bidev2DJ.js.map} +1 -1
- package/dist/{ColorPicker-nhWd_nOW.cjs → ColorPicker-Doaegll4.cjs} +2 -2
- package/dist/{ColorPicker-nhWd_nOW.cjs.map → ColorPicker-Doaegll4.cjs.map} +1 -1
- package/dist/{ColorPickerPanel-BeAu83S6.cjs → ColorPickerPanel-048Fj7wv.cjs} +2 -2
- package/dist/{ColorPickerPanel-BeAu83S6.cjs.map → ColorPickerPanel-048Fj7wv.cjs.map} +1 -1
- package/dist/{ColorPickerPanel-BEcZePcT.js → ColorPickerPanel-DThSuUoz.js} +3 -3
- package/dist/{ColorPickerPanel-BEcZePcT.js.map → ColorPickerPanel-DThSuUoz.js.map} +1 -1
- package/dist/{ColorRamp-C-zRPhHj.cjs → ColorRamp-CGw4D9bf.cjs} +2 -2
- package/dist/{ColorRamp-C-zRPhHj.cjs.map → ColorRamp-CGw4D9bf.cjs.map} +1 -1
- package/dist/{ColorRamp-CeNgd8wF.js → ColorRamp-Reb0q69d.js} +2 -2
- package/dist/{ColorRamp-CeNgd8wF.js.map → ColorRamp-Reb0q69d.js.map} +1 -1
- package/dist/{ConfigProvider-Ci9Q2HLF.cjs → ConfigProvider-DBU6rOIA.cjs} +2 -2
- package/dist/{ConfigProvider-Ci9Q2HLF.cjs.map → ConfigProvider-DBU6rOIA.cjs.map} +1 -1
- package/dist/{ConfigProvider-Dqfu7UBU.js → ConfigProvider-DVDGtCUc.js} +2 -2
- package/dist/{ConfigProvider-Dqfu7UBU.js.map → ConfigProvider-DVDGtCUc.js.map} +1 -1
- package/dist/{CopyButton-Chr7SP5i.cjs → CopyButton-Cnab62vt.cjs} +2 -2
- package/dist/{CopyButton-Chr7SP5i.cjs.map → CopyButton-Cnab62vt.cjs.map} +1 -1
- package/dist/{CopyButton-Bidt2Vgp.js → CopyButton-Dm8-V4ku.js} +4 -4
- package/dist/{CopyButton-Bidt2Vgp.js.map → CopyButton-Dm8-V4ku.js.map} +1 -1
- package/dist/DashedButton-BX8hfY1x.cjs +2 -0
- package/dist/{DashedButton-Dw7xHgIp.cjs.map → DashedButton-BX8hfY1x.cjs.map} +1 -1
- package/dist/DashedButton-wcmXTYBw.js +58 -0
- package/dist/{DashedButton-csz6Jt_K.js.map → DashedButton-wcmXTYBw.js.map} +1 -1
- package/dist/{DatePicker-D7ZMOhWn.js → DatePicker-C4MTCmDn.js} +6 -6
- package/dist/{DatePicker-D7ZMOhWn.js.map → DatePicker-C4MTCmDn.js.map} +1 -1
- package/dist/{DatePicker-4rb34nPR.cjs → DatePicker-CaGeW_-j.cjs} +2 -2
- package/dist/{DatePicker-4rb34nPR.cjs.map → DatePicker-CaGeW_-j.cjs.map} +1 -1
- package/dist/DatePicker.module-BaQyKOUM.cjs +2 -0
- package/dist/{DatePicker.module-BDtTsg8M.cjs.map → DatePicker.module-BaQyKOUM.cjs.map} +1 -1
- package/dist/DatePicker.module-DoywSvLu.js +138 -0
- package/dist/{DatePicker.module-CMMQyEhG.js.map → DatePicker.module-DoywSvLu.js.map} +1 -1
- package/dist/{DateTimePicker-gDxM2CGy.js → DateTimePicker-B0CjHKPV.js} +9 -9
- package/dist/{DateTimePicker-gDxM2CGy.js.map → DateTimePicker-B0CjHKPV.js.map} +1 -1
- package/dist/{DateTimePicker-CVFzKzyA.cjs → DateTimePicker-DXKaAYey.cjs} +2 -2
- package/dist/{DateTimePicker-CVFzKzyA.cjs.map → DateTimePicker-DXKaAYey.cjs.map} +1 -1
- package/dist/DescriptionList-BSDwobDc.cjs +2 -0
- package/dist/{DescriptionList-BBvfABps.cjs.map → DescriptionList-BSDwobDc.cjs.map} +1 -1
- package/dist/{DescriptionList-Die3lRBW.js → DescriptionList-BkUS5egS.js} +69 -69
- package/dist/{DescriptionList-Die3lRBW.js.map → DescriptionList-BkUS5egS.js.map} +1 -1
- package/dist/Dropdown-C_y9_dVn.cjs +2 -0
- package/dist/Dropdown-C_y9_dVn.cjs.map +1 -0
- package/dist/Dropdown-D-D_Z1Jo.js +154 -0
- package/dist/Dropdown-D-D_Z1Jo.js.map +1 -0
- package/dist/{EmptyState-D5EKQjX1.cjs → EmptyState-CkkFHKrh.cjs} +2 -2
- package/dist/{EmptyState-D5EKQjX1.cjs.map → EmptyState-CkkFHKrh.cjs.map} +1 -1
- package/dist/{EmptyState-DRgER10x.js → EmptyState-DXoaPC7o.js} +3 -3
- package/dist/{EmptyState-DRgER10x.js.map → EmptyState-DXoaPC7o.js.map} +1 -1
- package/dist/{ErrorBoundary-CLfE2NjU.js → ErrorBoundary-CSP_Ctg6.js} +3 -3
- package/dist/{ErrorBoundary-CLfE2NjU.js.map → ErrorBoundary-CSP_Ctg6.js.map} +1 -1
- package/dist/{ErrorBoundary-DVcGWZd8.cjs → ErrorBoundary-tZjKtO28.cjs} +2 -2
- package/dist/{ErrorBoundary-DVcGWZd8.cjs.map → ErrorBoundary-tZjKtO28.cjs.map} +1 -1
- package/dist/{ErrorState-DJDQbHZY.cjs → ErrorState-JH4JdrTI.cjs} +2 -2
- package/dist/{ErrorState-DJDQbHZY.cjs.map → ErrorState-JH4JdrTI.cjs.map} +1 -1
- package/dist/{ErrorState-Dqw0AvmB.js → ErrorState-WYsly5-i.js} +8 -8
- package/dist/{ErrorState-Dqw0AvmB.js.map → ErrorState-WYsly5-i.js.map} +1 -1
- package/dist/FileCard-BIfPqeek.cjs +2 -0
- package/dist/{FileCard-BqMproT9.cjs.map → FileCard-BIfPqeek.cjs.map} +1 -1
- package/dist/{FileCard-kVnjcSlk.js → FileCard-D4TB3qGG.js} +33 -33
- package/dist/{FileCard-kVnjcSlk.js.map → FileCard-D4TB3qGG.js.map} +1 -1
- package/dist/FileUploader-DPVF76Ha.js +701 -0
- package/dist/FileUploader-DPVF76Ha.js.map +1 -0
- package/dist/FileUploader-YE_DfTNC.cjs +2 -0
- package/dist/FileUploader-YE_DfTNC.cjs.map +1 -0
- package/dist/{Flag-B1ZvZVXi.cjs → Flag-B6OhgwZr.cjs} +2 -2
- package/dist/{Flag-B1ZvZVXi.cjs.map → Flag-B6OhgwZr.cjs.map} +1 -1
- package/dist/{Flag-BEIqYQZg.js → Flag-Q3vI7cgt.js} +2 -2
- package/dist/{Flag-BEIqYQZg.js.map → Flag-Q3vI7cgt.js.map} +1 -1
- package/dist/{FullscreenToggle-BuQonKW8.js → FullscreenToggle-CxwGPLdd.js} +4 -4
- package/dist/{FullscreenToggle-BuQonKW8.js.map → FullscreenToggle-CxwGPLdd.js.map} +1 -1
- package/dist/{FullscreenToggle-CWlOXLss.cjs → FullscreenToggle-ipX55Nj4.cjs} +2 -2
- package/dist/{FullscreenToggle-CWlOXLss.cjs.map → FullscreenToggle-ipX55Nj4.cjs.map} +1 -1
- package/dist/Icon-B7DJn8Tw.js +5418 -0
- package/dist/Icon-B7DJn8Tw.js.map +1 -0
- package/dist/Icon-CBg21lKA.cjs +2 -0
- package/dist/Icon-CBg21lKA.cjs.map +1 -0
- package/dist/IconButton-U_sr2Ahy.cjs +2 -0
- package/dist/{IconButton-CiDPeKM4.cjs.map → IconButton-U_sr2Ahy.cjs.map} +1 -1
- package/dist/IconButton-re6xITGO.js +68 -0
- package/dist/{IconButton-BoURJOUD.js.map → IconButton-re6xITGO.js.map} +1 -1
- package/dist/ImageEditor-1n50vo_v.cjs +64 -0
- package/dist/ImageEditor-1n50vo_v.cjs.map +1 -0
- package/dist/ImageEditor-BwrG1fk7.js +2729 -0
- package/dist/ImageEditor-BwrG1fk7.js.map +1 -0
- package/dist/Link-BZjolIAF.js +48 -0
- package/dist/{Link-BQlvsu9V.js.map → Link-BZjolIAF.js.map} +1 -1
- package/dist/Link-CtttVM6w.cjs +2 -0
- package/dist/{Link-GZT51mKx.cjs.map → Link-CtttVM6w.cjs.map} +1 -1
- package/dist/{List-CKoNx21F.cjs → List-CLUXeaXS.cjs} +2 -2
- package/dist/{List-CKoNx21F.cjs.map → List-CLUXeaXS.cjs.map} +1 -1
- package/dist/{List-2Y3ktTcF.js → List-DS91CZUt.js} +2 -2
- package/dist/{List-2Y3ktTcF.js.map → List-DS91CZUt.js.map} +1 -1
- package/dist/ListItem-CguNjf-u.cjs +2 -0
- package/dist/{ListItem-DkCYXucd.cjs.map → ListItem-CguNjf-u.cjs.map} +1 -1
- package/dist/ListItem-Ezmdk7q-.js +76 -0
- package/dist/{ListItem-2Lr5_NRY.js.map → ListItem-Ezmdk7q-.js.map} +1 -1
- package/dist/{Loader-CnTuddK7.js → Loader-7v1QBvHY.js} +2 -2
- package/dist/{Loader-CnTuddK7.js.map → Loader-7v1QBvHY.js.map} +1 -1
- package/dist/{Loader-CAmRn8Oj.cjs → Loader-BE3SQr7W.cjs} +2 -2
- package/dist/{Loader-CAmRn8Oj.cjs.map → Loader-BE3SQr7W.cjs.map} +1 -1
- package/dist/{LocationPicker-Cns3fkYI.js → LocationPicker-BvKtZFq0.js} +8 -8
- package/dist/{LocationPicker-Cns3fkYI.js.map → LocationPicker-BvKtZFq0.js.map} +1 -1
- package/dist/{LocationPicker-BwQ6ULMF.cjs → LocationPicker-CVJ4jVn2.cjs} +2 -2
- package/dist/{LocationPicker-BwQ6ULMF.cjs.map → LocationPicker-CVJ4jVn2.cjs.map} +1 -1
- package/dist/Modal-CxODxl81.cjs +2 -0
- package/dist/Modal-CxODxl81.cjs.map +1 -0
- package/dist/Modal-DpoiMMM3.js +154 -0
- package/dist/Modal-DpoiMMM3.js.map +1 -0
- package/dist/MultiSelect-2GouMRTl.cjs +2 -0
- package/dist/{MultiSelect-DJ6tRseY.cjs.map → MultiSelect-2GouMRTl.cjs.map} +1 -1
- package/dist/MultiSelect-B7KwEhL5.js +219 -0
- package/dist/{MultiSelect-svEVZNbp.js.map → MultiSelect-B7KwEhL5.js.map} +1 -1
- package/dist/{NumberField-9ekoB1wS.js → NumberField-ThojS4K3.js} +4 -4
- package/dist/{NumberField-9ekoB1wS.js.map → NumberField-ThojS4K3.js.map} +1 -1
- package/dist/{NumberField-sokUuuBR.cjs → NumberField-o2z2QNK1.cjs} +2 -2
- package/dist/{NumberField-sokUuuBR.cjs.map → NumberField-o2z2QNK1.cjs.map} +1 -1
- package/dist/OtpField-BhZq44vV.cjs +2 -0
- package/dist/{OtpField-DlkGju72.cjs.map → OtpField-BhZq44vV.cjs.map} +1 -1
- package/dist/{OtpField-DA7zJwy9.js → OtpField-C3MlMZ2F.js} +61 -61
- package/dist/{OtpField-DA7zJwy9.js.map → OtpField-C3MlMZ2F.js.map} +1 -1
- package/dist/Overlay-CywFQfjm.cjs +2 -0
- package/dist/Overlay-CywFQfjm.cjs.map +1 -0
- package/dist/Overlay-DiL0ZARH.js +60 -0
- package/dist/Overlay-DiL0ZARH.js.map +1 -0
- package/dist/{PageError-vD8Dpfns.js → PageError-63Gk6fVC.js} +5 -5
- package/dist/{PageError-vD8Dpfns.js.map → PageError-63Gk6fVC.js.map} +1 -1
- package/dist/{PageError-DUN5PzDF.cjs → PageError-CCKWbrc5.cjs} +2 -2
- package/dist/{PageError-DUN5PzDF.cjs.map → PageError-CCKWbrc5.cjs.map} +1 -1
- package/dist/{PageLayout-CdObvxt7.js → PageLayout-BekkDBtT.js} +5 -5
- package/dist/{PageLayout-CdObvxt7.js.map → PageLayout-BekkDBtT.js.map} +1 -1
- package/dist/{PageLayout-BesuKuX6.cjs → PageLayout-CDPUYu6A.cjs} +2 -2
- package/dist/{PageLayout-BesuKuX6.cjs.map → PageLayout-CDPUYu6A.cjs.map} +1 -1
- package/dist/{PageNotFound-Cc5eZ6w3.js → PageNotFound-BD3zX3cd.js} +5 -5
- package/dist/{PageNotFound-Cc5eZ6w3.js.map → PageNotFound-BD3zX3cd.js.map} +1 -1
- package/dist/{PageNotFound-CfOAhmJ-.cjs → PageNotFound-CTR6htwa.cjs} +2 -2
- package/dist/{PageNotFound-CfOAhmJ-.cjs.map → PageNotFound-CTR6htwa.cjs.map} +1 -1
- package/dist/Pagination-BJvLUjQ0.cjs +2 -0
- package/dist/{Pagination-CAD9_Nr_.cjs.map → Pagination-BJvLUjQ0.cjs.map} +1 -1
- package/dist/Pagination-qKjISBJ9.js +139 -0
- package/dist/{Pagination-CX0S1RrF.js.map → Pagination-qKjISBJ9.js.map} +1 -1
- package/dist/{PaletteField-CpiEkXcB.cjs → PaletteField-CDS9CJW9.cjs} +2 -2
- package/dist/{PaletteField-CpiEkXcB.cjs.map → PaletteField-CDS9CJW9.cjs.map} +1 -1
- package/dist/{PaletteField-CVIwl2nV.js → PaletteField-y8KpR4Ap.js} +3 -3
- package/dist/{PaletteField-CVIwl2nV.js.map → PaletteField-y8KpR4Ap.js.map} +1 -1
- package/dist/PhoneField-Df3J6Hhg.cjs +2 -0
- package/dist/{PhoneField-Dlnnv4DU.cjs.map → PhoneField-Df3J6Hhg.cjs.map} +1 -1
- package/dist/{PhoneField-xHLTU-o5.js → PhoneField-OjsuevPx.js} +106 -106
- package/dist/{PhoneField-xHLTU-o5.js.map → PhoneField-OjsuevPx.js.map} +1 -1
- package/dist/{Popconfirm-Chlm_M5T.cjs → Popconfirm-BKzJ_EZy.cjs} +2 -2
- package/dist/{Popconfirm-Chlm_M5T.cjs.map → Popconfirm-BKzJ_EZy.cjs.map} +1 -1
- package/dist/{Popconfirm-DIlygJY8.js → Popconfirm-aCyniPnH.js} +4 -4
- package/dist/{Popconfirm-DIlygJY8.js.map → Popconfirm-aCyniPnH.js.map} +1 -1
- package/dist/{Progress-DqvKmyQW.cjs → Progress-DWOoLd8u.cjs} +2 -2
- package/dist/{Progress-DqvKmyQW.cjs.map → Progress-DWOoLd8u.cjs.map} +1 -1
- package/dist/{Progress-BAEhawtj.js → Progress-DzxbkcaD.js} +2 -2
- package/dist/{Progress-BAEhawtj.js.map → Progress-DzxbkcaD.js.map} +1 -1
- package/dist/{QrCode-Dqsk49vX.cjs → QrCode-C8uAPiHq.cjs} +2 -2
- package/dist/{QrCode-Dqsk49vX.cjs.map → QrCode-C8uAPiHq.cjs.map} +1 -1
- package/dist/{QrCode-D7BTYcW2.js → QrCode-DaJYqBc1.js} +2 -2
- package/dist/{QrCode-D7BTYcW2.js.map → QrCode-DaJYqBc1.js.map} +1 -1
- package/dist/{RemoveDialog-DZ-EqIfS.cjs → RemoveDialog-BnOtR6-q.cjs} +2 -2
- package/dist/{RemoveDialog-DZ-EqIfS.cjs.map → RemoveDialog-BnOtR6-q.cjs.map} +1 -1
- package/dist/{RemoveDialog-CQIm9GTH.js → RemoveDialog-MhEU5Zl3.js} +6 -6
- package/dist/{RemoveDialog-CQIm9GTH.js.map → RemoveDialog-MhEU5Zl3.js.map} +1 -1
- package/dist/RichTextEditor-Cnrnvv1f.cjs +2 -0
- package/dist/RichTextEditor-Cnrnvv1f.cjs.map +1 -0
- package/dist/RichTextEditor-zkoxujnO.js +1148 -0
- package/dist/RichTextEditor-zkoxujnO.js.map +1 -0
- package/dist/{RootLayout-Cl98ghy1.js → RootLayout-C4r9i5Go.js} +21 -21
- package/dist/{RootLayout-Cl98ghy1.js.map → RootLayout-C4r9i5Go.js.map} +1 -1
- package/dist/{RootLayout-s_Q_kSoS.cjs → RootLayout-Z9PuRfsa.cjs} +2 -2
- package/dist/{RootLayout-s_Q_kSoS.cjs.map → RootLayout-Z9PuRfsa.cjs.map} +1 -1
- package/dist/Select-CylqFHce.cjs +2 -0
- package/dist/{Select-BrjXCXtl.cjs.map → Select-CylqFHce.cjs.map} +1 -1
- package/dist/{Select-CG8UJL9R.js → Select-jT94L1vq.js} +47 -47
- package/dist/{Select-CG8UJL9R.js.map → Select-jT94L1vq.js.map} +1 -1
- package/dist/{Sidebar-CbPr34jd.js → Sidebar-B1O2RsbR.js} +59 -59
- package/dist/{Sidebar-CbPr34jd.js.map → Sidebar-B1O2RsbR.js.map} +1 -1
- package/dist/Sidebar-Bcm0fgVm.cjs +2 -0
- package/dist/{Sidebar-DLlqHvQJ.cjs.map → Sidebar-Bcm0fgVm.cjs.map} +1 -1
- package/dist/{Slider-DTnui01g.cjs → Slider-CV7ug0WF.cjs} +2 -2
- package/dist/{Slider-DTnui01g.cjs.map → Slider-CV7ug0WF.cjs.map} +1 -1
- package/dist/{Slider-B5iG-HSw.js → Slider-DC-ugZwT.js} +2 -2
- package/dist/{Slider-B5iG-HSw.js.map → Slider-DC-ugZwT.js.map} +1 -1
- package/dist/{SpeedDial-Be3SHkzw.js → SpeedDial-C6yiMUe8.js} +3 -3
- package/dist/{SpeedDial-Be3SHkzw.js.map → SpeedDial-C6yiMUe8.js.map} +1 -1
- package/dist/{SpeedDial-i5kxikmt.cjs → SpeedDial-DOgm2DDX.cjs} +2 -2
- package/dist/{SpeedDial-i5kxikmt.cjs.map → SpeedDial-DOgm2DDX.cjs.map} +1 -1
- package/dist/Stepper-BZdYGpBN.js +168 -0
- package/dist/{Stepper-BDQt-oVG.js.map → Stepper-BZdYGpBN.js.map} +1 -1
- package/dist/Stepper-DqM86TGV.cjs +2 -0
- package/dist/{Stepper-e8qBsKYW.cjs.map → Stepper-DqM86TGV.cjs.map} +1 -1
- package/dist/{SwatchPicker-0gnOvv7U.cjs → SwatchPicker-DCjE0T80.cjs} +2 -2
- package/dist/{SwatchPicker-0gnOvv7U.cjs.map → SwatchPicker-DCjE0T80.cjs.map} +1 -1
- package/dist/{SwatchPicker-BZHRELA-.js → SwatchPicker-DS4WY2eM.js} +2 -2
- package/dist/{SwatchPicker-BZHRELA-.js.map → SwatchPicker-DS4WY2eM.js.map} +1 -1
- package/dist/Table-BgaCwRDQ.cjs +2 -0
- package/dist/Table-BgaCwRDQ.cjs.map +1 -0
- package/dist/{Table-ChdM_vyi.js → Table-FZlVWoYi.js} +346 -346
- package/dist/Table-FZlVWoYi.js.map +1 -0
- package/dist/Tabs-BqQPkorY.js +193 -0
- package/dist/{Tabs-BxZrgozI.js.map → Tabs-BqQPkorY.js.map} +1 -1
- package/dist/Tabs-kGeyFhJ6.cjs +2 -0
- package/dist/{Tabs-C4kB1yfG.cjs.map → Tabs-kGeyFhJ6.cjs.map} +1 -1
- package/dist/{TagsField-Bg5BcQU-.cjs → TagsField-B_sjp48X.cjs} +2 -2
- package/dist/{TagsField-Bg5BcQU-.cjs.map → TagsField-B_sjp48X.cjs.map} +1 -1
- package/dist/{TagsField-DWlIt7XO.js → TagsField-ByTx9JXK.js} +5 -5
- package/dist/{TagsField-DWlIt7XO.js.map → TagsField-ByTx9JXK.js.map} +1 -1
- package/dist/{TextField-B-xqoDZR.cjs → TextField-CBYJIfau.cjs} +2 -2
- package/dist/{TextField-B-xqoDZR.cjs.map → TextField-CBYJIfau.cjs.map} +1 -1
- package/dist/{TextField-Dwx5GPxz.js → TextField-CyKIx-d-.js} +4 -4
- package/dist/{TextField-Dwx5GPxz.js.map → TextField-CyKIx-d-.js.map} +1 -1
- package/dist/{ThemeToggle-DFgv1bsh.cjs → ThemeToggle-D2dIqiBa.cjs} +2 -2
- package/dist/{ThemeToggle-DFgv1bsh.cjs.map → ThemeToggle-D2dIqiBa.cjs.map} +1 -1
- package/dist/{ThemeToggle-CK2USfgx.js → ThemeToggle-Dg6IishB.js} +4 -4
- package/dist/{ThemeToggle-CK2USfgx.js.map → ThemeToggle-Dg6IishB.js.map} +1 -1
- package/dist/TimeColumns-Cx8J5qzW.js +147 -0
- package/dist/{TimeColumns-BWcuu3l7.js.map → TimeColumns-Cx8J5qzW.js.map} +1 -1
- package/dist/TimeColumns-DVmK_T_P.cjs +2 -0
- package/dist/{TimeColumns-B8KTj-tc.cjs.map → TimeColumns-DVmK_T_P.cjs.map} +1 -1
- package/dist/{TimePicker-DjL15hz1.cjs → TimePicker-0nZOPRKp.cjs} +2 -2
- package/dist/{TimePicker-DjL15hz1.cjs.map → TimePicker-0nZOPRKp.cjs.map} +1 -1
- package/dist/{TimePicker-YMVHevpZ.js → TimePicker-sAhtvqQ4.js} +7 -7
- package/dist/{TimePicker-YMVHevpZ.js.map → TimePicker-sAhtvqQ4.js.map} +1 -1
- package/dist/Timeline-DOojNvLG.cjs +2 -0
- package/dist/Timeline-DOojNvLG.cjs.map +1 -0
- package/dist/Timeline-Dg03dwTN.js +87 -0
- package/dist/Timeline-Dg03dwTN.js.map +1 -0
- package/dist/{Toaster-pHN2pxrU.js → Toaster-BOW9rzLq.js} +3 -3
- package/dist/{Toaster-pHN2pxrU.js.map → Toaster-BOW9rzLq.js.map} +1 -1
- package/dist/{Toaster-9hZ5MuW7.cjs → Toaster-DYGo92ke.cjs} +2 -2
- package/dist/{Toaster-9hZ5MuW7.cjs.map → Toaster-DYGo92ke.cjs.map} +1 -1
- package/dist/ToggleButtonGroup-CGNRLxjg.cjs +2 -0
- package/dist/{ToggleButtonGroup-Ci_DFvdt.cjs.map → ToggleButtonGroup-CGNRLxjg.cjs.map} +1 -1
- package/dist/{ToggleButtonGroup-Mdskkjdh.js → ToggleButtonGroup-K6ZcrTZT.js} +37 -37
- package/dist/{ToggleButtonGroup-Mdskkjdh.js.map → ToggleButtonGroup-K6ZcrTZT.js.map} +1 -1
- package/dist/{TranslatedFields-SvS37hab.cjs → TranslatedFields-C_DuLotV.cjs} +2 -2
- package/dist/{TranslatedFields-SvS37hab.cjs.map → TranslatedFields-C_DuLotV.cjs.map} +1 -1
- package/dist/{TranslatedFields-BpWU5ZcG.js → TranslatedFields-CcE0td9p.js} +5 -5
- package/dist/{TranslatedFields-BpWU5ZcG.js.map → TranslatedFields-CcE0td9p.js.map} +1 -1
- package/dist/{UserCard-VPaexedS.cjs → UserCard-DLVptkLr.cjs} +2 -2
- package/dist/{UserCard-VPaexedS.cjs.map → UserCard-DLVptkLr.cjs.map} +1 -1
- package/dist/{UserCard-cmZrMvwL.js → UserCard-DeONbaKj.js} +5 -5
- package/dist/{UserCard-cmZrMvwL.js.map → UserCard-DeONbaKj.js.map} +1 -1
- package/dist/chunks/icons/{25-knEB8mSp.js → 25-BMMPtr_E.js} +4 -5
- package/dist/chunks/icons/{25-Dho_3EHD.cjs → 25-uATZNfXE.cjs} +1 -1
- package/dist/chunks/icons/{2b-CQJdcF1h.js → 2b-Brkug4c-.js} +10 -11
- package/dist/chunks/icons/{2b-C2_97u16.cjs → 2b-CIVRGp1R.cjs} +1 -1
- package/dist/chunks/icons/57-BLoIUlhF.js +27 -0
- package/dist/chunks/icons/57-D4zLdDZ1.cjs +1 -0
- package/dist/chunks/icons/{75-DqLkMUyj.cjs → 75-C2eJ2Tvr.cjs} +1 -1
- package/dist/chunks/icons/{75-D5RQw6IJ.js → 75-D16WojvG.js} +6 -7
- package/dist/chunks/icons/{7c-DpnA_JOJ.js → 7c-0j5Sno5_.js} +6 -7
- package/dist/chunks/icons/{7c-DEaFwltT.cjs → 7c-LUfAyp72.cjs} +1 -1
- package/dist/chunks/icons/8a-BJ_LOjmW.js +26 -0
- package/dist/chunks/icons/8a-CYkhOibI.cjs +1 -0
- package/dist/chunks/icons/97-Bx7FkkGJ.js +12 -0
- package/dist/chunks/icons/97-D7pUHrOX.cjs +1 -0
- package/dist/chunks/icons/{b7-BtHkI92Y.js → b7-DmmkevXf.js} +17 -18
- package/dist/chunks/icons/{b7-B-dB5jrV.cjs → b7-rI1GpsxW.cjs} +1 -1
- package/dist/chunks/icons/b8-De0yKEKv.js +28 -0
- package/dist/chunks/icons/b8-eR814BVJ.cjs +1 -0
- package/dist/chunks/icons/{b9-Bw942fE3.js → b9-CJO6ZdSw.js} +10 -11
- package/dist/chunks/icons/{b9-Be-J4RIp.cjs → b9-DZdWz9qg.cjs} +1 -1
- package/dist/chunks/icons/d5-BAPeb6B0.cjs +1 -0
- package/dist/chunks/icons/d5-BJJanOLe.js +21 -0
- package/dist/chunks/icons/d8--vRkIVal.js +19 -0
- package/dist/chunks/icons/d8-BfMys92X.cjs +1 -0
- package/dist/chunks/icons/dd-CARhkHmU.js +21 -0
- package/dist/chunks/icons/dd-D61yllMP.cjs +1 -0
- package/dist/components/Accordion/index.cjs +1 -1
- package/dist/components/Accordion/index.js +1 -1
- package/dist/components/Alert/index.cjs +1 -1
- package/dist/components/Alert/index.js +1 -1
- package/dist/components/AuthLayout/index.cjs +1 -1
- package/dist/components/AuthLayout/index.js +1 -1
- package/dist/components/Avatar/index.cjs +1 -1
- package/dist/components/Avatar/index.js +2 -2
- package/dist/components/Breadcrumbs/index.cjs +1 -1
- package/dist/components/Breadcrumbs/index.js +1 -1
- package/dist/components/Button/index.cjs +1 -1
- package/dist/components/Button/index.js +1 -1
- package/dist/components/Card/index.cjs +1 -1
- package/dist/components/Card/index.js +1 -1
- package/dist/components/Chip/index.cjs +1 -1
- package/dist/components/Chip/index.js +1 -1
- package/dist/components/ChoiceCard/index.cjs +1 -1
- package/dist/components/ChoiceCard/index.js +1 -1
- package/dist/components/CodeBlock/index.cjs +1 -1
- package/dist/components/CodeBlock/index.js +1 -1
- package/dist/components/ColorPicker/index.cjs +1 -1
- package/dist/components/ColorPicker/index.js +1 -1
- package/dist/components/ColorRamp/index.cjs +1 -1
- package/dist/components/ColorRamp/index.js +1 -1
- package/dist/components/CopyButton/index.cjs +1 -1
- package/dist/components/CopyButton/index.js +1 -1
- package/dist/components/DashedButton/index.cjs +1 -1
- package/dist/components/DashedButton/index.js +1 -1
- package/dist/components/DatePicker/index.cjs +1 -1
- package/dist/components/DatePicker/index.js +1 -1
- package/dist/components/DateTimePicker/index.cjs +1 -1
- package/dist/components/DateTimePicker/index.js +1 -1
- package/dist/components/DescriptionList/index.cjs +1 -1
- package/dist/components/DescriptionList/index.js +1 -1
- package/dist/components/Dropdown/index.cjs +1 -1
- package/dist/components/Dropdown/index.js +1 -1
- package/dist/components/EmptyState/index.cjs +1 -1
- package/dist/components/EmptyState/index.js +1 -1
- package/dist/components/ErrorState/index.cjs +1 -1
- package/dist/components/ErrorState/index.js +2 -2
- package/dist/components/FileCard/index.cjs +1 -1
- package/dist/components/FileCard/index.js +1 -1
- package/dist/components/FileUploader/FileUploader.d.cts +33 -5
- package/dist/components/FileUploader/FileUploader.d.ts +33 -5
- package/dist/components/FileUploader/FileUploaderEditDialog.d.cts +8 -18
- package/dist/components/FileUploader/FileUploaderEditDialog.d.ts +8 -18
- package/dist/components/FileUploader/index.cjs +1 -1
- package/dist/components/FileUploader/index.js +1 -1
- package/dist/components/Flag/index.cjs +1 -1
- package/dist/components/Flag/index.js +1 -1
- package/dist/components/FullscreenToggle/index.cjs +1 -1
- package/dist/components/FullscreenToggle/index.js +1 -1
- package/dist/components/Icon/index.cjs +1 -1
- package/dist/components/Icon/index.js +1 -1
- package/dist/components/IconButton/index.cjs +1 -1
- package/dist/components/IconButton/index.js +1 -1
- package/dist/components/ImageEditor/CropShapeMenu.d.cts +17 -0
- package/dist/components/ImageEditor/CropShapeMenu.d.ts +17 -0
- package/dist/components/ImageEditor/EditorStage.d.cts +27 -0
- package/dist/components/ImageEditor/EditorStage.d.ts +27 -0
- package/dist/components/ImageEditor/FilterStrip.d.cts +14 -0
- package/dist/components/ImageEditor/FilterStrip.d.ts +14 -0
- package/dist/components/ImageEditor/ImageEditor.d.cts +30 -0
- package/dist/components/ImageEditor/ImageEditor.d.ts +30 -0
- package/dist/components/ImageEditor/ResizePanel.d.cts +19 -0
- package/dist/components/ImageEditor/ResizePanel.d.ts +19 -0
- package/dist/components/ImageEditor/RulerSlider.d.cts +37 -0
- package/dist/components/ImageEditor/RulerSlider.d.ts +37 -0
- package/dist/components/ImageEditor/core/affine.d.cts +11 -0
- package/dist/components/ImageEditor/core/affine.d.ts +11 -0
- package/dist/components/ImageEditor/core/editor.d.cts +69 -0
- package/dist/components/ImageEditor/core/editor.d.ts +69 -0
- package/dist/components/ImageEditor/core/geometry.d.cts +112 -0
- package/dist/components/ImageEditor/core/geometry.d.ts +112 -0
- package/dist/components/ImageEditor/core/load.d.cts +26 -0
- package/dist/components/ImageEditor/core/load.d.ts +26 -0
- package/dist/components/ImageEditor/core/matrix.d.cts +55 -0
- package/dist/components/ImageEditor/core/matrix.d.ts +55 -0
- package/dist/components/ImageEditor/core/pixels.d.cts +24 -0
- package/dist/components/ImageEditor/core/pixels.d.ts +24 -0
- package/dist/components/ImageEditor/core/redact.d.cts +37 -0
- package/dist/components/ImageEditor/core/redact.d.ts +37 -0
- package/dist/components/ImageEditor/core/render.d.cts +19 -0
- package/dist/components/ImageEditor/core/render.d.ts +19 -0
- package/dist/components/ImageEditor/core/scene.d.cts +47 -0
- package/dist/components/ImageEditor/core/scene.d.ts +47 -0
- package/dist/components/ImageEditor/core/spring.d.cts +17 -0
- package/dist/components/ImageEditor/core/spring.d.ts +17 -0
- package/dist/components/ImageEditor/core/types.d.cts +104 -0
- package/dist/components/ImageEditor/core/types.d.ts +104 -0
- package/dist/components/ImageEditor/core/webgl.d.cts +55 -0
- package/dist/components/ImageEditor/core/webgl.d.ts +55 -0
- package/dist/components/ImageEditor/index.cjs +2 -0
- package/dist/components/ImageEditor/index.cjs.map +1 -0
- package/dist/components/ImageEditor/index.d.cts +6 -0
- package/dist/components/ImageEditor/index.d.ts +6 -0
- package/dist/components/ImageEditor/index.js +9 -0
- package/dist/components/ImageEditor/index.js.map +1 -0
- package/dist/components/Link/index.cjs +1 -1
- package/dist/components/Link/index.js +1 -1
- package/dist/components/List/index.cjs +1 -1
- package/dist/components/List/index.js +2 -2
- package/dist/components/Loader/index.cjs +1 -1
- package/dist/components/Loader/index.js +1 -1
- package/dist/components/LocationPicker/index.cjs +1 -1
- package/dist/components/LocationPicker/index.js +1 -1
- package/dist/components/Modal/index.cjs +1 -1
- package/dist/components/Modal/index.js +1 -1
- package/dist/components/MultiSelect/index.cjs +1 -1
- package/dist/components/MultiSelect/index.js +1 -1
- package/dist/components/NumberField/index.cjs +1 -1
- package/dist/components/NumberField/index.js +1 -1
- package/dist/components/OtpField/index.cjs +1 -1
- package/dist/components/OtpField/index.js +1 -1
- package/dist/components/PageError/index.cjs +1 -1
- package/dist/components/PageError/index.js +1 -1
- package/dist/components/PageLayout/index.cjs +1 -1
- package/dist/components/PageLayout/index.js +1 -1
- package/dist/components/PageNotFound/index.cjs +1 -1
- package/dist/components/PageNotFound/index.js +1 -1
- package/dist/components/Pagination/index.cjs +1 -1
- package/dist/components/Pagination/index.js +1 -1
- package/dist/components/PaletteField/index.cjs +1 -1
- package/dist/components/PaletteField/index.js +1 -1
- package/dist/components/PhoneField/index.cjs +1 -1
- package/dist/components/PhoneField/index.js +1 -1
- package/dist/components/Popconfirm/index.cjs +1 -1
- package/dist/components/Popconfirm/index.js +1 -1
- package/dist/components/Progress/index.cjs +1 -1
- package/dist/components/Progress/index.js +1 -1
- package/dist/components/QrCode/index.cjs +1 -1
- package/dist/components/QrCode/index.js +1 -1
- package/dist/components/RemoveDialog/index.cjs +1 -1
- package/dist/components/RemoveDialog/index.js +1 -1
- package/dist/components/RichTextEditor/RichTextEditor.d.cts +3 -2
- package/dist/components/RichTextEditor/RichTextEditor.d.ts +3 -2
- package/dist/components/RichTextEditor/index.cjs +1 -1
- package/dist/components/RichTextEditor/index.js +1 -1
- package/dist/components/RichTextEditor/nodes/ImageNode.d.cts +22 -7
- package/dist/components/RichTextEditor/nodes/ImageNode.d.ts +22 -7
- package/dist/components/RichTextEditor/nodes/VideoNode.d.cts +4 -4
- package/dist/components/RichTextEditor/nodes/VideoNode.d.ts +4 -4
- package/dist/components/RootLayout/index.cjs +1 -1
- package/dist/components/RootLayout/index.js +1 -1
- package/dist/components/Select/index.cjs +1 -1
- package/dist/components/Select/index.js +1 -1
- package/dist/components/Sidebar/index.cjs +1 -1
- package/dist/components/Sidebar/index.js +1 -1
- package/dist/components/Slider/index.cjs +1 -1
- package/dist/components/Slider/index.js +1 -1
- package/dist/components/SpeedDial/index.cjs +1 -1
- package/dist/components/SpeedDial/index.js +1 -1
- package/dist/components/Stepper/index.cjs +1 -1
- package/dist/components/Stepper/index.js +1 -1
- package/dist/components/SwatchPicker/index.cjs +1 -1
- package/dist/components/SwatchPicker/index.js +1 -1
- package/dist/components/Table/index.cjs +1 -1
- package/dist/components/Table/index.js +1 -1
- package/dist/components/Tabs/index.cjs +1 -1
- package/dist/components/Tabs/index.js +1 -1
- package/dist/components/TagsField/index.cjs +1 -1
- package/dist/components/TagsField/index.js +1 -1
- package/dist/components/TextField/index.cjs +1 -1
- package/dist/components/TextField/index.js +1 -1
- package/dist/components/ThemeToggle/index.cjs +1 -1
- package/dist/components/ThemeToggle/index.js +1 -1
- package/dist/components/TimePicker/index.cjs +1 -1
- package/dist/components/TimePicker/index.js +1 -1
- package/dist/components/Timeline/Timeline.d.cts +16 -4
- package/dist/components/Timeline/Timeline.d.ts +16 -4
- package/dist/components/Timeline/TimelineItem.d.cts +12 -6
- package/dist/components/Timeline/TimelineItem.d.ts +12 -6
- package/dist/components/Timeline/index.cjs +1 -1
- package/dist/components/Timeline/index.d.cts +1 -1
- package/dist/components/Timeline/index.d.ts +1 -1
- package/dist/components/Timeline/index.js +1 -1
- package/dist/components/Timeline/timelineContext.d.cts +3 -2
- package/dist/components/Timeline/timelineContext.d.ts +3 -2
- package/dist/components/Toast/index.cjs +1 -1
- package/dist/components/Toast/index.js +1 -1
- package/dist/components/ToggleButton/index.cjs +1 -1
- package/dist/components/ToggleButton/index.js +1 -1
- package/dist/components/TranslatedFields/index.cjs +1 -1
- package/dist/components/TranslatedFields/index.js +1 -1
- package/dist/components/UserCard/index.cjs +1 -1
- package/dist/components/UserCard/index.js +1 -1
- package/dist/components/index.d.cts +1 -0
- package/dist/components/index.d.ts +1 -0
- package/dist/entries/app.cjs +1 -1
- package/dist/entries/app.js +1 -1
- package/dist/entries/components.cjs +1 -1
- package/dist/entries/components.js +164 -159
- package/dist/entries/components.js.map +1 -1
- package/dist/entries/i18n.cjs +1 -1
- package/dist/entries/i18n.js +2 -2
- package/dist/entries/icons.cjs +1 -1
- package/dist/entries/icons.js +1 -1
- package/dist/entries/theme.cjs +1 -1
- package/dist/entries/theme.js +1 -1
- package/dist/i18n/messages.d.cts +66 -4
- package/dist/i18n/messages.d.ts +66 -4
- package/dist/icons/names.d.cts +3 -3
- package/dist/icons/names.d.ts +3 -3
- package/dist/index.cjs +1 -1
- package/dist/index.css +1 -1
- package/dist/index.js +161 -156
- package/dist/index.js.map +1 -1
- package/dist/{messages-BiRLMy1E.js → messages-DeQuvGln.js} +139 -47
- package/dist/messages-DeQuvGln.js.map +1 -0
- package/dist/{messages-C_fRRCg6.cjs → messages-dL9MkVze.cjs} +9 -9
- package/dist/messages-dL9MkVze.cjs.map +1 -0
- package/dist/{useHomeTo-DdmOGy09.js → useHomeTo-BL3e8Sc6.js} +2 -2
- package/dist/{useHomeTo-DdmOGy09.js.map → useHomeTo-BL3e8Sc6.js.map} +1 -1
- package/dist/{useHomeTo-HCkVzGTu.cjs → useHomeTo-W1PDW5CU.cjs} +2 -2
- package/dist/{useHomeTo-HCkVzGTu.cjs.map → useHomeTo-W1PDW5CU.cjs.map} +1 -1
- package/dist/{useOptionMenu-EiyIkC3E.js → useOptionMenu-BkKiZ6Ax.js} +6 -6
- package/dist/{useOptionMenu-EiyIkC3E.js.map → useOptionMenu-BkKiZ6Ax.js.map} +1 -1
- package/dist/{useOptionMenu-BqCj10_a.cjs → useOptionMenu-CVl7VHXl.cjs} +2 -2
- package/dist/{useOptionMenu-BqCj10_a.cjs.map → useOptionMenu-CVl7VHXl.cjs.map} +1 -1
- package/package.json +1 -6
- package/dist/Alert-B4XZDk16.cjs +0 -2
- package/dist/Alert-D5E1PLkV.js +0 -70
- package/dist/Breadcrumbs-DSUxcp6u.cjs +0 -2
- package/dist/Breadcrumbs-M31xyok8.js +0 -34
- package/dist/Button-CtADzomU.js +0 -72
- package/dist/Button-Q_5uA-zc.cjs +0 -2
- package/dist/Chip-CrBizrvG.cjs +0 -2
- package/dist/Chip-DYZ5w7VM.js +0 -92
- package/dist/ChoiceCardGroup-C7Eengyd.cjs +0 -2
- package/dist/ChoiceCardGroup-q0yN-TeQ.js +0 -180
- package/dist/CodeBlock-B6Eqc4HR.js +0 -96
- package/dist/CodeBlock-DW4uaZXM.cjs +0 -2
- package/dist/DashedButton-Dw7xHgIp.cjs +0 -2
- package/dist/DashedButton-csz6Jt_K.js +0 -58
- package/dist/DatePicker.module-BDtTsg8M.cjs +0 -2
- package/dist/DatePicker.module-CMMQyEhG.js +0 -138
- package/dist/DescriptionList-BBvfABps.cjs +0 -2
- package/dist/Dropdown-CMjURWYd.cjs +0 -2
- package/dist/Dropdown-CMjURWYd.cjs.map +0 -1
- package/dist/Dropdown-CnDBlB02.js +0 -146
- package/dist/Dropdown-CnDBlB02.js.map +0 -1
- package/dist/FileCard-BqMproT9.cjs +0 -2
- package/dist/FileUploader-BimFH5d8.cjs +0 -2
- package/dist/FileUploader-BimFH5d8.cjs.map +0 -1
- package/dist/FileUploader-LJIMh5_b.js +0 -707
- package/dist/FileUploader-LJIMh5_b.js.map +0 -1
- package/dist/Icon-B6lz-V0A.cjs +0 -2
- package/dist/Icon-B6lz-V0A.cjs.map +0 -1
- package/dist/Icon-D5TxgfCc.js +0 -5404
- package/dist/Icon-D5TxgfCc.js.map +0 -1
- package/dist/IconButton-BoURJOUD.js +0 -68
- package/dist/IconButton-CiDPeKM4.cjs +0 -2
- package/dist/Link-BQlvsu9V.js +0 -48
- package/dist/Link-GZT51mKx.cjs +0 -2
- package/dist/ListItem-2Lr5_NRY.js +0 -76
- package/dist/ListItem-DkCYXucd.cjs +0 -2
- package/dist/Modal-CYcVOzID.js +0 -206
- package/dist/Modal-CYcVOzID.js.map +0 -1
- package/dist/Modal-DwY3jGHE.cjs +0 -2
- package/dist/Modal-DwY3jGHE.cjs.map +0 -1
- package/dist/MultiSelect-DJ6tRseY.cjs +0 -2
- package/dist/MultiSelect-svEVZNbp.js +0 -219
- package/dist/OtpField-DlkGju72.cjs +0 -2
- package/dist/Pagination-CAD9_Nr_.cjs +0 -2
- package/dist/Pagination-CX0S1RrF.js +0 -139
- package/dist/PhoneField-Dlnnv4DU.cjs +0 -2
- package/dist/RichTextEditor-Ba1G_qXu.cjs +0 -2
- package/dist/RichTextEditor-Ba1G_qXu.cjs.map +0 -1
- package/dist/RichTextEditor-CJcbxQ6H.js +0 -916
- package/dist/RichTextEditor-CJcbxQ6H.js.map +0 -1
- package/dist/Select-BrjXCXtl.cjs +0 -2
- package/dist/Sidebar-DLlqHvQJ.cjs +0 -2
- package/dist/Stepper-BDQt-oVG.js +0 -168
- package/dist/Stepper-e8qBsKYW.cjs +0 -2
- package/dist/Table-C14fRX1U.cjs +0 -2
- package/dist/Table-C14fRX1U.cjs.map +0 -1
- package/dist/Table-ChdM_vyi.js.map +0 -1
- package/dist/Tabs-BxZrgozI.js +0 -193
- package/dist/Tabs-C4kB1yfG.cjs +0 -2
- package/dist/TimeColumns-B8KTj-tc.cjs +0 -2
- package/dist/TimeColumns-BWcuu3l7.js +0 -147
- package/dist/Timeline-Cb1krSlo.js +0 -70
- package/dist/Timeline-Cb1krSlo.js.map +0 -1
- package/dist/Timeline-CmluHBIT.cjs +0 -2
- package/dist/Timeline-CmluHBIT.cjs.map +0 -1
- package/dist/ToggleButtonGroup-Ci_DFvdt.cjs +0 -2
- package/dist/chunks/icons/57-Bxh2lSz-.cjs +0 -1
- package/dist/chunks/icons/57-CkmrDM9A.js +0 -28
- package/dist/chunks/icons/8a-CThAqelS.js +0 -27
- package/dist/chunks/icons/8a-DRBAtpxY.cjs +0 -1
- package/dist/chunks/icons/97-J9NBhX2o.js +0 -14
- package/dist/chunks/icons/97-r2YXIQ_T.cjs +0 -1
- package/dist/chunks/icons/b8-CyIivk3C.cjs +0 -1
- package/dist/chunks/icons/b8-DcK0w8WM.js +0 -29
- package/dist/chunks/icons/d5-3fWtNlXW.js +0 -20
- package/dist/chunks/icons/d5-CoG_Hfw9.cjs +0 -1
- package/dist/chunks/icons/d8-DsebfeMy.cjs +0 -1
- package/dist/chunks/icons/d8-DtOvDDrr.js +0 -20
- package/dist/chunks/icons/dd-BXVES9Ib.js +0 -22
- package/dist/chunks/icons/dd-beaqCKss.cjs +0 -1
- package/dist/messages-BiRLMy1E.js.map +0 -1
- package/dist/messages-C_fRRCg6.cjs.map +0 -1
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import type { ImageRect, ImageState } from './types';
|
|
2
|
+
export interface Size {
|
|
3
|
+
width: number;
|
|
4
|
+
height: number;
|
|
5
|
+
}
|
|
6
|
+
export type Vec = [number, number];
|
|
7
|
+
/** Rotate a vector by θ (positive = clockwise on a y-down screen). */
|
|
8
|
+
export declare const rotate: ([x, y]: Vec, theta: number) => Vec;
|
|
9
|
+
/** Half the size of a w×h box's bounding box once it's turned by θ. */
|
|
10
|
+
export declare function halfExtents(w: number, h: number, theta: number): Vec;
|
|
11
|
+
/** The crop's center. */
|
|
12
|
+
export declare const cropCenter: (crop: ImageRect) => Vec;
|
|
13
|
+
/**
|
|
14
|
+
* The minimum `scale` at which an image of `size` covers a w×h crop turned by θ **when centered on the
|
|
15
|
+
* image** — the "cover" scale every zoom is measured from (zoom = scale / coverScale).
|
|
16
|
+
*/
|
|
17
|
+
export declare function coverScale(w: number, h: number, theta: number, size: Size): number;
|
|
18
|
+
/** The image point (image-centered, unrotated, unscaled) under the crop's center. */
|
|
19
|
+
export declare function cropAnchor(state: ImageState, size: Size): Vec;
|
|
20
|
+
/** Clamp the crop anchor so a w×h crop (turned by θ, image scaled by s) stays inside the image. */
|
|
21
|
+
export declare function clampAnchor([ux, uy]: Vec, w: number, h: number, theta: number, s: number, size: Size): Vec;
|
|
22
|
+
/** Place a w×h crop so its center sits over image point `u` (inverse of `cropAnchor`). */
|
|
23
|
+
export declare function cropAt(u: Vec, w: number, h: number, theta: number, s: number, size: Size): {
|
|
24
|
+
x: number;
|
|
25
|
+
y: number;
|
|
26
|
+
width: number;
|
|
27
|
+
height: number;
|
|
28
|
+
};
|
|
29
|
+
/** Whether the image fully covers `crop` (with a small tolerance). */
|
|
30
|
+
export declare function coversCrop(crop: ImageRect, theta: number, s: number, size: Size): boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Re-fit a state so the image covers the crop: the scale is raised to at least the cover scale, then the
|
|
33
|
+
* anchor (the image point under the crop's center) is clamped. The crop's size never changes here.
|
|
34
|
+
*/
|
|
35
|
+
export declare function fitState(state: ImageState, size: Size): ImageState;
|
|
36
|
+
/** The output size in pixels — the crop at full source resolution. */
|
|
37
|
+
export declare function outputSize(state: ImageState): Size;
|
|
38
|
+
/** The size `process()` renders — the Resize tool's pick, else the crop at full resolution. */
|
|
39
|
+
export declare function finalSize(state: ImageState): Size;
|
|
40
|
+
/**
|
|
41
|
+
* The part of the crop the output shows — the crop itself, or for a Resize pick of another aspect its
|
|
42
|
+
* largest centered sub-rect of that aspect (`object-fit: cover`: the image is cut, never squashed).
|
|
43
|
+
*/
|
|
44
|
+
export declare function resizedCrop(state: ImageState): ImageRect;
|
|
45
|
+
/**
|
|
46
|
+
* Apply a Resize pick to `base` (the state the pick is made from). A size of the crop's own aspect just
|
|
47
|
+
* scales the output; another aspect first cuts the crop to it — its largest centered part of that aspect
|
|
48
|
+
* (`object-fit: cover`) — so the Crop tool shows exactly what's kept. `null` (or the crop's full size)
|
|
49
|
+
* clears it. The size never goes above what `base`'s crop holds.
|
|
50
|
+
*/
|
|
51
|
+
export declare function applyResize(base: ImageState, pick: Size | null): ImageState;
|
|
52
|
+
/**
|
|
53
|
+
* Keep a Resize pick in step when the crop changes under it: it keeps its share of the crop (a 25% pick
|
|
54
|
+
* stays 25% of the new crop), so the result size follows the crop. Unchanged when no resize is set or the
|
|
55
|
+
* crop's output size didn't move.
|
|
56
|
+
*/
|
|
57
|
+
export declare function syncResize(prev: ImageState, next: ImageState): ImageState['resize'];
|
|
58
|
+
/** The largest crop of the given ratio that fits the (unrotated) image, centered. */
|
|
59
|
+
export declare function initialCrop(size: Size, aspectRatio?: number | null): ImageRect;
|
|
60
|
+
/** The untouched state for an image of `size`. */
|
|
61
|
+
export declare function defaultState(size: Size, aspectRatio?: number | null): ImageState;
|
|
62
|
+
/** Split a rotation into its quarter turns (multiple of π/2, normalized to [0, 2π)) + the fine part. */
|
|
63
|
+
export declare function splitRotation(theta: number, quarterHint?: number): {
|
|
64
|
+
quarter: number;
|
|
65
|
+
fine: number;
|
|
66
|
+
};
|
|
67
|
+
/** Normalize an angle into [0, 2π). */
|
|
68
|
+
export declare const normalizeAngle: (a: number) => number;
|
|
69
|
+
/**
|
|
70
|
+
* Set the rotation to `theta`, keeping the same image point under the crop's center: the image scales up
|
|
71
|
+
* to cover the crop when needed (never below `base.scale`) and the anchor is clamped. `base` is the state
|
|
72
|
+
* at the start of the interaction, so turning back restores the original zoom.
|
|
73
|
+
*/
|
|
74
|
+
export declare function rotateTo(base: ImageState, theta: number, size: Size): ImageState;
|
|
75
|
+
/** Rotate the whole image −90° (counter-clockwise): the crop turns with it (its width/height swap, and so
|
|
76
|
+
* does a picked crop shape — 16:9 becomes 9:16). */
|
|
77
|
+
export declare function rotateLeft(state: ImageState, size: Size): ImageState;
|
|
78
|
+
/** Mirror the result horizontally (the image flips inside the crop; the crop mirrors about the center). */
|
|
79
|
+
export declare function flipHorizontal(state: ImageState, size: Size): ImageState;
|
|
80
|
+
/** The current zoom relative to the cover scale (1 = the image just covers the crop). */
|
|
81
|
+
export declare function zoomOf(state: ImageState, size: Size): number;
|
|
82
|
+
/** The largest zoom inside the crop (relative to the cover scale) — 500%. */
|
|
83
|
+
export declare const MAX_CROP_ZOOM = 5;
|
|
84
|
+
/**
|
|
85
|
+
* Set the zoom (1…`MAX_CROP_ZOOM`, relative to the cover scale), keeping the image point under the
|
|
86
|
+
* crop's center.
|
|
87
|
+
*/
|
|
88
|
+
export declare function zoomTo(state: ImageState, zoom: number, size: Size): ImageState;
|
|
89
|
+
/** Move the crop across the image by (dx, dy) plane units (the image moves the other way on screen). */
|
|
90
|
+
export declare function panBy(state: ImageState, dx: number, dy: number, size: Size): ImageState;
|
|
91
|
+
/**
|
|
92
|
+
* Pick a crop shape: `ratio` (width / height) reshapes the crop into the largest rect of that ratio the
|
|
93
|
+
* image covers at the current rotation + zoom, kept over the same image point (moved only as far as it
|
|
94
|
+
* must to stay on the image); `null` frees it (the crop itself is left as is).
|
|
95
|
+
*/
|
|
96
|
+
export declare function setCropRatio(state: ImageState, ratio: number | null, size: Size): ImageState;
|
|
97
|
+
export type CropHandle = 'n' | 's' | 'e' | 'w' | 'ne' | 'nw' | 'se' | 'sw';
|
|
98
|
+
export interface ResizeOptions {
|
|
99
|
+
/** Lock the crop to this width/height ratio. */
|
|
100
|
+
aspectRatio?: number | null;
|
|
101
|
+
/** The smallest crop side, in plane units. */
|
|
102
|
+
minSize: number;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Resize the crop by dragging `handle` by (dx, dy) plane units from the interaction's `start` state. A
|
|
106
|
+
* corner moves against its opposite corner, an edge moves one side (with a locked ratio the other side
|
|
107
|
+
* follows, centered). The result never leaves the image: an out-of-bounds request is pulled back along
|
|
108
|
+
* the way from `start` to it (so it stops at the image's edge instead of jumping).
|
|
109
|
+
*/
|
|
110
|
+
export declare function resizeCrop(start: ImageState, handle: CropHandle, dx: number, dy: number, size: Size, { aspectRatio, minSize }: ResizeOptions): ImageState;
|
|
111
|
+
/** Clamp a state's crop + scale into a valid configuration (used on `setState` / `initialState`). */
|
|
112
|
+
export declare function normalizeState(state: ImageState, size: Size): ImageState;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export type ImageSource = ImageBitmap | HTMLImageElement | HTMLCanvasElement;
|
|
2
|
+
export interface LoadedImage {
|
|
3
|
+
/** The full-resolution, EXIF-oriented image. */
|
|
4
|
+
image: ImageSource;
|
|
5
|
+
width: number;
|
|
6
|
+
height: number;
|
|
7
|
+
/** The input's MIME type ('' when unknown). */
|
|
8
|
+
type: string;
|
|
9
|
+
}
|
|
10
|
+
/** The clarity blur radius, as a fraction of the image's long side. */
|
|
11
|
+
export declare const CLARITY_RADIUS = 0.012;
|
|
12
|
+
/** Load a File / Blob / URL / data URL into a decoded, EXIF-oriented image. */
|
|
13
|
+
export declare function loadImage(src: File | Blob | string): Promise<LoadedImage>;
|
|
14
|
+
/** A copy of `source` no larger than `maxSide` on its long side (the source itself when it already fits). */
|
|
15
|
+
export declare function downscale(source: CanvasImageSource, width: number, height: number, maxSide: number): {
|
|
16
|
+
canvas: CanvasImageSource;
|
|
17
|
+
width: number;
|
|
18
|
+
height: number;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* A small, blurred copy of `source` (≤ `maxSide`) for the clarity (local-contrast) pass. `radius` is the
|
|
22
|
+
* blur radius in `source` pixels — it's scaled down with the copy, so the effect matches at any size.
|
|
23
|
+
*/
|
|
24
|
+
export declare function blurredCopy(source: CanvasImageSource, width: number, height: number, radius: number, maxSide?: number): HTMLCanvasElement;
|
|
25
|
+
/** The output MIME type: the requested one, else the input's (when it's a type canvases encode), else PNG. */
|
|
26
|
+
export declare function resolveOutputType(requested: string | undefined, input: string): string;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export type ImageSource = ImageBitmap | HTMLImageElement | HTMLCanvasElement;
|
|
2
|
+
export interface LoadedImage {
|
|
3
|
+
/** The full-resolution, EXIF-oriented image. */
|
|
4
|
+
image: ImageSource;
|
|
5
|
+
width: number;
|
|
6
|
+
height: number;
|
|
7
|
+
/** The input's MIME type ('' when unknown). */
|
|
8
|
+
type: string;
|
|
9
|
+
}
|
|
10
|
+
/** The clarity blur radius, as a fraction of the image's long side. */
|
|
11
|
+
export declare const CLARITY_RADIUS = 0.012;
|
|
12
|
+
/** Load a File / Blob / URL / data URL into a decoded, EXIF-oriented image. */
|
|
13
|
+
export declare function loadImage(src: File | Blob | string): Promise<LoadedImage>;
|
|
14
|
+
/** A copy of `source` no larger than `maxSide` on its long side (the source itself when it already fits). */
|
|
15
|
+
export declare function downscale(source: CanvasImageSource, width: number, height: number, maxSide: number): {
|
|
16
|
+
canvas: CanvasImageSource;
|
|
17
|
+
width: number;
|
|
18
|
+
height: number;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* A small, blurred copy of `source` (≤ `maxSide`) for the clarity (local-contrast) pass. `radius` is the
|
|
22
|
+
* blur radius in `source` pixels — it's scaled down with the copy, so the effect matches at any size.
|
|
23
|
+
*/
|
|
24
|
+
export declare function blurredCopy(source: CanvasImageSource, width: number, height: number, radius: number, maxSide?: number): HTMLCanvasElement;
|
|
25
|
+
/** The output MIME type: the requested one, else the input's (when it's a type canvases encode), else PNG. */
|
|
26
|
+
export declare function resolveOutputType(requested: string | undefined, input: string): string;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type { ImageFilterId, ImageFinetuneId } from './types';
|
|
2
|
+
export type ColorMatrix = number[];
|
|
3
|
+
/** The identity matrix (no change). */
|
|
4
|
+
export declare const IDENTITY_MATRIX: ColorMatrix;
|
|
5
|
+
/** `a ∘ b` — the matrix that applies `b` first, then `a`. */
|
|
6
|
+
export declare function multiplyMatrix(a: ColorMatrix, b: ColorMatrix): ColorMatrix;
|
|
7
|
+
/** Compose matrices in application order: `composeMatrices(m1, m2, m3)` applies m1, then m2, then m3. */
|
|
8
|
+
export declare function composeMatrices(...matrices: ColorMatrix[]): ColorMatrix;
|
|
9
|
+
/** Whether a matrix is (numerically) the identity. */
|
|
10
|
+
export declare function isIdentityMatrix(m: ColorMatrix | null | undefined): boolean;
|
|
11
|
+
/** Apply a matrix to one straight-alpha RGBA color (each 0…1). */
|
|
12
|
+
export declare function applyMatrix(m: ColorMatrix, r: number, g: number, b: number, a?: number): [number, number, number, number];
|
|
13
|
+
/** Add `v` to r, g and b. */
|
|
14
|
+
export declare const brightnessMatrix: (v: number) => ColorMatrix;
|
|
15
|
+
/** Scale r, g, b around the 0.5 midpoint by `c`. */
|
|
16
|
+
export declare const contrastMatrix: (c: number) => ColorMatrix;
|
|
17
|
+
/** Saturation `s` (0 = grayscale, 1 = unchanged, 2 = doubled), on Rec. 709 luma. */
|
|
18
|
+
export declare const saturationMatrix: (s: number) => ColorMatrix;
|
|
19
|
+
/** Multiply each channel (and optionally add a per-channel offset). */
|
|
20
|
+
export declare const channelMatrix: (r: number, g: number, b: number, or?: number, og?: number, ob?: number) => number[];
|
|
21
|
+
/** Remap 0…1 to `low`…`high` (lifts blacks / dims whites). */
|
|
22
|
+
export declare const levelsMatrix: (low: number, high: number) => ColorMatrix;
|
|
23
|
+
/** The classic sepia matrix. */
|
|
24
|
+
export declare const SEPIA_MATRIX: ColorMatrix;
|
|
25
|
+
/** The filter presets in display order, grouped (a gap between groups). */
|
|
26
|
+
export declare const FILTER_GROUPS: ImageFilterId[][];
|
|
27
|
+
/** Each filter's 4×5 matrix (`default` → `null`, no filter). */
|
|
28
|
+
export declare const FILTER_MATRICES: Record<ImageFilterId, ColorMatrix | null>;
|
|
29
|
+
/** The finetune adjustments in display order. */
|
|
30
|
+
export declare const FINETUNE_IDS: ImageFinetuneId[];
|
|
31
|
+
/** All adjustments at 0. */
|
|
32
|
+
export declare const ZERO_FINETUNE: Record<ImageFinetuneId, number>;
|
|
33
|
+
/** The UI value (−100…100) → the shader parameter for each adjustment. */
|
|
34
|
+
export declare const finetuneParam: {
|
|
35
|
+
/** additive: −0.25…+0.25 */
|
|
36
|
+
brightness: (v: number) => number;
|
|
37
|
+
/** multiply around the midpoint: 0.5…1.5 */
|
|
38
|
+
contrast: (v: number) => number;
|
|
39
|
+
/** 0 (grayscale)…2 */
|
|
40
|
+
saturation: (v: number) => number;
|
|
41
|
+
/** multiply: 0.5…1.5 */
|
|
42
|
+
exposure: (v: number) => number;
|
|
43
|
+
/** −1…1, shifts R and B in opposite directions */
|
|
44
|
+
temperature: (v: number) => number;
|
|
45
|
+
/** exponent 0.5…1.5 (applied as x^(1/γ), so positive brightens the midtones) */
|
|
46
|
+
gamma: (v: number) => number;
|
|
47
|
+
/** −1…1 local-contrast amount (negative softens) */
|
|
48
|
+
clarity: (v: number) => number;
|
|
49
|
+
/** −1…1 (positive darkens the edges, negative lightens them) */
|
|
50
|
+
vignette: (v: number) => number;
|
|
51
|
+
};
|
|
52
|
+
/** The matrix-based finetune adjustments (exposure → brightness → contrast → saturation → temperature). */
|
|
53
|
+
export declare function finetuneMatrix(f: Record<ImageFinetuneId, number>): ColorMatrix;
|
|
54
|
+
/** The whole color pipeline as one matrix: the filter, then the matrix-based finetune adjustments. */
|
|
55
|
+
export declare function combinedMatrix(colorMatrix: ColorMatrix | null, finetune: Record<ImageFinetuneId, number>): ColorMatrix;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type { ImageFilterId, ImageFinetuneId } from './types';
|
|
2
|
+
export type ColorMatrix = number[];
|
|
3
|
+
/** The identity matrix (no change). */
|
|
4
|
+
export declare const IDENTITY_MATRIX: ColorMatrix;
|
|
5
|
+
/** `a ∘ b` — the matrix that applies `b` first, then `a`. */
|
|
6
|
+
export declare function multiplyMatrix(a: ColorMatrix, b: ColorMatrix): ColorMatrix;
|
|
7
|
+
/** Compose matrices in application order: `composeMatrices(m1, m2, m3)` applies m1, then m2, then m3. */
|
|
8
|
+
export declare function composeMatrices(...matrices: ColorMatrix[]): ColorMatrix;
|
|
9
|
+
/** Whether a matrix is (numerically) the identity. */
|
|
10
|
+
export declare function isIdentityMatrix(m: ColorMatrix | null | undefined): boolean;
|
|
11
|
+
/** Apply a matrix to one straight-alpha RGBA color (each 0…1). */
|
|
12
|
+
export declare function applyMatrix(m: ColorMatrix, r: number, g: number, b: number, a?: number): [number, number, number, number];
|
|
13
|
+
/** Add `v` to r, g and b. */
|
|
14
|
+
export declare const brightnessMatrix: (v: number) => ColorMatrix;
|
|
15
|
+
/** Scale r, g, b around the 0.5 midpoint by `c`. */
|
|
16
|
+
export declare const contrastMatrix: (c: number) => ColorMatrix;
|
|
17
|
+
/** Saturation `s` (0 = grayscale, 1 = unchanged, 2 = doubled), on Rec. 709 luma. */
|
|
18
|
+
export declare const saturationMatrix: (s: number) => ColorMatrix;
|
|
19
|
+
/** Multiply each channel (and optionally add a per-channel offset). */
|
|
20
|
+
export declare const channelMatrix: (r: number, g: number, b: number, or?: number, og?: number, ob?: number) => number[];
|
|
21
|
+
/** Remap 0…1 to `low`…`high` (lifts blacks / dims whites). */
|
|
22
|
+
export declare const levelsMatrix: (low: number, high: number) => ColorMatrix;
|
|
23
|
+
/** The classic sepia matrix. */
|
|
24
|
+
export declare const SEPIA_MATRIX: ColorMatrix;
|
|
25
|
+
/** The filter presets in display order, grouped (a gap between groups). */
|
|
26
|
+
export declare const FILTER_GROUPS: ImageFilterId[][];
|
|
27
|
+
/** Each filter's 4×5 matrix (`default` → `null`, no filter). */
|
|
28
|
+
export declare const FILTER_MATRICES: Record<ImageFilterId, ColorMatrix | null>;
|
|
29
|
+
/** The finetune adjustments in display order. */
|
|
30
|
+
export declare const FINETUNE_IDS: ImageFinetuneId[];
|
|
31
|
+
/** All adjustments at 0. */
|
|
32
|
+
export declare const ZERO_FINETUNE: Record<ImageFinetuneId, number>;
|
|
33
|
+
/** The UI value (−100…100) → the shader parameter for each adjustment. */
|
|
34
|
+
export declare const finetuneParam: {
|
|
35
|
+
/** additive: −0.25…+0.25 */
|
|
36
|
+
brightness: (v: number) => number;
|
|
37
|
+
/** multiply around the midpoint: 0.5…1.5 */
|
|
38
|
+
contrast: (v: number) => number;
|
|
39
|
+
/** 0 (grayscale)…2 */
|
|
40
|
+
saturation: (v: number) => number;
|
|
41
|
+
/** multiply: 0.5…1.5 */
|
|
42
|
+
exposure: (v: number) => number;
|
|
43
|
+
/** −1…1, shifts R and B in opposite directions */
|
|
44
|
+
temperature: (v: number) => number;
|
|
45
|
+
/** exponent 0.5…1.5 (applied as x^(1/γ), so positive brightens the midtones) */
|
|
46
|
+
gamma: (v: number) => number;
|
|
47
|
+
/** −1…1 local-contrast amount (negative softens) */
|
|
48
|
+
clarity: (v: number) => number;
|
|
49
|
+
/** −1…1 (positive darkens the edges, negative lightens them) */
|
|
50
|
+
vignette: (v: number) => number;
|
|
51
|
+
};
|
|
52
|
+
/** The matrix-based finetune adjustments (exposure → brightness → contrast → saturation → temperature). */
|
|
53
|
+
export declare function finetuneMatrix(f: Record<ImageFinetuneId, number>): ColorMatrix;
|
|
54
|
+
/** The whole color pipeline as one matrix: the filter, then the matrix-based finetune adjustments. */
|
|
55
|
+
export declare function combinedMatrix(colorMatrix: ColorMatrix | null, finetune: Record<ImageFinetuneId, number>): ColorMatrix;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { Affine } from './affine';
|
|
2
|
+
import { type ColorMatrix } from './matrix';
|
|
3
|
+
/** Every non-geometry parameter of one render. */
|
|
4
|
+
export interface ColorParams {
|
|
5
|
+
/** The combined filter + matrix-finetune matrix. */
|
|
6
|
+
matrix: ColorMatrix;
|
|
7
|
+
/** Gamma exponent (1 = none), applied as x^(1/γ). */
|
|
8
|
+
gamma: number;
|
|
9
|
+
/** Local-contrast amount −1…1 (0 = none). */
|
|
10
|
+
clarity: number;
|
|
11
|
+
/** Vignette amount −1…1 (0 = none). */
|
|
12
|
+
vignette: number;
|
|
13
|
+
}
|
|
14
|
+
/** How strongly a full vignette darkens / lightens the corners. */
|
|
15
|
+
export declare const VIGNETTE_STRENGTH = 0.85;
|
|
16
|
+
/** The vignette falloff at crop-normalized (−1…1) coords: 0 in the middle, 1 in the corners. */
|
|
17
|
+
export declare const vignetteFalloff: (nx: number, ny: number) => number;
|
|
18
|
+
/**
|
|
19
|
+
* Apply the color pipeline in place: matrix → clarity (against `blur`, the same pixels blurred) → gamma
|
|
20
|
+
* → vignette (positioned by `toCrop`, pixel → crop-normalized coords). Alpha is straight (non-premultiplied).
|
|
21
|
+
*/
|
|
22
|
+
export declare function applyColorOps(data: Uint8ClampedArray, width: number, height: number, p: ColorParams, blur?: Uint8ClampedArray | null, toCrop?: Affine | null): void;
|
|
23
|
+
/** A fast approximate Gaussian blur (three box passes, horizontal + vertical) over RGBA bytes. */
|
|
24
|
+
export declare function boxBlur(src: Uint8ClampedArray, width: number, height: number, radius: number): Uint8ClampedArray;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { Affine } from './affine';
|
|
2
|
+
import { type ColorMatrix } from './matrix';
|
|
3
|
+
/** Every non-geometry parameter of one render. */
|
|
4
|
+
export interface ColorParams {
|
|
5
|
+
/** The combined filter + matrix-finetune matrix. */
|
|
6
|
+
matrix: ColorMatrix;
|
|
7
|
+
/** Gamma exponent (1 = none), applied as x^(1/γ). */
|
|
8
|
+
gamma: number;
|
|
9
|
+
/** Local-contrast amount −1…1 (0 = none). */
|
|
10
|
+
clarity: number;
|
|
11
|
+
/** Vignette amount −1…1 (0 = none). */
|
|
12
|
+
vignette: number;
|
|
13
|
+
}
|
|
14
|
+
/** How strongly a full vignette darkens / lightens the corners. */
|
|
15
|
+
export declare const VIGNETTE_STRENGTH = 0.85;
|
|
16
|
+
/** The vignette falloff at crop-normalized (−1…1) coords: 0 in the middle, 1 in the corners. */
|
|
17
|
+
export declare const vignetteFalloff: (nx: number, ny: number) => number;
|
|
18
|
+
/**
|
|
19
|
+
* Apply the color pipeline in place: matrix → clarity (against `blur`, the same pixels blurred) → gamma
|
|
20
|
+
* → vignette (positioned by `toCrop`, pixel → crop-normalized coords). Alpha is straight (non-premultiplied).
|
|
21
|
+
*/
|
|
22
|
+
export declare function applyColorOps(data: Uint8ClampedArray, width: number, height: number, p: ColorParams, blur?: Uint8ClampedArray | null, toCrop?: Affine | null): void;
|
|
23
|
+
/** A fast approximate Gaussian blur (three box passes, horizontal + vertical) over RGBA bytes. */
|
|
24
|
+
export declare function boxBlur(src: Uint8ClampedArray, width: number, height: number, radius: number): Uint8ClampedArray;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { ImageRedactEffect, ImageState } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Each effect's size at `amount` 100, as a share of the image's long side: the blur radius (1.5% — past
|
|
4
|
+
* that the image is just a wash) and the pixel block (5%).
|
|
5
|
+
*/
|
|
6
|
+
export declare const REDACT_MAX: Record<ImageRedactEffect, number>;
|
|
7
|
+
/** The blur radius / pixel block side (source px) for a state — 0 when there's no effect. */
|
|
8
|
+
export declare function redactRadius(state: Pick<ImageState, 'redact'>, size: {
|
|
9
|
+
width: number;
|
|
10
|
+
height: number;
|
|
11
|
+
}): number;
|
|
12
|
+
/**
|
|
13
|
+
* The pixelation grid over a crop: whole blocks across and down (the block stretched a hair so they fit
|
|
14
|
+
* exactly — no partial block at an edge). `block` is in the crop's own (plane) units.
|
|
15
|
+
*/
|
|
16
|
+
export declare function pixelGrid(crop: {
|
|
17
|
+
width: number;
|
|
18
|
+
height: number;
|
|
19
|
+
}, block: number): {
|
|
20
|
+
cols: number;
|
|
21
|
+
rows: number;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* A small blurred copy of `source` (`width` × `height`, `radius` in its pixels): it's sized so the radius
|
|
25
|
+
* is a few pixels there, at most `maxSide` long — a blur has no fine detail, so scaling it back up
|
|
26
|
+
* (on the GPU, or a canvas draw) loses nothing, and the small copy is quick to make while a ruler moves.
|
|
27
|
+
*/
|
|
28
|
+
export declare function blurredSmall(source: CanvasImageSource, width: number, height: number, radius: number, maxSide: number): HTMLCanvasElement;
|
|
29
|
+
/** A `width` × `height` blurred copy of `source` (`radius` in its pixels) — the export's blur. */
|
|
30
|
+
export declare function blurredFull(source: CanvasImageSource, width: number, height: number, radius: number): HTMLCanvasElement;
|
|
31
|
+
/** Pixelate a canvas in place into `cols` × `rows` blocks (each the average of what it covers). */
|
|
32
|
+
export declare function pixelateCanvas(canvas: HTMLCanvasElement, cols: number, rows: number): void;
|
|
33
|
+
/**
|
|
34
|
+
* A `width` × `height` copy of `source` pixelated in its own pixel grid (`block` px) — only for the
|
|
35
|
+
* Canvas2D preview fallback, which can't lay the output grid over a rotated image.
|
|
36
|
+
*/
|
|
37
|
+
export declare function pixelatedCopy(source: CanvasImageSource, width: number, height: number, block: number): HTMLCanvasElement;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { ImageRedactEffect, ImageState } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Each effect's size at `amount` 100, as a share of the image's long side: the blur radius (1.5% — past
|
|
4
|
+
* that the image is just a wash) and the pixel block (5%).
|
|
5
|
+
*/
|
|
6
|
+
export declare const REDACT_MAX: Record<ImageRedactEffect, number>;
|
|
7
|
+
/** The blur radius / pixel block side (source px) for a state — 0 when there's no effect. */
|
|
8
|
+
export declare function redactRadius(state: Pick<ImageState, 'redact'>, size: {
|
|
9
|
+
width: number;
|
|
10
|
+
height: number;
|
|
11
|
+
}): number;
|
|
12
|
+
/**
|
|
13
|
+
* The pixelation grid over a crop: whole blocks across and down (the block stretched a hair so they fit
|
|
14
|
+
* exactly — no partial block at an edge). `block` is in the crop's own (plane) units.
|
|
15
|
+
*/
|
|
16
|
+
export declare function pixelGrid(crop: {
|
|
17
|
+
width: number;
|
|
18
|
+
height: number;
|
|
19
|
+
}, block: number): {
|
|
20
|
+
cols: number;
|
|
21
|
+
rows: number;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* A small blurred copy of `source` (`width` × `height`, `radius` in its pixels): it's sized so the radius
|
|
25
|
+
* is a few pixels there, at most `maxSide` long — a blur has no fine detail, so scaling it back up
|
|
26
|
+
* (on the GPU, or a canvas draw) loses nothing, and the small copy is quick to make while a ruler moves.
|
|
27
|
+
*/
|
|
28
|
+
export declare function blurredSmall(source: CanvasImageSource, width: number, height: number, radius: number, maxSide: number): HTMLCanvasElement;
|
|
29
|
+
/** A `width` × `height` blurred copy of `source` (`radius` in its pixels) — the export's blur. */
|
|
30
|
+
export declare function blurredFull(source: CanvasImageSource, width: number, height: number, radius: number): HTMLCanvasElement;
|
|
31
|
+
/** Pixelate a canvas in place into `cols` × `rows` blocks (each the average of what it covers). */
|
|
32
|
+
export declare function pixelateCanvas(canvas: HTMLCanvasElement, cols: number, rows: number): void;
|
|
33
|
+
/**
|
|
34
|
+
* A `width` × `height` copy of `source` pixelated in its own pixel grid (`block` px) — only for the
|
|
35
|
+
* Canvas2D preview fallback, which can't lay the output grid over a rotated image.
|
|
36
|
+
*/
|
|
37
|
+
export declare function pixelatedCopy(source: CanvasImageSource, width: number, height: number, block: number): HTMLCanvasElement;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type Size } from './geometry';
|
|
2
|
+
import { type ColorParams } from './pixels';
|
|
3
|
+
import type { ImageState } from './types';
|
|
4
|
+
import { type RenderParams } from './webgl';
|
|
5
|
+
/** The color parameters for a state (optionally with another filter matrix — the filter thumbnails). */
|
|
6
|
+
export declare function colorParams(state: ImageState, colorMatrix?: number[] | null): ColorParams;
|
|
7
|
+
/** Whether a render needs the color pass at all. */
|
|
8
|
+
export declare const hasColorOps: (p: ColorParams) => boolean;
|
|
9
|
+
/**
|
|
10
|
+
* The Canvas2D renderer (no WebGL): draws the texture through the inverse of `toUV`, clips to the crop,
|
|
11
|
+
* then runs the color pipeline on the pixels (with the blur copy drawn through `toBlurUV`).
|
|
12
|
+
*/
|
|
13
|
+
export declare function render2D(canvas: HTMLCanvasElement, texture: CanvasImageSource, textureSize: Size, blur: CanvasImageSource, blurSize: Size, p: RenderParams): void;
|
|
14
|
+
/**
|
|
15
|
+
* Render `state` at full source resolution and encode it. Geometry goes through Canvas2D (it handles any
|
|
16
|
+
* image size natively); the color pass runs on WebGL in tiles no larger than `MAX_TEXTURE_SIZE` (or on the
|
|
17
|
+
* CPU without WebGL).
|
|
18
|
+
*/
|
|
19
|
+
export declare function renderOutput(image: CanvasImageSource, size: Size, state: ImageState, type: string, quality: number): Promise<Blob>;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type Size } from './geometry';
|
|
2
|
+
import { type ColorParams } from './pixels';
|
|
3
|
+
import type { ImageState } from './types';
|
|
4
|
+
import { type RenderParams } from './webgl';
|
|
5
|
+
/** The color parameters for a state (optionally with another filter matrix — the filter thumbnails). */
|
|
6
|
+
export declare function colorParams(state: ImageState, colorMatrix?: number[] | null): ColorParams;
|
|
7
|
+
/** Whether a render needs the color pass at all. */
|
|
8
|
+
export declare const hasColorOps: (p: ColorParams) => boolean;
|
|
9
|
+
/**
|
|
10
|
+
* The Canvas2D renderer (no WebGL): draws the texture through the inverse of `toUV`, clips to the crop,
|
|
11
|
+
* then runs the color pipeline on the pixels (with the blur copy drawn through `toBlurUV`).
|
|
12
|
+
*/
|
|
13
|
+
export declare function render2D(canvas: HTMLCanvasElement, texture: CanvasImageSource, textureSize: Size, blur: CanvasImageSource, blurSize: Size, p: RenderParams): void;
|
|
14
|
+
/**
|
|
15
|
+
* Render `state` at full source resolution and encode it. Geometry goes through Canvas2D (it handles any
|
|
16
|
+
* image size natively); the color pass runs on WebGL in tiles no larger than `MAX_TEXTURE_SIZE` (or on the
|
|
17
|
+
* CPU without WebGL).
|
|
18
|
+
*/
|
|
19
|
+
export declare function renderOutput(image: CanvasImageSource, size: Size, state: ImageState, type: string, quality: number): Promise<Blob>;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { type Affine } from './affine';
|
|
2
|
+
import { type Size, type Vec } from './geometry';
|
|
3
|
+
import type { ImageRect, ImageState } from './types';
|
|
4
|
+
/** How the plane sits on screen. View-only — never part of `ImageState`. */
|
|
5
|
+
export interface View {
|
|
6
|
+
/** The plane point shown at the stage's center. */
|
|
7
|
+
center: Vec;
|
|
8
|
+
/** CSS pixels per plane unit. */
|
|
9
|
+
scale: number;
|
|
10
|
+
/** Extra rotation (radians) — only non-zero while a rotate-left animates. */
|
|
11
|
+
rotation: number;
|
|
12
|
+
/** Horizontal mirror factor (1 = none) — only ≠ 1 while a flip animates (−1 → 1). */
|
|
13
|
+
flip: number;
|
|
14
|
+
}
|
|
15
|
+
/** The stage the view is drawn in (CSS pixels) + the device pixel ratio. */
|
|
16
|
+
export interface Stage {
|
|
17
|
+
width: number;
|
|
18
|
+
height: number;
|
|
19
|
+
dpr: number;
|
|
20
|
+
/**
|
|
21
|
+
* The free area the crop is laid out in (CSS px, relative to the stage) — the canvas spans the whole
|
|
22
|
+
* editor, behind the toolbars, but the crop fits + centers in the space between them. Defaults to the
|
|
23
|
+
* whole stage.
|
|
24
|
+
*/
|
|
25
|
+
area?: {
|
|
26
|
+
x: number;
|
|
27
|
+
y: number;
|
|
28
|
+
width: number;
|
|
29
|
+
height: number;
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
/** The point on screen the view's center lands on (the free area's center). */
|
|
33
|
+
export declare const stageOrigin: (stage: Pick<Stage, "width" | "height" | "area">) => [number, number];
|
|
34
|
+
/** source pixel → plane (the image state's flip / rotation / scale about the image center). */
|
|
35
|
+
export declare function sourceToPlane(state: ImageState, size: Size): Affine;
|
|
36
|
+
/** plane → stage CSS pixels. */
|
|
37
|
+
export declare function planeToScreen(view: View, stage: Pick<Stage, 'width' | 'height' | 'area'>): Affine;
|
|
38
|
+
/** plane → crop-normalized coords (−1…1 across the crop). */
|
|
39
|
+
export declare function planeToCrop(crop: ImageRect): Affine;
|
|
40
|
+
/** The affines a renderer needs to draw `state` in `view` on `stage`. */
|
|
41
|
+
export declare function sceneAffines(state: ImageState, size: Size, view: View, stage: Stage): {
|
|
42
|
+
toUV: Affine;
|
|
43
|
+
toBlurUV: Affine;
|
|
44
|
+
toCrop: Affine;
|
|
45
|
+
};
|
|
46
|
+
/** The view that fits the crop in the stage with `padding` CSS px around it. */
|
|
47
|
+
export declare function fitView(crop: ImageRect, stage: Pick<Stage, 'width' | 'height'>, padding: number): View;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { type Affine } from './affine';
|
|
2
|
+
import { type Size, type Vec } from './geometry';
|
|
3
|
+
import type { ImageRect, ImageState } from './types';
|
|
4
|
+
/** How the plane sits on screen. View-only — never part of `ImageState`. */
|
|
5
|
+
export interface View {
|
|
6
|
+
/** The plane point shown at the stage's center. */
|
|
7
|
+
center: Vec;
|
|
8
|
+
/** CSS pixels per plane unit. */
|
|
9
|
+
scale: number;
|
|
10
|
+
/** Extra rotation (radians) — only non-zero while a rotate-left animates. */
|
|
11
|
+
rotation: number;
|
|
12
|
+
/** Horizontal mirror factor (1 = none) — only ≠ 1 while a flip animates (−1 → 1). */
|
|
13
|
+
flip: number;
|
|
14
|
+
}
|
|
15
|
+
/** The stage the view is drawn in (CSS pixels) + the device pixel ratio. */
|
|
16
|
+
export interface Stage {
|
|
17
|
+
width: number;
|
|
18
|
+
height: number;
|
|
19
|
+
dpr: number;
|
|
20
|
+
/**
|
|
21
|
+
* The free area the crop is laid out in (CSS px, relative to the stage) — the canvas spans the whole
|
|
22
|
+
* editor, behind the toolbars, but the crop fits + centers in the space between them. Defaults to the
|
|
23
|
+
* whole stage.
|
|
24
|
+
*/
|
|
25
|
+
area?: {
|
|
26
|
+
x: number;
|
|
27
|
+
y: number;
|
|
28
|
+
width: number;
|
|
29
|
+
height: number;
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
/** The point on screen the view's center lands on (the free area's center). */
|
|
33
|
+
export declare const stageOrigin: (stage: Pick<Stage, "width" | "height" | "area">) => [number, number];
|
|
34
|
+
/** source pixel → plane (the image state's flip / rotation / scale about the image center). */
|
|
35
|
+
export declare function sourceToPlane(state: ImageState, size: Size): Affine;
|
|
36
|
+
/** plane → stage CSS pixels. */
|
|
37
|
+
export declare function planeToScreen(view: View, stage: Pick<Stage, 'width' | 'height' | 'area'>): Affine;
|
|
38
|
+
/** plane → crop-normalized coords (−1…1 across the crop). */
|
|
39
|
+
export declare function planeToCrop(crop: ImageRect): Affine;
|
|
40
|
+
/** The affines a renderer needs to draw `state` in `view` on `stage`. */
|
|
41
|
+
export declare function sceneAffines(state: ImageState, size: Size, view: View, stage: Stage): {
|
|
42
|
+
toUV: Affine;
|
|
43
|
+
toBlurUV: Affine;
|
|
44
|
+
toCrop: Affine;
|
|
45
|
+
};
|
|
46
|
+
/** The view that fits the crop in the stage with `padding` CSS px around it. */
|
|
47
|
+
export declare function fitView(crop: ImageRect, stage: Pick<Stage, 'width' | 'height'>, padding: number): View;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export interface SpringOptions {
|
|
2
|
+
stiffness?: number;
|
|
3
|
+
damping?: number;
|
|
4
|
+
}
|
|
5
|
+
/** Whether the user asked for reduced motion (then every spring jumps straight to its target). */
|
|
6
|
+
export declare const prefersReducedMotion: () => boolean;
|
|
7
|
+
/** A running spring: call it to cancel; `retarget` moves its target without losing the current motion. */
|
|
8
|
+
export interface SpringHandle {
|
|
9
|
+
(): void;
|
|
10
|
+
retarget: (to: number[]) => void;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Spring `from` → `to`, calling `onFrame` with the current values every animation frame (and once with
|
|
14
|
+
* `to` at the end). Returns a handle: call it to cancel, or `retarget(to)` to aim it elsewhere mid-flight
|
|
15
|
+
* (position + velocity carry over, so there's no jolt). Jumps straight to `to` under reduced motion.
|
|
16
|
+
*/
|
|
17
|
+
export declare function springTo(from: number[], target: number[], onFrame: (values: number[]) => void, { stiffness, damping }?: SpringOptions, onDone?: () => void): SpringHandle;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export interface SpringOptions {
|
|
2
|
+
stiffness?: number;
|
|
3
|
+
damping?: number;
|
|
4
|
+
}
|
|
5
|
+
/** Whether the user asked for reduced motion (then every spring jumps straight to its target). */
|
|
6
|
+
export declare const prefersReducedMotion: () => boolean;
|
|
7
|
+
/** A running spring: call it to cancel; `retarget` moves its target without losing the current motion. */
|
|
8
|
+
export interface SpringHandle {
|
|
9
|
+
(): void;
|
|
10
|
+
retarget: (to: number[]) => void;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Spring `from` → `to`, calling `onFrame` with the current values every animation frame (and once with
|
|
14
|
+
* `to` at the end). Returns a handle: call it to cancel, or `retarget(to)` to aim it elsewhere mid-flight
|
|
15
|
+
* (position + velocity carry over, so there's no jolt). Jumps straight to `to` under reduced motion.
|
|
16
|
+
*/
|
|
17
|
+
export declare function springTo(from: number[], target: number[], onFrame: (values: number[]) => void, { stiffness, damping }?: SpringOptions, onDone?: () => void): SpringHandle;
|