@solace-health/ui 0.10.679 → 0.10.680
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/Animate/style.cjs +2 -2
- package/dist/Animate/style.js +1 -1
- package/dist/Avatar/index.cjs +1 -1
- package/dist/Avatar/index.js +1 -1
- package/dist/Avatar/style.cjs +1 -1
- package/dist/Avatar/style.js +1 -1
- package/dist/BackLink/BackLink.cjs +1 -1
- package/dist/BackLink/BackLink.js +1 -1
- package/dist/Card/index.cjs +1 -1
- package/dist/Card/index.js +1 -1
- package/dist/Checkbox/index.cjs +1 -1
- package/dist/Checkbox/index.js +1 -1
- package/dist/Checkbox/style.cjs +1 -1
- package/dist/Checkbox/style.js +1 -1
- package/dist/DateDropdown/index.cjs +1 -1
- package/dist/DateDropdown/index.js +1 -1
- package/dist/DateSelectCalendar/DateSelectCalendar.cjs +1 -1
- package/dist/DateSelectCalendar/DateSelectCalendar.js +1 -1
- package/dist/Error/index.cjs +1 -1
- package/dist/Error/index.js +1 -1
- package/dist/ExpandableDrawer/index.cjs +1 -1
- package/dist/ExpandableDrawer/index.js +1 -1
- package/dist/File/index.cjs +1 -1
- package/dist/File/index.js +1 -1
- package/dist/Form/AddressSelect/index.cjs +1 -1
- package/dist/Form/AddressSelect/index.js +1 -1
- package/dist/Form/Checkbox/index.cjs +1 -1
- package/dist/Form/Checkbox/index.js +1 -1
- package/dist/Form/Checkbox/styles.cjs +1 -1
- package/dist/Form/Checkbox/styles.js +1 -1
- package/dist/Form/DateDropdown/index.cjs +1 -1
- package/dist/Form/DateDropdown/index.js +1 -1
- package/dist/Form/DateDropdown/styles.cjs +1 -1
- package/dist/Form/DateDropdown/styles.js +1 -1
- package/dist/Form/DateSelect/index.cjs +1 -1
- package/dist/Form/DateSelect/index.js +1 -1
- package/dist/Form/DateTextMaskInput/index.cjs +1 -1
- package/dist/Form/DateTextMaskInput/index.js +1 -1
- package/dist/Form/FileUpload/index.cjs +1 -1
- package/dist/Form/FileUpload/index.js +1 -1
- package/dist/Form/FileUpload/styles.cjs +1 -1
- package/dist/Form/FileUpload/styles.js +1 -1
- package/dist/Form/Keyword/index.cjs +1 -1
- package/dist/Form/Keyword/index.js +1 -1
- package/dist/Form/LocationSelect/index.cjs +1 -1
- package/dist/Form/LocationSelect/index.js +1 -1
- package/dist/Form/LocationSelect/style.cjs +1 -1
- package/dist/Form/LocationSelect/style.js +1 -1
- package/dist/Form/Number/index.cjs +1 -1
- package/dist/Form/Number/index.js +1 -1
- package/dist/Form/OTP/index.cjs +1 -1
- package/dist/Form/OTP/index.js +1 -1
- package/dist/Form/Radio/index.cjs +1 -1
- package/dist/Form/Radio/index.js +1 -1
- package/dist/Form/Radio/styles.cjs +1 -1
- package/dist/Form/Radio/styles.js +1 -1
- package/dist/Form/Select/index.cjs +1 -1
- package/dist/Form/Select/index.js +1 -1
- package/dist/Form/Select/styles.cjs +1 -1
- package/dist/Form/Select/styles.js +1 -1
- package/dist/Form/SelectMenu/index.cjs +1 -1
- package/dist/Form/SelectMenu/index.js +1 -1
- package/dist/Form/SentimentSelector/index.cjs +1 -1
- package/dist/Form/SentimentSelector/index.js +1 -1
- package/dist/Form/Signature/index.cjs +1 -1
- package/dist/Form/Signature/index.js +1 -1
- package/dist/Form/Signature/styles.cjs +1 -1
- package/dist/Form/Signature/styles.js +1 -1
- package/dist/Form/Text/index.cjs +1 -1
- package/dist/Form/Text/index.js +1 -1
- package/dist/Form/TextInput/index.cjs +1 -1
- package/dist/Form/TextInput/index.js +1 -1
- package/dist/Form/TextInput/styles.cjs +1 -1
- package/dist/Form/TextInput/styles.js +1 -1
- package/dist/Form/TimePicker/index.cjs +1 -1
- package/dist/Form/TimePicker/index.js +1 -1
- package/dist/Form/TimeSelect/index.cjs +1 -1
- package/dist/Form/TimeSelect/index.js +1 -1
- package/dist/Form/Tree/index.cjs +1 -1
- package/dist/Form/Tree/index.js +1 -1
- package/dist/Form/index.cjs +1 -1
- package/dist/Form/index.js +1 -1
- package/dist/Form/shared/FormInputLabel.cjs +1 -1
- package/dist/Form/shared/FormInputLabel.js +1 -1
- package/dist/Form/shared/HelpModal.cjs +1 -1
- package/dist/Form/shared/HelpModal.js +1 -1
- package/dist/Form/shared/styles.cjs +1 -1
- package/dist/Form/shared/styles.js +1 -1
- package/dist/IconSelector/IconSelector.cjs +1 -1
- package/dist/IconSelector/IconSelector.js +1 -1
- package/dist/InfoContainer/index.cjs +1 -1
- package/dist/InfoContainer/index.js +1 -1
- package/dist/InfoContainer/style.cjs +1 -1
- package/dist/InfoContainer/style.js +1 -1
- package/dist/Menu/ExpandIcon.cjs +1 -1
- package/dist/Menu/ExpandIcon.js +1 -1
- package/dist/Menu/index.cjs +1 -1
- package/dist/Menu/index.js +1 -1
- package/dist/Molecules/ButtonWithIcon/index.cjs +1 -1
- package/dist/Molecules/ButtonWithIcon/index.js +1 -1
- package/dist/Molecules/ButtonWithIcon/style.cjs +1 -1
- package/dist/Molecules/ButtonWithIcon/style.js +1 -1
- package/dist/Molecules/FilterPopover/FiltersMenu/FiltersMenu.cjs +1 -1
- package/dist/Molecules/FilterPopover/FiltersMenu/FiltersMenu.js +1 -1
- package/dist/Molecules/FilterPopover/index.cjs +1 -1
- package/dist/Molecules/FilterPopover/index.js +1 -1
- package/dist/NavigationMenu/ExpandIcon.cjs +1 -1
- package/dist/NavigationMenu/ExpandIcon.js +1 -1
- package/dist/NavigationMenu/index.cjs +1 -1
- package/dist/NavigationMenu/index.js +1 -1
- package/dist/Overlay/OverlayTitle.cjs +1 -1
- package/dist/Overlay/OverlayTitle.js +1 -1
- package/dist/PreviewDrawer/PreviewDrawer.cjs +1 -1
- package/dist/PreviewDrawer/PreviewDrawer.js +1 -1
- package/dist/Radio/index.cjs +1 -1
- package/dist/Radio/index.js +1 -1
- package/dist/Radio/style.cjs +1 -1
- package/dist/Radio/style.js +1 -1
- package/dist/Search/index.cjs +1 -1
- package/dist/Search/index.js +1 -1
- package/dist/SelectClient/index.cjs +2 -2
- package/dist/SelectClient/index.js +1 -1
- package/dist/SentimentSelector/index.cjs +1 -1
- package/dist/SentimentSelector/index.js +1 -1
- package/dist/Status/Status.cjs +1 -1
- package/dist/Status/Status.js +1 -1
- package/dist/Table/index.cjs +1 -1
- package/dist/Table/index.js +1 -1
- package/dist/TimeSelect/styles.cjs +4 -4
- package/dist/TimeSelect/styles.js +1 -1
- package/dist/Tree/index.cjs +1 -1
- package/dist/Tree/index.js +1 -1
- package/dist/Typography/Body/index.stories.cjs +1 -1
- package/dist/Typography/Body/index.stories.js +1 -1
- package/dist/Typography/Display/index.stories.cjs +1 -1
- package/dist/Typography/Display/index.stories.js +1 -1
- package/dist/Typography/Header/index.stories.cjs +1 -1
- package/dist/Typography/Header/index.stories.js +1 -1
- package/dist/Typography/Truncated/index.stories.cjs +1 -1
- package/dist/Typography/Truncated/index.stories.js +1 -1
- package/dist/Typography/index.cjs +1 -1
- package/dist/Typography/index.js +1 -1
- package/dist/VantaLogo/index.cjs +1 -1
- package/dist/VantaLogo/index.js +1 -1
- package/dist/assets/styles/mdxEditorTheme.css +17 -0
- package/dist/{chunk-BP3RKMSA.cjs → chunk-244KN63O.cjs} +2 -2
- package/dist/{chunk-BP3RKMSA.cjs.map → chunk-244KN63O.cjs.map} +1 -1
- package/dist/{chunk-ZDHTZ6U5.js → chunk-2KSGTBVN.js} +3 -3
- package/dist/{chunk-ZDHTZ6U5.js.map → chunk-2KSGTBVN.js.map} +1 -1
- package/dist/{chunk-FMJA3TQV.js → chunk-2NVNTAL5.js} +2 -2
- package/dist/{chunk-FMJA3TQV.js.map → chunk-2NVNTAL5.js.map} +1 -1
- package/dist/{chunk-P6PVDJSH.cjs → chunk-3QS4H3CC.cjs} +5 -5
- package/dist/{chunk-P6PVDJSH.cjs.map → chunk-3QS4H3CC.cjs.map} +1 -1
- package/dist/{chunk-6AOXEPBH.js → chunk-3XXSEP7E.js} +2 -2
- package/dist/{chunk-6AOXEPBH.js.map → chunk-3XXSEP7E.js.map} +1 -1
- package/dist/{chunk-I2EJVDVY.cjs → chunk-4DZVLNTX.cjs} +2 -2
- package/dist/{chunk-I2EJVDVY.cjs.map → chunk-4DZVLNTX.cjs.map} +1 -1
- package/dist/chunk-4UIWR2XN.cjs +2 -0
- package/dist/{chunk-5ZFDBYDZ.cjs.map → chunk-4UIWR2XN.cjs.map} +1 -1
- package/dist/{chunk-KZDXEVI2.js → chunk-532X67JI.js} +3 -3
- package/dist/{chunk-KZDXEVI2.js.map → chunk-532X67JI.js.map} +1 -1
- package/dist/{chunk-DRJ5UCD6.cjs → chunk-6NPE4D6P.cjs} +3 -3
- package/dist/{chunk-DRJ5UCD6.cjs.map → chunk-6NPE4D6P.cjs.map} +1 -1
- package/dist/{chunk-KY7D7E27.js → chunk-6PH6EIR7.js} +2 -2
- package/dist/{chunk-KY7D7E27.js.map → chunk-6PH6EIR7.js.map} +1 -1
- package/dist/{chunk-5NLNW6KG.cjs → chunk-7LWN7ALJ.cjs} +4 -4
- package/dist/{chunk-5NLNW6KG.cjs.map → chunk-7LWN7ALJ.cjs.map} +1 -1
- package/dist/chunk-AAYRFIJ4.cjs +2 -0
- package/dist/{chunk-OSF3P3SH.cjs.map → chunk-AAYRFIJ4.cjs.map} +1 -1
- package/dist/{chunk-5W4Q4L43.cjs → chunk-AE4TA5U2.cjs} +4 -4
- package/dist/{chunk-5W4Q4L43.cjs.map → chunk-AE4TA5U2.cjs.map} +1 -1
- package/dist/{chunk-X3MN4HQC.js → chunk-BCMHNRD7.js} +3 -3
- package/dist/{chunk-X3MN4HQC.js.map → chunk-BCMHNRD7.js.map} +1 -1
- package/dist/{chunk-MPXIRAGY.cjs → chunk-BM5PIB6W.cjs} +4 -4
- package/dist/{chunk-MPXIRAGY.cjs.map → chunk-BM5PIB6W.cjs.map} +1 -1
- package/dist/{chunk-L6X6TCMO.js → chunk-CE72EJFK.js} +2 -2
- package/dist/{chunk-L6X6TCMO.js.map → chunk-CE72EJFK.js.map} +1 -1
- package/dist/{chunk-KT3KDF6I.cjs → chunk-CGZQ4UV7.cjs} +2 -2
- package/dist/{chunk-KT3KDF6I.cjs.map → chunk-CGZQ4UV7.cjs.map} +1 -1
- package/dist/{chunk-YFQM37K5.cjs → chunk-CLWV76AW.cjs} +5 -5
- package/dist/{chunk-YFQM37K5.cjs.map → chunk-CLWV76AW.cjs.map} +1 -1
- package/dist/chunk-CWBOHDTU.cjs +2 -0
- package/dist/{chunk-C7R4CZT4.cjs.map → chunk-CWBOHDTU.cjs.map} +1 -1
- package/dist/{chunk-WKGZCALO.js → chunk-DQWZGAA5.js} +3 -3
- package/dist/{chunk-WKGZCALO.js.map → chunk-DQWZGAA5.js.map} +1 -1
- package/dist/{chunk-7GQ7HR7O.cjs → chunk-FGV63AF5.cjs} +4 -4
- package/dist/{chunk-7GQ7HR7O.cjs.map → chunk-FGV63AF5.cjs.map} +1 -1
- package/dist/{chunk-NX5IGEBT.js → chunk-FSHM3QP4.js} +3 -3
- package/dist/{chunk-NX5IGEBT.js.map → chunk-FSHM3QP4.js.map} +1 -1
- package/dist/{chunk-2PBC7BZ2.js → chunk-FWTM4IIL.js} +3 -3
- package/dist/{chunk-2PBC7BZ2.js.map → chunk-FWTM4IIL.js.map} +1 -1
- package/dist/{chunk-XGTRBXYF.cjs → chunk-FYRPRVYH.cjs} +5 -5
- package/dist/{chunk-XGTRBXYF.cjs.map → chunk-FYRPRVYH.cjs.map} +1 -1
- package/dist/{chunk-FJNUYBHI.js → chunk-GEM5DGTW.js} +3 -3
- package/dist/{chunk-FJNUYBHI.js.map → chunk-GEM5DGTW.js.map} +1 -1
- package/dist/{chunk-Y4KAMQ4G.cjs → chunk-GSGGIS24.cjs} +5 -5
- package/dist/{chunk-Y4KAMQ4G.cjs.map → chunk-GSGGIS24.cjs.map} +1 -1
- package/dist/{chunk-IWF4AMNR.js → chunk-HA5FDZWT.js} +2 -2
- package/dist/{chunk-IWF4AMNR.js.map → chunk-HA5FDZWT.js.map} +1 -1
- package/dist/{chunk-IGJXLCFX.js → chunk-HFY4SYVJ.js} +3 -3
- package/dist/{chunk-IGJXLCFX.js.map → chunk-HFY4SYVJ.js.map} +1 -1
- package/dist/{chunk-3VRRIYBD.cjs → chunk-HWI67LGY.cjs} +4 -4
- package/dist/{chunk-3VRRIYBD.cjs.map → chunk-HWI67LGY.cjs.map} +1 -1
- package/dist/{chunk-PK6MWQH3.cjs → chunk-I7HUARM6.cjs} +4 -4
- package/dist/{chunk-PK6MWQH3.cjs.map → chunk-I7HUARM6.cjs.map} +1 -1
- package/dist/{chunk-F3JL2SBB.cjs → chunk-IE23T3ZB.cjs} +10 -10
- package/dist/{chunk-F3JL2SBB.cjs.map → chunk-IE23T3ZB.cjs.map} +1 -1
- package/dist/chunk-IWIYGWAU.cjs +2 -0
- package/dist/{chunk-RSYXKEDB.cjs.map → chunk-IWIYGWAU.cjs.map} +1 -1
- package/dist/{chunk-XNBCSVO6.cjs → chunk-JANFY6JA.cjs} +2 -2
- package/dist/{chunk-XNBCSVO6.cjs.map → chunk-JANFY6JA.cjs.map} +1 -1
- package/dist/{chunk-PEP2LVNI.cjs → chunk-JX6IZMJN.cjs} +2 -2
- package/dist/{chunk-PEP2LVNI.cjs.map → chunk-JX6IZMJN.cjs.map} +1 -1
- package/dist/{chunk-AFLOBN2B.cjs → chunk-KWP5XBVJ.cjs} +5 -5
- package/dist/{chunk-AFLOBN2B.cjs.map → chunk-KWP5XBVJ.cjs.map} +1 -1
- package/dist/{chunk-K4IX2XZ5.cjs → chunk-LGI3ZCPE.cjs} +4 -4
- package/dist/{chunk-K4IX2XZ5.cjs.map → chunk-LGI3ZCPE.cjs.map} +1 -1
- package/dist/{chunk-VZ5HVYQN.js → chunk-LZNOUUFK.js} +3 -3
- package/dist/{chunk-VZ5HVYQN.js.map → chunk-LZNOUUFK.js.map} +1 -1
- package/dist/{chunk-I62W4VUP.js → chunk-M4ZHJETF.js} +2 -2
- package/dist/{chunk-I62W4VUP.js.map → chunk-M4ZHJETF.js.map} +1 -1
- package/dist/{chunk-HKZIUNZA.cjs → chunk-N3WKOFF5.cjs} +4 -4
- package/dist/{chunk-HKZIUNZA.cjs.map → chunk-N3WKOFF5.cjs.map} +1 -1
- package/dist/{chunk-BUDZOPTY.js → chunk-NGS5S5UC.js} +2 -2
- package/dist/{chunk-BUDZOPTY.js.map → chunk-NGS5S5UC.js.map} +1 -1
- package/dist/{chunk-IPCPTIDX.js → chunk-NKPJYK4U.js} +3 -3
- package/dist/{chunk-IPCPTIDX.js.map → chunk-NKPJYK4U.js.map} +1 -1
- package/dist/{chunk-3OXBPQMW.cjs → chunk-PBWJLXMX.cjs} +3 -3
- package/dist/{chunk-3OXBPQMW.cjs.map → chunk-PBWJLXMX.cjs.map} +1 -1
- package/dist/{chunk-ONLLEIPQ.cjs → chunk-QC6GHZWB.cjs} +3 -3
- package/dist/{chunk-ONLLEIPQ.cjs.map → chunk-QC6GHZWB.cjs.map} +1 -1
- package/dist/{chunk-ZUEOD2A6.cjs → chunk-QLYOQV3Y.cjs} +2 -2
- package/dist/{chunk-ZUEOD2A6.cjs.map → chunk-QLYOQV3Y.cjs.map} +1 -1
- package/dist/{chunk-KN7KOQEA.cjs → chunk-RZHZWMZG.cjs} +2 -2
- package/dist/{chunk-KN7KOQEA.cjs.map → chunk-RZHZWMZG.cjs.map} +1 -1
- package/dist/{chunk-6UCV7ESA.js → chunk-SJZI4TT5.js} +3 -3
- package/dist/{chunk-6UCV7ESA.js.map → chunk-SJZI4TT5.js.map} +1 -1
- package/dist/{chunk-IFOAN267.js → chunk-TPJVQ5HW.js} +3 -3
- package/dist/{chunk-IFOAN267.js.map → chunk-TPJVQ5HW.js.map} +1 -1
- package/dist/{chunk-X2EVDQG5.js → chunk-UORYB6QZ.js} +3 -3
- package/dist/{chunk-X2EVDQG5.js.map → chunk-UORYB6QZ.js.map} +1 -1
- package/dist/{chunk-2QX5QQWC.js → chunk-VGPGNCB5.js} +3 -3
- package/dist/{chunk-2QX5QQWC.js.map → chunk-VGPGNCB5.js.map} +1 -1
- package/dist/{chunk-KOKDJ4SB.js → chunk-XLNV6ZRJ.js} +2 -2
- package/dist/{chunk-KOKDJ4SB.js.map → chunk-XLNV6ZRJ.js.map} +1 -1
- package/dist/{chunk-P47UXMCG.js → chunk-Y2WVHDQV.js} +3 -3
- package/dist/{chunk-P47UXMCG.js.map → chunk-Y2WVHDQV.js.map} +1 -1
- package/dist/{chunk-HQROI6QJ.js → chunk-YJOJ6GVJ.js} +3 -3
- package/dist/{chunk-HQROI6QJ.js.map → chunk-YJOJ6GVJ.js.map} +1 -1
- package/dist/{chunk-RZWCQZUP.js → chunk-YQUBY66F.js} +2 -2
- package/dist/{chunk-RZWCQZUP.js.map → chunk-YQUBY66F.js.map} +1 -1
- package/dist/{chunk-LMEOHTDO.js → chunk-YU4AV3YH.js} +3 -3
- package/dist/{chunk-LMEOHTDO.js.map → chunk-YU4AV3YH.js.map} +1 -1
- package/dist/chunk-YVYP2VJD.js +2 -0
- package/dist/{chunk-3OB5RPDJ.js.map → chunk-YVYP2VJD.js.map} +1 -1
- package/dist/{chunk-I2GSDNAD.js → chunk-ZXSJ2KZF.js} +2 -2
- package/dist/{chunk-I2GSDNAD.js.map → chunk-ZXSJ2KZF.js.map} +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/metafile-cjs.json +1 -1
- package/dist/metafile-esm.json +1 -1
- package/dist/v2/date-picker/date-picker-input.cjs +1 -1
- package/dist/v2/date-picker/date-picker-input.js +1 -1
- package/dist/v2/date-picker/date-picker.cjs +1 -1
- package/dist/v2/date-picker/date-picker.js +1 -1
- package/dist/v2/image-preview/image-preview.cjs +1 -1
- package/dist/v2/image-preview/image-preview.js +1 -1
- package/dist/v2/index.cjs +1 -1
- package/dist/v2/index.js +1 -1
- package/dist/v2/time-select/time-select.cjs +1 -1
- package/dist/v2/time-select/time-select.js +1 -1
- package/package.json +4 -4
- package/dist/chunk-3OB5RPDJ.js +0 -2
- package/dist/chunk-5ZFDBYDZ.cjs +0 -2
- package/dist/chunk-C7R4CZT4.cjs +0 -2
- package/dist/chunk-OSF3P3SH.cjs +0 -2
- package/dist/chunk-RSYXKEDB.cjs +0 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {a as a$
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import {a as a$3}from'./chunk-WEDRHQPW.js';import {a as a$4,d,c as c$1,g,i}from'./chunk-MGE3NPBN.js';import {a as a$2,b,c}from'./chunk-QXJK4OO3.js';import {b as b$2}from'./chunk-SFZYM6JO.js';import {b as b$1}from'./chunk-6ZOLJV4E.js';import {a as a$1,b as b$3}from'./chunk-7QWN4Z56.js';import {a}from'./chunk-YTIIAU4W.js';import {useState,useRef,useEffect,useMemo}from'react';import {LuCalendar,LuZoomOut,LuZoomIn,LuRefreshCcw}from'react-icons/lu';import I from'dayjs';import Se from'dayjs/plugin/customParseFormat.js';import {useIMask}from'react-imask';import {isMatch}from'react-day-picker';import {jsxs,jsx}from'react/jsx-runtime';import ve from'react-easy-crop';import {DateTime,Duration}from'luxon';function fe(a){let o=a.replace(/\D/g,"").slice(0,8);return o.length<=2?o:o.length<=4?`${o.slice(0,2)}/${o.slice(2)}`:`${o.slice(0,2)}/${o.slice(2,4)}/${o.slice(4)}`}function ge(a){if(a.length!==10)return;let o=a.split("/");if(o.length!==3||o[2].length!==4)return;let e=parseInt(o[0],10),n=parseInt(o[1],10),t=parseInt(o[2],10);if(Number.isNaN(e)||Number.isNaN(n)||Number.isNaN(t))return;let l=new Date(t,e-1,n);if(!(l.getFullYear()!==t||l.getMonth()!==e-1||l.getDate()!==n))return l}function De({className:a$3,wrapperClassName:o,value:e,onChange:n,disabled:t=false,calendarProps:l,placeholder:h="MM/DD/YYYY",variant:g}){let[c$1,u]=useState(false),[v,b$3]=useState(e),[T,i]=useState(e?I(e).format("MM/DD/YYYY"):""),s=useRef(e?I(e).format("MM/DD/YYYY"):"");useEffect(()=>{let r=e?I(e).format("MM/DD/YYYY"):"";r!==s.current&&(s.current=r,i(r),e&&b$3(e));},[e]);let D=r=>{let f=fe(r.target.value);i(f);let S=ge(f);S?(s.current=f,n?.(S)):f===""&&(s.current="",n?.(void 0));},d=r=>{r.key==="ArrowDown"&&(r.preventDefault(),u(true)),!/[0-9/]/.test(r.key)&&!["Backspace","Delete","ArrowLeft","ArrowRight","ArrowUp","Tab"].includes(r.key)&&!r.metaKey&&!r.ctrlKey&&r.preventDefault();};return jsxs("div",{className:a("relative w-full",o),children:[jsx("input",{type:"text","data-slot":"input",className:a(a$1({variant:g}),"pr-10",a$3),value:T,placeholder:h,onChange:D,onKeyDown:d,disabled:t}),jsxs(a$2,{open:!t&&c$1,onOpenChange:u,children:[jsx(b,{asChild:true,children:jsx(b$1,{variant:"ghost-icon",size:"sm",className:"absolute top-1/2 right-1 -translate-y-1/2",disabled:t,"aria-label":"Select date",type:"button",children:jsx(LuCalendar,{})})}),jsx(c,{className:"w-auto overflow-hidden p-0",align:"end",sideOffset:10,children:jsx(b$2,{mode:"single",selected:e,month:v,onMonthChange:b$3,onSelect:r=>{let f=r?I(r).format("MM/DD/YYYY"):"";s.current=f,i(f),n?.(r),u(false);},...l})})]})]})}var Pe=({alt:a$1,className:o="",containerClassName:e="",imagePreview:n=void 0,cropper:t=void 0})=>{let[l,h]=useState(false),g=!n||!l,c=!!t;return jsxs("div",{className:a("flex max-w-[386px] flex-col",o),children:[jsxs("div",{className:a("relative h-60 rounded-md border",e),children:[n&&c?jsx(ve,{image:n,crop:t.crop,zoom:t.zoom,aspect:t.aspect,objectFit:"contain",onCropChange:t.setCrop,onZoomChange:t.setZoom,onCropComplete:t.onCropComplete,onMediaLoaded:()=>h(true),showGrid:false}):n&&jsx("img",{alt:a$1,className:`m-auto h-full w-full object-contain transition-opacity duration-300 ${l?"opacity-100":"opacity-0"}`,src:n,onLoad:()=>h(true),draggable:false}),g&&jsx("div",{"aria-label":n?"Loading image":"Awaiting image",className:"from-grey-300 to-grey-300 absolute inset-0 animate-pulse bg-gradient-to-r"})]}),!g&&c&&jsxs("div",{className:"mt-3 flex flex-col items-center justify-between gap-1 px-1 sm:flex-row sm:gap-4",children:[jsxs("div",{className:"flex w-full items-center gap-3",children:[jsx(b$1,{"aria-label":"zoom out",onClick:()=>t.setZoom(Math.max(t.zoom-.1,1)),className:"h-8",variant:"ghost-icon",children:jsx(LuZoomOut,{})}),jsx(a$3,{value:[t.zoom],min:1,max:3,step:.01,onValueChange:u=>t.setZoom(u[0]),className:"w-full sm:flex-50",classNames:{thumb:"border-2 border-green-800",range:"bg-green-900"}}),jsx(b$1,{"aria-label":"zoom in",onClick:()=>t.setZoom(Math.min(t.zoom+.1,3)),variant:"ghost-icon",className:"h-8",children:jsx(LuZoomIn,{})})]}),jsxs(b$1,{onClick:t.reset,variant:"ghost",className:"h-8 p-2",children:[jsx(LuRefreshCcw,{}),"Reset"]})]})]})};var W="00:00",ee="24:00",te=a=>DateTime.fromFormat(a,"HH:mm").isValid,oe=({startTime:a$1=W,endTime:o=ee,interval:e=30,onChange:n=void 0,className:t="",placeholder:l="Select one",size:h="default",portal:g$1=true,triggerIcon:c,getSublabel:u,...v})=>{te(a$1)||(console.error(`Invalid startTime: ${a$1}`),a$1=W),te(o)||(console.error(`Invalid endTime: ${o}`),o=ee);let b=useMemo(()=>{let i=DateTime.fromFormat(o,"HH:mm"),s=Duration.fromObject({minutes:e}),D=[],d=DateTime.fromFormat(a$1,"HH:mm");for(;d<=i;){let r=d.toFormat("HH:mm");r==="00:00"&&d.equals(i)&&(r="24:00"),D.push({label:d.toFormat("h:mm a"),value:{hour:d.toFormat("HH"),min:d.toFormat("mm"),raw:r,formatted:d.toFormat("h:mm a")}}),d=d.plus(s);}return D},[a$1,o,e]);return jsxs(a$4,{onValueChange:i=>{let s=b.find(D=>D.value.raw===i);s&&n?.(s);},...v,children:[jsx(d,{className:a("max-w-[240px] md:w-[150px]",t),size:h,triggerIcon:c,children:jsx(c$1,{placeholder:l})}),jsx(g,{position:"popper",className:"max-h-90",portal:g$1,children:b.map(i$1=>{let s=u?.(i$1);return jsx(i,{className:a(s?"h-auto py-2":"h-10"),value:i$1.value.raw,sublabel:s,children:i$1.label},i$1.value.raw)})})]})},Qe=oe;I.extend(Se);var ae="MM/DD/YYYY",Fe="00/00/0000",X=["MM/DD/YYYY","MM/D/YYYY","M/DD/YYYY","M/D/YYYY","YYYY-MM-DD"];function M(a){return a?I(a).format(ae):""}function Ie({className:a$3="",wrapperClassName:o="",value:e=void 0,onChange:n=void 0,disabled:t=false,calendarProps:l=void 0,placeholder:h,inputProps:g=void 0,showCalendarIcon:c$1=true,editable:u=false}){let[v,b$1]=useState(false),T=h??(u?ae:"Pick a date"),[i,s]=useState(void 0),D=useRef(e);e!==D.current&&(D.current=e,i!==void 0&&s(void 0));let d=i??e,r=p=>l?.disabled?!isMatch(p,l.disabled):true,f=useRef(n);f.current=n;let S=useRef(r);S.current=r;let{ref:q,setValue:B}=useIMask({mask:Fe,lazy:true,overwrite:false},{onComplete:p=>{let C=I(p,X,true);C.isValid()&&S.current(C.toDate())&&f.current?.(C.toDate());}}),ie=p=>{n?.(p),B(M(p)),b$1(false);},se=p=>{let C=p.clipboardData.getData("text").trim(),L=I(C,X,true);if(L.isValid()&&r(L.toDate())){p.preventDefault();let J=L.toDate();n?.(J),B(M(J));}},pe=()=>{B(M(e));},le=()=>{let p=q.current?.value??"";if(p===""){e!==void 0&&n?.(void 0);return}let C=I(p,X,true);C.isValid()&&r(C.toDate())&&n?.(C.toDate()),B(M(e));},me=a(a$1(),c$1&&"pl-10",v?"border-dark-green":"",a$3);return jsxs(a$2,{open:!t&&v,onOpenChange:b$1,children:[jsx(b,{asChild:true,children:jsxs("div",{className:a("relative flex w-full items-center rounded-md",o),children:[u?jsx("input",{ref:q,defaultValue:M(e),className:me,placeholder:T,disabled:t,onFocus:pe,onPaste:se,onBlur:p=>{le(),g?.onBlur?.(p);}}):jsx(b$3,{className:a(c$1&&"pl-10",v?"border-dark-green":"",a$3),...g,value:M(e),placeholder:T,readOnly:true,disabled:t}),c$1&&jsx("div",{className:a("absolute top-1/2 left-4 h-4 w-4 -translate-y-1/2",t?"text-gray-400":"cursor-pointer text-black"),children:jsx(LuCalendar,{size:16})})]})}),jsx(c,{className:"w-auto overflow-hidden p-0",align:"start",onOpenAutoFocus:u?p=>p.preventDefault():void 0,children:jsx(b$2,{mode:"single",selected:e?I(e).toDate():void 0,onSelect:ie,...u?{month:d,onMonthChange:s}:{},...l})})]})}export{Ie as a,De as b,Pe as c,oe as d,Qe as e};//# sourceMappingURL=chunk-XLNV6ZRJ.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-XLNV6ZRJ.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/v2/date-picker/date-picker-input.tsx","../src/v2/image-preview/image-preview.tsx","../src/v2/time-select/time-select.tsx","../src/v2/date-picker/date-picker.tsx"],"names":["maskDate","value","digits","parseDate","parts","month","day","year","date","DatePickerInput","className","wrapperClassName","onChange","disabled","calendarProps","placeholder","variant","open","setOpen","useState","setMonth","inputValue","setInputValue","dayjs","lastSyncedRef","useRef","useEffect","formatted","handleInputChange","e","masked","parsed","handleKeyDown","jsxs","cn","jsx","inputVariants","Popover","PopoverTrigger","Button","LuCalendar","PopoverContent","Calendar","d","ImagePreview","alt","containerClassName","imagePreview","cropper","loaded","setLoaded","showLoader","enableCrop","Cropper","LuZoomOut","Slider","v","LuZoomIn","LuRefreshCcw","START_TIME_DEFAULT","END_TIME_DEFAULT","isValidTime","time","DateTime","TimeSelect","startTime","endTime","interval","size","portal","triggerIcon","getSublabel","inputProps","intervals","useMemo","dtEnd","durationInterval","Duration","res","i","raw","Select","SelectTrigger","SelectValue","SelectContent","sublabel","SelectItem","time_select_default","customParseFormat","DISPLAY_FORMAT","INPUT_MASK","ACCEPTED_INPUT_FORMATS","formatDate","DatePicker","placeholderProp","showCalendarIcon","editable","navigatedMonth","setNavigatedMonth","prevValueForMonth","calendarMonth","isDateAllowed","isMatch","onChangeRef","isDateAllowedRef","maskRef","setMaskValue","useIMask","maskedValue","handleSelect","val","handlePaste","pasted","handleFocus","handleBlur","current","inputClasses","Input"],"mappings":"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","file":"chunk-KOKDJ4SB.js","sourcesContent":["import * as React from 'react';\nimport { ComponentProps, useEffect, useRef, useState } from 'react';\nimport { LuCalendar } from 'react-icons/lu';\nimport dayjs from 'dayjs';\nimport { Calendar, Button, Popover, PopoverContent, PopoverTrigger } from '@/v2';\nimport { cn } from '@/lib/utils';\nimport { inputVariants } from '../input/input';\n\nfunction maskDate(value: string): string {\n const digits = value.replace(/\\D/g, '').slice(0, 8);\n if (digits.length <= 2) return digits;\n if (digits.length <= 4) return `${digits.slice(0, 2)}/${digits.slice(2)}`;\n return `${digits.slice(0, 2)}/${digits.slice(2, 4)}/${digits.slice(4)}`;\n}\n\nfunction parseDate(value: string): Date | undefined {\n if (value.length !== 10) return undefined;\n const parts = value.split('/');\n if (parts.length !== 3 || parts[2].length !== 4) return undefined;\n const month = parseInt(parts[0], 10);\n const day = parseInt(parts[1], 10);\n const year = parseInt(parts[2], 10);\n if (Number.isNaN(month) || Number.isNaN(day) || Number.isNaN(year)) return undefined;\n const date = new Date(year, month - 1, day);\n if (date.getFullYear() !== year || date.getMonth() !== month - 1 || date.getDate() !== day) {\n return undefined;\n }\n return date;\n}\n\nexport type DatePickerInputProps = {\n className?: string;\n wrapperClassName?: string;\n value?: Date;\n onChange?: (value: Date | undefined) => void;\n disabled?: boolean;\n calendarProps?: Omit<ComponentProps<typeof Calendar>, 'mode' | 'selected' | 'onSelect'>;\n placeholder?: string;\n variant?: 'default' | 'invalid';\n};\n\nexport function DatePickerInput({\n className,\n wrapperClassName,\n value,\n onChange,\n disabled = false,\n calendarProps,\n placeholder = 'MM/DD/YYYY',\n variant,\n}: DatePickerInputProps) {\n const [open, setOpen] = useState(false);\n const [month, setMonth] = useState<Date | undefined>(value);\n const [inputValue, setInputValue] = useState<string>(\n value ? dayjs(value).format('MM/DD/YYYY') : '',\n );\n // Track the last value we synced from props to avoid overwriting partial user input\n const lastSyncedRef = useRef(value ? dayjs(value).format('MM/DD/YYYY') : '');\n\n useEffect(() => {\n const formatted = value ? dayjs(value).format('MM/DD/YYYY') : '';\n if (formatted !== lastSyncedRef.current) {\n lastSyncedRef.current = formatted;\n setInputValue(formatted);\n if (value) setMonth(value);\n }\n }, [value]);\n\n const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const masked = maskDate(e.target.value);\n setInputValue(masked);\n const parsed = parseDate(masked);\n if (parsed) {\n lastSyncedRef.current = masked;\n onChange?.(parsed);\n } else if (masked === '') {\n lastSyncedRef.current = '';\n onChange?.(undefined);\n }\n };\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'ArrowDown') {\n e.preventDefault();\n setOpen(true);\n }\n if (\n !/[0-9/]/.test(e.key) &&\n !['Backspace', 'Delete', 'ArrowLeft', 'ArrowRight', 'ArrowUp', 'Tab'].includes(e.key) &&\n !e.metaKey &&\n !e.ctrlKey\n ) {\n e.preventDefault();\n }\n };\n\n return (\n <div className={cn('relative w-full', wrapperClassName)}>\n <input\n type=\"text\"\n data-slot=\"input\"\n className={cn(inputVariants({ variant }), 'pr-10', className)}\n value={inputValue}\n placeholder={placeholder}\n onChange={handleInputChange}\n onKeyDown={handleKeyDown}\n disabled={disabled}\n />\n <Popover open={!disabled && open} onOpenChange={setOpen}>\n <PopoverTrigger asChild>\n <Button\n variant=\"ghost-icon\"\n size=\"sm\"\n className=\"absolute top-1/2 right-1 -translate-y-1/2\"\n disabled={disabled}\n aria-label=\"Select date\"\n type=\"button\"\n >\n <LuCalendar />\n </Button>\n </PopoverTrigger>\n <PopoverContent className=\"w-auto overflow-hidden p-0\" align=\"end\" sideOffset={10}>\n <Calendar\n mode=\"single\"\n selected={value}\n month={month}\n onMonthChange={setMonth}\n onSelect={(d) => {\n const formatted = d ? dayjs(d).format('MM/DD/YYYY') : '';\n lastSyncedRef.current = formatted;\n setInputValue(formatted);\n onChange?.(d);\n setOpen(false);\n }}\n {...calendarProps}\n />\n </PopoverContent>\n </Popover>\n </div>\n );\n}\n","import { useState } from 'react';\nimport { LuRefreshCcw, LuZoomIn, LuZoomOut } from 'react-icons/lu';\nimport Cropper from 'react-easy-crop';\nimport { Button, Slider } from '../index';\nimport type { UseImageCropper } from './useImageCropper';\nimport { cn } from '@/lib/utils';\n\nexport type ImagePreviewProps = {\n alt: string;\n className?: string;\n containerClassName?: string;\n imagePreview?: string; // optional so we can show skeleton while awaiting URL\n cropper?: UseImageCropper; // when provided, show cropping UI\n};\n\nexport const ImagePreview = ({\n alt,\n className = '',\n containerClassName = '',\n imagePreview = undefined,\n cropper = undefined,\n}: ImagePreviewProps) => {\n const [loaded, setLoaded] = useState(false);\n const showLoader = !imagePreview || !loaded;\n const enableCrop = !!cropper;\n\n return (\n <div className={cn(`flex max-w-[386px] flex-col`, className)}>\n <div className={cn('relative h-60 rounded-md border', containerClassName)}>\n {imagePreview && enableCrop ? (\n <Cropper\n image={imagePreview}\n crop={cropper.crop}\n zoom={cropper.zoom}\n aspect={cropper.aspect}\n objectFit=\"contain\"\n onCropChange={cropper.setCrop}\n onZoomChange={cropper.setZoom}\n onCropComplete={cropper.onCropComplete}\n onMediaLoaded={() => setLoaded(true)}\n showGrid={false}\n />\n ) : (\n imagePreview && (\n <img\n alt={alt}\n className={`m-auto h-full w-full object-contain transition-opacity duration-300 ${loaded ? 'opacity-100' : 'opacity-0'}`}\n src={imagePreview}\n onLoad={() => setLoaded(true)}\n draggable={false}\n />\n )\n )}\n\n {showLoader && (\n <div\n aria-label={imagePreview ? 'Loading image' : 'Awaiting image'}\n className=\"from-grey-300 to-grey-300 absolute inset-0 animate-pulse bg-gradient-to-r\"\n />\n )}\n </div>\n\n {!showLoader && enableCrop && (\n <div className=\"mt-3 flex flex-col items-center justify-between gap-1 px-1 sm:flex-row sm:gap-4\">\n <div className=\"flex w-full items-center gap-3\">\n <Button\n aria-label=\"zoom out\"\n onClick={() => cropper.setZoom(Math.max(cropper.zoom - 0.1, 1))}\n className=\"h-8\"\n variant=\"ghost-icon\"\n >\n <LuZoomOut />\n </Button>\n\n <Slider\n value={[cropper.zoom]}\n min={1}\n max={3}\n step={0.01}\n onValueChange={(v: number[]) => cropper.setZoom(v[0])}\n className=\"w-full sm:flex-50\"\n classNames={{ thumb: 'border-2 border-green-800', range: 'bg-green-900' }}\n />\n\n <Button\n aria-label=\"zoom in\"\n onClick={() => cropper.setZoom(Math.min(cropper.zoom + 0.1, 3))}\n variant=\"ghost-icon\"\n className=\"h-8\"\n >\n <LuZoomIn />\n </Button>\n </div>\n\n <Button onClick={cropper.reset} variant=\"ghost\" className=\"h-8 p-2\">\n <LuRefreshCcw />\n Reset\n </Button>\n </div>\n )}\n </div>\n );\n};\n","import { DateTime, Duration } from 'luxon';\nimport { useMemo } from 'react';\nimport type { ReactElement, ReactNode } from 'react';\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/v2';\nimport { cn } from '@/lib/utils';\n\nexport type Interval = {\n label: string;\n value: {\n hour: string;\n min: string;\n raw: string;\n formatted: string;\n };\n};\n\ntype Props = {\n startTime?: string;\n endTime?: string;\n interval?: number;\n onChange?: (e: Interval) => void;\n className?: string;\n placeholder?: string;\n size?: 'default' | 'sm';\n portal?: boolean;\n triggerIcon?: ReactElement;\n getSublabel?: (interval: Interval) => ReactNode;\n [inputProps: string]: unknown;\n};\n\nconst START_TIME_DEFAULT = '00:00';\nconst END_TIME_DEFAULT = '24:00';\n\nconst isValidTime = (time: string) => {\n const dt = DateTime.fromFormat(time, 'HH:mm');\n return dt.isValid;\n};\n\nexport const TimeSelect = ({\n startTime = START_TIME_DEFAULT,\n endTime = END_TIME_DEFAULT,\n interval = 30,\n onChange = undefined,\n className = '',\n placeholder = 'Select one',\n size = 'default',\n portal = true,\n triggerIcon,\n getSublabel,\n ...inputProps\n}: Props) => {\n if (!isValidTime(startTime)) {\n console.error(`Invalid startTime: ${startTime}`);\n // eslint-disable-next-line no-param-reassign\n startTime = START_TIME_DEFAULT;\n }\n if (!isValidTime(endTime)) {\n console.error(`Invalid endTime: ${endTime}`);\n // eslint-disable-next-line no-param-reassign\n endTime = END_TIME_DEFAULT;\n }\n\n const intervals = useMemo((): Interval[] => {\n const dtEnd = DateTime.fromFormat(endTime, 'HH:mm');\n const durationInterval = Duration.fromObject({ minutes: interval });\n const res = [];\n let i = DateTime.fromFormat(startTime, 'HH:mm');\n while (i <= dtEnd) {\n let raw = i.toFormat('HH:mm');\n // Avoid duplicate keys for \"00:00\" and \"00:00\" (end of day)\n if (raw === '00:00' && i.equals(dtEnd)) raw = '24:00';\n\n res.push({\n label: i.toFormat('h:mm a'),\n value: {\n hour: i.toFormat('HH'),\n min: i.toFormat('mm'),\n raw,\n formatted: i.toFormat('h:mm a'),\n },\n });\n i = i.plus(durationInterval);\n }\n\n return res;\n }, [startTime, endTime, interval]);\n\n const handleOnSelect = (e: unknown) => {\n const interval = intervals.find((time) => time.value.raw === e);\n\n if (!interval) return;\n\n onChange?.(interval);\n };\n\n return (\n <Select onValueChange={handleOnSelect} {...inputProps}>\n <SelectTrigger\n className={cn('max-w-[240px] md:w-[150px]', className)}\n size={size}\n triggerIcon={triggerIcon}\n >\n <SelectValue placeholder={placeholder} />\n </SelectTrigger>\n <SelectContent position=\"popper\" className=\"max-h-90\" portal={portal}>\n {intervals.map((time) => {\n const sublabel = getSublabel?.(time);\n return (\n <SelectItem\n className={cn(sublabel ? 'h-auto py-2' : 'h-10')}\n key={time.value.raw}\n value={time.value.raw}\n sublabel={sublabel}\n >\n {time.label}\n </SelectItem>\n );\n })}\n </SelectContent>\n </Select>\n );\n};\n\nexport default TimeSelect;\n","import { ComponentProps, useRef, useState } from 'react';\nimport { LuCalendar } from 'react-icons/lu';\nimport dayjs from 'dayjs';\nimport customParseFormat from 'dayjs/plugin/customParseFormat.js';\nimport { useIMask } from 'react-imask';\nimport { isMatch } from 'react-day-picker';\nimport { Calendar, Input, Popover, PopoverContent, PopoverTrigger } from '@/v2';\nimport { cn } from '@/lib/utils';\nimport { inputVariants } from '@/v2/input/input';\nimport type { InputProps } from '@/v2/input/input';\n\ndayjs.extend(customParseFormat);\n\n/** Display and input format for dates. Also used as the placeholder when `editable` is true. */\nconst DISPLAY_FORMAT = 'MM/DD/YYYY';\n\n/** IMask pattern — each `0` is a required digit, slashes are fixed literals. */\nconst INPUT_MASK = '00/00/0000';\n\n/**\n * Formats accepted when parsing typed or pasted input (dayjs strict mode).\n * Ordered from most specific to least specific to avoid ambiguous matches.\n */\nconst ACCEPTED_INPUT_FORMATS = ['MM/DD/YYYY', 'MM/D/YYYY', 'M/DD/YYYY', 'M/D/YYYY', 'YYYY-MM-DD'];\n\nexport type DatePickerProps = {\n /** Additional class name(s) applied to the input element. */\n className?: string;\n /** Additional class name(s) applied to the outer popover trigger wrapper. */\n wrapperClassName?: string;\n /** The currently selected date. `undefined` means no date is selected. */\n value?: Date;\n /** Called when the selected date changes. Receives `undefined` when the date is cleared. */\n onChange?: (value: Date | undefined) => void;\n /** When `true`, the picker is non-interactive. */\n disabled?: boolean;\n /**\n * Props forwarded to the underlying `Calendar` component (react-day-picker).\n * Use `disabled` within this object to restrict selectable dates — these\n * constraints apply to both calendar clicks and typed input when `editable` is `true`.\n *\n * @example\n * ```tsx\n * <DatePicker calendarProps={{ disabled: [{ before: new Date() }] }} />\n * ```\n */\n calendarProps?: Omit<ComponentProps<typeof Calendar>, 'mode' | 'selected' | 'onSelect'>;\n /**\n * Input placeholder text. Defaults to `\"Pick a date\"` in read-only mode\n * and `\"MM/DD/YYYY\"` when `editable` is `true`.\n */\n placeholder?: string;\n /** Props forwarded to the underlying `Input` component. */\n inputProps?: InputProps;\n /** Whether to show the calendar icon inside the input. @default true */\n showCalendarIcon?: boolean;\n /**\n * When `true`, the input accepts typed and pasted dates in `MM/DD/YYYY` format.\n * Slashes are auto-inserted, non-numeric characters are rejected, and common\n * formats like `M/D/YYYY` and `YYYY-MM-DD` are accepted on paste.\n * Dates that fall in `calendarProps.disabled` ranges are rejected.\n *\n * When `false` (default), the input is read-only and dates can only be\n * selected via the calendar popover.\n *\n * @default false\n */\n editable?: boolean;\n};\n\nfunction formatDate(date: Date | undefined): string {\n return date ? dayjs(date).format(DISPLAY_FORMAT) : '';\n}\n\n/**\n * A date picker that combines a text input with a calendar popover.\n *\n * By default the input is read-only — dates are selected via the calendar.\n * Set `editable` to allow typing or pasting dates in `MM/DD/YYYY` format.\n */\nexport function DatePicker({\n className = '',\n wrapperClassName = '',\n value = undefined,\n onChange = undefined,\n disabled = false,\n calendarProps = undefined,\n placeholder: placeholderProp,\n inputProps = undefined,\n showCalendarIcon = true,\n editable = false,\n}: DatePickerProps) {\n const [open, setOpen] = useState(false);\n const placeholder = placeholderProp ?? (editable ? DISPLAY_FORMAT : 'Pick a date');\n\n // Calendar month: derived from value, with user navigation override.\n // When value changes, navigation resets to the new value's month.\n const [navigatedMonth, setNavigatedMonth] = useState<Date | undefined>(undefined);\n const prevValueForMonth = useRef(value);\n if (value !== prevValueForMonth.current) {\n prevValueForMonth.current = value;\n if (navigatedMonth !== undefined) {\n setNavigatedMonth(undefined);\n }\n }\n const calendarMonth = navigatedMonth ?? value;\n\n const isDateAllowed = (date: Date): boolean => {\n if (!calendarProps?.disabled) {\n return true;\n }\n return !isMatch(date, calendarProps.disabled);\n };\n\n // Refs ensure IMask callbacks always see the latest values without re-creating the mask\n const onChangeRef = useRef(onChange);\n onChangeRef.current = onChange;\n const isDateAllowedRef = useRef(isDateAllowed);\n isDateAllowedRef.current = isDateAllowed;\n\n const { ref: maskRef, setValue: setMaskValue } = useIMask<HTMLInputElement>(\n { mask: INPUT_MASK, lazy: true, overwrite: false },\n {\n onComplete: (maskedValue) => {\n const parsed = dayjs(maskedValue, ACCEPTED_INPUT_FORMATS, true);\n if (parsed.isValid() && isDateAllowedRef.current(parsed.toDate())) {\n onChangeRef.current?.(parsed.toDate());\n }\n },\n },\n );\n\n const handleSelect = (val: Date | undefined) => {\n onChange?.(val);\n setMaskValue(formatDate(val));\n setOpen(false);\n };\n\n const handlePaste = (e: React.ClipboardEvent<HTMLInputElement>) => {\n const pasted = e.clipboardData.getData('text').trim();\n const parsed = dayjs(pasted, ACCEPTED_INPUT_FORMATS, true);\n if (parsed.isValid() && isDateAllowed(parsed.toDate())) {\n e.preventDefault();\n const date = parsed.toDate();\n onChange?.(date);\n setMaskValue(formatDate(date));\n }\n // If we can't parse it, let IMask handle it naturally\n };\n\n const handleFocus = () => {\n // Sync the mask to the current value on focus — handles external parent resets\n setMaskValue(formatDate(value));\n };\n\n const handleBlur = () => {\n const current = maskRef.current?.value ?? '';\n if (current === '') {\n if (value !== undefined) {\n onChange?.(undefined);\n }\n return;\n }\n const parsed = dayjs(current, ACCEPTED_INPUT_FORMATS, true);\n if (parsed.isValid() && isDateAllowed(parsed.toDate())) {\n onChange?.(parsed.toDate());\n }\n // Revert to last valid display value\n setMaskValue(formatDate(value));\n };\n\n const inputClasses = cn(\n inputVariants(),\n showCalendarIcon && 'pl-10',\n open ? 'border-dark-green' : '',\n className,\n );\n\n return (\n <Popover open={!disabled && open} onOpenChange={setOpen}>\n <PopoverTrigger asChild>\n <div className={cn('relative flex w-full items-center rounded-md', wrapperClassName)}>\n {editable ? (\n <input\n ref={maskRef}\n defaultValue={formatDate(value)}\n className={inputClasses}\n placeholder={placeholder}\n disabled={disabled}\n onFocus={handleFocus}\n onPaste={handlePaste}\n onBlur={(e) => {\n handleBlur();\n inputProps?.onBlur?.(e);\n }}\n />\n ) : (\n <Input\n className={cn(\n showCalendarIcon && 'pl-10',\n open ? 'border-dark-green' : '',\n className,\n )}\n {...inputProps}\n value={formatDate(value)}\n placeholder={placeholder}\n readOnly\n disabled={disabled}\n />\n )}\n {showCalendarIcon && (\n <div\n className={cn(\n 'absolute top-1/2 left-4 h-4 w-4 -translate-y-1/2',\n disabled ? 'text-gray-400' : 'cursor-pointer text-black',\n )}\n >\n <LuCalendar size={16} />\n </div>\n )}\n </div>\n </PopoverTrigger>\n <PopoverContent\n className=\"w-auto overflow-hidden p-0\"\n align=\"start\"\n onOpenAutoFocus={editable ? (e) => e.preventDefault() : undefined}\n >\n <Calendar\n mode=\"single\"\n selected={value ? dayjs(value).toDate() : undefined}\n onSelect={handleSelect}\n {...(editable ? { month: calendarMonth, onMonthChange: setNavigatedMonth } : {})}\n {...calendarProps}\n />\n </PopoverContent>\n </Popover>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/v2/date-picker/date-picker-input.tsx","../src/v2/image-preview/image-preview.tsx","../src/v2/time-select/time-select.tsx","../src/v2/date-picker/date-picker.tsx"],"names":["maskDate","value","digits","parseDate","parts","month","day","year","date","DatePickerInput","className","wrapperClassName","onChange","disabled","calendarProps","placeholder","variant","open","setOpen","useState","setMonth","inputValue","setInputValue","dayjs","lastSyncedRef","useRef","useEffect","formatted","handleInputChange","e","masked","parsed","handleKeyDown","jsxs","cn","jsx","inputVariants","Popover","PopoverTrigger","Button","LuCalendar","PopoverContent","Calendar","d","ImagePreview","alt","containerClassName","imagePreview","cropper","loaded","setLoaded","showLoader","enableCrop","Cropper","LuZoomOut","Slider","v","LuZoomIn","LuRefreshCcw","START_TIME_DEFAULT","END_TIME_DEFAULT","isValidTime","time","DateTime","TimeSelect","startTime","endTime","interval","size","portal","triggerIcon","getSublabel","inputProps","intervals","useMemo","dtEnd","durationInterval","Duration","res","i","raw","Select","SelectTrigger","SelectValue","SelectContent","sublabel","SelectItem","time_select_default","customParseFormat","DISPLAY_FORMAT","INPUT_MASK","ACCEPTED_INPUT_FORMATS","formatDate","DatePicker","placeholderProp","showCalendarIcon","editable","navigatedMonth","setNavigatedMonth","prevValueForMonth","calendarMonth","isDateAllowed","isMatch","onChangeRef","isDateAllowedRef","maskRef","setMaskValue","useIMask","maskedValue","handleSelect","val","handlePaste","pasted","handleFocus","handleBlur","current","inputClasses","Input"],"mappings":"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","file":"chunk-XLNV6ZRJ.js","sourcesContent":["import * as React from 'react';\nimport { ComponentProps, useEffect, useRef, useState } from 'react';\nimport { LuCalendar } from 'react-icons/lu';\nimport dayjs from 'dayjs';\nimport { Calendar, Button, Popover, PopoverContent, PopoverTrigger } from '@/v2';\nimport { cn } from '@/lib/utils';\nimport { inputVariants } from '../input/input';\n\nfunction maskDate(value: string): string {\n const digits = value.replace(/\\D/g, '').slice(0, 8);\n if (digits.length <= 2) return digits;\n if (digits.length <= 4) return `${digits.slice(0, 2)}/${digits.slice(2)}`;\n return `${digits.slice(0, 2)}/${digits.slice(2, 4)}/${digits.slice(4)}`;\n}\n\nfunction parseDate(value: string): Date | undefined {\n if (value.length !== 10) return undefined;\n const parts = value.split('/');\n if (parts.length !== 3 || parts[2].length !== 4) return undefined;\n const month = parseInt(parts[0], 10);\n const day = parseInt(parts[1], 10);\n const year = parseInt(parts[2], 10);\n if (Number.isNaN(month) || Number.isNaN(day) || Number.isNaN(year)) return undefined;\n const date = new Date(year, month - 1, day);\n if (date.getFullYear() !== year || date.getMonth() !== month - 1 || date.getDate() !== day) {\n return undefined;\n }\n return date;\n}\n\nexport type DatePickerInputProps = {\n className?: string;\n wrapperClassName?: string;\n value?: Date;\n onChange?: (value: Date | undefined) => void;\n disabled?: boolean;\n calendarProps?: Omit<ComponentProps<typeof Calendar>, 'mode' | 'selected' | 'onSelect'>;\n placeholder?: string;\n variant?: 'default' | 'invalid';\n};\n\nexport function DatePickerInput({\n className,\n wrapperClassName,\n value,\n onChange,\n disabled = false,\n calendarProps,\n placeholder = 'MM/DD/YYYY',\n variant,\n}: DatePickerInputProps) {\n const [open, setOpen] = useState(false);\n const [month, setMonth] = useState<Date | undefined>(value);\n const [inputValue, setInputValue] = useState<string>(\n value ? dayjs(value).format('MM/DD/YYYY') : '',\n );\n // Track the last value we synced from props to avoid overwriting partial user input\n const lastSyncedRef = useRef(value ? dayjs(value).format('MM/DD/YYYY') : '');\n\n useEffect(() => {\n const formatted = value ? dayjs(value).format('MM/DD/YYYY') : '';\n if (formatted !== lastSyncedRef.current) {\n lastSyncedRef.current = formatted;\n setInputValue(formatted);\n if (value) setMonth(value);\n }\n }, [value]);\n\n const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const masked = maskDate(e.target.value);\n setInputValue(masked);\n const parsed = parseDate(masked);\n if (parsed) {\n lastSyncedRef.current = masked;\n onChange?.(parsed);\n } else if (masked === '') {\n lastSyncedRef.current = '';\n onChange?.(undefined);\n }\n };\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'ArrowDown') {\n e.preventDefault();\n setOpen(true);\n }\n if (\n !/[0-9/]/.test(e.key) &&\n !['Backspace', 'Delete', 'ArrowLeft', 'ArrowRight', 'ArrowUp', 'Tab'].includes(e.key) &&\n !e.metaKey &&\n !e.ctrlKey\n ) {\n e.preventDefault();\n }\n };\n\n return (\n <div className={cn('relative w-full', wrapperClassName)}>\n <input\n type=\"text\"\n data-slot=\"input\"\n className={cn(inputVariants({ variant }), 'pr-10', className)}\n value={inputValue}\n placeholder={placeholder}\n onChange={handleInputChange}\n onKeyDown={handleKeyDown}\n disabled={disabled}\n />\n <Popover open={!disabled && open} onOpenChange={setOpen}>\n <PopoverTrigger asChild>\n <Button\n variant=\"ghost-icon\"\n size=\"sm\"\n className=\"absolute top-1/2 right-1 -translate-y-1/2\"\n disabled={disabled}\n aria-label=\"Select date\"\n type=\"button\"\n >\n <LuCalendar />\n </Button>\n </PopoverTrigger>\n <PopoverContent className=\"w-auto overflow-hidden p-0\" align=\"end\" sideOffset={10}>\n <Calendar\n mode=\"single\"\n selected={value}\n month={month}\n onMonthChange={setMonth}\n onSelect={(d) => {\n const formatted = d ? dayjs(d).format('MM/DD/YYYY') : '';\n lastSyncedRef.current = formatted;\n setInputValue(formatted);\n onChange?.(d);\n setOpen(false);\n }}\n {...calendarProps}\n />\n </PopoverContent>\n </Popover>\n </div>\n );\n}\n","import { useState } from 'react';\nimport { LuRefreshCcw, LuZoomIn, LuZoomOut } from 'react-icons/lu';\nimport Cropper from 'react-easy-crop';\nimport { Button, Slider } from '../index';\nimport type { UseImageCropper } from './useImageCropper';\nimport { cn } from '@/lib/utils';\n\nexport type ImagePreviewProps = {\n alt: string;\n className?: string;\n containerClassName?: string;\n imagePreview?: string; // optional so we can show skeleton while awaiting URL\n cropper?: UseImageCropper; // when provided, show cropping UI\n};\n\nexport const ImagePreview = ({\n alt,\n className = '',\n containerClassName = '',\n imagePreview = undefined,\n cropper = undefined,\n}: ImagePreviewProps) => {\n const [loaded, setLoaded] = useState(false);\n const showLoader = !imagePreview || !loaded;\n const enableCrop = !!cropper;\n\n return (\n <div className={cn(`flex max-w-[386px] flex-col`, className)}>\n <div className={cn('relative h-60 rounded-md border', containerClassName)}>\n {imagePreview && enableCrop ? (\n <Cropper\n image={imagePreview}\n crop={cropper.crop}\n zoom={cropper.zoom}\n aspect={cropper.aspect}\n objectFit=\"contain\"\n onCropChange={cropper.setCrop}\n onZoomChange={cropper.setZoom}\n onCropComplete={cropper.onCropComplete}\n onMediaLoaded={() => setLoaded(true)}\n showGrid={false}\n />\n ) : (\n imagePreview && (\n <img\n alt={alt}\n className={`m-auto h-full w-full object-contain transition-opacity duration-300 ${loaded ? 'opacity-100' : 'opacity-0'}`}\n src={imagePreview}\n onLoad={() => setLoaded(true)}\n draggable={false}\n />\n )\n )}\n\n {showLoader && (\n <div\n aria-label={imagePreview ? 'Loading image' : 'Awaiting image'}\n className=\"from-grey-300 to-grey-300 absolute inset-0 animate-pulse bg-gradient-to-r\"\n />\n )}\n </div>\n\n {!showLoader && enableCrop && (\n <div className=\"mt-3 flex flex-col items-center justify-between gap-1 px-1 sm:flex-row sm:gap-4\">\n <div className=\"flex w-full items-center gap-3\">\n <Button\n aria-label=\"zoom out\"\n onClick={() => cropper.setZoom(Math.max(cropper.zoom - 0.1, 1))}\n className=\"h-8\"\n variant=\"ghost-icon\"\n >\n <LuZoomOut />\n </Button>\n\n <Slider\n value={[cropper.zoom]}\n min={1}\n max={3}\n step={0.01}\n onValueChange={(v: number[]) => cropper.setZoom(v[0])}\n className=\"w-full sm:flex-50\"\n classNames={{ thumb: 'border-2 border-green-800', range: 'bg-green-900' }}\n />\n\n <Button\n aria-label=\"zoom in\"\n onClick={() => cropper.setZoom(Math.min(cropper.zoom + 0.1, 3))}\n variant=\"ghost-icon\"\n className=\"h-8\"\n >\n <LuZoomIn />\n </Button>\n </div>\n\n <Button onClick={cropper.reset} variant=\"ghost\" className=\"h-8 p-2\">\n <LuRefreshCcw />\n Reset\n </Button>\n </div>\n )}\n </div>\n );\n};\n","import { DateTime, Duration } from 'luxon';\nimport { useMemo } from 'react';\nimport type { ReactElement, ReactNode } from 'react';\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/v2';\nimport { cn } from '@/lib/utils';\n\nexport type Interval = {\n label: string;\n value: {\n hour: string;\n min: string;\n raw: string;\n formatted: string;\n };\n};\n\ntype Props = {\n startTime?: string;\n endTime?: string;\n interval?: number;\n onChange?: (e: Interval) => void;\n className?: string;\n placeholder?: string;\n size?: 'default' | 'sm';\n portal?: boolean;\n triggerIcon?: ReactElement;\n getSublabel?: (interval: Interval) => ReactNode;\n [inputProps: string]: unknown;\n};\n\nconst START_TIME_DEFAULT = '00:00';\nconst END_TIME_DEFAULT = '24:00';\n\nconst isValidTime = (time: string) => {\n const dt = DateTime.fromFormat(time, 'HH:mm');\n return dt.isValid;\n};\n\nexport const TimeSelect = ({\n startTime = START_TIME_DEFAULT,\n endTime = END_TIME_DEFAULT,\n interval = 30,\n onChange = undefined,\n className = '',\n placeholder = 'Select one',\n size = 'default',\n portal = true,\n triggerIcon,\n getSublabel,\n ...inputProps\n}: Props) => {\n if (!isValidTime(startTime)) {\n console.error(`Invalid startTime: ${startTime}`);\n // eslint-disable-next-line no-param-reassign\n startTime = START_TIME_DEFAULT;\n }\n if (!isValidTime(endTime)) {\n console.error(`Invalid endTime: ${endTime}`);\n // eslint-disable-next-line no-param-reassign\n endTime = END_TIME_DEFAULT;\n }\n\n const intervals = useMemo((): Interval[] => {\n const dtEnd = DateTime.fromFormat(endTime, 'HH:mm');\n const durationInterval = Duration.fromObject({ minutes: interval });\n const res = [];\n let i = DateTime.fromFormat(startTime, 'HH:mm');\n while (i <= dtEnd) {\n let raw = i.toFormat('HH:mm');\n // Avoid duplicate keys for \"00:00\" and \"00:00\" (end of day)\n if (raw === '00:00' && i.equals(dtEnd)) raw = '24:00';\n\n res.push({\n label: i.toFormat('h:mm a'),\n value: {\n hour: i.toFormat('HH'),\n min: i.toFormat('mm'),\n raw,\n formatted: i.toFormat('h:mm a'),\n },\n });\n i = i.plus(durationInterval);\n }\n\n return res;\n }, [startTime, endTime, interval]);\n\n const handleOnSelect = (e: unknown) => {\n const interval = intervals.find((time) => time.value.raw === e);\n\n if (!interval) return;\n\n onChange?.(interval);\n };\n\n return (\n <Select onValueChange={handleOnSelect} {...inputProps}>\n <SelectTrigger\n className={cn('max-w-[240px] md:w-[150px]', className)}\n size={size}\n triggerIcon={triggerIcon}\n >\n <SelectValue placeholder={placeholder} />\n </SelectTrigger>\n <SelectContent position=\"popper\" className=\"max-h-90\" portal={portal}>\n {intervals.map((time) => {\n const sublabel = getSublabel?.(time);\n return (\n <SelectItem\n className={cn(sublabel ? 'h-auto py-2' : 'h-10')}\n key={time.value.raw}\n value={time.value.raw}\n sublabel={sublabel}\n >\n {time.label}\n </SelectItem>\n );\n })}\n </SelectContent>\n </Select>\n );\n};\n\nexport default TimeSelect;\n","import { ComponentProps, useRef, useState } from 'react';\nimport { LuCalendar } from 'react-icons/lu';\nimport dayjs from 'dayjs';\nimport customParseFormat from 'dayjs/plugin/customParseFormat.js';\nimport { useIMask } from 'react-imask';\nimport { isMatch } from 'react-day-picker';\nimport { Calendar, Input, Popover, PopoverContent, PopoverTrigger } from '@/v2';\nimport { cn } from '@/lib/utils';\nimport { inputVariants } from '@/v2/input/input';\nimport type { InputProps } from '@/v2/input/input';\n\ndayjs.extend(customParseFormat);\n\n/** Display and input format for dates. Also used as the placeholder when `editable` is true. */\nconst DISPLAY_FORMAT = 'MM/DD/YYYY';\n\n/** IMask pattern — each `0` is a required digit, slashes are fixed literals. */\nconst INPUT_MASK = '00/00/0000';\n\n/**\n * Formats accepted when parsing typed or pasted input (dayjs strict mode).\n * Ordered from most specific to least specific to avoid ambiguous matches.\n */\nconst ACCEPTED_INPUT_FORMATS = ['MM/DD/YYYY', 'MM/D/YYYY', 'M/DD/YYYY', 'M/D/YYYY', 'YYYY-MM-DD'];\n\nexport type DatePickerProps = {\n /** Additional class name(s) applied to the input element. */\n className?: string;\n /** Additional class name(s) applied to the outer popover trigger wrapper. */\n wrapperClassName?: string;\n /** The currently selected date. `undefined` means no date is selected. */\n value?: Date;\n /** Called when the selected date changes. Receives `undefined` when the date is cleared. */\n onChange?: (value: Date | undefined) => void;\n /** When `true`, the picker is non-interactive. */\n disabled?: boolean;\n /**\n * Props forwarded to the underlying `Calendar` component (react-day-picker).\n * Use `disabled` within this object to restrict selectable dates — these\n * constraints apply to both calendar clicks and typed input when `editable` is `true`.\n *\n * @example\n * ```tsx\n * <DatePicker calendarProps={{ disabled: [{ before: new Date() }] }} />\n * ```\n */\n calendarProps?: Omit<ComponentProps<typeof Calendar>, 'mode' | 'selected' | 'onSelect'>;\n /**\n * Input placeholder text. Defaults to `\"Pick a date\"` in read-only mode\n * and `\"MM/DD/YYYY\"` when `editable` is `true`.\n */\n placeholder?: string;\n /** Props forwarded to the underlying `Input` component. */\n inputProps?: InputProps;\n /** Whether to show the calendar icon inside the input. @default true */\n showCalendarIcon?: boolean;\n /**\n * When `true`, the input accepts typed and pasted dates in `MM/DD/YYYY` format.\n * Slashes are auto-inserted, non-numeric characters are rejected, and common\n * formats like `M/D/YYYY` and `YYYY-MM-DD` are accepted on paste.\n * Dates that fall in `calendarProps.disabled` ranges are rejected.\n *\n * When `false` (default), the input is read-only and dates can only be\n * selected via the calendar popover.\n *\n * @default false\n */\n editable?: boolean;\n};\n\nfunction formatDate(date: Date | undefined): string {\n return date ? dayjs(date).format(DISPLAY_FORMAT) : '';\n}\n\n/**\n * A date picker that combines a text input with a calendar popover.\n *\n * By default the input is read-only — dates are selected via the calendar.\n * Set `editable` to allow typing or pasting dates in `MM/DD/YYYY` format.\n */\nexport function DatePicker({\n className = '',\n wrapperClassName = '',\n value = undefined,\n onChange = undefined,\n disabled = false,\n calendarProps = undefined,\n placeholder: placeholderProp,\n inputProps = undefined,\n showCalendarIcon = true,\n editable = false,\n}: DatePickerProps) {\n const [open, setOpen] = useState(false);\n const placeholder = placeholderProp ?? (editable ? DISPLAY_FORMAT : 'Pick a date');\n\n // Calendar month: derived from value, with user navigation override.\n // When value changes, navigation resets to the new value's month.\n const [navigatedMonth, setNavigatedMonth] = useState<Date | undefined>(undefined);\n const prevValueForMonth = useRef(value);\n if (value !== prevValueForMonth.current) {\n prevValueForMonth.current = value;\n if (navigatedMonth !== undefined) {\n setNavigatedMonth(undefined);\n }\n }\n const calendarMonth = navigatedMonth ?? value;\n\n const isDateAllowed = (date: Date): boolean => {\n if (!calendarProps?.disabled) {\n return true;\n }\n return !isMatch(date, calendarProps.disabled);\n };\n\n // Refs ensure IMask callbacks always see the latest values without re-creating the mask\n const onChangeRef = useRef(onChange);\n onChangeRef.current = onChange;\n const isDateAllowedRef = useRef(isDateAllowed);\n isDateAllowedRef.current = isDateAllowed;\n\n const { ref: maskRef, setValue: setMaskValue } = useIMask<HTMLInputElement>(\n { mask: INPUT_MASK, lazy: true, overwrite: false },\n {\n onComplete: (maskedValue) => {\n const parsed = dayjs(maskedValue, ACCEPTED_INPUT_FORMATS, true);\n if (parsed.isValid() && isDateAllowedRef.current(parsed.toDate())) {\n onChangeRef.current?.(parsed.toDate());\n }\n },\n },\n );\n\n const handleSelect = (val: Date | undefined) => {\n onChange?.(val);\n setMaskValue(formatDate(val));\n setOpen(false);\n };\n\n const handlePaste = (e: React.ClipboardEvent<HTMLInputElement>) => {\n const pasted = e.clipboardData.getData('text').trim();\n const parsed = dayjs(pasted, ACCEPTED_INPUT_FORMATS, true);\n if (parsed.isValid() && isDateAllowed(parsed.toDate())) {\n e.preventDefault();\n const date = parsed.toDate();\n onChange?.(date);\n setMaskValue(formatDate(date));\n }\n // If we can't parse it, let IMask handle it naturally\n };\n\n const handleFocus = () => {\n // Sync the mask to the current value on focus — handles external parent resets\n setMaskValue(formatDate(value));\n };\n\n const handleBlur = () => {\n const current = maskRef.current?.value ?? '';\n if (current === '') {\n if (value !== undefined) {\n onChange?.(undefined);\n }\n return;\n }\n const parsed = dayjs(current, ACCEPTED_INPUT_FORMATS, true);\n if (parsed.isValid() && isDateAllowed(parsed.toDate())) {\n onChange?.(parsed.toDate());\n }\n // Revert to last valid display value\n setMaskValue(formatDate(value));\n };\n\n const inputClasses = cn(\n inputVariants(),\n showCalendarIcon && 'pl-10',\n open ? 'border-dark-green' : '',\n className,\n );\n\n return (\n <Popover open={!disabled && open} onOpenChange={setOpen}>\n <PopoverTrigger asChild>\n <div className={cn('relative flex w-full items-center rounded-md', wrapperClassName)}>\n {editable ? (\n <input\n ref={maskRef}\n defaultValue={formatDate(value)}\n className={inputClasses}\n placeholder={placeholder}\n disabled={disabled}\n onFocus={handleFocus}\n onPaste={handlePaste}\n onBlur={(e) => {\n handleBlur();\n inputProps?.onBlur?.(e);\n }}\n />\n ) : (\n <Input\n className={cn(\n showCalendarIcon && 'pl-10',\n open ? 'border-dark-green' : '',\n className,\n )}\n {...inputProps}\n value={formatDate(value)}\n placeholder={placeholder}\n readOnly\n disabled={disabled}\n />\n )}\n {showCalendarIcon && (\n <div\n className={cn(\n 'absolute top-1/2 left-4 h-4 w-4 -translate-y-1/2',\n disabled ? 'text-gray-400' : 'cursor-pointer text-black',\n )}\n >\n <LuCalendar size={16} />\n </div>\n )}\n </div>\n </PopoverTrigger>\n <PopoverContent\n className=\"w-auto overflow-hidden p-0\"\n align=\"start\"\n onOpenAutoFocus={editable ? (e) => e.preventDefault() : undefined}\n >\n <Calendar\n mode=\"single\"\n selected={value ? dayjs(value).toDate() : undefined}\n onSelect={handleSelect}\n {...(editable ? { month: calendarMonth, onMonthChange: setNavigatedMonth } : {})}\n {...calendarProps}\n />\n </PopoverContent>\n </Popover>\n );\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {a as a$2}from'./chunk-
|
|
1
|
+
import {a as a$2}from'./chunk-YVYP2VJD.js';import {a as a$1}from'./chunk-7QZQXRMR.js';import {animated}from'@react-spring/web';var a=a$1.div`
|
|
2
2
|
position: relative;
|
|
3
3
|
z-index: 20;
|
|
4
4
|
`,d=a$1.div`
|
|
@@ -61,5 +61,5 @@ import {a as a$2}from'./chunk-3OB5RPDJ.js';import {a as a$1}from'./chunk-7QZQXRM
|
|
|
61
61
|
height: 100%;
|
|
62
62
|
`,f=a$1(a$2.Body)`
|
|
63
63
|
margin-bottom: 24px;
|
|
64
|
-
`;export{a,d as b,s as c,l as d,x as e,g as f,f as g};//# sourceMappingURL=chunk-
|
|
65
|
-
//# sourceMappingURL=chunk-
|
|
64
|
+
`;export{a,d as b,s as c,l as d,x as e,g as f,f as g};//# sourceMappingURL=chunk-Y2WVHDQV.js.map
|
|
65
|
+
//# sourceMappingURL=chunk-Y2WVHDQV.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/Form/LocationSelect/style.tsx"],"names":["Container","styled","SelectContainer","SelectOptions","animated","LoaderContainer","Option","UnstyledInput","theme","PreviewValue","Typography_default"],"mappings":"+HAIO,IAAMA,EAAYC,GAAAA,CAAO,GAAA;AAAA;AAAA;AAAA,CAAA,CAKnBC,EAAkBD,GAAAA,CAAO,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAYzBE,CAAAA,CAAgBF,GAAAA,CAAOG,QAAAA,CAAS,GAAG,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAYnCC,CAAAA,CAAkBJ,GAAAA,CAAOG,QAAAA,CAAS,GAAG,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAgBrCE,EAASL,GAAAA,CAAO,GAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAahBM,EAAgBN,GAAAA,CAAO,KAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAAA,EAKnB,CAAC,CAAE,KAAA,CAAAO,CAAM,IAAMA,CAAAA,CAAM,UAAA,CAAW,OAAO,IAAI,CAAA;AAAA,eAAA,EAC3C,CAAC,CAAE,KAAA,CAAAA,CAAM,IAAMA,CAAAA,CAAM,UAAA,CAAW,OAAO,MAAM,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CASjDC,CAAAA,CAAeR,GAAAA,CAAOS,GAAAA,CAAW,IAAI,CAAA;AAAA","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/Form/LocationSelect/style.tsx"],"names":["Container","styled","SelectContainer","SelectOptions","animated","LoaderContainer","Option","UnstyledInput","theme","PreviewValue","Typography_default"],"mappings":"+HAIO,IAAMA,EAAYC,GAAAA,CAAO,GAAA;AAAA;AAAA;AAAA,CAAA,CAKnBC,EAAkBD,GAAAA,CAAO,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAYzBE,CAAAA,CAAgBF,GAAAA,CAAOG,QAAAA,CAAS,GAAG,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAYnCC,CAAAA,CAAkBJ,GAAAA,CAAOG,QAAAA,CAAS,GAAG,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAgBrCE,EAASL,GAAAA,CAAO,GAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAahBM,EAAgBN,GAAAA,CAAO,KAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAAA,EAKnB,CAAC,CAAE,KAAA,CAAAO,CAAM,IAAMA,CAAAA,CAAM,UAAA,CAAW,OAAO,IAAI,CAAA;AAAA,eAAA,EAC3C,CAAC,CAAE,KAAA,CAAAA,CAAM,IAAMA,CAAAA,CAAM,UAAA,CAAW,OAAO,MAAM,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CASjDC,CAAAA,CAAeR,GAAAA,CAAOS,GAAAA,CAAW,IAAI,CAAA;AAAA","file":"chunk-Y2WVHDQV.js","sourcesContent":["import { animated } from '@react-spring/web';\nimport Typography from '../../Typography';\nimport { styled } from '../../theme';\n\nexport const Container = styled.div`\n position: relative;\n z-index: 20;\n`;\n\nexport const SelectContainer = styled.div`\n position: relative;\n display: flex;\n align-items: center;\n padding: 0.5em;\n border: 1px solid #5a5a5a;\n box-sizing: border-box;\n border-radius: 8px;\n height: 50px;\n background-color: #fff;\n`;\n\nexport const SelectOptions = styled(animated.div)`\n position: absolute;\n background: #fff;\n border-radius: 8px;\n border: 1px solid #5a5a5a;\n top: 60px;\n left: 0;\n right: 0;\n max-height: 180px;\n overflow: scroll;\n`;\n\nexport const LoaderContainer = styled(animated.div)`\n position: absolute;\n display: block;\n width: 45px;\n right: -5px;\n top: -3px;\n z-index: 1;\n\n svg {\n position: absolute;\n width: 20px;\n right: 20px;\n top: 17px;\n }\n`;\n\nexport const Option = styled.div<{ isCurrent: boolean }>`\n cursor: pointer;\n padding: 13px 24px;\n position: relative;\n\n &:hover {\n background: var(--green-600, #3f937c);\n p {\n color: #fff;\n }\n }\n`;\n\nexport const UnstyledInput = styled.input`\n outline: none;\n border: none;\n background: none;\n position: absolute;\n font-family: ${({ theme }) => theme.typography.family.body};\n font-weight: ${({ theme }) => theme.typography.weight.normal};\n font-style: normal;\n left: 0;\n right: 0;\n padding: 0 20px;\n width: 100%;\n height: 100%;\n`;\n\nexport const PreviewValue = styled(Typography.Body)`\n margin-bottom: 24px;\n`;\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {a as a$1}from'./chunk-
|
|
1
|
+
import {a as a$1}from'./chunk-YVYP2VJD.js';import t from'@emotion/styled';var i=t.div`
|
|
2
2
|
position: relative;
|
|
3
3
|
margin-bottom: 24px;
|
|
4
4
|
|
|
@@ -61,5 +61,5 @@ import {a as a$1}from'./chunk-3OB5RPDJ.js';import t from'@emotion/styled';var i=
|
|
|
61
61
|
padding: 12px 6px;
|
|
62
62
|
height: 57px;
|
|
63
63
|
border-bottom: 1px solid #000;
|
|
64
|
-
`;export{i as a,n as b,a as c,l as d,d as e,x as f,s as g,f as h,g as i,y as j,b as k};//# sourceMappingURL=chunk-
|
|
65
|
-
//# sourceMappingURL=chunk-
|
|
64
|
+
`;export{i as a,n as b,a as c,l as d,d as e,x as f,s as g,f as h,g as i,y as j,b as k};//# sourceMappingURL=chunk-YJOJ6GVJ.js.map
|
|
65
|
+
//# sourceMappingURL=chunk-YJOJ6GVJ.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/Form/Signature/styles.tsx"],"names":["Container","styled","previewOnly","Wrapper","WithDateSection","WithDateWrapper","SignatureWrap","DateWrap","SignatureLabel","Typography_default","UnstyledInput","theme","Boxedinput","props","Description","StyledDate"],"mappings":"0EAGO,IAAMA,CAAAA,CAAYC,CAAAA,CAAO,GAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA,WAAA,EAOnB,CAAC,CAAE,WAAA,CAAAC,CAAY,CAAA,GAAOA,CAAAA,CAAc,UAAY,0BAA2B,CAAA;AAAA;AAAA,CAAA,CAI3EC,EAAUF,CAAAA,CAAO,GAAA;AAAA;AAAA;AAAA,iBAAA,EAGX,CAAC,CAAE,WAAA,CAAAC,CAAY,CAAA,GAC9BA,CAAAA,CAAc,uCAAyC,sCAAsC,CAAA;AAAA;AAAA;AAAA,CAAA,CAKpFE,EAAkBH,CAAAA,CAAO,GAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAMzBI,EAAkBJ,CAAAA,CAAO,GAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAMzBK,EAAgBL,CAAAA,CAAO,GAAA;AAAA;AAAA,CAAA,CAIvBM,EAAWN,CAAAA,CAAO,GAAA;AAAA;AAAA,CAAA,CAIlBO,CAAAA,CAAiBP,CAAAA,CAAOQ,GAAAA,CAAW,IAAI,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAOvCC,EAAgBT,CAAAA,CAAO,KAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAAA,EAOnB,CAAC,CAAE,KAAA,CAAAU,CAAM,IAAMA,CAAAA,CAAM,UAAA,CAAW,OAAO,MAAM,CAAA;AAAA,eAAA,EAC7C,CAAC,CAAE,KAAA,CAAAA,CAAM,IAAMA,CAAAA,CAAM,UAAA,CAAW,OAAO,MAAM,CAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAMjDC,EAAaX,CAAAA,CAAO,KAAA;AAAA;AAAA,gBAAA,EAKdY,CAAAA,EAAWA,CAAAA,CAAM,QAAA,CAAW,WAAA,CAAc,KAAM,CAAA;AAAA,iBAAA,EAC/CA,CAAAA,EAAWA,CAAAA,CAAM,QAAA,CAAW,GAAA,CAAM,MAAO,CAAA;AAAA,cAAA,EAC5CA,CAAAA,EAAWA,CAAAA,CAAM,QAAA,CAAW,aAAA,CAAgB,MAAO,CAAA;AAAA,gBAAA,EACjDA,CAAAA,EAAWA,CAAAA,CAAM,QAAA,CAAW,SAAA,CAAY,MAAO,CAAA;AAAA;AAAA,eAAA,EAEjD,CAAC,CAAE,KAAA,CAAAF,CAAM,IAAMA,CAAAA,CAAM,UAAA,CAAW,OAAO,MAAM,CAAA;AAAA,eAAA,EAC7C,CAAC,CAAE,KAAA,CAAAA,CAAM,IAAMA,CAAAA,CAAM,UAAA,CAAW,OAAO,MAAM,CAAA;AAAA;AAAA;AAAA,EAAA,EAGzDE,CAAAA,EAAUA,CAAAA,CAAM,QAAA,EAAY,iBAAiB,CAAA;AAAA,CAAA,CAGrCC,CAAAA,CAAcb,CAAAA,CAAOQ,GAAAA,CAAW,IAAI,CAAA;AAAA;AAAA;AAAA,CAAA,CAKpCM,EAAad,CAAAA,CAAO,GAAA;AAAA;AAAA;AAAA","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/Form/Signature/styles.tsx"],"names":["Container","styled","previewOnly","Wrapper","WithDateSection","WithDateWrapper","SignatureWrap","DateWrap","SignatureLabel","Typography_default","UnstyledInput","theme","Boxedinput","props","Description","StyledDate"],"mappings":"0EAGO,IAAMA,CAAAA,CAAYC,CAAAA,CAAO,GAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA,WAAA,EAOnB,CAAC,CAAE,WAAA,CAAAC,CAAY,CAAA,GAAOA,CAAAA,CAAc,UAAY,0BAA2B,CAAA;AAAA;AAAA,CAAA,CAI3EC,EAAUF,CAAAA,CAAO,GAAA;AAAA;AAAA;AAAA,iBAAA,EAGX,CAAC,CAAE,WAAA,CAAAC,CAAY,CAAA,GAC9BA,CAAAA,CAAc,uCAAyC,sCAAsC,CAAA;AAAA;AAAA;AAAA,CAAA,CAKpFE,EAAkBH,CAAAA,CAAO,GAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAMzBI,EAAkBJ,CAAAA,CAAO,GAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAMzBK,EAAgBL,CAAAA,CAAO,GAAA;AAAA;AAAA,CAAA,CAIvBM,EAAWN,CAAAA,CAAO,GAAA;AAAA;AAAA,CAAA,CAIlBO,CAAAA,CAAiBP,CAAAA,CAAOQ,GAAAA,CAAW,IAAI,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAOvCC,EAAgBT,CAAAA,CAAO,KAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAAA,EAOnB,CAAC,CAAE,KAAA,CAAAU,CAAM,IAAMA,CAAAA,CAAM,UAAA,CAAW,OAAO,MAAM,CAAA;AAAA,eAAA,EAC7C,CAAC,CAAE,KAAA,CAAAA,CAAM,IAAMA,CAAAA,CAAM,UAAA,CAAW,OAAO,MAAM,CAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAMjDC,EAAaX,CAAAA,CAAO,KAAA;AAAA;AAAA,gBAAA,EAKdY,CAAAA,EAAWA,CAAAA,CAAM,QAAA,CAAW,WAAA,CAAc,KAAM,CAAA;AAAA,iBAAA,EAC/CA,CAAAA,EAAWA,CAAAA,CAAM,QAAA,CAAW,GAAA,CAAM,MAAO,CAAA;AAAA,cAAA,EAC5CA,CAAAA,EAAWA,CAAAA,CAAM,QAAA,CAAW,aAAA,CAAgB,MAAO,CAAA;AAAA,gBAAA,EACjDA,CAAAA,EAAWA,CAAAA,CAAM,QAAA,CAAW,SAAA,CAAY,MAAO,CAAA;AAAA;AAAA,eAAA,EAEjD,CAAC,CAAE,KAAA,CAAAF,CAAM,IAAMA,CAAAA,CAAM,UAAA,CAAW,OAAO,MAAM,CAAA;AAAA,eAAA,EAC7C,CAAC,CAAE,KAAA,CAAAA,CAAM,IAAMA,CAAAA,CAAM,UAAA,CAAW,OAAO,MAAM,CAAA;AAAA;AAAA;AAAA,EAAA,EAGzDE,CAAAA,EAAUA,CAAAA,CAAM,QAAA,EAAY,iBAAiB,CAAA;AAAA,CAAA,CAGrCC,CAAAA,CAAcb,CAAAA,CAAOQ,GAAAA,CAAW,IAAI,CAAA;AAAA;AAAA;AAAA,CAAA,CAKpCM,EAAad,CAAAA,CAAO,GAAA;AAAA;AAAA;AAAA","file":"chunk-YJOJ6GVJ.js","sourcesContent":["import styled from '@emotion/styled';\nimport Typography from '../../Typography';\n\nexport const Container = styled.div<{ previewOnly?: boolean }>`\n position: relative;\n margin-bottom: 24px;\n\n label p {\n font-size: 14px;\n line-height: 17px;\n color: ${({ previewOnly }) => (previewOnly ? '#7F7F7F' : 'var(--grey-400, #555555)')};\n }\n`;\n\nexport const Wrapper = styled.div<{ previewOnly?: boolean }>`\n margin: 10px 0;\n padding: 5px 0;\n border-bottom: ${({ previewOnly }) =>\n previewOnly ? '0.5px solid var(--grey-300, #7f7f7f)' : '0.5px solid var(--grey-400, #555555)'};\n display: flex;\n align-items: end;\n`;\n\nexport const WithDateSection = styled.div`\n display: flex;\n flex-flow: column;\n gap: 24px;\n`;\n\nexport const WithDateWrapper = styled.div`\n display: flex;\n flex-wrap: wrap;\n gap: 12px;\n`;\n\nexport const SignatureWrap = styled.div`\n flex: 1 0 300px;\n`;\n\nexport const DateWrap = styled.div`\n flex: 0 160px;\n`;\n\nexport const SignatureLabel = styled(Typography.Body)`\n color: var(--grey-300, #7f7f7f);\n font-size: 14px;\n font-weight: 400;\n margin-top: 6px;\n`;\n\nexport const UnstyledInput = styled.input`\n outline: none;\n border: none;\n background: none;\n position: absolute;\n top: -3px;\n padding: 0 0 0 30px;\n font-family: ${({ theme }) => theme.typography.family.script};\n font-weight: ${({ theme }) => theme.typography.weight.normal};\n font-size: 24px;\n font-style: normal;\n width: 100%;\n`;\n\nexport const Boxedinput = styled.input<{\n disabled: boolean;\n hasError: boolean;\n}>`\n border: 1px solid #000;\n border-width: ${(props) => (props.disabled ? '0 0 1px 0' : '1px')};\n border-radius: ${(props) => (props.disabled ? '0' : '10px')};\n background: ${(props) => (props.disabled ? 'transparent' : '#fff')};\n border-color: ${(props) => (props.hasError ? '#DA4D54' : '#000')};\n outline: 0;\n font-family: ${({ theme }) => theme.typography.family.script};\n font-weight: ${({ theme }) => theme.typography.weight.normal};\n font-size: 24px;\n font-style: normal;\n ${(props) => props.disabled && 'padding-left: 0'};\n`;\n\nexport const Description = styled(Typography.Body)`\n font-size: 18px;\n margin-bottom: 12px;\n`;\n\nexport const StyledDate = styled.div`\n padding: 12px 6px;\n height: 57px;\n border-bottom: 1px solid #000;\n`;\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {a as a$1}from'./chunk-OQDJK4RA.js';import {c,b,a,e,d}from'./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import {a as a$1}from'./chunk-OQDJK4RA.js';import {c,b,a,e,d}from'./chunk-FWTM4IIL.js';import m,{useState,createElement}from'react';import {jsx,jsxs}from'react/jsx-runtime';var h=({label:r=null,size:t="large",checked:a$2=false,...l})=>jsxs(b,{selected:a$2,children:[jsx(a,{...l}),jsx(e,{large:t==="large",children:r}),jsx(d,{selected:a$2,children:jsx(a$1,{})})]}),v=m.forwardRef(({options:r,size:t="large",onChange:a,value:l,defaultValue:S,...f},g)=>{let[p,c$1]=useState(S||l);return jsx("div",{ref:g,children:jsx(c,{value:p,onChange:o=>c$1(o.target.value),...f,children:r.map(o=>createElement(h,{...o,size:t,onChange:a,checked:p===o.value,key:o.label}))})})}),w=v;export{w as a};//# sourceMappingURL=chunk-YQUBY66F.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-YQUBY66F.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/Radio/index.tsx"],"names":["Block","label","size","checked","rest","jsxs","RadioButton","jsx","RadioInput","Title","Icon","check_default","Radio","React","options","onChange","value","defaultValue","ref","selectedValue","setSelectedValue","useState","RadioGroup","event","option","createElement","Radio_default"],"mappings":"6KAQA,IAAMA,CAAAA,CAAQ,CAAC,CAAE,KAAA,CAAAC,CAAAA,CAAQ,IAAA,CAAM,IAAA,CAAAC,EAAO,OAAA,CAAS,OAAA,CAAAC,GAAAA,CAAU,KAAA,CAAO,GAAGC,CAAK,CAAA,GACtEC,IAAAA,CAAGC,EAAF,CAAc,QAAA,CAAUH,GAAAA,CACvB,QAAA,CAAA,CAAAI,GAAAA,CAAGC,CAAAA,CAAF,CAAc,GAAGJ,EAAM,CAAA,CACxBG,GAAAA,CAAGE,CAAAA,CAAF,CAAQ,KAAA,CAAOP,CAAAA,GAAS,OAAA,CAAU,QAAA,CAAAD,EAAM,CAAA,CACzCM,GAAAA,CAAGG,CAAAA,CAAF,CAAO,QAAA,CAAUP,GAAAA,CAChB,QAAA,CAAAI,GAAAA,CAACI,IAAA,EAAM,CAAA,CACT,CAAA,CAAA,CACF,CAAA,CAKIC,CAAAA,CAAQC,CAAAA,CAAM,UAAA,CAClB,CACE,CAAE,OAAA,CAAAC,CAAAA,CAAS,IAAA,CAAAZ,CAAAA,CAAO,OAAA,CAAS,QAAA,CAAAa,CAAAA,CAAU,KAAA,CAAAC,CAAAA,CAAO,YAAA,CAAAC,CAAAA,CAAc,GAAGb,CAAK,CAAA,CAClEc,CAAAA,GACG,CAEH,GAAM,CAACC,CAAAA,CAAeC,GAAgB,CAAA,CAAIC,QAAAA,CACxCJ,CAAAA,EAAgBD,CAClB,CAAA,CAGA,OACET,GAAAA,CAAC,KAAA,CAAA,CAAI,GAAA,CAAKW,CAAAA,CACR,QAAA,CAAAX,GAAAA,CAAGe,CAAAA,CAAF,CAAa,MAAOH,CAAAA,CAAe,QAAA,CAJlBI,CAAAA,EAA4BH,GAAAA,CAAiBG,CAAAA,CAAM,MAAA,CAAO,KAAK,CAAA,CAIpB,GAAGnB,CAAAA,CAC7D,QAAA,CAAAU,CAAAA,CAAQ,GAAA,CAAKU,CAAAA,EACZC,aAAAA,CAACzB,CAAAA,CAAA,CACE,GAAGwB,CAAAA,CACJ,IAAA,CAAMtB,CAAAA,CACN,QAAA,CAAUa,CAAAA,CACV,OAAA,CAASI,CAAAA,GAAkBK,CAAAA,CAAO,MAClC,GAAA,CAAKA,CAAAA,CAAO,KAAA,CACd,CACD,CAAA,CACH,CAAA,CACF,CAEJ,CACF,EAEOE,CAAAA,CAAQd","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/Radio/index.tsx"],"names":["Block","label","size","checked","rest","jsxs","RadioButton","jsx","RadioInput","Title","Icon","check_default","Radio","React","options","onChange","value","defaultValue","ref","selectedValue","setSelectedValue","useState","RadioGroup","event","option","createElement","Radio_default"],"mappings":"6KAQA,IAAMA,CAAAA,CAAQ,CAAC,CAAE,KAAA,CAAAC,CAAAA,CAAQ,IAAA,CAAM,IAAA,CAAAC,EAAO,OAAA,CAAS,OAAA,CAAAC,GAAAA,CAAU,KAAA,CAAO,GAAGC,CAAK,CAAA,GACtEC,IAAAA,CAAGC,EAAF,CAAc,QAAA,CAAUH,GAAAA,CACvB,QAAA,CAAA,CAAAI,GAAAA,CAAGC,CAAAA,CAAF,CAAc,GAAGJ,EAAM,CAAA,CACxBG,GAAAA,CAAGE,CAAAA,CAAF,CAAQ,KAAA,CAAOP,CAAAA,GAAS,OAAA,CAAU,QAAA,CAAAD,EAAM,CAAA,CACzCM,GAAAA,CAAGG,CAAAA,CAAF,CAAO,QAAA,CAAUP,GAAAA,CAChB,QAAA,CAAAI,GAAAA,CAACI,IAAA,EAAM,CAAA,CACT,CAAA,CAAA,CACF,CAAA,CAKIC,CAAAA,CAAQC,CAAAA,CAAM,UAAA,CAClB,CACE,CAAE,OAAA,CAAAC,CAAAA,CAAS,IAAA,CAAAZ,CAAAA,CAAO,OAAA,CAAS,QAAA,CAAAa,CAAAA,CAAU,KAAA,CAAAC,CAAAA,CAAO,YAAA,CAAAC,CAAAA,CAAc,GAAGb,CAAK,CAAA,CAClEc,CAAAA,GACG,CAEH,GAAM,CAACC,CAAAA,CAAeC,GAAgB,CAAA,CAAIC,QAAAA,CACxCJ,CAAAA,EAAgBD,CAClB,CAAA,CAGA,OACET,GAAAA,CAAC,KAAA,CAAA,CAAI,GAAA,CAAKW,CAAAA,CACR,QAAA,CAAAX,GAAAA,CAAGe,CAAAA,CAAF,CAAa,MAAOH,CAAAA,CAAe,QAAA,CAJlBI,CAAAA,EAA4BH,GAAAA,CAAiBG,CAAAA,CAAM,MAAA,CAAO,KAAK,CAAA,CAIpB,GAAGnB,CAAAA,CAC7D,QAAA,CAAAU,CAAAA,CAAQ,GAAA,CAAKU,CAAAA,EACZC,aAAAA,CAACzB,CAAAA,CAAA,CACE,GAAGwB,CAAAA,CACJ,IAAA,CAAMtB,CAAAA,CACN,QAAA,CAAUa,CAAAA,CACV,OAAA,CAASI,CAAAA,GAAkBK,CAAAA,CAAO,MAClC,GAAA,CAAKA,CAAAA,CAAO,KAAA,CACd,CACD,CAAA,CACH,CAAA,CACF,CAEJ,CACF,EAEOE,CAAAA,CAAQd","file":"chunk-YQUBY66F.js","sourcesContent":["import { RadioProps, RadioGroupProps, RadioChangeEvent } from 'antd';\nimport { SizeType } from 'antd/es/config-provider/SizeContext';\nimport React, { ForwardedRef, useState } from 'react';\nimport * as S from './style';\nimport Check from './shared/check';\n\ntype OptionProps = { label?: string | null; size?: SizeType } & RadioProps;\n\nconst Block = ({ label = null, size = 'large', checked = false, ...rest }: OptionProps) => (\n <S.RadioButton selected={checked}>\n <S.RadioInput {...rest} />\n <S.Title large={size === 'large'}>{label}</S.Title>\n <S.Icon selected={checked}>\n <Check />\n </S.Icon>\n </S.RadioButton>\n);\n\ntype GroupProps = { options: OptionProps[] } & RadioGroupProps;\n/** @deprecated */\nconst Radio = React.forwardRef(\n (\n { options, size = 'large', onChange, value, defaultValue, ...rest }: GroupProps,\n ref: ForwardedRef<HTMLDivElement>,\n ) => {\n // When uncontrolled, keep value in state\n const [selectedValue, setSelectedValue] = useState<OptionProps['value'] | null>(\n defaultValue || value,\n );\n const handleChange = (event: RadioChangeEvent) => setSelectedValue(event.target.value);\n\n return (\n <div ref={ref}>\n <S.RadioGroup value={selectedValue} onChange={handleChange} {...rest}>\n {options.map((option) => (\n <Block\n {...option}\n size={size}\n onChange={onChange}\n checked={selectedValue === option.value}\n key={option.label}\n />\n ))}\n </S.RadioGroup>\n </div>\n );\n },\n);\n\nexport default Radio;\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {a}from'./chunk-
|
|
1
|
+
import {a}from'./chunk-YVYP2VJD.js';import o from'@emotion/styled';import {animated}from'@react-spring/web';var p=o.div`
|
|
2
2
|
margin-bottom: 32px;
|
|
3
3
|
`,s=o.div`
|
|
4
4
|
display: ${e=>e.isColumns?"grid":"flex"};
|
|
@@ -250,5 +250,5 @@ import {a}from'./chunk-3OB5RPDJ.js';import o from'@emotion/styled';import {anima
|
|
|
250
250
|
display: flex;
|
|
251
251
|
flex-flow: column;
|
|
252
252
|
gap: var(--spacing-m, 1rem);
|
|
253
|
-
`;export{p as a,s as b,c,f as d,g as e,x as f,b as g,n as h,m as i,h as j,u as k,v as l,y as m,w as n,E as o,k as p,C as q,$ as r,R as s,z as t,B as u};//# sourceMappingURL=chunk-
|
|
254
|
-
//# sourceMappingURL=chunk-
|
|
253
|
+
`;export{p as a,s as b,c,f as d,g as e,x as f,b as g,n as h,m as i,h as j,u as k,v as l,y as m,w as n,E as o,k as p,C as q,$ as r,R as s,z as t,B as u};//# sourceMappingURL=chunk-YU4AV3YH.js.map
|
|
254
|
+
//# sourceMappingURL=chunk-YU4AV3YH.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/Form/Radio/styles.tsx"],"names":["Container","styled","StyledRadios","props","inline","Wrapper","StyledRadio","Label","Typography_default","OtherOption","CardContainer","radioBorderColor","hasError","selected","StyledRadioContainer","RadioHeader","StyledCardRadio","CardRadioLabel","RadioTitle","RadioDescription","ButtonRadioContainer","p","IconContainer","CaretContainer","animated","ButtonRadioInput","ButtonRadioLabel","ButtonRadioDescription","StyledButtonRadioGroup"],"mappings":"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","file":"chunk-LMEOHTDO.js","sourcesContent":["import styled from '@emotion/styled';\nimport { animated } from '@react-spring/web';\nimport Typography from '../../Typography';\n\nexport const Container = styled.div`\n margin-bottom: 32px;\n`;\n\nexport const StyledRadios = styled.div<{\n inline: boolean;\n isColumns?: boolean;\n}>`\n display: ${(props) => (props.isColumns ? 'grid' : 'flex')};\n flex-flow: ${({ inline }) => (inline ? 'row' : 'column')};\n gap: ${(props) => (props.isColumns ? '24px' : ' 12px')};\n grid-template-columns: repeat(2, 1fr);\n flex-wrap: wrap;\n\n @media (min-width: 800px) {\n grid-template-columns: repeat(3, 1fr);\n }\n`;\n\nexport const Wrapper = styled.div<{ inline?: boolean }>`\n display: flex;\n height: 25px;\n gap: 30rem;\n align-items: center;\n position: relative;\n cursor: pointer;\n\n label {\n padding-left: 32px;\n }\n`;\n\nexport const StyledRadio = styled.input<{\n previewOnly?: boolean;\n hasError?: boolean;\n}>`\n -webkit-appearance: none;\n position: absolute;\n appearance: none;\n margin: 0;\n width: 100%;\n opacity: 0;\n background: none;\n z-index: 5;\n height: 40px;\n cursor: ${(props) => (props?.previewOnly ? 'default' : 'pointer')};\n\n ::after {\n content: '';\n display: block;\n border-radius: 50%;\n width: 0.75em;\n height: 0.75em;\n margin: 3px;\n }\n\n + label::after,\n + label::before {\n content: '';\n position: absolute;\n box-sizing: content-box;\n z-index: 1;\n border-radius: 50%;\n aspect-ratio: 1;\n }\n\n + label::after {\n background: ${(props) => (props?.previewOnly ? '#EEEEEE' : '#fff')};\n left: 0px;\n top: 0px;\n width: 20px;\n border: 2px solid #aaaaaa;\n border-color: ${(props) => (props?.hasError ? '#DA4D54' : '#aaaaaa')};\n }\n\n + label::before {\n z-index: 4;\n transition: all 0.25s;\n top: 8px;\n left: 8px;\n width: 8px;\n background: ${(props) => (props?.previewOnly ? '#EEEEEE' : '#fff')};\n transform: scale(1);\n }\n\n &:checked + label::after {\n border-color: var(--green-900, #1d4339);\n }\n\n &:checked + label::before {\n transform: scale(1.65);\n background: var(--green-900, #1d4339);\n }\n\n &:focus + label::after {\n border-color: var(--green-900, #1d4339);\n }\n`;\n\nexport const Label = styled(Typography.Body)`\n margin-bottom: 5px;\n font-weight: bold;\n`;\n\nexport const OtherOption = styled.div`\n display: flex;\n gap: 15px;\n align-items: center;\n\n input[type='text'] {\n margin: 0;\n }\n`;\n\nexport const CardContainer = styled.div`\n width: 100%;\n`;\n\nexport const radioBorderColor = ({\n hasError,\n selected,\n}: {\n hasError: boolean;\n selected: boolean;\n}): string => {\n if (hasError) return 'red';\n\n return selected ? 'var(--green-800, #285E50)' : '#7f7f7f';\n};\n\nexport const StyledRadioContainer = styled.label<{\n selected: boolean;\n hasError: boolean;\n disabled: boolean;\n}>`\n display: flex;\n width: 100%;\n gap: 8px;\n border-radius: 10px;\n background: ${({ selected }) => (selected ? '#E9F0EE' : '#fff')};\n flex-direction: column;\n margin-bottom: 16px;\n cursor: pointer;\n\n border: 2px solid ${({ hasError, selected }) => radioBorderColor({ hasError, selected })};\n\n svg {\n width: 24px;\n height: 24px;\n }\n\n svg path {\n stroke: ${({ selected }) =>\n selected\n ? `var(--green-800, #285E50\n\n)`\n : `var(--grey-300, #7f7f7f)`};\n }\n ${(props) =>\n props?.disabled &&\n `\n background: #EEE;\n pointer-events: none;\n `};\n`;\n\nexport const RadioHeader = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: end;\n color: #000;\n font-size: 18px;\n font-weight: 700;\n line-height: 24px;\n padding: 18px 24px;\n`;\n\nexport const StyledCardRadio = styled.input`\n appearance: none;\n background-color: #fff;\n margin: 0;\n font: inherit;\n width: 1.15em;\n height: 1.15em;\n border: 0.15em solid #9a9a9a;\n border-radius: 50%;\n transform: translateY(-0.075em);\n display: grid;\n place-content: center;\n\n &::before {\n content: '';\n width: 0.6em;\n height: 0.6em;\n border-radius: 50%;\n transform: scale(0);\n transition: 120ms transform ease-in-out;\n box-shadow: inset 1em 1em var(--green-900, #1d4339);\n }\n\n &:checked::before {\n transform: scale(1);\n }\n\n &:checked {\n border: 0.15em solid var(--green-900, #1d4339);\n }\n`;\n\nexport const CardRadioLabel = styled(Typography.Body)`\n color: var(--black, #000000);\n font-size: 18px;\n font-weight: 700;\n margin-bottom: 16px;\n`;\n\nexport const RadioTitle = styled.div<{ selected: boolean }>`\n display: flex;\n gap: 8px;\n color: ${(props) => (props.selected ? `var(--green-800, #285E50)` : `#000`)};\n`;\n\nexport const RadioDescription = styled.div<{ selected: boolean }>`\n display: flex;\n color: ${(props) => (props.selected ? `#000` : `var(--grey-300, #7f7f7f)`)};\n font-size: 18px;\n font-style: normal;\n line-height: 24px;\n padding: 0 24px 19px;\n margin-top: -15px;\n`;\n\nexport const ButtonRadioContainer = styled.label<{ selected?: boolean }>`\n display: flex;\n gap: var(--spacing-m, 1rem);\n padding: 1rem 2.5rem 1rem 1.5rem;\n align-items: center;\n border: 1px solid var(--grey-300, #7f7f7f);\n justify-content: space-between;\n border-radius: var(--radius-large, 1rem);\n text-align: left;\n transition: all 0.25s;\n color: #000;\n cursor: pointer;\n\n ${(p) =>\n p.selected &&\n `\n border-color: var(--green-800, #285E50);\n background: var(--opal-greens-lily-white, #E9F0EE);\n color: var(--green-800, #285E50);\n `}\n`;\n\nexport const IconContainer = styled.div`\n svg {\n width: 4rem;\n height: 4rem;\n }\n`;\n\nexport const CaretContainer = styled(animated.div)`\n svg {\n width: 12px;\n height: 19px;\n }\n`;\n\nexport const ButtonRadioInput = styled.input<{ selected?: boolean }>`\n position: absolute;\n appearance: none;\n opacity: 0;\n width: 100%;\n height: 100%;\n z-index: 2;\n cursor: pointer;\n\n svg {\n width: 10px;\n }\n\n &:hover + label {\n border-color: ${(p) => (p.selected ? 'var(--green-800, #285E50)' : '#AFC8BF')};\n background: var(--green-100, #f4f8f7);\n box-shadow: 1.57px 1.57px 15.7px 0px #d4e2dd;\n color: var(--sherwood-greens-evening-sea, var(--green-800, #285e50));\n }\n\n &:focus + label {\n border-color: var(--green-800, #285e50);\n outline: 1px solid var(--green-800, #285e50);\n }\n\n &:after {\n content: '';\n display: block;\n width: 100%;\n height: 100%;\n }\n`;\n\nexport const ButtonRadioLabel = styled.span`\n font-size: 1.5rem;\n font-style: normal;\n font-weight: 700;\n line-height: 120%; /* 1.8rem */\n`;\n\nexport const ButtonRadioDescription = styled.span`\n font-size: 1rem;\n font-style: normal;\n font-weight: 400;\n`;\n\nexport const StyledButtonRadioGroup = styled.div`\n display: flex;\n flex-flow: column;\n gap: var(--spacing-m, 1rem);\n`;\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/Form/Radio/styles.tsx"],"names":["Container","styled","StyledRadios","props","inline","Wrapper","StyledRadio","Label","Typography_default","OtherOption","CardContainer","radioBorderColor","hasError","selected","StyledRadioContainer","RadioHeader","StyledCardRadio","CardRadioLabel","RadioTitle","RadioDescription","ButtonRadioContainer","p","IconContainer","CaretContainer","animated","ButtonRadioInput","ButtonRadioLabel","ButtonRadioDescription","StyledButtonRadioGroup"],"mappings":"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","file":"chunk-YU4AV3YH.js","sourcesContent":["import styled from '@emotion/styled';\nimport { animated } from '@react-spring/web';\nimport Typography from '../../Typography';\n\nexport const Container = styled.div`\n margin-bottom: 32px;\n`;\n\nexport const StyledRadios = styled.div<{\n inline: boolean;\n isColumns?: boolean;\n}>`\n display: ${(props) => (props.isColumns ? 'grid' : 'flex')};\n flex-flow: ${({ inline }) => (inline ? 'row' : 'column')};\n gap: ${(props) => (props.isColumns ? '24px' : ' 12px')};\n grid-template-columns: repeat(2, 1fr);\n flex-wrap: wrap;\n\n @media (min-width: 800px) {\n grid-template-columns: repeat(3, 1fr);\n }\n`;\n\nexport const Wrapper = styled.div<{ inline?: boolean }>`\n display: flex;\n height: 25px;\n gap: 30rem;\n align-items: center;\n position: relative;\n cursor: pointer;\n\n label {\n padding-left: 32px;\n }\n`;\n\nexport const StyledRadio = styled.input<{\n previewOnly?: boolean;\n hasError?: boolean;\n}>`\n -webkit-appearance: none;\n position: absolute;\n appearance: none;\n margin: 0;\n width: 100%;\n opacity: 0;\n background: none;\n z-index: 5;\n height: 40px;\n cursor: ${(props) => (props?.previewOnly ? 'default' : 'pointer')};\n\n ::after {\n content: '';\n display: block;\n border-radius: 50%;\n width: 0.75em;\n height: 0.75em;\n margin: 3px;\n }\n\n + label::after,\n + label::before {\n content: '';\n position: absolute;\n box-sizing: content-box;\n z-index: 1;\n border-radius: 50%;\n aspect-ratio: 1;\n }\n\n + label::after {\n background: ${(props) => (props?.previewOnly ? '#EEEEEE' : '#fff')};\n left: 0px;\n top: 0px;\n width: 20px;\n border: 2px solid #aaaaaa;\n border-color: ${(props) => (props?.hasError ? '#DA4D54' : '#aaaaaa')};\n }\n\n + label::before {\n z-index: 4;\n transition: all 0.25s;\n top: 8px;\n left: 8px;\n width: 8px;\n background: ${(props) => (props?.previewOnly ? '#EEEEEE' : '#fff')};\n transform: scale(1);\n }\n\n &:checked + label::after {\n border-color: var(--green-900, #1d4339);\n }\n\n &:checked + label::before {\n transform: scale(1.65);\n background: var(--green-900, #1d4339);\n }\n\n &:focus + label::after {\n border-color: var(--green-900, #1d4339);\n }\n`;\n\nexport const Label = styled(Typography.Body)`\n margin-bottom: 5px;\n font-weight: bold;\n`;\n\nexport const OtherOption = styled.div`\n display: flex;\n gap: 15px;\n align-items: center;\n\n input[type='text'] {\n margin: 0;\n }\n`;\n\nexport const CardContainer = styled.div`\n width: 100%;\n`;\n\nexport const radioBorderColor = ({\n hasError,\n selected,\n}: {\n hasError: boolean;\n selected: boolean;\n}): string => {\n if (hasError) return 'red';\n\n return selected ? 'var(--green-800, #285E50)' : '#7f7f7f';\n};\n\nexport const StyledRadioContainer = styled.label<{\n selected: boolean;\n hasError: boolean;\n disabled: boolean;\n}>`\n display: flex;\n width: 100%;\n gap: 8px;\n border-radius: 10px;\n background: ${({ selected }) => (selected ? '#E9F0EE' : '#fff')};\n flex-direction: column;\n margin-bottom: 16px;\n cursor: pointer;\n\n border: 2px solid ${({ hasError, selected }) => radioBorderColor({ hasError, selected })};\n\n svg {\n width: 24px;\n height: 24px;\n }\n\n svg path {\n stroke: ${({ selected }) =>\n selected\n ? `var(--green-800, #285E50\n\n)`\n : `var(--grey-300, #7f7f7f)`};\n }\n ${(props) =>\n props?.disabled &&\n `\n background: #EEE;\n pointer-events: none;\n `};\n`;\n\nexport const RadioHeader = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: end;\n color: #000;\n font-size: 18px;\n font-weight: 700;\n line-height: 24px;\n padding: 18px 24px;\n`;\n\nexport const StyledCardRadio = styled.input`\n appearance: none;\n background-color: #fff;\n margin: 0;\n font: inherit;\n width: 1.15em;\n height: 1.15em;\n border: 0.15em solid #9a9a9a;\n border-radius: 50%;\n transform: translateY(-0.075em);\n display: grid;\n place-content: center;\n\n &::before {\n content: '';\n width: 0.6em;\n height: 0.6em;\n border-radius: 50%;\n transform: scale(0);\n transition: 120ms transform ease-in-out;\n box-shadow: inset 1em 1em var(--green-900, #1d4339);\n }\n\n &:checked::before {\n transform: scale(1);\n }\n\n &:checked {\n border: 0.15em solid var(--green-900, #1d4339);\n }\n`;\n\nexport const CardRadioLabel = styled(Typography.Body)`\n color: var(--black, #000000);\n font-size: 18px;\n font-weight: 700;\n margin-bottom: 16px;\n`;\n\nexport const RadioTitle = styled.div<{ selected: boolean }>`\n display: flex;\n gap: 8px;\n color: ${(props) => (props.selected ? `var(--green-800, #285E50)` : `#000`)};\n`;\n\nexport const RadioDescription = styled.div<{ selected: boolean }>`\n display: flex;\n color: ${(props) => (props.selected ? `#000` : `var(--grey-300, #7f7f7f)`)};\n font-size: 18px;\n font-style: normal;\n line-height: 24px;\n padding: 0 24px 19px;\n margin-top: -15px;\n`;\n\nexport const ButtonRadioContainer = styled.label<{ selected?: boolean }>`\n display: flex;\n gap: var(--spacing-m, 1rem);\n padding: 1rem 2.5rem 1rem 1.5rem;\n align-items: center;\n border: 1px solid var(--grey-300, #7f7f7f);\n justify-content: space-between;\n border-radius: var(--radius-large, 1rem);\n text-align: left;\n transition: all 0.25s;\n color: #000;\n cursor: pointer;\n\n ${(p) =>\n p.selected &&\n `\n border-color: var(--green-800, #285E50);\n background: var(--opal-greens-lily-white, #E9F0EE);\n color: var(--green-800, #285E50);\n `}\n`;\n\nexport const IconContainer = styled.div`\n svg {\n width: 4rem;\n height: 4rem;\n }\n`;\n\nexport const CaretContainer = styled(animated.div)`\n svg {\n width: 12px;\n height: 19px;\n }\n`;\n\nexport const ButtonRadioInput = styled.input<{ selected?: boolean }>`\n position: absolute;\n appearance: none;\n opacity: 0;\n width: 100%;\n height: 100%;\n z-index: 2;\n cursor: pointer;\n\n svg {\n width: 10px;\n }\n\n &:hover + label {\n border-color: ${(p) => (p.selected ? 'var(--green-800, #285E50)' : '#AFC8BF')};\n background: var(--green-100, #f4f8f7);\n box-shadow: 1.57px 1.57px 15.7px 0px #d4e2dd;\n color: var(--sherwood-greens-evening-sea, var(--green-800, #285e50));\n }\n\n &:focus + label {\n border-color: var(--green-800, #285e50);\n outline: 1px solid var(--green-800, #285e50);\n }\n\n &:after {\n content: '';\n display: block;\n width: 100%;\n height: 100%;\n }\n`;\n\nexport const ButtonRadioLabel = styled.span`\n font-size: 1.5rem;\n font-style: normal;\n font-weight: 700;\n line-height: 120%; /* 1.8rem */\n`;\n\nexport const ButtonRadioDescription = styled.span`\n font-size: 1rem;\n font-style: normal;\n font-weight: 400;\n`;\n\nexport const StyledButtonRadioGroup = styled.div`\n display: flex;\n flex-flow: column;\n gap: var(--spacing-m, 1rem);\n`;\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {a as a$2}from'./chunk-M6HXWFO4.js';import {a as a$1}from'./chunk-KJCEU5SV.js';import {a as a$4}from'./chunk-NF5N7YWV.js';import {a as a$3}from'./chunk-ICD3QXDI.js';var a={Body:a$4,Display:a$3,Header:a$2,Truncated:a$1};export{a};//# sourceMappingURL=chunk-YVYP2VJD.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-YVYP2VJD.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/Typography/index.ts"],"names":["Typography_default","Body_default","Display_default","Header_default","Truncated_default"],"mappings":"4KAKA,IAAOA,CAAAA,CAAQ,CACb,IAAA,CAAAC,GAAAA,CACA,QAAAC,GAAAA,CACA,MAAA,CAAAC,GAAAA,CACA,SAAA,CAAAC,GACF","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/Typography/index.ts"],"names":["Typography_default","Body_default","Display_default","Header_default","Truncated_default"],"mappings":"4KAKA,IAAOA,CAAAA,CAAQ,CACb,IAAA,CAAAC,GAAAA,CACA,QAAAC,GAAAA,CACA,MAAA,CAAAC,GAAAA,CACA,SAAA,CAAAC,GACF","file":"chunk-YVYP2VJD.js","sourcesContent":["import Body from './Body';\nimport Display from './Display';\nimport Header from './Header';\nimport Truncated from './Truncated';\n\nexport default {\n Body,\n Display,\n Header,\n Truncated,\n};\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {a}from'./chunk-ZXZFA3XC.js';import {b}from'./chunk-IQF67P62.js';import {a as a$1}from'./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import {a}from'./chunk-ZXZFA3XC.js';import {b}from'./chunk-IQF67P62.js';import {a as a$1}from'./chunk-YVYP2VJD.js';import {jsx,jsxs}from'react/jsx-runtime';var u=(t,e)=>jsxs(a$1.Body,{children:["Viewing",jsx("b",{children:` ${e[0]}-${e[1]}`})," of ",jsx("b",{children:`${t}`})," entries"]}),p=(t,e,a$1)=>e==="prev"?jsx(a.Previous,{}):e==="next"?jsx(a.Next,{}):a$1,T=({rowClassName:t="tableRowDefault",columns:e,dataSource:a,pagination:r={},showPagination:l=false,disableRowHover:b$1=false,...m})=>jsx(b,{rowClassName:t,columns:e,dataSource:a,disableRowHover:b$1,pagination:l&&{showTotal:u,defaultPageSize:r?.defaultPageSize||5,defaultCurrent:1,itemRender:p,showSizeChanger:false,showLessItems:true,...r},...m}),y=T;export{y as a};//# sourceMappingURL=chunk-ZXSJ2KZF.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-ZXSJ2KZF.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/Table/index.tsx"],"names":["total","range","jsxs","Typography_default","jsx","itemRender","_","type","originalElement","TableButtons_default","Table","rowClassName","columns","dataSource","pagination","showPagination","disableRowHover","otherProps","VendorTable","Table_default"],"mappings":"gKAcMA,CAAAA,CAAQ,CAACA,CAAAA,CAAeC,CAAAA,GAC5BC,IAAAA,CAACC,GAAAA,CAAW,KAAX,CAAgB,QAAA,CAAA,CAAA,SAAA,CACRC,GAAAA,CAAC,GAAA,CAAA,CAAG,QAAA,CAAA,CAAA,CAAA,EAAIH,CAAAA,CAAM,CAAC,CAAC,CAAA,CAAA,EAAIA,CAAAA,CAAM,CAAC,CAAC,CAAA,CAAA,CAAG,CAAA,CAAI,OAAIG,GAAAA,CAAC,GAAA,CAAA,CAAG,QAAA,CAAA,CAAA,EAAGJ,CAAK,CAAA,CAAA,CAAG,CAAA,CAAI,YACnE,CAAA,CAGIK,CAAAA,CAAa,CAACC,CAAAA,CAAWC,CAAAA,CAAcC,GAAAA,GACvCD,IAAS,MAAA,CACJH,GAAAA,CAACK,CAAAA,CAAa,QAAA,CAAb,EAAsB,CAAA,CAE5BF,CAAAA,GAAS,MAAA,CACJH,GAAAA,CAACK,CAAAA,CAAa,IAAA,CAAb,EAAkB,CAAA,CAErBD,GAAAA,CAIHE,EAAQ,CAAmB,CAC/B,YAAA,CAAAC,CAAAA,CAAe,iBAAA,CACf,OAAA,CAAAC,EACA,UAAA,CAAAC,CAAAA,CACA,UAAA,CAAAC,CAAAA,CAAa,EAAC,CACd,eAAAC,CAAAA,CAAiB,KAAA,CACjB,eAAA,CAAAC,GAAAA,CAAkB,KAAA,CAClB,GAAGC,CACL,CAAA,GACEb,GAAAA,CAACc,CAAAA,CAAA,CACC,YAAA,CAAcP,CAAAA,CAGd,OAAA,CAASC,EACT,UAAA,CAAYC,CAAAA,CACZ,eAAA,CAAiBG,GAAAA,CACjB,UAAA,CACED,CAAAA,EAAkB,CAChB,SAAA,CAAWf,CAAAA,CACX,eAAA,CAAiBc,CAAAA,EAAY,eAAA,EAAmB,CAAA,CAChD,cAAA,CAAgB,EAChB,UAAA,CAAAT,CAAAA,CACA,eAAA,CAAiB,KAAA,CACjB,aAAA,CAAe,IAAA,CACf,GAAGS,CACL,CAAA,CAED,GAAGG,CAAAA,CACN,CAAA,CAGKE,CAAAA,CAAQT","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/Table/index.tsx"],"names":["total","range","jsxs","Typography_default","jsx","itemRender","_","type","originalElement","TableButtons_default","Table","rowClassName","columns","dataSource","pagination","showPagination","disableRowHover","otherProps","VendorTable","Table_default"],"mappings":"gKAcMA,CAAAA,CAAQ,CAACA,CAAAA,CAAeC,CAAAA,GAC5BC,IAAAA,CAACC,GAAAA,CAAW,KAAX,CAAgB,QAAA,CAAA,CAAA,SAAA,CACRC,GAAAA,CAAC,GAAA,CAAA,CAAG,QAAA,CAAA,CAAA,CAAA,EAAIH,CAAAA,CAAM,CAAC,CAAC,CAAA,CAAA,EAAIA,CAAAA,CAAM,CAAC,CAAC,CAAA,CAAA,CAAG,CAAA,CAAI,OAAIG,GAAAA,CAAC,GAAA,CAAA,CAAG,QAAA,CAAA,CAAA,EAAGJ,CAAK,CAAA,CAAA,CAAG,CAAA,CAAI,YACnE,CAAA,CAGIK,CAAAA,CAAa,CAACC,CAAAA,CAAWC,CAAAA,CAAcC,GAAAA,GACvCD,IAAS,MAAA,CACJH,GAAAA,CAACK,CAAAA,CAAa,QAAA,CAAb,EAAsB,CAAA,CAE5BF,CAAAA,GAAS,MAAA,CACJH,GAAAA,CAACK,CAAAA,CAAa,IAAA,CAAb,EAAkB,CAAA,CAErBD,GAAAA,CAIHE,EAAQ,CAAmB,CAC/B,YAAA,CAAAC,CAAAA,CAAe,iBAAA,CACf,OAAA,CAAAC,EACA,UAAA,CAAAC,CAAAA,CACA,UAAA,CAAAC,CAAAA,CAAa,EAAC,CACd,eAAAC,CAAAA,CAAiB,KAAA,CACjB,eAAA,CAAAC,GAAAA,CAAkB,KAAA,CAClB,GAAGC,CACL,CAAA,GACEb,GAAAA,CAACc,CAAAA,CAAA,CACC,YAAA,CAAcP,CAAAA,CAGd,OAAA,CAASC,EACT,UAAA,CAAYC,CAAAA,CACZ,eAAA,CAAiBG,GAAAA,CACjB,UAAA,CACED,CAAAA,EAAkB,CAChB,SAAA,CAAWf,CAAAA,CACX,eAAA,CAAiBc,CAAAA,EAAY,eAAA,EAAmB,CAAA,CAChD,cAAA,CAAgB,EAChB,UAAA,CAAAT,CAAAA,CACA,eAAA,CAAiB,KAAA,CACjB,aAAA,CAAe,IAAA,CACf,GAAGS,CACL,CAAA,CAED,GAAGG,CAAAA,CACN,CAAA,CAGKE,CAAAA,CAAQT","file":"chunk-ZXSJ2KZF.js","sourcesContent":["import { ColumnsType, TablePaginationConfig, TableProps } from 'antd/es/table';\nimport TableButtons from './TableButtons';\nimport Typography from '../Typography';\nimport { VendorTable } from './style';\n\ntype Props<T> = {\n rowClassName?: string;\n columns: ColumnsType<T>;\n dataSource: T[];\n showPagination?: boolean;\n pagination?: TablePaginationConfig;\n disableRowHover?: boolean;\n} & TableProps<T>;\n\nconst total = (total: number, range: number[]) => (\n <Typography.Body>\n Viewing<b>{` ${range[0]}-${range[1]}`}</b> of <b>{`${total}`}</b> entries\n </Typography.Body>\n);\n\nconst itemRender = (_: number, type: string, originalElement: any) => {\n if (type === 'prev') {\n return <TableButtons.Previous />;\n }\n if (type === 'next') {\n return <TableButtons.Next />;\n }\n return originalElement;\n};\n\n/** @deprecated Use the Table component from @solace-health/ui/v2 instead. */\nconst Table = <T extends object>({\n rowClassName = 'tableRowDefault',\n columns,\n dataSource,\n pagination = {},\n showPagination = false,\n disableRowHover = false,\n ...otherProps\n}: Props<T>) => (\n <VendorTable\n rowClassName={rowClassName}\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n columns={columns}\n dataSource={dataSource}\n disableRowHover={disableRowHover}\n pagination={\n showPagination && {\n showTotal: total,\n defaultPageSize: pagination?.defaultPageSize || 5,\n defaultCurrent: 1,\n itemRender,\n showSizeChanger: false,\n showLessItems: true,\n ...pagination,\n }\n }\n {...otherProps}\n />\n);\n\nexport default Table;\n"]}
|