@ctlyst.id/utils 3.0.0-beta.0 → 3.0.0-beta.1
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/chunk-2DTW2MMP.js +2 -0
- package/dist/chunk-2DTW2MMP.js.map +1 -0
- package/dist/chunk-2XNWBZU3.js +2 -0
- package/dist/chunk-2XNWBZU3.js.map +1 -0
- package/dist/chunk-3EZJIWT4.js +2 -0
- package/dist/chunk-3EZJIWT4.js.map +1 -0
- package/dist/chunk-55ZXUIJW.js +2 -0
- package/dist/chunk-55ZXUIJW.js.map +1 -0
- package/dist/chunk-AKPPANNV.mjs +2 -0
- package/dist/chunk-AKPPANNV.mjs.map +1 -0
- package/dist/chunk-BUGYRVTO.js +2 -0
- package/dist/chunk-BUGYRVTO.js.map +1 -0
- package/dist/chunk-CKFIKCHU.mjs +2 -0
- package/dist/chunk-CKFIKCHU.mjs.map +1 -0
- package/dist/chunk-CWURCKL2.js +2 -0
- package/dist/chunk-CWURCKL2.js.map +1 -0
- package/dist/chunk-ELX5IXB4.js +2 -0
- package/dist/chunk-ELX5IXB4.js.map +1 -0
- package/dist/chunk-FMUZKH36.mjs +2 -0
- package/dist/chunk-FMUZKH36.mjs.map +1 -0
- package/dist/chunk-HXT73NCV.mjs +2 -0
- package/dist/chunk-HXT73NCV.mjs.map +1 -0
- package/dist/chunk-IX7NK5RI.js +2 -0
- package/dist/chunk-IX7NK5RI.js.map +1 -0
- package/dist/chunk-J2L4VY5C.mjs +2 -0
- package/dist/chunk-J2L4VY5C.mjs.map +1 -0
- package/dist/chunk-KOCPH2DG.js +2 -0
- package/dist/chunk-KOCPH2DG.js.map +1 -0
- package/dist/chunk-M2YCT7CB.mjs +2 -0
- package/dist/chunk-M2YCT7CB.mjs.map +1 -0
- package/dist/chunk-N7Z7DA36.js +2 -0
- package/dist/chunk-N7Z7DA36.js.map +1 -0
- package/dist/chunk-P7FXF4IE.mjs +2 -0
- package/dist/chunk-P7FXF4IE.mjs.map +1 -0
- package/dist/chunk-Q2LVN3QY.js +2 -0
- package/dist/chunk-Q2LVN3QY.js.map +1 -0
- package/dist/chunk-QAXXZNJX.mjs +2 -0
- package/dist/chunk-QAXXZNJX.mjs.map +1 -0
- package/dist/chunk-RATGBP35.js +2 -0
- package/dist/chunk-RATGBP35.js.map +1 -0
- package/dist/chunk-T3V567AP.mjs +2 -0
- package/dist/chunk-T3V567AP.mjs.map +1 -0
- package/dist/chunk-THVM4Z3S.mjs +2 -0
- package/dist/chunk-THVM4Z3S.mjs.map +1 -0
- package/dist/chunk-X4C76ZKK.mjs +2 -0
- package/dist/chunk-X4C76ZKK.mjs.map +1 -0
- package/dist/chunk-Y5HNEW7L.js +2 -0
- package/dist/chunk-Y5HNEW7L.js.map +1 -0
- package/dist/chunk-Z6WQXCNF.mjs +2 -0
- package/dist/chunk-Z6WQXCNF.mjs.map +1 -0
- package/dist/chunk-ZFGFCYYK.mjs +2 -0
- package/dist/chunk-ZFGFCYYK.mjs.map +1 -0
- package/dist/dom.d.mts +9 -0
- package/dist/dom.d.ts +9 -0
- package/dist/dom.js +2 -0
- package/dist/dom.js.map +1 -0
- package/dist/dom.mjs +2 -0
- package/dist/dom.mjs.map +1 -0
- package/dist/hooks/index.d.mts +13 -0
- package/dist/hooks/index.d.ts +13 -0
- package/dist/hooks/index.js +2 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/index.mjs +2 -0
- package/dist/hooks/index.mjs.map +1 -0
- package/dist/hooks/use-callback-ref.d.mts +5 -0
- package/dist/hooks/use-callback-ref.d.ts +5 -0
- package/dist/hooks/use-callback-ref.js +2 -0
- package/dist/hooks/use-callback-ref.js.map +1 -0
- package/dist/hooks/use-callback-ref.mjs +2 -0
- package/dist/hooks/use-callback-ref.mjs.map +1 -0
- package/dist/hooks/use-clipboard.d.mts +18 -0
- package/dist/hooks/use-clipboard.d.ts +18 -0
- package/dist/hooks/use-clipboard.js +2 -0
- package/dist/hooks/use-clipboard.js.map +1 -0
- package/dist/hooks/use-clipboard.mjs +2 -0
- package/dist/hooks/use-clipboard.mjs.map +1 -0
- package/dist/hooks/use-debounce.d.mts +7 -0
- package/dist/hooks/use-debounce.d.ts +7 -0
- package/dist/hooks/use-debounce.js +2 -0
- package/dist/hooks/use-debounce.js.map +1 -0
- package/dist/hooks/use-debounce.mjs +2 -0
- package/dist/hooks/use-debounce.mjs.map +1 -0
- package/dist/hooks/use-dimensions.d.mts +7 -0
- package/dist/hooks/use-dimensions.d.ts +7 -0
- package/dist/hooks/use-dimensions.js +2 -0
- package/dist/hooks/use-dimensions.js.map +1 -0
- package/dist/hooks/use-dimensions.mjs +2 -0
- package/dist/hooks/use-dimensions.mjs.map +1 -0
- package/dist/hooks/use-disclosure.d.mts +20 -0
- package/dist/hooks/use-disclosure.d.ts +20 -0
- package/dist/hooks/use-disclosure.js +2 -0
- package/dist/hooks/use-disclosure.js.map +1 -0
- package/dist/hooks/use-disclosure.mjs +2 -0
- package/dist/hooks/use-disclosure.mjs.map +1 -0
- package/dist/hooks/use-media-query.d.mts +7 -0
- package/dist/hooks/use-media-query.d.ts +7 -0
- package/dist/hooks/use-media-query.js +2 -0
- package/dist/hooks/use-media-query.js.map +1 -0
- package/dist/hooks/use-media-query.mjs +2 -0
- package/dist/hooks/use-media-query.mjs.map +1 -0
- package/dist/hooks/use-number-formatter.d.mts +10 -0
- package/dist/hooks/use-number-formatter.d.ts +10 -0
- package/dist/hooks/use-number-formatter.js +2 -0
- package/dist/hooks/use-number-formatter.js.map +1 -0
- package/dist/hooks/use-number-formatter.mjs +2 -0
- package/dist/hooks/use-number-formatter.mjs.map +1 -0
- package/dist/hooks/use-online-status.d.mts +6 -0
- package/dist/hooks/use-online-status.d.ts +6 -0
- package/dist/hooks/use-online-status.js +2 -0
- package/dist/hooks/use-online-status.js.map +1 -0
- package/dist/hooks/use-online-status.mjs +2 -0
- package/dist/hooks/use-online-status.mjs.map +1 -0
- package/dist/hooks/use-outside-click.d.mts +10 -0
- package/dist/hooks/use-outside-click.d.ts +10 -0
- package/dist/hooks/use-outside-click.js +2 -0
- package/dist/hooks/use-outside-click.js.map +1 -0
- package/dist/hooks/use-outside-click.mjs +2 -0
- package/dist/hooks/use-outside-click.mjs.map +1 -0
- package/dist/hooks/use-safe-layout-effect.d.mts +5 -0
- package/dist/hooks/use-safe-layout-effect.d.ts +5 -0
- package/dist/hooks/use-safe-layout-effect.js +2 -0
- package/dist/hooks/use-safe-layout-effect.js.map +1 -0
- package/dist/hooks/use-safe-layout-effect.mjs +2 -0
- package/dist/hooks/use-safe-layout-effect.mjs.map +1 -0
- package/dist/hooks/use-voucher-tnc.d.mts +60 -0
- package/dist/hooks/use-voucher-tnc.d.ts +60 -0
- package/dist/hooks/use-voucher-tnc.js +2 -0
- package/dist/hooks/use-voucher-tnc.js.map +1 -0
- package/dist/hooks/use-voucher-tnc.mjs +2 -0
- package/dist/hooks/use-voucher-tnc.mjs.map +1 -0
- package/dist/index.d.mts +14 -142
- package/dist/index.d.ts +14 -142
- package/dist/index.js +1 -685
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -631
- package/dist/index.mjs.map +1 -1
- package/package.json +145 -5
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var chunk55ZXUIJW_js=require('./chunk-55ZXUIJW.js'),react=require('react');var x=({onClose:m,onOpen:T,isOpen:r,defaultIsOpen:H,id:u}={})=>{let[L,a]=react.useState(H||false),e=r!==undefined?r:L,t=r!==undefined,M=react.useId(),f=u!=null?u:`disclosure-${M}`,o=chunk55ZXUIJW_js.a(T),n=chunk55ZXUIJW_js.a(m),i=react.useCallback(()=>{t||a(false),n==null||n();},[t,n]),c=react.useCallback(()=>{t||a(true),o==null||o();},[t,o]),d=react.useCallback(()=>{e?i():c();},[e,c,i]);return {onClose:i,onOpen:c,onToggle:d,getButtonProps:({onClick:s,...g}={})=>({...g,"aria-expanded":e,"aria-controls":f,onClick(O){s==null||s(O),d();}}),getDisclosureProps:({...s}={})=>({...s,hidden:!e,id:f}),isOpen:e}},P=x;exports.a=P;//# sourceMappingURL=chunk-2DTW2MMP.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-2DTW2MMP.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/hooks/use-disclosure/use-disclosure.ts"],"names":["useDisclosure","onCloseProp","onOpenProp","isOpenProp","defaultIsOpenProp","idProp","isOpenState","setIsOpenState","useState","isOpen","isControlled","uid","useId","id","handleOpen","use_callback_ref_default","handleClose","onClose","useCallback","onOpen","onToggle","onClick","rest","event","use_disclosure_default"],"mappings":"wFAeA,IAAMA,CAAgB,CAAA,CAAC,CACrB,OAASC,CAAAA,CAAAA,CACT,OAAQC,CACR,CAAA,MAAA,CAAQC,EACR,aAAeC,CAAAA,CAAAA,CACf,EAAIC,CAAAA,CACN,EAAwB,EAAC,GAAM,CAC7B,GAAM,CAACC,CAAaC,CAAAA,CAAc,CAAIC,CAAAA,cAAAA,CAASJ,GAAqB,KAAK,CAAA,CACnEK,EAASN,CAAe,GAAA,SAAA,CAAYA,EAAaG,CACjDI,CAAAA,CAAAA,CAAeP,CAAe,GAAA,SAAA,CAC9BQ,EAAMC,WAAM,EAAA,CACZC,CAAKR,CAAAA,CAAAA,EAAA,KAAAA,CAAU,CAAA,CAAA,WAAA,EAAcM,CAAG,CAAA,CAAA,CAEhCG,EAAaC,kBAAeb,CAAAA,CAAU,EACtCc,CAAcD,CAAAA,kBAAAA,CAAed,CAAW,CAExCgB,CAAAA,CAAAA,CAAUC,iBAAY,CAAA,IAAM,CAC3BR,CACHH,EAAAA,CAAAA,CAAe,KAAK,CAEtBS,CAAAA,CAAAA,EAAA,MAAAA,CACF,GAAA,CAAA,CAAG,CAACN,CAAAA,CAAcM,CAAW,CAAC,CAAA,CAExBG,EAASD,iBAAY,CAAA,IAAM,CAC1BR,CACHH,EAAAA,CAAAA,CAAe,IAAI,CAAA,CAErBO,GAAA,IAAAA,EAAAA,CAAAA,GACF,CAAG,CAAA,CAACJ,EAAcI,CAAU,CAAC,CAEvBM,CAAAA,CAAAA,CAAWF,kBAAY,IAAM,CAC7BT,EACFQ,CAAQ,EAAA,CAERE,IAEJ,CAAA,CAAG,CAACV,CAAAA,CAAQU,EAAQF,CAAO,CAAC,EAsB5B,OAAO,CACL,QAAAA,CACA,CAAA,MAAA,CAAAE,CACA,CAAA,QAAA,CAAAC,EACA,cAxBqB,CAAA,CAAC,CAAE,OAAAC,CAAAA,CAAAA,CAAS,GAAGC,CAAK,CAAA,CAAe,EAAC,IAClD,CACL,GAAGA,CAAAA,CACH,eAAiBb,CAAAA,CAAAA,CACjB,gBAAiBI,CACjB,CAAA,OAAA,CAAQU,CAAO,CAAA,CACbF,GAAA,IAAAA,EAAAA,CAAAA,CAAUE,GACVH,CAAS,GACX,CACF,CAgBA,CAAA,CAAA,kBAAA,CAbyB,CAAC,CAAE,GAAGE,CAAK,CAAA,CAAe,EAC5C,IAAA,CACL,GAAGA,CACH,CAAA,MAAA,CAAQ,CAACb,CAAAA,CACT,GAAAI,CACF,CAAA,CAAA,CASA,OAAAJ,CACF,CACF,EAEOe,CAAQxB,CAAAA","file":"chunk-2DTW2MMP.js","sourcesContent":["import type { HTMLAttributes } from 'react';\nimport { useCallback, useId, useState } from 'react';\n\nimport { useCallbackRef } from '../use-callback-ref';\n\nexport interface UseDisclosureProps {\n isOpen?: boolean;\n defaultIsOpen?: boolean;\n onClose?(): void;\n onOpen?(): void;\n id?: string;\n}\n\ntype HTMLProps = HTMLAttributes<HTMLElement>;\n\nconst useDisclosure = ({\n onClose: onCloseProp,\n onOpen: onOpenProp,\n isOpen: isOpenProp,\n defaultIsOpen: defaultIsOpenProp,\n id: idProp,\n}: UseDisclosureProps = {}) => {\n const [isOpenState, setIsOpenState] = useState(defaultIsOpenProp || false);\n const isOpen = isOpenProp !== undefined ? isOpenProp : isOpenState;\n const isControlled = isOpenProp !== undefined;\n const uid = useId();\n const id = idProp ?? `disclosure-${uid}`;\n\n const handleOpen = useCallbackRef(onOpenProp);\n const handleClose = useCallbackRef(onCloseProp);\n\n const onClose = useCallback(() => {\n if (!isControlled) {\n setIsOpenState(false);\n }\n handleClose?.();\n }, [isControlled, handleClose]);\n\n const onOpen = useCallback(() => {\n if (!isControlled) {\n setIsOpenState(true);\n }\n handleOpen?.();\n }, [isControlled, handleOpen]);\n\n const onToggle = useCallback(() => {\n if (isOpen) {\n onClose();\n } else {\n onOpen();\n }\n }, [isOpen, onOpen, onClose]);\n\n const getButtonProps = ({ onClick, ...rest }: HTMLProps = {}): HTMLProps => {\n return {\n ...rest,\n 'aria-expanded': isOpen,\n 'aria-controls': id,\n onClick(event) {\n onClick?.(event);\n onToggle();\n },\n };\n };\n\n const getDisclosureProps = ({ ...rest }: HTMLProps = {}): HTMLProps => {\n return {\n ...rest,\n hidden: !isOpen,\n id,\n };\n };\n\n return {\n onClose,\n onOpen,\n onToggle,\n getButtonProps,\n getDisclosureProps,\n isOpen,\n };\n};\n\nexport default useDisclosure;\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var react=require('react');var b=(t,m={})=>{let{ssr:u=true,fallback:s}=m,n=Array.isArray(t)?t:[t],o=Array.isArray(s)?s:[s];o=o.filter(a=>a!=null);let[d,c]=react.useState(()=>n.map((a,r)=>({media:a,matches:u?!!o[r]:window.matchMedia(a).matches})));return react.useEffect(()=>{let a=window;c(n.map(e=>({media:e,matches:a.matchMedia(e).matches})));let r=n.map(e=>a.matchMedia(e)),l=e=>{c(h=>h.slice().map(i=>i.media===e.media?{...i,matches:e.matches}:i));};return r.forEach(e=>{e.addEventListener("change",l);}),()=>{r.forEach(e=>{e.removeEventListener("change",l);});}},[window]),d.map(a=>a.matches)},y=b;exports.a=y;//# sourceMappingURL=chunk-2XNWBZU3.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-2XNWBZU3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/hooks/use-media-query/use-media-query.ts"],"names":["useMediaQuery","query","options","ssr","fallback","queries","fallbackValues","v","value","setValue","useState","data","index","useEffect","win","mql","handler","evt","prev","item","use_media_query_default"],"mappings":"wCAOA,IAAMA,EAAgB,CAACC,CAAAA,CAA0BC,CAAgC,CAAA,KAAkB,CACjG,GAAM,CAAE,GAAAC,CAAAA,CAAAA,CAAM,KAAM,QAAAC,CAAAA,CAAS,CAAIF,CAAAA,CAAAA,CAE3BG,EAAU,KAAM,CAAA,OAAA,CAAQJ,CAAK,CAAIA,CAAAA,CAAAA,CAAQ,CAACA,CAAK,CAAA,CAEjDK,CAAiB,CAAA,KAAA,CAAM,QAAQF,CAAQ,CAAA,CAAIA,EAAW,CAACA,CAAQ,EACnEE,CAAiBA,CAAAA,CAAAA,CAAe,MAAOC,CAAAA,CAAAA,EAAKA,GAAK,IAAI,CAAA,CAErD,GAAM,CAACC,CAAAA,CAAOC,CAAQ,CAAIC,CAAAA,cAAAA,CAAS,IAC1BL,CAAAA,CAAQ,IAAI,CAACM,CAAAA,CAAMC,KAAW,CACnC,KAAA,CAAOD,EACP,OAASR,CAAAA,CAAAA,CAAM,CAAC,CAACG,EAAeM,CAAK,CAAA,CAAI,OAAO,UAAWD,CAAAA,CAAI,EAAE,OACnE,CAAA,CAAE,CACH,CAAA,CAED,OAAAE,eAAU,CAAA,IAAM,CACd,IAAMC,CAAAA,CAAM,OACZL,CACEJ,CAAAA,CAAAA,CAAQ,GAAIM,CAAAA,CAAAA,GAAS,CACnB,KAAOA,CAAAA,CAAAA,CACP,QAASG,CAAI,CAAA,UAAA,CAAWH,CAAI,CAAE,CAAA,OAChC,CAAE,CAAA,CACJ,EAEA,IAAMI,CAAAA,CAAMV,EAAQ,GAAIM,CAAAA,CAAAA,EAAQG,EAAI,UAAWH,CAAAA,CAAI,CAAC,CAAA,CAE9CK,EAAWC,CAA6B,EAAA,CAC5CR,EAASS,CACAA,EAAAA,CAAAA,CAAK,OAAQ,CAAA,GAAA,CAAIC,CAClBA,EAAAA,CAAAA,CAAK,QAAUF,CAAI,CAAA,KAAA,CAAc,CAAE,GAAGE,CAAAA,CAAM,QAASF,CAAI,CAAA,OAAQ,CAC9DE,CAAAA,CACR,CACF,EACH,CAAA,CAEA,OAAAJ,CAAI,CAAA,OAAA,CAAQJ,GAAQ,CAClBA,CAAAA,CAAK,gBAAiB,CAAA,QAAA,CAAUK,CAAO,EACzC,CAAC,EAEM,IAAM,CACXD,EAAI,OAAQJ,CAAAA,CAAAA,EAAQ,CAClBA,CAAAA,CAAK,oBAAoB,QAAUK,CAAAA,CAAO,EAC5C,CAAC,EACH,CAEF,CAAG,CAAA,CAAC,MAAM,CAAC,CAAA,CAEJR,EAAM,GAAIW,CAAAA,CAAAA,EAAQA,EAAK,OAAO,CACvC,EAEOC,CAAQpB,CAAAA","file":"chunk-2XNWBZU3.js","sourcesContent":["import { useEffect, useState } from 'react';\n\nexport type UseMediaQueryOptions = {\n fallback?: boolean | boolean[];\n ssr?: boolean;\n};\n\nconst useMediaQuery = (query: string | string[], options: UseMediaQueryOptions = {}): boolean[] => {\n const { ssr = true, fallback } = options;\n\n const queries = Array.isArray(query) ? query : [query];\n\n let fallbackValues = Array.isArray(fallback) ? fallback : [fallback];\n fallbackValues = fallbackValues.filter(v => v != null) as boolean[];\n\n const [value, setValue] = useState(() => {\n return queries.map((data, index) => ({\n media: data,\n matches: ssr ? !!fallbackValues[index] : window.matchMedia(data).matches,\n }));\n });\n\n useEffect(() => {\n const win = window;\n setValue(\n queries.map(data => ({\n media: data,\n matches: win.matchMedia(data).matches,\n }))\n );\n\n const mql = queries.map(data => win.matchMedia(data));\n\n const handler = (evt: MediaQueryListEvent) => {\n setValue(prev => {\n return prev.slice().map(item => {\n if (item.media === evt.media) return { ...item, matches: evt.matches };\n return item;\n });\n });\n };\n\n mql.forEach(data => {\n data.addEventListener('change', handler);\n });\n\n return () => {\n mql.forEach(data => {\n data.removeEventListener('change', handler);\n });\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [window]);\n\n return value.map(item => item.matches);\n};\n\nexport default useMediaQuery;\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var chunkRATGBP35_js=require('./chunk-RATGBP35.js'),chunk55ZXUIJW_js=require('./chunk-55ZXUIJW.js'),react=require('react');var l=({enabled:d=true,ref:n,handler:s})=>{let i=chunk55ZXUIJW_js.a(s),e=react.useRef({isPointerDown:false,ignoreEmulatedMouseEvents:false}).current;react.useEffect(()=>{if(!d)return;let r=o=>{chunkRATGBP35_js.c(o,n)&&(e.isPointerDown=true);},c=o=>{if(e.ignoreEmulatedMouseEvents){e.ignoreEmulatedMouseEvents=false;return}e.isPointerDown&&s&&chunkRATGBP35_js.c(o,n)&&(e.isPointerDown=false,i(o));},a=o=>{e.ignoreEmulatedMouseEvents=true,s&&e.isPointerDown&&chunkRATGBP35_js.c(o,n)&&(e.isPointerDown=false,i(o));},t=chunkRATGBP35_js.b(n.current);return t.addEventListener("mousedown",r,true),t.addEventListener("mouseup",c,true),t.addEventListener("touchstart",r,true),t.addEventListener("touchend",a,true),()=>{t.removeEventListener("mousedown",r,true),t.removeEventListener("mouseup",c,true),t.removeEventListener("touchstart",r,true),t.removeEventListener("touchend",a,true);}},[s,n,i,e,d]);},p=l;exports.a=p;//# sourceMappingURL=chunk-3EZJIWT4.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-3EZJIWT4.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/hooks/use-outside-click/use-outside-click.ts"],"names":["useOutsideClick","enabled","ref","handler","savedHandler","use_callback_ref_default","state","useRef","useEffect","onPointerDown","e","isValidEvent","onMouseUp","event","onTouchEnd","doc","getOwnerDocument","use_outside_click_default"],"mappings":"4IAYMA,CAAkB,CAAA,CAAC,CAAE,OAAA,CAAAC,EAAU,IAAM,CAAA,GAAA,CAAAC,EAAK,OAAAC,CAAAA,CAAQ,IAAkC,CACxF,IAAMC,CAAeC,CAAAA,kBAAAA,CAAeF,CAAO,CAOrCG,CAAAA,CAAAA,CALWC,YAAO,CAAA,CACtB,cAAe,KACf,CAAA,yBAAA,CAA2B,KAC7B,CAAC,EAEsB,OAEvBC,CAAAA,eAAAA,CAAU,IAAM,CACd,GAAI,CAACP,CAAS,CAAA,OACd,IAAMQ,CAAAA,CAAmEC,GAAS,CAC5EC,kBAAAA,CAAaD,CAAGR,CAAAA,CAAG,IACrBI,CAAM,CAAA,aAAA,CAAgB,IAE1B,EAAA,CAAA,CAEMM,EAAaC,CAAsB,EAAA,CACvC,GAAIP,CAAM,CAAA,yBAAA,CAA2B,CACnCA,CAAM,CAAA,yBAAA,CAA4B,KAClC,CAAA,MACF,CAEIA,CAAM,CAAA,aAAA,EAAiBH,CAAWQ,EAAAA,kBAAAA,CAAaE,EAAOX,CAAG,CAAA,GAC3DI,CAAM,CAAA,aAAA,CAAgB,MACtBF,CAAaS,CAAAA,CAAK,GAEtB,CAEMC,CAAAA,CAAAA,CAAcD,GAAsB,CACxCP,CAAAA,CAAM,yBAA4B,CAAA,IAAA,CAC9BH,GAAWG,CAAM,CAAA,aAAA,EAAiBK,kBAAaE,CAAAA,CAAAA,CAAOX,CAAG,CAC3DI,GAAAA,CAAAA,CAAM,aAAgB,CAAA,KAAA,CACtBF,EAAaS,CAAK,CAAA,EAEtB,EAEME,CAAMC,CAAAA,kBAAAA,CAAiBd,EAAI,OAAO,CAAA,CACxC,OAAAa,CAAAA,CAAI,iBAAiB,WAAaN,CAAAA,CAAAA,CAAe,IAAI,CAAA,CACrDM,EAAI,gBAAiB,CAAA,SAAA,CAAWH,CAAW,CAAA,IAAI,EAC/CG,CAAI,CAAA,gBAAA,CAAiB,aAAcN,CAAe,CAAA,IAAI,EACtDM,CAAI,CAAA,gBAAA,CAAiB,UAAYD,CAAAA,CAAAA,CAAY,IAAI,CAE1C,CAAA,IAAM,CACXC,CAAAA,CAAI,oBAAoB,WAAaN,CAAAA,CAAAA,CAAe,IAAI,CAAA,CACxDM,EAAI,mBAAoB,CAAA,SAAA,CAAWH,EAAW,IAAI,CAAA,CAClDG,EAAI,mBAAoB,CAAA,YAAA,CAAcN,CAAe,CAAA,IAAI,EACzDM,CAAI,CAAA,mBAAA,CAAoB,WAAYD,CAAY,CAAA,IAAI,EACtD,CACF,CAAA,CAAG,CAACX,CAAAA,CAASD,EAAKE,CAAcE,CAAAA,CAAAA,CAAOL,CAAO,CAAC,EACjD,EAEOgB,CAAQjB,CAAAA","file":"chunk-3EZJIWT4.js","sourcesContent":["import type { RefObject } from 'react';\nimport { useEffect, useRef } from 'react';\n\nimport { getOwnerDocument, isValidEvent } from '../../dom';\nimport { useCallbackRef } from '../use-callback-ref';\n\nexport interface UseOutsideClickProps {\n enabled?: boolean;\n ref: RefObject<HTMLElement>;\n handler?: (e: Event) => void;\n}\n\nconst useOutsideClick = ({ enabled = true, ref, handler }: UseOutsideClickProps): void => {\n const savedHandler = useCallbackRef(handler);\n\n const stateRef = useRef({\n isPointerDown: false,\n ignoreEmulatedMouseEvents: false,\n });\n\n const state = stateRef.current;\n\n useEffect(() => {\n if (!enabled) return undefined;\n const onPointerDown = <T extends PointerEvent | MouseEvent | TouchEvent>(e: T) => {\n if (isValidEvent(e, ref)) {\n state.isPointerDown = true;\n }\n };\n\n const onMouseUp = (event: MouseEvent) => {\n if (state.ignoreEmulatedMouseEvents) {\n state.ignoreEmulatedMouseEvents = false;\n return;\n }\n\n if (state.isPointerDown && handler && isValidEvent(event, ref)) {\n state.isPointerDown = false;\n savedHandler(event);\n }\n };\n\n const onTouchEnd = (event: TouchEvent) => {\n state.ignoreEmulatedMouseEvents = true;\n if (handler && state.isPointerDown && isValidEvent(event, ref)) {\n state.isPointerDown = false;\n savedHandler(event);\n }\n };\n\n const doc = getOwnerDocument(ref.current);\n doc.addEventListener('mousedown', onPointerDown, true);\n doc.addEventListener('mouseup', onMouseUp, true);\n doc.addEventListener('touchstart', onPointerDown, true);\n doc.addEventListener('touchend', onTouchEnd, true);\n\n return () => {\n doc.removeEventListener('mousedown', onPointerDown, true);\n doc.removeEventListener('mouseup', onMouseUp, true);\n doc.removeEventListener('touchstart', onPointerDown, true);\n doc.removeEventListener('touchend', onTouchEnd, true);\n };\n }, [handler, ref, savedHandler, state, enabled]);\n};\n\nexport default useOutsideClick;\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var react=require('react');var o=(t,r=[])=>{let e=react.useRef(t);return react.useEffect(()=>{e.current=t;}),react.useCallback((...s)=>{var n;return (n=e.current)==null?undefined:n.call(e,...s)},r)},c=o;exports.a=c;//# sourceMappingURL=chunk-55ZXUIJW.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-55ZXUIJW.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/hooks/use-callback-ref/use-callback-ref.ts"],"names":["useCallbackRef","callback","deps","callbackRef","useRef","useEffect","useCallback","args","_a","use_callback_ref_default"],"mappings":"wCAIMA,IAAAA,CAAAA,CAAiB,CAAoCC,CAAAA,CAAyBC,EAAuB,EAAC,GAAM,CAChH,IAAMC,CAAAA,CAAcC,aAAOH,CAAQ,CAAA,CAEnC,OAAAI,eAAAA,CAAU,IAAM,CACdF,EAAY,OAAUF,CAAAA,EACxB,CAAC,CAGMK,CAAAA,iBAAAA,CAAa,IAAIC,CAAW,GAAA,CAZrC,IAAAC,CAAAA,CAYwC,OAAAA,CAAAA,CAAAA,CAAAL,EAAY,OAAZ,GAAA,IAAA,CAAA,SAAA,CAAAK,EAAA,IAAAL,CAAAA,CAAAA,CAAsB,GAAGI,CAAaL,CAAAA,CAAAA,CAAAA,CAAI,CAClF,CAAA,CAEOO,CAAQT,CAAAA","file":"chunk-55ZXUIJW.js","sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { DependencyList } from 'react';\nimport { useCallback, useEffect, useRef } from 'react';\n\nconst useCallbackRef = <T extends (...args: any[]) => any>(callback: T | undefined, deps: DependencyList = []) => {\n const callbackRef = useRef(callback);\n\n useEffect(() => {\n callbackRef.current = callback;\n });\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return useCallback(((...args: any) => callbackRef.current?.(...args)) as T, deps);\n};\n\nexport default useCallbackRef;\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var p=({value:u,thousandSeparator:a=".",decimalLength:r,decimalSeparator:o=",",prefix:s=""})=>{let n=(f=>{let t=f.toString().split("."),m=t[0].replace(/\B(?=(\d{3})+(?!\d))/g,a),e="";return r!==undefined?t.length>1&&r>0?e=o+t[1].padEnd(r,"0").slice(0,r):r>0&&(e=o+"0".repeat(r)):t.length>1&&(e=o+t[1]),m+e})(u);return n.charAt(0)==="-"?n.replace(/^-/g,`-${s}`):`${s}${n}`},i=p;export{i as a};//# sourceMappingURL=chunk-AKPPANNV.mjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-AKPPANNV.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/hooks/use-number-formatter/use-number-formatter.ts"],"names":["useNumberFormatter","value","thousandSeparator","decimalLength","decimalSeparator","prefix","formattedValue","number","parts","integerPart","decimalPart","use_number_formatter_default"],"mappings":"AAQMA,IAAAA,CAAAA,CAAqB,CAAC,CAC1B,KAAA,CAAAC,EACA,iBAAAC,CAAAA,CAAAA,CAAoB,GACpB,CAAA,aAAA,CAAAC,CACA,CAAA,gBAAA,CAAAC,EAAmB,GACnB,CAAA,MAAA,CAAAC,EAAS,EACX,CAAA,GAAoC,CAmBlC,IAAMC,CAAAA,CAAAA,CAlBgBC,CAAmB,EAAA,CACvC,IAAMC,CAAAA,CAAQD,EAAO,QAAS,EAAA,CAAE,MAAM,GAAG,CAAA,CACnCE,EAAcD,CAAM,CAAA,CAAC,CAAE,CAAA,OAAA,CAAQ,uBAAyBN,CAAAA,CAAiB,EAC3EQ,CAAc,CAAA,EAAA,CAElB,OAAIP,CAAkB,GAAA,SAAA,CAChBK,EAAM,MAAS,CAAA,CAAA,EAAKL,CAAgB,CAAA,CAAA,CACtCO,CAAcN,CAAAA,CAAAA,CAAmBI,EAAM,CAAC,CAAA,CAAE,OAAOL,CAAe,CAAA,GAAG,EAAE,KAAM,CAAA,CAAA,CAAGA,CAAa,CAAA,CAClFA,CAAgB,CAAA,CAAA,GACzBO,EAAcN,CAAmB,CAAA,GAAA,CAAI,OAAOD,CAAa,CAAA,CAAA,CAElDK,EAAM,MAAS,CAAA,CAAA,GACxBE,CAAcN,CAAAA,CAAAA,CAAmBI,CAAM,CAAA,CAAC,GAGnCC,CAAcC,CAAAA,CACvB,GAEoCT,CAAK,CAAA,CAEzC,OAAIK,CAAe,CAAA,MAAA,CAAO,CAAC,CAAA,GAAM,GACxBA,CAAAA,CAAAA,CAAe,QAAQ,KAAO,CAAA,CAAA,CAAA,EAAID,CAAM,CAAA,CAAE,CAG5C,CAAA,CAAA,EAAGA,CAAM,CAAGC,EAAAA,CAAc,CACnC,CAAA,CAAA,CAEOK,CAAQX,CAAAA","file":"chunk-AKPPANNV.mjs","sourcesContent":["export interface NumberFormatterProps {\n value: number;\n thousandSeparator?: string;\n decimalLength?: number;\n decimalSeparator?: string;\n prefix?: string;\n}\n\nconst useNumberFormatter = ({\n value,\n thousandSeparator = '.',\n decimalLength,\n decimalSeparator = ',',\n prefix = '',\n}: NumberFormatterProps): string => {\n const formatNumber = (number: number) => {\n const parts = number.toString().split('.');\n const integerPart = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, thousandSeparator);\n let decimalPart = '';\n\n if (decimalLength !== undefined) {\n if (parts.length > 1 && decimalLength > 0) {\n decimalPart = decimalSeparator + parts[1].padEnd(decimalLength, '0').slice(0, decimalLength);\n } else if (decimalLength > 0) {\n decimalPart = decimalSeparator + '0'.repeat(decimalLength);\n }\n } else if (parts.length > 1) {\n decimalPart = decimalSeparator + parts[1];\n }\n\n return integerPart + decimalPart;\n };\n\n const formattedValue = formatNumber(value);\n\n if (formattedValue.charAt(0) === `-`) {\n return formattedValue.replace(/^-/g, `-${prefix}`);\n }\n\n return `${prefix}${formattedValue}`;\n};\n\nexport default useNumberFormatter;\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var react=require('react');var c=({value:e,delay:t=500})=>{let[o,r]=react.useState(e);return react.useEffect(()=>{let u=setTimeout(()=>r(e),t||500);return ()=>{clearTimeout(u);}},[JSON.stringify(e),t]),o},f=c;exports.a=f;//# sourceMappingURL=chunk-BUGYRVTO.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-BUGYRVTO.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/hooks/use-debounce/use-debounce.ts"],"names":["useDebounce","value","delay","debouncedValue","setDebouncedValue","useState","useEffect","timer","use_debounce_default"],"mappings":"wCAQMA,IAAAA,CAAAA,CAAc,CAAI,CAAE,KAAAC,CAAAA,CAAAA,CAAO,KAAAC,CAAAA,CAAAA,CAAQ,GAAI,CAA2B,GAAA,CACtE,GAAM,CAACC,CAAgBC,CAAAA,CAAiB,CAAIC,CAAAA,cAAAA,CAAYJ,CAAK,CAAA,CAE7D,OAAAK,eAAAA,CAAU,IAAM,CACd,IAAMC,CAAQ,CAAA,UAAA,CAAW,IAAMH,CAAAA,CAAkBH,CAAK,CAAA,CAAGC,CAAS,EAAA,GAAG,CAErE,CAAA,OAAO,IAAM,CACX,YAAaK,CAAAA,CAAK,EACpB,CACF,CAAA,CAAG,CAAC,IAAA,CAAK,SAAUN,CAAAA,CAAK,CAAGC,CAAAA,CAAK,CAAC,CAAA,CAE1BC,CACT,CAAA,CAEOK,CAAQR,CAAAA","file":"chunk-BUGYRVTO.js","sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\nimport { useEffect, useState } from 'react';\n\nexport interface UseDebounceProps<T> {\n value: T;\n delay?: number;\n}\n\nconst useDebounce = <T>({ value, delay = 500 }: UseDebounceProps<T>) => {\n const [debouncedValue, setDebouncedValue] = useState<T>(value);\n\n useEffect(() => {\n const timer = setTimeout(() => setDebouncedValue(value), delay || 500);\n\n return () => {\n clearTimeout(timer);\n };\n }, [JSON.stringify(value), delay]);\n\n return debouncedValue;\n};\n\nexport default useDebounce;\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {a as a$1}from'./chunk-FMUZKH36.mjs';import {getBox}from'css-box-model';import {useState,useRef}from'react';var c=(s,o)=>{let[i,m]=useState(null),t=useRef();return a$1(()=>{let e=()=>{let r=s.current;r&&(t.current=requestAnimationFrame(()=>{let d=getBox(r);m(d);}));};return e(),o&&(window.addEventListener("resize",e),window.addEventListener("scroll",e)),()=>{o&&(window.removeEventListener("resize",e),window.removeEventListener("scroll",e)),t.current&&cancelAnimationFrame(t.current);}},[o]),i},a=c;export{a};//# sourceMappingURL=chunk-CKFIKCHU.mjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-CKFIKCHU.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/hooks/use-dimensions/use-dimensions.ts"],"names":["useDimensions","ref","observe","dimensions","setDimensions","useState","rafId","useRef","use_safe_layout_effect_default","measure","node","boxModel","getBox","use_dimensions_default"],"mappings":"mHASA,IAAMA,EAAgB,CAACC,CAAAA,CAA6BC,IAAsB,CACxE,GAAM,CAACC,CAAYC,CAAAA,CAAa,CAAIC,CAAAA,QAAAA,CAA8B,IAAI,CAAA,CAChEC,EAAQC,MAAe,EAAA,CAE7B,OAAAC,GAAoB,CAAA,IAAM,CACxB,IAAMC,CAAAA,CAAU,IAAM,CACpB,IAAMC,EAAOT,CAAI,CAAA,OAAA,CACZS,IACLJ,CAAM,CAAA,OAAA,CAAU,sBAAsB,IAAM,CAC1C,IAAMK,CAAAA,CAAWC,MAAOF,CAAAA,CAAI,EAC5BN,CAAcO,CAAAA,CAAQ,EACxB,CAAC,CAAA,EACH,EAEA,OAAAF,CAAAA,GAEIP,CACF,GAAA,MAAA,CAAO,iBAAiB,QAAUO,CAAAA,CAAO,EACzC,MAAO,CAAA,gBAAA,CAAiB,SAAUA,CAAO,CAAA,CAAA,CAGpC,IAAM,CACPP,CACF,GAAA,MAAA,CAAO,oBAAoB,QAAUO,CAAAA,CAAO,EAC5C,MAAO,CAAA,mBAAA,CAAoB,SAAUA,CAAO,CAAA,CAAA,CAG1CH,EAAM,OACR,EAAA,oBAAA,CAAqBA,EAAM,OAAO,EAEtC,CACF,CAAG,CAAA,CAACJ,CAAO,CAAC,CAAA,CAELC,CACT,CAAA,CAEOU,CAAQb,CAAAA","file":"chunk-CKFIKCHU.mjs","sourcesContent":["import type { BoxModel as BoxModelType } from 'css-box-model';\nimport { getBox } from 'css-box-model';\nimport type { RefObject } from 'react';\nimport { useRef, useState } from 'react';\n\nimport { useSafeLayoutEffect } from '../use-safe-layout-effect';\n\nexport type BoxModel = BoxModelType;\n\nconst useDimensions = (ref: RefObject<HTMLElement>, observe?: boolean) => {\n const [dimensions, setDimensions] = useState<BoxModelType | null>(null);\n const rafId = useRef<number>();\n\n useSafeLayoutEffect(() => {\n const measure = () => {\n const node = ref.current;\n if (!node) return;\n rafId.current = requestAnimationFrame(() => {\n const boxModel = getBox(node);\n setDimensions(boxModel);\n });\n };\n\n measure();\n\n if (observe) {\n window.addEventListener('resize', measure);\n window.addEventListener('scroll', measure);\n }\n\n return () => {\n if (observe) {\n window.removeEventListener('resize', measure);\n window.removeEventListener('scroll', measure);\n }\n\n if (rafId.current) {\n cancelAnimationFrame(rafId.current);\n }\n };\n }, [observe]);\n\n return dimensions;\n};\n\nexport default useDimensions;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/hooks/use-safe-layout-effect/use-safe-layout-effect.ts"],"names":["useSafeLayoutEffect","isBrowser","useLayoutEffect","useEffect","use_safe_layout_effect_default"],"mappings":"4FAIMA,CAAsBC,CAAAA,kBAAAA,CAAYC,qBAAkBC,CAAAA,eAAAA,CACnDC,CAAQJ,CAAAA","file":"chunk-CWURCKL2.js","sourcesContent":["import { useEffect, useLayoutEffect } from 'react';\n\nimport { isBrowser } from '../../dom';\n\nconst useSafeLayoutEffect = isBrowser ? useLayoutEffect : useEffect;\nexport default useSafeLayoutEffect;\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var react=require('react');var s=()=>{let[n,t]=react.useState(navigator.onLine);return react.useEffect(()=>{let e=()=>t(navigator.onLine);return window.addEventListener("online",e),window.addEventListener("offline",e),()=>{window.removeEventListener("online",e),window.removeEventListener("offline",e);}},[]),{isOnline:n,isOffline:!n}},r=s;exports.a=r;//# sourceMappingURL=chunk-ELX5IXB4.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-ELX5IXB4.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/hooks/use-online-status/use-online-status.ts"],"names":["useOnlineStatus","isOnline","setIsOnline","useState","useEffect","handleEvent","use_online_status_default"],"mappings":"wCAEA,IAAMA,CAAkB,CAAA,IAAM,CAC5B,GAAM,CAACC,CAAAA,CAAUC,CAAW,CAAIC,CAAAA,cAAAA,CAAS,SAAU,CAAA,MAAM,CAEzD,CAAA,OAAAC,eAAU,CAAA,IAAM,CACd,IAAMC,CAAc,CAAA,IAAMH,CAAY,CAAA,SAAA,CAAU,MAAM,CAAA,CAEtD,cAAO,gBAAiB,CAAA,QAAA,CAAUG,CAAW,CAAA,CAC7C,MAAO,CAAA,gBAAA,CAAiB,SAAWA,CAAAA,CAAW,CACvC,CAAA,IAAM,CACX,MAAA,CAAO,mBAAoB,CAAA,QAAA,CAAUA,CAAW,CAAA,CAChD,OAAO,mBAAoB,CAAA,SAAA,CAAWA,CAAW,EACnD,CACF,CAAA,CAAG,EAAE,CAEE,CAAA,CAAE,QAAAJ,CAAAA,CAAAA,CAAU,SAAW,CAAA,CAACA,CAAS,CAC1C,EAEOK,CAAQN,CAAAA","file":"chunk-ELX5IXB4.js","sourcesContent":["import { useEffect, useState } from 'react';\n\nconst useOnlineStatus = () => {\n const [isOnline, setIsOnline] = useState(navigator.onLine);\n\n useEffect(() => {\n const handleEvent = () => setIsOnline(navigator.onLine);\n\n window.addEventListener('online', handleEvent);\n window.addEventListener('offline', handleEvent);\n return () => {\n window.removeEventListener('online', handleEvent);\n window.removeEventListener('offline', handleEvent);\n };\n }, []);\n\n return { isOnline, isOffline: !isOnline };\n};\n\nexport default useOnlineStatus;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/hooks/use-safe-layout-effect/use-safe-layout-effect.ts"],"names":["useSafeLayoutEffect","isBrowser","useLayoutEffect","useEffect","use_safe_layout_effect_default"],"mappings":"uFAIMA,CAAsBC,CAAAA,CAAAA,CAAYC,eAAkBC,CAAAA,SAAAA,CACnDC,CAAQJ,CAAAA","file":"chunk-FMUZKH36.mjs","sourcesContent":["import { useEffect, useLayoutEffect } from 'react';\n\nimport { isBrowser } from '../../dom';\n\nconst useSafeLayoutEffect = isBrowser ? useLayoutEffect : useEffect;\nexport default useSafeLayoutEffect;\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {useState,useEffect}from'react';var b=(t,m={})=>{let{ssr:u=true,fallback:s}=m,n=Array.isArray(t)?t:[t],o=Array.isArray(s)?s:[s];o=o.filter(a=>a!=null);let[d,c]=useState(()=>n.map((a,r)=>({media:a,matches:u?!!o[r]:window.matchMedia(a).matches})));return useEffect(()=>{let a=window;c(n.map(e=>({media:e,matches:a.matchMedia(e).matches})));let r=n.map(e=>a.matchMedia(e)),l=e=>{c(h=>h.slice().map(i=>i.media===e.media?{...i,matches:e.matches}:i));};return r.forEach(e=>{e.addEventListener("change",l);}),()=>{r.forEach(e=>{e.removeEventListener("change",l);});}},[window]),d.map(a=>a.matches)},y=b;export{y as a};//# sourceMappingURL=chunk-HXT73NCV.mjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-HXT73NCV.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/hooks/use-media-query/use-media-query.ts"],"names":["useMediaQuery","query","options","ssr","fallback","queries","fallbackValues","v","value","setValue","useState","data","index","useEffect","win","mql","handler","evt","prev","item","use_media_query_default"],"mappings":"uCAOA,IAAMA,EAAgB,CAACC,CAAAA,CAA0BC,CAAgC,CAAA,KAAkB,CACjG,GAAM,CAAE,GAAAC,CAAAA,CAAAA,CAAM,KAAM,QAAAC,CAAAA,CAAS,CAAIF,CAAAA,CAAAA,CAE3BG,EAAU,KAAM,CAAA,OAAA,CAAQJ,CAAK,CAAIA,CAAAA,CAAAA,CAAQ,CAACA,CAAK,CAAA,CAEjDK,CAAiB,CAAA,KAAA,CAAM,QAAQF,CAAQ,CAAA,CAAIA,EAAW,CAACA,CAAQ,EACnEE,CAAiBA,CAAAA,CAAAA,CAAe,MAAOC,CAAAA,CAAAA,EAAKA,GAAK,IAAI,CAAA,CAErD,GAAM,CAACC,CAAAA,CAAOC,CAAQ,CAAIC,CAAAA,QAAAA,CAAS,IAC1BL,CAAAA,CAAQ,IAAI,CAACM,CAAAA,CAAMC,KAAW,CACnC,KAAA,CAAOD,EACP,OAASR,CAAAA,CAAAA,CAAM,CAAC,CAACG,EAAeM,CAAK,CAAA,CAAI,OAAO,UAAWD,CAAAA,CAAI,EAAE,OACnE,CAAA,CAAE,CACH,CAAA,CAED,OAAAE,SAAU,CAAA,IAAM,CACd,IAAMC,CAAAA,CAAM,OACZL,CACEJ,CAAAA,CAAAA,CAAQ,GAAIM,CAAAA,CAAAA,GAAS,CACnB,KAAOA,CAAAA,CAAAA,CACP,QAASG,CAAI,CAAA,UAAA,CAAWH,CAAI,CAAE,CAAA,OAChC,CAAE,CAAA,CACJ,EAEA,IAAMI,CAAAA,CAAMV,EAAQ,GAAIM,CAAAA,CAAAA,EAAQG,EAAI,UAAWH,CAAAA,CAAI,CAAC,CAAA,CAE9CK,EAAWC,CAA6B,EAAA,CAC5CR,EAASS,CACAA,EAAAA,CAAAA,CAAK,OAAQ,CAAA,GAAA,CAAIC,CAClBA,EAAAA,CAAAA,CAAK,QAAUF,CAAI,CAAA,KAAA,CAAc,CAAE,GAAGE,CAAAA,CAAM,QAASF,CAAI,CAAA,OAAQ,CAC9DE,CAAAA,CACR,CACF,EACH,CAAA,CAEA,OAAAJ,CAAI,CAAA,OAAA,CAAQJ,GAAQ,CAClBA,CAAAA,CAAK,gBAAiB,CAAA,QAAA,CAAUK,CAAO,EACzC,CAAC,EAEM,IAAM,CACXD,EAAI,OAAQJ,CAAAA,CAAAA,EAAQ,CAClBA,CAAAA,CAAK,oBAAoB,QAAUK,CAAAA,CAAO,EAC5C,CAAC,EACH,CAEF,CAAG,CAAA,CAAC,MAAM,CAAC,CAAA,CAEJR,EAAM,GAAIW,CAAAA,CAAAA,EAAQA,EAAK,OAAO,CACvC,EAEOC,CAAQpB,CAAAA","file":"chunk-HXT73NCV.mjs","sourcesContent":["import { useEffect, useState } from 'react';\n\nexport type UseMediaQueryOptions = {\n fallback?: boolean | boolean[];\n ssr?: boolean;\n};\n\nconst useMediaQuery = (query: string | string[], options: UseMediaQueryOptions = {}): boolean[] => {\n const { ssr = true, fallback } = options;\n\n const queries = Array.isArray(query) ? query : [query];\n\n let fallbackValues = Array.isArray(fallback) ? fallback : [fallback];\n fallbackValues = fallbackValues.filter(v => v != null) as boolean[];\n\n const [value, setValue] = useState(() => {\n return queries.map((data, index) => ({\n media: data,\n matches: ssr ? !!fallbackValues[index] : window.matchMedia(data).matches,\n }));\n });\n\n useEffect(() => {\n const win = window;\n setValue(\n queries.map(data => ({\n media: data,\n matches: win.matchMedia(data).matches,\n }))\n );\n\n const mql = queries.map(data => win.matchMedia(data));\n\n const handler = (evt: MediaQueryListEvent) => {\n setValue(prev => {\n return prev.slice().map(item => {\n if (item.media === evt.media) return { ...item, matches: evt.matches };\n return item;\n });\n });\n };\n\n mql.forEach(data => {\n data.addEventListener('change', handler);\n });\n\n return () => {\n mql.forEach(data => {\n data.removeEventListener('change', handler);\n });\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [window]);\n\n return value.map(item => item.matches);\n};\n\nexport default useMediaQuery;\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var p=({value:u,thousandSeparator:a=".",decimalLength:r,decimalSeparator:o=",",prefix:s=""})=>{let n=(f=>{let t=f.toString().split("."),m=t[0].replace(/\B(?=(\d{3})+(?!\d))/g,a),e="";return r!==undefined?t.length>1&&r>0?e=o+t[1].padEnd(r,"0").slice(0,r):r>0&&(e=o+"0".repeat(r)):t.length>1&&(e=o+t[1]),m+e})(u);return n.charAt(0)==="-"?n.replace(/^-/g,`-${s}`):`${s}${n}`},i=p;exports.a=i;//# sourceMappingURL=chunk-IX7NK5RI.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-IX7NK5RI.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/hooks/use-number-formatter/use-number-formatter.ts"],"names":["useNumberFormatter","value","thousandSeparator","decimalLength","decimalSeparator","prefix","formattedValue","number","parts","integerPart","decimalPart","use_number_formatter_default"],"mappings":"aAQMA,IAAAA,CAAAA,CAAqB,CAAC,CAC1B,KAAA,CAAAC,EACA,iBAAAC,CAAAA,CAAAA,CAAoB,GACpB,CAAA,aAAA,CAAAC,CACA,CAAA,gBAAA,CAAAC,EAAmB,GACnB,CAAA,MAAA,CAAAC,EAAS,EACX,CAAA,GAAoC,CAmBlC,IAAMC,CAAAA,CAAAA,CAlBgBC,CAAmB,EAAA,CACvC,IAAMC,CAAAA,CAAQD,EAAO,QAAS,EAAA,CAAE,MAAM,GAAG,CAAA,CACnCE,EAAcD,CAAM,CAAA,CAAC,CAAE,CAAA,OAAA,CAAQ,uBAAyBN,CAAAA,CAAiB,EAC3EQ,CAAc,CAAA,EAAA,CAElB,OAAIP,CAAkB,GAAA,SAAA,CAChBK,EAAM,MAAS,CAAA,CAAA,EAAKL,CAAgB,CAAA,CAAA,CACtCO,CAAcN,CAAAA,CAAAA,CAAmBI,EAAM,CAAC,CAAA,CAAE,OAAOL,CAAe,CAAA,GAAG,EAAE,KAAM,CAAA,CAAA,CAAGA,CAAa,CAAA,CAClFA,CAAgB,CAAA,CAAA,GACzBO,EAAcN,CAAmB,CAAA,GAAA,CAAI,OAAOD,CAAa,CAAA,CAAA,CAElDK,EAAM,MAAS,CAAA,CAAA,GACxBE,CAAcN,CAAAA,CAAAA,CAAmBI,CAAM,CAAA,CAAC,GAGnCC,CAAcC,CAAAA,CACvB,GAEoCT,CAAK,CAAA,CAEzC,OAAIK,CAAe,CAAA,MAAA,CAAO,CAAC,CAAA,GAAM,GACxBA,CAAAA,CAAAA,CAAe,QAAQ,KAAO,CAAA,CAAA,CAAA,EAAID,CAAM,CAAA,CAAE,CAG5C,CAAA,CAAA,EAAGA,CAAM,CAAGC,EAAAA,CAAc,CACnC,CAAA,CAAA,CAEOK,CAAQX,CAAAA","file":"chunk-IX7NK5RI.js","sourcesContent":["export interface NumberFormatterProps {\n value: number;\n thousandSeparator?: string;\n decimalLength?: number;\n decimalSeparator?: string;\n prefix?: string;\n}\n\nconst useNumberFormatter = ({\n value,\n thousandSeparator = '.',\n decimalLength,\n decimalSeparator = ',',\n prefix = '',\n}: NumberFormatterProps): string => {\n const formatNumber = (number: number) => {\n const parts = number.toString().split('.');\n const integerPart = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, thousandSeparator);\n let decimalPart = '';\n\n if (decimalLength !== undefined) {\n if (parts.length > 1 && decimalLength > 0) {\n decimalPart = decimalSeparator + parts[1].padEnd(decimalLength, '0').slice(0, decimalLength);\n } else if (decimalLength > 0) {\n decimalPart = decimalSeparator + '0'.repeat(decimalLength);\n }\n } else if (parts.length > 1) {\n decimalPart = decimalSeparator + parts[1];\n }\n\n return integerPart + decimalPart;\n };\n\n const formattedValue = formatNumber(value);\n\n if (formattedValue.charAt(0) === `-`) {\n return formattedValue.replace(/^-/g, `-${prefix}`);\n }\n\n return `${prefix}${formattedValue}`;\n};\n\nexport default useNumberFormatter;\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import m from'copy-to-clipboard';import {useState,useEffect,useCallback}from'react';var c=({value:t="",optionsOrTimeout:o={}}={})=>{let[r,i]=useState(false),[s,a]=useState(t);useEffect(()=>a(t),[t]);let{timeout:p=1500,...n}=typeof o=="number"?{timeout:o}:o,f=useCallback(()=>{let e=m(s,n);i(e);},[s,n]);return useEffect(()=>{let e=null;return r&&(e=window.setTimeout(()=>{i(false);},p)),()=>{e&&window.clearTimeout(e);}},[p,r]),{value:s,setValue:a,onCopy:f,hasCopied:r}},b=c;export{b as a};//# sourceMappingURL=chunk-J2L4VY5C.mjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-J2L4VY5C.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/hooks/use-clipboard/use-clipboard.ts"],"names":["useClipboard","value","optionsOrTimeout","hasCopied","setHasCopied","useState","valueState","setValueState","useEffect","timeout","copyOptions","onCopy","useCallback","didCopy","copy","timeoutId","use_clipboard_default"],"mappings":"oFAaMA,IAAAA,CAAAA,CAAe,CAAC,CAAE,KAAAC,CAAAA,CAAAA,CAAQ,EAAI,CAAA,gBAAA,CAAAC,CAAmB,CAAA,EAAG,CAAA,CAAuB,EAAC,GAAM,CACtF,GAAM,CAACC,CAAAA,CAAWC,CAAY,CAAIC,CAAAA,QAAAA,CAAS,KAAK,CAAA,CAE1C,CAACC,CAAAA,CAAYC,CAAa,CAAA,CAAIF,QAASJ,CAAAA,CAAK,CAClDO,CAAAA,SAAAA,CAAU,IAAMD,CAAAA,CAAcN,CAAK,CAAA,CAAG,CAACA,CAAK,CAAC,CAAA,CAE7C,GAAM,CAAE,OAAAQ,CAAAA,CAAAA,CAAU,IAAM,CAAA,GAAGC,CAAY,CAAA,CACrC,OAAOR,CAAAA,EAAqB,QAAW,CAAA,CAAE,QAASA,CAAiB,CAAA,CAAIA,CAEnES,CAAAA,CAAAA,CAASC,WAAY,CAAA,IAAM,CAC/B,IAAMC,CAAUC,CAAAA,CAAAA,CAAKR,CAAYI,CAAAA,CAAW,CAC5CN,CAAAA,CAAAA,CAAaS,CAAO,EACtB,CAAG,CAAA,CAACP,CAAYI,CAAAA,CAAW,CAAC,CAAA,CAE5B,OAAAF,SAAAA,CAAU,IAAM,CACd,IAAIO,CAAAA,CAA2B,IAE/B,CAAA,OAAIZ,CACFY,GAAAA,CAAAA,CAAY,OAAO,UAAW,CAAA,IAAM,CAClCX,CAAAA,CAAa,KAAK,EACpB,CAAGK,CAAAA,CAAO,CAGL,CAAA,CAAA,IAAM,CACPM,CAAAA,EACF,MAAO,CAAA,YAAA,CAAaA,CAAS,EAEjC,CACF,CAAG,CAAA,CAACN,CAASN,CAAAA,CAAS,CAAC,CAAA,CAEhB,CACL,KAAA,CAAOG,CACP,CAAA,QAAA,CAAUC,CACV,CAAA,MAAA,CAAAI,CACA,CAAA,SAAA,CAAAR,CACF,CACF,EAEOa,CAAQhB,CAAAA","file":"chunk-J2L4VY5C.mjs","sourcesContent":["import copy from 'copy-to-clipboard';\nimport { useCallback, useEffect, useState } from 'react';\n\nexport interface UseClipboardOptions {\n timeout?: number;\n format?: string;\n}\n\nexport interface UseClipboardProps {\n value?: string;\n optionsOrTimeout?: number | UseClipboardOptions;\n}\n\nconst useClipboard = ({ value = '', optionsOrTimeout = {} }: UseClipboardProps = {}) => {\n const [hasCopied, setHasCopied] = useState(false);\n\n const [valueState, setValueState] = useState(value);\n useEffect(() => setValueState(value), [value]);\n\n const { timeout = 1500, ...copyOptions } =\n typeof optionsOrTimeout === 'number' ? { timeout: optionsOrTimeout } : optionsOrTimeout;\n\n const onCopy = useCallback(() => {\n const didCopy = copy(valueState, copyOptions);\n setHasCopied(didCopy);\n }, [valueState, copyOptions]);\n\n useEffect(() => {\n let timeoutId: number | null = null;\n\n if (hasCopied) {\n timeoutId = window.setTimeout(() => {\n setHasCopied(false);\n }, timeout);\n }\n\n return () => {\n if (timeoutId) {\n window.clearTimeout(timeoutId);\n }\n };\n }, [timeout, hasCopied]);\n\n return {\n value: valueState,\n setValue: setValueState,\n onCopy,\n hasCopied,\n };\n};\n\nexport default useClipboard;\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var m=require('copy-to-clipboard'),react=require('react');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var m__default=/*#__PURE__*/_interopDefault(m);var c=({value:t="",optionsOrTimeout:o={}}={})=>{let[r,i]=react.useState(false),[s,a]=react.useState(t);react.useEffect(()=>a(t),[t]);let{timeout:p=1500,...n}=typeof o=="number"?{timeout:o}:o,f=react.useCallback(()=>{let e=m__default.default(s,n);i(e);},[s,n]);return react.useEffect(()=>{let e=null;return r&&(e=window.setTimeout(()=>{i(false);},p)),()=>{e&&window.clearTimeout(e);}},[p,r]),{value:s,setValue:a,onCopy:f,hasCopied:r}},b=c;exports.a=b;//# sourceMappingURL=chunk-KOCPH2DG.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-KOCPH2DG.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/hooks/use-clipboard/use-clipboard.ts"],"names":["useClipboard","value","optionsOrTimeout","hasCopied","setHasCopied","useState","valueState","setValueState","useEffect","timeout","copyOptions","onCopy","useCallback","didCopy","copy","timeoutId","use_clipboard_default"],"mappings":"uLAaMA,IAAAA,CAAAA,CAAe,CAAC,CAAE,KAAAC,CAAAA,CAAAA,CAAQ,EAAI,CAAA,gBAAA,CAAAC,CAAmB,CAAA,EAAG,CAAA,CAAuB,EAAC,GAAM,CACtF,GAAM,CAACC,CAAAA,CAAWC,CAAY,CAAIC,CAAAA,cAAAA,CAAS,KAAK,CAAA,CAE1C,CAACC,CAAAA,CAAYC,CAAa,CAAA,CAAIF,cAASJ,CAAAA,CAAK,CAClDO,CAAAA,eAAAA,CAAU,IAAMD,CAAAA,CAAcN,CAAK,CAAA,CAAG,CAACA,CAAK,CAAC,CAAA,CAE7C,GAAM,CAAE,OAAAQ,CAAAA,CAAAA,CAAU,IAAM,CAAA,GAAGC,CAAY,CAAA,CACrC,OAAOR,CAAAA,EAAqB,QAAW,CAAA,CAAE,QAASA,CAAiB,CAAA,CAAIA,CAEnES,CAAAA,CAAAA,CAASC,iBAAY,CAAA,IAAM,CAC/B,IAAMC,CAAUC,CAAAA,kBAAAA,CAAKR,CAAYI,CAAAA,CAAW,CAC5CN,CAAAA,CAAAA,CAAaS,CAAO,EACtB,CAAG,CAAA,CAACP,CAAYI,CAAAA,CAAW,CAAC,CAAA,CAE5B,OAAAF,eAAAA,CAAU,IAAM,CACd,IAAIO,CAAAA,CAA2B,IAE/B,CAAA,OAAIZ,CACFY,GAAAA,CAAAA,CAAY,OAAO,UAAW,CAAA,IAAM,CAClCX,CAAAA,CAAa,KAAK,EACpB,CAAGK,CAAAA,CAAO,CAGL,CAAA,CAAA,IAAM,CACPM,CAAAA,EACF,MAAO,CAAA,YAAA,CAAaA,CAAS,EAEjC,CACF,CAAG,CAAA,CAACN,CAASN,CAAAA,CAAS,CAAC,CAAA,CAEhB,CACL,KAAA,CAAOG,CACP,CAAA,QAAA,CAAUC,CACV,CAAA,MAAA,CAAAI,CACA,CAAA,SAAA,CAAAR,CACF,CACF,EAEOa,CAAQhB,CAAAA","file":"chunk-KOCPH2DG.js","sourcesContent":["import copy from 'copy-to-clipboard';\nimport { useCallback, useEffect, useState } from 'react';\n\nexport interface UseClipboardOptions {\n timeout?: number;\n format?: string;\n}\n\nexport interface UseClipboardProps {\n value?: string;\n optionsOrTimeout?: number | UseClipboardOptions;\n}\n\nconst useClipboard = ({ value = '', optionsOrTimeout = {} }: UseClipboardProps = {}) => {\n const [hasCopied, setHasCopied] = useState(false);\n\n const [valueState, setValueState] = useState(value);\n useEffect(() => setValueState(value), [value]);\n\n const { timeout = 1500, ...copyOptions } =\n typeof optionsOrTimeout === 'number' ? { timeout: optionsOrTimeout } : optionsOrTimeout;\n\n const onCopy = useCallback(() => {\n const didCopy = copy(valueState, copyOptions);\n setHasCopied(didCopy);\n }, [valueState, copyOptions]);\n\n useEffect(() => {\n let timeoutId: number | null = null;\n\n if (hasCopied) {\n timeoutId = window.setTimeout(() => {\n setHasCopied(false);\n }, timeout);\n }\n\n return () => {\n if (timeoutId) {\n window.clearTimeout(timeoutId);\n }\n };\n }, [timeout, hasCopied]);\n\n return {\n value: valueState,\n setValue: setValueState,\n onCopy,\n hasCopied,\n };\n};\n\nexport default useClipboard;\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var c=e=>e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE,r=e=>{var n;return c(e)&&(n=e.ownerDocument)!=null?n:document},i=(e,n)=>{var o;let t=e.target;return e.button>0||t&&!r(t).contains(t)?false:!((o=n.current)!=null&&o.contains(t))},s=()=>!!(typeof window!="undefined"&&window.document&&window.document.createElement),m=s();export{c as a,r as b,i as c,s as d,m as e};//# sourceMappingURL=chunk-M2YCT7CB.mjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-M2YCT7CB.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/dom.ts"],"names":["isElement","el","getOwnerDocument","node","_a","isValidEvent","event","ref","target","canUseDOM","isBrowser"],"mappings":"AAGA,IAAMA,CAAaC,CAAAA,CAAAA,EACVA,CAAM,EAAA,IAAA,EAAQ,OAAOA,CAAO,EAAA,QAAA,EAAY,UAAcA,GAAAA,CAAAA,EAAMA,EAAG,QAAa,GAAA,IAAA,CAAK,YAGpFC,CAAAA,CAAAA,CAAoBC,GAAoC,CAP9D,IAAAC,CAQE,CAAA,OAAOJ,EAAUG,CAAI,CAAA,EAAA,CAAKC,CAAAD,CAAAA,CAAAA,CAAK,gBAAL,IAAAC,CAAAA,CAAAA,CAAkC,QAC9D,CAAA,CAEMC,EAAe,CAACC,CAAAA,CAAYC,CAAgC,GAAA,CAXlE,IAAAH,CAYE,CAAA,IAAMI,CAASF,CAAAA,CAAAA,CAAM,OAGrB,OAFIA,CAAAA,CAAM,MAAS,CAAA,CAAA,EAEfE,GAEE,CADQN,CAAAA,CAAiBM,CAAM,CAAA,CAC1B,SAASA,CAAM,CAAA,CAAU,KAG7B,CAAA,EAAA,CAACJ,EAAAG,CAAI,CAAA,OAAA,GAAJ,IAAAH,EAAAA,CAAAA,CAAa,SAASI,CAChC,CAAA,CAAA,CAAA,CAEMC,CAAY,CAAA,IACT,CAAC,EAAE,OAAO,MAAW,EAAA,WAAA,EAAe,OAAO,QAAY,EAAA,MAAA,CAAO,QAAS,CAAA,aAAA,CAAA,CAG1EC,EAAYD,CAAU","file":"chunk-M2YCT7CB.mjs","sourcesContent":["import type { RefObject } from 'react';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\nconst isElement = (el: any): el is Element => {\n return el != null && typeof el === 'object' && 'nodeType' in el && el.nodeType === Node.ELEMENT_NODE;\n};\n\nconst getOwnerDocument = (node?: Element | null): Document => {\n return isElement(node) ? (node.ownerDocument ?? document) : document;\n};\n\nconst isValidEvent = (event: any, ref: RefObject<HTMLElement>) => {\n const target = event.target as HTMLElement;\n if (event.button > 0) return false;\n // if the event target is no longer in the document\n if (target) {\n const doc = getOwnerDocument(target);\n if (!doc.contains(target)) return false;\n }\n\n return !ref.current?.contains(target);\n};\n\nconst canUseDOM = (): boolean => {\n return !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n};\n\nconst isBrowser = canUseDOM();\n\nexport { canUseDOM, getOwnerDocument, isBrowser, isElement, isValidEvent };\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var chunkIX7NK5RI_js=require('./chunk-IX7NK5RI.js'),dateFns=require('date-fns'),locale=require('date-fns/locale');var w=(i=>(i.product="Product",i.order="Order",i.gift="Gift",i.freeShipping="Free Shipping",i.freeInsurance="Free Insurance",i.bundling="Bundling",i.payment="Payment",i.affiliate="Affiliate",i))(w||{}),O=(t=>(t.percentage="percentage",t.amount="amount",t))(O||{});function S(o){var d,i;let e="",{type:t,eligibilityType:n,payment:r}=o,s=(d=o.collections)!=null?d:[],p=(i=o.brands)!=null?i:[];if(t==="Product")s.length>0?e=`Voucher hanya berlaku untuk produk tertentu dari collection ${s.map(m=>m.name).join(", ")}.`:p.length>0?e=`Voucher hanya berlaku untuk produk tertentu dari brand ${p.map(m=>m.name).join(", ")}.`:n==="selected_products"&&(e="Hanya berlaku untuk produk tertentu.");else if(t==="Payment"){let{bankName:m,paymentMethod:u,creditBinGroup:c,debitBinGroup:y}=r||{},g=(u||[]).some(a=>(a||"").includes("(Full Payment)")),b=(u||[]).some(a=>(a||"").includes("(Cicilan 3x)")),T=(u||[]).some(a=>(a||"").includes("(Cicilan 6x)")),M=(u||[]).some(a=>(a||"").includes("(Cicilan 12x)")),f=(u||[]).some(a=>(a||"").includes("(Cicilan 18x)")),B=b||T||M||f,V=g||B,C=[...(u||[]).some(a=>(a||"").includes("Debit Card"))&&(y||[]).length>0?["Kartu Debit"]:[],...V&&(c||[]).length>0?["Kartu Kredit"]:[]],D="";if(V){let a=[...g?["sistem pembayaran penuh"]:[],...B?["sistem cicilan"]:[]],P=[...b?["3"]:[],...T?["6"]:[],...M?["12"]:[],...f?["18"]:[]],G=P.join(" dan ");if(P.length>2){let k=P.join(", "),$=k.lastIndexOf(","),I=k.slice(0,$),j=k.slice($+1,k.length);G=[I,j].join(", dan");}D=["dengan",a.join(" dan "),...B?[`(${G} bulan)`]:[]].join(" ");}C.length>0&&(e=`${["Voucher berlaku untuk pembayaran menggunakan",C.join(" dan "),m,D].filter(a=>(a||"").length>0).join(" ")}.`);}return e}function A(o){let{bankName:e,creditBinGroup:t,debitBinGroup:n}=o,r=(t||[]).join(", "),s=(n||[]).join(", ");return [...e&&r?[`Voucher berlaku untuk Kartu Kredit ${e} dengan Bank Identification Number (BIN): ${r}.`]:[],...e&&s?[`Voucher berlaku untuk Kartu Debit ${e} dengan Bank Identification Number (BIN): ${s}.`]:[]]}function F(o){let e="",{dateStart:t,dateEnd:n}=o;if(t&&n){let r=dateFns.format(new Date(t),"yyyy-MM-dd HH:mm"),s=dateFns.format(new Date(n),"yyyy-MM-dd HH:mm"),p=r.split(" "),d=p[0].split("-"),i=d[0],m=d[1],u=s.split(" "),c=u[0].split("-"),y=c[0],g=c[1];p[0]===u[0]?e=`Voucher hanya berlaku di tanggal ${dateFns.format(new Date(t),"d MMM yyyy",{locale:locale.id})}.`:i!==y?e=`Voucher berlaku dari ${dateFns.format(new Date(t),"d MMM yyyy",{locale:locale.id})} - ${dateFns.format(new Date(n),"d MMM yyyy",{locale:locale.id})}.`:i===y&&(m===g?e=`Voucher berlaku dari ${dateFns.format(new Date(t),"d",{locale:locale.id})} - ${dateFns.format(new Date(n),"d MMM yyyy",{locale:locale.id})}.`:e=`Voucher berlaku dari ${dateFns.format(new Date(t),"d MMM",{locale:locale.id})} - ${dateFns.format(new Date(n),"d MMM yyyy",{locale:locale.id})}.`);}else t&&(e=`Voucher berlaku dari ${dateFns.format(new Date(t),"d MMM yyyy",{locale:locale.id})}.`);return e}function N(o){let{isOneTimeUsage:e,isOneTimeUsagePerCard:t}=o;if(!e&&!t)return "";let n="";return e&&(n="Voucher hanya dapat digunakan 1x per member selama masa berlaku."),t&&(n="Voucher hanya dapat digunakan 1x per kartu selama masa berlaku."),e&&t&&(n="Voucher hanya dapat digunakan 1x transaksi untuk 1 kartu dan 1 member selama masa berlaku."),n}function U(o){let e="",{type:t,discountType:n,discountValue:r,isCheckedMaxFee:s,maxDiscountAmount:p,transactionTerms:d,termsMinTotalAmount:i,termsMinQty:m,limitFee:u}=o,c=f=>typeof f=="number"?f:Number.isNaN(Number(f))?0:Number(f),y=chunkIX7NK5RI_js.a({value:c(p),prefix:"Rp"}),g=chunkIX7NK5RI_js.a({value:c(r),prefix:"Rp"}),b=chunkIX7NK5RI_js.a({value:c(u),prefix:"Rp"}),T=chunkIX7NK5RI_js.a({value:c(i),prefix:"Rp"}),M=chunkIX7NK5RI_js.a({value:c(m)});switch(t==="Product"||t==="Order"||t==="Gift"||t==="Affiliate"||t==="Payment"?n==="percentage"&&t!=="Gift"?(e=`Diskon ${r||0}%`,s&&(e+=` (hingga ${y})`)):n==="amount"&&t!=="Gift"?e=`Potongan ${g}`:e=`Potongan ${b}`:t==="Free Shipping"?(e="Shipping fee ditanggung oleh voil\xE0.id",s&&(e+=` (hingga ${b})`)):t==="Free Insurance"&&(e="Insurance fee ditanggung oleh voil\xE0.id",s&&(e+=` (hingga ${b})`)),d){case 0:e+=" tanpa minimum pembelian.";break;case 1:e+=` dengan min. pembelian ${T}.`;break;case 2:e+=` dengan min. pembelian ${m?M:0} item.`;break;default:e+="";}return e}var E=o=>{if(o){let e=[],{dateEnd:t,dateStart:n,type:r,discountType:s,discountValue:p,isCheckedMaxFee:d,maxDiscountAmount:i,transactionTerms:m,termsMinTotalAmount:u,termsMinQty:c,limitFee:y,collections:g,brands:b,eligibilityType:T,isOneTimeUsage:M,quota:f,isOneTimeUsagePerCard:B,payment:V,isGiftCard:v}=o,{bankName:C="",creditBinGroup:D=[],debitBinGroup:a=[]}=V||{},P=F({dateStart:n,dateEnd:t}),G=S({type:r,collections:g,brands:b,eligibilityType:T,payment:V}),k=U({type:r,discountType:s,discountValue:p,isCheckedMaxFee:d,maxDiscountAmount:i,transactionTerms:m,termsMinTotalAmount:u,termsMinQty:c,limitFee:y}),$=N({isOneTimeUsage:M,isOneTimeUsagePerCard:B}),I=A({bankName:C,creditBinGroup:D,debitBinGroup:a});return P&&e.push(P),k&&e.push(k),r==="Affiliate"&&e.push("Voucher affiliate dapat digabungkan dengan tipe voucher lainnya."),G&&e.push(G),$&&e.push($),f>0&&e.push("Kuota voucher terbatas."),(I||[]).length>0&&e.push(...I),(r==="Order"||r==="Payment"||r==="Free Insurance"||r==="Gift"&&!v)&&e.push("Hanya berlaku untuk produk tertentu."),e}return []},L=E;exports.a=w;exports.b=O;exports.c=L;//# sourceMappingURL=chunk-N7Z7DA36.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-N7Z7DA36.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/hooks/use-voucher-tnc/use-voucher-tnc.types.ts","../src/hooks/use-voucher-tnc/get-applies-to.ts","../src/hooks/use-voucher-tnc/get-bank-bin.ts","../src/hooks/use-voucher-tnc/get-period.ts","../src/hooks/use-voucher-tnc/get-usage-limit.ts","../src/hooks/use-voucher-tnc/use-voucher-method-terms.ts","../src/hooks/use-voucher-tnc/use-voucher-tnc.ts"],"names":["VoucherType","DiscountType","getAppliesTo","args","_a","_b","appliesTo","type","eligibilityType","payment","collections","brands","value","bankName","paymentMethod","creditBinGroup","debitBinGroup","isFullPayment","pay","isInstallment3","isInstallment6","isInstallment12","isInstallment18","isInstallment","isCredit","debitAndCredit","txtCreditSystem","creditSystem","installments","replacedStrInstallment","strInstallment","lastCharIndex","left","right","txt","getBankBin","txtCreditBin","txtDebitBin","getPeriodText","period","dateStart","dateEnd","dateStartFormatter","format","dateEndFormatter","dateStartSplitTime","dateStartSplit","dateStartYear","dateStartMonth","dateEndSplitTime","dateEndSplit","dateEndYear","dateEndMonth","id","getVoucherUsageLimit","isOneTimeUsage","isOneTimeUsagePerCard","usageLimit","useVoucherMethodTerms","methodTerm","discountType","discountValue","isCheckedMaxFee","maxDiscountAmount","transactionTerms","termsMinTotalAmount","termsMinQty","limitFee","safeNumber","val","formattedMaxDiscount","use_number_formatter_default","formattedDiscountVal","formattedLimitFee","formattedMinTotalAmount","formattedMinTotalQty","useVoucherTnc","props","terms","quota","isGiftCard","methodTerms","bankBin","use_voucher_tnc_default"],"mappings":"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","file":"chunk-N7Z7DA36.js","sourcesContent":["export enum VoucherType {\n product = 'Product',\n order = 'Order',\n gift = 'Gift',\n freeShipping = 'Free Shipping',\n freeInsurance = 'Free Insurance',\n bundling = 'Bundling',\n payment = 'Payment',\n affiliate = 'Affiliate',\n}\n\nexport enum DiscountType {\n percentage = 'percentage',\n amount = 'amount',\n}\n\ntype CollectionType = {\n collectionId: number;\n name: string;\n};\n\ntype BrandType = {\n brandId: number;\n name: string;\n};\n\nexport type VoucherPaymentType = {\n bankId: number;\n bankName: string;\n paymentMethod: string[];\n bin: string[];\n creditBinGroup: string[];\n debitBinGroup: string[];\n};\n\nexport interface VoucherTncProps {\n type: string;\n discountType: string;\n discountValue: number | string;\n maxDiscountAmount: number | string;\n collections: CollectionType[];\n brands: BrandType[];\n eligibilityType: string | null;\n isCheckedMaxFee: boolean;\n limitFee: number | string;\n termsMinQty: number | string;\n termsMinTotalAmount: number | string;\n isOneTimeUsage: boolean;\n quota: number;\n transactionTerms: number;\n dateStart: string;\n dateEnd: string;\n isOneTimeUsagePerCard: boolean;\n payment: VoucherPaymentType | null;\n isGiftCard?: boolean;\n}\n\nexport type GetPeriodProps = Pick<VoucherTncProps, 'dateStart' | 'dateEnd'>;\nexport type GetAppliesToProps = Pick<\n VoucherTncProps,\n 'type' | 'brands' | 'collections' | 'eligibilityType' | 'payment'\n>;\nexport type GetMethodTermsProps = Pick<\n VoucherTncProps,\n | 'type'\n | 'discountType'\n | 'discountValue'\n | 'isCheckedMaxFee'\n | 'maxDiscountAmount'\n | 'transactionTerms'\n | 'termsMinTotalAmount'\n | 'termsMinQty'\n | 'limitFee'\n>;\nexport type GetUsageLimitProps = Pick<VoucherTncProps, 'isOneTimeUsage' | 'isOneTimeUsagePerCard'>;\nexport type GetBankBinProps = Pick<VoucherPaymentType, 'bankName' | 'creditBinGroup' | 'debitBinGroup'>;\n","import type { GetAppliesToProps } from './use-voucher-tnc.types';\nimport { VoucherType } from './use-voucher-tnc.types';\n\nexport default function getAppliesTo(args: GetAppliesToProps): string {\n let appliesTo = '';\n const { type, eligibilityType, payment } = args;\n\n const collections = args.collections ?? [];\n const brands = args.brands ?? [];\n\n if (type === VoucherType.product) {\n if (collections.length > 0) {\n appliesTo = `Voucher hanya berlaku untuk produk tertentu dari collection ${collections\n .map(value => value.name)\n .join(', ')}.`;\n } else if (brands.length > 0) {\n appliesTo = `Voucher hanya berlaku untuk produk tertentu dari brand ${brands\n .map(value => value.name)\n .join(', ')}.`;\n } else if (eligibilityType === 'selected_products') {\n appliesTo = `Hanya berlaku untuk produk tertentu.`;\n }\n } else if (type === VoucherType.payment) {\n const { bankName, paymentMethod, creditBinGroup, debitBinGroup } = payment || {};\n const isFullPayment = (paymentMethod || []).some(pay => (pay || '').includes('(Full Payment)'));\n const isInstallment3 = (paymentMethod || []).some(pay => (pay || '').includes('(Cicilan 3x)'));\n const isInstallment6 = (paymentMethod || []).some(pay => (pay || '').includes('(Cicilan 6x)'));\n const isInstallment12 = (paymentMethod || []).some(pay => (pay || '').includes('(Cicilan 12x)'));\n const isInstallment18 = (paymentMethod || []).some(pay => (pay || '').includes('(Cicilan 18x)'));\n const isInstallment = isInstallment3 || isInstallment6 || isInstallment12 || isInstallment18;\n const isCredit = isFullPayment || isInstallment;\n const isDebit = (paymentMethod || []).some(pay => (pay || '').includes('Debit Card'));\n const debitAndCredit = [\n ...(isDebit && (debitBinGroup || []).length > 0 ? ['Kartu Debit'] : []),\n ...(isCredit && (creditBinGroup || []).length > 0 ? ['Kartu Kredit'] : []),\n ];\n let txtCreditSystem = '';\n\n if (isCredit) {\n const creditSystem = [\n ...(isFullPayment ? ['sistem pembayaran penuh'] : []),\n ...(isInstallment ? ['sistem cicilan'] : []),\n ];\n const installments = [\n ...(isInstallment3 ? ['3'] : []),\n ...(isInstallment6 ? ['6'] : []),\n ...(isInstallment12 ? ['12'] : []),\n ...(isInstallment18 ? ['18'] : []),\n ];\n let replacedStrInstallment = installments.join(' dan ');\n\n if (installments.length > 2) {\n const strInstallment = installments.join(', ');\n const lastCharIndex = strInstallment.lastIndexOf(',');\n const left = strInstallment.slice(0, lastCharIndex);\n const right = strInstallment.slice(lastCharIndex + 1, strInstallment.length);\n\n replacedStrInstallment = [left, right].join(', dan');\n }\n\n txtCreditSystem = [\n 'dengan',\n creditSystem.join(' dan '),\n ...(isInstallment ? [`(${replacedStrInstallment} bulan)`] : []),\n ].join(' ');\n }\n\n if (debitAndCredit.length > 0) {\n appliesTo = `${[\n 'Voucher berlaku untuk pembayaran menggunakan',\n debitAndCredit.join(' dan '),\n bankName,\n txtCreditSystem,\n ]\n .filter(txt => (txt || '').length > 0)\n .join(' ')}.`;\n }\n }\n\n return appliesTo;\n}\n","import type { GetBankBinProps } from './use-voucher-tnc.types';\n\nexport default function getBankBin(args: GetBankBinProps): string[] {\n const { bankName, creditBinGroup, debitBinGroup } = args;\n const txtCreditBin = (creditBinGroup || []).join(', ');\n const txtDebitBin = (debitBinGroup || []).join(', ');\n\n return [\n ...(bankName && txtCreditBin\n ? [`Voucher berlaku untuk Kartu Kredit ${bankName} dengan Bank Identification Number (BIN): ${txtCreditBin}.`]\n : []),\n ...(bankName && txtDebitBin\n ? [`Voucher berlaku untuk Kartu Debit ${bankName} dengan Bank Identification Number (BIN): ${txtDebitBin}.`]\n : []),\n ];\n}\n","import { format } from 'date-fns';\nimport { id } from 'date-fns/locale';\n\nimport type { GetPeriodProps } from './use-voucher-tnc.types';\n\nexport default function getPeriodText(args: GetPeriodProps): string {\n let period = '';\n const { dateStart, dateEnd } = args;\n\n if (dateStart && dateEnd) {\n const dateStartFormatter = format(new Date(dateStart), 'yyyy-MM-dd HH:mm');\n const dateEndFormatter = format(new Date(dateEnd), 'yyyy-MM-dd HH:mm');\n\n const dateStartSplitTime = dateStartFormatter.split(' ');\n const dateStartSplit = dateStartSplitTime[0].split('-');\n const dateStartYear = dateStartSplit[0];\n const dateStartMonth = dateStartSplit[1];\n const dateEndSplitTime = dateEndFormatter.split(' ');\n const dateEndSplit = dateEndSplitTime[0].split('-');\n const dateEndYear = dateEndSplit[0];\n const dateEndMonth = dateEndSplit[1];\n\n if (dateStartSplitTime[0] === dateEndSplitTime[0]) {\n period = `Voucher hanya berlaku di tanggal ${format(new Date(dateStart), 'd MMM yyyy', { locale: id })}.`;\n } else if (dateStartYear !== dateEndYear) {\n period = `Voucher berlaku dari ${format(new Date(dateStart), 'd MMM yyyy', { locale: id })} - ${format(\n new Date(dateEnd),\n 'd MMM yyyy',\n { locale: id }\n )}.`;\n } else if (dateStartYear === dateEndYear) {\n if (dateStartMonth === dateEndMonth) {\n period = `Voucher berlaku dari ${format(new Date(dateStart), 'd', { locale: id })} - ${format(\n new Date(dateEnd),\n 'd MMM yyyy',\n {\n locale: id,\n }\n )}.`;\n } else {\n period = `Voucher berlaku dari ${format(new Date(dateStart), 'd MMM', { locale: id })} - ${format(\n new Date(dateEnd),\n 'd MMM yyyy',\n { locale: id }\n )}.`;\n }\n }\n } else if (dateStart) {\n period = `Voucher berlaku dari ${format(new Date(dateStart), 'd MMM yyyy', { locale: id })}.`;\n }\n\n return period;\n}\n","import type { GetUsageLimitProps } from './use-voucher-tnc.types';\n\nexport default function getVoucherUsageLimit(args: GetUsageLimitProps): string {\n const { isOneTimeUsage, isOneTimeUsagePerCard } = args;\n\n if (!isOneTimeUsage && !isOneTimeUsagePerCard) {\n return '';\n }\n\n let usageLimit = '';\n\n if (isOneTimeUsage) {\n usageLimit = 'Voucher hanya dapat digunakan 1x per member selama masa berlaku.';\n }\n\n if (isOneTimeUsagePerCard) {\n usageLimit = 'Voucher hanya dapat digunakan 1x per kartu selama masa berlaku.';\n }\n\n if (isOneTimeUsage && isOneTimeUsagePerCard) {\n usageLimit = 'Voucher hanya dapat digunakan 1x transaksi untuk 1 kartu dan 1 member selama masa berlaku.';\n }\n\n return usageLimit;\n}\n","import { useNumberFormatter } from '../use-number-formatter';\nimport type { GetMethodTermsProps } from './use-voucher-tnc.types';\nimport { DiscountType, VoucherType } from './use-voucher-tnc.types';\n\nexport default function useVoucherMethodTerms(args: GetMethodTermsProps) {\n let methodTerm = '';\n const {\n type,\n discountType,\n discountValue,\n isCheckedMaxFee,\n maxDiscountAmount,\n transactionTerms,\n termsMinTotalAmount,\n termsMinQty,\n limitFee,\n } = args;\n const safeNumber = (val: number | string): number => {\n if (typeof val === 'number') return val;\n\n return !Number.isNaN(Number(val)) ? Number(val) : 0;\n };\n const formattedMaxDiscount = useNumberFormatter({ value: safeNumber(maxDiscountAmount), prefix: 'Rp' });\n const formattedDiscountVal = useNumberFormatter({ value: safeNumber(discountValue), prefix: 'Rp' });\n const formattedLimitFee = useNumberFormatter({ value: safeNumber(limitFee), prefix: 'Rp' });\n const formattedMinTotalAmount = useNumberFormatter({ value: safeNumber(termsMinTotalAmount), prefix: 'Rp' });\n const formattedMinTotalQty = useNumberFormatter({ value: safeNumber(termsMinQty) });\n\n if (\n type === VoucherType.product ||\n type === VoucherType.order ||\n type === VoucherType.gift ||\n type === VoucherType.affiliate ||\n type === VoucherType.payment\n ) {\n if (discountType === DiscountType.percentage && type !== VoucherType.gift) {\n methodTerm = `Diskon ${discountValue || 0}%`;\n\n if (isCheckedMaxFee) {\n methodTerm += ` (hingga ${formattedMaxDiscount})`;\n }\n } else if (discountType === DiscountType.amount && type !== VoucherType.gift) {\n methodTerm = `Potongan ${formattedDiscountVal}`;\n } else {\n methodTerm = `Potongan ${formattedLimitFee}`;\n }\n } else if (type === VoucherType.freeShipping) {\n methodTerm = 'Shipping fee ditanggung oleh voilà.id';\n\n if (isCheckedMaxFee) {\n methodTerm += ` (hingga ${formattedLimitFee})`;\n }\n } else if (type === VoucherType.freeInsurance) {\n methodTerm = 'Insurance fee ditanggung oleh voilà.id';\n\n if (isCheckedMaxFee) {\n methodTerm += ` (hingga ${formattedLimitFee})`;\n }\n }\n\n switch (transactionTerms) {\n case 0:\n methodTerm += ' tanpa minimum pembelian.';\n break;\n case 1:\n methodTerm += ` dengan min. pembelian ${formattedMinTotalAmount}.`;\n break;\n case 2:\n methodTerm += ` dengan min. pembelian ${termsMinQty ? formattedMinTotalQty : 0} item.`;\n break;\n default:\n methodTerm += '';\n }\n\n return methodTerm;\n}\n","import getAppliesTo from './get-applies-to';\nimport getBankBin from './get-bank-bin';\nimport getPeriodText from './get-period';\nimport getVoucherUsageLimit from './get-usage-limit';\nimport getMethodTerms from './use-voucher-method-terms';\nimport type { VoucherTncProps } from './use-voucher-tnc.types';\nimport { VoucherType } from './use-voucher-tnc.types';\n\nconst useVoucherTnc = (props: VoucherTncProps | null): string[] => {\n if (props) {\n const terms = [];\n const {\n dateEnd,\n dateStart,\n type,\n discountType,\n discountValue,\n isCheckedMaxFee,\n maxDiscountAmount,\n transactionTerms,\n termsMinTotalAmount,\n termsMinQty,\n limitFee,\n collections,\n brands,\n eligibilityType,\n isOneTimeUsage,\n quota,\n isOneTimeUsagePerCard,\n payment,\n isGiftCard,\n } = props;\n const { bankName = '', creditBinGroup = [], debitBinGroup = [] } = payment || {};\n\n const period = getPeriodText({ dateStart, dateEnd });\n const appliesTo = getAppliesTo({ type, collections, brands, eligibilityType, payment });\n const methodTerms = getMethodTerms({\n type,\n discountType,\n discountValue,\n isCheckedMaxFee,\n maxDiscountAmount,\n transactionTerms,\n termsMinTotalAmount,\n termsMinQty,\n limitFee,\n });\n const usageLimit = getVoucherUsageLimit({ isOneTimeUsage, isOneTimeUsagePerCard });\n const bankBin = getBankBin({ bankName, creditBinGroup, debitBinGroup });\n\n if (period) terms.push(period);\n if (methodTerms) terms.push(methodTerms);\n if (type === VoucherType.affiliate) {\n terms.push('Voucher affiliate dapat digabungkan dengan tipe voucher lainnya.');\n }\n if (appliesTo) terms.push(appliesTo);\n if (usageLimit) terms.push(usageLimit);\n if (quota > 0) terms.push('Kuota voucher terbatas.');\n if ((bankBin || []).length > 0) terms.push(...bankBin);\n\n if (\n type === VoucherType.order ||\n type === VoucherType.payment ||\n type === VoucherType.freeInsurance ||\n (type === VoucherType.gift && !isGiftCard)\n ) {\n terms.push('Hanya berlaku untuk produk tertentu.');\n }\n\n return terms;\n }\n\n return [];\n};\n\nexport default useVoucherTnc;\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {useRef,useCallback,useEffect}from'react';var o=(t,r=[])=>{let e=useRef(t);return useEffect(()=>{e.current=t;}),useCallback((...s)=>{var n;return (n=e.current)==null?undefined:n.call(e,...s)},r)},c=o;export{c as a};//# sourceMappingURL=chunk-P7FXF4IE.mjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-P7FXF4IE.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/hooks/use-callback-ref/use-callback-ref.ts"],"names":["useCallbackRef","callback","deps","callbackRef","useRef","useEffect","useCallback","args","_a","use_callback_ref_default"],"mappings":"iDAIMA,IAAAA,CAAAA,CAAiB,CAAoCC,CAAAA,CAAyBC,EAAuB,EAAC,GAAM,CAChH,IAAMC,CAAAA,CAAcC,OAAOH,CAAQ,CAAA,CAEnC,OAAAI,SAAAA,CAAU,IAAM,CACdF,EAAY,OAAUF,CAAAA,EACxB,CAAC,CAGMK,CAAAA,WAAAA,CAAa,IAAIC,CAAW,GAAA,CAZrC,IAAAC,CAAAA,CAYwC,OAAAA,CAAAA,CAAAA,CAAAL,EAAY,OAAZ,GAAA,IAAA,CAAA,SAAA,CAAAK,EAAA,IAAAL,CAAAA,CAAAA,CAAsB,GAAGI,CAAaL,CAAAA,CAAAA,CAAAA,CAAI,CAClF,CAAA,CAEOO,CAAQT,CAAAA","file":"chunk-P7FXF4IE.mjs","sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { DependencyList } from 'react';\nimport { useCallback, useEffect, useRef } from 'react';\n\nconst useCallbackRef = <T extends (...args: any[]) => any>(callback: T | undefined, deps: DependencyList = []) => {\n const callbackRef = useRef(callback);\n\n useEffect(() => {\n callbackRef.current = callback;\n });\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return useCallback(((...args: any) => callbackRef.current?.(...args)) as T, deps);\n};\n\nexport default useCallbackRef;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"chunk-Q2LVN3QY.js"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {useState,useEffect}from'react';var s=()=>{let[n,t]=useState(navigator.onLine);return useEffect(()=>{let e=()=>t(navigator.onLine);return window.addEventListener("online",e),window.addEventListener("offline",e),()=>{window.removeEventListener("online",e),window.removeEventListener("offline",e);}},[]),{isOnline:n,isOffline:!n}},r=s;export{r as a};//# sourceMappingURL=chunk-QAXXZNJX.mjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-QAXXZNJX.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/hooks/use-online-status/use-online-status.ts"],"names":["useOnlineStatus","isOnline","setIsOnline","useState","useEffect","handleEvent","use_online_status_default"],"mappings":"uCAEA,IAAMA,CAAkB,CAAA,IAAM,CAC5B,GAAM,CAACC,CAAAA,CAAUC,CAAW,CAAIC,CAAAA,QAAAA,CAAS,SAAU,CAAA,MAAM,CAEzD,CAAA,OAAAC,SAAU,CAAA,IAAM,CACd,IAAMC,CAAc,CAAA,IAAMH,CAAY,CAAA,SAAA,CAAU,MAAM,CAAA,CAEtD,cAAO,gBAAiB,CAAA,QAAA,CAAUG,CAAW,CAAA,CAC7C,MAAO,CAAA,gBAAA,CAAiB,SAAWA,CAAAA,CAAW,CACvC,CAAA,IAAM,CACX,MAAA,CAAO,mBAAoB,CAAA,QAAA,CAAUA,CAAW,CAAA,CAChD,OAAO,mBAAoB,CAAA,SAAA,CAAWA,CAAW,EACnD,CACF,CAAA,CAAG,EAAE,CAEE,CAAA,CAAE,QAAAJ,CAAAA,CAAAA,CAAU,SAAW,CAAA,CAACA,CAAS,CAC1C,EAEOK,CAAQN,CAAAA","file":"chunk-QAXXZNJX.mjs","sourcesContent":["import { useEffect, useState } from 'react';\n\nconst useOnlineStatus = () => {\n const [isOnline, setIsOnline] = useState(navigator.onLine);\n\n useEffect(() => {\n const handleEvent = () => setIsOnline(navigator.onLine);\n\n window.addEventListener('online', handleEvent);\n window.addEventListener('offline', handleEvent);\n return () => {\n window.removeEventListener('online', handleEvent);\n window.removeEventListener('offline', handleEvent);\n };\n }, []);\n\n return { isOnline, isOffline: !isOnline };\n};\n\nexport default useOnlineStatus;\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var c=e=>e!=null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE,r=e=>{var n;return c(e)&&(n=e.ownerDocument)!=null?n:document},i=(e,n)=>{var o;let t=e.target;return e.button>0||t&&!r(t).contains(t)?false:!((o=n.current)!=null&&o.contains(t))},s=()=>!!(typeof window!="undefined"&&window.document&&window.document.createElement),m=s();exports.a=c;exports.b=r;exports.c=i;exports.d=s;exports.e=m;//# sourceMappingURL=chunk-RATGBP35.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-RATGBP35.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/dom.ts"],"names":["isElement","el","getOwnerDocument","node","_a","isValidEvent","event","ref","target","canUseDOM","isBrowser"],"mappings":"aAGA,IAAMA,CAAaC,CAAAA,CAAAA,EACVA,CAAM,EAAA,IAAA,EAAQ,OAAOA,CAAO,EAAA,QAAA,EAAY,UAAcA,GAAAA,CAAAA,EAAMA,EAAG,QAAa,GAAA,IAAA,CAAK,YAGpFC,CAAAA,CAAAA,CAAoBC,GAAoC,CAP9D,IAAAC,CAQE,CAAA,OAAOJ,EAAUG,CAAI,CAAA,EAAA,CAAKC,CAAAD,CAAAA,CAAAA,CAAK,gBAAL,IAAAC,CAAAA,CAAAA,CAAkC,QAC9D,CAAA,CAEMC,EAAe,CAACC,CAAAA,CAAYC,CAAgC,GAAA,CAXlE,IAAAH,CAYE,CAAA,IAAMI,CAASF,CAAAA,CAAAA,CAAM,OAGrB,OAFIA,CAAAA,CAAM,MAAS,CAAA,CAAA,EAEfE,GAEE,CADQN,CAAAA,CAAiBM,CAAM,CAAA,CAC1B,SAASA,CAAM,CAAA,CAAU,KAG7B,CAAA,EAAA,CAACJ,EAAAG,CAAI,CAAA,OAAA,GAAJ,IAAAH,EAAAA,CAAAA,CAAa,SAASI,CAChC,CAAA,CAAA,CAAA,CAEMC,CAAY,CAAA,IACT,CAAC,EAAE,OAAO,MAAW,EAAA,WAAA,EAAe,OAAO,QAAY,EAAA,MAAA,CAAO,QAAS,CAAA,aAAA,CAAA,CAG1EC,EAAYD,CAAU","file":"chunk-RATGBP35.js","sourcesContent":["import type { RefObject } from 'react';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\nconst isElement = (el: any): el is Element => {\n return el != null && typeof el === 'object' && 'nodeType' in el && el.nodeType === Node.ELEMENT_NODE;\n};\n\nconst getOwnerDocument = (node?: Element | null): Document => {\n return isElement(node) ? (node.ownerDocument ?? document) : document;\n};\n\nconst isValidEvent = (event: any, ref: RefObject<HTMLElement>) => {\n const target = event.target as HTMLElement;\n if (event.button > 0) return false;\n // if the event target is no longer in the document\n if (target) {\n const doc = getOwnerDocument(target);\n if (!doc.contains(target)) return false;\n }\n\n return !ref.current?.contains(target);\n};\n\nconst canUseDOM = (): boolean => {\n return !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n};\n\nconst isBrowser = canUseDOM();\n\nexport { canUseDOM, getOwnerDocument, isBrowser, isElement, isValidEvent };\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {a}from'./chunk-P7FXF4IE.mjs';import {useState,useId,useCallback}from'react';var x=({onClose:m,onOpen:T,isOpen:r,defaultIsOpen:H,id:u}={})=>{let[L,a$1]=useState(H||false),e=r!==undefined?r:L,t=r!==undefined,M=useId(),f=u!=null?u:`disclosure-${M}`,o=a(T),n=a(m),i=useCallback(()=>{t||a$1(false),n==null||n();},[t,n]),c=useCallback(()=>{t||a$1(true),o==null||o();},[t,o]),d=useCallback(()=>{e?i():c();},[e,c,i]);return {onClose:i,onOpen:c,onToggle:d,getButtonProps:({onClick:s,...g}={})=>({...g,"aria-expanded":e,"aria-controls":f,onClick(O){s==null||s(O),d();}}),getDisclosureProps:({...s}={})=>({...s,hidden:!e,id:f}),isOpen:e}},P=x;export{P as a};//# sourceMappingURL=chunk-T3V567AP.mjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-T3V567AP.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/hooks/use-disclosure/use-disclosure.ts"],"names":["useDisclosure","onCloseProp","onOpenProp","isOpenProp","defaultIsOpenProp","idProp","isOpenState","setIsOpenState","useState","isOpen","isControlled","uid","useId","id","handleOpen","use_callback_ref_default","handleClose","onClose","useCallback","onOpen","onToggle","onClick","rest","event","use_disclosure_default"],"mappings":"oFAeA,IAAMA,CAAgB,CAAA,CAAC,CACrB,OAASC,CAAAA,CAAAA,CACT,OAAQC,CACR,CAAA,MAAA,CAAQC,EACR,aAAeC,CAAAA,CAAAA,CACf,EAAIC,CAAAA,CACN,EAAwB,EAAC,GAAM,CAC7B,GAAM,CAACC,CAAaC,CAAAA,GAAc,CAAIC,CAAAA,QAAAA,CAASJ,GAAqB,KAAK,CAAA,CACnEK,EAASN,CAAe,GAAA,SAAA,CAAYA,EAAaG,CACjDI,CAAAA,CAAAA,CAAeP,CAAe,GAAA,SAAA,CAC9BQ,EAAMC,KAAM,EAAA,CACZC,CAAKR,CAAAA,CAAAA,EAAA,KAAAA,CAAU,CAAA,CAAA,WAAA,EAAcM,CAAG,CAAA,CAAA,CAEhCG,EAAaC,CAAeb,CAAAA,CAAU,EACtCc,CAAcD,CAAAA,CAAAA,CAAed,CAAW,CAExCgB,CAAAA,CAAAA,CAAUC,WAAY,CAAA,IAAM,CAC3BR,CACHH,EAAAA,GAAAA,CAAe,KAAK,CAEtBS,CAAAA,CAAAA,EAAA,MAAAA,CACF,GAAA,CAAA,CAAG,CAACN,CAAAA,CAAcM,CAAW,CAAC,CAAA,CAExBG,EAASD,WAAY,CAAA,IAAM,CAC1BR,CACHH,EAAAA,GAAAA,CAAe,IAAI,CAAA,CAErBO,GAAA,IAAAA,EAAAA,CAAAA,GACF,CAAG,CAAA,CAACJ,EAAcI,CAAU,CAAC,CAEvBM,CAAAA,CAAAA,CAAWF,YAAY,IAAM,CAC7BT,EACFQ,CAAQ,EAAA,CAERE,IAEJ,CAAA,CAAG,CAACV,CAAAA,CAAQU,EAAQF,CAAO,CAAC,EAsB5B,OAAO,CACL,QAAAA,CACA,CAAA,MAAA,CAAAE,CACA,CAAA,QAAA,CAAAC,EACA,cAxBqB,CAAA,CAAC,CAAE,OAAAC,CAAAA,CAAAA,CAAS,GAAGC,CAAK,CAAA,CAAe,EAAC,IAClD,CACL,GAAGA,CAAAA,CACH,eAAiBb,CAAAA,CAAAA,CACjB,gBAAiBI,CACjB,CAAA,OAAA,CAAQU,CAAO,CAAA,CACbF,GAAA,IAAAA,EAAAA,CAAAA,CAAUE,GACVH,CAAS,GACX,CACF,CAgBA,CAAA,CAAA,kBAAA,CAbyB,CAAC,CAAE,GAAGE,CAAK,CAAA,CAAe,EAC5C,IAAA,CACL,GAAGA,CACH,CAAA,MAAA,CAAQ,CAACb,CAAAA,CACT,GAAAI,CACF,CAAA,CAAA,CASA,OAAAJ,CACF,CACF,EAEOe,CAAQxB,CAAAA","file":"chunk-T3V567AP.mjs","sourcesContent":["import type { HTMLAttributes } from 'react';\nimport { useCallback, useId, useState } from 'react';\n\nimport { useCallbackRef } from '../use-callback-ref';\n\nexport interface UseDisclosureProps {\n isOpen?: boolean;\n defaultIsOpen?: boolean;\n onClose?(): void;\n onOpen?(): void;\n id?: string;\n}\n\ntype HTMLProps = HTMLAttributes<HTMLElement>;\n\nconst useDisclosure = ({\n onClose: onCloseProp,\n onOpen: onOpenProp,\n isOpen: isOpenProp,\n defaultIsOpen: defaultIsOpenProp,\n id: idProp,\n}: UseDisclosureProps = {}) => {\n const [isOpenState, setIsOpenState] = useState(defaultIsOpenProp || false);\n const isOpen = isOpenProp !== undefined ? isOpenProp : isOpenState;\n const isControlled = isOpenProp !== undefined;\n const uid = useId();\n const id = idProp ?? `disclosure-${uid}`;\n\n const handleOpen = useCallbackRef(onOpenProp);\n const handleClose = useCallbackRef(onCloseProp);\n\n const onClose = useCallback(() => {\n if (!isControlled) {\n setIsOpenState(false);\n }\n handleClose?.();\n }, [isControlled, handleClose]);\n\n const onOpen = useCallback(() => {\n if (!isControlled) {\n setIsOpenState(true);\n }\n handleOpen?.();\n }, [isControlled, handleOpen]);\n\n const onToggle = useCallback(() => {\n if (isOpen) {\n onClose();\n } else {\n onOpen();\n }\n }, [isOpen, onOpen, onClose]);\n\n const getButtonProps = ({ onClick, ...rest }: HTMLProps = {}): HTMLProps => {\n return {\n ...rest,\n 'aria-expanded': isOpen,\n 'aria-controls': id,\n onClick(event) {\n onClick?.(event);\n onToggle();\n },\n };\n };\n\n const getDisclosureProps = ({ ...rest }: HTMLProps = {}): HTMLProps => {\n return {\n ...rest,\n hidden: !isOpen,\n id,\n };\n };\n\n return {\n onClose,\n onOpen,\n onToggle,\n getButtonProps,\n getDisclosureProps,\n isOpen,\n };\n};\n\nexport default useDisclosure;\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {a}from'./chunk-AKPPANNV.mjs';import {format}from'date-fns';import {id}from'date-fns/locale';var w=(i=>(i.product="Product",i.order="Order",i.gift="Gift",i.freeShipping="Free Shipping",i.freeInsurance="Free Insurance",i.bundling="Bundling",i.payment="Payment",i.affiliate="Affiliate",i))(w||{}),O=(t=>(t.percentage="percentage",t.amount="amount",t))(O||{});function S(o){var d,i;let e="",{type:t,eligibilityType:n,payment:r}=o,s=(d=o.collections)!=null?d:[],p=(i=o.brands)!=null?i:[];if(t==="Product")s.length>0?e=`Voucher hanya berlaku untuk produk tertentu dari collection ${s.map(m=>m.name).join(", ")}.`:p.length>0?e=`Voucher hanya berlaku untuk produk tertentu dari brand ${p.map(m=>m.name).join(", ")}.`:n==="selected_products"&&(e="Hanya berlaku untuk produk tertentu.");else if(t==="Payment"){let{bankName:m,paymentMethod:u,creditBinGroup:c,debitBinGroup:y}=r||{},g=(u||[]).some(a=>(a||"").includes("(Full Payment)")),b=(u||[]).some(a=>(a||"").includes("(Cicilan 3x)")),T=(u||[]).some(a=>(a||"").includes("(Cicilan 6x)")),M=(u||[]).some(a=>(a||"").includes("(Cicilan 12x)")),f=(u||[]).some(a=>(a||"").includes("(Cicilan 18x)")),B=b||T||M||f,V=g||B,C=[...(u||[]).some(a=>(a||"").includes("Debit Card"))&&(y||[]).length>0?["Kartu Debit"]:[],...V&&(c||[]).length>0?["Kartu Kredit"]:[]],D="";if(V){let a=[...g?["sistem pembayaran penuh"]:[],...B?["sistem cicilan"]:[]],P=[...b?["3"]:[],...T?["6"]:[],...M?["12"]:[],...f?["18"]:[]],G=P.join(" dan ");if(P.length>2){let k=P.join(", "),$=k.lastIndexOf(","),I=k.slice(0,$),j=k.slice($+1,k.length);G=[I,j].join(", dan");}D=["dengan",a.join(" dan "),...B?[`(${G} bulan)`]:[]].join(" ");}C.length>0&&(e=`${["Voucher berlaku untuk pembayaran menggunakan",C.join(" dan "),m,D].filter(a=>(a||"").length>0).join(" ")}.`);}return e}function A(o){let{bankName:e,creditBinGroup:t,debitBinGroup:n}=o,r=(t||[]).join(", "),s=(n||[]).join(", ");return [...e&&r?[`Voucher berlaku untuk Kartu Kredit ${e} dengan Bank Identification Number (BIN): ${r}.`]:[],...e&&s?[`Voucher berlaku untuk Kartu Debit ${e} dengan Bank Identification Number (BIN): ${s}.`]:[]]}function F(o){let e="",{dateStart:t,dateEnd:n}=o;if(t&&n){let r=format(new Date(t),"yyyy-MM-dd HH:mm"),s=format(new Date(n),"yyyy-MM-dd HH:mm"),p=r.split(" "),d=p[0].split("-"),i=d[0],m=d[1],u=s.split(" "),c=u[0].split("-"),y=c[0],g=c[1];p[0]===u[0]?e=`Voucher hanya berlaku di tanggal ${format(new Date(t),"d MMM yyyy",{locale:id})}.`:i!==y?e=`Voucher berlaku dari ${format(new Date(t),"d MMM yyyy",{locale:id})} - ${format(new Date(n),"d MMM yyyy",{locale:id})}.`:i===y&&(m===g?e=`Voucher berlaku dari ${format(new Date(t),"d",{locale:id})} - ${format(new Date(n),"d MMM yyyy",{locale:id})}.`:e=`Voucher berlaku dari ${format(new Date(t),"d MMM",{locale:id})} - ${format(new Date(n),"d MMM yyyy",{locale:id})}.`);}else t&&(e=`Voucher berlaku dari ${format(new Date(t),"d MMM yyyy",{locale:id})}.`);return e}function N(o){let{isOneTimeUsage:e,isOneTimeUsagePerCard:t}=o;if(!e&&!t)return "";let n="";return e&&(n="Voucher hanya dapat digunakan 1x per member selama masa berlaku."),t&&(n="Voucher hanya dapat digunakan 1x per kartu selama masa berlaku."),e&&t&&(n="Voucher hanya dapat digunakan 1x transaksi untuk 1 kartu dan 1 member selama masa berlaku."),n}function U(o){let e="",{type:t,discountType:n,discountValue:r,isCheckedMaxFee:s,maxDiscountAmount:p,transactionTerms:d,termsMinTotalAmount:i,termsMinQty:m,limitFee:u}=o,c=f=>typeof f=="number"?f:Number.isNaN(Number(f))?0:Number(f),y=a({value:c(p),prefix:"Rp"}),g=a({value:c(r),prefix:"Rp"}),b=a({value:c(u),prefix:"Rp"}),T=a({value:c(i),prefix:"Rp"}),M=a({value:c(m)});switch(t==="Product"||t==="Order"||t==="Gift"||t==="Affiliate"||t==="Payment"?n==="percentage"&&t!=="Gift"?(e=`Diskon ${r||0}%`,s&&(e+=` (hingga ${y})`)):n==="amount"&&t!=="Gift"?e=`Potongan ${g}`:e=`Potongan ${b}`:t==="Free Shipping"?(e="Shipping fee ditanggung oleh voil\xE0.id",s&&(e+=` (hingga ${b})`)):t==="Free Insurance"&&(e="Insurance fee ditanggung oleh voil\xE0.id",s&&(e+=` (hingga ${b})`)),d){case 0:e+=" tanpa minimum pembelian.";break;case 1:e+=` dengan min. pembelian ${T}.`;break;case 2:e+=` dengan min. pembelian ${m?M:0} item.`;break;default:e+="";}return e}var E=o=>{if(o){let e=[],{dateEnd:t,dateStart:n,type:r,discountType:s,discountValue:p,isCheckedMaxFee:d,maxDiscountAmount:i,transactionTerms:m,termsMinTotalAmount:u,termsMinQty:c,limitFee:y,collections:g,brands:b,eligibilityType:T,isOneTimeUsage:M,quota:f,isOneTimeUsagePerCard:B,payment:V,isGiftCard:v}=o,{bankName:C="",creditBinGroup:D=[],debitBinGroup:a=[]}=V||{},P=F({dateStart:n,dateEnd:t}),G=S({type:r,collections:g,brands:b,eligibilityType:T,payment:V}),k=U({type:r,discountType:s,discountValue:p,isCheckedMaxFee:d,maxDiscountAmount:i,transactionTerms:m,termsMinTotalAmount:u,termsMinQty:c,limitFee:y}),$=N({isOneTimeUsage:M,isOneTimeUsagePerCard:B}),I=A({bankName:C,creditBinGroup:D,debitBinGroup:a});return P&&e.push(P),k&&e.push(k),r==="Affiliate"&&e.push("Voucher affiliate dapat digabungkan dengan tipe voucher lainnya."),G&&e.push(G),$&&e.push($),f>0&&e.push("Kuota voucher terbatas."),(I||[]).length>0&&e.push(...I),(r==="Order"||r==="Payment"||r==="Free Insurance"||r==="Gift"&&!v)&&e.push("Hanya berlaku untuk produk tertentu."),e}return []},L=E;export{w as a,O as b,L as c};//# sourceMappingURL=chunk-THVM4Z3S.mjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-THVM4Z3S.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/hooks/use-voucher-tnc/use-voucher-tnc.types.ts","../src/hooks/use-voucher-tnc/get-applies-to.ts","../src/hooks/use-voucher-tnc/get-bank-bin.ts","../src/hooks/use-voucher-tnc/get-period.ts","../src/hooks/use-voucher-tnc/get-usage-limit.ts","../src/hooks/use-voucher-tnc/use-voucher-method-terms.ts","../src/hooks/use-voucher-tnc/use-voucher-tnc.ts"],"names":["VoucherType","DiscountType","getAppliesTo","args","_a","_b","appliesTo","type","eligibilityType","payment","collections","brands","value","bankName","paymentMethod","creditBinGroup","debitBinGroup","isFullPayment","pay","isInstallment3","isInstallment6","isInstallment12","isInstallment18","isInstallment","isCredit","debitAndCredit","txtCreditSystem","creditSystem","installments","replacedStrInstallment","strInstallment","lastCharIndex","left","right","txt","getBankBin","txtCreditBin","txtDebitBin","getPeriodText","period","dateStart","dateEnd","dateStartFormatter","format","dateEndFormatter","dateStartSplitTime","dateStartSplit","dateStartYear","dateStartMonth","dateEndSplitTime","dateEndSplit","dateEndYear","dateEndMonth","id","getVoucherUsageLimit","isOneTimeUsage","isOneTimeUsagePerCard","usageLimit","useVoucherMethodTerms","methodTerm","discountType","discountValue","isCheckedMaxFee","maxDiscountAmount","transactionTerms","termsMinTotalAmount","termsMinQty","limitFee","safeNumber","val","formattedMaxDiscount","use_number_formatter_default","formattedDiscountVal","formattedLimitFee","formattedMinTotalAmount","formattedMinTotalQty","useVoucherTnc","props","terms","quota","isGiftCard","methodTerms","bankBin","use_voucher_tnc_default"],"mappings":"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","file":"chunk-THVM4Z3S.mjs","sourcesContent":["export enum VoucherType {\n product = 'Product',\n order = 'Order',\n gift = 'Gift',\n freeShipping = 'Free Shipping',\n freeInsurance = 'Free Insurance',\n bundling = 'Bundling',\n payment = 'Payment',\n affiliate = 'Affiliate',\n}\n\nexport enum DiscountType {\n percentage = 'percentage',\n amount = 'amount',\n}\n\ntype CollectionType = {\n collectionId: number;\n name: string;\n};\n\ntype BrandType = {\n brandId: number;\n name: string;\n};\n\nexport type VoucherPaymentType = {\n bankId: number;\n bankName: string;\n paymentMethod: string[];\n bin: string[];\n creditBinGroup: string[];\n debitBinGroup: string[];\n};\n\nexport interface VoucherTncProps {\n type: string;\n discountType: string;\n discountValue: number | string;\n maxDiscountAmount: number | string;\n collections: CollectionType[];\n brands: BrandType[];\n eligibilityType: string | null;\n isCheckedMaxFee: boolean;\n limitFee: number | string;\n termsMinQty: number | string;\n termsMinTotalAmount: number | string;\n isOneTimeUsage: boolean;\n quota: number;\n transactionTerms: number;\n dateStart: string;\n dateEnd: string;\n isOneTimeUsagePerCard: boolean;\n payment: VoucherPaymentType | null;\n isGiftCard?: boolean;\n}\n\nexport type GetPeriodProps = Pick<VoucherTncProps, 'dateStart' | 'dateEnd'>;\nexport type GetAppliesToProps = Pick<\n VoucherTncProps,\n 'type' | 'brands' | 'collections' | 'eligibilityType' | 'payment'\n>;\nexport type GetMethodTermsProps = Pick<\n VoucherTncProps,\n | 'type'\n | 'discountType'\n | 'discountValue'\n | 'isCheckedMaxFee'\n | 'maxDiscountAmount'\n | 'transactionTerms'\n | 'termsMinTotalAmount'\n | 'termsMinQty'\n | 'limitFee'\n>;\nexport type GetUsageLimitProps = Pick<VoucherTncProps, 'isOneTimeUsage' | 'isOneTimeUsagePerCard'>;\nexport type GetBankBinProps = Pick<VoucherPaymentType, 'bankName' | 'creditBinGroup' | 'debitBinGroup'>;\n","import type { GetAppliesToProps } from './use-voucher-tnc.types';\nimport { VoucherType } from './use-voucher-tnc.types';\n\nexport default function getAppliesTo(args: GetAppliesToProps): string {\n let appliesTo = '';\n const { type, eligibilityType, payment } = args;\n\n const collections = args.collections ?? [];\n const brands = args.brands ?? [];\n\n if (type === VoucherType.product) {\n if (collections.length > 0) {\n appliesTo = `Voucher hanya berlaku untuk produk tertentu dari collection ${collections\n .map(value => value.name)\n .join(', ')}.`;\n } else if (brands.length > 0) {\n appliesTo = `Voucher hanya berlaku untuk produk tertentu dari brand ${brands\n .map(value => value.name)\n .join(', ')}.`;\n } else if (eligibilityType === 'selected_products') {\n appliesTo = `Hanya berlaku untuk produk tertentu.`;\n }\n } else if (type === VoucherType.payment) {\n const { bankName, paymentMethod, creditBinGroup, debitBinGroup } = payment || {};\n const isFullPayment = (paymentMethod || []).some(pay => (pay || '').includes('(Full Payment)'));\n const isInstallment3 = (paymentMethod || []).some(pay => (pay || '').includes('(Cicilan 3x)'));\n const isInstallment6 = (paymentMethod || []).some(pay => (pay || '').includes('(Cicilan 6x)'));\n const isInstallment12 = (paymentMethod || []).some(pay => (pay || '').includes('(Cicilan 12x)'));\n const isInstallment18 = (paymentMethod || []).some(pay => (pay || '').includes('(Cicilan 18x)'));\n const isInstallment = isInstallment3 || isInstallment6 || isInstallment12 || isInstallment18;\n const isCredit = isFullPayment || isInstallment;\n const isDebit = (paymentMethod || []).some(pay => (pay || '').includes('Debit Card'));\n const debitAndCredit = [\n ...(isDebit && (debitBinGroup || []).length > 0 ? ['Kartu Debit'] : []),\n ...(isCredit && (creditBinGroup || []).length > 0 ? ['Kartu Kredit'] : []),\n ];\n let txtCreditSystem = '';\n\n if (isCredit) {\n const creditSystem = [\n ...(isFullPayment ? ['sistem pembayaran penuh'] : []),\n ...(isInstallment ? ['sistem cicilan'] : []),\n ];\n const installments = [\n ...(isInstallment3 ? ['3'] : []),\n ...(isInstallment6 ? ['6'] : []),\n ...(isInstallment12 ? ['12'] : []),\n ...(isInstallment18 ? ['18'] : []),\n ];\n let replacedStrInstallment = installments.join(' dan ');\n\n if (installments.length > 2) {\n const strInstallment = installments.join(', ');\n const lastCharIndex = strInstallment.lastIndexOf(',');\n const left = strInstallment.slice(0, lastCharIndex);\n const right = strInstallment.slice(lastCharIndex + 1, strInstallment.length);\n\n replacedStrInstallment = [left, right].join(', dan');\n }\n\n txtCreditSystem = [\n 'dengan',\n creditSystem.join(' dan '),\n ...(isInstallment ? [`(${replacedStrInstallment} bulan)`] : []),\n ].join(' ');\n }\n\n if (debitAndCredit.length > 0) {\n appliesTo = `${[\n 'Voucher berlaku untuk pembayaran menggunakan',\n debitAndCredit.join(' dan '),\n bankName,\n txtCreditSystem,\n ]\n .filter(txt => (txt || '').length > 0)\n .join(' ')}.`;\n }\n }\n\n return appliesTo;\n}\n","import type { GetBankBinProps } from './use-voucher-tnc.types';\n\nexport default function getBankBin(args: GetBankBinProps): string[] {\n const { bankName, creditBinGroup, debitBinGroup } = args;\n const txtCreditBin = (creditBinGroup || []).join(', ');\n const txtDebitBin = (debitBinGroup || []).join(', ');\n\n return [\n ...(bankName && txtCreditBin\n ? [`Voucher berlaku untuk Kartu Kredit ${bankName} dengan Bank Identification Number (BIN): ${txtCreditBin}.`]\n : []),\n ...(bankName && txtDebitBin\n ? [`Voucher berlaku untuk Kartu Debit ${bankName} dengan Bank Identification Number (BIN): ${txtDebitBin}.`]\n : []),\n ];\n}\n","import { format } from 'date-fns';\nimport { id } from 'date-fns/locale';\n\nimport type { GetPeriodProps } from './use-voucher-tnc.types';\n\nexport default function getPeriodText(args: GetPeriodProps): string {\n let period = '';\n const { dateStart, dateEnd } = args;\n\n if (dateStart && dateEnd) {\n const dateStartFormatter = format(new Date(dateStart), 'yyyy-MM-dd HH:mm');\n const dateEndFormatter = format(new Date(dateEnd), 'yyyy-MM-dd HH:mm');\n\n const dateStartSplitTime = dateStartFormatter.split(' ');\n const dateStartSplit = dateStartSplitTime[0].split('-');\n const dateStartYear = dateStartSplit[0];\n const dateStartMonth = dateStartSplit[1];\n const dateEndSplitTime = dateEndFormatter.split(' ');\n const dateEndSplit = dateEndSplitTime[0].split('-');\n const dateEndYear = dateEndSplit[0];\n const dateEndMonth = dateEndSplit[1];\n\n if (dateStartSplitTime[0] === dateEndSplitTime[0]) {\n period = `Voucher hanya berlaku di tanggal ${format(new Date(dateStart), 'd MMM yyyy', { locale: id })}.`;\n } else if (dateStartYear !== dateEndYear) {\n period = `Voucher berlaku dari ${format(new Date(dateStart), 'd MMM yyyy', { locale: id })} - ${format(\n new Date(dateEnd),\n 'd MMM yyyy',\n { locale: id }\n )}.`;\n } else if (dateStartYear === dateEndYear) {\n if (dateStartMonth === dateEndMonth) {\n period = `Voucher berlaku dari ${format(new Date(dateStart), 'd', { locale: id })} - ${format(\n new Date(dateEnd),\n 'd MMM yyyy',\n {\n locale: id,\n }\n )}.`;\n } else {\n period = `Voucher berlaku dari ${format(new Date(dateStart), 'd MMM', { locale: id })} - ${format(\n new Date(dateEnd),\n 'd MMM yyyy',\n { locale: id }\n )}.`;\n }\n }\n } else if (dateStart) {\n period = `Voucher berlaku dari ${format(new Date(dateStart), 'd MMM yyyy', { locale: id })}.`;\n }\n\n return period;\n}\n","import type { GetUsageLimitProps } from './use-voucher-tnc.types';\n\nexport default function getVoucherUsageLimit(args: GetUsageLimitProps): string {\n const { isOneTimeUsage, isOneTimeUsagePerCard } = args;\n\n if (!isOneTimeUsage && !isOneTimeUsagePerCard) {\n return '';\n }\n\n let usageLimit = '';\n\n if (isOneTimeUsage) {\n usageLimit = 'Voucher hanya dapat digunakan 1x per member selama masa berlaku.';\n }\n\n if (isOneTimeUsagePerCard) {\n usageLimit = 'Voucher hanya dapat digunakan 1x per kartu selama masa berlaku.';\n }\n\n if (isOneTimeUsage && isOneTimeUsagePerCard) {\n usageLimit = 'Voucher hanya dapat digunakan 1x transaksi untuk 1 kartu dan 1 member selama masa berlaku.';\n }\n\n return usageLimit;\n}\n","import { useNumberFormatter } from '../use-number-formatter';\nimport type { GetMethodTermsProps } from './use-voucher-tnc.types';\nimport { DiscountType, VoucherType } from './use-voucher-tnc.types';\n\nexport default function useVoucherMethodTerms(args: GetMethodTermsProps) {\n let methodTerm = '';\n const {\n type,\n discountType,\n discountValue,\n isCheckedMaxFee,\n maxDiscountAmount,\n transactionTerms,\n termsMinTotalAmount,\n termsMinQty,\n limitFee,\n } = args;\n const safeNumber = (val: number | string): number => {\n if (typeof val === 'number') return val;\n\n return !Number.isNaN(Number(val)) ? Number(val) : 0;\n };\n const formattedMaxDiscount = useNumberFormatter({ value: safeNumber(maxDiscountAmount), prefix: 'Rp' });\n const formattedDiscountVal = useNumberFormatter({ value: safeNumber(discountValue), prefix: 'Rp' });\n const formattedLimitFee = useNumberFormatter({ value: safeNumber(limitFee), prefix: 'Rp' });\n const formattedMinTotalAmount = useNumberFormatter({ value: safeNumber(termsMinTotalAmount), prefix: 'Rp' });\n const formattedMinTotalQty = useNumberFormatter({ value: safeNumber(termsMinQty) });\n\n if (\n type === VoucherType.product ||\n type === VoucherType.order ||\n type === VoucherType.gift ||\n type === VoucherType.affiliate ||\n type === VoucherType.payment\n ) {\n if (discountType === DiscountType.percentage && type !== VoucherType.gift) {\n methodTerm = `Diskon ${discountValue || 0}%`;\n\n if (isCheckedMaxFee) {\n methodTerm += ` (hingga ${formattedMaxDiscount})`;\n }\n } else if (discountType === DiscountType.amount && type !== VoucherType.gift) {\n methodTerm = `Potongan ${formattedDiscountVal}`;\n } else {\n methodTerm = `Potongan ${formattedLimitFee}`;\n }\n } else if (type === VoucherType.freeShipping) {\n methodTerm = 'Shipping fee ditanggung oleh voilà.id';\n\n if (isCheckedMaxFee) {\n methodTerm += ` (hingga ${formattedLimitFee})`;\n }\n } else if (type === VoucherType.freeInsurance) {\n methodTerm = 'Insurance fee ditanggung oleh voilà.id';\n\n if (isCheckedMaxFee) {\n methodTerm += ` (hingga ${formattedLimitFee})`;\n }\n }\n\n switch (transactionTerms) {\n case 0:\n methodTerm += ' tanpa minimum pembelian.';\n break;\n case 1:\n methodTerm += ` dengan min. pembelian ${formattedMinTotalAmount}.`;\n break;\n case 2:\n methodTerm += ` dengan min. pembelian ${termsMinQty ? formattedMinTotalQty : 0} item.`;\n break;\n default:\n methodTerm += '';\n }\n\n return methodTerm;\n}\n","import getAppliesTo from './get-applies-to';\nimport getBankBin from './get-bank-bin';\nimport getPeriodText from './get-period';\nimport getVoucherUsageLimit from './get-usage-limit';\nimport getMethodTerms from './use-voucher-method-terms';\nimport type { VoucherTncProps } from './use-voucher-tnc.types';\nimport { VoucherType } from './use-voucher-tnc.types';\n\nconst useVoucherTnc = (props: VoucherTncProps | null): string[] => {\n if (props) {\n const terms = [];\n const {\n dateEnd,\n dateStart,\n type,\n discountType,\n discountValue,\n isCheckedMaxFee,\n maxDiscountAmount,\n transactionTerms,\n termsMinTotalAmount,\n termsMinQty,\n limitFee,\n collections,\n brands,\n eligibilityType,\n isOneTimeUsage,\n quota,\n isOneTimeUsagePerCard,\n payment,\n isGiftCard,\n } = props;\n const { bankName = '', creditBinGroup = [], debitBinGroup = [] } = payment || {};\n\n const period = getPeriodText({ dateStart, dateEnd });\n const appliesTo = getAppliesTo({ type, collections, brands, eligibilityType, payment });\n const methodTerms = getMethodTerms({\n type,\n discountType,\n discountValue,\n isCheckedMaxFee,\n maxDiscountAmount,\n transactionTerms,\n termsMinTotalAmount,\n termsMinQty,\n limitFee,\n });\n const usageLimit = getVoucherUsageLimit({ isOneTimeUsage, isOneTimeUsagePerCard });\n const bankBin = getBankBin({ bankName, creditBinGroup, debitBinGroup });\n\n if (period) terms.push(period);\n if (methodTerms) terms.push(methodTerms);\n if (type === VoucherType.affiliate) {\n terms.push('Voucher affiliate dapat digabungkan dengan tipe voucher lainnya.');\n }\n if (appliesTo) terms.push(appliesTo);\n if (usageLimit) terms.push(usageLimit);\n if (quota > 0) terms.push('Kuota voucher terbatas.');\n if ((bankBin || []).length > 0) terms.push(...bankBin);\n\n if (\n type === VoucherType.order ||\n type === VoucherType.payment ||\n type === VoucherType.freeInsurance ||\n (type === VoucherType.gift && !isGiftCard)\n ) {\n terms.push('Hanya berlaku untuk produk tertentu.');\n }\n\n return terms;\n }\n\n return [];\n};\n\nexport default useVoucherTnc;\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {useState,useEffect}from'react';var c=({value:e,delay:t=500})=>{let[o,r]=useState(e);return useEffect(()=>{let u=setTimeout(()=>r(e),t||500);return ()=>{clearTimeout(u);}},[JSON.stringify(e),t]),o},f=c;export{f as a};//# sourceMappingURL=chunk-X4C76ZKK.mjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-X4C76ZKK.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/hooks/use-debounce/use-debounce.ts"],"names":["useDebounce","value","delay","debouncedValue","setDebouncedValue","useState","useEffect","timer","use_debounce_default"],"mappings":"uCAQMA,IAAAA,CAAAA,CAAc,CAAI,CAAE,KAAAC,CAAAA,CAAAA,CAAO,KAAAC,CAAAA,CAAAA,CAAQ,GAAI,CAA2B,GAAA,CACtE,GAAM,CAACC,CAAgBC,CAAAA,CAAiB,CAAIC,CAAAA,QAAAA,CAAYJ,CAAK,CAAA,CAE7D,OAAAK,SAAAA,CAAU,IAAM,CACd,IAAMC,CAAQ,CAAA,UAAA,CAAW,IAAMH,CAAAA,CAAkBH,CAAK,CAAA,CAAGC,CAAS,EAAA,GAAG,CAErE,CAAA,OAAO,IAAM,CACX,YAAaK,CAAAA,CAAK,EACpB,CACF,CAAA,CAAG,CAAC,IAAA,CAAK,SAAUN,CAAAA,CAAK,CAAGC,CAAAA,CAAK,CAAC,CAAA,CAE1BC,CACT,CAAA,CAEOK,CAAQR,CAAAA","file":"chunk-X4C76ZKK.mjs","sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\nimport { useEffect, useState } from 'react';\n\nexport interface UseDebounceProps<T> {\n value: T;\n delay?: number;\n}\n\nconst useDebounce = <T>({ value, delay = 500 }: UseDebounceProps<T>) => {\n const [debouncedValue, setDebouncedValue] = useState<T>(value);\n\n useEffect(() => {\n const timer = setTimeout(() => setDebouncedValue(value), delay || 500);\n\n return () => {\n clearTimeout(timer);\n };\n }, [JSON.stringify(value), delay]);\n\n return debouncedValue;\n};\n\nexport default useDebounce;\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var chunkCWURCKL2_js=require('./chunk-CWURCKL2.js'),cssBoxModel=require('css-box-model'),react=require('react');var c=(s,o)=>{let[i,m]=react.useState(null),t=react.useRef();return chunkCWURCKL2_js.a(()=>{let e=()=>{let r=s.current;r&&(t.current=requestAnimationFrame(()=>{let d=cssBoxModel.getBox(r);m(d);}));};return e(),o&&(window.addEventListener("resize",e),window.addEventListener("scroll",e)),()=>{o&&(window.removeEventListener("resize",e),window.removeEventListener("scroll",e)),t.current&&cancelAnimationFrame(t.current);}},[o]),i},a=c;exports.a=a;//# sourceMappingURL=chunk-Y5HNEW7L.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-Y5HNEW7L.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/hooks/use-dimensions/use-dimensions.ts"],"names":["useDimensions","ref","observe","dimensions","setDimensions","useState","rafId","useRef","use_safe_layout_effect_default","measure","node","boxModel","getBox","use_dimensions_default"],"mappings":"6HASA,IAAMA,EAAgB,CAACC,CAAAA,CAA6BC,IAAsB,CACxE,GAAM,CAACC,CAAYC,CAAAA,CAAa,CAAIC,CAAAA,cAAAA,CAA8B,IAAI,CAAA,CAChEC,EAAQC,YAAe,EAAA,CAE7B,OAAAC,kBAAoB,CAAA,IAAM,CACxB,IAAMC,CAAAA,CAAU,IAAM,CACpB,IAAMC,EAAOT,CAAI,CAAA,OAAA,CACZS,IACLJ,CAAM,CAAA,OAAA,CAAU,sBAAsB,IAAM,CAC1C,IAAMK,CAAAA,CAAWC,kBAAOF,CAAAA,CAAI,EAC5BN,CAAcO,CAAAA,CAAQ,EACxB,CAAC,CAAA,EACH,EAEA,OAAAF,CAAAA,GAEIP,CACF,GAAA,MAAA,CAAO,iBAAiB,QAAUO,CAAAA,CAAO,EACzC,MAAO,CAAA,gBAAA,CAAiB,SAAUA,CAAO,CAAA,CAAA,CAGpC,IAAM,CACPP,CACF,GAAA,MAAA,CAAO,oBAAoB,QAAUO,CAAAA,CAAO,EAC5C,MAAO,CAAA,mBAAA,CAAoB,SAAUA,CAAO,CAAA,CAAA,CAG1CH,EAAM,OACR,EAAA,oBAAA,CAAqBA,EAAM,OAAO,EAEtC,CACF,CAAG,CAAA,CAACJ,CAAO,CAAC,CAAA,CAELC,CACT,CAAA,CAEOU,CAAQb,CAAAA","file":"chunk-Y5HNEW7L.js","sourcesContent":["import type { BoxModel as BoxModelType } from 'css-box-model';\nimport { getBox } from 'css-box-model';\nimport type { RefObject } from 'react';\nimport { useRef, useState } from 'react';\n\nimport { useSafeLayoutEffect } from '../use-safe-layout-effect';\n\nexport type BoxModel = BoxModelType;\n\nconst useDimensions = (ref: RefObject<HTMLElement>, observe?: boolean) => {\n const [dimensions, setDimensions] = useState<BoxModelType | null>(null);\n const rafId = useRef<number>();\n\n useSafeLayoutEffect(() => {\n const measure = () => {\n const node = ref.current;\n if (!node) return;\n rafId.current = requestAnimationFrame(() => {\n const boxModel = getBox(node);\n setDimensions(boxModel);\n });\n };\n\n measure();\n\n if (observe) {\n window.addEventListener('resize', measure);\n window.addEventListener('scroll', measure);\n }\n\n return () => {\n if (observe) {\n window.removeEventListener('resize', measure);\n window.removeEventListener('scroll', measure);\n }\n\n if (rafId.current) {\n cancelAnimationFrame(rafId.current);\n }\n };\n }, [observe]);\n\n return dimensions;\n};\n\nexport default useDimensions;\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {b,c}from'./chunk-M2YCT7CB.mjs';import {a}from'./chunk-P7FXF4IE.mjs';import {useRef,useEffect}from'react';var l=({enabled:d=true,ref:n,handler:s})=>{let i=a(s),e=useRef({isPointerDown:false,ignoreEmulatedMouseEvents:false}).current;useEffect(()=>{if(!d)return;let r=o=>{c(o,n)&&(e.isPointerDown=true);},c$1=o=>{if(e.ignoreEmulatedMouseEvents){e.ignoreEmulatedMouseEvents=false;return}e.isPointerDown&&s&&c(o,n)&&(e.isPointerDown=false,i(o));},a=o=>{e.ignoreEmulatedMouseEvents=true,s&&e.isPointerDown&&c(o,n)&&(e.isPointerDown=false,i(o));},t=b(n.current);return t.addEventListener("mousedown",r,true),t.addEventListener("mouseup",c$1,true),t.addEventListener("touchstart",r,true),t.addEventListener("touchend",a,true),()=>{t.removeEventListener("mousedown",r,true),t.removeEventListener("mouseup",c$1,true),t.removeEventListener("touchstart",r,true),t.removeEventListener("touchend",a,true);}},[s,n,i,e,d]);},p=l;export{p as a};//# sourceMappingURL=chunk-Z6WQXCNF.mjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-Z6WQXCNF.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/hooks/use-outside-click/use-outside-click.ts"],"names":["useOutsideClick","enabled","ref","handler","savedHandler","use_callback_ref_default","state","useRef","useEffect","onPointerDown","e","isValidEvent","onMouseUp","event","onTouchEnd","doc","getOwnerDocument","use_outside_click_default"],"mappings":"qHAYMA,CAAkB,CAAA,CAAC,CAAE,OAAA,CAAAC,EAAU,IAAM,CAAA,GAAA,CAAAC,EAAK,OAAAC,CAAAA,CAAQ,IAAkC,CACxF,IAAMC,CAAeC,CAAAA,CAAAA,CAAeF,CAAO,CAOrCG,CAAAA,CAAAA,CALWC,MAAO,CAAA,CACtB,cAAe,KACf,CAAA,yBAAA,CAA2B,KAC7B,CAAC,EAEsB,OAEvBC,CAAAA,SAAAA,CAAU,IAAM,CACd,GAAI,CAACP,CAAS,CAAA,OACd,IAAMQ,CAAAA,CAAmEC,GAAS,CAC5EC,CAAAA,CAAaD,CAAGR,CAAAA,CAAG,IACrBI,CAAM,CAAA,aAAA,CAAgB,IAE1B,EAAA,CAAA,CAEMM,IAAaC,CAAsB,EAAA,CACvC,GAAIP,CAAM,CAAA,yBAAA,CAA2B,CACnCA,CAAM,CAAA,yBAAA,CAA4B,KAClC,CAAA,MACF,CAEIA,CAAM,CAAA,aAAA,EAAiBH,CAAWQ,EAAAA,CAAAA,CAAaE,EAAOX,CAAG,CAAA,GAC3DI,CAAM,CAAA,aAAA,CAAgB,MACtBF,CAAaS,CAAAA,CAAK,GAEtB,CAEMC,CAAAA,CAAAA,CAAcD,GAAsB,CACxCP,CAAAA,CAAM,yBAA4B,CAAA,IAAA,CAC9BH,GAAWG,CAAM,CAAA,aAAA,EAAiBK,CAAaE,CAAAA,CAAAA,CAAOX,CAAG,CAC3DI,GAAAA,CAAAA,CAAM,aAAgB,CAAA,KAAA,CACtBF,EAAaS,CAAK,CAAA,EAEtB,EAEME,CAAMC,CAAAA,CAAAA,CAAiBd,EAAI,OAAO,CAAA,CACxC,OAAAa,CAAAA,CAAI,iBAAiB,WAAaN,CAAAA,CAAAA,CAAe,IAAI,CAAA,CACrDM,EAAI,gBAAiB,CAAA,SAAA,CAAWH,GAAW,CAAA,IAAI,EAC/CG,CAAI,CAAA,gBAAA,CAAiB,aAAcN,CAAe,CAAA,IAAI,EACtDM,CAAI,CAAA,gBAAA,CAAiB,UAAYD,CAAAA,CAAAA,CAAY,IAAI,CAE1C,CAAA,IAAM,CACXC,CAAAA,CAAI,oBAAoB,WAAaN,CAAAA,CAAAA,CAAe,IAAI,CAAA,CACxDM,EAAI,mBAAoB,CAAA,SAAA,CAAWH,IAAW,IAAI,CAAA,CAClDG,EAAI,mBAAoB,CAAA,YAAA,CAAcN,CAAe,CAAA,IAAI,EACzDM,CAAI,CAAA,mBAAA,CAAoB,WAAYD,CAAY,CAAA,IAAI,EACtD,CACF,CAAA,CAAG,CAACX,CAAAA,CAASD,EAAKE,CAAcE,CAAAA,CAAAA,CAAOL,CAAO,CAAC,EACjD,EAEOgB,CAAQjB,CAAAA","file":"chunk-Z6WQXCNF.mjs","sourcesContent":["import type { RefObject } from 'react';\nimport { useEffect, useRef } from 'react';\n\nimport { getOwnerDocument, isValidEvent } from '../../dom';\nimport { useCallbackRef } from '../use-callback-ref';\n\nexport interface UseOutsideClickProps {\n enabled?: boolean;\n ref: RefObject<HTMLElement>;\n handler?: (e: Event) => void;\n}\n\nconst useOutsideClick = ({ enabled = true, ref, handler }: UseOutsideClickProps): void => {\n const savedHandler = useCallbackRef(handler);\n\n const stateRef = useRef({\n isPointerDown: false,\n ignoreEmulatedMouseEvents: false,\n });\n\n const state = stateRef.current;\n\n useEffect(() => {\n if (!enabled) return undefined;\n const onPointerDown = <T extends PointerEvent | MouseEvent | TouchEvent>(e: T) => {\n if (isValidEvent(e, ref)) {\n state.isPointerDown = true;\n }\n };\n\n const onMouseUp = (event: MouseEvent) => {\n if (state.ignoreEmulatedMouseEvents) {\n state.ignoreEmulatedMouseEvents = false;\n return;\n }\n\n if (state.isPointerDown && handler && isValidEvent(event, ref)) {\n state.isPointerDown = false;\n savedHandler(event);\n }\n };\n\n const onTouchEnd = (event: TouchEvent) => {\n state.ignoreEmulatedMouseEvents = true;\n if (handler && state.isPointerDown && isValidEvent(event, ref)) {\n state.isPointerDown = false;\n savedHandler(event);\n }\n };\n\n const doc = getOwnerDocument(ref.current);\n doc.addEventListener('mousedown', onPointerDown, true);\n doc.addEventListener('mouseup', onMouseUp, true);\n doc.addEventListener('touchstart', onPointerDown, true);\n doc.addEventListener('touchend', onTouchEnd, true);\n\n return () => {\n doc.removeEventListener('mousedown', onPointerDown, true);\n doc.removeEventListener('mouseup', onMouseUp, true);\n doc.removeEventListener('touchstart', onPointerDown, true);\n doc.removeEventListener('touchend', onTouchEnd, true);\n };\n }, [handler, ref, savedHandler, state, enabled]);\n};\n\nexport default useOutsideClick;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"chunk-ZFGFCYYK.mjs"}
|
package/dist/dom.d.mts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { RefObject } from 'react';
|
|
2
|
+
|
|
3
|
+
declare const isElement: (el: any) => el is Element;
|
|
4
|
+
declare const getOwnerDocument: (node?: Element | null) => Document;
|
|
5
|
+
declare const isValidEvent: (event: any, ref: RefObject<HTMLElement>) => boolean;
|
|
6
|
+
declare const canUseDOM: () => boolean;
|
|
7
|
+
declare const isBrowser: boolean;
|
|
8
|
+
|
|
9
|
+
export { canUseDOM, getOwnerDocument, isBrowser, isElement, isValidEvent };
|
package/dist/dom.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { RefObject } from 'react';
|
|
2
|
+
|
|
3
|
+
declare const isElement: (el: any) => el is Element;
|
|
4
|
+
declare const getOwnerDocument: (node?: Element | null) => Document;
|
|
5
|
+
declare const isValidEvent: (event: any, ref: RefObject<HTMLElement>) => boolean;
|
|
6
|
+
declare const canUseDOM: () => boolean;
|
|
7
|
+
declare const isBrowser: boolean;
|
|
8
|
+
|
|
9
|
+
export { canUseDOM, getOwnerDocument, isBrowser, isElement, isValidEvent };
|
package/dist/dom.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var chunkRATGBP35_js=require('./chunk-RATGBP35.js');Object.defineProperty(exports,"canUseDOM",{enumerable:true,get:function(){return chunkRATGBP35_js.d}});Object.defineProperty(exports,"getOwnerDocument",{enumerable:true,get:function(){return chunkRATGBP35_js.b}});Object.defineProperty(exports,"isBrowser",{enumerable:true,get:function(){return chunkRATGBP35_js.e}});Object.defineProperty(exports,"isElement",{enumerable:true,get:function(){return chunkRATGBP35_js.a}});Object.defineProperty(exports,"isValidEvent",{enumerable:true,get:function(){return chunkRATGBP35_js.c}});//# sourceMappingURL=dom.js.map
|
|
2
|
+
//# sourceMappingURL=dom.js.map
|
package/dist/dom.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"dom.js"}
|
package/dist/dom.mjs
ADDED
package/dist/dom.mjs.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"dom.mjs"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export { useCallbackRef } from './use-callback-ref.mjs';
|
|
2
|
+
export { UseClipboardOptions, UseClipboardProps, useClipboard } from './use-clipboard.mjs';
|
|
3
|
+
export { UseDebounceProps, useDebounce } from './use-debounce.mjs';
|
|
4
|
+
export { BoxModel, useDimensions } from './use-dimensions.mjs';
|
|
5
|
+
export { UseDisclosureProps, useDisclosure } from './use-disclosure.mjs';
|
|
6
|
+
export { UseMediaQueryOptions, useMediaQuery } from './use-media-query.mjs';
|
|
7
|
+
export { NumberFormatterProps, useNumberFormatter } from './use-number-formatter.mjs';
|
|
8
|
+
export { useOnlineStatus } from './use-online-status.mjs';
|
|
9
|
+
export { UseOutsideClickProps, useOutsideClick } from './use-outside-click.mjs';
|
|
10
|
+
export { useSafeLayoutEffect } from './use-safe-layout-effect.mjs';
|
|
11
|
+
export { DiscountType, GetAppliesToProps, GetBankBinProps, GetMethodTermsProps, GetPeriodProps, GetUsageLimitProps, VoucherPaymentType, VoucherTncProps, VoucherType, useVoucherTnc } from './use-voucher-tnc.mjs';
|
|
12
|
+
import 'react';
|
|
13
|
+
import 'css-box-model';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export { useCallbackRef } from './use-callback-ref.js';
|
|
2
|
+
export { UseClipboardOptions, UseClipboardProps, useClipboard } from './use-clipboard.js';
|
|
3
|
+
export { UseDebounceProps, useDebounce } from './use-debounce.js';
|
|
4
|
+
export { BoxModel, useDimensions } from './use-dimensions.js';
|
|
5
|
+
export { UseDisclosureProps, useDisclosure } from './use-disclosure.js';
|
|
6
|
+
export { UseMediaQueryOptions, useMediaQuery } from './use-media-query.js';
|
|
7
|
+
export { NumberFormatterProps, useNumberFormatter } from './use-number-formatter.js';
|
|
8
|
+
export { useOnlineStatus } from './use-online-status.js';
|
|
9
|
+
export { UseOutsideClickProps, useOutsideClick } from './use-outside-click.js';
|
|
10
|
+
export { useSafeLayoutEffect } from './use-safe-layout-effect.js';
|
|
11
|
+
export { DiscountType, GetAppliesToProps, GetBankBinProps, GetMethodTermsProps, GetPeriodProps, GetUsageLimitProps, VoucherPaymentType, VoucherTncProps, VoucherType, useVoucherTnc } from './use-voucher-tnc.js';
|
|
12
|
+
import 'react';
|
|
13
|
+
import 'css-box-model';
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';require('../chunk-Q2LVN3QY.js');var chunk2XNWBZU3_js=require('../chunk-2XNWBZU3.js'),chunkELX5IXB4_js=require('../chunk-ELX5IXB4.js'),chunk3EZJIWT4_js=require('../chunk-3EZJIWT4.js'),chunkN7Z7DA36_js=require('../chunk-N7Z7DA36.js'),chunkIX7NK5RI_js=require('../chunk-IX7NK5RI.js'),chunkKOCPH2DG_js=require('../chunk-KOCPH2DG.js'),chunkBUGYRVTO_js=require('../chunk-BUGYRVTO.js'),chunkY5HNEW7L_js=require('../chunk-Y5HNEW7L.js'),chunkCWURCKL2_js=require('../chunk-CWURCKL2.js');require('../chunk-RATGBP35.js');var chunk2DTW2MMP_js=require('../chunk-2DTW2MMP.js'),chunk55ZXUIJW_js=require('../chunk-55ZXUIJW.js');Object.defineProperty(exports,"useMediaQuery",{enumerable:true,get:function(){return chunk2XNWBZU3_js.a}});Object.defineProperty(exports,"useOnlineStatus",{enumerable:true,get:function(){return chunkELX5IXB4_js.a}});Object.defineProperty(exports,"useOutsideClick",{enumerable:true,get:function(){return chunk3EZJIWT4_js.a}});Object.defineProperty(exports,"DiscountType",{enumerable:true,get:function(){return chunkN7Z7DA36_js.b}});Object.defineProperty(exports,"VoucherType",{enumerable:true,get:function(){return chunkN7Z7DA36_js.a}});Object.defineProperty(exports,"useVoucherTnc",{enumerable:true,get:function(){return chunkN7Z7DA36_js.c}});Object.defineProperty(exports,"useNumberFormatter",{enumerable:true,get:function(){return chunkIX7NK5RI_js.a}});Object.defineProperty(exports,"useClipboard",{enumerable:true,get:function(){return chunkKOCPH2DG_js.a}});Object.defineProperty(exports,"useDebounce",{enumerable:true,get:function(){return chunkBUGYRVTO_js.a}});Object.defineProperty(exports,"useDimensions",{enumerable:true,get:function(){return chunkY5HNEW7L_js.a}});Object.defineProperty(exports,"useSafeLayoutEffect",{enumerable:true,get:function(){return chunkCWURCKL2_js.a}});Object.defineProperty(exports,"useDisclosure",{enumerable:true,get:function(){return chunk2DTW2MMP_js.a}});Object.defineProperty(exports,"useCallbackRef",{enumerable:true,get:function(){return chunk55ZXUIJW_js.a}});//# sourceMappingURL=index.js.map
|
|
2
|
+
//# sourceMappingURL=index.js.map
|