1mpacto-react-ui 2.0.19 → 2.0.20

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.
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("react"),s=(a,r,t,l)=>{t.current!==null&&(clearTimeout(t.current),t.current=null),l.current!==null&&(clearTimeout(l.current),l.current=null),r.current!==null&&(a.current(...r.current),r.current=null)},b=(a,r)=>{const t=(r==null?void 0:r.wait)??0,l=r==null?void 0:r.maxWait,u=n.useRef(null),e=n.useRef(null),i=n.useRef(a),c=n.useRef(null);i.current=a;const f=n.useCallback(()=>{u.current!==null&&(clearTimeout(u.current),u.current=null),e.current!==null&&(clearTimeout(e.current),e.current=null),c.current=null},[]),o=n.useCallback(()=>{s(i,c,u,e)},[]),m=n.useCallback(()=>u.current!==null,[]),T=n.useCallback((...d)=>{c.current=d,u.current!==null&&clearTimeout(u.current),u.current=setTimeout(()=>{u.current=null,e.current!==null&&(clearTimeout(e.current),e.current=null),c.current!==null&&(i.current(...c.current),c.current=null)},t),l!==void 0&&e.current===null&&(e.current=setTimeout(()=>{e.current=null,s(i,c,u,e)},l))},[t,l]);return n.useEffect(()=>()=>{u.current!==null&&clearTimeout(u.current),e.current!==null&&clearTimeout(e.current)},[]),{debouncedFn:T,cancel:f,flush:o,pending:m}};exports.default=b;
@@ -0,0 +1,27 @@
1
+ import n from "react";
2
+ const i = (a, e, t, l) => {
3
+ t.current !== null && (clearTimeout(t.current), t.current = null), l.current !== null && (clearTimeout(l.current), l.current = null), e.current !== null && (a.current(...e.current), e.current = null);
4
+ }, C = (a, e) => {
5
+ const t = (e == null ? void 0 : e.wait) ?? 0, l = e == null ? void 0 : e.maxWait, u = n.useRef(null), r = n.useRef(null), f = n.useRef(a), c = n.useRef(null);
6
+ f.current = a;
7
+ const s = n.useCallback(() => {
8
+ u.current !== null && (clearTimeout(u.current), u.current = null), r.current !== null && (clearTimeout(r.current), r.current = null), c.current = null;
9
+ }, []), m = n.useCallback(() => {
10
+ i(f, c, u, r);
11
+ }, []), T = n.useCallback(() => u.current !== null, []), o = n.useCallback(
12
+ (...b) => {
13
+ c.current = b, u.current !== null && clearTimeout(u.current), u.current = setTimeout(() => {
14
+ u.current = null, r.current !== null && (clearTimeout(r.current), r.current = null), c.current !== null && (f.current(...c.current), c.current = null);
15
+ }, t), l !== void 0 && r.current === null && (r.current = setTimeout(() => {
16
+ r.current = null, i(f, c, u, r);
17
+ }, l));
18
+ },
19
+ [t, l]
20
+ );
21
+ return n.useEffect(() => () => {
22
+ u.current !== null && clearTimeout(u.current), r.current !== null && clearTimeout(r.current);
23
+ }, []), { debouncedFn: o, cancel: s, flush: m, pending: T };
24
+ };
25
+ export {
26
+ C as default
27
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const d=require("react"),S=require("./useDebounce.cjs"),X=(e,R=[])=>{const a=d.useRef(null),[z,M]=d.useState(0),c=d.useCallback(()=>{if(!a.current||e.columns<1)return;const n=a.current,p=Array.from(n.children);n.style.position="relative",n.style.width="100%",e.animationEnabled?n.style.transition="height 0.4s ease":n.style.transition="";const y=n.clientWidth;let g="mobile",x=-1;for(const[m,t]of Object.entries(e.breakpoints??{}))y>=t&&t>x&&(x=t,g=m);const o=Math.max(0,(y-(e.columns-1)*e.gapX)/e.columns);if(o<=0)return;const h=Array(e.columns).fill(0),H=e.orientation==="top-bottom";p.forEach(m=>{const t=m,E=parseInt(t.dataset[`${g}Cols`]||t.dataset.cols||"1",10),r=Math.min(isNaN(E)?1:E,e.columns);t.style.position="absolute",t.style.boxSizing="border-box",e.animationEnabled?t.style.transition="all 0.4s ease":t.style.transition="",t.style.width=`${r*o+(r-1)*e.gapX}px`;let u;if(t.dataset.rows){const s=parseInt(t.dataset.rows,10),i=isNaN(s)?1:s;u=i*o+(i-1)*e.gapY}else t.style.height="auto",u=t.offsetHeight;let f=0,l=1/0;for(let s=0;s<=e.columns-r;s++){const i=Math.max(...h.slice(s,s+r));i<l&&(l=i,f=s)}t.style.height=`${u}px`,t.style.left=t.style.right=t.style.top=t.style.bottom="auto";const $=f*(o+e.gapX);e.direction==="rtl"?t.style.right=`${$}px`:t.style.left=`${$}px`,H?t.style.top=`${l}px`:t.style.bottom=`${l}px`;for(let s=f;s<f+r;s++)h[s]=l+u+e.gapY});const w=Math.max(...h),v=w>0?w-e.gapY:0;n.style.height=`${v}px`,M(v)},[e.columns,e.gapX,e.gapY,e.animationEnabled,e.breakpoints,e.orientation,e.direction]),{debouncedFn:b}=S.default(c,{wait:e.debounceResize??150});return d.useLayoutEffect(()=>{const n=new ResizeObserver(b);return a.current&&n.observe(a.current),window.addEventListener("resize",b),c(),()=>{a.current&&n.unobserve(a.current),window.removeEventListener("resize",b)}},[c,...R]),{containerRef:a,containerHeight:z,recalculate:c}};exports.default=X;
@@ -0,0 +1,56 @@
1
+ import m from "react";
2
+ import k from "./useDebounce.mjs";
3
+ const N = (e, p = []) => {
4
+ const a = m.useRef(null), [R, z] = m.useState(0), c = m.useCallback(() => {
5
+ if (!a.current || e.columns < 1) return;
6
+ const s = a.current, H = Array.from(s.children);
7
+ s.style.position = "relative", s.style.width = "100%", e.animationEnabled ? s.style.transition = "height 0.4s ease" : s.style.transition = "";
8
+ const b = s.clientWidth;
9
+ let g = "mobile", x = -1;
10
+ for (const [y, t] of Object.entries(e.breakpoints ?? {}))
11
+ b >= t && t > x && (x = t, g = y);
12
+ const o = Math.max(0, (b - (e.columns - 1) * e.gapX) / e.columns);
13
+ if (o <= 0) return;
14
+ const h = Array(e.columns).fill(0), X = e.orientation === "top-bottom";
15
+ H.forEach((y) => {
16
+ const t = y, E = parseInt(t.dataset[`${g}Cols`] || t.dataset.cols || "1", 10), r = Math.min(isNaN(E) ? 1 : E, e.columns);
17
+ t.style.position = "absolute", t.style.boxSizing = "border-box", e.animationEnabled ? t.style.transition = "all 0.4s ease" : t.style.transition = "", t.style.width = `${r * o + (r - 1) * e.gapX}px`;
18
+ let u;
19
+ if (t.dataset.rows) {
20
+ const n = parseInt(t.dataset.rows, 10), i = isNaN(n) ? 1 : n;
21
+ u = i * o + (i - 1) * e.gapY;
22
+ } else
23
+ t.style.height = "auto", u = t.offsetHeight;
24
+ let f = 0, l = 1 / 0;
25
+ for (let n = 0; n <= e.columns - r; n++) {
26
+ const i = Math.max(...h.slice(n, n + r));
27
+ i < l && (l = i, f = n);
28
+ }
29
+ t.style.height = `${u}px`, t.style.left = t.style.right = t.style.top = t.style.bottom = "auto";
30
+ const $ = f * (o + e.gapX);
31
+ e.direction === "rtl" ? t.style.right = `${$}px` : t.style.left = `${$}px`, X ? t.style.top = `${l}px` : t.style.bottom = `${l}px`;
32
+ for (let n = f; n < f + r; n++) h[n] = l + u + e.gapY;
33
+ });
34
+ const w = Math.max(...h), v = w > 0 ? w - e.gapY : 0;
35
+ s.style.height = `${v}px`, z(v);
36
+ }, [
37
+ e.columns,
38
+ e.gapX,
39
+ e.gapY,
40
+ e.animationEnabled,
41
+ e.breakpoints,
42
+ e.orientation,
43
+ e.direction
44
+ ]), { debouncedFn: d } = k(c, {
45
+ wait: e.debounceResize ?? 150
46
+ });
47
+ return m.useLayoutEffect(() => {
48
+ const s = new ResizeObserver(d);
49
+ return a.current && s.observe(a.current), window.addEventListener("resize", d), c(), () => {
50
+ a.current && s.unobserve(a.current), window.removeEventListener("resize", d);
51
+ };
52
+ }, [c, ...p]), { containerRef: a, containerHeight: R, recalculate: c };
53
+ };
54
+ export {
55
+ N as default
56
+ };
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./utils/common.cjs"),l=require("./utils/formatBigNumber.cjs"),d=require("./utils/cookies.cjs"),m=require("./components/Alert/index.cjs"),t=require("./utils/yup.cjs"),c=require("./config/bigNumber/index.cjs"),n=require("./utils/axiosBigNumber.cjs"),b=require("./config/tailwind/colors.cjs"),g=require("./config/tailwind/screen.cjs"),p=require("./config/tailwind/nativeScreen.cjs"),q=require("./components/TPublish/TPublish.cjs"),T=require("./components/Button/Button.cjs"),C=require("./components/Popover/Popover.cjs"),y=require("./components/Calendar/Calendar.cjs"),B=require("./components/Calendar/CalendarRange.cjs"),h=require("./components/DatePicker/DatePicker.cjs"),N=require("./components/DatePicker/DateRangePicker.cjs"),D=require("./components/DatePicker/FilterDate.cjs"),O=require("./components/Input/InputFloatingInner.cjs"),S=require("./components/Input/InputReguler.cjs"),I=require("./components/Pagination/Pagination.cjs"),P=require("./components/Tabs/Tabs.cjs"),x=require("./components/Tabs/TabPanel.cjs"),M=require("./components/Table/Table.cjs"),R=require("./components/Virtualization/TableVirtualization.cjs"),v=require("./components/Virtualization/ListVirtualization.cjs"),A=require("./components/SelectDropdownContainer/SelectDropdownContainer.cjs"),F=require("./components/Switch/Switch.cjs"),L=require("./components/ButtonIcon/ButtonIcon.cjs"),E=require("./components/Badges/Badges.cjs"),j=require("./components/Chips/Chips.cjs"),u=require("./components/RadioCheckbox/RadioCheckbox.cjs"),k=require("./components/RadioCheckbox/RadioCheckboxLabel.cjs"),w=require("./components/Breadcrumbs/Breadcrumbs.cjs"),V=require("./components/Sidebar/Sidebar.cjs"),z=require("./components/Collapse/Collapse.cjs"),K=require("./components/Modal/ModalDialog.cjs"),U=require("./components/Timeline/Timeline.cjs"),G=require("./components/FilterContainer/FilterContainer.cjs"),_=require("./components/NumberFormat/NumberFormat.cjs"),H=require("./components/PortalComponent/PortalComponent.cjs"),J=require("./components/Upload/UploadFile.cjs"),Q=require("./components/TruncateComponent/TruncateComponent.cjs"),W=require("./components/Upload/UploadImage.cjs"),Y=require("./components/Textarea/Textarea.cjs"),Z=require("./components/Chart/DoughnutChart.cjs"),$=require("./components/DatePicker/MonthYearPicker.cjs"),X=require("./components/RadioCheckbox/CheckboxTable.cjs"),ee=require("./components/Input/InputNative.cjs"),re=require("./components/Upload/UploadMultipleFile.cjs"),te=require("./components/ErrorMessage/ErrorMessage.cjs"),ae=require("./components/Textarea/TextareaFloatingInner.cjs"),oe=require("./components/Step/Step.cjs"),ne=require("./components/Chart/LineChart.cjs"),ue=require("./components/Tooltip/Tooltip.cjs"),ie=require("./components/ButtonPopover/ButtonPopover.cjs"),se=require("./components/Chart/GradientLineChart.cjs"),le=require("./components/Chart/GradientBarChart.cjs"),ce=require("./components/Chart/PieChart.cjs"),fe=require("./components/Step/StepIndicator.cjs"),de=require("./components/TextEditor/TextEditor.cjs"),me=require("./components/Collapse/CollapseV2.cjs"),be=require("./components/Table/TableSubMobile.cjs"),ge=require("./components/TimeRange/TimeRange.cjs"),pe=require("./components/Textarea/TextareaInnerLabel.cjs"),qe=require("./components/Input/InputInnerLabel.cjs"),Te=require("./components/Text/Text.cjs"),Ce=require("./hooks/useElementOrWindowMediaQuery.cjs"),ye=require("./hooks/useCountdown.cjs"),Be=require("./hooks/useAsyncDebounce.cjs"),he=require("./hooks/useCombinedResizeObserver.cjs"),Ne=require("./hooks/useStateRef.cjs"),De=require("./hooks/useMasonry.cjs"),Oe=require("./hooks/useOtpInput.cjs"),Se=require("bignumber.js"),i=require("./config/tailwind/typography.cjs"),Ie=require("@tanstack/react-table"),Pe=require("react-select"),xe=require("react-number-format"),Me=require("./components/Table/Table.config.cjs"),Re=require("react-toastify"),f=require("./hooks/useDeepCompareEffect.cjs"),ve=require("./hooks/useMergeRefs.cjs"),Ae=require("./hooks/useEventListener.cjs");function Fe(r){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const a in r)if(a!=="default"){const s=Object.getOwnPropertyDescriptor(r,a);Object.defineProperty(o,a,s.get?s:{enumerable:!0,get:()=>r[a]})}}return o.default=r,Object.freeze(o)}const Le=Fe(Ie);exports.deepCompareEquals=e.deepCompareEquals;exports.deepMerge=e.deepMerge;exports.deleteKeysImmutable=e.deleteKeysImmutable;exports.deleteKeysMutable=e.deleteKeysMutable;exports.encryptRSAOAEP=e.encryptRSAOAEP;exports.extractElementStringToOriginalValue=e.extractElementStringToOriginalValue;exports.formatDate=e.formatDate;exports.formatDateRange=e.formatDateRange;exports.formatNumber=e.formatNumber;exports.groupByKey=e.groupByKey;exports.isAccurateBigNumber=e.isAccurateBigNumber;exports.isAccurateNumber=e.isAccurateNumber;exports.isObject=e.isObject;exports.parseBigDecimal=e.parseBigDecimal;exports.parseDecimal=e.parseDecimal;exports.parseFileName=e.parseFileName;exports.removeKeyObjectEmptyValue=e.removeKeyObjectEmptyValue;exports.setDigit=e.setDigit;exports.transformArrayMapping=e.transformArrayMapping;exports.transformArrayMappingObjectFC=e.transformArrayMappingObjectFC;exports.transformArrayOfObjectToArray=e.transformArrayOfObjectToArray;exports.transformArrayOfObjectToString=e.transformArrayOfObjectToString;exports.transformBigNumber=e.transformBigNumber;exports.transformBigNumberOpt=e.transformBigNumberOpt;exports.transformDataHistory=e.transformDataHistory;exports.transformLatLong=e.transformLatLong;exports.transformNumber=e.transformNumber;exports.transformSecondTime=e.transformSecondTime;exports.transfromIsNan=e.transfromIsNan;exports.formatBigNumber=l.formatBigNumber;exports.removeTrailingZeros=l.removeTrailingZeros;exports.cookieStorage=d.default;exports.openAlert=m.openAlert;exports.betweenBig=t.betweenBig;exports.lessThanBig=t.lessThanBig;exports.maxBig=t.maxBig;exports.minBig=t.minBig;exports.moreThanBig=t.moreThanBig;exports.BigNumber=c.BigNumber;exports.defaultConfig=c.defaultConfig;exports.convertBigNumbersToStrings=n.convertBigNumbersToStrings;exports.convertNumbersToBigNumbers=n.convertNumbersToBigNumbers;exports.convertTextToJsonBigNumbers=n.convertTextToJsonBigNumbers;exports.ConfigColors=b.default;exports.configScreens=g.default;exports.configNativeScreens=p.default;exports.TPublish=q.default;exports.Button=T.default;exports.Popover=C.default;exports.Calendar=y.default;exports.CalendarRange=B.default;exports.DatePicker=h.default;exports.DateRangePicker=N.default;exports.FilterDate=D.default;exports.InputFloatingInner=O.default;exports.InputReguler=S.default;exports.Pagination=I.default;exports.Tabs=P.default;exports.TabPanel=x.default;exports.Table=M.default;exports.TableVirtualization=R.default;exports.ListVirtualization=v.default;exports.SelectDropdownContainer=A.default;exports.Switch=F.default;exports.ButtonIcon=L.default;exports.Badges=E.default;exports.Chips=j.default;exports.DefaultCheckedChecboxIcon=u.DefaultCheckedChecboxIcon;exports.DefaultRadioChecboxIcon=u.DefaultRadioChecboxIcon;exports.RadioCheckbox=u.default;exports.RadioCheckboxLabel=k.default;exports.Breadcrumbs=w.default;exports.Sidebar=V.default;exports.Collapse=z.default;exports.ModalDialog=K.default;exports.Timeline=U.default;exports.FilterContainer=G.default;exports.NumberFormat=_.default;exports.PortalComponent=H.default;exports.UploadFile=J.default;exports.TruncateComponent=Q.default;exports.UploadImage=W.default;exports.Textarea=Y.default;exports.DoughnutChart=Z.default;exports.MonthYearPicker=$.default;exports.CheckboxTable=X.default;exports.InputNative=ee.default;exports.UploadMultipleFile=re.default;exports.ErrorMessage=te.default;exports.TextareaFloatingInner=ae.default;exports.Step=oe.default;exports.LineChart=ne.default;exports.Tooltip=ue.default;exports.ButtonPopover=ie.default;exports.GradientLineChart=se.default;exports.GradientBarChart=le.default;exports.PieChart=ce.default;exports.StepIndicator=fe.default;exports.TextEditor=de.default;exports.CollapseV2=me.default;exports.TableSubComponent=be.default;exports.TimeRange=ge.default;exports.TextareaInnerLabel=pe.default;exports.InputInnerLabel=qe.default;exports.Text=Te.default;exports.useElementOrWindowMediaQuery=Ce.default;exports.useCountdown=ye.default;exports.useAsyncDebounce=Be.default;exports.useCombinedResizeObserver=he.default;exports.useStateRef=Ne.default;exports.useMasonry=De.default;exports.useOtpInput=Oe.useOtpInput;exports.TypeBigNumber=Se;exports.configTypography=i.default;exports.configTypographyLabaBisnis=i.configTypographyLabaBisnis;exports.configTypographyPayhere=i.configTypographyPayhere;exports.utilTable=Le;Object.defineProperty(exports,"SelectDropdownContainerComponents",{enumerable:!0,get:()=>Pe.components});Object.defineProperty(exports,"PatternFormat",{enumerable:!0,get:()=>xe.PatternFormat});exports.ConfigTable=Me.ConfigTable;Object.defineProperty(exports,"AlertContainer",{enumerable:!0,get:()=>Re.ToastContainer});exports.useDeepCompareEffect=f.useDeepCompareEffect;exports.useDeepCompareMemoize=f.useDeepCompareMemoize;exports.useMergeRefs=ve.useMergeRefs;exports.useEventListener=Ae.useEventListener;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./utils/common.cjs"),c=require("./utils/formatBigNumber.cjs"),d=require("./utils/cookies.cjs"),m=require("./components/Alert/index.cjs"),t=require("./utils/yup.cjs"),l=require("./config/bigNumber/index.cjs"),n=require("./utils/axiosBigNumber.cjs"),b=require("./config/tailwind/colors.cjs"),g=require("./config/tailwind/screen.cjs"),p=require("./config/tailwind/nativeScreen.cjs"),q=require("./components/TPublish/TPublish.cjs"),T=require("./components/Button/Button.cjs"),C=require("./components/Popover/Popover.cjs"),y=require("./components/Calendar/Calendar.cjs"),B=require("./components/Calendar/CalendarRange.cjs"),h=require("./components/DatePicker/DatePicker.cjs"),D=require("./components/DatePicker/DateRangePicker.cjs"),N=require("./components/DatePicker/FilterDate.cjs"),O=require("./components/Input/InputFloatingInner.cjs"),P=require("./components/Input/InputReguler.cjs"),S=require("./components/Pagination/Pagination.cjs"),I=require("./components/Tabs/Tabs.cjs"),x=require("./components/Tabs/TabPanel.cjs"),M=require("./components/Table/Table.cjs"),R=require("./components/Virtualization/TableVirtualization.cjs"),v=require("./components/Virtualization/ListVirtualization.cjs"),A=require("./components/SelectDropdownContainer/SelectDropdownContainer.cjs"),F=require("./components/Switch/Switch.cjs"),L=require("./components/ButtonIcon/ButtonIcon.cjs"),E=require("./components/Badges/Badges.cjs"),k=require("./components/Chips/Chips.cjs"),u=require("./components/RadioCheckbox/RadioCheckbox.cjs"),j=require("./components/RadioCheckbox/RadioCheckboxLabel.cjs"),w=require("./components/Breadcrumbs/Breadcrumbs.cjs"),V=require("./components/Sidebar/Sidebar.cjs"),z=require("./components/Collapse/Collapse.cjs"),K=require("./components/Modal/ModalDialog.cjs"),U=require("./components/Timeline/Timeline.cjs"),G=require("./components/FilterContainer/FilterContainer.cjs"),_=require("./components/NumberFormat/NumberFormat.cjs"),H=require("./components/PortalComponent/PortalComponent.cjs"),J=require("./components/Upload/UploadFile.cjs"),Q=require("./components/TruncateComponent/TruncateComponent.cjs"),W=require("./components/Upload/UploadImage.cjs"),Y=require("./components/Textarea/Textarea.cjs"),Z=require("./components/Chart/DoughnutChart.cjs"),$=require("./components/DatePicker/MonthYearPicker.cjs"),X=require("./components/RadioCheckbox/CheckboxTable.cjs"),ee=require("./components/Input/InputNative.cjs"),re=require("./components/Upload/UploadMultipleFile.cjs"),te=require("./components/ErrorMessage/ErrorMessage.cjs"),ae=require("./components/Textarea/TextareaFloatingInner.cjs"),oe=require("./components/Step/Step.cjs"),ne=require("./components/Chart/LineChart.cjs"),ue=require("./components/Tooltip/Tooltip.cjs"),ie=require("./components/ButtonPopover/ButtonPopover.cjs"),se=require("./components/Chart/GradientLineChart.cjs"),ce=require("./components/Chart/GradientBarChart.cjs"),le=require("./components/Chart/PieChart.cjs"),fe=require("./components/Step/StepIndicator.cjs"),de=require("./components/TextEditor/TextEditor.cjs"),me=require("./components/Collapse/CollapseV2.cjs"),be=require("./components/Table/TableSubMobile.cjs"),ge=require("./components/TimeRange/TimeRange.cjs"),pe=require("./components/Textarea/TextareaInnerLabel.cjs"),qe=require("./components/Input/InputInnerLabel.cjs"),Te=require("./components/Text/Text.cjs"),Ce=require("./hooks/useElementOrWindowMediaQuery.cjs"),ye=require("./hooks/useCountdown.cjs"),Be=require("./hooks/useAsyncDebounce.cjs"),he=require("./hooks/useCombinedResizeObserver.cjs"),De=require("./hooks/useStateRef.cjs"),Ne=require("./hooks/useMasonry.cjs"),Oe=require("./hooks/useOtpInput.cjs"),Pe=require("./hooks/usePacked.cjs"),Se=require("./hooks/useDebounce.cjs"),Ie=require("bignumber.js"),i=require("./config/tailwind/typography.cjs"),xe=require("@tanstack/react-table"),Me=require("react-select"),Re=require("react-number-format"),ve=require("./components/Table/Table.config.cjs"),Ae=require("react-toastify"),f=require("./hooks/useDeepCompareEffect.cjs"),Fe=require("./hooks/useMergeRefs.cjs"),Le=require("./hooks/useEventListener.cjs");function Ee(r){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const a in r)if(a!=="default"){const s=Object.getOwnPropertyDescriptor(r,a);Object.defineProperty(o,a,s.get?s:{enumerable:!0,get:()=>r[a]})}}return o.default=r,Object.freeze(o)}const ke=Ee(xe);exports.deepCompareEquals=e.deepCompareEquals;exports.deepMerge=e.deepMerge;exports.deleteKeysImmutable=e.deleteKeysImmutable;exports.deleteKeysMutable=e.deleteKeysMutable;exports.encryptRSAOAEP=e.encryptRSAOAEP;exports.extractElementStringToOriginalValue=e.extractElementStringToOriginalValue;exports.formatDate=e.formatDate;exports.formatDateRange=e.formatDateRange;exports.formatNumber=e.formatNumber;exports.groupByKey=e.groupByKey;exports.isAccurateBigNumber=e.isAccurateBigNumber;exports.isAccurateNumber=e.isAccurateNumber;exports.isObject=e.isObject;exports.parseBigDecimal=e.parseBigDecimal;exports.parseDecimal=e.parseDecimal;exports.parseFileName=e.parseFileName;exports.removeKeyObjectEmptyValue=e.removeKeyObjectEmptyValue;exports.setDigit=e.setDigit;exports.transformArrayMapping=e.transformArrayMapping;exports.transformArrayMappingObjectFC=e.transformArrayMappingObjectFC;exports.transformArrayOfObjectToArray=e.transformArrayOfObjectToArray;exports.transformArrayOfObjectToString=e.transformArrayOfObjectToString;exports.transformBigNumber=e.transformBigNumber;exports.transformBigNumberOpt=e.transformBigNumberOpt;exports.transformDataHistory=e.transformDataHistory;exports.transformLatLong=e.transformLatLong;exports.transformNumber=e.transformNumber;exports.transformSecondTime=e.transformSecondTime;exports.transfromIsNan=e.transfromIsNan;exports.formatBigNumber=c.formatBigNumber;exports.removeTrailingZeros=c.removeTrailingZeros;exports.cookieStorage=d.default;exports.openAlert=m.openAlert;exports.betweenBig=t.betweenBig;exports.lessThanBig=t.lessThanBig;exports.maxBig=t.maxBig;exports.minBig=t.minBig;exports.moreThanBig=t.moreThanBig;exports.BigNumber=l.BigNumber;exports.defaultConfig=l.defaultConfig;exports.convertBigNumbersToStrings=n.convertBigNumbersToStrings;exports.convertNumbersToBigNumbers=n.convertNumbersToBigNumbers;exports.convertTextToJsonBigNumbers=n.convertTextToJsonBigNumbers;exports.ConfigColors=b.default;exports.configScreens=g.default;exports.configNativeScreens=p.default;exports.TPublish=q.default;exports.Button=T.default;exports.Popover=C.default;exports.Calendar=y.default;exports.CalendarRange=B.default;exports.DatePicker=h.default;exports.DateRangePicker=D.default;exports.FilterDate=N.default;exports.InputFloatingInner=O.default;exports.InputReguler=P.default;exports.Pagination=S.default;exports.Tabs=I.default;exports.TabPanel=x.default;exports.Table=M.default;exports.TableVirtualization=R.default;exports.ListVirtualization=v.default;exports.SelectDropdownContainer=A.default;exports.Switch=F.default;exports.ButtonIcon=L.default;exports.Badges=E.default;exports.Chips=k.default;exports.DefaultCheckedChecboxIcon=u.DefaultCheckedChecboxIcon;exports.DefaultRadioChecboxIcon=u.DefaultRadioChecboxIcon;exports.RadioCheckbox=u.default;exports.RadioCheckboxLabel=j.default;exports.Breadcrumbs=w.default;exports.Sidebar=V.default;exports.Collapse=z.default;exports.ModalDialog=K.default;exports.Timeline=U.default;exports.FilterContainer=G.default;exports.NumberFormat=_.default;exports.PortalComponent=H.default;exports.UploadFile=J.default;exports.TruncateComponent=Q.default;exports.UploadImage=W.default;exports.Textarea=Y.default;exports.DoughnutChart=Z.default;exports.MonthYearPicker=$.default;exports.CheckboxTable=X.default;exports.InputNative=ee.default;exports.UploadMultipleFile=re.default;exports.ErrorMessage=te.default;exports.TextareaFloatingInner=ae.default;exports.Step=oe.default;exports.LineChart=ne.default;exports.Tooltip=ue.default;exports.ButtonPopover=ie.default;exports.GradientLineChart=se.default;exports.GradientBarChart=ce.default;exports.PieChart=le.default;exports.StepIndicator=fe.default;exports.TextEditor=de.default;exports.CollapseV2=me.default;exports.TableSubComponent=be.default;exports.TimeRange=ge.default;exports.TextareaInnerLabel=pe.default;exports.InputInnerLabel=qe.default;exports.Text=Te.default;exports.useElementOrWindowMediaQuery=Ce.default;exports.useCountdown=ye.default;exports.useAsyncDebounce=Be.default;exports.useCombinedResizeObserver=he.default;exports.useStateRef=De.default;exports.useMasonry=Ne.default;exports.useOtpInput=Oe.useOtpInput;exports.usePacked=Pe.default;exports.useDebounce=Se.default;exports.TypeBigNumber=Ie;exports.configTypography=i.default;exports.configTypographyLabaBisnis=i.configTypographyLabaBisnis;exports.configTypographyPayhere=i.configTypographyPayhere;exports.utilTable=ke;Object.defineProperty(exports,"SelectDropdownContainerComponents",{enumerable:!0,get:()=>Me.components});Object.defineProperty(exports,"PatternFormat",{enumerable:!0,get:()=>Re.PatternFormat});exports.ConfigTable=ve.ConfigTable;Object.defineProperty(exports,"AlertContainer",{enumerable:!0,get:()=>Ae.ToastContainer});exports.useDeepCompareEffect=f.useDeepCompareEffect;exports.useDeepCompareMemoize=f.useDeepCompareMemoize;exports.useMergeRefs=Fe.useMergeRefs;exports.useEventListener=Le.useEventListener;
package/dist/index.mjs CHANGED
@@ -1,29 +1,29 @@
1
- import { deepCompareEquals as t, deepMerge as a, deleteKeysImmutable as f, deleteKeysMutable as m, encryptRSAOAEP as s, extractElementStringToOriginalValue as p, formatDate as l, formatDateRange as u, formatNumber as n, groupByKey as i, isAccurateBigNumber as d, isAccurateNumber as x, isObject as g, parseBigDecimal as c, parseDecimal as b, parseFileName as C, removeKeyObjectEmptyValue as T, setDigit as y, transformArrayMapping as B, transformArrayMappingObjectFC as h, transformArrayOfObjectToArray as D, transformArrayOfObjectToString as N, transformBigNumber as I, transformBigNumberOpt as S, transformDataHistory as O, transformLatLong as P, transformNumber as A, transformSecondTime as M, transfromIsNan as R } from "./utils/common.mjs";
1
+ import { deepCompareEquals as a, deepMerge as t, deleteKeysImmutable as f, deleteKeysMutable as m, encryptRSAOAEP as s, extractElementStringToOriginalValue as p, formatDate as l, formatDateRange as u, formatNumber as n, groupByKey as d, isAccurateBigNumber as i, isAccurateNumber as x, isObject as g, parseBigDecimal as c, parseDecimal as b, parseFileName as C, removeKeyObjectEmptyValue as T, setDigit as y, transformArrayMapping as B, transformArrayMappingObjectFC as h, transformArrayOfObjectToArray as D, transformArrayOfObjectToString as N, transformBigNumber as I, transformBigNumberOpt as S, transformDataHistory as P, transformLatLong as O, transformNumber as A, transformSecondTime as M, transfromIsNan as R } from "./utils/common.mjs";
2
2
  import { formatBigNumber as F, removeTrailingZeros as L } from "./utils/formatBigNumber.mjs";
