iguazio.dashboard-react-controls 3.2.21 → 3.2.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 (404) hide show
  1. package/dist/components/ActionsMenu/ActionsMenu.d.ts +17 -10
  2. package/dist/components/ActionsMenu/ActionsMenu.d.ts.map +1 -1
  3. package/dist/components/Backdrop/Backdrop.d.ts +8 -7
  4. package/dist/components/Backdrop/Backdrop.d.ts.map +1 -1
  5. package/dist/components/BlockerSpy/BlockerSpy.d.ts +4 -3
  6. package/dist/components/BlockerSpy/BlockerSpy.d.ts.map +1 -1
  7. package/dist/components/Button/Button.d.ts +16 -15
  8. package/dist/components/Button/Button.d.ts.map +1 -1
  9. package/dist/components/Button/Button.stories.d.ts +69 -7
  10. package/dist/components/Button/Button.stories.d.ts.map +1 -1
  11. package/dist/components/ChipForm/ChipForm.d.ts +20 -12
  12. package/dist/components/ChipForm/ChipForm.d.ts.map +1 -1
  13. package/dist/components/ConfirmDialog/ConfirmDialog.d.ts +21 -20
  14. package/dist/components/ConfirmDialog/ConfirmDialog.d.ts.map +1 -1
  15. package/dist/components/ConfirmDialog/ConfirmDialog.stories.d.ts +22 -1
  16. package/dist/components/ConfirmDialog/ConfirmDialog.stories.d.ts.map +1 -1
  17. package/dist/components/CopyToClipboard/CopyToClipboard.d.ts +11 -10
  18. package/dist/components/CopyToClipboard/CopyToClipboard.d.ts.map +1 -1
  19. package/dist/components/ErrorMessage/ErrorMessage.d.ts +5 -4
  20. package/dist/components/ErrorMessage/ErrorMessage.d.ts.map +1 -1
  21. package/dist/components/FormCheckBox/FormCheckBox.d.ts +13 -12
  22. package/dist/components/FormCheckBox/FormCheckBox.d.ts.map +1 -1
  23. package/dist/components/FormCheckBox/FormCheckbox.stories.d.ts +8 -1
  24. package/dist/components/FormCheckBox/FormCheckbox.stories.d.ts.map +1 -1
  25. package/dist/components/FormChipCell/FormChip/FormChip.d.ts +24 -23
  26. package/dist/components/FormChipCell/FormChip/FormChip.d.ts.map +1 -1
  27. package/dist/components/FormChipCell/FormChipCell.d.ts +30 -29
  28. package/dist/components/FormChipCell/FormChipCell.d.ts.map +1 -1
  29. package/dist/components/FormChipCell/FormChipCellView.d.ts +29 -28
  30. package/dist/components/FormChipCell/FormChipCellView.d.ts.map +1 -1
  31. package/dist/components/FormChipCell/HiddenChipsBlock/HiddenChipsBlock.d.ts +16 -7
  32. package/dist/components/FormChipCell/HiddenChipsBlock/HiddenChipsBlock.d.ts.map +1 -1
  33. package/dist/components/FormChipCell/NewChipForm/NewChipForm.d.ts +26 -18
  34. package/dist/components/FormChipCell/NewChipForm/NewChipForm.d.ts.map +1 -1
  35. package/dist/components/FormChipCell/NewChipInput/NewChipInput.d.ts +5 -4
  36. package/dist/components/FormChipCell/NewChipInput/NewChipInput.d.ts.map +1 -1
  37. package/dist/components/FormCombobox/FormCombobox.d.ts +44 -39
  38. package/dist/components/FormCombobox/FormCombobox.d.ts.map +1 -1
  39. package/dist/components/FormCombobox/FormCombobox.stories.d.ts +58 -6
  40. package/dist/components/FormCombobox/FormCombobox.stories.d.ts.map +1 -1
  41. package/dist/components/FormInput/FormInput.d.ts +77 -1
  42. package/dist/components/FormInput/FormInput.d.ts.map +1 -1
  43. package/dist/components/FormInput/FormInput.stories.d.ts +86 -8
  44. package/dist/components/FormInput/FormInput.stories.d.ts.map +1 -1
  45. package/dist/components/FormInput/InputNumberButtons/InputNumberButtons.d.ts +12 -11
  46. package/dist/components/FormInput/InputNumberButtons/InputNumberButtons.d.ts.map +1 -1
  47. package/dist/components/FormKeyValueTable/FormKeyValueTable.d.ts +41 -37
  48. package/dist/components/FormKeyValueTable/FormKeyValueTable.d.ts.map +1 -1
  49. package/dist/components/FormOnChange/FormOnChange.d.ts +4 -3
  50. package/dist/components/FormOnChange/FormOnChange.d.ts.map +1 -1
  51. package/dist/components/FormRadio/FormRadio.d.ts +10 -9
  52. package/dist/components/FormRadio/FormRadio.d.ts.map +1 -1
  53. package/dist/components/FormRadio/FormRadio.stories.d.ts +8 -1
  54. package/dist/components/FormRadio/FormRadio.stories.d.ts.map +1 -1
  55. package/dist/components/FormSelect/FormSelect.d.ts +44 -34
  56. package/dist/components/FormSelect/FormSelect.d.ts.map +1 -1
  57. package/dist/components/FormSelect/FormSelect.stories.d.ts +36 -4
  58. package/dist/components/FormSelect/FormSelect.stories.d.ts.map +1 -1
  59. package/dist/components/FormTextarea/FormTextarea.d.ts +31 -30
  60. package/dist/components/FormTextarea/FormTextarea.d.ts.map +1 -1
  61. package/dist/components/FormTextarea/FormTextarea.stories.d.ts +26 -3
  62. package/dist/components/FormTextarea/FormTextarea.stories.d.ts.map +1 -1
  63. package/dist/components/FormToggle/FormToggle.d.ts +14 -13
  64. package/dist/components/FormToggle/FormToggle.d.ts.map +1 -1
  65. package/dist/components/LoadButton/LoadButton.d.ts +8 -7
  66. package/dist/components/LoadButton/LoadButton.d.ts.map +1 -1
  67. package/dist/components/LoadButton/LoadButton.stories.d.ts +29 -3
  68. package/dist/components/LoadButton/LoadButton.stories.d.ts.map +1 -1
  69. package/dist/components/Loader/Loader.d.ts +14 -1
  70. package/dist/components/Loader/Loader.d.ts.map +1 -1
  71. package/dist/components/Loader/LoaderForSuspenseFallback.d.ts +2 -1
  72. package/dist/components/Loader/LoaderForSuspenseFallback.d.ts.map +1 -1
  73. package/dist/components/Modal/Modal.d.ts +19 -18
  74. package/dist/components/Modal/Modal.d.ts.map +1 -1
  75. package/dist/components/PopUpDialog/PopUpDialog.d.ts +22 -20
  76. package/dist/components/PopUpDialog/PopUpDialog.d.ts.map +1 -1
  77. package/dist/components/ReadOnlyChips/ReadOnlyChips.d.ts +5 -4
  78. package/dist/components/ReadOnlyChips/ReadOnlyChips.d.ts.map +1 -1
  79. package/dist/components/RoundedIcon/RoundedIcon.d.ts +15 -14
  80. package/dist/components/RoundedIcon/RoundedIcon.d.ts.map +1 -1
  81. package/dist/components/RoundedIcon/RoundedIcon.stories.d.ts +13 -2
  82. package/dist/components/RoundedIcon/RoundedIcon.stories.d.ts.map +1 -1
  83. package/dist/components/TableCell/TableCell.d.ts +20 -19
  84. package/dist/components/TableCell/TableCell.d.ts.map +1 -1
  85. package/dist/components/TabsSlider/TabsSlider.d.ts +18 -12
  86. package/dist/components/TabsSlider/TabsSlider.d.ts.map +1 -1
  87. package/dist/components/Tip/Tip.d.ts +7 -6
  88. package/dist/components/Tip/Tip.d.ts.map +1 -1
  89. package/dist/components/Tip/Tip.stories.d.ts +6 -1
  90. package/dist/components/Tip/Tip.stories.d.ts.map +1 -1
  91. package/dist/components/Tooltip/Tooltip.d.ts +17 -16
  92. package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
  93. package/dist/components/Tooltip/Tooltip.stories.d.ts +16 -2
  94. package/dist/components/Tooltip/Tooltip.stories.d.ts.map +1 -1
  95. package/dist/components/TooltipTemplate/ProducerTooltipTemplate.d.ts +6 -5
  96. package/dist/components/TooltipTemplate/ProducerTooltipTemplate.d.ts.map +1 -1
  97. package/dist/components/TooltipTemplate/TextTooltipTemplate.d.ts +6 -5
  98. package/dist/components/TooltipTemplate/TextTooltipTemplate.d.ts.map +1 -1
  99. package/dist/components/Wizard/Wizard.d.ts +16 -15
  100. package/dist/components/Wizard/Wizard.d.ts.map +1 -1
  101. package/dist/components/Wizard/WizardSteps/WizardSteps.d.ts +13 -6
  102. package/dist/components/Wizard/WizardSteps/WizardSteps.d.ts.map +1 -1
  103. package/dist/elements/ActionsMenuItem/ActionsMenuItem.d.ts +7 -6
  104. package/dist/elements/ActionsMenuItem/ActionsMenuItem.d.ts.map +1 -1
  105. package/dist/elements/FormActionButton/FormActionButton.d.ts +13 -12
  106. package/dist/elements/FormActionButton/FormActionButton.d.ts.map +1 -1
  107. package/dist/elements/FormRowActions/FormRowActions.d.ts +14 -13
  108. package/dist/elements/FormRowActions/FormRowActions.d.ts.map +1 -1
  109. package/dist/elements/OptionsMenu/OptionsMenu.d.ts +7 -6
  110. package/dist/elements/OptionsMenu/OptionsMenu.d.ts.map +1 -1
  111. package/dist/elements/SelectOption/SelectOption.d.ts +20 -10
  112. package/dist/elements/SelectOption/SelectOption.d.ts.map +1 -1
  113. package/dist/elements/TableHead/TableHead.d.ts +8 -7
  114. package/dist/elements/TableHead/TableHead.d.ts.map +1 -1
  115. package/dist/elements/TableLinkCell/TableLinkCell.d.ts +15 -14
  116. package/dist/elements/TableLinkCell/TableLinkCell.d.ts.map +1 -1
  117. package/dist/elements/TableTypeCell/TableTypeCell.d.ts +5 -4
  118. package/dist/elements/TableTypeCell/TableTypeCell.d.ts.map +1 -1
  119. package/dist/elements/ValidationTemplate/ValidationTemplate.d.ts +4 -3
  120. package/dist/elements/ValidationTemplate/ValidationTemplate.d.ts.map +1 -1
  121. package/dist/hooks/useDetails.hook.d.ts +35 -29
  122. package/dist/hooks/useDetails.hook.d.ts.map +1 -1
  123. package/dist/hooks/useDetailsHeader.hook.d.ts +59 -44
  124. package/dist/hooks/useDetailsHeader.hook.d.ts.map +1 -1
  125. package/dist/hooks/useFormTable.hook.d.ts +5 -5
  126. package/dist/hooks/useTable.hook.d.ts +42 -32
  127. package/dist/hooks/useTable.hook.d.ts.map +1 -1
  128. package/dist/images/activeFilter.svg +6 -0
  129. package/dist/images/activeFilter.svg.mjs +6 -0
  130. package/dist/images/activeFilter.svg.mjs.map +1 -0
  131. package/dist/images/calendar-chevron.svg +3 -0
  132. package/dist/images/calendar-chevron.svg.mjs +6 -0
  133. package/dist/images/calendar-chevron.svg.mjs.map +1 -0
  134. package/dist/images/check.svg +3 -0
  135. package/dist/images/check.svg.mjs +6 -0
  136. package/dist/images/check.svg.mjs.map +1 -0
  137. package/dist/images/clock.svg.mjs +6 -0
  138. package/dist/images/clock.svg.mjs.map +1 -0
  139. package/dist/images/double-check.svg +3 -0
  140. package/dist/images/filter-2.svg +5 -0
  141. package/dist/images/filter-2.svg.mjs +6 -0
  142. package/dist/images/filter-2.svg.mjs.map +1 -0
  143. package/dist/images/refresh-2.svg +3 -0
  144. package/dist/images/refresh-2.svg.mjs +6 -0
  145. package/dist/images/refresh-2.svg.mjs.map +1 -0
  146. package/dist/images/search2-icon.svg +3 -0
  147. package/dist/images/select.svg +3 -0
  148. package/dist/images/select.svg.mjs +6 -0
  149. package/dist/images/select.svg.mjs.map +1 -0
  150. package/dist/images/sort-arrow.svg +3 -0
  151. package/dist/images/sort-arrow.svg.mjs +6 -0
  152. package/dist/images/sort-arrow.svg.mjs.map +1 -0
  153. package/dist/nextGenComponents/components/Badge/Badge.d.ts +13 -0
  154. package/dist/nextGenComponents/components/Badge/Badge.d.ts.map +1 -0
  155. package/dist/nextGenComponents/components/Badge/Badge.mjs +23 -0
  156. package/dist/nextGenComponents/components/Badge/Badge.mjs.map +1 -0
  157. package/dist/nextGenComponents/components/Badge/index.d.ts +3 -0
  158. package/dist/nextGenComponents/components/Badge/index.d.ts.map +1 -0
  159. package/dist/nextGenComponents/components/Badge/index.mjs +6 -0
  160. package/dist/nextGenComponents/components/Badge/index.mjs.map +1 -0
  161. package/dist/nextGenComponents/components/BadgeCell/BadgeCell.d.ts +13 -0
  162. package/dist/nextGenComponents/components/BadgeCell/BadgeCell.d.ts.map +1 -0
  163. package/dist/nextGenComponents/components/BadgeCell/BadgeCell.mjs +109 -0
  164. package/dist/nextGenComponents/components/BadgeCell/BadgeCell.mjs.map +1 -0
  165. package/dist/nextGenComponents/components/BadgeCell/index.d.ts +3 -0
  166. package/dist/nextGenComponents/components/BadgeCell/index.d.ts.map +1 -0
  167. package/dist/nextGenComponents/components/BadgeCell/index.mjs +5 -0
  168. package/dist/nextGenComponents/components/BadgeCell/index.mjs.map +1 -0
  169. package/dist/nextGenComponents/components/CustomRangePicker/CustomRangePicker.d.ts +10 -0
  170. package/dist/nextGenComponents/components/CustomRangePicker/CustomRangePicker.d.ts.map +1 -0
  171. package/dist/nextGenComponents/components/CustomRangePicker/CustomRangePicker.mjs +103 -0
  172. package/dist/nextGenComponents/components/CustomRangePicker/CustomRangePicker.mjs.map +1 -0
  173. package/dist/nextGenComponents/components/CustomRangePicker/DateTimePickerPanel.d.ts +14 -0
  174. package/dist/nextGenComponents/components/CustomRangePicker/DateTimePickerPanel.d.ts.map +1 -0
  175. package/dist/nextGenComponents/components/CustomRangePicker/DateTimePickerPanel.mjs +115 -0
  176. package/dist/nextGenComponents/components/CustomRangePicker/DateTimePickerPanel.mjs.map +1 -0
  177. package/dist/nextGenComponents/components/CustomRangePicker/MaskedInput.d.ts +14 -0
  178. package/dist/nextGenComponents/components/CustomRangePicker/MaskedInput.d.ts.map +1 -0
  179. package/dist/nextGenComponents/components/CustomRangePicker/MaskedInput.mjs +109 -0
  180. package/dist/nextGenComponents/components/CustomRangePicker/MaskedInput.mjs.map +1 -0
  181. package/dist/nextGenComponents/components/CustomRangePicker/TimePickerInput.d.ts +8 -0
  182. package/dist/nextGenComponents/components/CustomRangePicker/TimePickerInput.d.ts.map +1 -0
  183. package/dist/nextGenComponents/components/CustomRangePicker/TimePickerInput.mjs +109 -0
  184. package/dist/nextGenComponents/components/CustomRangePicker/TimePickerInput.mjs.map +1 -0
  185. package/dist/nextGenComponents/components/CustomRangePicker/index.d.ts +2 -0
  186. package/dist/nextGenComponents/components/CustomRangePicker/index.d.ts.map +1 -0
  187. package/dist/nextGenComponents/components/CustomRangePicker/index.mjs +5 -0
  188. package/dist/nextGenComponents/components/CustomRangePicker/index.mjs.map +1 -0
  189. package/dist/nextGenComponents/components/DataTable/DataTable.d.ts +29 -0
  190. package/dist/nextGenComponents/components/DataTable/DataTable.d.ts.map +1 -0
  191. package/dist/nextGenComponents/components/DataTable/DataTable.mjs +223 -0
  192. package/dist/nextGenComponents/components/DataTable/DataTable.mjs.map +1 -0
  193. package/dist/nextGenComponents/components/DataTable/DataTable.utils.d.ts +11 -0
  194. package/dist/nextGenComponents/components/DataTable/DataTable.utils.d.ts.map +1 -0
  195. package/dist/nextGenComponents/components/DataTable/DataTable.utils.mjs +17 -0
  196. package/dist/nextGenComponents/components/DataTable/DataTable.utils.mjs.map +1 -0
  197. package/dist/nextGenComponents/components/DataTable/checkboxColumn.d.ts +4 -0
  198. package/dist/nextGenComponents/components/DataTable/checkboxColumn.d.ts.map +1 -0
  199. package/dist/nextGenComponents/components/DataTable/checkboxColumn.mjs +30 -0
  200. package/dist/nextGenComponents/components/DataTable/checkboxColumn.mjs.map +1 -0
  201. package/dist/nextGenComponents/components/DataTable/index.d.ts +2 -0
  202. package/dist/nextGenComponents/components/DataTable/index.d.ts.map +1 -0
  203. package/dist/nextGenComponents/components/DataTable/index.mjs +5 -0
  204. package/dist/nextGenComponents/components/DataTable/index.mjs.map +1 -0
  205. package/dist/nextGenComponents/components/DetailsPanel/DetailsPanel.d.ts +11 -0
  206. package/dist/nextGenComponents/components/DetailsPanel/DetailsPanel.d.ts.map +1 -0
  207. package/dist/nextGenComponents/components/DetailsPanel/DetailsPanel.mjs +53 -0
  208. package/dist/nextGenComponents/components/DetailsPanel/DetailsPanel.mjs.map +1 -0
  209. package/dist/nextGenComponents/components/DetailsPanel/index.d.ts +2 -0
  210. package/dist/nextGenComponents/components/DetailsPanel/index.d.ts.map +1 -0
  211. package/dist/nextGenComponents/components/DetailsPanel/index.mjs +5 -0
  212. package/dist/nextGenComponents/components/DetailsPanel/index.mjs.map +1 -0
  213. package/dist/nextGenComponents/components/EllipsisTooltip/EllipsisTooltip.d.ts +8 -0
  214. package/dist/nextGenComponents/components/EllipsisTooltip/EllipsisTooltip.d.ts.map +1 -0
  215. package/dist/nextGenComponents/components/EllipsisTooltip/EllipsisTooltip.mjs +20 -0
  216. package/dist/nextGenComponents/components/EllipsisTooltip/EllipsisTooltip.mjs.map +1 -0
  217. package/dist/nextGenComponents/components/EllipsisTooltip/index.d.ts +2 -0
  218. package/dist/nextGenComponents/components/EllipsisTooltip/index.d.ts.map +1 -0
  219. package/dist/nextGenComponents/components/EllipsisTooltip/index.mjs +5 -0
  220. package/dist/nextGenComponents/components/EllipsisTooltip/index.mjs.map +1 -0
  221. package/dist/nextGenComponents/components/FilterPopover/FilterPopover.d.ts +11 -0
  222. package/dist/nextGenComponents/components/FilterPopover/FilterPopover.d.ts.map +1 -0
  223. package/dist/nextGenComponents/components/FilterPopover/FilterPopover.mjs +160 -0
  224. package/dist/nextGenComponents/components/FilterPopover/FilterPopover.mjs.map +1 -0
  225. package/dist/nextGenComponents/components/FilterPopover/index.d.ts +2 -0
  226. package/dist/nextGenComponents/components/FilterPopover/index.d.ts.map +1 -0
  227. package/dist/nextGenComponents/components/FilterPopover/index.mjs +5 -0
  228. package/dist/nextGenComponents/components/FilterPopover/index.mjs.map +1 -0
  229. package/dist/nextGenComponents/components/Loader/Loader.d.ts +16 -0
  230. package/dist/nextGenComponents/components/Loader/Loader.d.ts.map +1 -0
  231. package/dist/nextGenComponents/components/Loader/Loader.mjs +62 -0
  232. package/dist/nextGenComponents/components/Loader/Loader.mjs.map +1 -0
  233. package/dist/nextGenComponents/components/Loader/index.d.ts +3 -0
  234. package/dist/nextGenComponents/components/Loader/index.d.ts.map +1 -0
  235. package/dist/nextGenComponents/components/Loader/index.mjs +5 -0
  236. package/dist/nextGenComponents/components/Loader/index.mjs.map +1 -0
  237. package/dist/nextGenComponents/components/MultiSelectField/MultiSelectField.d.ts +15 -0
  238. package/dist/nextGenComponents/components/MultiSelectField/MultiSelectField.d.ts.map +1 -0
  239. package/dist/nextGenComponents/components/MultiSelectField/MultiSelectField.mjs +113 -0
  240. package/dist/nextGenComponents/components/MultiSelectField/MultiSelectField.mjs.map +1 -0
  241. package/dist/nextGenComponents/components/MultiSelectField/index.d.ts +3 -0
  242. package/dist/nextGenComponents/components/MultiSelectField/index.d.ts.map +1 -0
  243. package/dist/nextGenComponents/components/MultiSelectField/index.mjs +6 -0
  244. package/dist/nextGenComponents/components/MultiSelectField/index.mjs.map +1 -0
  245. package/dist/nextGenComponents/components/PaginationControls/PaginationControls.d.ts +17 -0
  246. package/dist/nextGenComponents/components/PaginationControls/PaginationControls.d.ts.map +1 -0
  247. package/dist/nextGenComponents/components/PaginationControls/PaginationControls.mjs +106 -0
  248. package/dist/nextGenComponents/components/PaginationControls/PaginationControls.mjs.map +1 -0
  249. package/dist/nextGenComponents/components/PaginationControls/index.d.ts +3 -0
  250. package/dist/nextGenComponents/components/PaginationControls/index.d.ts.map +1 -0
  251. package/dist/nextGenComponents/components/PaginationControls/index.mjs +5 -0
  252. package/dist/nextGenComponents/components/PaginationControls/index.mjs.map +1 -0
  253. package/dist/nextGenComponents/components/RefreshButton/RefreshButton.d.ts +5 -0
  254. package/dist/nextGenComponents/components/RefreshButton/RefreshButton.d.ts.map +1 -0
  255. package/dist/nextGenComponents/components/RefreshButton/RefreshButton.mjs +20 -0
  256. package/dist/nextGenComponents/components/RefreshButton/RefreshButton.mjs.map +1 -0
  257. package/dist/nextGenComponents/components/RefreshButton/index.d.ts +2 -0
  258. package/dist/nextGenComponents/components/RefreshButton/index.d.ts.map +1 -0
  259. package/dist/nextGenComponents/components/RefreshButton/index.mjs +5 -0
  260. package/dist/nextGenComponents/components/RefreshButton/index.mjs.map +1 -0
  261. package/dist/nextGenComponents/components/RowActions/ActionMenu/ActionMenu.d.ts +8 -0
  262. package/dist/nextGenComponents/components/RowActions/ActionMenu/ActionMenu.d.ts.map +1 -0
  263. package/dist/nextGenComponents/components/RowActions/ActionMenu/ActionMenu.mjs +58 -0
  264. package/dist/nextGenComponents/components/RowActions/ActionMenu/ActionMenu.mjs.map +1 -0
  265. package/dist/nextGenComponents/components/RowActions/RowActions.d.ts +8 -0
  266. package/dist/nextGenComponents/components/RowActions/RowActions.d.ts.map +1 -0
  267. package/dist/nextGenComponents/components/RowActions/RowActions.mjs +19 -0
  268. package/dist/nextGenComponents/components/RowActions/RowActions.mjs.map +1 -0
  269. package/dist/nextGenComponents/components/RowActions/SingleActionButton/SingleActionButton.d.ts +9 -0
  270. package/dist/nextGenComponents/components/RowActions/SingleActionButton/SingleActionButton.d.ts.map +1 -0
  271. package/dist/nextGenComponents/components/RowActions/SingleActionButton/SingleActionButton.mjs +27 -0
  272. package/dist/nextGenComponents/components/RowActions/SingleActionButton/SingleActionButton.mjs.map +1 -0
  273. package/dist/nextGenComponents/components/RowActions/index.d.ts +5 -0
  274. package/dist/nextGenComponents/components/RowActions/index.d.ts.map +1 -0
  275. package/dist/nextGenComponents/components/RowActions/index.mjs +9 -0
  276. package/dist/nextGenComponents/components/RowActions/index.mjs.map +1 -0
  277. package/dist/nextGenComponents/components/StatsCard/StatsCard.d.ts +47 -0
  278. package/dist/nextGenComponents/components/StatsCard/StatsCard.d.ts.map +1 -0
  279. package/dist/nextGenComponents/components/StatsCard/StatsCard.mjs +75 -0
  280. package/dist/nextGenComponents/components/StatsCard/StatsCard.mjs.map +1 -0
  281. package/dist/nextGenComponents/components/StatsCard/index.d.ts +2 -0
  282. package/dist/nextGenComponents/components/StatsCard/index.d.ts.map +1 -0
  283. package/dist/nextGenComponents/components/StatsCard/index.mjs +5 -0
  284. package/dist/nextGenComponents/components/StatsCard/index.mjs.map +1 -0
  285. package/dist/nextGenComponents/components/TimeFilterDropdown/TimeFilterDropdown.d.ts +4 -0
  286. package/dist/nextGenComponents/components/TimeFilterDropdown/TimeFilterDropdown.d.ts.map +1 -0
  287. package/dist/nextGenComponents/components/TimeFilterDropdown/TimeFilterDropdown.mjs +106 -0
  288. package/dist/nextGenComponents/components/TimeFilterDropdown/TimeFilterDropdown.mjs.map +1 -0
  289. package/dist/nextGenComponents/components/TimeFilterDropdown/index.d.ts +2 -0
  290. package/dist/nextGenComponents/components/TimeFilterDropdown/index.d.ts.map +1 -0
  291. package/dist/nextGenComponents/components/TimeFilterDropdown/index.mjs +5 -0
  292. package/dist/nextGenComponents/components/TimeFilterDropdown/index.mjs.map +1 -0
  293. package/dist/nextGenComponents/components/index.d.ts +39 -0
  294. package/dist/nextGenComponents/components/index.d.ts.map +1 -0
  295. package/dist/nextGenComponents/components/index.mjs +103 -0
  296. package/dist/nextGenComponents/components/index.mjs.map +1 -0
  297. package/dist/nextGenComponents/components/ui/button.d.ts +14 -0
  298. package/dist/nextGenComponents/components/ui/button.d.ts.map +1 -0
  299. package/dist/nextGenComponents/components/ui/button.mjs +56 -0
  300. package/dist/nextGenComponents/components/ui/button.mjs.map +1 -0
  301. package/dist/nextGenComponents/components/ui/calendar.d.ts +29 -0
  302. package/dist/nextGenComponents/components/ui/calendar.d.ts.map +1 -0
  303. package/dist/nextGenComponents/components/ui/calendar.mjs +157 -0
  304. package/dist/nextGenComponents/components/ui/calendar.mjs.map +1 -0
  305. package/dist/nextGenComponents/components/ui/card.d.ts +9 -0
  306. package/dist/nextGenComponents/components/ui/card.d.ts.map +1 -0
  307. package/dist/nextGenComponents/components/ui/card.mjs +50 -0
  308. package/dist/nextGenComponents/components/ui/card.mjs.map +1 -0
  309. package/dist/nextGenComponents/components/ui/checkbox.d.ts +8 -0
  310. package/dist/nextGenComponents/components/ui/checkbox.d.ts.map +1 -0
  311. package/dist/nextGenComponents/components/ui/checkbox.mjs +33 -0
  312. package/dist/nextGenComponents/components/ui/checkbox.mjs.map +1 -0
  313. package/dist/nextGenComponents/components/ui/collapsible.d.ts +6 -0
  314. package/dist/nextGenComponents/components/ui/collapsible.d.ts.map +1 -0
  315. package/dist/nextGenComponents/components/ui/collapsible.mjs +8 -0
  316. package/dist/nextGenComponents/components/ui/collapsible.mjs.map +1 -0
  317. package/dist/nextGenComponents/components/ui/dialog.d.ts +27 -0
  318. package/dist/nextGenComponents/components/ui/dialog.d.ts.map +1 -0
  319. package/dist/nextGenComponents/components/ui/dialog.mjs +135 -0
  320. package/dist/nextGenComponents/components/ui/dialog.mjs.map +1 -0
  321. package/dist/nextGenComponents/components/ui/dropdown-menu.d.ts +28 -0
  322. package/dist/nextGenComponents/components/ui/dropdown-menu.d.ts.map +1 -0
  323. package/dist/nextGenComponents/components/ui/dropdown-menu.mjs +131 -0
  324. package/dist/nextGenComponents/components/ui/dropdown-menu.mjs.map +1 -0
  325. package/dist/nextGenComponents/components/ui/input.d.ts +4 -0
  326. package/dist/nextGenComponents/components/ui/input.d.ts.map +1 -0
  327. package/dist/nextGenComponents/components/ui/input.mjs +33 -0
  328. package/dist/nextGenComponents/components/ui/input.mjs.map +1 -0
  329. package/dist/nextGenComponents/components/ui/pagination.d.ts +25 -0
  330. package/dist/nextGenComponents/components/ui/pagination.d.ts.map +1 -0
  331. package/dist/nextGenComponents/components/ui/pagination.mjs +93 -0
  332. package/dist/nextGenComponents/components/ui/pagination.mjs.map +1 -0
  333. package/dist/nextGenComponents/components/ui/popover.d.ts +7 -0
  334. package/dist/nextGenComponents/components/ui/popover.d.ts.map +1 -0
  335. package/dist/nextGenComponents/components/ui/popover.mjs +24 -0
  336. package/dist/nextGenComponents/components/ui/popover.mjs.map +1 -0
  337. package/dist/nextGenComponents/components/ui/scroll-area.d.ts +6 -0
  338. package/dist/nextGenComponents/components/ui/scroll-area.d.ts.map +1 -0
  339. package/dist/nextGenComponents/components/ui/scroll-area.mjs +39 -0
  340. package/dist/nextGenComponents/components/ui/scroll-area.mjs.map +1 -0
  341. package/dist/nextGenComponents/components/ui/select.d.ts +14 -0
  342. package/dist/nextGenComponents/components/ui/select.d.ts.map +1 -0
  343. package/dist/nextGenComponents/components/ui/select.mjs +117 -0
  344. package/dist/nextGenComponents/components/ui/select.mjs.map +1 -0
  345. package/dist/nextGenComponents/components/ui/separator.d.ts +5 -0
  346. package/dist/nextGenComponents/components/ui/separator.d.ts.map +1 -0
  347. package/dist/nextGenComponents/components/ui/separator.mjs +25 -0
  348. package/dist/nextGenComponents/components/ui/separator.mjs.map +1 -0
  349. package/dist/nextGenComponents/components/ui/tabs.d.ts +8 -0
  350. package/dist/nextGenComponents/components/ui/tabs.d.ts.map +1 -0
  351. package/dist/nextGenComponents/components/ui/tabs.mjs +56 -0
  352. package/dist/nextGenComponents/components/ui/tabs.mjs.map +1 -0
  353. package/dist/nextGenComponents/components/ui/tooltip.d.ts +8 -0
  354. package/dist/nextGenComponents/components/ui/tooltip.d.ts.map +1 -0
  355. package/dist/nextGenComponents/components/ui/tooltip.mjs +24 -0
  356. package/dist/nextGenComponents/components/ui/tooltip.mjs.map +1 -0
  357. package/dist/nextGenComponents/constants/index.d.ts +41 -0
  358. package/dist/nextGenComponents/constants/index.d.ts.map +1 -0
  359. package/dist/nextGenComponents/constants/index.mjs +49 -0
  360. package/dist/nextGenComponents/constants/index.mjs.map +1 -0
  361. package/dist/nextGenComponents/hooks/useClickOutside.d.ts +3 -0
  362. package/dist/nextGenComponents/hooks/useClickOutside.d.ts.map +1 -0
  363. package/dist/nextGenComponents/hooks/useClickOutside.mjs +22 -0
  364. package/dist/nextGenComponents/hooks/useClickOutside.mjs.map +1 -0
  365. package/dist/nextGenComponents/index.d.ts +4 -0
  366. package/dist/nextGenComponents/index.d.ts.map +1 -0
  367. package/dist/nextGenComponents/index.mjs +126 -0
  368. package/dist/nextGenComponents/index.mjs.map +1 -0
  369. package/dist/nextGenComponents/lib/utils.d.ts +3 -0
  370. package/dist/nextGenComponents/lib/utils.d.ts.map +1 -0
  371. package/dist/nextGenComponents/lib/utils.mjs +7 -0
  372. package/dist/nextGenComponents/lib/utils.mjs.map +1 -0
  373. package/dist/nextGenComponents/stores/tableStore.d.ts +28 -0
  374. package/dist/nextGenComponents/stores/tableStore.d.ts.map +1 -0
  375. package/dist/nextGenComponents/stores/tableStore.mjs +58 -0
  376. package/dist/nextGenComponents/stores/tableStore.mjs.map +1 -0
  377. package/dist/nextGenComponents/types/table/filter.d.ts +21 -0
  378. package/dist/nextGenComponents/types/table/filter.d.ts.map +1 -0
  379. package/dist/nextGenComponents/types/table/rowAction.d.ts +13 -0
  380. package/dist/nextGenComponents/types/table/rowAction.d.ts.map +1 -0
  381. package/dist/nextGenComponents/types/table/timeFilter.d.ts +23 -0
  382. package/dist/nextGenComponents/types/table/timeFilter.d.ts.map +1 -0
  383. package/dist/nextGenComponents/utils/date.utils.d.ts +24 -0
  384. package/dist/nextGenComponents/utils/date.utils.d.ts.map +1 -0
  385. package/dist/nextGenComponents/utils/date.utils.mjs +79 -0
  386. package/dist/nextGenComponents/utils/date.utils.mjs.map +1 -0
  387. package/dist/nextGenComponents/utils/tableFilters.utils.d.ts +7 -0
  388. package/dist/nextGenComponents/utils/tableFilters.utils.d.ts.map +1 -0
  389. package/dist/nextGenComponents/utils/tableFilters.utils.mjs +7 -0
  390. package/dist/nextGenComponents/utils/tableFilters.utils.mjs.map +1 -0
  391. package/dist/reducers/notificationReducer.d.ts +1 -1
  392. package/dist/types.d.ts +148 -31
  393. package/dist/types.d.ts.map +1 -1
  394. package/dist/utils/chips.util.d.ts +2 -2
  395. package/dist/utils/chips.util.d.ts.map +1 -1
  396. package/dist/utils/common.util.d.ts +1 -1
  397. package/dist/utils/common.util.d.ts.map +1 -1
  398. package/dist/utils/datetime.util.d.ts +3 -3
  399. package/dist/utils/datetime.util.d.ts.map +1 -1
  400. package/dist/utils/generateChipsList.util.d.ts +1 -1
  401. package/dist/utils/notification.util.d.ts +1 -1
  402. package/dist/utils/notification.util.d.ts.map +1 -1
  403. package/dist/utils/proxyServerConfig.util.d.ts +4 -4
  404. package/package.json +35 -8
