@zydon/common 2.9.21 → 2.9.23

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.
Files changed (141) hide show
  1. package/dist/chunk-4734QSYC.js +46 -0
  2. package/dist/chunk-4734QSYC.js.map +1 -0
  3. package/dist/chunk-5KEVIB7P.js +7 -0
  4. package/dist/chunk-5KEVIB7P.js.map +1 -0
  5. package/dist/{chunk-XO2DW5UL.js → chunk-6L44C7QM.js} +2 -2
  6. package/dist/{chunk-Q2AVS24Z.js → chunk-7GJMLPJV.js} +3 -3
  7. package/dist/{chunk-Y5W727NP.js → chunk-7IE367Y6.js} +2 -2
  8. package/dist/{chunk-UJMWTYPH.js → chunk-A7AOWJKX.js} +2 -2
  9. package/dist/{chunk-X4F3O7PX.js → chunk-BKL525ZD.js} +3 -3
  10. package/dist/{chunk-WLRSUL67.js → chunk-E5SBGF5G.js} +2 -2
  11. package/dist/chunk-GTPEQ3CM.js +8 -0
  12. package/dist/chunk-GTPEQ3CM.js.map +1 -0
  13. package/dist/chunk-HFDGIEZC.js +7 -0
  14. package/dist/chunk-HFDGIEZC.js.map +1 -0
  15. package/dist/{chunk-I3B772WD.js → chunk-HW6M33F3.js} +2 -2
  16. package/dist/{chunk-LZQ7OFKO.js → chunk-JUAHRU5E.js} +2 -2
  17. package/dist/{chunk-YXRL4O4H.js → chunk-P2QZJ57W.js} +2 -2
  18. package/dist/{chunk-YXRL4O4H.js.map → chunk-P2QZJ57W.js.map} +1 -1
  19. package/dist/{chunk-7LBBLVDC.js → chunk-PUMCHXCD.js} +2 -2
  20. package/dist/{chunk-TGDOTL22.js → chunk-PVVI3GEL.js} +3 -3
  21. package/dist/{chunk-F7RZH6OK.js → chunk-RU3QT4Q3.js} +2 -2
  22. package/dist/chunk-SV2GIIMQ.js +6 -0
  23. package/dist/chunk-SV2GIIMQ.js.map +1 -0
  24. package/dist/{chunk-JM3SE72J.js → chunk-TAA5KCEG.js} +5 -5
  25. package/dist/chunk-TXJ45CNA.js +7 -0
  26. package/dist/chunk-TXJ45CNA.js.map +1 -0
  27. package/dist/{chunk-YDU3ZCS7.js → chunk-UE7W6ACG.js} +2 -2
  28. package/dist/{chunk-HJPMWQB2.js → chunk-ULVPJ2DF.js} +3 -3
  29. package/dist/{chunk-T3RP2QXG.js → chunk-XUD7JMEF.js} +2 -2
  30. package/dist/{chunk-GLRLKFPS.js → chunk-Y66XXBB3.js} +6 -4
  31. package/dist/chunk-Y66XXBB3.js.map +1 -0
  32. package/dist/{chunk-BVPBGV4Y.js → chunk-ZMXVWURR.js} +2 -2
  33. package/dist/components/Analytics/OverviewAnalytics/index.js +6 -6
  34. package/dist/components/Analytics/PartnerAnalysis/index.js +5 -5
  35. package/dist/components/Analytics/index.js +1 -1
  36. package/dist/components/AutocompleteDetailed/index.js +2 -2
  37. package/dist/components/Avatar/index.d.ts +1 -1
  38. package/dist/components/AvatarButton/index.js +7 -7
  39. package/dist/components/Common/index.js +5 -5
  40. package/dist/components/CopyButton/index.js +2 -2
  41. package/dist/components/DataCards/index.js +2 -2
  42. package/dist/components/DataGrid/index.js +3 -3
  43. package/dist/components/DataView/index.d.ts +1 -1
  44. package/dist/components/DataView/index.js +5 -5
  45. package/dist/components/DynamicDataView/index.js +9 -9
  46. package/dist/components/EasyCropModal/index.js +2 -2
  47. package/dist/components/EmptyContent/index.js +2 -2
  48. package/dist/components/FileUpload/index.js +4 -4
  49. package/dist/components/Filters/index.js +1 -1
  50. package/dist/components/Label/index.js +2 -2
  51. package/dist/components/ListBundles/index.js +2 -2
  52. package/dist/components/ResponsivePopover/index.js +2 -2
  53. package/dist/components/SeoPreview/index.js +2 -2
  54. package/dist/components/SplashScreen/index.js +1 -1
  55. package/dist/components/StepUpDialog/index.js +1 -1
  56. package/dist/components/TextMaxLine/index.js +2 -2
  57. package/dist/components/ToggleTheme/index.js +7 -7
  58. package/dist/components/WebhookCard/index.js +2 -2
  59. package/dist/components/animate/index.js +2 -2
  60. package/dist/components/carousel/index.js +2 -2
  61. package/dist/components/form/Address/index.js +1 -1
  62. package/dist/components/form/AutocompleteDetailed/index.js +2 -2
  63. package/dist/components/form/Field/index.js +1 -1
  64. package/dist/components/form/FileUpload/index.js +4 -4
  65. package/dist/components/form/Password/index.js +2 -2
  66. package/dist/components/form/Password/index.js.map +1 -1
  67. package/dist/components/form/Webhook/index.js +1 -1
  68. package/dist/hooks/useCopyToClipboard.d.ts +1 -0
  69. package/dist/hooks/useCopyToClipboard.js +1 -1
  70. package/dist/hooks/useDatagrid.d.ts +1 -0
  71. package/dist/hooks/useDatagrid.js +1 -1
  72. package/dist/hooks/useDynamicAutocomplete.d.ts +1 -0
  73. package/dist/hooks/useDynamicAutocomplete.js +1 -1
  74. package/dist/hooks/useDynamicAutocomplete.js.map +1 -1
  75. package/dist/hooks/useFiltersSearchParams.d.ts +2 -1
  76. package/dist/hooks/useFiltersSearchParams.js +2 -2
  77. package/dist/hooks/useFiltersSearchParams.js.map +1 -1
  78. package/dist/hooks/useInfiniteScroll.d.ts +1 -0
  79. package/dist/hooks/useInfiniteScroll.js +2 -2
  80. package/dist/hooks/useInfiniteScroll.js.map +1 -1
  81. package/dist/hooks/useLocalStorage.d.ts +6 -5
  82. package/dist/hooks/useLocalStorage.js +1 -1
  83. package/dist/hooks/useOnClickOutside.d.ts +1 -0
  84. package/dist/hooks/useOnClickOutside.js +2 -2
  85. package/dist/hooks/useOnClickOutside.js.map +1 -1
  86. package/dist/hooks/usePagination.d.ts +1 -0
  87. package/dist/hooks/usePagination.js +2 -2
  88. package/dist/hooks/usePagination.js.map +1 -1
  89. package/dist/hooks/useReconciliation.d.ts +1 -0
  90. package/dist/hooks/useReconciliation.js +2 -2
  91. package/dist/hooks/useReconciliation.js.map +1 -1
  92. package/dist/hooks/useResponsive.d.ts +1 -0
  93. package/dist/hooks/useResponsive.js +1 -1
  94. package/dist/hooks/useScrollOffSetTop.d.ts +1 -0
  95. package/dist/hooks/useScrollOffSetTop.js +1 -1
  96. package/dist/hooks/useScrollOffSetTop.js.map +1 -1
  97. package/dist/hooks/useSnackbar.d.ts +1 -1
  98. package/dist/hooks/useThemeToggle.d.ts +1 -0
  99. package/dist/hooks/useThemeToggle.js +6 -6
  100. package/dist/hooks/useUploadImage.d.ts +1 -0
  101. package/dist/hooks/useUploadImage.js +2 -2
  102. package/dist/hooks/useUploadImage.js.map +1 -1
  103. package/dist/index.d.ts +3 -3
  104. package/dist/index.js +6 -6
  105. package/dist/theme/core/index.d.ts +1 -1
  106. package/dist/theme/core/index.js +3 -3
  107. package/dist/theme/styles/index.d.ts +15 -14
  108. package/dist/theme/styles/index.js +1 -1
  109. package/dist/theme/theme-provider.js +5 -5
  110. package/dist/theme/with-settings/index.js +3 -3
  111. package/package.json +1 -1
  112. package/dist/chunk-2HAPOY5M.js +0 -8
  113. package/dist/chunk-2HAPOY5M.js.map +0 -1
  114. package/dist/chunk-2ZJUGM2S.js +0 -7
  115. package/dist/chunk-2ZJUGM2S.js.map +0 -1
  116. package/dist/chunk-CFNATBO2.js +0 -6
  117. package/dist/chunk-CFNATBO2.js.map +0 -1
  118. package/dist/chunk-GLRLKFPS.js.map +0 -1
  119. package/dist/chunk-RMYYQLRJ.js +0 -7
  120. package/dist/chunk-RMYYQLRJ.js.map +0 -1
  121. package/dist/chunk-U4I7JPER.js +0 -7
  122. package/dist/chunk-U4I7JPER.js.map +0 -1
  123. package/dist/chunk-YPL4KIKN.js +0 -46
  124. package/dist/chunk-YPL4KIKN.js.map +0 -1
  125. package/dist/{chunk-XO2DW5UL.js.map → chunk-6L44C7QM.js.map} +0 -0
  126. package/dist/{chunk-Q2AVS24Z.js.map → chunk-7GJMLPJV.js.map} +0 -0
  127. package/dist/{chunk-Y5W727NP.js.map → chunk-7IE367Y6.js.map} +0 -0
  128. package/dist/{chunk-UJMWTYPH.js.map → chunk-A7AOWJKX.js.map} +0 -0
  129. package/dist/{chunk-X4F3O7PX.js.map → chunk-BKL525ZD.js.map} +0 -0
  130. package/dist/{chunk-WLRSUL67.js.map → chunk-E5SBGF5G.js.map} +0 -0
  131. package/dist/{chunk-I3B772WD.js.map → chunk-HW6M33F3.js.map} +0 -0
  132. package/dist/{chunk-LZQ7OFKO.js.map → chunk-JUAHRU5E.js.map} +0 -0
  133. package/dist/{chunk-7LBBLVDC.js.map → chunk-PUMCHXCD.js.map} +0 -0
  134. package/dist/{chunk-TGDOTL22.js.map → chunk-PVVI3GEL.js.map} +0 -0
  135. package/dist/{chunk-F7RZH6OK.js.map → chunk-RU3QT4Q3.js.map} +0 -0
  136. package/dist/{chunk-JM3SE72J.js.map → chunk-TAA5KCEG.js.map} +0 -0
  137. package/dist/{chunk-YDU3ZCS7.js.map → chunk-UE7W6ACG.js.map} +0 -0
  138. package/dist/{chunk-HJPMWQB2.js.map → chunk-ULVPJ2DF.js.map} +0 -0
  139. package/dist/{chunk-T3RP2QXG.js.map → chunk-XUD7JMEF.js.map} +0 -0
  140. package/dist/{chunk-BVPBGV4Y.js.map → chunk-ZMXVWURR.js.map} +0 -0
  141. package/dist/{index-5a5e5dc8.d.ts → index-c8f1e6e7.d.ts} +12 -12
@@ -90,7 +90,7 @@ declare const SelectionOverlay: _emotion_styled.StyledComponent<_mui_material_St
90
90
  }, keyof _mui_material_OverridableComponent.CommonProps | keyof _mui_material_Stack.StackOwnProps> & _mui_system.MUIStyledCommonProps<_mui_material_styles.Theme>, {}, {}>;