3
- import { default as k } from "./utils/cookies.mjs";
3
+ import { default as E } from "./utils/cookies.mjs";
4
4
  import { openAlert as j } from "./components/Alert/index.mjs";
5
5
  import { betweenBig as z, lessThanBig as K, maxBig as U, minBig as G, moreThanBig as q } from "./utils/yup.mjs";
6
6
  import { BigNumber as J, defaultConfig as Q } from "./config/bigNumber/index.mjs";
7
7
  import { convertBigNumbersToStrings as Y, convertNumbersToBigNumbers as Z, convertTextToJsonBigNumbers as X } from "./utils/axiosBigNumber.mjs";
8
8
  import { default as $ } from "./config/tailwind/colors.mjs";
9
9
  import { default as re } from "./config/tailwind/screen.mjs";
10
- import { default as te } from "./config/tailwind/nativeScreen.mjs";
10
+ import { default as ae } from "./config/tailwind/nativeScreen.mjs";
11
11
  import { default as fe } from "./components/TPublish/TPublish.mjs";
12
12
  import { default as se } from "./components/Button/Button.mjs";
13
13
  import { default as le } from "./components/Popover/Popover.mjs";
14
14
  import { default as ne } from "./components/Calendar/Calendar.mjs";
15
- import { default as de } from "./components/Calendar/CalendarRange.mjs";
15
+ import { default as ie } from "./components/Calendar/CalendarRange.mjs";
16
16
  import { default as ge } from "./components/DatePicker/DatePicker.mjs";