@@ -0,0 +1,109 @@
1
+ import { jsxs as m, jsx as o } from "react/jsx-runtime";
2
+ import { useRef as W, useState as O, useCallback as R, useMemo as P, useEffect as T } from "react";
3
+ import "../Badge/index.mjs";
4
+ import { Popover as j, PopoverTrigger as z, PopoverContent as A } from "../ui/popover.mjs";
5
+ import { cn as p } from "../../lib/utils.mjs";
6
+ import k, { getBadgeColor as G } from "../Badge/Badge.mjs";
7
+ const d = G(), M = 36, B = 4, v = (n, r) => n.value ? `${n.key}${r}${n.value}` : n.key, q = ({ badges: n, delimiter: r = ":", maxVisible: f, className: N }) => {
8
+ const c = W(null), g = W(null), [x, w] = O(n.length), l = R(() => {
9
+ const e = c.current, t = g.current;
10
+ if (!e || !t) return;
11
+ const i = e.offsetWidth;
12
+ if (f !== void 0) {
13
+ w(Math.min(f, n.length));
14
+ return;
15
+ }
16
+ const s = t.children;
17
+ let a = 0, C = 0;
18
+ for (let u = 0; u < s.length; u++) {
19
+ const $ = s[u].offsetWidth + B, E = u < n.length - 1 ? i - M - B : i;
20
+ if (a + $ <= E)
21
+ a += $, C++;
22
+ else
23
+ break;
24
+ }
25
+ w(Math.max(C, 0));
26
+ }, [n.length, f]), h = P(() => {
27
+ let e = 0, t = null;
28
+ const i = () => {
29
+ const s = Date.now(), a = 150 - (s - e);
30
+ a <= 0 ? (e = s, l()) : t || (t = setTimeout(() => {
31
+ e = Date.now(), t = null, l();
32
+ }, a));
33
+ };
34
+ return i.cancel = () => {
35
+ t && (clearTimeout(t), t = null);
36
+ }, i;
37
+ }, [l]);
38
+ if (T(() => {
39
+ l();
40
+ const e = new ResizeObserver(h);
41
+ return c.current && e.observe(c.current), () => {
42
+ e.disconnect(), h.cancel();
43
+ };
44
+ }, [l, h]), n.length === 0)
45
+ return null;
46
+ const D = n.slice(0, x), b = n.slice(x), y = b.length;
47
+ return /* @__PURE__ */ m(
48
+ "div",
49
+ {
50
+ ref: c,
51
+ "data-testid": "badge-cell",
52
+ className: p("relative flex items-center gap-1 min-w-0 overflow-hidden", N),
53
+ children: [
54
+ /* @__PURE__ */ o(
55
+ "div",
56
+ {
57
+ ref: g,
58
+ "aria-hidden": !0,
59
+ className: "absolute top-0 left-0 flex items-center gap-1 invisible pointer-events-none whitespace-nowrap",
60
+ children: n.map((e, t) => /* @__PURE__ */ o(k, { label: v(e, r) }, `measure-${e.key}-${t}`))
61
+ }
62
+ ),
63
+ D.map((e, t) => /* @__PURE__ */ o(k, { label: v(e, r) }, `${e.key}-${t}`)),
64
+ y > 0 && /* @__PURE__ */ m(j, { children: [
65
+ /* @__PURE__ */ o(z, { asChild: !0, children: /* @__PURE__ */ m(
66
+ "button",
67
+ {
68
+ type: "button",
69
+ "data-testid": "badge-cell-overflow",
70
+ className: p(
71
+ "inline-flex items-center justify-center rounded px-2 py-0.5 text-xs font-medium cursor-pointer whitespace-nowrap border-0",
72
+ d.bg,
73
+ d.text
74
+ ),
75
+ children: [
76
+ "+",
77
+ y
78
+ ]
79
+ }
80
+ ) }),
81
+ /* @__PURE__ */ o(
82
+ A,
83
+ {
84
+ side: "top",
85
+ align: "start",
86
+ className: "w-auto max-h-[200px] overflow-y-auto p-2 bg-white text-igz-primary border border-igz-gray-light",
87
+ children: /* @__PURE__ */ o("div", { className: "flex flex-col gap-1.5", children: b.map((e, t) => /* @__PURE__ */ o(
88
+ "span",
89
+ {
90
+ className: p(
91
+ "inline-flex rounded px-2 py-0.5 text-xs font-medium whitespace-nowrap",
92
+ d.bg,
93
+ d.text
94
+ ),
95
+ children: v(e, r)
96
+ },
97
+ `hidden-${e.key}-${t}`
98
+ )) })
99
+ }
100
+ )
101
+ ] })
102
+ ]
103
+ }
104
+ );
105
+ };
106
+ export {
107
+ q as default
108
+ };
109
+ //# sourceMappingURL=BadgeCell.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BadgeCell.mjs","sources":["../../../../src/lib/nextGenComponents/components/BadgeCell/BadgeCell.tsx"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from 'react'\n\nimport Badge, { getBadgeColor } from '@/components/Badge'\nimport { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover'\nimport { cn } from '@/lib/utils'\n\nexport type BadgeItem = {\n key: string\n value?: string\n}\n\nexport type BadgeCellProps = {\n badges: BadgeItem[]\n delimiter?: string\n maxVisible?: number\n className?: string\n}\n\nconst badgeColor = getBadgeColor()\nconst OVERFLOW_BADGE_WIDTH = 36\nconst BADGE_GAP = 4\n\nconst formatLabel = (badge: BadgeItem, delimiter: string) => {\n if (!badge.value) return badge.key\n return `${badge.key}${delimiter}${badge.value}`\n}\n\nconst BadgeCell = ({ badges, delimiter = ':', maxVisible, className }: BadgeCellProps) => {\n const containerRef = useRef<HTMLDivElement>(null)\n const measureRef = useRef<HTMLDivElement>(null)\n const [visibleCount, setVisibleCount] = useState(badges.length)\n\n const calculateVisibleCount = useCallback(() => {\n const container = containerRef.current\n const measure = measureRef.current\n if (!container || !measure) return\n\n const containerWidth = container.offsetWidth\n\n if (maxVisible !== undefined) {\n setVisibleCount(Math.min(maxVisible, badges.length))\n return\n }\n\n const badgeElements = measure.children\n let totalWidth = 0\n let count = 0\n\n for (let i = 0; i < badgeElements.length; i++) {\n const badgeWidth = (badgeElements[i] as HTMLElement).offsetWidth + BADGE_GAP\n const needsOverflow = i < badges.length - 1\n const availableWidth = needsOverflow\n ? containerWidth - OVERFLOW_BADGE_WIDTH - BADGE_GAP\n : containerWidth\n\n if (totalWidth + badgeWidth <= availableWidth) {\n totalWidth += badgeWidth\n count++\n } else {\n break\n }\n }\n\n setVisibleCount(Math.max(count, 0))\n }, [badges.length, maxVisible])\n\n const throttledCalculate = useMemo(() => {\n let lastCall = 0\n let timeoutId: ReturnType<typeof setTimeout> | null = null\n\n const throttled = () => {\n const now = Date.now()\n const remaining = 150 - (now - lastCall)\n\n if (remaining <= 0) {\n lastCall = now\n calculateVisibleCount()\n } else if (!timeoutId) {\n timeoutId = setTimeout(() => {\n lastCall = Date.now()\n timeoutId = null\n calculateVisibleCount()\n }, remaining)\n }\n }\n\n throttled.cancel = () => {\n if (timeoutId) {\n clearTimeout(timeoutId)\n timeoutId = null\n }\n }\n\n return throttled\n }, [calculateVisibleCount])\n\n useEffect(() => {\n calculateVisibleCount()\n\n const observer = new ResizeObserver(throttledCalculate)\n if (containerRef.current) {\n observer.observe(containerRef.current)\n }\n\n return () => {\n observer.disconnect()\n throttledCalculate.cancel()\n }\n }, [calculateVisibleCount, throttledCalculate])\n\n if (badges.length === 0) {\n return null\n }\n\n const visibleBadges = badges.slice(0, visibleCount)\n const hiddenBadges = badges.slice(visibleCount)\n const hiddenCount = hiddenBadges.length\n\n return (\n <div\n ref={containerRef}\n data-testid=\"badge-cell\"\n className={cn('relative flex items-center gap-1 min-w-0 overflow-hidden', className)}\n >\n <div\n ref={measureRef}\n aria-hidden\n className=\"absolute top-0 left-0 flex items-center gap-1 invisible pointer-events-none whitespace-nowrap\"\n >\n {badges.map((badge, index) => (\n <Badge key={`measure-${badge.key}-${index}`} label={formatLabel(badge, delimiter)} />\n ))}\n </div>\n\n {visibleBadges.map((badge, index) => (\n <Badge key={`${badge.key}-${index}`} label={formatLabel(badge, delimiter)} />\n ))}\n\n {hiddenCount > 0 && (\n <Popover>\n <PopoverTrigger asChild>\n <button\n type=\"button\"\n data-testid=\"badge-cell-overflow\"\n className={cn(\n 'inline-flex items-center justify-center rounded px-2 py-0.5 text-xs font-medium cursor-pointer whitespace-nowrap border-0',\n badgeColor.bg,\n badgeColor.text\n )}\n >\n +{hiddenCount}\n </button>\n </PopoverTrigger>\n <PopoverContent\n side=\"top\"\n align=\"start\"\n className=\"w-auto max-h-[200px] overflow-y-auto p-2 bg-white text-igz-primary border border-igz-gray-light\"\n >\n <div className=\"flex flex-col gap-1.5\">\n {hiddenBadges.map((badge, index) => (\n <span\n key={`hidden-${badge.key}-${index}`}\n className={cn(\n 'inline-flex rounded px-2 py-0.5 text-xs font-medium whitespace-nowrap',\n badgeColor.bg,\n badgeColor.text\n )}\n >\n {formatLabel(badge, delimiter)}\n </span>\n ))}\n </div>\n </PopoverContent>\n </Popover>\n )}\n </div>\n )\n}\n\nexport default BadgeCell\n"],"names":["badgeColor","getBadgeColor","OVERFLOW_BADGE_WIDTH","BADGE_GAP","formatLabel","badge","delimiter","BadgeCell","badges","maxVisible","className","containerRef","useRef","measureRef","visibleCount","setVisibleCount","useState","calculateVisibleCount","useCallback","container","measure","containerWidth","badgeElements","totalWidth","count","i","badgeWidth","availableWidth","throttledCalculate","useMemo","lastCall","timeoutId","throttled","now","remaining","useEffect","observer","visibleBadges","hiddenBadges","hiddenCount","jsxs","cn","jsx","index","Badge","Popover","PopoverTrigger","PopoverContent"],"mappings":";;;;;;AAkBA,MAAMA,IAAaC,EAAA,GACbC,IAAuB,IACvBC,IAAY,GAEZC,IAAc,CAACC,GAAkBC,MAChCD,EAAM,QACJ,GAAGA,EAAM,GAAG,GAAGC,CAAS,GAAGD,EAAM,KAAK,KADpBA,EAAM,KAI3BE,IAAY,CAAC,EAAE,QAAAC,GAAQ,WAAAF,IAAY,KAAK,YAAAG,GAAY,WAAAC,QAAgC;AACxF,QAAMC,IAAeC,EAAuB,IAAI,GAC1CC,IAAaD,EAAuB,IAAI,GACxC,CAACE,GAAcC,CAAe,IAAIC,EAASR,EAAO,MAAM,GAExDS,IAAwBC,EAAY,MAAM;AAC9C,UAAMC,IAAYR,EAAa,SACzBS,IAAUP,EAAW;AAC3B,QAAI,CAACM,KAAa,CAACC,EAAS;AAE5B,UAAMC,IAAiBF,EAAU;AAEjC,QAAIV,MAAe,QAAW;AAC5B,MAAAM,EAAgB,KAAK,IAAIN,GAAYD,EAAO,MAAM,CAAC;AACnD;AAAA,IACF;AAEA,UAAMc,IAAgBF,EAAQ;AAC9B,QAAIG,IAAa,GACbC,IAAQ;AAEZ,aAASC,IAAI,GAAGA,IAAIH,EAAc,QAAQG,KAAK;AAC7C,YAAMC,IAAcJ,EAAcG,CAAC,EAAkB,cAActB,GAE7DwB,IADgBF,IAAIjB,EAAO,SAAS,IAEtCa,IAAiBnB,IAAuBC,IACxCkB;AAEJ,UAAIE,IAAaG,KAAcC;AAC7B,QAAAJ,KAAcG,GACdF;AAAA;AAEA;AAAA,IAEJ;AAEA,IAAAT,EAAgB,KAAK,IAAIS,GAAO,CAAC,CAAC;AAAA,EACpC,GAAG,CAAChB,EAAO,QAAQC,CAAU,CAAC,GAExBmB,IAAqBC,EAAQ,MAAM;AACvC,QAAIC,IAAW,GACXC,IAAkD;AAEtD,UAAMC,IAAY,MAAM;AACtB,YAAMC,IAAM,KAAK,IAAA,GACXC,IAAY,OAAOD,IAAMH;AAE/B,MAAII,KAAa,KACfJ,IAAWG,GACXhB,EAAA,KACUc,MACVA,IAAY,WAAW,MAAM;AAC3B,QAAAD,IAAW,KAAK,IAAA,GAChBC,IAAY,MACZd,EAAA;AAAA,MACF,GAAGiB,CAAS;AAAA,IAEhB;AAEA,WAAAF,EAAU,SAAS,MAAM;AACvB,MAAID,MACF,aAAaA,CAAS,GACtBA,IAAY;AAAA,IAEhB,GAEOC;AAAA,EACT,GAAG,CAACf,CAAqB,CAAC;AAgB1B,MAdAkB,EAAU,MAAM;AACd,IAAAlB,EAAA;AAEA,UAAMmB,IAAW,IAAI,eAAeR,CAAkB;AACtD,WAAIjB,EAAa,WACfyB,EAAS,QAAQzB,EAAa,OAAO,GAGhC,MAAM;AACX,MAAAyB,EAAS,WAAA,GACTR,EAAmB,OAAA;AAAA,IACrB;AAAA,EACF,GAAG,CAACX,GAAuBW,CAAkB,CAAC,GAE1CpB,EAAO,WAAW;AACpB,WAAO;AAGT,QAAM6B,IAAgB7B,EAAO,MAAM,GAAGM,CAAY,GAC5CwB,IAAe9B,EAAO,MAAMM,CAAY,GACxCyB,IAAcD,EAAa;AAEjC,SACE,gBAAAE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAK7B;AAAA,MACL,eAAY;AAAA,MACZ,WAAW8B,EAAG,4DAA4D/B,CAAS;AAAA,MAEnF,UAAA;AAAA,QAAA,gBAAAgC;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,KAAK7B;AAAA,YACL,eAAW;AAAA,YACX,WAAU;AAAA,YAET,YAAO,IAAI,CAACR,GAAOsC,MAClB,gBAAAD,EAACE,KAA4C,OAAOxC,EAAYC,GAAOC,CAAS,KAApE,WAAWD,EAAM,GAAG,IAAIsC,CAAK,EAA0C,CACpF;AAAA,UAAA;AAAA,QAAA;AAAA,QAGFN,EAAc,IAAI,CAAChC,GAAOsC,MACzB,gBAAAD,EAACE,KAAoC,OAAOxC,EAAYC,GAAOC,CAAS,KAA5D,GAAGD,EAAM,GAAG,IAAIsC,CAAK,EAA0C,CAC5E;AAAA,QAEAJ,IAAc,KACb,gBAAAC,EAACK,GAAA,EACC,UAAA;AAAA,UAAA,gBAAAH,EAACI,GAAA,EAAe,SAAO,IACrB,UAAA,gBAAAN;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,eAAY;AAAA,cACZ,WAAWC;AAAA,gBACT;AAAA,gBACAzC,EAAW;AAAA,gBACXA,EAAW;AAAA,cAAA;AAAA,cAEd,UAAA;AAAA,gBAAA;AAAA,gBACGuC;AAAA,cAAA;AAAA,YAAA;AAAA,UAAA,GAEN;AAAA,UACA,gBAAAG;AAAA,YAACK;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,OAAM;AAAA,cACN,WAAU;AAAA,cAEV,UAAA,gBAAAL,EAAC,SAAI,WAAU,yBACZ,YAAa,IAAI,CAACrC,GAAOsC,MACxB,gBAAAD;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBAEC,WAAWD;AAAA,oBACT;AAAA,oBACAzC,EAAW;AAAA,oBACXA,EAAW;AAAA,kBAAA;AAAA,kBAGZ,UAAAI,EAAYC,GAAOC,CAAS;AAAA,gBAAA;AAAA,gBAPxB,UAAUD,EAAM,GAAG,IAAIsC,CAAK;AAAA,cAAA,CASpC,EAAA,CACH;AAAA,YAAA;AAAA,UAAA;AAAA,QACF,EAAA,CACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIR;"}
@@ -0,0 +1,3 @@
1
+ export { default } from './BadgeCell';
2
+ export type { BadgeCellProps, BadgeItem } from './BadgeCell';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/nextGenComponents/components/BadgeCell/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { default as o } from "./BadgeCell.mjs";
2
+ export {
3
+ o as default
4
+ };
5
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,10 @@
1
+ import type { CustomDateRange } from '@/types/table/timeFilter';
2
+ type Props = {
3
+ onApply?: (range: CustomDateRange) => void;
4
+ singleDate?: boolean;
5
+ onReset?: () => void;
6
+ initialRange?: CustomDateRange;
7
+ };
8
+ declare const CustomRangePicker: ({ onApply, singleDate, onReset, initialRange }: Props) => import("react/jsx-runtime").JSX.Element;
9
+ export default CustomRangePicker;
10
+ //# sourceMappingURL=CustomRangePicker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CustomRangePicker.d.ts","sourceRoot":"","sources":["../../../../src/lib/nextGenComponents/components/CustomRangePicker/CustomRangePicker.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAU/D,KAAK,KAAK,GAAG;IACX,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAA;IAC1C,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,YAAY,CAAC,EAAE,eAAe,CAAA;CAC/B,CAAA;AAKD,QAAA,MAAM,iBAAiB,GAAI,gDAAwD,KAAK,4CA4HvF,CAAA;AAED,eAAe,iBAAiB,CAAA"}
@@ -0,0 +1,103 @@
1
+ import { jsxs as l, jsx as c } from "react/jsx-runtime";
2
+ import { AlertCircle as I } from "lucide-react";
3
+ import { useState as T, useMemo as O } from "react";
4
+ import { DateTimePickerPanel as N } from "./DateTimePickerPanel.mjs";
5
+ import { Button as H } from "../ui/button.mjs";
6
+ import { RESET as P, FILTER_BUTTON_APPLY as L } from "../../constants/index.mjs";
7
+ import { getDefaultSinceHour as U, getDefaultUntilHour as V, isoToLocalDate as S, isoToHour as v, applyHourToDate as h, toUTCISO as x } from "../../utils/date.utils.mjs";
8
+ const j = { from: void 0, to: void 0 }, z = '"To" must be later than "From"', J = ({ onApply: m, singleDate: s = !1, onReset: n, initialRange: r }) => {
9
+ const u = U(), f = V(), [o, b] = T({
10
+ from: S((r == null ? void 0 : r.since) ?? ""),
11
+ to: S((r == null ? void 0 : r.until) ?? "")
12
+ }), [d, p] = T({
13
+ from: v((r == null ? void 0 : r.since) ?? "") || u,
14
+ to: v((r == null ? void 0 : r.until) ?? "") || (s ? "" : f)
15
+ }), a = O(() => {
16
+ if (s || !o.from || !o.to) return "";
17
+ const t = h(o.from, d.from, u), e = h(o.to, d.to, f);
18
+ return t.getTime() > e.getTime() ? z : "";
19
+ }, [o.from, o.to, d.from, d.to, s, u, f]), C = () => {
20
+ b(j), p({ from: u, to: s ? "" : f }), n == null || n();
21
+ }, F = (t) => b((e) => ({ from: t, to: e.to })), i = (t) => b((e) => ({ from: e.from, to: t })), w = (t) => {
22
+ p((e) => ({ ...e, from: t }));
23
+ }, k = (t) => {
24
+ p((e) => ({ ...e, to: t }));
25
+ }, E = !o.from && !o.to, _ = (s ? !o.from : !o.from || !o.to) || !!a, D = () => {
26
+ if (a || !o.from) return;
27
+ const t = h(o.from, d.from, u);
28
+ if (s) {
29
+ m == null || m({ since: x(t), until: "" });
30
+ return;
31
+ }
32
+ if (!o.to) return;
33
+ const e = h(o.to, d.to, f);
34
+ m == null || m({ since: x(t), until: x(e) });
35
+ };
36
+ return /* @__PURE__ */ l("div", { className: "flex flex-col gap-6 bg-white p-6 w-fit", children: [
37
+ /* @__PURE__ */ l("div", { className: s ? "" : "grid grid-cols-2 gap-8", children: [
38
+ /* @__PURE__ */ c(
39
+ N,
40
+ {
41
+ label: s ? "" : "From:",
42
+ side: "start",
43
+ dateValue: o.from,
44
+ range: o,
45
+ hourValue: d.from,
46
+ singleDate: s,
47
+ onHourChange: w,
48
+ onSelectDate: F
49
+ }
50
+ ),
51
+ !s && /* @__PURE__ */ c(
52
+ N,
53
+ {
54
+ label: "To:",
55
+ side: "end",
56
+ dateValue: o.to,
57
+ range: o,
58
+ hourValue: d.to,
59
+ onHourChange: k,
60
+ onSelectDate: i
61
+ }
62
+ )
63
+ ] }),
64
+ a && /* @__PURE__ */ l(
65
+ "div",
66
+ {
67
+ className: "flex items-center gap-3 rounded-md border border-red-300 bg-red-50 px-4 py-3",
68
+ "data-testid": "custom-date-error",
69
+ children: [
70
+ /* @__PURE__ */ c(I, { className: "h-5 w-5 shrink-0 text-red-500" }),
71
+ /* @__PURE__ */ c("span", { className: "text-sm font-medium text-red-600", children: a })
72
+ ]
73
+ }
74
+ ),
75
+ /* @__PURE__ */ l("div", { className: "flex justify-end gap-3 pt-4", children: [
76
+ /* @__PURE__ */ c(
77
+ H,
78
+ {
79
+ variant: "secondary",
80
+ className: "px-6 py-2 bg-white w-[90px] border-[1.5px] border-igz-gray text-[#4B4760] rounded-md hover:bg-[#483F561F]",
81
+ "data-testid": "custom-date-reset-btn",
82
+ onClick: C,
83
+ disabled: E,
84
+ children: P
85
+ }
86
+ ),
87
+ /* @__PURE__ */ c(
88
+ H,
89
+ {
90
+ className: "px-6 py-2 bg-igz-light-purple w-[90px] text-white hover:bg-igz-dark-purple rounded-md",
91
+ "data-testid": "custom-date-apply-btn",
92
+ onClick: D,
93
+ disabled: _,
94
+ children: L
95
+ }
96
+ )
97
+ ] })
98
+ ] });
99
+ };
100
+ export {
101
+ J as default
102
+ };
103
+ //# sourceMappingURL=CustomRangePicker.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CustomRangePicker.mjs","sources":["../../../../src/lib/nextGenComponents/components/CustomRangePicker/CustomRangePicker.tsx"],"sourcesContent":["import { AlertCircle } from 'lucide-react'\nimport { useMemo, useState } from 'react'\nimport type { DateRange } from 'react-day-picker'\n\nimport { DateTimePickerPanel } from '@/components/CustomRangePicker/DateTimePickerPanel'\nimport { Button } from '@/components/ui/button'\nimport { FILTER_BUTTON_APPLY, RESET } from '@/constants'\nimport type { CustomDateRange } from '@/types/table/timeFilter'\nimport {\n applyHourToDate,\n getDefaultSinceHour,\n getDefaultUntilHour,\n isoToHour,\n isoToLocalDate,\n toUTCISO\n} from '@/utils/date.utils'\n\ntype Props = {\n onApply?: (range: CustomDateRange) => void\n singleDate?: boolean\n onReset?: () => void\n initialRange?: CustomDateRange\n}\n\nconst INITIAL_RANGE: DateRange = { from: undefined, to: undefined }\nconst FROM_AFTER_TO_ERROR = '\"To\" must be later than \"From\"'\n\nconst CustomRangePicker = ({ onApply, singleDate = false, onReset, initialRange }: Props) => {\n const defaultSinceHour = getDefaultSinceHour()\n const defaultUntilHour = getDefaultUntilHour()\n\n const [date, setDate] = useState<DateRange>({\n from: isoToLocalDate(initialRange?.since ?? ''),\n to: isoToLocalDate(initialRange?.until ?? '')\n })\n const [hours, setHours] = useState<{ from: string; to: string }>({\n from: isoToHour(initialRange?.since ?? '') || defaultSinceHour,\n to: isoToHour(initialRange?.until ?? '') || (singleDate ? '' : defaultUntilHour)\n })\n\n const errorMessage = useMemo(() => {\n if (singleDate || !date.from || !date.to) return ''\n\n const fromDate = applyHourToDate(date.from, hours.from, defaultSinceHour)\n const toDate = applyHourToDate(date.to, hours.to, defaultUntilHour)\n\n if (fromDate.getTime() > toDate.getTime()) {\n return FROM_AFTER_TO_ERROR\n }\n\n return ''\n }, [date.from, date.to, hours.from, hours.to, singleDate, defaultSinceHour, defaultUntilHour])\n\n const handleReset = () => {\n setDate(INITIAL_RANGE)\n setHours({ from: defaultSinceHour, to: singleDate ? '' : defaultUntilHour })\n onReset?.()\n }\n\n const handleSelectDateFrom = (selectedDate?: Date) =>\n setDate(prev => ({ from: selectedDate, to: prev.to }))\n\n const handleSelectDateTo = (selectedDate?: Date) =>\n setDate(prev => ({ from: prev.from, to: selectedDate }))\n\n const handleFromHourChange = (hour: string) => {\n setHours(prev => ({ ...prev, from: hour }))\n }\n\n const handleToHourChange = (hour: string) => {\n setHours(prev => ({ ...prev, to: hour }))\n }\n\n const hasNoDateSelected = !date.from && !date.to\n const isApplyDisabled = (singleDate ? !date.from : !date.from || !date.to) || !!errorMessage\n\n const handleApply = () => {\n if (errorMessage) return\n if (!date.from) return\n\n const since = applyHourToDate(date.from, hours.from, defaultSinceHour)\n\n if (singleDate) {\n onApply?.({ since: toUTCISO(since), until: '' })\n return\n }\n\n if (!date.to) return\n const until = applyHourToDate(date.to, hours.to, defaultUntilHour)\n\n onApply?.({ since: toUTCISO(since), until: toUTCISO(until) })\n }\n\n return (\n <div className=\"flex flex-col gap-6 bg-white p-6 w-fit\">\n <div className={singleDate ? '' : 'grid grid-cols-2 gap-8'}>\n <DateTimePickerPanel\n label={singleDate ? '' : 'From:'}\n side=\"start\"\n dateValue={date.from}\n range={date}\n hourValue={hours.from}\n singleDate={singleDate}\n onHourChange={handleFromHourChange}\n onSelectDate={handleSelectDateFrom}\n />\n\n {!singleDate && (\n <DateTimePickerPanel\n label=\"To:\"\n side=\"end\"\n dateValue={date.to}\n range={date}\n hourValue={hours.to}\n onHourChange={handleToHourChange}\n onSelectDate={handleSelectDateTo}\n />\n )}\n </div>\n\n {errorMessage && (\n <div\n className=\"flex items-center gap-3 rounded-md border border-red-300 bg-red-50 px-4 py-3\"\n data-testid=\"custom-date-error\"\n >\n <AlertCircle className=\"h-5 w-5 shrink-0 text-red-500\" />\n <span className=\"text-sm font-medium text-red-600\">{errorMessage}</span>\n </div>\n )}\n\n <div className=\"flex justify-end gap-3 pt-4\">\n <Button\n variant=\"secondary\"\n className=\"px-6 py-2 bg-white w-[90px] border-[1.5px] border-igz-gray text-[#4B4760] rounded-md hover:bg-[#483F561F]\"\n data-testid=\"custom-date-reset-btn\"\n onClick={handleReset}\n disabled={hasNoDateSelected}\n >\n {RESET}\n </Button>\n <Button\n className=\"px-6 py-2 bg-igz-light-purple w-[90px] text-white hover:bg-igz-dark-purple rounded-md\"\n data-testid=\"custom-date-apply-btn\"\n onClick={handleApply}\n disabled={isApplyDisabled}\n >\n {FILTER_BUTTON_APPLY}\n </Button>\n </div>\n </div>\n )\n}\n\nexport default CustomRangePicker\n"],"names":["INITIAL_RANGE","FROM_AFTER_TO_ERROR","CustomRangePicker","onApply","singleDate","onReset","initialRange","defaultSinceHour","getDefaultSinceHour","defaultUntilHour","getDefaultUntilHour","date","setDate","useState","isoToLocalDate","hours","setHours","isoToHour","errorMessage","useMemo","fromDate","applyHourToDate","toDate","handleReset","handleSelectDateFrom","selectedDate","prev","handleSelectDateTo","handleFromHourChange","hour","handleToHourChange","hasNoDateSelected","isApplyDisabled","handleApply","since","toUTCISO","until","jsxs","jsx","DateTimePickerPanel","AlertCircle","Button","RESET","FILTER_BUTTON_APPLY"],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { DateRange } from 'react-day-picker';
2
+ type Props = {
3
+ label: string;
4
+ side: 'start' | 'end';
5
+ dateValue?: Date;
6
+ range?: DateRange;
7
+ hourValue: string;
8
+ singleDate?: boolean;
9
+ onHourChange: (value: string) => void;
10
+ onSelectDate: (selectedDate?: Date) => void;
11
+ };
12
+ export declare const DateTimePickerPanel: ({ label, side, dateValue, range, hourValue, singleDate, onHourChange, onSelectDate }: Props) => import("react/jsx-runtime").JSX.Element;
13
+ export {};
14
+ //# sourceMappingURL=DateTimePickerPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateTimePickerPanel.d.ts","sourceRoot":"","sources":["../../../../src/lib/nextGenComponents/components/CustomRangePicker/DateTimePickerPanel.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAiBjD,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,OAAO,GAAG,KAAK,CAAA;IACrB,SAAS,CAAC,EAAE,IAAI,CAAA;IAChB,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,YAAY,EAAE,CAAC,YAAY,CAAC,EAAE,IAAI,KAAK,IAAI,CAAA;CAC5C,CAAA;AA+CD,eAAO,MAAM,mBAAmB,GAAI,sFASjC,KAAK,4CAgFP,CAAA"}
@@ -0,0 +1,115 @@
1
+ import { jsxs as m, jsx as a } from "react/jsx-runtime";
2
+ import { useState as f, useEffect as y, useCallback as x } from "react";
3
+ import { isMaskComplete as h, MaskedInput as D } from "./MaskedInput.mjs";
4
+ import { TimePickerInput as L } from "./TimePickerInput.mjs";
5
+ import { Calendar as N } from "../ui/calendar.mjs";
6
+ import { cn as w } from "../../lib/utils.mjs";
7
+ import { getSupportedLocale as A, getDatePlaceholder as B, formatLocalDate as c, parseLocalDate as g } from "../../utils/date.utils.mjs";
8
+ const C = "_", F = () => A() === "en-US" ? (t) => {
9
+ const e = t[0], s = t[3];
10
+ return [
11
+ /[0-1]/,
12
+ e === "1" ? /[0-2]/ : /\d/,
13
+ "/",
14
+ /[0-3]/,
15
+ s === "3" ? /[0-1]/ : /\d/,
16
+ "/",
17
+ /[1-2]/,
18
+ /\d/,
19
+ /\d/,
20
+ /\d/
21
+ ];
22
+ } : (t) => {
23
+ const e = t[0], s = t[3];
24
+ return [
25
+ /[0-3]/,
26
+ e === "3" ? /[0-1]/ : /\d/,
27
+ "/",
28
+ /[0-1]/,
29
+ s === "1" ? /[0-2]/ : /\d/,
30
+ "/",
31
+ /[1-2]/,
32
+ /\d/,
33
+ /\d/,
34
+ /\d/
35
+ ];
36
+ }, z = F(), E = B(), O = ({
37
+ label: p,
38
+ side: t,
39
+ dateValue: e,
40
+ range: s,
41
+ hourValue: u,
42
+ singleDate: b,
43
+ onHourChange: k,
44
+ onSelectDate: o
45
+ }) => {
46
+ const [n, i] = f(e ? c(e) : ""), [M, d] = f(e ?? /* @__PURE__ */ new Date());
47
+ y(() => {
48
+ i(e ? c(e) : ""), e && d(e);
49
+ }, [e]);
50
+ const v = x(
51
+ (r) => {
52
+ if (i(r), !r) {
53
+ o(void 0);
54
+ return;
55
+ }
56
+ if (h(r, C)) {
57
+ const l = g(r);
58
+ l && o(l);
59
+ }
60
+ },
61
+ [o]
62
+ ), P = x(() => {
63
+ if (!n) {
64
+ o(void 0);
65
+ return;
66
+ }
67
+ if (h(n, C)) {
68
+ const r = g(n);
69
+ r ? (i(c(r)), o(r)) : i(e ? c(e) : "");
70
+ } else
71
+ i(e ? c(e) : "");
72
+ }, [n, e, o]);
73
+ return /* @__PURE__ */ m("div", { className: "flex flex-col gap-6", children: [
74
+ /* @__PURE__ */ m("div", { className: "flex gap-2", children: [
75
+ /* @__PURE__ */ a(
76
+ D,
77
+ {
78
+ mask: z,
79
+ value: n,
80
+ onChange: v,
81
+ onBlur: P,
82
+ textPlaceholder: E,
83
+ className: w(
84
+ "h-10 flex-1 w-[116px] text-center text-[14px] border border-[#C4C2C8] rounded-md focus-visible:ring-1 focus-visible:ring-igz-light-purple focus-visible:outline-none",
85
+ e ? "text-igz-primary" : "text-[#C4C2C8]"
86
+ )
87
+ }
88
+ ),
89
+ /* @__PURE__ */ a(L, { value: u, onChange: k, className: "w-[110px]" })
90
+ ] }),
91
+ /* @__PURE__ */ a(
92
+ N,
93
+ {
94
+ mode: "single",
95
+ month: M,
96
+ onMonthChange: d,
97
+ selected: e,
98
+ onSelect: o,
99
+ className: "[--calendar-padding:0rem] border-none",
100
+ classNames: {
101
+ weekday: "text-[#ADABB0] uppercase font-normal text-[12px] w-full",
102
+ caption_label: "text-igz-primary font-normal text-[20px]"
103
+ },
104
+ range: s,
105
+ activeRangeSide: t,
106
+ captionPrefix: p,
107
+ singleDate: b
108
+ }
109
+ )
110
+ ] });
111
+ };
112
+ export {
113
+ O as DateTimePickerPanel
114
+ };
115
+ //# sourceMappingURL=DateTimePickerPanel.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateTimePickerPanel.mjs","sources":["../../../../src/lib/nextGenComponents/components/CustomRangePicker/DateTimePickerPanel.tsx"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react'\nimport type { DateRange } from 'react-day-picker'\n\nimport {\n MaskedInput,\n isMaskComplete,\n type MaskItem\n} from '@/components/CustomRangePicker/MaskedInput'\nimport { TimePickerInput } from '@/components/CustomRangePicker/TimePickerInput'\nimport { Calendar } from '@/components/ui/calendar'\nimport { cn } from '@/lib/utils'\nimport {\n formatLocalDate,\n getDatePlaceholder,\n getSupportedLocale,\n parseLocalDate\n} from '@/utils/date.utils'\n\ntype Props = {\n label: string\n side: 'start' | 'end'\n dateValue?: Date\n range?: DateRange\n hourValue: string\n singleDate?: boolean\n onHourChange: (value: string) => void\n onSelectDate: (selectedDate?: Date) => void\n}\n\nconst PLACEHOLDER_CHAR = '_' as const\n\nconst buildLocalDateMask = (): ((value: string) => MaskItem[]) => {\n const isUS = getSupportedLocale() === 'en-US'\n\n if (isUS) {\n return (value: string): MaskItem[] => {\n const monthFirst = value[0]\n const dayFirst = value[3]\n return [\n /[0-1]/,\n monthFirst === '1' ? /[0-2]/ : /\\d/,\n '/',\n /[0-3]/,\n dayFirst === '3' ? /[0-1]/ : /\\d/,\n '/',\n /[1-2]/,\n /\\d/,\n /\\d/,\n /\\d/\n ]\n }\n }\n\n return (value: string): MaskItem[] => {\n const dayFirst = value[0]\n const monthFirst = value[3]\n return [\n /[0-3]/,\n dayFirst === '3' ? /[0-1]/ : /\\d/,\n '/',\n /[0-1]/,\n monthFirst === '1' ? /[0-2]/ : /\\d/,\n '/',\n /[1-2]/,\n /\\d/,\n /\\d/,\n /\\d/\n ]\n }\n}\n\nconst dateMask = buildLocalDateMask()\nconst datePlaceholder = getDatePlaceholder()\n\nexport const DateTimePickerPanel = ({\n label,\n side,\n dateValue,\n range,\n hourValue,\n singleDate,\n onHourChange,\n onSelectDate\n}: Props) => {\n const [maskedDate, setMaskedDate] = useState(dateValue ? formatLocalDate(dateValue) : '')\n const [displayedMonth, setDisplayedMonth] = useState<Date>(dateValue ?? new Date())\n\n useEffect(() => {\n setMaskedDate(dateValue ? formatLocalDate(dateValue) : '')\n if (dateValue) {\n setDisplayedMonth(dateValue)\n }\n }, [dateValue])\n\n const handleMaskedDateChange = useCallback(\n (masked: string) => {\n setMaskedDate(masked)\n if (!masked) {\n onSelectDate(undefined)\n return\n }\n if (isMaskComplete(masked, PLACEHOLDER_CHAR)) {\n const parsed = parseLocalDate(masked)\n if (parsed) onSelectDate(parsed)\n }\n },\n [onSelectDate]\n )\n\n const handleDateBlur = useCallback(() => {\n if (!maskedDate) {\n onSelectDate(undefined)\n return\n }\n if (isMaskComplete(maskedDate, PLACEHOLDER_CHAR)) {\n const parsed = parseLocalDate(maskedDate)\n if (parsed) {\n setMaskedDate(formatLocalDate(parsed))\n onSelectDate(parsed)\n } else {\n setMaskedDate(dateValue ? formatLocalDate(dateValue) : '')\n }\n } else {\n setMaskedDate(dateValue ? formatLocalDate(dateValue) : '')\n }\n }, [maskedDate, dateValue, onSelectDate])\n\n return (\n <div className=\"flex flex-col gap-6\">\n <div className=\"flex gap-2\">\n <MaskedInput\n mask={dateMask}\n value={maskedDate}\n onChange={handleMaskedDateChange}\n onBlur={handleDateBlur}\n textPlaceholder={datePlaceholder}\n className={cn(\n 'h-10 flex-1 w-[116px] text-center text-[14px] border border-[#C4C2C8] rounded-md focus-visible:ring-1 focus-visible:ring-igz-light-purple focus-visible:outline-none',\n dateValue ? 'text-igz-primary' : 'text-[#C4C2C8]'\n )}\n />\n\n <TimePickerInput value={hourValue} onChange={onHourChange} className=\"w-[110px]\" />\n </div>\n\n <Calendar\n mode=\"single\"\n month={displayedMonth}\n onMonthChange={setDisplayedMonth}\n selected={dateValue}\n onSelect={onSelectDate}\n className=\"[--calendar-padding:0rem] border-none\"\n classNames={{\n weekday: 'text-[#ADABB0] uppercase font-normal text-[12px] w-full',\n caption_label: 'text-igz-primary font-normal text-[20px]'\n }}\n range={range}\n activeRangeSide={side}\n captionPrefix={label}\n singleDate={singleDate}\n />\n </div>\n )\n}\n"],"names":["PLACEHOLDER_CHAR","buildLocalDateMask","getSupportedLocale","value","monthFirst","dayFirst","dateMask","datePlaceholder","getDatePlaceholder","DateTimePickerPanel","label","side","dateValue","range","hourValue","singleDate","onHourChange","onSelectDate","maskedDate","setMaskedDate","useState","formatLocalDate","displayedMonth","setDisplayedMonth","useEffect","handleMaskedDateChange","useCallback","masked","isMaskComplete","parsed","parseLocalDate","handleDateBlur","jsxs","jsx","MaskedInput","cn","TimePickerInput","Calendar"],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ export type MaskItem = RegExp | string;
2
+ export declare const isMaskComplete: (value: string, placeholderChar?: string) => boolean;
3
+ type Props = {
4
+ mask: MaskItem[] | ((value: string) => MaskItem[]);
5
+ value: string;
6
+ onChange: (conformedValue: string) => void;
7
+ onBlur?: () => void;
8
+ placeholderChar?: string;
9
+ textPlaceholder?: string;
10
+ className?: string;
11
+ };
12
+ export declare const MaskedInput: ({ mask, value, onChange, onBlur, placeholderChar, textPlaceholder, className }: Props) => import("react/jsx-runtime").JSX.Element;
13
+ export {};
14
+ //# sourceMappingURL=MaskedInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MaskedInput.d.ts","sourceRoot":"","sources":["../../../../src/lib/nextGenComponents/components/CustomRangePicker/MaskedInput.tsx"],"names":[],"mappings":"AAKA,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAA;AAEtC,eAAO,MAAM,cAAc,GAAI,OAAO,MAAM,EAAE,wBAAqB,KAAG,OAChB,CAAA;AAEtD,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,QAAQ,EAAE,CAAC,CAAA;IAClD,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,IAAI,CAAA;IAC1C,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAqBD,eAAO,MAAM,WAAW,GAAI,gFAQzB,KAAK,4CAgJP,CAAA"}
@@ -0,0 +1,109 @@
1
+ import { jsx as L } from "react/jsx-runtime";
2
+ import { useRef as T, useState as I, useCallback as P } from "react";
3
+ import { cn as O } from "../../lib/utils.mjs";
4
+ const J = (n, r = "_") => n.length > 0 && !n.includes(r), _ = "_", x = (n, r) => typeof n == "function" ? n(r) : n, k = (n, r) => n.map((i) => typeof i == "string" ? i : r).join(""), w = (n, r, i) => n.split("").map((g, o) => typeof r[o] == "string" ? r[o] : g === i ? i : r[o].test(g) ? g : i).join(""), Q = ({
5
+ mask: n,
6
+ value: r,
7
+ onChange: i,
8
+ onBlur: g,
9
+ placeholderChar: o = _,
10
+ textPlaceholder: D,
11
+ className: v
12
+ }) => {
13
+ const A = T(null), [S, F] = I(!1), l = x(n, r), j = k(l, o), f = r || j, M = !!D && !r && !S ? "" : f, m = P((t, c) => {
14
+ let s = t;
15
+ for (; s < c.length && typeof c[s] == "string"; ) s++;
16
+ return s;
17
+ }, []), R = P((t, c) => {
18
+ let s = t;
19
+ for (; s >= 0 && typeof c[s] == "string"; ) s--;
20
+ return s;
21
+ }, []), q = P(
22
+ (t) => {
23
+ const c = t.target, s = c.selectionStart ?? 0;
24
+ if (t.key === "Backspace") {
25
+ t.preventDefault();
26
+ const e = R(s - 1, l);
27
+ if (e >= 0) {
28
+ const p = f.split("");
29
+ p[e] = o;
30
+ const a = p.join(""), u = x(n, a), y = k(u, o), d = w(a, u, o);
31
+ i(d === y ? "" : d), requestAnimationFrame(() => c.setSelectionRange(e, e));
32
+ }
33
+ return;
34
+ }
35
+ if (t.key === "Delete") {
36
+ t.preventDefault();
37
+ const e = m(s, l);
38
+ if (e < l.length) {
39
+ const p = f.split("");
40
+ p[e] = o;
41
+ const a = p.join(""), u = x(n, a), y = k(u, o), d = w(a, u, o);
42
+ i(d === y ? "" : d), requestAnimationFrame(() => c.setSelectionRange(e, e));
43
+ }
44
+ return;
45
+ }
46
+ if (!(t.key === "ArrowLeft" || t.key === "ArrowRight") && t.key.length === 1 && !t.metaKey && !t.ctrlKey) {
47
+ t.preventDefault();
48
+ const e = m(s, l);
49
+ if (e >= l.length || !l[e].test(t.key)) return;
50
+ const a = f.split("");
51
+ a[e] = t.key;
52
+ const u = a.join(""), y = x(n, u), d = w(u, y, o);
53
+ i(d);
54
+ const b = m(e + 1, y);
55
+ requestAnimationFrame(() => c.setSelectionRange(b, b));
56
+ }
57
+ },
58
+ [n, l, f, i, o, m, R]
59
+ ), V = P(
60
+ (t) => {
61
+ t.preventDefault();
62
+ const c = t.clipboardData.getData("text"), s = t.target;
63
+ let e = s.selectionStart ?? 0;
64
+ const p = f.split("");
65
+ for (const b of c) {
66
+ if (e = m(e, l), e >= l.length) break;
67
+ l[e].test(b) && (p[e] = b, e++);
68
+ }
69
+ const a = p.join(""), u = x(n, a), y = w(a, u, o);
70
+ i(y);
71
+ const d = m(e, u);
72
+ requestAnimationFrame(() => s.setSelectionRange(d, d));
73
+ },
74
+ [n, l, f, i, o, m]
75
+ ), E = P(() => {
76
+ F(!0), requestAnimationFrame(() => {
77
+ var s;
78
+ const t = f.indexOf(o), c = t === -1 ? f.length : t;
79
+ (s = A.current) == null || s.setSelectionRange(c, c);
80
+ });
81
+ }, [f, o]), K = P(() => {
82
+ F(!1), g == null || g();
83
+ }, [g]);
84
+ return /* @__PURE__ */ L(
85
+ "input",
86
+ {
87
+ ref: A,
88
+ value: M,
89
+ placeholder: D,
90
+ onChange: () => {
91
+ },
92
+ onKeyDown: q,
93
+ onPaste: V,
94
+ onFocus: E,
95
+ onBlur: K,
96
+ className: O(
97
+ "flex h-10 rounded-md border border-solid border-input bg-background px-3 py-2 text-base placeholder:text-[#C4C2C8] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
98
+ v
99
+ ),
100
+ spellCheck: !1,
101
+ autoComplete: "off"
102
+ }
103
+ );
104
+ };
105
+ export {
106
+ Q as MaskedInput,
107
+ J as isMaskComplete
108
+ };
109
+ //# sourceMappingURL=MaskedInput.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MaskedInput.mjs","sources":["../../../../src/lib/nextGenComponents/components/CustomRangePicker/MaskedInput.tsx"],"sourcesContent":["import type { ClipboardEvent, KeyboardEvent } from 'react'\nimport { useCallback, useRef, useState } from 'react'\n\nimport { cn } from '@/lib/utils'\n\nexport type MaskItem = RegExp | string\n\nexport const isMaskComplete = (value: string, placeholderChar = '_'): boolean =>\n value.length > 0 && !value.includes(placeholderChar)\n\ntype Props = {\n mask: MaskItem[] | ((value: string) => MaskItem[])\n value: string\n onChange: (conformedValue: string) => void\n onBlur?: () => void\n placeholderChar?: string\n textPlaceholder?: string\n className?: string\n}\n\nconst PLACEHOLDER = '_'\n\nconst resolveMask = (mask: Props['mask'], value: string): MaskItem[] =>\n typeof mask === 'function' ? mask(value) : mask\n\nconst buildPlaceholder = (mask: MaskItem[], pc: string): string =>\n mask.map(m => (typeof m === 'string' ? m : pc)).join('')\n\nconst conformToMask = (raw: string, resolvedMask: MaskItem[], placeholderChar: string): string =>\n raw\n .split('')\n .map((c, i) => {\n if (typeof resolvedMask[i] === 'string') return resolvedMask[i] as string\n if (c === placeholderChar) return placeholderChar\n if ((resolvedMask[i] as RegExp).test(c)) return c\n return placeholderChar\n })\n .join('')\n\nexport const MaskedInput = ({\n mask,\n value,\n onChange,\n onBlur,\n placeholderChar = PLACEHOLDER,\n textPlaceholder,\n className\n}: Props) => {\n const inputRef = useRef<HTMLInputElement>(null)\n const [isFocused, setIsFocused] = useState(false)\n const maskArr = resolveMask(mask, value)\n const maskPlaceholder = buildPlaceholder(maskArr, placeholderChar)\n const maskedDisplay = value || maskPlaceholder\n\n const showTextPlaceholder = !!textPlaceholder && !value && !isFocused\n const inputValue = showTextPlaceholder ? '' : maskedDisplay\n\n const nextEditablePos = useCallback((from: number, maskItems: MaskItem[]): number => {\n let pos = from\n while (pos < maskItems.length && typeof maskItems[pos] === 'string') pos++\n return pos\n }, [])\n\n const prevEditablePos = useCallback((from: number, maskItems: MaskItem[]): number => {\n let pos = from\n while (pos >= 0 && typeof maskItems[pos] === 'string') pos--\n return pos\n }, [])\n\n const handleKeyDown = useCallback(\n (e: KeyboardEvent<HTMLInputElement>) => {\n const input = e.target as HTMLInputElement\n const pos = input.selectionStart ?? 0\n\n if (e.key === 'Backspace') {\n e.preventDefault()\n const editPos = prevEditablePos(pos - 1, maskArr)\n if (editPos >= 0) {\n const chars = maskedDisplay.split('')\n chars[editPos] = placeholderChar\n const newVal = chars.join('')\n const resolvedMask = resolveMask(mask, newVal)\n const resolvedPlaceholder = buildPlaceholder(resolvedMask, placeholderChar)\n const corrected = conformToMask(newVal, resolvedMask, placeholderChar)\n onChange(corrected === resolvedPlaceholder ? '' : corrected)\n requestAnimationFrame(() => input.setSelectionRange(editPos, editPos))\n }\n return\n }\n\n if (e.key === 'Delete') {\n e.preventDefault()\n const editPos = nextEditablePos(pos, maskArr)\n if (editPos < maskArr.length) {\n const chars = maskedDisplay.split('')\n chars[editPos] = placeholderChar\n const newVal = chars.join('')\n const resolvedMask = resolveMask(mask, newVal)\n const resolvedPlaceholder = buildPlaceholder(resolvedMask, placeholderChar)\n const corrected = conformToMask(newVal, resolvedMask, placeholderChar)\n onChange(corrected === resolvedPlaceholder ? '' : corrected)\n requestAnimationFrame(() => input.setSelectionRange(editPos, editPos))\n }\n return\n }\n\n if (e.key === 'ArrowLeft' || e.key === 'ArrowRight') return\n\n if (e.key.length === 1 && !e.metaKey && !e.ctrlKey) {\n e.preventDefault()\n const editPos = nextEditablePos(pos, maskArr)\n if (editPos >= maskArr.length) return\n\n const regex = maskArr[editPos] as RegExp\n if (!regex.test(e.key)) return\n\n const chars = maskedDisplay.split('')\n chars[editPos] = e.key\n const newVal = chars.join('')\n\n const resolvedMask = resolveMask(mask, newVal)\n const corrected = conformToMask(newVal, resolvedMask, placeholderChar)\n\n onChange(corrected)\n const nextPos = nextEditablePos(editPos + 1, resolvedMask)\n requestAnimationFrame(() => input.setSelectionRange(nextPos, nextPos))\n }\n },\n [mask, maskArr, maskedDisplay, onChange, placeholderChar, nextEditablePos, prevEditablePos]\n )\n\n const handlePaste = useCallback(\n (e: ClipboardEvent<HTMLInputElement>) => {\n e.preventDefault()\n const pasted = e.clipboardData.getData('text')\n const input = e.target as HTMLInputElement\n let pos = input.selectionStart ?? 0\n const chars = maskedDisplay.split('')\n\n for (const char of pasted) {\n pos = nextEditablePos(pos, maskArr)\n if (pos >= maskArr.length) break\n if ((maskArr[pos] as RegExp).test(char)) {\n chars[pos] = char\n pos++\n }\n }\n\n const newVal = chars.join('')\n const resolvedMask = resolveMask(mask, newVal)\n const corrected = conformToMask(newVal, resolvedMask, placeholderChar)\n\n onChange(corrected)\n const cursorPos = nextEditablePos(pos, resolvedMask)\n requestAnimationFrame(() => input.setSelectionRange(cursorPos, cursorPos))\n },\n [mask, maskArr, maskedDisplay, onChange, placeholderChar, nextEditablePos]\n )\n\n const handleFocus = useCallback(() => {\n setIsFocused(true)\n requestAnimationFrame(() => {\n const pos = maskedDisplay.indexOf(placeholderChar)\n const cursorPos = pos === -1 ? maskedDisplay.length : pos\n inputRef.current?.setSelectionRange(cursorPos, cursorPos)\n })\n }, [maskedDisplay, placeholderChar])\n\n const handleBlurInternal = useCallback(() => {\n setIsFocused(false)\n onBlur?.()\n }, [onBlur])\n\n return (\n <input\n ref={inputRef}\n value={inputValue}\n placeholder={textPlaceholder}\n onChange={() => {}}\n onKeyDown={handleKeyDown}\n onPaste={handlePaste}\n onFocus={handleFocus}\n onBlur={handleBlurInternal}\n className={cn(\n 'flex h-10 rounded-md border border-solid border-input bg-background px-3 py-2 text-base placeholder:text-[#C4C2C8] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n className\n )}\n spellCheck={false}\n autoComplete=\"off\"\n />\n )\n}\n"],"names":["isMaskComplete","value","placeholderChar","PLACEHOLDER","resolveMask","mask","buildPlaceholder","pc","m","conformToMask","raw","resolvedMask","c","i","MaskedInput","onChange","onBlur","textPlaceholder","className","inputRef","useRef","isFocused","setIsFocused","useState","maskArr","maskPlaceholder","maskedDisplay","inputValue","nextEditablePos","useCallback","from","maskItems","pos","prevEditablePos","handleKeyDown","e","input","editPos","chars","newVal","resolvedPlaceholder","corrected","nextPos","handlePaste","pasted","char","cursorPos","handleFocus","_a","handleBlurInternal","jsx","cn"],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ type Props = {
2
+ value: string;
3
+ onChange: (value: string) => void;
4
+ className?: string;
5
+ };
6
+ export declare const TimePickerInput: ({ value, onChange, className }: Props) => import("react/jsx-runtime").JSX.Element;
7
+ export {};
8
+ //# sourceMappingURL=TimePickerInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TimePickerInput.d.ts","sourceRoot":"","sources":["../../../../src/lib/nextGenComponents/components/CustomRangePicker/TimePickerInput.tsx"],"names":[],"mappings":"AAgBA,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AA4BD,eAAO,MAAM,eAAe,GAAI,gCAAgC,KAAK,4CA8GpE,CAAA"}