91
91
  declare const SelectionCount: _emotion_styled.StyledComponent<_mui_material_Typography.TypographyOwnProps & _mui_material_OverridableComponent.CommonProps & Omit<Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & {
92
92
  ref?: ((instance: HTMLSpanElement | null) => void) | react.RefObject<HTMLSpanElement> | null | undefined;
93
- }, "typography" | "zIndex" | "fontFamily" | "fontWeight" | "children" | "pt" | "className" | "style" | "classes" | "sx" | "variant" | "border" | "boxShadow" | "alignContent" | "alignItems" | "alignSelf" | "bottom" | "boxSizing" | "color" | "columnGap" | "display" | "flexBasis" | "flexDirection" | "flexGrow" | "flexShrink" | "flexWrap" | "fontSize" | "fontStyle" | "gridAutoColumns" | "gridAutoFlow" | "gridAutoRows" | "gridTemplateAreas" | "gridTemplateColumns" | "gridTemplateRows" | "height" | "justifyContent" | "justifyItems" | "justifySelf" | "left" | "letterSpacing" | "lineHeight" | "marginBlockEnd" | "marginBlockStart" | "marginBottom" | "marginInlineEnd" | "marginInlineStart" | "marginLeft" | "marginRight" | "marginTop" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "order" | "paddingBlockEnd" | "paddingBlockStart" | "paddingBottom" | "paddingInlineEnd" | "paddingInlineStart" | "paddingLeft" | "paddingRight" | "paddingTop" | "position" | "right" | "rowGap" | "textAlign" | "textOverflow" | "textTransform" | "top" | "visibility" | "whiteSpace" | "width" | "borderBottom" | "borderColor" | "borderLeft" | "borderRadius" | "borderRight" | "borderTop" | "flex" | "gap" | "gridArea" | "gridColumn" | "gridRow" | "margin" | "marginBlock" | "marginInline" | "overflow" | "padding" | "paddingBlock" | "paddingInline" | "bgcolor" | "m" | "mt" | "mr" | "mb" | "ml" | "mx" | "marginX" | "my" | "marginY" | "p" | "pr" | "pb" | "pl" | "px" | "paddingX" | "py" | "paddingY" | "displayPrint" | "align" | "gutterBottom" | "noWrap" | "paragraph" | "variantMapping"> & _mui_system.MUIStyledCommonProps<_mui_material_styles.Theme>, {}, {}>;
93
+ }, "fontFamily" | "children" | "pt" | "className" | "style" | "classes" | "sx" | "variant" | "border" | "boxShadow" | "fontWeight" | "zIndex" | "alignContent" | "alignItems" | "alignSelf" | "bottom" | "boxSizing" | "color" | "columnGap" | "display" | "flexBasis" | "flexDirection" | "flexGrow" | "flexShrink" | "flexWrap" | "fontSize" | "fontStyle" | "gridAutoColumns" | "gridAutoFlow" | "gridAutoRows" | "gridTemplateAreas" | "gridTemplateColumns" | "gridTemplateRows" | "height" | "justifyContent" | "justifyItems" | "justifySelf" | "left" | "letterSpacing" | "lineHeight" | "marginBlockEnd" | "marginBlockStart" | "marginBottom" | "marginInlineEnd" | "marginInlineStart" | "marginLeft" | "marginRight" | "marginTop" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "order" | "paddingBlockEnd" | "paddingBlockStart" | "paddingBottom" | "paddingInlineEnd" | "paddingInlineStart" | "paddingLeft" | "paddingRight" | "paddingTop" | "position" | "right" | "rowGap" | "textAlign" | "textOverflow" | "textTransform" | "top" | "visibility" | "whiteSpace" | "width" | "borderBottom" | "borderColor" | "borderLeft" | "borderRadius" | "borderRight" | "borderTop" | "flex" | "gap" | "gridArea" | "gridColumn" | "gridRow" | "margin" | "marginBlock" | "marginInline" | "overflow" | "padding" | "paddingBlock" | "paddingInline" | "bgcolor" | "m" | "mt" | "mr" | "mb" | "ml" | "mx" | "marginX" | "my" | "marginY" | "p" | "pr" | "pb" | "pl" | "px" | "paddingX" | "py" | "paddingY" | "typography" | "displayPrint" | "align" | "gutterBottom" | "noWrap" | "paragraph" | "variantMapping"> & _mui_system.MUIStyledCommonProps<_mui_material_styles.Theme>, {}, {}>;
94
94
  declare const SelectionActions: _emotion_styled.StyledComponent<_mui_material_Stack.StackOwnProps & _mui_material_OverridableComponent.CommonProps & Omit<Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
95
95
  ref?: ((instance: HTMLDivElement | null) => void) | react.RefObject<HTMLDivElement> | null | undefined;
96
96
  }, keyof _mui_material_OverridableComponent.CommonProps | keyof _mui_material_Stack.StackOwnProps> & _mui_system.MUIStyledCommonProps<_mui_material_styles.Theme>, {}, {}>;
@@ -1,8 +1,8 @@
1
- export { b as DesktopFooter, a as EnhancedMoreActions, c as Toolbar, d as default } from '../../chunk-TGDOTL22.js';
1
+ export { b as DesktopFooter, a as EnhancedMoreActions, c as Toolbar, d as default } from '../../chunk-PVVI3GEL.js';
2
2
  import '../../chunk-3753JOQM.js';
3
3
  import '../../chunk-4F2NKGF6.js';
4
- import '../../chunk-T3RP2QXG.js';
5
- import '../../chunk-LZQ7OFKO.js';
4
+ import '../../chunk-XUD7JMEF.js';
5
+ import '../../chunk-JUAHRU5E.js';
6
6
  import '../../chunk-NIQW2J3M.js';
7
7
  import '../../chunk-6U5LS7MP.js';
8
8
  import '../../chunk-PRWQQJDL.js';
@@ -15,6 +15,6 @@ import '../../chunk-I4PPSW36.js';
15
15
  import '../../chunk-JGASCDBR.js';
16
16
  import '../../chunk-TPOL2YXC.js';
17
17
  import '../../chunk-LQRRMVFN.js';
18
- import '../../chunk-2ZJUGM2S.js';
19
- import '../../chunk-GLRLKFPS.js';
18
+ import '../../chunk-TXJ45CNA.js';
19
+ import '../../chunk-Y66XXBB3.js';
20
20
  //# sourceMappingURL=index.js.map
@@ -1,17 +1,17 @@
1
1
  export { a as FilterOperator, b as SortType } from '../../chunk-P64QBDAO.js';
2
2
  import '../../chunk-4P2L7UJA.js';
3
- import { a as a$4 } from '../../chunk-WLRSUL67.js';
3
+ import { a as a$4 } from '../../chunk-E5SBGF5G.js';
4
4
  import { d, c } from '../../chunk-A7QSCOUE.js';
5
5
  import { h, a as a$6 } from '../../chunk-OF6623HG.js';
6
- import { d as d$1 } from '../../chunk-TGDOTL22.js';
6
+ import { d as d$1 } from '../../chunk-PVVI3GEL.js';
7
7
  import '../../chunk-3753JOQM.js';
8
8
  import '../../chunk-4F2NKGF6.js';
9
- import '../../chunk-T3RP2QXG.js';
10
- import '../../chunk-LZQ7OFKO.js';
9
+ import '../../chunk-XUD7JMEF.js';
10
+ import '../../chunk-JUAHRU5E.js';
11
11
  import '../../chunk-NIQW2J3M.js';
12
12
  import '../../chunk-6U5LS7MP.js';
13
13
  import '../../chunk-PRWQQJDL.js';
14
- import { a as a$5 } from '../../chunk-Y5W727NP.js';
14
+ import { a as a$5 } from '../../chunk-7IE367Y6.js';
15
15
  import '../../chunk-5J35UAV6.js';
16
16
  import { e } from '../../chunk-XUDTPZHF.js';
17
17
  import '../../chunk-UVPQR2Q2.js';
@@ -25,14 +25,14 @@ import { a } from '../../chunk-JGASCDBR.js';
25
25
  import '../../chunk-TPOL2YXC.js';
26
26
  import '../../chunk-IAOMC4C4.js';
27
27
  import { a as a$1 } from '../../chunk-E3R7W7GK.js';
28
- import { a as a$7 } from '../../chunk-2HAPOY5M.js';
28
+ import { a as a$7 } from '../../chunk-GTPEQ3CM.js';
29
29
  import '../../chunk-LQRRMVFN.js';
30
- import { b } from '../../chunk-2ZJUGM2S.js';
30
+ import { b } from '../../chunk-TXJ45CNA.js';
31
31
  import '../../chunk-FJBC6QA5.js';
32
32
  import '../../chunk-POTVACYB.js';
33
33
  import '../../chunk-ET3WPQIO.js';
34
- import '../../chunk-GLRLKFPS.js';
35
- import '../../chunk-CFNATBO2.js';
34
+ import '../../chunk-Y66XXBB3.js';
35
+ import '../../chunk-SV2GIIMQ.js';
36
36
  import { a as a$2 } from '../../chunk-GNNZB7DN.js';
37
37
  import { memo, useState, useMemo, useCallback, useEffect, useRef } from 'react';
38
38
  import Yo from 'react-fast-compare';
@@ -1,7 +1,7 @@
1
- export { a as default } from '../../chunk-XO2DW5UL.js';
1
+ export { a as default } from '../../chunk-6L44C7QM.js';
2
2
  import '../../chunk-KWHHEUVE.js';
3
3
  import '../../chunk-KGLU4CR2.js';
4
4
  import '../../chunk-JGASCDBR.js';
5
5
  import '../../chunk-TPOL2YXC.js';
6
- import '../../chunk-2ZJUGM2S.js';
6
+ import '../../chunk-TXJ45CNA.js';
7
7
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- export { a as default } from '../../chunk-LZQ7OFKO.js';
1
+ export { a as default } from '../../chunk-JUAHRU5E.js';
2
2
  import '../../chunk-NIQW2J3M.js';
3
- import '../../chunk-GLRLKFPS.js';
3
+ import '../../chunk-Y66XXBB3.js';
4
4
  //# sourceMappingURL=index.js.map
@@ -1,16 +1,16 @@
1
- export { r as ContentType, s as FileContentType, k as FileThumbnail, a as HelperText, b as MultiFilePreview, u as MultipleFileUpload, v as MultipleImageUpload, c as SingleFilePreview, w as SingleFileUpload, x as SingleImageUpload, y as UploadAvatar, z as UploadSimpleBox, n as compressImageWithoutCrop, m as convertToWebP, p as encodeFilenameForHeader, f as fileFormat, d as fileFormatByMimeType, e as fileFormatByName, i as fileNameByUrl, g as fileThumb, j as fileThumbnailClasses, h as fileTypeByUrl, o as getFileNameFromContentDisposition, l as isImageFile, q as useDropzoneUploader, t as useFileUploadService } from '../../chunk-HJPMWQB2.js';
1
+ export { r as ContentType, s as FileContentType, k as FileThumbnail, a as HelperText, b as MultiFilePreview, u as MultipleFileUpload, v as MultipleImageUpload, c as SingleFilePreview, w as SingleFileUpload, x as SingleImageUpload, y as UploadAvatar, z as UploadSimpleBox, n as compressImageWithoutCrop, m as convertToWebP, p as encodeFilenameForHeader, f as fileFormat, d as fileFormatByMimeType, e as fileFormatByName, i as fileNameByUrl, g as fileThumb, j as fileThumbnailClasses, h as fileTypeByUrl, o as getFileNameFromContentDisposition, l as isImageFile, q as useDropzoneUploader, t as useFileUploadService } from '../../chunk-ULVPJ2DF.js';
2
2
  import '../../chunk-7VHRKBKI.js';
3
- import '../../chunk-XO2DW5UL.js';
3
+ import '../../chunk-6L44C7QM.js';
4
4
  import '../../chunk-KWHHEUVE.js';
5
5
  import '../../chunk-KGLU4CR2.js';
6
6
  import '../../chunk-OF6623HG.js';
7
7
  import '../../chunk-3KHPM6SJ.js';
8
8
  import '../../chunk-6U5LS7MP.js';
9
9
  import '../../chunk-5J35UAV6.js';
10
- import '../../chunk-I3B772WD.js';
10
+ import '../../chunk-HW6M33F3.js';
11
11
  import '../../chunk-JGASCDBR.js';
12
12
  import '../../chunk-TPOL2YXC.js';
13
13
  import '../../chunk-XNKYJHNL.js';
14
- import '../../chunk-2ZJUGM2S.js';
14
+ import '../../chunk-TXJ45CNA.js';
15
15
  import '../../chunk-SVX7EWV4.js';
16
16
  //# sourceMappingURL=index.js.map
@@ -8,7 +8,7 @@ import { a as a$4 } from '../../chunk-BT6L5NSF.js';
8
8
  import { a as a$6 } from '../../chunk-JGASCDBR.js';
9
9
  import '../../chunk-TPOL2YXC.js';
10
10
  import { a as a$8 } from '../../chunk-LQRRMVFN.js';
11
- import { b } from '../../chunk-2ZJUGM2S.js';
11
+ import { b } from '../../chunk-TXJ45CNA.js';
12
12
  import { b as b$1, a as a$1, d, f, j as j$1, i } from '../../chunk-CG6F55WN.js';
13
13
  import '../../chunk-VFDADOF2.js';
14
14
  import { memo, useState, useMemo, useEffect, useCallback, useRef } from 'react';
@@ -1,3 +1,3 @@
1
- export { a as default } from '../../chunk-7LBBLVDC.js';
2
- import '../../chunk-GLRLKFPS.js';
1
+ export { a as default } from '../../chunk-PUMCHXCD.js';
2
+ import '../../chunk-Y66XXBB3.js';
3
3
  //# sourceMappingURL=index.js.map
@@ -1,9 +1,9 @@
1
1
  import { a as a$2 } from '../../chunk-RUABKHIV.js';
2
2
  import { a as a$1 } from '../../chunk-4F2NKGF6.js';
3
- import { o, a, f, k as k$1 } from '../../chunk-YDU3ZCS7.js';
3
+ import { o, a, f, k as k$1 } from '../../chunk-UE7W6ACG.js';
4
4
  import '../../chunk-JGASCDBR.js';
5
5
  import '../../chunk-TPOL2YXC.js';
6
- import '../../chunk-GLRLKFPS.js';
6
+ import '../../chunk-Y66XXBB3.js';
7
7
  import { Fragment } from 'react';
8
8
  import k from '@mui/material/Stack';
9
9
  import { styled } from '@mui/material/styles';
@@ -1,3 +1,3 @@
1
- export { a as default } from '../../chunk-WLRSUL67.js';
2
- import '../../chunk-2ZJUGM2S.js';
1
+ export { a as default } from '../../chunk-E5SBGF5G.js';
2
+ import '../../chunk-TXJ45CNA.js';
3
3
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
- import { a as a$1 } from '../../chunk-F7RZH6OK.js';
1
+ import { a as a$1 } from '../../chunk-RU3QT4Q3.js';
2
2
  import { a } from '../../chunk-JGASCDBR.js';
3
3
  import '../../chunk-TPOL2YXC.js';