17
17
  import { default as be } from "./components/DatePicker/DateRangePicker.mjs";
18
18
  import { default as Te } from "./components/DatePicker/FilterDate.mjs";
19
19
  import { default as Be } from "./components/Input/InputFloatingInner.mjs";
20
20
  import { default as De } from "./components/Input/InputReguler.mjs";
21
21
  import { default as Ie } from "./components/Pagination/Pagination.mjs";
22
- import { default as Oe } from "./components/Tabs/Tabs.mjs";
22
+ import { default as Pe } from "./components/Tabs/Tabs.mjs";
23
23
  import { default as Ae } from "./components/Tabs/TabPanel.mjs";
24
24
  import { default as Re } from "./components/Table/Table.mjs";
25
25
  import { default as Fe } from "./components/Virtualization/TableVirtualization.mjs";
26
- import { default as Ee } from "./components/Virtualization/ListVirtualization.mjs";
26
+ import { default as ke } from "./components/Virtualization/ListVirtualization.mjs";
27
27
  import { default as we } from "./components/SelectDropdownContainer/SelectDropdownContainer.mjs";
28
28
  import { default as Ve } from "./components/Switch/Switch.mjs";
29
29
  import { default as Ke } from "./components/ButtonIcon/ButtonIcon.mjs";
@@ -33,23 +33,23 @@ import { DefaultCheckedChecboxIcon as Qe, DefaultRadioChecboxIcon as We, default
33
33
  import { default as Xe } from "./components/RadioCheckbox/RadioCheckboxLabel.mjs";
34
34
  import { default as $e } from "./components/Breadcrumbs/Breadcrumbs.mjs";
35
35
  import { default as rr } from "./components/Sidebar/Sidebar.mjs";
36
- import { default as tr } from "./components/Collapse/Collapse.mjs";
36
+ import { default as ar } from "./components/Collapse/Collapse.mjs";
37
37
  import { default as fr } from "./components/Modal/ModalDialog.mjs";
38
38
  import { default as sr } from "./components/Timeline/Timeline.mjs";
39
39
  import { default as lr } from "./components/FilterContainer/FilterContainer.mjs";
40
40
  import { default as nr } from "./components/NumberFormat/NumberFormat.mjs";
41
- import { default as dr } from "./components/PortalComponent/PortalComponent.mjs";
41
+ import { default as ir } from "./components/PortalComponent/PortalComponent.mjs";
42
42
  import { default as gr } from "./components/Upload/UploadFile.mjs";
43
43
  import { default as br } from "./components/TruncateComponent/TruncateComponent.mjs";
44
44
  import { default as Tr } from "./components/Upload/UploadImage.mjs";
45
45
  import { default as Br } from "./components/Textarea/Textarea.mjs";
46
46
  import { default as Dr } from "./components/Chart/DoughnutChart.mjs";
47
47
  import { default as Ir } from "./components/DatePicker/MonthYearPicker.mjs";
48
- import { default as Or } from "./components/RadioCheckbox/CheckboxTable.mjs";
48
+ import { default as Pr } from "./components/RadioCheckbox/CheckboxTable.mjs";
49
49
  import { default as Ar } from "./components/Input/InputNative.mjs";
50
50
  import { default as Rr } from "./components/Upload/UploadMultipleFile.mjs";
51
51
  import { default as Fr } from "./components/ErrorMessage/ErrorMessage.mjs";
52
- import { default as Er } from "./components/Textarea/TextareaFloatingInner.mjs";
52
+ import { default as kr } from "./components/Textarea/TextareaFloatingInner.mjs";
53
53
  import { default as wr } from "./components/Step/Step.mjs";
54
54
  import { default as Vr } from "./components/Chart/LineChart.mjs";
55
55
  import { default as Kr } from "./components/Tooltip/Tooltip.mjs";
@@ -60,7 +60,7 @@ import { default as Yr } from "./components/Chart/PieChart.mjs";
60
60
  import { default as Xr } from "./components/Step/StepIndicator.mjs";
61
61
  import { default as $r } from "./components/TextEditor/TextEditor.mjs";
62
62
  import { default as ro } from "./components/Collapse/CollapseV2.mjs";
63
- import { default as to } from "./components/Table/TableSubMobile.mjs";
63
+ import { default as ao } from "./components/Table/TableSubMobile.mjs";
64
64
  import { default as fo } from "./components/TimeRange/TimeRange.mjs";
65
65
  import { default as so } from "./components/Textarea/TextareaInnerLabel.mjs";
66
66
  import { default as lo } from "./components/Input/InputInnerLabel.mjs";
@@ -72,18 +72,20 @@ import { default as yo } from "./hooks/useCombinedResizeObserver.mjs";
72
72
  import { default as ho } from "./hooks/useStateRef.mjs";
73
73
  import { default as No } from "./hooks/useMasonry.mjs";
74
74
  import { useOtpInput as So } from "./hooks/useOtpInput.mjs";
75
- import { default as Po } from "bignumber.js";
76
- import { default as Mo, configTypographyLabaBisnis as Ro, configTypographyPayhere as vo } from "./config/tailwind/typography.mjs";
75
+ import { default as Oo } from "./hooks/usePacked.mjs";
76
+ import { default as Mo } from "./hooks/useDebounce.mjs";
77
+ import { default as vo } from "bignumber.js";
78
+ import { default as Lo, configTypographyLabaBisnis as ko, configTypographyPayhere as Eo } from "./config/tailwind/typography.mjs";
77
79
  import * as e from "@tanstack/react-table";
78
- import { components as Lo } from "react-select";
79
- import { PatternFormat as ko } from "react-number-format";
80
- import { ConfigTable as jo } from "./components/Table/Table.config.mjs";
81
- import { ToastContainer as zo } from "react-toastify";
82
- import { useDeepCompareEffect as Uo, useDeepCompareMemoize as Go } from "./hooks/useDeepCompareEffect.mjs";
83
- import { useMergeRefs as Ho } from "./hooks/useMergeRefs.mjs";
84
- import { useEventListener as Qo } from "./hooks/useEventListener.mjs";
80
+ import { components as jo } from "react-select";
81
+ import { PatternFormat as zo } from "react-number-format";
82
+ import { ConfigTable as Uo } from "./components/Table/Table.config.mjs";
83
+ import { ToastContainer as qo } from "react-toastify";
84
+ import { useDeepCompareEffect as Jo, useDeepCompareMemoize as Qo } from "./hooks/useDeepCompareEffect.mjs";
85
+ import { useMergeRefs as Yo } from "./hooks/useMergeRefs.mjs";
86
+ import { useEventListener as Xo } from "./hooks/useEventListener.mjs";
85
87
  export {
86
- zo as AlertContainer,
88
+ qo as AlertContainer,
87
89
  Ge as Badges,
88
90
  J as BigNumber,
89
91
  $e as Breadcrumbs,
@@ -91,13 +93,13 @@ export {
91
93
  Ke as ButtonIcon,
92
94
  Gr as ButtonPopover,
93
95
  ne as Calendar,
94
- de as CalendarRange,
95
- Or as CheckboxTable,
96
+ ie as CalendarRange,
97
+ Pr as CheckboxTable,
96
98
  He as Chips,
97
- tr as Collapse,
99
+ ar as Collapse,
98
100
  ro as CollapseV2,
99
101
  $ as ConfigColors,
100
- jo as ConfigTable,
102
+ Uo as ConfigTable,
101
103
  ge as DatePicker,
102
104
  be as DateRangePicker,
103
105
  Qe as DefaultCheckedChecboxIcon,
@@ -113,19 +115,19 @@ export {
113
115
  Ar as InputNative,
114
116
  De as InputReguler,
115
117
  Vr as LineChart,
116
- Ee as ListVirtualization,
118
+ ke as ListVirtualization,
117
119
  fr as ModalDialog,
118
120
  Ir as MonthYearPicker,
119
121
  nr as NumberFormat,
120
122
  Ie as Pagination,
121
- ko as PatternFormat,
123
+ zo as PatternFormat,
122
124
  Yr as PieChart,
123
125
  le as Popover,
124
- dr as PortalComponent,
126
+ ir as PortalComponent,
125
127
  Ye as RadioCheckbox,
126
128
  Xe as RadioCheckboxLabel,
127
129
  we as SelectDropdownContainer,
128
- Lo as SelectDropdownContainerComponents,
130
+ jo as SelectDropdownContainerComponents,
129
131
  rr as Sidebar,
130
132
  wr as Step,
131
133
  Xr as StepIndicator,
@@ -133,34 +135,34 @@ export {
133
135
  fe as TPublish,
134
136
  Ae as TabPanel,
135
137
  Re as Table,
136
- to as TableSubComponent,
138
+ ao as TableSubComponent,
137
139
  Fe as TableVirtualization,
138
- Oe as Tabs,
140
+ Pe as Tabs,
139
141
  no as Text,
140
142
  $r as TextEditor,
141
143
  Br as Textarea,
142
- Er as TextareaFloatingInner,
144
+ kr as TextareaFloatingInner,
143
145
  so as TextareaInnerLabel,
144
146
  fo as TimeRange,
145
147
  sr as Timeline,
146
148
  Kr as Tooltip,
147
149
  br as TruncateComponent,
148
- Po as TypeBigNumber,
150
+ vo as TypeBigNumber,
149
151
  gr as UploadFile,
150
152
  Tr as UploadImage,
151
153
  Rr as UploadMultipleFile,
152
154
  z as betweenBig,
153
- te as configNativeScreens,
155
+ ae as configNativeScreens,
154
156
  re as configScreens,
155
- Mo as configTypography,
156
- Ro as configTypographyLabaBisnis,
157
- vo as configTypographyPayhere,
157
+ Lo as configTypography,
158
+ ko as configTypographyLabaBisnis,
159
+ Eo as configTypographyPayhere,
158
160
  Y as convertBigNumbersToStrings,
159
161
  Z as convertNumbersToBigNumbers,
160
162
  X as convertTextToJsonBigNumbers,
161
- k as cookieStorage,
162
- t as deepCompareEquals,
163
- a as deepMerge,
163
+ E as cookieStorage,
164
+ a as deepCompareEquals,
165
+ t as deepMerge,
164
166
  Q as defaultConfig,
165
167
  f as deleteKeysImmutable,
166
168
  m as deleteKeysMutable,
@@ -170,8 +172,8 @@ export {
170
172
  l as formatDate,
171
173
  u as formatDateRange,
172
174
  n as formatNumber,
173
- i as groupByKey,
174
- d as isAccurateBigNumber,
175
+ d as groupByKey,
176
+ i as isAccurateBigNumber,
175
177
  x as isAccurateNumber,
176
178
  g as isObject,
177
179
  K as lessThanBig,
@@ -191,21 +193,23 @@ export {
191
193
  N as transformArrayOfObjectToString,
192
194
  I as transformBigNumber,
193
195
  S as transformBigNumberOpt,
194
- O as transformDataHistory,
195
- P as transformLatLong,
196
+ P as transformDataHistory,
197
+ O as transformLatLong,
196
198
  A as transformNumber,
197
199
  M as transformSecondTime,
198
200
  R as transfromIsNan,
199
201
  Co as useAsyncDebounce,
200
202
  yo as useCombinedResizeObserver,
201
203
  co as useCountdown,
202
- Uo as useDeepCompareEffect,
203
- Go as useDeepCompareMemoize,
204
+ Mo as useDebounce,
205
+ Jo as useDeepCompareEffect,
206
+ Qo as useDeepCompareMemoize,
204
207
  xo as useElementOrWindowMediaQuery,
205
- Qo as useEventListener,
208
+ Xo as useEventListener,
206
209
  No as useMasonry,
207
- Ho as useMergeRefs,
210
+ Yo as useMergeRefs,
208
211
  So as useOtpInput,
212
+ Oo as usePacked,
209
213
  ho as useStateRef,
210
214
  e as utilTable
211
215
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e="2.0.19",o={version:e};exports.default=o;exports.version=e;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e="2.0.20",o={version:e};exports.default=o;exports.version=e;
@@ -1,7 +1,7 @@
1
1
  declare const _default: {
2
2
  "name": "1mpacto-react-ui",
3
3
  "private": false,
4
- "version": "2.0.19",
4
+ "version": "2.0.20",
5
5
  "type": "module",
6
6
  "engines": {
7
7
  "node": ">=20.19.4",
@@ -1,4 +1,4 @@
1
- const o = "2.0.19", s = {
1
+ const o = "2.0.20", s = {
2
2
  version: o
3
3
  };
4
4
  export {
@@ -8,5 +8,7 @@ import { useDeepCompareEffect, useDeepCompareMemoize } from './useDeepCompareEff
8
8
  import { useEventListener } from './useEventListener';
9
9
  import { default as useMasonry, IMasonryLayout } from './useMasonry';
10
10
  import { default as useOtpInput, IUseOtpInput, IUseOtpInputReturn } from './useOtpInput';
11
- export { useElementOrWindowMediaQuery, useCountdown, useAsyncDebounce, useCombinedResizeObserver, useStateRef, useDeepCompareEffect, useDeepCompareMemoize, useMergeRefs, useEventListener, useMasonry, useOtpInput, };
12
- export type { IUseOtpInput, IUseOtpInputReturn, IMasonryLayout, IUseCountdownReturn, IUseCountdown };
11
+ import { default as usePacked, IUsePackedOptions, IUsePackedReturn, TUsePacked } from './usePacked';
12
+ import { default as useDebounce, IUseDebounceOptions, IUseDebounceReturn, TUseDebounce } from './useDebounce';
13
+ export { useElementOrWindowMediaQuery, useCountdown, useAsyncDebounce, useCombinedResizeObserver, useStateRef, useDeepCompareEffect, useDeepCompareMemoize, useMergeRefs, useEventListener, useMasonry, useOtpInput, usePacked, useDebounce, };
14
+ export type { IUseOtpInput, IUseOtpInputReturn, IMasonryLayout, IUseCountdownReturn, IUseCountdown, IUsePackedOptions, IUsePackedReturn, TUsePacked, IUseDebounceOptions, IUseDebounceReturn, TUseDebounce, };
@@ -0,0 +1,61 @@
1
+ /**
2
+ * [ID] : Interface untuk opsi konfigurasi hook useDebounce.
3
+ * [EN] : Interface for useDebounce hook configuration options.
4
+ */
5
+ export interface IUseDebounceOptions {
6
+ /**
7
+ * [ID] : Waktu tunggu debounce dalam milidetik (default: 0).
8
+ * [EN] : Debounce wait time in milliseconds (default: 0).
9
+ */
10
+ wait?: number;
11
+ /**
12
+ * [ID] : Waktu maksimum sebelum fungsi wajib dipanggil, meskipun input terus-menerus (ms).
13
+ * [EN] : Maximum time before function must fire, even under continuous input (ms).
14
+ */
15
+ maxWait?: number;
16
+ }
17
+ /**
18
+ * [ID] : Interface untuk return value hook useDebounce.
19
+ * [EN] : Interface for useDebounce hook return value.
20
+ * @template TArgs - [ID] : Tipe tuple argumen fungsi. [EN] : Function argument tuple type.
21
+ */
22
+ export interface IUseDebounceReturn<TArgs extends unknown[]> {
23
+ /**
24
+ * [ID] : Fungsi yang sudah di-debounce.
25
+ * [EN] : Debounced function.
26
+ */
27
+ debouncedFn: (...args: TArgs) => void;
28
+ /**
29
+ * [ID] : Fungsi untuk membatalkan debounce yang tertunda.
30
+ * [EN] : Function to cancel pending debounce.
31
+ */
32
+ cancel: () => void;
33
+ /**
34
+ * [ID] : Eksekusi langsung panggilan tertunda tanpa menunggu timeout.
35
+ * [EN] : Immediately execute pending call without waiting for timeout.
36
+ */
37
+ flush: () => void;
38
+ /**
39
+ * [ID] : Cek apakah ada panggilan tertunda.
40
+ * [EN] : Check whether a call is pending.
41
+ */
42
+ pending: () => boolean;
43
+ }
44
+ /**
45
+ * [ID] : Type fungsi hook useDebounce.
46
+ * [EN] : useDebounce hook function type.
47
+ * @template TArgs - [ID] : Tipe tuple argumen fungsi. [EN] : Function argument tuple type.
48
+ * @param fn - [ID] : Fungsi sinkron yang akan di-debounce. [EN] : Synchronous function to be debounced.
49
+ * @param options - [ID] : Opsi konfigurasi (opsional). [EN] : Configuration options (optional).
50
+ * @returns [ID] : Objek berisi fungsi debounced, cancel, flush, dan pending.
51
+ * [EN] : Object containing debounced function, cancel, flush, and pending.
52
+ */
53
+ export type TUseDebounce = <TArgs extends unknown[]>(fn: (...args: TArgs) => void, options?: IUseDebounceOptions) => IUseDebounceReturn<TArgs>;
54
+ /**
55
+ * [ID] : Hook untuk melakukan debounce pada fungsi sinkron menggunakan setTimeout.
56
+ * Tahan terhadap spam input berkelanjutan, dengan dukungan maxWait dan flush.
57
+ * [EN] : Hook to debounce a synchronous function using setTimeout.
58
+ * Resilient against continuous input spam, with maxWait and flush support.
59
+ */
60
+ declare const useDebounce: TUseDebounce;
61
+ export default useDebounce;
@@ -0,0 +1,84 @@
1
+ import { default as React } from 'react';
2
+ /**
3
+ * [ID] : Interface untuk opsi konfigurasi hook usePacked.
4
+ * [EN] : Interface for usePacked hook configuration options.
5
+ */
6
+ export interface IUsePackedOptions {
7
+ /**
8
+ * [ID] : Jumlah kolom layout.
9
+ * [EN] : Layout column count.
10
+ */
11
+ columns: number;
12
+ /**
13
+ * [ID] : Jarak horizontal antar item.
14
+ * [EN] : Horizontal gap between items.
15
+ */
16
+ gapX: number;
17
+ /**
18
+ * [ID] : Jarak vertikal antar item.
19
+ * [EN] : Vertical gap between items.
20
+ */
21
+ gapY: number;
22
+ /**
23
+ * [ID] : Aktifkan animasi transisi (opsional).
24
+ * [EN] : Enable transition animation (optional).
25
+ */
26
+ animationEnabled?: boolean;
27
+ /**
28
+ * [ID] : Map nama breakpoint ke lebar minimum (opsional).
29
+ * [EN] : Map of breakpoint name to minimum width (optional).
30
+ */
31
+ breakpoints?: Record<string, number>;
32
+ /**
33
+ * [ID] : Orientasi penempatan item (opsional).
34
+ * [EN] : Item placement orientation (optional).
35
+ */
36
+ orientation?: 'top-bottom' | 'bottom-top';
37
+ /**
38
+ * [ID] : Arah layout (opsional).
39
+ * [EN] : Layout direction (optional).
40
+ */
41
+ direction?: 'ltr' | 'rtl';
42
+ /**
43
+ * [ID] : Waktu debounce untuk resize event dalam milidetik (opsional, default: 150).
44
+ * [EN] : Debounce wait for resize event in milliseconds (optional, default: 150).
45
+ */
46
+ debounceResize?: number;
47
+ }
48
+ /**
49
+ * [ID] : Interface untuk return value hook usePacked.
50
+ * [EN] : Interface for usePacked hook return value.
51
+ */
52
+ export interface IUsePackedReturn {
53
+ /**
54
+ * [ID] : Referensi elemen kontainer DOM.
55
+ * [EN] : DOM container element reference.
56
+ */
57
+ containerRef: React.RefObject<HTMLDivElement | null>;
58
+ /**
59
+ * [ID] : Tinggi kontainer yang dihitung.
60
+ * [EN] : Calculated container height.
61
+ */
62
+ containerHeight: number;
63
+ /**
64
+ * [ID] : Fungsi untuk menghitung ulang layout secara manual.
65
+ * [EN] : Function to manually recalculate layout.
66
+ */
67
+ recalculate: () => void;
68
+ }
69
+ /**
70
+ * [ID] : Type fungsi hook usePacked.
71
+ * [EN] : usePacked hook function type.
72
+ * @param options - [ID] : Opsi konfigurasi layout. [EN] : Layout configuration options.
73
+ * @param dependencies - [ID] : Daftar dependensi untuk memicu hitung ulang.
74
+ * [EN] : Dependency list to trigger recalculation.
75
+ * @returns [ID] : Referensi kontainer, tinggi kontainer, dan fungsi hitung ulang.
76
+ * [EN] : Container ref, container height, and recalculate function.
77
+ */
78
+ export type TUsePacked = (options: IUsePackedOptions, dependencies?: React.DependencyList) => IUsePackedReturn;
79
+ /**
80
+ * [ID] : Hook untuk mengatur layout packed/grid dengan penempatan item otomatis berdasarkan kolom terpendek.
81
+ * [EN] : Hook to manage packed/grid layout with automatic item placement based on shortest column.
82
+ */
83
+ declare const usePacked: TUsePacked;
84
+ export default usePacked;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "1mpacto-react-ui",
3
3
  "private": false,
4
- "version": "2.0.19",
4
+ "version": "2.0.20",
5
5
  "type": "module",
6
6
  "engines": {
7
7
  "node": ">=20.19.4",