4
- import '../../chunk-2ZJUGM2S.js';
4
+ import '../../chunk-TXJ45CNA.js';
5
5
  import p from '@mui/material/Box';
6
6
  import o from '@mui/material/Stack';
7
7
  import r from '@mui/material/Typography';
@@ -1,4 +1,4 @@
1
- import { k } from '../../chunk-GLRLKFPS.js';
1
+ import { k } from '../../chunk-Y66XXBB3.js';
2
2
  import t from '@mui/material/Box';
3
3
  import { m } from 'framer-motion';
4
4
  import { jsx, jsxs } from 'react/jsx-runtime';
@@ -1,4 +1,4 @@
1
- import { a as a$3 } from '../../chunk-YXRL4O4H.js';
1
+ import { a as a$3 } from '../../chunk-P2QZJ57W.js';
2
2
  import { a as a$4 } from '../../chunk-BT3FTBTT.js';
3
3
  import { a as a$2 } from '../../chunk-XAPSXJZO.js';
4
4
  import { a as a$1 } from '../../chunk-JGASCDBR.js';
@@ -1,3 +1,3 @@
1
- export { a as default } from '../../chunk-F7RZH6OK.js';
2
- import '../../chunk-2ZJUGM2S.js';
1
+ export { a as default } from '../../chunk-RU3QT4Q3.js';
2
+ import '../../chunk-TXJ45CNA.js';
3
3
  //# sourceMappingURL=index.js.map
@@ -1,13 +1,13 @@
1
- export { a as default } from '../../chunk-UJMWTYPH.js';
2
- import '../../chunk-U4I7JPER.js';
3
- import '../../chunk-JM3SE72J.js';
1
+ export { a as default } from '../../chunk-A7AOWJKX.js';
2
+ import '../../chunk-5KEVIB7P.js';
3
+ import '../../chunk-TAA5KCEG.js';
4
4
  import '../../chunk-373WGZZL.js';
5
5
  import '../../chunk-WUFEPE2G.js';
6
6
  import '../../chunk-BX2DSNRV.js';
7
- import '../../chunk-X4F3O7PX.js';
8
- import '../../chunk-Q2AVS24Z.js';
7
+ import '../../chunk-BKL525ZD.js';
8
+ import '../../chunk-7GJMLPJV.js';
9
9
  import '../../chunk-LNESYSHP.js';
10
- import '../../chunk-YPL4KIKN.js';
10
+ import '../../chunk-4734QSYC.js';
11
11
  import '../../chunk-HBOBTNB5.js';
12
- import '../../chunk-GLRLKFPS.js';
12
+ import '../../chunk-Y66XXBB3.js';
13
13
  //# sourceMappingURL=index.js.map
@@ -1,11 +1,11 @@
1
1
  import { d } from '../../chunk-JNDZPNQJ.js';
2
- import { a as a$3 } from '../../chunk-7LBBLVDC.js';
2
+ import { a as a$3 } from '../../chunk-PUMCHXCD.js';
3
3
  import { a as a$2 } from '../../chunk-UVPQR2Q2.js';
4
4
  import { a } from '../../chunk-CO2KQFUN.js';
5
5
  import { a as a$4 } from '../../chunk-JGASCDBR.js';
6
6
  import '../../chunk-TPOL2YXC.js';
7
7
  import { a as a$1 } from '../../chunk-LQRRMVFN.js';
8
- import '../../chunk-GLRLKFPS.js';
8
+ import '../../chunk-Y66XXBB3.js';
9
9
  import E from '@mui/material/Button';
10
10
  import N from '@mui/material/FormControlLabel';
11
11
  import O from '@mui/material/IconButton';
@@ -1,3 +1,3 @@
1
- export { t as AnimatePresence, r as MotionContainer, s as MotionViewport, l as TRANSITION, u as m, v as useMotionValueEvent, w as useScroll, b as varBgColor, c as varBgKenburns, d as varBgPan, h as varBounce, i as varContainer, j as varFade, k as varFlip, a as varHover, m as varPath, n as varRotate, o as varScale, p as varSlide, f as varTranEnter, g as varTranExit, e as varTranHover, q as varZoom } from '../../chunk-I3B772WD.js';
2
- import '../../chunk-2ZJUGM2S.js';
1
+ export { t as AnimatePresence, r as MotionContainer, s as MotionViewport, l as TRANSITION, u as m, v as useMotionValueEvent, w as useScroll, b as varBgColor, c as varBgKenburns, d as varBgPan, h as varBounce, i as varContainer, j as varFade, k as varFlip, a as varHover, m as varPath, n as varRotate, o as varScale, p as varSlide, f as varTranEnter, g as varTranExit, e as varTranHover, q as varZoom } from '../../chunk-HW6M33F3.js';
2
+ import '../../chunk-TXJ45CNA.js';
3
3
  //# sourceMappingURL=index.js.map
@@ -1,5 +1,5 @@
1
- export { j as ArrowButton, f as Carousel, g as CarouselArrowBasicButtons, i as CarouselArrowFloatButtons, h as CarouselArrowNumberButtons, k as CarouselDotButtons, l as CarouselProgressBar, c as CarouselSlide, n as CarouselThumb, m as CarouselThumbs, e as StyledContainer, d as StyledRoot, a as carouselBreakpoints, b as carouselClasses, o as useCarousel } from '../../chunk-YDU3ZCS7.js';
1
+ export { j as ArrowButton, f as Carousel, g as CarouselArrowBasicButtons, i as CarouselArrowFloatButtons, h as CarouselArrowNumberButtons, k as CarouselDotButtons, l as CarouselProgressBar, c as CarouselSlide, n as CarouselThumb, m as CarouselThumbs, e as StyledContainer, d as StyledRoot, a as carouselBreakpoints, b as carouselClasses, o as useCarousel } from '../../chunk-UE7W6ACG.js';
2
2
  import '../../chunk-JGASCDBR.js';
3
3
  import '../../chunk-TPOL2YXC.js';
4
- import '../../chunk-GLRLKFPS.js';
4
+ import '../../chunk-Y66XXBB3.js';
5
5
  //# sourceMappingURL=index.js.map
@@ -1,6 +1,6 @@
1
1
  import { a as a$3 } from '../../../chunk-MSCOIJQ5.js';
2
2
  import { a } from '../../../chunk-X64QHBVQ.js';
3
- import { a as a$1 } from '../../../chunk-YXRL4O4H.js';
3
+ import { a as a$1 } from '../../../chunk-P2QZJ57W.js';
4
4
  import '../../../chunk-RTC7H5E5.js';
5
5
  import { a as a$2 } from '../../../chunk-T745PFSO.js';
6
6
  import '../../../chunk-BT6L5NSF.js';
@@ -1,6 +1,6 @@
1
- import { a } from '../../../chunk-BVPBGV4Y.js';
1
+ import { a } from '../../../chunk-ZMXVWURR.js';
2
2
  import '../../../chunk-VR3K2Y2C.js';
3
- import '../../../chunk-2ZJUGM2S.js';
3
+ import '../../../chunk-TXJ45CNA.js';
4
4
  import { useFormContext, Controller } from 'react-hook-form';
5
5
  import { jsx } from 'react/jsx-runtime';
6
6
 
@@ -1,2 +1,2 @@
1
- export { a as default } from '../../../chunk-YXRL4O4H.js';
1
+ export { a as default } from '../../../chunk-P2QZJ57W.js';
2
2
  //# sourceMappingURL=index.js.map
@@ -1,17 +1,17 @@
1
- import { x, u, v, w } from '../../../chunk-HJPMWQB2.js';
1
+ import { x, u, v, w } from '../../../chunk-ULVPJ2DF.js';
2
2
  import '../../../chunk-7VHRKBKI.js';
3
- import '../../../chunk-XO2DW5UL.js';
3
+ import '../../../chunk-6L44C7QM.js';
4
4
  import '../../../chunk-KWHHEUVE.js';
5
5
  import '../../../chunk-KGLU4CR2.js';
6
6
  import '../../../chunk-OF6623HG.js';
7
7
  import '../../../chunk-3KHPM6SJ.js';
8
8
  import '../../../chunk-6U5LS7MP.js';
9
9
  import '../../../chunk-5J35UAV6.js';
10
- import '../../../chunk-I3B772WD.js';
10
+ import '../../../chunk-HW6M33F3.js';
11
11
  import '../../../chunk-JGASCDBR.js';
12
12
  import '../../../chunk-TPOL2YXC.js';
13
13
  import '../../../chunk-XNKYJHNL.js';
14
- import '../../../chunk-2ZJUGM2S.js';
14
+ import '../../../chunk-TXJ45CNA.js';
15
15
  import '../../../chunk-SVX7EWV4.js';
16
16
  import { useFormContext, Controller } from 'react-hook-form';
17
17
  import { useState, useEffect, useMemo, useRef } from 'react';
@@ -1,4 +1,4 @@
1
- import { a } from '../../../chunk-YXRL4O4H.js';
1
+ import { a } from '../../../chunk-P2QZJ57W.js';
2
2
  import { d } from '../../../chunk-A3QLGMSB.js';
3
3
  import { a as a$1 } from '../../../chunk-JGASCDBR.js';
4
4
  import '../../../chunk-TPOL2YXC.js';
@@ -8,7 +8,7 @@ import y from '@mui/material/IconButton';
8
8
  import N from '@mui/material/InputAdornment';
9
9
  import { jsx, jsxs } from 'react/jsx-runtime';
10
10
 
11
- var O=({name:o,sx:P,rules:n,passwordSize:d$1,specialCharacter:i,upperCaseChar:p,numberChar:l,showErrorMessage:x,match:r,helperText:m,InputProps:u,showButtonViewPassword:I=!0,...g})=>{let{watch:f}=useFormContext(),v=f(o),[t,C]=useState(!1),{hasNumberChar:V,hasSpecialCharacter:A,hasUpperCaseChar:F,isLengthValid:S}=d(v,d$1,l,i,p),H=(!A||!F||!S||!V)&&!x?"none":void 0;return jsx(a,{"data-intercom-target":o,...g,name:o,type:t?"text":"password",InputProps:{...u,endAdornment:jsxs(N,{position:"end",children:[u?.endAdornment,I&&jsx(y,{onClick:()=>C(!t),edge:"end","aria-label":"Mostrar/Ocultar senha",tabIndex:-1,children:jsx(a$1,{icon:t?"VIEW_ON":"VIEW_OFF"})})]})},rules:{...n,validate:{...n?.validate,validationPassword:h=>{let e=d(h,d$1,l,i,p);return !e.hasNumberChar||!e.hasSpecialCharacter||!e.hasUpperCaseChar||!e.isLengthValid?"Senha inv\xE1lida":r&&r.fieldPassword&&f(r.fieldPassword)!==h?"As senhas devem ser iguais":!0}}},sx:{...P,"& .MuiFormHelperText-root":{display:m?void 0:H}},forceShowHelperText:!0,helperText:m})},G=O;
11
+ var O=({name:o,sx:P,rules:n,passwordSize:d$1,specialCharacter:i,upperCaseChar:p,numberChar:l,showErrorMessage:x,match:r,helperText:m,InputProps:u,showButtonViewPassword:I=!0,...g})=>{let{watch:f}=useFormContext(),v=f(o),[t,C]=useState(!1),{hasNumberChar:V,hasSpecialCharacter:A,hasUpperCaseChar:F,isLengthValid:S}=d(v,d$1,l,i,p),H=(!A||!F||!S||!V)&&!x?"none":void 0;return jsx(a,{"data-intercom-target":o,...g,name:o,type:t?"text":"password",InputProps:{...u,endAdornment:jsxs(N,{position:"end",children:[u?.endAdornment,I&&jsx(y,{onClick:()=>C(!t),edge:"end","aria-label":"Mostrar/Ocultar senha",tabIndex:-1,children:jsx(a$1,{icon:t?"VIEW_OFF":"VIEW_ON"})})]})},rules:{...n,validate:{...n?.validate,validationPassword:h=>{let e=d(h,d$1,l,i,p);return !e.hasNumberChar||!e.hasSpecialCharacter||!e.hasUpperCaseChar||!e.isLengthValid?"Senha inv\xE1lida":r&&r.fieldPassword&&f(r.fieldPassword)!==h?"As senhas devem ser iguais":!0}}},sx:{...P,"& .MuiFormHelperText-root":{display:m?void 0:H}},forceShowHelperText:!0,helperText:m})},G=O;
12
12
 
13
13
  export { G as default };
14
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/form/Password/index.tsx"],"names":["useState","useFormContext","IconButton","InputAdornment","jsx","jsxs","Password","name","sx","rules","passwordSize","specialCharacter","upperCaseChar","numberChar","showErrorMessage","match","helperText","InputProps","showButtonViewPassword","other","watch","password","showPassword","setShowPassword","hasNumberChar","hasSpecialCharacter","hasUpperCaseChar","isLengthValid","validatePassword","display","Field_default","Icon_default","v","validation","Password_default"],"mappings":"gLAAA,OAAS,YAAAA,MAAgB,QACzB,OAAS,kBAAAC,MAAsB,kBAC/B,OAAOC,MAAgB,2BACvB,OAAOC,MAAoB,+BAwDjB,OAUM,OAAAC,EAVN,QAAAC,MAAA,oBAhDV,IAAMC,EAAW,CAAC,CAChB,KAAAC,EACA,GAAAC,EACA,MAAAC,EACA,aAAAC,EACA,iBAAAC,EACA,cAAAC,EACA,WAAAC,EACA,iBAAAC,EACA,MAAAC,EACA,WAAAC,EACA,WAAAC,EACA,uBAAAC,EAAyB,GACzB,GAAGC,CACL,IAAqB,CACnB,GAAM,CAAE,MAAAC,CAAM,EAAInB,EAAe,EAC3BoB,EAAWD,EAAMb,CAAI,EACrB,CAACe,EAAcC,CAAe,EAAIvB,EAAS,EAAK,EAChD,CACJ,cAAAwB,EACA,oBAAAC,EACA,iBAAAC,EACA,cAAAC,CACF,EAAIC,EACFP,EACAX,EACAG,EACAF,EACAC,CACF,EAQMiB,GALH,CAACJ,GACA,CAACC,GACD,CAACC,GACD,CAACH,IACH,CAACV,EAC8B,OAAS,OAE1C,OACEV,EAAC0B,EAAA,CACC,uBAAsBvB,EACrB,GAAGY,EACJ,KAAMZ,EACN,KAAMe,EAAe,OAAS,WAC9B,WAAY,CACV,GAAGL,EACH,aACEZ,EAACF,EAAA,CAAe,SAAS,MACtB,UAAAc,GAAY,aAEZC,GACCd,EAACF,EAAA,CACC,QAAS,IAAMqB,EAAgB,CAACD,CAAY,EAC5C,KAAK,MACL,aAAW,wBACX,SAAU,GAEV,SAAAlB,EAAC2B,EAAA,CAAK,KAAMT,EAAe,UAAY,WAAY,EACrD,GAEJ,CAEJ,EACA,MAAO,CACL,GAAGb,EACH,SAAU,CACR,GAAGA,GAAO,SACV,mBAAqBuB,GAAc,CACjC,IAAMC,EAAaL,EACjBI,EACAtB,EACAG,EACAF,EACAC,CACF,EAEA,MACE,CAACqB,EAAW,eACZ,CAACA,EAAW,qBACZ,CAACA,EAAW,kBACZ,CAACA,EAAW,cAEL,oBAELlB,GAASA,EAAM,eACKK,EAAML,EAAM,aAAa,IAEzBiB,EAAU,6BAG3B,EACT,CACF,CACF,EACA,GAAI,CACF,GAAGxB,EACH,4BAA6B,CAC3B,QAASQ,EAAa,OAAYa,CACpC,CACF,EACA,oBAAmB,GACnB,WAAYb,EACd,CAEJ,EAEOkB,EAAQ5B","sourcesContent":["import { useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport IconButton from '@mui/material/IconButton';\nimport InputAdornment from '@mui/material/InputAdornment';\n\nimport Field from 'components/form/Field';\nimport Icon from 'components/Icon';\nimport { validatePassword } from 'utils/validators';\n\nimport { PasswordProps } from './props';\n\nconst Password = ({\n name,\n sx,\n rules,\n passwordSize,\n specialCharacter,\n upperCaseChar,\n numberChar,\n showErrorMessage,\n match,\n helperText,\n InputProps,\n showButtonViewPassword = true,\n ...other\n}: PasswordProps) => {\n const { watch } = useFormContext();\n const password = watch(name);\n const [showPassword, setShowPassword] = useState(false);\n const {\n hasNumberChar,\n hasSpecialCharacter,\n hasUpperCaseChar,\n isLengthValid,\n } = validatePassword(\n password,\n passwordSize,\n numberChar,\n specialCharacter,\n upperCaseChar,\n );\n\n const hideHelperText =\n (!hasSpecialCharacter ||\n !hasUpperCaseChar ||\n !isLengthValid ||\n !hasNumberChar) &&\n !showErrorMessage;\n const display = hideHelperText ? 'none' : undefined;\n\n return (\n <Field\n data-intercom-target={name}\n {...other}\n name={name}\n type={showPassword ? 'text' : 'password'}\n InputProps={{\n ...InputProps,\n endAdornment: (\n <InputAdornment position=\"end\">\n {InputProps?.endAdornment}\n\n {showButtonViewPassword && (\n <IconButton\n onClick={() => setShowPassword(!showPassword)}\n edge=\"end\"\n aria-label=\"Mostrar/Ocultar senha\"\n tabIndex={-1}\n >\n <Icon icon={showPassword ? 'VIEW_ON' : 'VIEW_OFF'} />\n </IconButton>\n )}\n </InputAdornment>\n ),\n }}\n rules={{\n ...rules,\n validate: {\n ...rules?.validate,\n validationPassword: (v: string) => {\n const validation = validatePassword(\n v,\n passwordSize,\n numberChar,\n specialCharacter,\n upperCaseChar,\n );\n\n if (\n !validation.hasNumberChar ||\n !validation.hasSpecialCharacter ||\n !validation.hasUpperCaseChar ||\n !validation.isLengthValid\n )\n return 'Senha inválida';\n\n if (match && match.fieldPassword) {\n const passwordValue = watch(match.fieldPassword);\n\n if (passwordValue !== v) return 'As senhas devem ser iguais';\n }\n\n return true;\n },\n },\n }}\n sx={{\n ...sx,\n '& .MuiFormHelperText-root': {\n display: helperText ? undefined : display,\n },\n }}\n forceShowHelperText\n helperText={helperText}\n />\n );\n};\n\nexport default Password;\n"]}
1
+ {"version":3,"sources":["../../../../src/components/form/Password/index.tsx"],"names":["useState","useFormContext","IconButton","InputAdornment","jsx","jsxs","Password","name","sx","rules","passwordSize","specialCharacter","upperCaseChar","numberChar","showErrorMessage","match","helperText","InputProps","showButtonViewPassword","other","watch","password","showPassword","setShowPassword","hasNumberChar","hasSpecialCharacter","hasUpperCaseChar","isLengthValid","validatePassword","display","Field_default","Icon_default","v","validation","Password_default"],"mappings":"gLAAA,OAAS,YAAAA,MAAgB,QACzB,OAAS,kBAAAC,MAAsB,kBAC/B,OAAOC,MAAgB,2BACvB,OAAOC,MAAoB,+BAwDjB,OAUM,OAAAC,EAVN,QAAAC,MAAA,oBAhDV,IAAMC,EAAW,CAAC,CAChB,KAAAC,EACA,GAAAC,EACA,MAAAC,EACA,aAAAC,EACA,iBAAAC,EACA,cAAAC,EACA,WAAAC,EACA,iBAAAC,EACA,MAAAC,EACA,WAAAC,EACA,WAAAC,EACA,uBAAAC,EAAyB,GACzB,GAAGC,CACL,IAAqB,CACnB,GAAM,CAAE,MAAAC,CAAM,EAAInB,EAAe,EAC3BoB,EAAWD,EAAMb,CAAI,EACrB,CAACe,EAAcC,CAAe,EAAIvB,EAAS,EAAK,EAChD,CACJ,cAAAwB,EACA,oBAAAC,EACA,iBAAAC,EACA,cAAAC,CACF,EAAIC,EACFP,EACAX,EACAG,EACAF,EACAC,CACF,EAQMiB,GALH,CAACJ,GACA,CAACC,GACD,CAACC,GACD,CAACH,IACH,CAACV,EAC8B,OAAS,OAE1C,OACEV,EAAC0B,EAAA,CACC,uBAAsBvB,EACrB,GAAGY,EACJ,KAAMZ,EACN,KAAMe,EAAe,OAAS,WAC9B,WAAY,CACV,GAAGL,EACH,aACEZ,EAACF,EAAA,CAAe,SAAS,MACtB,UAAAc,GAAY,aAEZC,GACCd,EAACF,EAAA,CACC,QAAS,IAAMqB,EAAgB,CAACD,CAAY,EAC5C,KAAK,MACL,aAAW,wBACX,SAAU,GAEV,SAAAlB,EAAC2B,EAAA,CAAK,KAAMT,EAAe,WAAa,UAAW,EACrD,GAEJ,CAEJ,EACA,MAAO,CACL,GAAGb,EACH,SAAU,CACR,GAAGA,GAAO,SACV,mBAAqBuB,GAAc,CACjC,IAAMC,EAAaL,EACjBI,EACAtB,EACAG,EACAF,EACAC,CACF,EAEA,MACE,CAACqB,EAAW,eACZ,CAACA,EAAW,qBACZ,CAACA,EAAW,kBACZ,CAACA,EAAW,cAEL,oBAELlB,GAASA,EAAM,eACKK,EAAML,EAAM,aAAa,IAEzBiB,EAAU,6BAG3B,EACT,CACF,CACF,EACA,GAAI,CACF,GAAGxB,EACH,4BAA6B,CAC3B,QAASQ,EAAa,OAAYa,CACpC,CACF,EACA,oBAAmB,GACnB,WAAYb,EACd,CAEJ,EAEOkB,EAAQ5B","sourcesContent":["import { useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport IconButton from '@mui/material/IconButton';\nimport InputAdornment from '@mui/material/InputAdornment';\n\nimport Field from 'components/form/Field';\nimport Icon from 'components/Icon';\nimport { validatePassword } from 'utils/validators';\n\nimport { PasswordProps } from './props';\n\nconst Password = ({\n name,\n sx,\n rules,\n passwordSize,\n specialCharacter,\n upperCaseChar,\n numberChar,\n showErrorMessage,\n match,\n helperText,\n InputProps,\n showButtonViewPassword = true,\n ...other\n}: PasswordProps) => {\n const { watch } = useFormContext();\n const password = watch(name);\n const [showPassword, setShowPassword] = useState(false);\n const {\n hasNumberChar,\n hasSpecialCharacter,\n hasUpperCaseChar,\n isLengthValid,\n } = validatePassword(\n password,\n passwordSize,\n numberChar,\n specialCharacter,\n upperCaseChar,\n );\n\n const hideHelperText =\n (!hasSpecialCharacter ||\n !hasUpperCaseChar ||\n !isLengthValid ||\n !hasNumberChar) &&\n !showErrorMessage;\n const display = hideHelperText ? 'none' : undefined;\n\n return (\n <Field\n data-intercom-target={name}\n {...other}\n name={name}\n type={showPassword ? 'text' : 'password'}\n InputProps={{\n ...InputProps,\n endAdornment: (\n <InputAdornment position=\"end\">\n {InputProps?.endAdornment}\n\n {showButtonViewPassword && (\n <IconButton\n onClick={() => setShowPassword(!showPassword)}\n edge=\"end\"\n aria-label=\"Mostrar/Ocultar senha\"\n tabIndex={-1}\n >\n <Icon icon={showPassword ? 'VIEW_OFF' : 'VIEW_ON'} />\n </IconButton>\n )}\n </InputAdornment>\n ),\n }}\n rules={{\n ...rules,\n validate: {\n ...rules?.validate,\n validationPassword: (v: string) => {\n const validation = validatePassword(\n v,\n passwordSize,\n numberChar,\n specialCharacter,\n upperCaseChar,\n );\n\n if (\n !validation.hasNumberChar ||\n !validation.hasSpecialCharacter ||\n !validation.hasUpperCaseChar ||\n !validation.isLengthValid\n )\n return 'Senha inválida';\n\n if (match && match.fieldPassword) {\n const passwordValue = watch(match.fieldPassword);\n\n if (passwordValue !== v) return 'As senhas devem ser iguais';\n }\n\n return true;\n },\n },\n }}\n sx={{\n ...sx,\n '& .MuiFormHelperText-root': {\n display: helperText ? undefined : display,\n },\n }}\n forceShowHelperText\n helperText={helperText}\n />\n );\n};\n\nexport default Password;\n"]}
@@ -1,4 +1,4 @@
1
- import { a as a$1 } from '../../../chunk-YXRL4O4H.js';
1
+ import { a as a$1 } from '../../../chunk-P2QZJ57W.js';
2
2
  import { a as a$2 } from '../../../chunk-T745PFSO.js';
3
3
  import { a as a$3 } from '../../../chunk-VTWYBXPN.js';
4
4
  import '../../../chunk-BT6L5NSF.js';
@@ -4,6 +4,7 @@ type ReturnType = {
4
4
  copy: CopyFn;
5
5
  copiedText: CopiedValue;
6
6
  };
7
+
7
8
  declare const useCopyToClipboard: () => ReturnType;
8
9
 
9
10
  export { useCopyToClipboard as default };
@@ -1,2 +1,2 @@
1
- export { a as default } from '../chunk-CFNATBO2.js';
1
+ export { a as default } from '../chunk-SV2GIIMQ.js';
2
2
  //# sourceMappingURL=useCopyToClipboard.js.map
@@ -9,6 +9,7 @@ interface State {
9
9
  sort?: string;
10
10
  dir?: 'asc' | 'desc';
11
11
  }
12
+
12
13
  declare const useDatagrid: ({ page, perPage, dir, search, searchValue, sort }?: State) => {
13
14
  apiRef: MutableRefObject<GridApiPremium>;
14
15
  page: number;
@@ -1,2 +1,2 @@
1
- export { a as default } from '../chunk-RMYYQLRJ.js';
1
+ export { a as default } from '../chunk-HFDGIEZC.js';
2
2
  //# sourceMappingURL=useDatagrid.js.map
@@ -18,6 +18,7 @@ interface UseDynamicAutocompleteConfig<TItem> {
18
18
  mapOption?: ((item: TItem) => Option) | MapOptionConfig;
19
19
  onSelect?: (value: string, item?: TItem) => void;
20
20
  }
21
+
21
22
  declare const useDynamicAutocomplete: <TItem>({ fieldPath, useQuery, queryParams, mapOption, onSelect, }: UseDynamicAutocompleteConfig<TItem>) => {
22
23
  data: {
23
24
  items: TItem[];
@@ -2,7 +2,7 @@ import { a } from '../chunk-GNNZB7DN.js';
2
2
  import { useMemo, useState, useRef, useCallback, useEffect } from 'react';
3
3
  import { useFormContext, useWatch } from 'react-hook-form';
4
4
 
5
- var X=n=>n,Y={value:"id",label:"name"},Z=n=>{if(typeof n=="function")return n;let u=n??Y;return s=>({label:String(s[u.label]??""),value:String(s[u.value]??"")})},_=({fieldPath:n,useQuery:u,queryParams:s={},mapOption:i,onSelect:p})=>{let g=useMemo(()=>Z(i),[i]),U=typeof i=="object"&&i!==null?i.label:"name",{control:w,setValue:x}=useFormContext(),[h,F]=useState(!1),[I,S]=useState(0),[m,b]=useState([]),[A,y]=useState(!0),T=useRef(!1),D=s.perPage||25,j=`${n}.id`,C=`${n}.${U}`,f=useWatch({control:w,name:j}),O=useWatch({control:w,name:C}),[P,V]=useState(),v=a(P,400),q=P!==v,H=useCallback(e=>{V(e||void 0);},[]),E=useCallback(()=>{V(void 0);},[]),{data:M,isLoading:N,isFetching:r}=u({...s,search:v,page:I},{skip:!h}),d=useMemo(()=>M?.items||[],[M]);useEffect(()=>{S(0),b([]),y(!0);},[v]),useEffect(()=>{r||!h||(b(e=>{if(I===0)return d;let t=new Set(e.map(l=>String(l.id??""))),a=d.filter(l=>!t.has(String(l.id??"")));return [...e,...a]}),y(d.length>=D),T.current=!1);},[d,r,I,D,h]);let k=useMemo(()=>{let e=m.map(g);return f&&O&&!e.some(t=>String(t.value)===String(f))&&e.unshift({label:O,value:f}),e.filter(t=>t.value!==null&&t.value!==void 0)},[m,f,O,g]),Q=useCallback(e=>{let t=k.find(a=>String(a.value)===String(e))?.label;if(x(C,t),p){let a=m.find(l=>String(g(l).value)===String(e));p(e,a);}},[k,x,C,p,m,g]),W=useCallback(()=>{F(!0);},[]),z=useCallback(()=>{F(!1),S(0),b([]),y(!0),E();},[E]),B=useCallback(()=>{!r&&!T.current&&A&&(T.current=!0,S(e=>e+1));},[r,A]);return {data:M,options:k,loading:N||r,onSearch:H,onSelectOption:Q,onOpen:W,onClose:z,onScrollEnd:B,filterOptions:X,noOptionsText:q?"Carregando...":void 0}},oe=_;
5
+ var X=n=>n,Y={value:"id",label:"name"},Z=n=>{if(typeof n=="function")return n;let u=n??Y;return s=>({label:String(s[u.label]??""),value:String(s[u.value]??"")})},_=({fieldPath:n,useQuery:u,queryParams:s={},mapOption:i,onSelect:d})=>{let m=useMemo(()=>Z(i),[i]),j=typeof i=="object"&&i!==null?i.label:"name",{control:D,setValue:R}=useFormContext(),[h,w]=useState(!1),[y,S]=useState(0),[f,I]=useState([]),[x,b]=useState(!0),C=useRef(!1),F=s.perPage||25,H=`${n}.id`,M=`${n}.${j}`,p=useWatch({control:D,name:H}),O=useWatch({control:D,name:M}),[V,E]=useState(),T=a(V,400),L=V!==T,N=useCallback(e=>{E(e||void 0);},[]),U=useCallback(()=>{E(void 0);},[]),{data:k,isLoading:W,isFetching:r}=u({...s,search:T,page:y},{skip:!h}),g=useMemo(()=>k?.items||[],[k]);useEffect(()=>{S(0),I([]),b(!0);},[T]),useEffect(()=>{r||!h||(I(e=>{if(y===0)return g;let t=new Set(e.map(c=>String(c.id??""))),a=g.filter(c=>!t.has(String(c.id??"")));return [...e,...a]}),b(g.length>=F),C.current=!1);},[g,r,y,F,h]);let v=useMemo(()=>{let e=f.map(m);return p&&O&&!e.some(t=>String(t.value)===String(p))&&e.unshift({label:O,value:p}),e.filter(t=>t.value!==null&&t.value!==void 0)},[f,p,O,m]),q=useCallback(e=>{let t=v.find(a=>String(a.value)===String(e))?.label;if(R(M,t),d){let a=f.find(c=>String(m(c).value)===String(e));d(e,a);}},[v,R,M,d,f,m]),z=useCallback(()=>{w(!0);},[]),B=useCallback(()=>{w(!1),S(0),I([]),b(!0),U();},[U]),G=useCallback(()=>{!r&&!C.current&&x&&(C.current=!0,S(e=>e+1));},[r,x]);return {data:k,options:v,loading:W||r,onSearch:N,onSelectOption:q,onOpen:z,onClose:B,onScrollEnd:G,filterOptions:X,noOptionsText:L?"Carregando...":void 0}},oe=_;
6
6
 
7
7
  export { oe as default };
8
8
  //# sourceMappingURL=useDynamicAutocomplete.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hooks/useDynamicAutocomplete.ts"],"names":["useCallback","useEffect","useMemo","useRef","useState","useFormContext","useWatch","passthrough","o","defaultMapKeys","resolveMapper","mapOption","keys","item","useDynamicAutocomplete","fieldPath","useQuery","queryParams","onSelect","mapper","labelKey","control","setValue","open","setOpen","page","setPage","allItems","setAllItems","hasMore","setHasMore","loadingMoreRef","perPage","idField","nameField","entityId","entityName","inputValue","setInputValue","search","useDebounceValue_default","searching","onSearch","term","finishSearch","data","isLoading","isFetching","currentPageItems","prev","existingIds","i","unique","options","list","opt","handleSelectOption","value","label","option","handleOpen","handleClose","handleScrollEnd","p","useDynamicAutocomplete_default"],"mappings":"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","sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { useFormContext, useWatch } from 'react-hook-form';\n\nimport { Option } from 'types/option';\n\nimport useDebounceValue from './useDebounceValue';\n\nconst passthrough = (o: Option[]) => o;\n\ntype MapOptionConfig = { value: string; label: string };\n\nconst defaultMapKeys: MapOptionConfig = { value: 'id', label: 'name' };\n\nconst resolveMapper = <TItem>(\n mapOption?: ((item: TItem) => Option) | MapOptionConfig,\n): ((item: TItem) => Option) => {\n if (typeof mapOption === 'function') return mapOption;\n const keys = mapOption ?? defaultMapKeys;\n return (item: TItem) => ({\n label: String((item as Record<string, unknown>)[keys.label] ?? ''),\n value: String((item as Record<string, unknown>)[keys.value] ?? ''),\n });\n};\n\nexport interface UseDynamicAutocompleteConfig<TItem> {\n /** Form field path — watches `${fieldPath}.id` and `${fieldPath}.{mapOption.label}` */\n fieldPath: string;\n /** RTK Query hook (e.g. useGetCategoriesQuery) */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n useQuery: (...args: any[]) => {\n data?: { items: TItem[] };\n isLoading: boolean;\n isFetching: boolean;\n };\n /** Static query params merged with { search } on each call */\n queryParams?: Record<string, unknown>;\n /**\n * Map an API entity to an Option { label, value }.\n * Also determines the form field name: `${fieldPath}.${mapOption.label}`.\n * - Config: `{ value: 'code', label: 'description' }`\n * - Function: falls back to `${fieldPath}.name`\n * - Omit: defaults to `{ value: 'id', label: 'name' }`\n */\n mapOption?: ((item: TItem) => Option) | MapOptionConfig;\n /** Called after an option is selected, with the raw item if found. */\n onSelect?: (value: string, item?: TItem) => void;\n}\n\nconst useDynamicAutocomplete = <TItem>({\n fieldPath,\n useQuery,\n queryParams = {},\n mapOption,\n onSelect,\n}: UseDynamicAutocompleteConfig<TItem>) => {\n const mapper = useMemo(() => resolveMapper(mapOption), [mapOption]);\n const labelKey =\n typeof mapOption === 'object' && mapOption !== null\n ? mapOption.label\n : 'name';\n const { control, setValue } = useFormContext();\n const [open, setOpen] = useState(false);\n const [page, setPage] = useState(0);\n const [allItems, setAllItems] = useState<TItem[]>([]);\n const [hasMore, setHasMore] = useState(true);\n const loadingMoreRef = useRef(false);\n\n const perPage = (queryParams.perPage as number) || 25;\n\n const idField = `${fieldPath}.id`;\n const nameField = `${fieldPath}.${labelKey}`;\n\n const entityId = useWatch({ control, name: idField });\n const entityName = useWatch({ control, name: nameField });\n\n // Simple debounced search\n const [inputValue, setInputValue] = useState<string>();\n const search = useDebounceValue(inputValue, 400);\n const searching = inputValue !== search;\n\n const onSearch = useCallback((term?: string) => {\n setInputValue(term || undefined);\n }, []);\n\n const finishSearch = useCallback(() => {\n setInputValue(undefined);\n }, []);\n\n const { data, isLoading, isFetching } = useQuery(\n { ...queryParams, search, page },\n { skip: !open },\n );\n\n const currentPageItems = useMemo(() => data?.items || [], [data]);\n\n useEffect(() => {\n setPage(0);\n setAllItems([]);\n setHasMore(true);\n }, [search]);\n\n useEffect(() => {\n if (isFetching || !open) return;\n\n setAllItems(prev => {\n if (page === 0) return currentPageItems;\n const existingIds = new Set(\n prev.map(i => String((i as Record<string, unknown>).id ?? '')),\n );\n const unique = currentPageItems.filter(\n i => !existingIds.has(String((i as Record<string, unknown>).id ?? '')),\n );\n return [...prev, ...unique];\n });\n\n setHasMore(currentPageItems.length >= perPage);\n loadingMoreRef.current = false;\n }, [currentPageItems, isFetching, page, perPage, open]);\n\n const options = useMemo(() => {\n const list = allItems.map(mapper);\n\n if (\n entityId &&\n entityName &&\n !list.some(item => String(item.value) === String(entityId))\n ) {\n list.unshift({ label: entityName, value: entityId });\n }\n\n return list.filter(opt => opt.value !== null && opt.value !== undefined);\n }, [allItems, entityId, entityName, mapper]);\n\n const handleSelectOption = useCallback(\n (value: string) => {\n const label = options.find(\n option => String(option.value) === String(value),\n )?.label;\n setValue(nameField, label);\n\n if (onSelect) {\n const item = allItems.find(\n i => String(mapper(i).value) === String(value),\n );\n onSelect(value, item);\n }\n },\n [options, setValue, nameField, onSelect, allItems, mapper],\n );\n\n const handleOpen = useCallback(() => {\n setOpen(true);\n }, []);\n\n const handleClose = useCallback(() => {\n setOpen(false);\n setPage(0);\n setAllItems([]);\n setHasMore(true);\n finishSearch();\n }, [finishSearch]);\n\n const handleScrollEnd = useCallback(() => {\n if (!isFetching && !loadingMoreRef.current && hasMore) {\n loadingMoreRef.current = true;\n setPage(p => p + 1);\n }\n }, [isFetching, hasMore]);\n\n return {\n data,\n options,\n loading: isLoading || isFetching,\n onSearch,\n onSelectOption: handleSelectOption,\n onOpen: handleOpen,\n onClose: handleClose,\n onScrollEnd: handleScrollEnd,\n filterOptions: passthrough,\n noOptionsText: searching ? 'Carregando...' : undefined,\n };\n};\n\nexport default useDynamicAutocomplete;\n"]}
1
+ {"version":3,"sources":["../../src/hooks/useDynamicAutocomplete.ts"],"names":["useCallback","useEffect","useMemo","useRef","useState","useFormContext","useWatch","passthrough","o","defaultMapKeys","resolveMapper","mapOption","keys","item","useDynamicAutocomplete","fieldPath","useQuery","queryParams","onSelect","mapper","labelKey","control","setValue","open","setOpen","page","setPage","allItems","setAllItems","hasMore","setHasMore","loadingMoreRef","perPage","idField","nameField","entityId","entityName","inputValue","setInputValue","search","useDebounceValue_default","searching","onSearch","term","finishSearch","data","isLoading","isFetching","currentPageItems","prev","existingIds","i","unique","options","list","opt","handleSelectOption","value","label","option","handleOpen","handleClose","handleScrollEnd","p","useDynamicAutocomplete_default"],"mappings":"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","sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { useFormContext, useWatch } from 'react-hook-form';\n\nimport { Option } from 'types/option';\n\nimport useDebounceValue from './useDebounceValue';\nimport type {\n MapOptionConfig,\n UseDynamicAutocompleteConfig,\n} from './useDynamicAutocomplete.types';\n\nconst passthrough = (o: Option[]) => o;\n\nconst defaultMapKeys: MapOptionConfig = { value: 'id', label: 'name' };\n\nconst resolveMapper = <TItem>(\n mapOption?: ((item: TItem) => Option) | MapOptionConfig,\n): ((item: TItem) => Option) => {\n if (typeof mapOption === 'function') return mapOption;\n const keys = mapOption ?? defaultMapKeys;\n return (item: TItem) => ({\n label: String((item as Record<string, unknown>)[keys.label] ?? ''),\n value: String((item as Record<string, unknown>)[keys.value] ?? ''),\n });\n};\n\nconst useDynamicAutocomplete = <TItem>({\n fieldPath,\n useQuery,\n queryParams = {},\n mapOption,\n onSelect,\n}: UseDynamicAutocompleteConfig<TItem>) => {\n const mapper = useMemo(() => resolveMapper(mapOption), [mapOption]);\n const labelKey =\n typeof mapOption === 'object' && mapOption !== null\n ? mapOption.label\n : 'name';\n const { control, setValue } = useFormContext();\n const [open, setOpen] = useState(false);\n const [page, setPage] = useState(0);\n const [allItems, setAllItems] = useState<TItem[]>([]);\n const [hasMore, setHasMore] = useState(true);\n const loadingMoreRef = useRef(false);\n\n const perPage = (queryParams.perPage as number) || 25;\n\n const idField = `${fieldPath}.id`;\n const nameField = `${fieldPath}.${labelKey}`;\n\n const entityId = useWatch({ control, name: idField });\n const entityName = useWatch({ control, name: nameField });\n\n // Simple debounced search\n const [inputValue, setInputValue] = useState<string>();\n const search = useDebounceValue(inputValue, 400);\n const searching = inputValue !== search;\n\n const onSearch = useCallback((term?: string) => {\n setInputValue(term || undefined);\n }, []);\n\n const finishSearch = useCallback(() => {\n setInputValue(undefined);\n }, []);\n\n const { data, isLoading, isFetching } = useQuery(\n { ...queryParams, search, page },\n { skip: !open },\n );\n\n const currentPageItems = useMemo(() => data?.items || [], [data]);\n\n useEffect(() => {\n setPage(0);\n setAllItems([]);\n setHasMore(true);\n }, [search]);\n\n useEffect(() => {\n if (isFetching || !open) return;\n\n setAllItems(prev => {\n if (page === 0) return currentPageItems;\n const existingIds = new Set(\n prev.map(i => String((i as Record<string, unknown>).id ?? '')),\n );\n const unique = currentPageItems.filter(\n i => !existingIds.has(String((i as Record<string, unknown>).id ?? '')),\n );\n return [...prev, ...unique];\n });\n\n setHasMore(currentPageItems.length >= perPage);\n loadingMoreRef.current = false;\n }, [currentPageItems, isFetching, page, perPage, open]);\n\n const options = useMemo(() => {\n const list = allItems.map(mapper);\n\n if (\n entityId &&\n entityName &&\n !list.some(item => String(item.value) === String(entityId))\n ) {\n list.unshift({ label: entityName, value: entityId });\n }\n\n return list.filter(opt => opt.value !== null && opt.value !== undefined);\n }, [allItems, entityId, entityName, mapper]);\n\n const handleSelectOption = useCallback(\n (value: string) => {\n const label = options.find(\n option => String(option.value) === String(value),\n )?.label;\n setValue(nameField, label);\n\n if (onSelect) {\n const item = allItems.find(\n i => String(mapper(i).value) === String(value),\n );\n onSelect(value, item);\n }\n },\n [options, setValue, nameField, onSelect, allItems, mapper],\n );\n\n const handleOpen = useCallback(() => {\n setOpen(true);\n }, []);\n\n const handleClose = useCallback(() => {\n setOpen(false);\n setPage(0);\n setAllItems([]);\n setHasMore(true);\n finishSearch();\n }, [finishSearch]);\n\n const handleScrollEnd = useCallback(() => {\n if (!isFetching && !loadingMoreRef.current && hasMore) {\n loadingMoreRef.current = true;\n setPage(p => p + 1);\n }\n }, [isFetching, hasMore]);\n\n return {\n data,\n options,\n loading: isLoading || isFetching,\n onSearch,\n onSelectOption: handleSelectOption,\n onOpen: handleOpen,\n onClose: handleClose,\n onScrollEnd: handleScrollEnd,\n filterOptions: passthrough,\n noOptionsText: searching ? 'Carregando...' : undefined,\n };\n};\n\nexport default useDynamicAutocomplete;\nexport type {\n UseDynamicAutocompleteConfig,\n} from './useDynamicAutocomplete.types';\n"]}
@@ -1,4 +1,4 @@
1
- import { FilterValue, Type, Period, ThisYearMode } from '../types/period.js';
1
+ import { Type, FilterValue, Period, ThisYearMode } from '../types/period.js';
2
2
 
3
3
  interface UseFiltersSearchParamsOptions {
4
4
  type?: keyof typeof Type;
@@ -8,6 +8,7 @@ interface UseFiltersSearchParamsOptions {
8
8
  defaultPeriod?: keyof typeof Period;
9
9
  thisYearMode?: keyof typeof ThisYearMode;
10
10
  }
11
+
11
12
  declare const useFiltersSearchParams: ({ type, paramKey, dataKey, defaultValue, defaultPeriod, thisYearMode, }?: UseFiltersSearchParamsOptions) => [FilterValue, (value: FilterValue) => void];
12
13
 
13
14
  export { useFiltersSearchParams as default };
@@ -2,7 +2,7 @@ import { e, j, i, h } from '../chunk-CG6F55WN.js';
2
2
  import '../chunk-VFDADOF2.js';
3
3
  import { useState, useRef, useEffect, useCallback } from 'react';
4
4
 
5
- var u=typeof window>"u",T=({type:t="FREE",paramKey:o=h.paramKey,dataKey:n=h.dataKey,defaultValue:F,defaultPeriod:S,thisYearMode:a}={})=>{let[P,f]=useState(()=>{let e$1=F??e(t,S,a);if(u)return e$1;let r=new URLSearchParams(window.location.search);return j(r,{paramKey:o,dataKey:n},{type:t,thisYearMode:a})??e$1}),s=useRef({paramKey:o,dataKey:n});s.current={paramKey:o,dataKey:n};let d=useRef({type:t,thisYearMode:a});d.current={type:t,thisYearMode:a},useEffect(()=>{if(u)return;let e=()=>{let r=new URLSearchParams(window.location.search),i=j(r,s.current,d.current);i&&f(i);};return window.addEventListener("popstate",e),()=>window.removeEventListener("popstate",e)},[]);let y=useCallback(e=>{if(f(e),u)return;let r=new URLSearchParams(window.location.search),w=i(e,s.current,r).toString(),E=`${window.location.pathname}${w?`?${w}`:""}${window.location.hash}`;window.history.replaceState(window.history.state,"",E);},[]);return [P,y]},U=T;
5
+ var u=typeof window>"u",U=({type:t="FREE",paramKey:n=h.paramKey,dataKey:s=h.dataKey,defaultValue:F,defaultPeriod:S,thisYearMode:a}={})=>{let[E,m]=useState(()=>{let e$1=F??e(t,S,a);if(u)return e$1;let r=new URLSearchParams(window.location.search);return j(r,{paramKey:n,dataKey:s},{type:t,thisYearMode:a})??e$1}),o=useRef({paramKey:n,dataKey:s});o.current={paramKey:n,dataKey:s};let w=useRef({type:t,thisYearMode:a});w.current={type:t,thisYearMode:a},useEffect(()=>{if(u)return;let e=()=>{let r=new URLSearchParams(window.location.search),i=j(r,o.current,w.current);i&&m(i);};return window.addEventListener("popstate",e),()=>window.removeEventListener("popstate",e)},[]);let R=useCallback(e=>{if(m(e),u)return;let r=new URLSearchParams(window.location.search),f=i(e,o.current,r).toString(),P=`${window.location.pathname}${f?`?${f}`:""}${window.location.hash}`;window.history.replaceState(window.history.state,"",P);},[]);return [E,R]},k=U;
6
6
 
7
- export { U as default };
7
+ export { k as default };
8
8
  //# sourceMappingURL=useFiltersSearchParams.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hooks/useFiltersSearchParams.ts"],"names":["useCallback","useEffect","useRef","useState","IS_SERVER","useFiltersSearchParams","type","paramKey","DEFAULT_FILTER_KEYS","dataKey","defaultValue","defaultPeriod","thisYearMode","value","setValue","fallback","buildDefaultFilter","params","deserializeFilterFromSearchParams","keysRef","resolutionRef","handler","next","update","current","search","serializeFilterToSearchParams","url","useFiltersSearchParams_default"],"mappings":"2FAAA,OAAS,eAAAA,EAAa,aAAAC,EAAW,UAAAC,EAAQ,YAAAC,MAAgB,QAmBzD,IAAMC,EAAY,OAAO,OAAW,IAE9BC,EAAyB,CAAC,CAC9B,KAAAC,EAAO,OACP,SAAAC,EAAWC,EAAoB,SAC/B,QAAAC,EAAUD,EAAoB,QAC9B,aAAAE,EACA,cAAAC,EACA,aAAAC,CACF,EAAmC,CAAC,IAG/B,CACH,GAAM,CAACC,EAAOC,CAAQ,EAAIX,EAAsB,IAAM,CACpD,IAAMY,EACJL,GAAgBM,EAAmBV,EAAMK,EAAeC,CAAY,EAEtE,GAAIR,EAAW,OAAOW,EAEtB,IAAME,EAAS,IAAI,gBAAgB,OAAO,SAAS,MAAM,EAEzD,OACEC,EACED,EACA,CAAE,SAAAV,EAAU,QAAAE,CAAQ,EACpB,CAAE,KAAAH,EAAM,aAAAM,CAAa,CACvB,GAAKG,CAET,CAAC,EAEKI,EAAUjB,EAAO,CAAE,SAAAK,EAAU,QAAAE,CAAQ,CAAC,EAC5CU,EAAQ,QAAU,CAAE,SAAAZ,EAAU,QAAAE,CAAQ,EAEtC,IAAMW,EAAgBlB,EAAO,CAAE,KAAAI,EAAM,aAAAM,CAAa,CAAC,EACnDQ,EAAc,QAAU,CAAE,KAAAd,EAAM,aAAAM,CAAa,EAE7CX,EAAU,IAAM,CACd,GAAIG,EAAW,OAEf,IAAMiB,EAAU,IAAM,CACpB,IAAMJ,EAAS,IAAI,gBAAgB,OAAO,SAAS,MAAM,EACnDK,EAAOJ,EACXD,EACAE,EAAQ,QACRC,EAAc,OAChB,EAEIE,GAAMR,EAASQ,CAAI,CACzB,EAEA,cAAO,iBAAiB,WAAYD,CAAO,EAEpC,IAAM,OAAO,oBAAoB,WAAYA,CAAO,CAC7D,EAAG,CAAC,CAAC,EAEL,IAAME,EAASvB,EAAasB,GAAsB,CAGhD,GAFAR,EAASQ,CAAI,EAETlB,EAAW,OAEf,IAAMoB,EAAU,IAAI,gBAAgB,OAAO,SAAS,MAAM,EAMpDC,EALSC,EACbJ,EACAH,EAAQ,QACRK,CACF,EACsB,SAAS,EACzBG,EAAM,GAAG,OAAO,SAAS,WAC7BF,EAAS,IAAIA,IAAW,KACvB,OAAO,SAAS,OAEnB,OAAO,QAAQ,aAAa,OAAO,QAAQ,MAAO,GAAIE,CAAG,CAC3D,EAAG,CAAC,CAAC,EAEL,MAAO,CAACd,EAAOU,CAAM,CACvB,EAEOK,EAAQvB","sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react';\n\nimport { FilterValue, Period, ThisYearMode, Type } from 'types/period';\nimport {\n buildDefaultFilter,\n DEFAULT_FILTER_KEYS,\n deserializeFilterFromSearchParams,\n serializeFilterToSearchParams,\n} from 'utils/filters';\n\ninterface UseFiltersSearchParamsOptions {\n type?: keyof typeof Type;\n paramKey?: string;\n dataKey?: string;\n defaultValue?: FilterValue;\n defaultPeriod?: keyof typeof Period;\n thisYearMode?: keyof typeof ThisYearMode;\n}\n\nconst IS_SERVER = typeof window === 'undefined';\n\nconst useFiltersSearchParams = ({\n type = 'FREE',\n paramKey = DEFAULT_FILTER_KEYS.paramKey,\n dataKey = DEFAULT_FILTER_KEYS.dataKey,\n defaultValue,\n defaultPeriod,\n thisYearMode,\n}: UseFiltersSearchParamsOptions = {}): [\n FilterValue,\n (value: FilterValue) => void,\n] => {\n const [value, setValue] = useState<FilterValue>(() => {\n const fallback =\n defaultValue ?? buildDefaultFilter(type, defaultPeriod, thisYearMode);\n\n if (IS_SERVER) return fallback;\n\n const params = new URLSearchParams(window.location.search);\n\n return (\n deserializeFilterFromSearchParams(\n params,\n { paramKey, dataKey },\n { type, thisYearMode },\n ) ?? fallback\n );\n });\n\n const keysRef = useRef({ paramKey, dataKey });\n keysRef.current = { paramKey, dataKey };\n\n const resolutionRef = useRef({ type, thisYearMode });\n resolutionRef.current = { type, thisYearMode };\n\n useEffect(() => {\n if (IS_SERVER) return;\n\n const handler = () => {\n const params = new URLSearchParams(window.location.search);\n const next = deserializeFilterFromSearchParams(\n params,\n keysRef.current,\n resolutionRef.current,\n );\n\n if (next) setValue(next);\n };\n\n window.addEventListener('popstate', handler);\n\n return () => window.removeEventListener('popstate', handler);\n }, []);\n\n const update = useCallback((next: FilterValue) => {\n setValue(next);\n\n if (IS_SERVER) return;\n\n const current = new URLSearchParams(window.location.search);\n const params = serializeFilterToSearchParams(\n next,\n keysRef.current,\n current,\n );\n const search = params.toString();\n const url = `${window.location.pathname}${\n search ? `?${search}` : ''\n }${window.location.hash}`;\n\n window.history.replaceState(window.history.state, '', url);\n }, []);\n\n return [value, update];\n};\n\nexport default useFiltersSearchParams;\n"]}
1
+ {"version":3,"sources":["../../src/hooks/useFiltersSearchParams.ts"],"names":["useCallback","useEffect","useRef","useState","IS_SERVER","useFiltersSearchParams","type","paramKey","DEFAULT_FILTER_KEYS","dataKey","defaultValue","defaultPeriod","thisYearMode","value","setValue","fallback","buildDefaultFilter","params","deserializeFilterFromSearchParams","keysRef","resolutionRef","handler","next","update","current","search","serializeFilterToSearchParams","url","useFiltersSearchParams_default"],"mappings":"2FAAA,OAAS,eAAAA,EAAa,aAAAC,EAAW,UAAAC,EAAQ,YAAAC,MAAgB,QAczD,IAAMC,EAAY,OAAO,OAAW,IAE9BC,EAAyB,CAAC,CAC9B,KAAAC,EAAO,OACP,SAAAC,EAAWC,EAAoB,SAC/B,QAAAC,EAAUD,EAAoB,QAC9B,aAAAE,EACA,cAAAC,EACA,aAAAC,CACF,EAAmC,CAAC,IAG/B,CACH,GAAM,CAACC,EAAOC,CAAQ,EAAIX,EAAsB,IAAM,CACpD,IAAMY,EACJL,GAAgBM,EAAmBV,EAAMK,EAAeC,CAAY,EAEtE,GAAIR,EAAW,OAAOW,EAEtB,IAAME,EAAS,IAAI,gBAAgB,OAAO,SAAS,MAAM,EAEzD,OACEC,EACED,EACA,CAAE,SAAAV,EAAU,QAAAE,CAAQ,EACpB,CAAE,KAAAH,EAAM,aAAAM,CAAa,CACvB,GAAKG,CAET,CAAC,EAEKI,EAAUjB,EAAO,CAAE,SAAAK,EAAU,QAAAE,CAAQ,CAAC,EAC5CU,EAAQ,QAAU,CAAE,SAAAZ,EAAU,QAAAE,CAAQ,EAEtC,IAAMW,EAAgBlB,EAAO,CAAE,KAAAI,EAAM,aAAAM,CAAa,CAAC,EACnDQ,EAAc,QAAU,CAAE,KAAAd,EAAM,aAAAM,CAAa,EAE7CX,EAAU,IAAM,CACd,GAAIG,EAAW,OAEf,IAAMiB,EAAU,IAAM,CACpB,IAAMJ,EAAS,IAAI,gBAAgB,OAAO,SAAS,MAAM,EACnDK,EAAOJ,EACXD,EACAE,EAAQ,QACRC,EAAc,OAChB,EAEIE,GAAMR,EAASQ,CAAI,CACzB,EAEA,cAAO,iBAAiB,WAAYD,CAAO,EAEpC,IAAM,OAAO,oBAAoB,WAAYA,CAAO,CAC7D,EAAG,CAAC,CAAC,EAEL,IAAME,EAASvB,EAAasB,GAAsB,CAGhD,GAFAR,EAASQ,CAAI,EAETlB,EAAW,OAEf,IAAMoB,EAAU,IAAI,gBAAgB,OAAO,SAAS,MAAM,EAMpDC,EALSC,EACbJ,EACAH,EAAQ,QACRK,CACF,EACsB,SAAS,EACzBG,EAAM,GAAG,OAAO,SAAS,WAC7BF,EAAS,IAAIA,IAAW,KACvB,OAAO,SAAS,OAEnB,OAAO,QAAQ,aAAa,OAAO,QAAQ,MAAO,GAAIE,CAAG,CAC3D,EAAG,CAAC,CAAC,EAEL,MAAO,CAACd,EAAOU,CAAM,CACvB,EAEOK,EAAQvB","sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react';\n\nimport { FilterValue } from 'types/period';\nimport {\n buildDefaultFilter,\n DEFAULT_FILTER_KEYS,\n deserializeFilterFromSearchParams,\n serializeFilterToSearchParams,\n} from 'utils/filters';\n\nimport type {\n UseFiltersSearchParamsOptions,\n} from './useFiltersSearchParams.types';\n\nconst IS_SERVER = typeof window === 'undefined';\n\nconst useFiltersSearchParams = ({\n type = 'FREE',\n paramKey = DEFAULT_FILTER_KEYS.paramKey,\n dataKey = DEFAULT_FILTER_KEYS.dataKey,\n defaultValue,\n defaultPeriod,\n thisYearMode,\n}: UseFiltersSearchParamsOptions = {}): [\n FilterValue,\n (value: FilterValue) => void,\n] => {\n const [value, setValue] = useState<FilterValue>(() => {\n const fallback =\n defaultValue ?? buildDefaultFilter(type, defaultPeriod, thisYearMode);\n\n if (IS_SERVER) return fallback;\n\n const params = new URLSearchParams(window.location.search);\n\n return (\n deserializeFilterFromSearchParams(\n params,\n { paramKey, dataKey },\n { type, thisYearMode },\n ) ?? fallback\n );\n });\n\n const keysRef = useRef({ paramKey, dataKey });\n keysRef.current = { paramKey, dataKey };\n\n const resolutionRef = useRef({ type, thisYearMode });\n resolutionRef.current = { type, thisYearMode };\n\n useEffect(() => {\n if (IS_SERVER) return;\n\n const handler = () => {\n const params = new URLSearchParams(window.location.search);\n const next = deserializeFilterFromSearchParams(\n params,\n keysRef.current,\n resolutionRef.current,\n );\n\n if (next) setValue(next);\n };\n\n window.addEventListener('popstate', handler);\n\n return () => window.removeEventListener('popstate', handler);\n }, []);\n\n const update = useCallback((next: FilterValue) => {\n setValue(next);\n\n if (IS_SERVER) return;\n\n const current = new URLSearchParams(window.location.search);\n const params = serializeFilterToSearchParams(\n next,\n keysRef.current,\n current,\n );\n const search = params.toString();\n const url = `${window.location.pathname}${\n search ? `?${search}` : ''\n }${window.location.hash}`;\n\n window.history.replaceState(window.history.state, '', url);\n }, []);\n\n return [value, update];\n};\n\nexport default useFiltersSearchParams;\n"]}
@@ -9,6 +9,7 @@ interface UseInfiniteScrollOptions<TParams, TResponse, TRow, TPagination extends
9
9
  getPagination: (response: TResponse) => TPagination;
10
10
  getNextPageParams: (pagination: TPagination) => Partial<TParams>;
11
11
  }
12
+
12
13
  declare const useInfiniteScroll: <TParams, TResponse, TRow, TPagination extends {
13
14
  last_seek_id: string;
14
15
  has_next: boolean;
@@ -1,6 +1,6 @@
1
1
  import { useState, useRef, useCallback, useEffect } from 'react';
2
2
 
3
- var k=({fetchFn:r,params:o,getRows:w,getPagination:d,getNextPageParams:m})=>{let[S,i]=useState([]),[E,x]=useState(!0),[N,I]=useState(!1),[l,h]=useState(!1),[O,c]=useState(!1),t=useRef(void 0),f=useRef(w),g=useRef(d),y=useRef(m);f.current=w,g.current=d,y.current=m;let T=useRef(!1),P=useCallback(async()=>{T.current?I(!0):x(!0);try{let e=await r(o).unwrap();t.current=g.current(e),i(f.current(e)),c(!1);}catch{c(!0);}finally{T.current?I(!1):(T.current=!0,x(!1));}},[r,o]),U=useCallback(async()=>{if(!t.current?.has_next||l)return;let e=y.current(t.current);h(!0);try{let n=await r({...o,...e}).unwrap();t.current=g.current(n),i(R=>[...R,...f.current(n)]),c(!1);}catch{c(!0);}finally{h(!1);}},[r,o,l]);useEffect(()=>{P();},[P]);let b=useCallback(e=>{i(n=>[...e,...n]);},[]),F=useCallback((e,n)=>{i(R=>R.map(p=>e(p)?n(p):p));},[]);return {rows:S,isLoading:E,isFetching:N,isFetchingNextPage:l,isError:O,pagination:t.current,refetch:P,prependRows:b,updateRow:F,handleRowsScrollEnd:U}},C=k;
3
+ var z=({fetchFn:o,params:i,getRows:d,getPagination:P,getNextPageParams:I})=>{let[x,a]=useState([]),[E,y]=useState(!0),[O,m]=useState(!1),[l,S]=useState(!1),[U,c]=useState(!1),n=useRef(void 0),f=useRef(d),p=useRef(P),h=useRef(I);f.current=d,p.current=P,h.current=I;let R=useRef(!1),g=useCallback(async()=>{R.current?m(!0):y(!0);try{let e=await o(i).unwrap();n.current=p.current(e),a(f.current(e)),c(!1);}catch{c(!0);}finally{R.current?m(!1):(R.current=!0,y(!1));}},[o,i]),b=useCallback(async()=>{if(!n.current?.has_next||l)return;let e=h.current(n.current);S(!0);try{let t=await o({...i,...e}).unwrap();n.current=p.current(t),a(w=>[...w,...f.current(t)]),c(!1);}catch{c(!0);}finally{S(!1);}},[o,i,l]);useEffect(()=>{g();},[g]);let L=useCallback(e=>{a(t=>[...e,...t]);},[]),N=useCallback((e,t)=>{a(w=>w.map(T=>e(T)?t(T):T));},[]);return {rows:x,isLoading:E,isFetching:O,isFetchingNextPage:l,isError:U,pagination:n.current,refetch:g,prependRows:L,updateRow:N,handleRowsScrollEnd:b}},F=z;
4
4
 
5
- export { C as default };
5
+ export { F as default };
6
6
  //# sourceMappingURL=useInfiniteScroll.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hooks/useInfiniteScroll.ts"],"names":["useCallback","useEffect","useRef","useState","useInfiniteScroll","fetchFn","params","getRows","getPagination","getNextPageParams","rows","setRows","isLoading","setIsLoading","isFetching","setIsFetching","isFetchingNextPage","setIsFetchingNextPage","isError","setIsError","paginationRef","getRowsRef","getPaginationRef","getNextPageParamsRef","initializedRef","fetchInitial","result","handleRowsScrollEnd","nextPageParams","prev","prependRows","newRows","updateRow","predicate","updater","row","useInfiniteScroll_default"],"mappings":"AAAA,OAAS,eAAAA,EAAa,aAAAC,EAAW,UAAAC,EAAQ,YAAAC,MAAgB,QAiBzD,IAAMC,EAAoB,CAKxB,CACA,QAAAC,EACA,OAAAC,EACA,QAAAC,EACA,cAAAC,EACA,kBAAAC,CACF,IAAuE,CACrE,GAAM,CAACC,EAAMC,CAAO,EAAIR,EAAiB,CAAC,CAAC,EAErC,CAACS,EAAWC,CAAY,EAAIV,EAAS,EAAI,EACzC,CAACW,EAAYC,CAAa,EAAIZ,EAAS,EAAK,EAC5C,CAACa,EAAoBC,CAAqB,EAAId,EAAS,EAAK,EAE5D,CAACe,EAASC,CAAU,EAAIhB,EAAS,EAAK,EAEtCiB,EAAgBlB,EAAgC,MAAS,EAEzDmB,EAAanB,EAAOK,CAAO,EAC3Be,EAAmBpB,EAAOM,CAAa,EACvCe,EAAuBrB,EAAOO,CAAiB,EAErDY,EAAW,QAAUd,EACrBe,EAAiB,QAAUd,EAC3Be,EAAqB,QAAUd,EAE/B,IAAMe,EAAiBtB,EAAO,EAAK,EAE7BuB,EAAezB,EAAY,SAAY,CACtCwB,EAAe,QAGlBT,EAAc,EAAI,EAFlBF,EAAa,EAAI,EAKnB,GAAI,CACF,IAAMa,EAAS,MAAMrB,EAAQC,CAAM,EAAE,OAAO,EAE5Cc,EAAc,QAAUE,EAAiB,QAAQI,CAAM,EACvDf,EAAQU,EAAW,QAAQK,CAAM,CAAC,EAClCP,EAAW,EAAK,CAClB,MAAE,CACAA,EAAW,EAAI,CACjB,QAAE,CACKK,EAAe,QAIlBT,EAAc,EAAK,GAHnBS,EAAe,QAAU,GACzBX,EAAa,EAAK,EAItB,CACF,EAAG,CAACR,EAASC,CAAM,CAAC,EAEdqB,EAAsB3B,EAAY,SAAY,CAClD,GAAI,CAACoB,EAAc,SAAS,UAAYJ,EAAoB,OAE5D,IAAMY,EAAiBL,EAAqB,QAAQH,EAAc,OAAO,EAEzEH,EAAsB,EAAI,EAE1B,GAAI,CACF,IAAMS,EAAS,MAAMrB,EAAQ,CAC3B,GAAGC,EACH,GAAGsB,CACL,CAAC,EAAE,OAAO,EAEVR,EAAc,QAAUE,EAAiB,QAAQI,CAAM,EACvDf,EAAQkB,GAAQ,CAAC,GAAGA,EAAM,GAAGR,EAAW,QAAQK,CAAM,CAAC,CAAC,EACxDP,EAAW,EAAK,CAClB,MAAE,CACAA,EAAW,EAAI,CACjB,QAAE,CACAF,EAAsB,EAAK,CAC7B,CACF,EAAG,CAACZ,EAASC,EAAQU,CAAkB,CAAC,EAExCf,EAAU,IAAM,CACdwB,EAAa,CACf,EAAG,CAACA,CAAY,CAAC,EAEjB,IAAMK,EAAc9B,EAAa+B,GAAoB,CACnDpB,EAAQkB,GAAQ,CAAC,GAAGE,EAAS,GAAGF,CAAI,CAAC,CACvC,EAAG,CAAC,CAAC,EAECG,EAAYhC,EAChB,CAACiC,EAAmCC,IAAiC,CACnEvB,EAAQkB,GAAQA,EAAK,IAAIM,GAAQF,EAAUE,CAAG,EAAID,EAAQC,CAAG,EAAIA,CAAI,CAAC,CACxE,EACA,CAAC,CACH,EAEA,MAAO,CACL,KAAAzB,EAEA,UAAAE,EACA,WAAAE,EACA,mBAAAE,EAEA,QAAAE,EAEA,WAAYE,EAAc,QAC1B,QAASK,EAET,YAAAK,EACA,UAAAE,EAEA,oBAAAL,CACF,CACF,EAEOS,EAAQhC","sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react';\n\nimport { Pagination } from 'types/pagination';\n\ninterface UseInfiniteScrollOptions<\n TParams,\n TResponse,\n TRow,\n TPagination extends Pagination = Pagination,\n> {\n fetchFn: (params: TParams) => { unwrap: () => Promise<TResponse> };\n params: TParams;\n getRows: (response: TResponse) => TRow[];\n getPagination: (response: TResponse) => TPagination;\n getNextPageParams: (pagination: TPagination) => Partial<TParams>;\n}\n\nconst useInfiniteScroll = <\n TParams,\n TResponse,\n TRow,\n TPagination extends Pagination = Pagination,\n>({\n fetchFn,\n params,\n getRows,\n getPagination,\n getNextPageParams,\n}: UseInfiniteScrollOptions<TParams, TResponse, TRow, TPagination>) => {\n const [rows, setRows] = useState<TRow[]>([]);\n\n const [isLoading, setIsLoading] = useState(true);\n const [isFetching, setIsFetching] = useState(false);\n const [isFetchingNextPage, setIsFetchingNextPage] = useState(false);\n\n const [isError, setIsError] = useState(false);\n\n const paginationRef = useRef<TPagination | undefined>(undefined);\n\n const getRowsRef = useRef(getRows);\n const getPaginationRef = useRef(getPagination);\n const getNextPageParamsRef = useRef(getNextPageParams);\n\n getRowsRef.current = getRows;\n getPaginationRef.current = getPagination;\n getNextPageParamsRef.current = getNextPageParams;\n\n const initializedRef = useRef(false);\n\n const fetchInitial = useCallback(async () => {\n if (!initializedRef.current) {\n setIsLoading(true);\n } else {\n setIsFetching(true);\n }\n\n try {\n const result = await fetchFn(params).unwrap();\n\n paginationRef.current = getPaginationRef.current(result);\n setRows(getRowsRef.current(result));\n setIsError(false);\n } catch {\n setIsError(true);\n } finally {\n if (!initializedRef.current) {\n initializedRef.current = true;\n setIsLoading(false);\n } else {\n setIsFetching(false);\n }\n }\n }, [fetchFn, params]);\n\n const handleRowsScrollEnd = useCallback(async () => {\n if (!paginationRef.current?.has_next || isFetchingNextPage) return;\n\n const nextPageParams = getNextPageParamsRef.current(paginationRef.current);\n\n setIsFetchingNextPage(true);\n\n try {\n const result = await fetchFn({\n ...params,\n ...nextPageParams,\n }).unwrap();\n\n paginationRef.current = getPaginationRef.current(result);\n setRows(prev => [...prev, ...getRowsRef.current(result)]);\n setIsError(false);\n } catch {\n setIsError(true);\n } finally {\n setIsFetchingNextPage(false);\n }\n }, [fetchFn, params, isFetchingNextPage]);\n\n useEffect(() => {\n fetchInitial();\n }, [fetchInitial]);\n\n const prependRows = useCallback((newRows: TRow[]) => {\n setRows(prev => [...newRows, ...prev]);\n }, []);\n\n const updateRow = useCallback(\n (predicate: (row: TRow) => boolean, updater: (row: TRow) => TRow) => {\n setRows(prev => prev.map(row => (predicate(row) ? updater(row) : row)));\n },\n [],\n );\n\n return {\n rows,\n\n isLoading,\n isFetching,\n isFetchingNextPage,\n\n isError,\n\n pagination: paginationRef.current,\n refetch: fetchInitial,\n\n prependRows,\n updateRow,\n\n handleRowsScrollEnd,\n };\n};\n\nexport default useInfiniteScroll;\nexport type { UseInfiniteScrollOptions };\n"]}
1
+ {"version":3,"sources":["../../src/hooks/useInfiniteScroll.ts"],"names":["useCallback","useEffect","useRef","useState","useInfiniteScroll","fetchFn","params","getRows","getPagination","getNextPageParams","rows","setRows","isLoading","setIsLoading","isFetching","setIsFetching","isFetchingNextPage","setIsFetchingNextPage","isError","setIsError","paginationRef","getRowsRef","getPaginationRef","getNextPageParamsRef","initializedRef","fetchInitial","result","handleRowsScrollEnd","nextPageParams","prev","prependRows","newRows","updateRow","predicate","updater","row","useInfiniteScroll_default"],"mappings":"AAAA,OAAS,eAAAA,EAAa,aAAAC,EAAW,UAAAC,EAAQ,YAAAC,MAAgB,QAMzD,IAAMC,EAAoB,CAKxB,CACA,QAAAC,EACA,OAAAC,EACA,QAAAC,EACA,cAAAC,EACA,kBAAAC,CACF,IAAuE,CACrE,GAAM,CAACC,EAAMC,CAAO,EAAIR,EAAiB,CAAC,CAAC,EAErC,CAACS,EAAWC,CAAY,EAAIV,EAAS,EAAI,EACzC,CAACW,EAAYC,CAAa,EAAIZ,EAAS,EAAK,EAC5C,CAACa,EAAoBC,CAAqB,EAAId,EAAS,EAAK,EAE5D,CAACe,EAASC,CAAU,EAAIhB,EAAS,EAAK,EAEtCiB,EAAgBlB,EAAgC,MAAS,EAEzDmB,EAAanB,EAAOK,CAAO,EAC3Be,EAAmBpB,EAAOM,CAAa,EACvCe,EAAuBrB,EAAOO,CAAiB,EAErDY,EAAW,QAAUd,EACrBe,EAAiB,QAAUd,EAC3Be,EAAqB,QAAUd,EAE/B,IAAMe,EAAiBtB,EAAO,EAAK,EAE7BuB,EAAezB,EAAY,SAAY,CACtCwB,EAAe,QAGlBT,EAAc,EAAI,EAFlBF,EAAa,EAAI,EAKnB,GAAI,CACF,IAAMa,EAAS,MAAMrB,EAAQC,CAAM,EAAE,OAAO,EAE5Cc,EAAc,QAAUE,EAAiB,QAAQI,CAAM,EACvDf,EAAQU,EAAW,QAAQK,CAAM,CAAC,EAClCP,EAAW,EAAK,CAClB,MAAE,CACAA,EAAW,EAAI,CACjB,QAAE,CACKK,EAAe,QAIlBT,EAAc,EAAK,GAHnBS,EAAe,QAAU,GACzBX,EAAa,EAAK,EAItB,CACF,EAAG,CAACR,EAASC,CAAM,CAAC,EAEdqB,EAAsB3B,EAAY,SAAY,CAClD,GAAI,CAACoB,EAAc,SAAS,UAAYJ,EAAoB,OAE5D,IAAMY,EAAiBL,EAAqB,QAAQH,EAAc,OAAO,EAEzEH,EAAsB,EAAI,EAE1B,GAAI,CACF,IAAMS,EAAS,MAAMrB,EAAQ,CAC3B,GAAGC,EACH,GAAGsB,CACL,CAAC,EAAE,OAAO,EAEVR,EAAc,QAAUE,EAAiB,QAAQI,CAAM,EACvDf,EAAQkB,GAAQ,CAAC,GAAGA,EAAM,GAAGR,EAAW,QAAQK,CAAM,CAAC,CAAC,EACxDP,EAAW,EAAK,CAClB,MAAE,CACAA,EAAW,EAAI,CACjB,QAAE,CACAF,EAAsB,EAAK,CAC7B,CACF,EAAG,CAACZ,EAASC,EAAQU,CAAkB,CAAC,EAExCf,EAAU,IAAM,CACdwB,EAAa,CACf,EAAG,CAACA,CAAY,CAAC,EAEjB,IAAMK,EAAc9B,EAAa+B,GAAoB,CACnDpB,EAAQkB,GAAQ,CAAC,GAAGE,EAAS,GAAGF,CAAI,CAAC,CACvC,EAAG,CAAC,CAAC,EAECG,EAAYhC,EAChB,CAACiC,EAAmCC,IAAiC,CACnEvB,EAAQkB,GAAQA,EAAK,IAAIM,GAAQF,EAAUE,CAAG,EAAID,EAAQC,CAAG,EAAIA,CAAI,CAAC,CACxE,EACA,CAAC,CACH,EAEA,MAAO,CACL,KAAAzB,EAEA,UAAAE,EACA,WAAAE,EACA,mBAAAE,EAEA,QAAAE,EAEA,WAAYE,EAAc,QAC1B,QAASK,EAET,YAAAK,EACA,UAAAE,EAEA,oBAAAL,CACF,CACF,EAEOS,EAAQhC","sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react';\n\nimport { Pagination } from 'types/pagination';\n\nimport type { UseInfiniteScrollOptions } from './useInfiniteScroll.types';\n\nconst useInfiniteScroll = <\n TParams,\n TResponse,\n TRow,\n TPagination extends Pagination = Pagination,\n>({\n fetchFn,\n params,\n getRows,\n getPagination,\n getNextPageParams,\n}: UseInfiniteScrollOptions<TParams, TResponse, TRow, TPagination>) => {\n const [rows, setRows] = useState<TRow[]>([]);\n\n const [isLoading, setIsLoading] = useState(true);\n const [isFetching, setIsFetching] = useState(false);\n const [isFetchingNextPage, setIsFetchingNextPage] = useState(false);\n\n const [isError, setIsError] = useState(false);\n\n const paginationRef = useRef<TPagination | undefined>(undefined);\n\n const getRowsRef = useRef(getRows);\n const getPaginationRef = useRef(getPagination);\n const getNextPageParamsRef = useRef(getNextPageParams);\n\n getRowsRef.current = getRows;\n getPaginationRef.current = getPagination;\n getNextPageParamsRef.current = getNextPageParams;\n\n const initializedRef = useRef(false);\n\n const fetchInitial = useCallback(async () => {\n if (!initializedRef.current) {\n setIsLoading(true);\n } else {\n setIsFetching(true);\n }\n\n try {\n const result = await fetchFn(params).unwrap();\n\n paginationRef.current = getPaginationRef.current(result);\n setRows(getRowsRef.current(result));\n setIsError(false);\n } catch {\n setIsError(true);\n } finally {\n if (!initializedRef.current) {\n initializedRef.current = true;\n setIsLoading(false);\n } else {\n setIsFetching(false);\n }\n }\n }, [fetchFn, params]);\n\n const handleRowsScrollEnd = useCallback(async () => {\n if (!paginationRef.current?.has_next || isFetchingNextPage) return;\n\n const nextPageParams = getNextPageParamsRef.current(paginationRef.current);\n\n setIsFetchingNextPage(true);\n\n try {\n const result = await fetchFn({\n ...params,\n ...nextPageParams,\n }).unwrap();\n\n paginationRef.current = getPaginationRef.current(result);\n setRows(prev => [...prev, ...getRowsRef.current(result)]);\n setIsError(false);\n } catch {\n setIsError(true);\n } finally {\n setIsFetchingNextPage(false);\n }\n }, [fetchFn, params, isFetchingNextPage]);\n\n useEffect(() => {\n fetchInitial();\n }, [fetchInitial]);\n\n const prependRows = useCallback((newRows: TRow[]) => {\n setRows(prev => [...newRows, ...prev]);\n }, []);\n\n const updateRow = useCallback(\n (predicate: (row: TRow) => boolean, updater: (row: TRow) => TRow) => {\n setRows(prev => prev.map(row => (predicate(row) ? updater(row) : row)));\n },\n [],\n );\n\n return {\n rows,\n\n isLoading,\n isFetching,\n isFetchingNextPage,\n\n isError,\n\n pagination: paginationRef.current,\n refetch: fetchInitial,\n\n prependRows,\n updateRow,\n\n handleRowsScrollEnd,\n };\n};\n\nexport default useInfiniteScroll;\nexport type { UseInfiniteScrollOptions } from './useInfiniteScroll.types';\n"]}