@rio-cloud/rio-uikit 2.2.1 → 2.3.0-beta.2

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 (475) hide show
  1. package/AnalyticsAnalysisOverlay.d.ts +1 -0
  2. package/AnalyticsAnalysisOverlay.js +5 -0
  3. package/AnalyticsAnalysisOverlay.js.map +1 -0
  4. package/DayPicker.js +6 -2
  5. package/DayPicker.js.map +1 -1
  6. package/DayPickerCalendar.d.ts +2 -0
  7. package/DayPickerCalendar.js +5 -0
  8. package/DayPickerCalendar.js.map +1 -0
  9. package/DayPickerPrototype.d.ts +2 -0
  10. package/DayPickerPrototype.js +5 -0
  11. package/DayPickerPrototype.js.map +1 -0
  12. package/Table.d.ts +2 -0
  13. package/Table.js +23 -0
  14. package/Table.js.map +1 -0
  15. package/TableCol.d.ts +2 -2
  16. package/TableCol.js +1 -1
  17. package/TableHead.d.ts +2 -2
  18. package/TableHead.js +1 -1
  19. package/TableNext.d.ts +2 -0
  20. package/TableNext.js +23 -0
  21. package/TableNext.js.map +1 -0
  22. package/TableSettingsDialog.d.ts +2 -2
  23. package/TableSettingsDialog.js +1 -1
  24. package/TableToolbar.js +4 -2
  25. package/TableToolbar.js.map +1 -1
  26. package/analyticsAnalysisUtils.d.ts +1 -0
  27. package/analyticsAnalysisUtils.js +13 -0
  28. package/analyticsAnalysisUtils.js.map +1 -0
  29. package/components/analyticsAnalysisOverlay/AnalyticsAnalysisBanner.d.ts +18 -0
  30. package/components/analyticsAnalysisOverlay/AnalyticsAnalysisBanner.js +128 -0
  31. package/components/analyticsAnalysisOverlay/AnalyticsAnalysisBanner.js.map +1 -0
  32. package/components/analyticsAnalysisOverlay/AnalyticsAnalysisOverlay.d.ts +9 -0
  33. package/components/analyticsAnalysisOverlay/AnalyticsAnalysisOverlay.js +73 -0
  34. package/components/analyticsAnalysisOverlay/AnalyticsAnalysisOverlay.js.map +1 -0
  35. package/components/applicationHeader/AppMenuContent.js.map +1 -1
  36. package/components/applicationHeader/ApplicationActionBar.js +4 -4
  37. package/components/applicationHeader/ApplicationActionBar.js.map +1 -1
  38. package/components/applicationHeader/CollapsedNavItem.js +5 -14
  39. package/components/applicationHeader/CollapsedNavItem.js.map +1 -1
  40. package/components/applicationHeader/NavItems.js +10 -10
  41. package/components/applicationHeader/NavItems.js.map +1 -1
  42. package/components/assetTree/AssetTree.js +23 -23
  43. package/components/assetTree/AssetTree.js.map +1 -1
  44. package/components/assetTree/Tree.js +13 -13
  45. package/components/assetTree/TreeNothingFound.js +2 -2
  46. package/components/assetTree/TreeNothingFound.js.map +1 -1
  47. package/components/assetTree/treeUtils.js.map +1 -1
  48. package/components/autosuggest/AutoSuggest.js +31 -31
  49. package/components/autosuggest/AutoSuggest.js.map +1 -1
  50. package/components/autosuggest/AutoSuggestAddons.js +9 -9
  51. package/components/autosuggest/AutoSuggestAddons.js.map +1 -1
  52. package/components/banner/BannerActions.js +2 -2
  53. package/components/banner/BannerActions.js.map +1 -1
  54. package/components/banner/BannerIcon.js +3 -3
  55. package/components/banner/BannerIcon.js.map +1 -1
  56. package/components/banner/BannerPage.js +4 -4
  57. package/components/banner/BannerPage.js.map +1 -1
  58. package/components/button/Button.d.ts +7 -0
  59. package/components/button/Button.js +73 -65
  60. package/components/button/Button.js.map +1 -1
  61. package/components/charts/Area.d.ts +5 -3
  62. package/components/charts/Area.js +4 -3
  63. package/components/charts/Area.js.map +1 -1
  64. package/components/charts/AreaChart.js.map +1 -1
  65. package/components/charts/ComposedChart.js.map +1 -1
  66. package/components/checkbox/Checkbox.js +18 -17
  67. package/components/checkbox/Checkbox.js.map +1 -1
  68. package/components/clearableInput/ClearableInput.d.ts +30 -0
  69. package/components/clearableInput/ClearableInput.js +81 -78
  70. package/components/clearableInput/ClearableInput.js.map +1 -1
  71. package/components/datepicker/DateRangePicker.js +0 -2
  72. package/components/datepicker/DateRangePicker.js.map +1 -1
  73. package/components/datepicker/DayPicker.d.ts +4 -51
  74. package/components/datepicker/DayPicker.js +264 -256
  75. package/components/datepicker/DayPicker.js.map +1 -1
  76. package/components/datepicker/DayPickerCalendar.d.ts +4 -0
  77. package/components/datepicker/DayPickerCalendar.js +129 -0
  78. package/components/datepicker/DayPickerCalendar.js.map +1 -0
  79. package/components/datepicker/DayPickerDropdown.d.ts +18 -0
  80. package/components/datepicker/DayPickerDropdown.js +75 -0
  81. package/components/datepicker/DayPickerDropdown.js.map +1 -0
  82. package/components/datepicker/DayPickerDropdownFooter.d.ts +7 -0
  83. package/components/datepicker/DayPickerDropdownFooter.js +7 -0
  84. package/components/datepicker/DayPickerDropdownFooter.js.map +1 -0
  85. package/components/datepicker/DayPickerDropdownSidebar.d.ts +8 -0
  86. package/components/datepicker/DayPickerDropdownSidebar.js +7 -0
  87. package/components/datepicker/DayPickerDropdownSidebar.js.map +1 -0
  88. package/components/datepicker/DayPickerInput.d.ts +28 -0
  89. package/components/datepicker/DayPickerInput.js +65 -0
  90. package/components/datepicker/DayPickerInput.js.map +1 -0
  91. package/components/datepicker/DayPickerPrototype.d.ts +53 -0
  92. package/components/datepicker/DayPickerPrototype.js +285 -0
  93. package/components/datepicker/DayPickerPrototype.js.map +1 -0
  94. package/components/datepicker/dayPickerRangeSelectionUtils.d.ts +15 -0
  95. package/components/datepicker/dayPickerRangeSelectionUtils.js +31 -0
  96. package/components/datepicker/dayPickerRangeSelectionUtils.js.map +1 -0
  97. package/components/datepicker/dayPickerTypes.d.ts +517 -0
  98. package/components/datepicker/dayPickerTypes.js +7 -0
  99. package/components/datepicker/dayPickerTypes.js.map +1 -0
  100. package/components/datepicker/dayPickerUtils.d.ts +10 -0
  101. package/components/datepicker/dayPickerUtils.js +92 -0
  102. package/components/datepicker/dayPickerUtils.js.map +1 -0
  103. package/components/datepicker/useDayPickerInputState.d.ts +32 -0
  104. package/components/datepicker/useDayPickerInputState.js +85 -0
  105. package/components/datepicker/useDayPickerInputState.js.map +1 -0
  106. package/components/datepicker/useStackedDayPickerCalendars.d.ts +5 -0
  107. package/components/datepicker/useStackedDayPickerCalendars.js +39 -0
  108. package/components/datepicker/useStackedDayPickerCalendars.js.map +1 -0
  109. package/components/dialog/Dialog.js.map +1 -1
  110. package/components/dialog/DialogHeader.js +23 -20
  111. package/components/dialog/DialogHeader.js.map +1 -1
  112. package/components/dialog/MediaDialog.js +1 -1
  113. package/components/dialog/MediaDialog.js.map +1 -1
  114. package/components/divider/Divider.js +6 -6
  115. package/components/dropdown/ButtonDropdown.d.ts +4 -0
  116. package/components/dropdown/ButtonDropdown.js +70 -68
  117. package/components/dropdown/ButtonDropdown.js.map +1 -1
  118. package/components/dropdown/DropdownToggleButton.d.ts +1 -0
  119. package/components/dropdown/DropdownToggleButton.js +17 -15
  120. package/components/dropdown/DropdownToggleButton.js.map +1 -1
  121. package/components/editableContent/EditableContent.js +7 -7
  122. package/components/editableContent/EditableContent.js.map +1 -1
  123. package/components/expander/ExpanderList.d.ts +5 -0
  124. package/components/expander/ExpanderList.js +25 -16
  125. package/components/expander/ExpanderList.js.map +1 -1
  126. package/components/expander/ExpanderPanel.d.ts +5 -0
  127. package/components/expander/ExpanderPanel.js +29 -28
  128. package/components/expander/ExpanderPanel.js.map +1 -1
  129. package/components/fade/FadeExpander.js +17 -20
  130. package/components/fade/FadeExpander.js.map +1 -1
  131. package/components/filepicker/FilePicker.js.map +1 -1
  132. package/components/loadMore/LoadMoreButton.d.ts +5 -0
  133. package/components/loadMore/LoadMoreButton.js +33 -29
  134. package/components/loadMore/LoadMoreButton.js.map +1 -1
  135. package/components/loadMore/LoadMoreProgress.js +6 -7
  136. package/components/map/components/Map.js +3 -3
  137. package/components/map/components/features/ContextMenu.js +13 -13
  138. package/components/map/components/features/ContextMenu.js.map +1 -1
  139. package/components/map/components/features/basics/InfoBubble.js.map +1 -1
  140. package/components/map/components/features/settings/MapSettingsTile.js.map +1 -1
  141. package/components/map/components/features/settings/builtinSettings/MapTypeSettings.js +6 -6
  142. package/components/map/components/features/settings/builtinSettings/MapTypeSettings.js.map +1 -1
  143. package/components/map/utils/eventHandling.js +18 -18
  144. package/components/map/utils/eventHandling.js.map +1 -1
  145. package/components/map/utils/positions.d.ts +1 -1
  146. package/components/map/utils/positions.js +15 -12
  147. package/components/map/utils/positions.js.map +1 -1
  148. package/components/map/utils/rendering.d.ts +1 -1
  149. package/components/map/utils/rendering.js +5 -5
  150. package/components/menuItems/MenuItems.js +6 -6
  151. package/components/menuItems/MenuItems.js.map +1 -1
  152. package/components/notification/NotificationsContainer.js.map +1 -1
  153. package/components/numberInput/NumberInput.js +57 -56
  154. package/components/numberInput/NumberInput.js.map +1 -1
  155. package/components/popover/Popover.js +3 -3
  156. package/components/popover/Popover.js.map +1 -1
  157. package/components/radiobutton/RadioCardGroup.js +3 -3
  158. package/components/resizer/Resizer.js +6 -3
  159. package/components/resizer/Resizer.js.map +1 -1
  160. package/components/rioglyph/RioglyphIconType.d.ts +1 -1
  161. package/components/selects/BaseSelectDropdown.js +34 -32
  162. package/components/selects/BaseSelectDropdown.js.map +1 -1
  163. package/components/selects/Multiselect.d.ts +6 -0
  164. package/components/selects/Multiselect.js +164 -150
  165. package/components/selects/Multiselect.js.map +1 -1
  166. package/components/selects/MultiselectTogglePlaceholder.js.map +1 -1
  167. package/components/selects/MultiselectToggleSelection.js +11 -11
  168. package/components/selects/MultiselectToggleSelection.js.map +1 -1
  169. package/components/selects/Select.js +39 -37
  170. package/components/selects/Select.js.map +1 -1
  171. package/components/sidebars/Sidebar.js +12 -12
  172. package/components/sidebars/Sidebar.js.map +1 -1
  173. package/components/sidebars/SidebarCloseButton.js +2 -2
  174. package/components/sidebars/SidebarCloseButton.js.map +1 -1
  175. package/components/smoothScrollbars/SmoothScrollbars.d.ts +4 -3
  176. package/components/smoothScrollbars/SmoothScrollbars.js +11 -11
  177. package/components/smoothScrollbars/SmoothScrollbars.js.map +1 -1
  178. package/components/states/CustomState.js.map +1 -1
  179. package/components/svgImage/svgConverter.js.map +1 -1
  180. package/components/table/Table.d.ts +46 -0
  181. package/components/table/Table.js +256 -0
  182. package/components/table/Table.js.map +1 -0
  183. package/components/table/Table.types.d.ts +379 -0
  184. package/components/table/TableBody.d.ts +70 -0
  185. package/components/table/TableBody.js +135 -0
  186. package/components/table/TableBody.js.map +1 -0
  187. package/components/table/TableCardsSorting.js +25 -32
  188. package/components/table/TableCardsSorting.js.map +1 -1
  189. package/components/table/TableColumn.d.ts +55 -0
  190. package/components/table/TableColumn.js +115 -0
  191. package/components/table/TableColumn.js.map +1 -0
  192. package/components/table/TableExpandedContentRow.d.ts +22 -0
  193. package/components/table/TableExpandedContentRow.js +110 -0
  194. package/components/table/TableExpandedContentRow.js.map +1 -0
  195. package/components/table/TableExpandedRow.d.ts +22 -0
  196. package/components/table/TableExpandedRow.js +150 -0
  197. package/components/table/TableExpandedRow.js.map +1 -0
  198. package/components/table/TableExpanderButton.d.ts +25 -0
  199. package/components/table/TableExpanderButton.js +24 -0
  200. package/components/table/TableExpanderButton.js.map +1 -0
  201. package/components/table/TableFooter.d.ts +17 -0
  202. package/components/table/TableFooter.js +52 -0
  203. package/components/table/TableFooter.js.map +1 -0
  204. package/components/table/TableGroupFooterRow.d.ts +18 -0
  205. package/components/table/TableGroupFooterRow.js +30 -0
  206. package/components/table/TableGroupFooterRow.js.map +1 -0
  207. package/components/table/TableGroupRow.d.ts +24 -0
  208. package/components/table/TableGroupRow.js +36 -0
  209. package/components/table/TableGroupRow.js.map +1 -0
  210. package/components/table/TableHeader.d.ts +14 -0
  211. package/components/table/TableHeader.js +107 -0
  212. package/components/table/TableHeader.js.map +1 -0
  213. package/components/table/TableHeaderColumn.d.ts +76 -0
  214. package/components/table/TableHeaderColumn.js +81 -0
  215. package/components/table/TableHeaderColumn.js.map +1 -0
  216. package/components/table/TableHeaderRow.d.ts +9 -0
  217. package/components/table/TableHeaderRow.js +14 -0
  218. package/components/table/TableHeaderRow.js.map +1 -0
  219. package/components/table/TableRow.d.ts +24 -0
  220. package/components/table/TableRow.js +111 -0
  221. package/components/table/TableRow.js.map +1 -0
  222. package/components/table/TableSpacerRow.d.ts +13 -0
  223. package/components/table/TableSpacerRow.js +29 -0
  224. package/components/table/TableSpacerRow.js.map +1 -0
  225. package/components/table/TableToolbar.d.ts +3 -0
  226. package/components/table/TableToolbar.js +49 -4
  227. package/components/table/TableToolbar.js.map +1 -1
  228. package/components/table/TableToolbarColumn.d.ts +31 -0
  229. package/components/table/TableToolbarColumn.js +33 -0
  230. package/components/table/TableToolbarColumn.js.map +1 -0
  231. package/components/table/TableViewToggles.d.ts +21 -3
  232. package/components/table/TableViewToggles.js +59 -87
  233. package/components/table/TableViewToggles.js.map +1 -1
  234. package/components/table/context/TableInteractionContext.d.ts +26 -0
  235. package/components/table/context/TableInteractionContext.js +7 -0
  236. package/components/table/context/TableInteractionContext.js.map +1 -0
  237. package/components/table/context/TableLayoutContext.d.ts +25 -0
  238. package/components/table/context/TableLayoutContext.js +7 -0
  239. package/components/table/context/TableLayoutContext.js.map +1 -0
  240. package/components/table/context/TableRenderConfigContext.d.ts +27 -0
  241. package/components/table/context/TableRenderConfigContext.js +7 -0
  242. package/components/table/context/TableRenderConfigContext.js.map +1 -0
  243. package/components/table/context/TableRenderContext.d.ts +85 -0
  244. package/components/table/context/TableRenderContext.js +7 -0
  245. package/components/table/context/TableRenderContext.js.map +1 -0
  246. package/components/table/context/TableStructureContext.d.ts +31 -0
  247. package/components/table/context/TableStructureContext.js +17 -0
  248. package/components/table/context/TableStructureContext.js.map +1 -0
  249. package/components/table/layout/columnSizing.d.ts +3 -0
  250. package/components/table/layout/columnSizing.js +23 -0
  251. package/components/table/layout/columnSizing.js.map +1 -0
  252. package/components/table/layout/useDraggableColumns.d.ts +14 -0
  253. package/components/table/layout/useDraggableColumns.js +47 -0
  254. package/components/table/layout/useDraggableColumns.js.map +1 -0
  255. package/components/table/layout/useHorizontalSectionSync.d.ts +13 -0
  256. package/components/table/layout/useHorizontalSectionSync.js +43 -0
  257. package/components/table/layout/useHorizontalSectionSync.js.map +1 -0
  258. package/components/table/layout/useMeasuredColumnMaxWidths.d.ts +12 -0
  259. package/components/table/layout/useMeasuredColumnMaxWidths.js +85 -0
  260. package/components/table/layout/useMeasuredColumnMaxWidths.js.map +1 -0
  261. package/components/table/layout/useResizableColumns.d.ts +15 -0
  262. package/components/table/layout/useResizableColumns.js +132 -0
  263. package/components/table/layout/useResizableColumns.js.map +1 -0
  264. package/components/table/layout/useTableBodyScrollBottom.d.ts +12 -0
  265. package/components/table/layout/useTableBodyScrollBottom.js +37 -0
  266. package/components/table/layout/useTableBodyScrollBottom.js.map +1 -0
  267. package/components/table/layout/useTableLayout.d.ts +36 -0
  268. package/components/table/layout/useTableLayout.js +59 -0
  269. package/components/table/layout/useTableLayout.js.map +1 -0
  270. package/components/table/layout/useTableVirtualization.d.ts +22 -0
  271. package/components/table/layout/useTableVirtualization.js +125 -0
  272. package/components/table/layout/useTableVirtualization.js.map +1 -0
  273. package/components/table/model/resolveRowMeta.d.ts +3 -0
  274. package/components/table/model/resolveRowMeta.js +15 -0
  275. package/components/table/model/resolveRowMeta.js.map +1 -0
  276. package/components/table/model/resolveTableClassConfig.d.ts +47 -0
  277. package/components/table/model/resolveTableClassConfig.js +64 -0
  278. package/components/table/model/resolveTableClassConfig.js.map +1 -0
  279. package/components/table/model/tableView.types.d.ts +41 -0
  280. package/components/table/native/TableCol.js.map +1 -0
  281. package/components/table/{TableHead.js → native/TableHead.js} +2 -2
  282. package/components/table/native/TableHead.js.map +1 -0
  283. package/components/table/native/TableSettingsColumnButtons.js +59 -0
  284. package/components/table/native/TableSettingsColumnButtons.js.map +1 -0
  285. package/components/table/{TableSettingsColumnDetails.js → native/TableSettingsColumnDetails.js} +2 -2
  286. package/components/table/native/TableSettingsColumnDetails.js.map +1 -0
  287. package/components/table/{TableSettingsDialog.d.ts → native/TableSettingsDialog.d.ts} +2 -3
  288. package/components/table/native/TableSettingsDialog.js +216 -0
  289. package/components/table/native/TableSettingsDialog.js.map +1 -0
  290. package/components/table/{TableSettingsDialogFooter.js → native/TableSettingsDialogFooter.js} +2 -2
  291. package/components/table/native/TableSettingsDialogFooter.js.map +1 -0
  292. package/components/table/native/TableSettingsListContainer.js.map +1 -0
  293. package/components/table/native/TableSettingsListItem.js +100 -0
  294. package/components/table/native/TableSettingsListItem.js.map +1 -0
  295. package/components/table/render/body/TableBodyContent.d.ts +21 -0
  296. package/components/table/render/body/TableBodyContent.js +52 -0
  297. package/components/table/render/body/TableBodyContent.js.map +1 -0
  298. package/components/table/render/body/TableEmptyRow.d.ts +7 -0
  299. package/components/table/render/body/TableEmptyRow.js +6 -0
  300. package/components/table/render/body/TableEmptyRow.js.map +1 -0
  301. package/components/table/render/footer/TableFooterContent.d.ts +6 -0
  302. package/components/table/render/footer/TableFooterContent.js +6 -0
  303. package/components/table/render/footer/TableFooterContent.js.map +1 -0
  304. package/components/table/render/header/TableBatchDropdown.d.ts +13 -0
  305. package/components/table/render/header/TableBatchDropdown.js +30 -0
  306. package/components/table/render/header/TableBatchDropdown.js.map +1 -0
  307. package/components/table/render/header/TableColumnFilter.d.ts +66 -0
  308. package/components/table/render/header/TableColumnFilter.js +72 -0
  309. package/components/table/render/header/TableColumnFilter.js.map +1 -0
  310. package/components/table/render/header/TableDraggableHeaderCell.d.ts +4 -0
  311. package/components/table/render/header/TableDraggableHeaderCell.js +64 -0
  312. package/components/table/render/header/TableDraggableHeaderCell.js.map +1 -0
  313. package/components/table/render/header/TableHeader.types.d.ts +37 -0
  314. package/components/table/render/header/TableHeaderCellContent.d.ts +4 -0
  315. package/components/table/render/header/TableHeaderCellContent.js +57 -0
  316. package/components/table/render/header/TableHeaderCellContent.js.map +1 -0
  317. package/components/table/render/header/TableHeaderCellResizeHandle.d.ts +4 -0
  318. package/components/table/render/header/TableHeaderCellResizeHandle.js +22 -0
  319. package/components/table/render/header/TableHeaderCellResizeHandle.js.map +1 -0
  320. package/components/table/render/header/TableHeaderDragOverlay.d.ts +14 -0
  321. package/components/table/render/header/TableHeaderDragOverlay.js +35 -0
  322. package/components/table/render/header/TableHeaderDragOverlay.js.map +1 -0
  323. package/components/table/render/header/TableHeaderSelectionCell.d.ts +9 -0
  324. package/components/table/render/header/TableHeaderSelectionCell.js +41 -0
  325. package/components/table/render/header/TableHeaderSelectionCell.js.map +1 -0
  326. package/components/table/render/header/TableStaticHeaderCell.d.ts +4 -0
  327. package/components/table/render/header/TableStaticHeaderCell.js +48 -0
  328. package/components/table/render/header/TableStaticHeaderCell.js.map +1 -0
  329. package/components/table/render/header/resolveAriaSort.d.ts +3 -0
  330. package/components/table/render/header/resolveAriaSort.js +8 -0
  331. package/components/table/render/header/resolveAriaSort.js.map +1 -0
  332. package/components/table/render/header/resolveColumnCollisionDetection.d.ts +2 -0
  333. package/components/table/render/header/resolveColumnCollisionDetection.js +9 -0
  334. package/components/table/render/header/resolveColumnCollisionDetection.js.map +1 -0
  335. package/components/table/render/header/resolveHeaderCellClassName.d.ts +12 -0
  336. package/components/table/render/header/resolveHeaderCellClassName.js +23 -0
  337. package/components/table/render/header/resolveHeaderCellClassName.js.map +1 -0
  338. package/components/table/render/header/resolveHeaderCellStyle.d.ts +830 -0
  339. package/components/table/render/header/resolveHeaderCellStyle.js +9 -0
  340. package/components/table/render/header/resolveHeaderCellStyle.js.map +1 -0
  341. package/components/table/runtime/shouldAnimateBodyRows.d.ts +17 -0
  342. package/components/table/runtime/shouldAnimateBodyRows.js +5 -0
  343. package/components/table/runtime/shouldAnimateBodyRows.js.map +1 -0
  344. package/components/table/runtime/useRenderDraftState.d.ts +14 -0
  345. package/components/table/runtime/useRenderDraftState.js +80 -0
  346. package/components/table/runtime/useRenderDraftState.js.map +1 -0
  347. package/components/table/runtime/useResolvedRenderColumns.d.ts +43 -0
  348. package/components/table/runtime/useResolvedRenderColumns.js +113 -0
  349. package/components/table/runtime/useResolvedRenderColumns.js.map +1 -0
  350. package/components/table/runtime/useResolvedRenderHeader.d.ts +27 -0
  351. package/components/table/runtime/useResolvedRenderHeader.js +67 -0
  352. package/components/table/runtime/useResolvedRenderHeader.js.map +1 -0
  353. package/components/table/selection/useInternalTableSelectionState.d.ts +17 -0
  354. package/components/table/selection/useInternalTableSelectionState.js +28 -0
  355. package/components/table/selection/useInternalTableSelectionState.js.map +1 -0
  356. package/components/table/selection/useTableSelection.d.ts +82 -0
  357. package/components/table/selection/useTableSelection.js +35 -0
  358. package/components/table/selection/useTableSelection.js.map +1 -0
  359. package/components/table/settings/TableColumnsDropdown.d.ts +90 -0
  360. package/components/table/settings/TableColumnsDropdown.js +137 -0
  361. package/components/table/settings/TableColumnsDropdown.js.map +1 -0
  362. package/components/table/settings/TableColumnsDropdownItem.d.ts +8 -0
  363. package/components/table/settings/TableColumnsDropdownItem.js +66 -0
  364. package/components/table/settings/TableColumnsDropdownItem.js.map +1 -0
  365. package/components/table/shared/getAlignClassName.d.ts +3 -0
  366. package/components/table/shared/getAlignClassName.js +6 -0
  367. package/components/table/shared/getAlignClassName.js.map +1 -0
  368. package/components/table/shared/getCellContentOverflowClassName.d.ts +3 -0
  369. package/components/table/shared/getCellContentOverflowClassName.js +18 -0
  370. package/components/table/shared/getCellContentOverflowClassName.js.map +1 -0
  371. package/components/table/shared/getInteractiveRowProps.d.ts +15 -0
  372. package/components/table/shared/getInteractiveRowProps.js +15 -0
  373. package/components/table/shared/getInteractiveRowProps.js.map +1 -0
  374. package/components/table/shared/resolveTableAria.d.ts +2 -0
  375. package/components/table/shared/resolveTableAria.js +6 -0
  376. package/components/table/shared/resolveTableAria.js.map +1 -0
  377. package/components/table/tableSizing.constants.d.ts +4 -0
  378. package/components/table/tableSizing.constants.js +8 -0
  379. package/components/table/tableSizing.constants.js.map +1 -0
  380. package/components/teaser/TeaserContainer.js +3 -3
  381. package/components/teaser/TeaserContainer.js.map +1 -1
  382. package/components/virtualList/VirtualList.js +16 -13
  383. package/components/virtualList/VirtualList.js.map +1 -1
  384. package/googleAnalyticsUtils.d.ts +1 -0
  385. package/googleAnalyticsUtils.js +9 -0
  386. package/googleAnalyticsUtils.js.map +1 -0
  387. package/hooks/useCookies.js +17 -17
  388. package/hooks/useCookies.js.map +1 -1
  389. package/hooks/useDraggableElement.d.ts +35 -0
  390. package/hooks/useDraggableElement.js +49 -0
  391. package/hooks/useDraggableElement.js.map +1 -0
  392. package/hooks/useElapsedTime.js +4 -4
  393. package/hooks/useElapsedTime.js.map +1 -1
  394. package/hooks/useLocationSuggestions.js +13 -10
  395. package/hooks/useLocationSuggestions.js.map +1 -1
  396. package/hooks/useMergeRefs.js +12 -12
  397. package/hooks/useMergeRefs.js.map +1 -1
  398. package/hooks/usePrevious.d.ts +1 -1
  399. package/hooks/usePrevious.js.map +1 -1
  400. package/hooks/useResizeObserver.js +25 -10
  401. package/hooks/useResizeObserver.js.map +1 -1
  402. package/hooks/useRioCookieConsent.js +7 -4
  403. package/hooks/useRioCookieConsent.js.map +1 -1
  404. package/hooks/useSorting.js +10 -10
  405. package/hooks/useSorting.js.map +1 -1
  406. package/hooks/useStorage.js +12 -12
  407. package/hooks/useStorage.js.map +1 -1
  408. package/hooks/useSum.js +10 -7
  409. package/hooks/useSum.js.map +1 -1
  410. package/hooks/useTableSelection.js.map +1 -1
  411. package/hooks/useTimeout.js +6 -3
  412. package/hooks/useTimeout.js.map +1 -1
  413. package/hooks/useUrlState.js +3 -3
  414. package/package.json +17 -18
  415. package/routeUtils.js +12 -10
  416. package/utils/analytics/analyticsAnalysisUtils.d.ts +27 -0
  417. package/utils/analytics/analyticsAnalysisUtils.js +161 -0
  418. package/utils/analytics/analyticsAnalysisUtils.js.map +1 -0
  419. package/utils/analytics/autoTracking.d.ts +14 -0
  420. package/utils/analytics/autoTracking.js +19 -0
  421. package/utils/analytics/autoTracking.js.map +1 -0
  422. package/utils/analytics/createAnalyticsOverlayTooltip.d.ts +36 -0
  423. package/utils/analytics/createAnalyticsOverlayTooltip.js +203 -0
  424. package/utils/analytics/createAnalyticsOverlayTooltip.js.map +1 -0
  425. package/utils/analytics/googleAnalyticsUtils.d.ts +37 -0
  426. package/utils/analytics/googleAnalyticsUtils.js +37 -0
  427. package/utils/analytics/googleAnalyticsUtils.js.map +1 -0
  428. package/utils/analytics/logAnalyticsOverlayUnmatchedEntries.d.ts +8 -0
  429. package/utils/analytics/logAnalyticsOverlayUnmatchedEntries.js +61 -0
  430. package/utils/analytics/logAnalyticsOverlayUnmatchedEntries.js.map +1 -0
  431. package/utils/analytics/useAnalyticsOverlayDom.d.ts +11 -0
  432. package/utils/analytics/useAnalyticsOverlayDom.js +120 -0
  433. package/utils/analytics/useAnalyticsOverlayDom.js.map +1 -0
  434. package/utils/arrayMove.js +11 -0
  435. package/utils/arrayMove.js.map +1 -0
  436. package/utils/cssuseragent.js +2 -2
  437. package/utils/cssuseragent.js.map +1 -1
  438. package/utils/deviceUtils.js.map +1 -1
  439. package/utils/formatUtils.js.map +1 -1
  440. package/utils/hasUtilityClass.js +3 -3
  441. package/utils/hasUtilityClass.js.map +1 -1
  442. package/utils/hidePiiData.js.map +1 -1
  443. package/utils/init/checkForReleaseVersion.js +4 -4
  444. package/utils/init/checkForReleaseVersion.js.map +1 -1
  445. package/utils/init/styledLogs.js.map +1 -1
  446. package/utils/mergeRefs.js +3 -3
  447. package/utils/mergeRefs.js.map +1 -1
  448. package/utils/routeUtils.d.ts +37 -3
  449. package/utils/routeUtils.js +88 -70
  450. package/utils/routeUtils.js.map +1 -1
  451. package/utils/storageUtils.js +9 -9
  452. package/utils/storageUtils.js.map +1 -1
  453. package/version.d.ts +1 -1
  454. package/version.js +2 -2
  455. package/version.js.map +1 -1
  456. package/components/table/TableCol.js.map +0 -1
  457. package/components/table/TableHead.js.map +0 -1
  458. package/components/table/TableSettingsColumnButtons.js +0 -45
  459. package/components/table/TableSettingsColumnButtons.js.map +0 -1
  460. package/components/table/TableSettingsColumnDetails.js.map +0 -1
  461. package/components/table/TableSettingsDialog.js +0 -208
  462. package/components/table/TableSettingsDialog.js.map +0 -1
  463. package/components/table/TableSettingsDialogFooter.js.map +0 -1
  464. package/components/table/TableSettingsListContainer.js.map +0 -1
  465. package/components/table/TableSettingsListItem.js +0 -96
  466. package/components/table/TableSettingsListItem.js.map +0 -1
  467. /package/components/table/{TableCol.d.ts → native/TableCol.d.ts} +0 -0
  468. /package/components/table/{TableCol.js → native/TableCol.js} +0 -0
  469. /package/components/table/{TableHead.d.ts → native/TableHead.d.ts} +0 -0
  470. /package/components/table/{TableSettingsColumnButtons.d.ts → native/TableSettingsColumnButtons.d.ts} +0 -0
  471. /package/components/table/{TableSettingsColumnDetails.d.ts → native/TableSettingsColumnDetails.d.ts} +0 -0
  472. /package/components/table/{TableSettingsDialogFooter.d.ts → native/TableSettingsDialogFooter.d.ts} +0 -0
  473. /package/components/table/{TableSettingsListContainer.d.ts → native/TableSettingsListContainer.d.ts} +0 -0
  474. /package/components/table/{TableSettingsListContainer.js → native/TableSettingsListContainer.js} +0 -0
  475. /package/components/table/{TableSettingsListItem.d.ts → native/TableSettingsListItem.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"DayPicker.js","sources":["../../../src/components/datepicker/DayPicker.tsx"],"sourcesContent":["import { useEffect, useState, useRef } from 'react';\nimport { DayPicker as ReactDayPicker } from 'react-day-picker';\nimport { format, isValid, parse, type Locale } from 'date-fns';\nimport * as locales from 'date-fns/locale';\nimport { debounce } from 'es-toolkit/function';\n\nimport 'react-day-picker/dist/style.css';\n\nimport useClickOutside from '../../hooks/useClickOutside';\nimport usePopperDropdown from '../../hooks/usePopperDropdown';\nimport useKey from '../../hooks/useKey';\nimport ClearableInput from '../clearableInput/ClearableInput';\nimport classNames from '../../utils/classNames';\n\n// Features\n// [ ] input parsing and error handling\n// [-] time picker -> use a dedicated time picker input next to the day picker\n// [-] time range callback + validation\n// [ ] wrap all react-day-picker callbacks to avoid exposing internals and types\n// [x] start/end month\n// [ ] reserved days / unselectable days\n// [ ] disable editable input - use selected date only\n// [x] disallow editing input for mode: \"multi\" and \"range\" since input contains custom value\n// [ ] modifier and modifiersStyles\n// [x] closeOnSelect\n// [x] enter confirms the manual input and closes the dropdown\n// [x] esc closed the dropdown\n// [ ] support different sizes\n// [ ] mandatory value\n// [x] avoid opening dropdown again when clicking inside the input\n// [x] clear inputs\n// [ ] tab should select elements inside the dropdown, select should close but keep focus on input\n\nexport type DateRange = {\n from?: Date | undefined;\n to?: Date | undefined;\n};\n\nexport type Modifiers = Record<string, boolean>;\n\nexport type OnSelectHandler<T> = (\n selected: T,\n triggerDate: Date,\n modifiers: Modifiers,\n event: React.MouseEvent | React.KeyboardEvent\n) => void;\n\n// - By default, don't show a time picker\n// - Handle given formats like \"2020-04-04\" or ISO dates \"2020-03-12T16:20:44.193Z\" as initialValue - really?\n\ntype CommonProps = Omit<React.HTMLProps<HTMLInputElement>, 'onChange' | 'value' | 'selected'> & {\n id?: string;\n locale?: string;\n closeOnSelect?: boolean;\n initialValue?: Date;\n inputProps?: Omit<React.HTMLProps<HTMLInputElement>, 'type' | 'defaultValue' | 'children'>;\n\n /**\n * Custom format string (e.g., 'yyyy-MM-dd') to override locale-based formatting.\n * If omitted, locale-based display is used for the input.\n */\n dateFormat?: string;\n\n alignRight?: boolean;\n isClearable?: boolean;\n minWidth?: number;\n mandatory?: boolean;\n bsSize?: 'sm' | 'md' | 'lg' | 'xl';\n footer?: React.ReactNode;\n inline?: boolean;\n placeholder?: string | React.ReactElement;\n\n inputClassName?: string;\n className?: string;\n\n // react-day-picker props\n showOutsideDays?: boolean;\n fixedWeeks?: boolean;\n defaultMonth?: Date;\n startMonth?: Date;\n endMonth?: Date;\n};\n\ntype SingleModeProps = CommonProps & {\n mode?: 'single';\n selected?: Date;\n onInputChange?: (rawValue: string, parsedDate: Date | undefined, isValid: boolean) => void;\n onSelectChange?: (value: Date | undefined, modifiers: Modifiers) => void;\n};\n\ntype MultipleModeProps = CommonProps & {\n mode: 'multiple';\n selected?: Date[];\n onSelectChange?: (value: Date[] | undefined, modifiers: Modifiers) => void;\n};\n\ntype RangeModeProps = CommonProps & {\n mode: 'range';\n selected?: DateRange;\n onChange?: (value: DateRange | undefined) => void;\n onSelectChange?: (value: DateRange | undefined, modifiers: Modifiers) => void;\n};\n\ntype DayPickerProps = SingleModeProps | MultipleModeProps | RangeModeProps;\n\nconst isSingleProps = (props: DayPickerProps): props is SingleModeProps => !props.mode || props.mode === 'single';\nconst isMultipleProps = (props: DayPickerProps): props is MultipleModeProps => props.mode === 'multiple';\nconst isRangeProps = (props: DayPickerProps): props is RangeModeProps => props.mode === 'range';\n\nconst DayPicker = (props: DayPickerProps) => {\n const {\n id,\n selected,\n inputProps = {},\n alignRight,\n bsSize = '',\n locale = 'en-GB',\n footer,\n inline,\n showOutsideDays = true,\n fixedWeeks = true,\n mode = 'single',\n dateFormat,\n placeholder,\n isClearable = false,\n closeOnSelect = true,\n defaultMonth,\n startMonth,\n endMonth,\n inputClassName,\n className,\n } = props;\n\n const isSingleMode = mode === 'single';\n const isMultipleMode = mode === 'multiple';\n const isRangeMode = mode === 'range';\n\n const isControlled = selected !== undefined;\n const [internalSelected, setInternalSelected] = useState<typeof selected>();\n\n const selectedValue = isControlled ? selected : internalSelected;\n\n const narrowedSelected = (() => {\n if (isSingleMode) {\n return selectedValue instanceof Date ? selectedValue : undefined;\n }\n if (isMultipleMode) {\n return Array.isArray(selectedValue) ? selectedValue : undefined;\n }\n return isDateRange(selectedValue) ? selectedValue : undefined;\n })();\n\n const selectionProps = { selected: narrowedSelected };\n\n const resolvedLocale = resolveLocale(locale);\n\n const [internalInputValue, setInternalInputValue] = useState<string>('');\n\n const inputValue =\n isControlled && !isSingleMode\n ? formatSelectedForInput(narrowedSelected, locale, mode, dateFormat)\n : internalInputValue;\n\n // const inputValue = isSingleMode\n // ? internalInputValue\n // : formatSelectedForInput(narrowedSelected, locale, mode, dateFormat);\n\n // const inputValue = internalInputValue;\n\n // This ensures that whenever the external selected prop changes, the input field gets updated accordingly\n useEffect(() => {\n if (isSingleMode && isControlled && selected instanceof Date) {\n setInternalInputValue(formatDate(selected, locale, dateFormat));\n }\n }, [selected, isSingleMode, isControlled, locale, dateFormat]);\n\n const notifySelectChange = (value: typeof selected, modifiers: Modifiers) => {\n if (isSingleProps(props) && props.onSelectChange) {\n props.onSelectChange(value as SingleModeProps['selected'], modifiers);\n return;\n }\n\n if (isMultipleProps(props) && props.onSelectChange) {\n props.onSelectChange(value as MultipleModeProps['selected'], modifiers);\n return;\n }\n\n if (isRangeProps(props) && props.onSelectChange) {\n props.onSelectChange(value as RangeModeProps['selected'], modifiers);\n }\n };\n\n const handleInputChange = (newValue: string) => doHandleInputValue(newValue);\n const handleInputChangeNative = (event: any) => doHandleInputValue(event.currentTarget.value);\n\n const debouncedParseInput = useRef(\n debounce((rawValue: string) => {\n const parsed = parseDateString(rawValue, locale);\n console.log(parsed);\n const isValid = !!parsed;\n\n setInternalSelected(parsed as typeof props.selected);\n\n if (isSingleMode && 'onInputChange' in props && props.onInputChange) {\n props.onInputChange(rawValue, parsed, isValid);\n }\n\n const shouldNotify = parsed !== undefined || rawValue === '';\n if (shouldNotify) {\n // parse to desired dateFormat for use on outside\n const formattedSelected = dateFormat ? parseDateString(rawValue, locale, dateFormat) : parsed;\n notifySelectChange(formattedSelected as typeof selected, {});\n }\n }, 300)\n ).current;\n\n const doHandleInputValue = (rawValue: string) => {\n // const parsed = parseDateString(rawValue, locale, dateFormat);\n\n // const isValid = !!parsed;\n\n // if (!isControlled) {\n // // && isValidDate(parsed); // TODO: optional second validation\n\n // setInternalInputValue(rawValue);\n // setInternalSelected(parsed as typeof props.selected);\n // } else if (isSingleMode) {\n // setInternalInputValue(rawValue);\n // }\n\n // if (isSingleMode && 'onInputChange' in props && props.onInputChange) {\n // props.onInputChange(rawValue, parsed, isValid);\n // }\n\n // const shouldNotify = parsed !== undefined || rawValue === '';\n // if (shouldNotify) {\n // onSelectChange(parsed as typeof selected, {});\n // }\n\n setInternalInputValue(rawValue); // always update input state\n debouncedParseInput(rawValue); // defer parsing & callback execution\n };\n\n const keyboardRef = useRef(false);\n\n const handleInputBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n // Do not close the dropdown on input blur when the user selects something inside the dropdown itself\n const nextFocused = event.relatedTarget as Node | null;\n const focusInsideDropdown = nextFocused && popperElementRef.current?.contains(nextFocused);\n if (isDropdownOpen && !focusInsideDropdown) {\n closePopper();\n }\n\n if (!isSingleMode) {\n return;\n }\n\n const parsed = parseDateString(internalInputValue, locale, dateFormat);\n\n if (parsed && isValid(parsed)) {\n setInternalSelected(parsed as typeof selected);\n notifySelectChange(parsed as typeof selected, {});\n setInternalInputValue(formatDate(parsed, locale, dateFormat));\n }\n };\n\n const handleOnInputFocus = () => {\n if (!isDropdownOpen) {\n openPopper();\n }\n };\n\n const handleInputKeyPress = (event: React.KeyboardEvent<HTMLInputElement>) => {\n // Workaround to figure out if the user navigates via keyboard\n if (event.key === 'Tab') {\n keyboardRef.current = true;\n }\n\n if (event.key !== 'Enter') {\n return;\n }\n // In case the dropdown is not open but the input is focused, open the dropdown on enter\n if (!isDropdownOpen) {\n handleInputClick();\n return;\n }\n // In case the dropdown is open, the input is focused and the prop allows it, close the dropdown\n if (isDropdownOpen && closeOnSelect) {\n notifySelectChange(narrowedSelected as typeof selected, {});\n closePopper();\n }\n };\n\n const handleSelectedChange = (newValue: typeof selected) => {\n if (!isControlled) {\n setInternalSelected(newValue);\n }\n };\n\n const handleClearSelection = () => {\n handleInputChange('');\n handleSelectedChange(undefined as typeof selected);\n setInternalInputValue('');\n\n if (isControlled) {\n setInternalSelected(undefined);\n }\n\n if (isRangeMode && 'onChange' in props && props.onChange) {\n props.onChange(undefined);\n }\n\n notifySelectChange(undefined as typeof selected, {});\n };\n\n const handleDaySelect: OnSelectHandler<typeof selected> = (selected, triggerDate, modifiers, event) => {\n // safe because of discriminated union\n handleSelectedChange(selected as typeof selected);\n\n // trigger callback\n notifySelectChange(selected, modifiers);\n\n if (isSingleMode && !isControlled) {\n // should be the only place formatting is applied to the input\n setInternalInputValue(formatDate(selected as Date, locale, dateFormat));\n }\n\n if (keyboardRef.current) {\n // Note: When the date is selected via enter key, assume the user uses keyboard navigation.\n // In this case the input should be focused to allow to tab to another element in his form.\n // However, it is not possible to detect according to the event since the event.type is alway \"click\".\n // Instead we check if the user used the tab key to focus the day picker.\n inputRef?.current?.focus();\n }\n\n if (closeOnSelect) {\n closePopper();\n keyboardRef.current = false;\n }\n };\n\n const {\n isOpen: isDropdownOpen,\n open: openPopper,\n close: closePopper,\n referenceRef: popperRef,\n popperElementRef: setPopperElement,\n popperStyles,\n popperAttributes,\n } = usePopperDropdown({ placement: alignRight ? 'bottom-end' : 'bottom-start' });\n\n const inputRef = useRef<HTMLInputElement>(null);\n const popperElementRef = useRef<HTMLElement | null>(null);\n\n const assignPopperElement = (element: HTMLElement | null) => {\n popperElementRef.current = element;\n setPopperElement(element);\n };\n\n // Close the dropdown when clicking outside the dropdown wrapper.\n // It also checks if the click happened into the input, in which case the\n // dropdown will remain open.\n const outsideRef = useClickOutside(\n event => {\n const target = event.target as Node | null;\n if (!target) {\n closePopper();\n return;\n }\n\n const clickedWithinTrigger = popperRef.current?.contains(target);\n const clickedWithinInput = inputRef.current?.contains(target);\n\n if (clickedWithinTrigger || clickedWithinInput) {\n return;\n }\n\n closePopper();\n },\n undefined,\n isDropdownOpen\n );\n\n const handleInputClick = () => {\n openPopper();\n inputRef.current?.focus();\n };\n\n // Needed to select all tabbable elements inside the dropdown calendar and to disable the\n // focus on tab for all of these. This allows the user to tab between multiple inputs on the page\n // or when having two day pickers side by side. Tabbing from one day picker input to the other will\n // open and close the dropdown respectively and achieving the same usability as the old DatePicker.\n // useEffect(() => {\n // if (isDropdownOpen && outsideRef.current) {\n // // get all buttons to disable the tab on them\n // const tabbableElements = (outsideRef.current as HTMLElement).querySelectorAll<HTMLElement>(\n // 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])'\n // );\n\n // tabbableElements.forEach((element: Element) => {\n // element.setAttribute('tabindex', '-1');\n // });\n // }\n // }, [isDropdownOpen, outsideRef]);\n\n // Close the dropdown when it is open and when the user presses the \"escape\" key\n useKey('Escape', event => {\n const target = event.target;\n const isInput = inputRef.current && inputRef.current === target;\n\n if (isInput && isDropdownOpen) {\n closePopper();\n }\n });\n\n useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (!isDropdownOpen || !outsideRef.current) {\n return;\n }\n\n if (event.key === 'Tab') {\n const focusedInside = outsideRef.current.contains(document.activeElement);\n if (focusedInside) {\n keyboardRef.current = true;\n console.log('User tabbed into dropdown');\n // Optional: closePopper(); or focus inputRef.current\n }\n }\n };\n\n document.addEventListener('keydown', handleKeyDown);\n return () => {\n document.removeEventListener('keydown', handleKeyDown);\n };\n }, [isDropdownOpen]);\n\n const dayPickerClassName = `DayPicker ${bsSize === 'sm' ? 'margin-10' : 'margin-15'} ${bsSize}`;\n\n if (inline) {\n // Render day picker inline without a dropdown and an input\n return (\n <div className={`display-flex flex-column justify-content-between ${className}`}>\n <ReactDayPicker\n {...selectionProps}\n mode={mode as any}\n defaultMonth={defaultMonth}\n locale={resolvedLocale}\n onSelect={handleDaySelect}\n captionLayout='dropdown'\n animate\n navLayout='around'\n startMonth={startMonth}\n endMonth={endMonth}\n showOutsideDays={showOutsideDays}\n fixedWeeks={fixedWeeks}\n className={dayPickerClassName}\n />\n {footer ? <div className='padding-15'>{footer}</div> : <div />}\n </div>\n );\n }\n\n const clearableInputProps = {\n ...inputProps,\n readOnly: !isSingleMode,\n style: {\n background: 'var(--color-white)',\n ...(inputProps?.style ?? {}),\n },\n };\n\n return (\n <>\n <div ref={popperRef} className={`form-group ${className}`}>\n <div className='input-group'>\n <span className='input-group-addon' onClick={handleInputClick}>\n <span className='rioglyph rioglyph-calendar' aria-hidden='true' />\n </span>\n {isClearable && (\n <ClearableInput\n id={id}\n autoComplete='off'\n placeholder={placeholder}\n {...clearableInputProps}\n type='text'\n value={inputValue}\n onChange={handleInputChange}\n onClick={handleInputClick}\n onClear={handleClearSelection}\n onBlur={handleInputBlur}\n onFocus={handleOnInputFocus}\n onKeyPress={handleInputKeyPress}\n // hasError={hasError}\n ref={inputRef}\n inputClassName={inputClassName}\n />\n )}\n {!isClearable && (\n <input\n id={id}\n size={12}\n type='text'\n autoComplete='off'\n placeholder={placeholder}\n {...inputProps}\n value={inputValue}\n onChange={handleInputChangeNative}\n onClick={handleInputClick}\n onBlur={handleInputBlur}\n onFocus={handleOnInputFocus}\n onKeyDown={handleInputKeyPress}\n ref={inputRef}\n readOnly={!isSingleMode}\n className={classNames('ClearableInput form-control bg-white', inputClassName)}\n />\n )}\n </div>\n </div>\n {isDropdownOpen && (\n <div\n style={popperStyles}\n className='DayPickerPopover z-index-max bg-white shadow-default rounded margin-y-3 border'\n {...popperAttributes}\n ref={assignPopperElement}\n role='dialog'\n aria-label='DayPicker calendar'\n >\n <div ref={outsideRef} className='display-flex flex-column justify-content-between'>\n <ReactDayPicker\n {...selectionProps}\n mode={mode as any}\n defaultMonth={defaultMonth}\n locale={resolvedLocale}\n onSelect={handleDaySelect}\n captionLayout='dropdown'\n animate\n navLayout='around'\n startMonth={startMonth}\n endMonth={endMonth}\n showOutsideDays={showOutsideDays}\n fixedWeeks={fixedWeeks}\n className={dayPickerClassName}\n />\n {footer ? <div className='padding-15'>{footer}</div> : <div />}\n </div>\n </div>\n )}\n </>\n );\n};\n\nconst isDateRange = (value: unknown): value is DateRange => {\n if (!value || typeof value !== 'object') {\n return false;\n }\n\n const range = value as DateRange;\n\n const fromIsValid = range.from === undefined || range.from instanceof Date;\n const toIsValid = range.to === undefined || range.to instanceof Date;\n\n return fromIsValid && toIsValid;\n};\n\nconst resolveLocale = (localeCode: string): Locale => {\n const baseCode = localeCode.split('-')[0]; // 'de-DE' → 'de'\n return (\n (locales as Record<string, Locale>)[baseCode] || (locales as Record<string, Locale>)[localeCode] || locales.enGB\n );\n};\n\nconst formatDate = (date: Date | undefined, localeCode: string, dateFormat?: string): string => {\n if (!date) {\n return '';\n }\n\n if (dateFormat) {\n return format(date, dateFormat); // use override\n }\n\n // fallback to locale-based formatting\n return new Intl.DateTimeFormat(localeCode).format(date);\n};\n\nconst formatSelectedForInput = (\n selected: unknown,\n localeCode: string,\n mode: 'single' | 'multiple' | 'range',\n dateFormat?: string\n): string => {\n if (!selected) {\n return '';\n }\n\n const formatFn = (date: Date) =>\n dateFormat ? format(date, dateFormat) : new Intl.DateTimeFormat(localeCode).format(date);\n\n if (mode === 'single' && selected instanceof Date) {\n return formatFn(selected);\n }\n\n if (mode === 'multiple' && Array.isArray(selected)) {\n return selected.map(formatFn).join(', ');\n }\n\n if (mode === 'range' && typeof selected === 'object' && 'from' in selected) {\n const { from, to } = selected as { from?: Date; to?: Date };\n if (!from || !to) {\n return '';\n }\n return [from, to].filter(Boolean).map(formatFn).join(' – ');\n }\n\n return '';\n};\n\nconst localeFormatMap: Record<string, string> = {\n 'bg-BG': 'dd.MM.yyyy',\n 'cs-CZ': 'dd.MM.yyyy',\n 'da-DK': 'dd-MM-yyyy',\n 'de-DE': 'dd.MM.yyyy',\n 'el-GR': 'dd/MM/yyyy',\n 'en-GB': 'dd/MM/yyyy',\n 'es-ES': 'dd/MM/yyyy',\n 'et-EE': 'dd.MM.yyyy',\n 'fi-FI': 'dd.MM.yyyy',\n 'fr-FR': 'dd/MM/yyyy',\n 'hr-HR': 'dd.MM.yyyy',\n 'hu-HU': 'yyyy. MM. dd.',\n 'it-IT': 'dd/MM/yyyy',\n 'lt-LT': 'dd-MM-yyyy',\n 'lv-LV': 'dd.MM.yyyy',\n 'nb-NO': 'dd.MM.yyyy',\n 'nl-NL': 'dd-MM-yyyy',\n 'pl-PL': 'dd.MM.yyyy',\n 'pt-BR': 'dd/MM/yyyy',\n 'pt-PT': 'dd/MM/yyyy',\n 'ro-RO': 'dd.MM.yyyy',\n 'sk-SK': 'dd.MM.yyyy',\n 'sl-SI': 'dd.MM.yyyy',\n 'sv-SE': 'yyyy-MM-dd',\n};\n\nconst getFormatForLocale = (localeCode: string, fallback = 'yyyy-MM-dd'): string => {\n return localeFormatMap[localeCode] || fallback;\n};\n\nconst parseDateString = (value: string | undefined, localeCode: string, dateFormat?: string): Date | undefined => {\n if (!value) {\n return undefined;\n }\n\n const formatToUse = dateFormat || getFormatForLocale(localeCode, dateFormat);\n const parsed = parse(value, formatToUse, new Date());\n\n return isValid(parsed) ? parsed : undefined;\n};\n\nexport default DayPicker;\n"],"names":["isSingleProps","props","isMultipleProps","isRangeProps","DayPicker","id","selected","inputProps","alignRight","bsSize","locale","footer","inline","showOutsideDays","fixedWeeks","mode","dateFormat","placeholder","isClearable","closeOnSelect","defaultMonth","startMonth","endMonth","inputClassName","className","isSingleMode","isMultipleMode","isRangeMode","isControlled","internalSelected","setInternalSelected","useState","selectedValue","narrowedSelected","isDateRange","selectionProps","resolvedLocale","resolveLocale","internalInputValue","setInternalInputValue","inputValue","formatSelectedForInput","useEffect","formatDate","notifySelectChange","value","modifiers","handleInputChange","newValue","doHandleInputValue","handleInputChangeNative","event","debouncedParseInput","useRef","debounce","rawValue","parsed","parseDateString","isValid","formattedSelected","keyboardRef","handleInputBlur","nextFocused","focusInsideDropdown","popperElementRef","isDropdownOpen","closePopper","handleOnInputFocus","openPopper","handleInputKeyPress","handleInputClick","handleSelectedChange","handleClearSelection","handleDaySelect","triggerDate","inputRef","popperRef","setPopperElement","popperStyles","popperAttributes","usePopperDropdown","assignPopperElement","element","outsideRef","useClickOutside","target","clickedWithinTrigger","clickedWithinInput","useKey","handleKeyDown","dayPickerClassName","jsxs","jsx","ReactDayPicker","clearableInputProps","Fragment","ClearableInput","classNames","range","fromIsValid","toIsValid","localeCode","baseCode","locales","date","format","formatFn","from","to","localeFormatMap","getFormatForLocale","fallback","formatToUse","parse"],"mappings":"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"}
1
+ {"version":3,"file":"DayPicker.js","sources":["../../../src/components/datepicker/DayPicker.tsx"],"sourcesContent":["import { useEffect, useRef, useState, type ReactNode } from 'react';\nimport ReactDOM from 'react-dom';\n\nimport useClickOutside from '../../hooks/useClickOutside';\nimport useKey from '../../hooks/useKey';\nimport usePopperDropdown from '../../hooks/usePopperDropdown';\nimport classNames from '../../utils/classNames';\nimport { getOrCreatePortalRoot } from '../../utils/portalRoot';\n\nimport DayPickerCalendar from './DayPickerCalendar';\nimport DayPickerDropdown from './DayPickerDropdown';\nimport DayPickerInput from './DayPickerInput';\nimport {\n isMultipleDayPickerProps,\n isRangeDayPickerProps,\n isSingleDayPickerProps,\n type DateRange,\n type DayPickerProps,\n type DayPickerSelection,\n type Modifiers,\n} from './dayPickerTypes';\nimport useDayPickerInputState from './useDayPickerInputState';\nexport { supportedDayPickerLocales } from './dayPickerUtils';\n\nexport type {\n DateRange,\n DayPickerCalendarProps,\n DayPickerProps,\n DayPickerSlotRenderProps,\n DayPickerTriggerRenderProps,\n Modifiers,\n} from './dayPickerTypes';\nexport { default as DayPickerCalendar } from './DayPickerCalendar';\n\nconst hasValueProp = (props: DayPickerProps) => Object.hasOwn(props, 'value');\nconst hasCloseOnSelectProp = (props: DayPickerProps) => Object.hasOwn(props, 'closeOnSelect');\n\nconst renderSlot = (slot: unknown, slotProps: unknown) => {\n if (typeof slot === 'function') {\n return (slot as (props: unknown) => ReactNode)(slotProps);\n }\n\n return (slot as ReactNode) ?? null;\n};\n\nconst DayPicker = (props: DayPickerProps) => {\n const {\n id,\n name,\n mode = 'single',\n locale = 'en-GB',\n placeholder,\n iconName = 'rioglyph-calendar',\n dateFormat,\n onBlur,\n inputProps,\n errorMessage,\n warningMessage,\n messageWhiteSpace = 'normal',\n inputClassName,\n className,\n dropdownClassName,\n leftSidebarClassName,\n rightSidebarClassName,\n footerClassName,\n usePortal = false,\n alignRight,\n isClearable = false,\n closeOnOutsideClick = true,\n selectionBehavior = 'immediate',\n } = props;\n\n const isControlled = hasValueProp(props);\n const isSingleMode = isSingleDayPickerProps(props);\n const closeOnSelect = hasCloseOnSelectProp(props)\n ? props.closeOnSelect !== false\n : selectionBehavior !== 'deferred';\n const [internalValue, setInternalValue] = useState<DayPickerSelection>(props.defaultValue);\n const committedValue = (isControlled ? props.value : internalValue) as DayPickerSelection;\n const [draftValue, setDraftValue] = useState<DayPickerSelection>(committedValue);\n\n const {\n isOpen: isDropdownOpen,\n open: openPopper,\n close: closePopper,\n referenceRef: popperRef,\n popperElementRef: setPopperElement,\n popperStyles,\n popperAttributes,\n } = usePopperDropdown({ placement: alignRight ? 'bottom-end' : 'bottom-start' });\n\n const inputRef = useRef<HTMLInputElement | null>(null);\n const popperElementRef = useRef<HTMLElement | null>(null);\n\n useEffect(() => {\n setDraftValue(committedValue);\n }, [committedValue]);\n\n const assignPopperElement = (element: HTMLElement | null) => {\n popperElementRef.current = element;\n setPopperElement(element);\n };\n\n const notifyChange = (value: DayPickerSelection, modifiers: Modifiers) => {\n if (isSingleMode) {\n props.onChange?.(value as Date | undefined, modifiers);\n return;\n }\n\n if (isMultipleDayPickerProps(props)) {\n props.onChange?.(value as Date[] | undefined, modifiers);\n return;\n }\n\n if (isRangeDayPickerProps(props)) {\n props.onChange?.(value as DateRange | undefined, modifiers);\n }\n };\n\n const commitValue = (value: DayPickerSelection, modifiers: Modifiers = {}) => {\n if (!isControlled) {\n setInternalValue(value);\n }\n\n setDraftValue(value);\n notifyChange(value, modifiers);\n };\n\n const clearValue = () => {\n commitValue(undefined, {});\n };\n\n const closeDropdown = () => {\n closePopper();\n setDraftValue(committedValue);\n };\n\n const applyDraftValue = () => {\n commitValue(draftValue, {});\n closePopper();\n };\n\n const outsideRef = useClickOutside<HTMLDivElement>(\n event => {\n if (!closeOnOutsideClick) {\n return;\n }\n\n const target = event.target as Node | null;\n if (!target) {\n closeDropdown();\n return;\n }\n\n const clickedWithinTrigger = popperRef.current?.contains(target);\n const clickedWithinInput = inputRef.current?.contains(target);\n\n if (clickedWithinTrigger || clickedWithinInput) {\n return;\n }\n\n closeDropdown();\n },\n undefined,\n isDropdownOpen\n );\n\n useKey('Escape', event => {\n const target = event.target as Node | null;\n if (!target || !isDropdownOpen) {\n return;\n }\n\n const isInputTarget = inputRef.current && inputRef.current === target;\n const isTriggerTarget = !!popperRef.current?.contains(target);\n\n if (isInputTarget || isTriggerTarget) {\n closeDropdown();\n }\n });\n\n const {\n displayValue,\n handleInputBlur,\n handleInputChange,\n handleClearInput,\n handleInputFocus,\n handleInputKeyDown,\n inputMaskProps,\n } = useDayPickerInputState({\n props,\n locale,\n dateFormat,\n inputProps,\n onBlur,\n isDropdownOpen,\n isSingleMode,\n selectionBehavior,\n closeOnOutsideClick,\n committedValue,\n draftValue,\n setDraftValue,\n commitValue,\n clearValue,\n openDropdown: openPopper,\n closeDropdown,\n applyDraftValue,\n popperElementRef,\n });\n\n const handleInputClick = () => {\n openPopper();\n inputRef.current?.focus();\n };\n\n const toggleDropdown = () => {\n if (isDropdownOpen) {\n closeDropdown();\n return;\n }\n\n openPopper();\n };\n\n const slotProps = createSlotProps({\n props,\n value: committedValue,\n draftValue,\n setDraftValue,\n apply: applyDraftValue,\n clear: handleClearInput,\n close: closeDropdown,\n });\n\n const triggerContent = slotProps.trigger\n ? renderSlot(slotProps.trigger, {\n ...slotProps.renderProps,\n id,\n name,\n displayValue,\n isOpen: isDropdownOpen,\n open: openPopper,\n toggle: toggleDropdown,\n })\n : null;\n\n const handleCalendarChange = (value: DayPickerSelection, modifiers: Modifiers) => {\n if (modifiers.disabled || modifiers.hidden) {\n return;\n }\n\n const shouldApplyImmediately = selectionBehavior === 'immediate';\n\n if (shouldApplyImmediately) {\n commitValue(value, modifiers);\n } else {\n setDraftValue(value);\n }\n\n const shouldCloseRange =\n mode !== 'range' || (!!(value as DateRange | undefined)?.from && !!(value as DateRange | undefined)?.to);\n\n if (closeOnSelect && shouldCloseRange) {\n if (!shouldApplyImmediately) {\n commitValue(value, modifiers);\n }\n closePopper();\n }\n };\n\n const hasFeedback = !!(errorMessage || warningMessage);\n\n const mergedInputProps = {\n ...inputProps,\n name: name || inputProps?.name,\n autoComplete: inputProps?.autoComplete || 'off',\n placeholder: placeholder || inputProps?.placeholder,\n };\n\n const leftSidebarContent = slotProps.leftSidebar ? renderSlot(slotProps.leftSidebar, slotProps.renderProps) : null;\n\n const rightSidebarContent = slotProps.rightSidebar\n ? renderSlot(slotProps.rightSidebar, slotProps.renderProps)\n : null;\n\n const footerContent = slotProps.footer ? renderSlot(slotProps.footer, slotProps.renderProps) : null;\n\n const dropdownRoot = usePortal ? getOrCreatePortalRoot() : null;\n\n const dropdownContent = (\n <DayPickerDropdown\n assignPopperElement={assignPopperElement}\n popperStyles={popperStyles}\n popperAttributes={popperAttributes}\n enableStackedCalendars={(props.numberOfMonths ?? 1) > 1}\n dropdownClassName={dropdownClassName}\n outsideRef={outsideRef}\n leftSidebar={leftSidebarContent}\n rightSidebar={rightSidebarContent}\n footer={footerContent}\n leftSidebarClassName={leftSidebarClassName}\n rightSidebarClassName={rightSidebarClassName}\n footerClassName={footerClassName}\n >\n <DayPickerCalendar\n {...props}\n size='sm'\n value={draftValue as never}\n onChange={handleCalendarChange as never}\n className='margin-15'\n />\n </DayPickerDropdown>\n );\n\n return (\n <>\n <div\n className={classNames(\n 'form-group',\n hasFeedback && 'has-feedback',\n errorMessage && 'has-error',\n warningMessage && 'has-warning',\n className\n )}\n >\n {triggerContent ? (\n <>\n <div ref={popperRef} className='display-inline-block'>\n {triggerContent}\n </div>\n {hasFeedback ? (\n <span className={`help-block white-space-${messageWhiteSpace}`}>\n <span>{errorMessage || warningMessage}</span>\n </span>\n ) : null}\n </>\n ) : (\n <DayPickerInput\n id={id}\n triggerRef={popperRef}\n inputRef={inputRef}\n displayValue={displayValue}\n iconName={iconName}\n isSingleMode={isSingleMode}\n isClearable={isClearable}\n inputMaskProps={inputMaskProps}\n mergedInputProps={mergedInputProps}\n inputClassName={inputClassName}\n errorMessage={errorMessage}\n warningMessage={warningMessage}\n messageWhiteSpace={messageWhiteSpace}\n onChange={handleInputChange}\n onAddonClick={handleInputClick}\n onClick={event => {\n inputProps?.onClick?.(event);\n handleInputClick();\n }}\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n onKeyDown={handleInputKeyDown}\n onClear={handleClearInput}\n />\n )}\n </div>\n {isDropdownOpen && usePortal && dropdownRoot && ReactDOM.createPortal(dropdownContent, dropdownRoot)}\n {isDropdownOpen && !usePortal && dropdownContent}\n </>\n );\n};\n\nconst createSlotProps = ({\n props,\n value,\n draftValue,\n setDraftValue,\n apply,\n clear,\n close,\n}: {\n props: DayPickerProps;\n value: DayPickerSelection;\n draftValue: DayPickerSelection;\n setDraftValue: (value: DayPickerSelection) => void;\n apply: () => void;\n clear: () => void;\n close: () => void;\n}) => {\n if (isSingleDayPickerProps(props)) {\n return {\n trigger: props.trigger,\n leftSidebar: props.leftSidebar,\n rightSidebar: props.rightSidebar,\n footer: props.footer,\n renderProps: {\n value: value as Date | undefined,\n draftValue: draftValue as Date | undefined,\n setDraftValue: setDraftValue as (value: Date | undefined) => void,\n apply,\n clear,\n close,\n mode: props.mode || 'single',\n locale: props.locale || 'en-GB',\n },\n };\n }\n\n if (isMultipleDayPickerProps(props)) {\n return {\n trigger: props.trigger,\n leftSidebar: props.leftSidebar,\n rightSidebar: props.rightSidebar,\n footer: props.footer,\n renderProps: {\n value: value as Date[] | undefined,\n draftValue: draftValue as Date[] | undefined,\n setDraftValue: setDraftValue as (value: Date[] | undefined) => void,\n apply,\n clear,\n close,\n mode: props.mode,\n locale: props.locale || 'en-GB',\n },\n };\n }\n\n return {\n trigger: props.trigger,\n leftSidebar: props.leftSidebar,\n rightSidebar: props.rightSidebar,\n footer: props.footer,\n renderProps: {\n value: value as DateRange | undefined,\n draftValue: draftValue as DateRange | undefined,\n setDraftValue: setDraftValue as (value: DateRange | undefined) => void,\n apply,\n clear,\n close,\n mode: props.mode,\n locale: props.locale || 'en-GB',\n },\n };\n};\n\nexport default DayPicker;\n"],"names":["hasValueProp","props","hasCloseOnSelectProp","renderSlot","slot","slotProps","DayPicker","id","name","mode","locale","placeholder","iconName","dateFormat","onBlur","inputProps","errorMessage","warningMessage","messageWhiteSpace","inputClassName","className","dropdownClassName","leftSidebarClassName","rightSidebarClassName","footerClassName","usePortal","alignRight","isClearable","closeOnOutsideClick","selectionBehavior","isControlled","isSingleMode","isSingleDayPickerProps","closeOnSelect","internalValue","setInternalValue","useState","committedValue","draftValue","setDraftValue","isDropdownOpen","openPopper","closePopper","popperRef","setPopperElement","popperStyles","popperAttributes","usePopperDropdown","inputRef","useRef","popperElementRef","useEffect","assignPopperElement","element","notifyChange","value","modifiers","isMultipleDayPickerProps","isRangeDayPickerProps","commitValue","clearValue","closeDropdown","applyDraftValue","outsideRef","useClickOutside","event","target","clickedWithinTrigger","clickedWithinInput","useKey","isInputTarget","isTriggerTarget","displayValue","handleInputBlur","handleInputChange","handleClearInput","handleInputFocus","handleInputKeyDown","inputMaskProps","useDayPickerInputState","handleInputClick","toggleDropdown","createSlotProps","triggerContent","handleCalendarChange","shouldApplyImmediately","shouldCloseRange","hasFeedback","mergedInputProps","leftSidebarContent","rightSidebarContent","footerContent","dropdownRoot","getOrCreatePortalRoot","dropdownContent","jsx","DayPickerDropdown","DayPickerCalendar","jsxs","Fragment","classNames","DayPickerInput","ReactDOM","apply","clear","close"],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { DayPickerCalendarProps } from './dayPickerTypes';
2
+ export type { DateRange, DayPickerCalendarProps, Modifiers } from './dayPickerTypes';
3
+ declare const DayPickerCalendar: (props: DayPickerCalendarProps) => import("react/jsx-runtime").JSX.Element | null;
4
+ export default DayPickerCalendar;
@@ -0,0 +1,129 @@
1
+ import { jsx as n, jsxs as J } from "react/jsx-runtime";
2
+ import { createContext as R, useState as Q, useContext as V } from "react";
3
+ import { DayPicker as g, DayButton as T } from "react-day-picker";
4
+ import O from "../../utils/classNames.js";
5
+ import { isSingleDayPickerProps as U, isMultipleDayPickerProps as X, isRangeDayPickerProps as Y } from "./dayPickerTypes.js";
6
+ import { createCustomRangeModifiers as Z, getCustomRangeValue as p } from "./dayPickerRangeSelectionUtils.js";
7
+ import { resolveLocale as ee } from "./dayPickerUtils.js";
8
+ const B = R(null), ne = (e) => Object.hasOwn(e, "value"), ue = (e) => {
9
+ const {
10
+ locale: m = "en-GB",
11
+ className: d,
12
+ size: l = "md",
13
+ numberOfMonths: D = 1,
14
+ defaultMonth: y,
15
+ month: L,
16
+ onMonthChange: j,
17
+ startMonth: _,
18
+ endMonth: z,
19
+ disabledDays: I,
20
+ hiddenDays: K,
21
+ showOutsideDays: E = !0,
22
+ fixedWeeks: G = !0,
23
+ showWeekNumber: $ = !1,
24
+ weekStartsOn: q,
25
+ modifiers: S,
26
+ modifiersClassNames: A,
27
+ renderDayContent: h
28
+ } = e, r = ne(e), [v, C] = Q(e.defaultValue), x = ee(m), M = O("DayPicker display-block", `DayPicker--${l}`, d), P = h ? { DayButton: te } : void 0, k = {
29
+ defaultMonth: y,
30
+ month: L,
31
+ onMonthChange: j,
32
+ locale: x,
33
+ numberOfMonths: D,
34
+ captionLayout: "dropdown",
35
+ animate: !0,
36
+ navLayout: "around",
37
+ startMonth: _,
38
+ endMonth: z,
39
+ disabled: I,
40
+ hidden: K,
41
+ modifiers: S,
42
+ modifiersClassNames: A,
43
+ showOutsideDays: E,
44
+ fixedWeeks: G,
45
+ showWeekNumber: $,
46
+ weekStartsOn: q,
47
+ className: M,
48
+ components: P
49
+ };
50
+ if (U(e)) {
51
+ const t = r ? e.value : v, s = (o, b, a) => {
52
+ r || C(o), e.onChange?.(o, a);
53
+ };
54
+ return /* @__PURE__ */ n(f.Provider, { value: h || null, children: /* @__PURE__ */ n(g, { ...k, mode: "single", selected: t, onSelect: s }) });
55
+ }
56
+ if (X(e)) {
57
+ const t = r ? e.value : v, s = (o, b, a) => {
58
+ r || C(o), e.onChange?.(o, a);
59
+ };
60
+ return /* @__PURE__ */ n(f.Provider, { value: h || null, children: /* @__PURE__ */ n(g, { ...k, mode: "multiple", selected: t, onSelect: s }) });
61
+ }
62
+ if (Y(e)) {
63
+ const { selectionVariant: t = "default", rollingDays: s = 7 } = e, o = r ? e.value : v;
64
+ if (t !== "default") {
65
+ const a = Number.isInteger(s) && s > 0 ? s : 7, W = Z(o), N = {
66
+ ...S,
67
+ ...W
68
+ }, w = (i, c) => {
69
+ if (c.disabled || c.hidden)
70
+ return;
71
+ const u = p({
72
+ day: i,
73
+ selectionVariant: t,
74
+ rollingDays: a,
75
+ locale: x,
76
+ currentValue: o
77
+ });
78
+ r || C(u), e.onChange?.(u, c);
79
+ }, F = (i, c) => {
80
+ w(i, c);
81
+ }, H = (i, c, u) => {
82
+ u.key !== " " && u.key !== "Enter" || (u.preventDefault(), w(i, c));
83
+ };
84
+ return /* @__PURE__ */ n(B.Provider, { value: (i) => w(i, {}), children: /* @__PURE__ */ n(f.Provider, { value: h || null, children: /* @__PURE__ */ n(
85
+ g,
86
+ {
87
+ ...k,
88
+ className: O(
89
+ M,
90
+ t === "week" && "DayPicker-week-selection",
91
+ t === "month" && "DayPicker-month-selection"
92
+ ),
93
+ modifiers: N,
94
+ onDayClick: F,
95
+ onDayKeyDown: H,
96
+ components: t === "week" ? { ...P, WeekNumber: oe } : P
97
+ }
98
+ ) }) });
99
+ }
100
+ const b = (a, W, N) => {
101
+ r || C(a), e.onChange?.(a, N);
102
+ };
103
+ return /* @__PURE__ */ n(f.Provider, { value: h || null, children: /* @__PURE__ */ n(g, { ...k, mode: "range", selected: o, onSelect: b }) });
104
+ }
105
+ return null;
106
+ }, f = R(null), te = ({ children: e, className: m, day: d, ...l }) => {
107
+ const y = V(f)?.(d.date, l.modifiers);
108
+ return /* @__PURE__ */ J(T, { ...l, day: d, className: m, children: [
109
+ e,
110
+ y && y
111
+ ] });
112
+ }, oe = ({ week: e, ...m }) => {
113
+ const d = V(B), l = e.days[0]?.date;
114
+ return /* @__PURE__ */ n("th", { ...m, children: /* @__PURE__ */ n(
115
+ "button",
116
+ {
117
+ type: "button",
118
+ className: "btn btn-muted-filled text-color-darkest btn-block btn-sm",
119
+ onClick: (D) => {
120
+ D.preventDefault(), l && d?.(l);
121
+ },
122
+ children: e.weekNumber
123
+ }
124
+ ) });
125
+ };
126
+ export {
127
+ ue as default
128
+ };
129
+ //# sourceMappingURL=DayPickerCalendar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DayPickerCalendar.js","sources":["../../../src/components/datepicker/DayPickerCalendar.tsx"],"sourcesContent":["import { createContext, useContext, useState, type MouseEvent } from 'react';\nimport {\n DayPicker as ReactDayPicker,\n DayButton as ReactDayPickerDayButton,\n type DateRange as ReactDayPickerDateRange,\n type DayEventHandler,\n type DayButtonProps,\n type OnSelectHandler as ReactDayPickerOnSelectHandler,\n type WeekNumberProps,\n} from 'react-day-picker';\n\nimport classNames from '../../utils/classNames';\n\nimport {\n isMultipleDayPickerProps,\n isRangeDayPickerProps,\n isSingleDayPickerProps,\n type DateRange,\n type DayPickerCalendarProps,\n type Modifiers,\n} from './dayPickerTypes';\nimport { createCustomRangeModifiers, getCustomRangeValue } from './dayPickerRangeSelectionUtils';\nimport { resolveLocale } from './dayPickerUtils';\n\nexport type { DateRange, DayPickerCalendarProps, Modifiers } from './dayPickerTypes';\n\nconst WeekSelectionContext = createContext<((day: Date) => void) | null>(null);\n\nconst hasValueProp = (props: DayPickerCalendarProps) => Object.hasOwn(props, 'value');\n\nconst DayPickerCalendar = (props: DayPickerCalendarProps) => {\n const {\n locale = 'en-GB',\n className,\n size = 'md',\n numberOfMonths = 1,\n defaultMonth,\n month,\n onMonthChange,\n startMonth,\n endMonth,\n disabledDays,\n hiddenDays,\n showOutsideDays = true,\n fixedWeeks = true,\n showWeekNumber = false,\n weekStartsOn,\n modifiers,\n modifiersClassNames,\n renderDayContent,\n } = props;\n\n const isControlled = hasValueProp(props);\n const [internalValue, setInternalValue] = useState<Date | Date[] | DateRange | undefined>(props.defaultValue);\n\n const resolvedLocale = resolveLocale(locale);\n const calendarClassName = classNames('DayPicker display-block', `DayPicker--${size}`, className);\n\n const commonComponents = renderDayContent ? { DayButton: CustomDayButton } : undefined;\n\n const commonProps = {\n defaultMonth,\n month,\n onMonthChange,\n locale: resolvedLocale,\n numberOfMonths,\n captionLayout: 'dropdown' as const,\n animate: true,\n navLayout: 'around' as const,\n startMonth,\n endMonth,\n disabled: disabledDays,\n hidden: hiddenDays,\n modifiers,\n modifiersClassNames,\n showOutsideDays,\n fixedWeeks,\n showWeekNumber,\n weekStartsOn,\n className: calendarClassName,\n components: commonComponents,\n };\n\n if (isSingleDayPickerProps(props)) {\n const value = (isControlled ? props.value : internalValue) as Date | undefined;\n const handleChange: ReactDayPickerOnSelectHandler<Date | undefined> = (\n nextValue,\n _triggerDate,\n dayModifiers\n ) => {\n if (!isControlled) {\n setInternalValue(nextValue as Date | Date[] | DateRange | undefined);\n }\n\n props.onChange?.(nextValue, dayModifiers as Modifiers);\n };\n\n return (\n <DayContentContext.Provider value={renderDayContent || null}>\n <ReactDayPicker {...commonProps} mode='single' selected={value} onSelect={handleChange} />\n </DayContentContext.Provider>\n );\n }\n\n if (isMultipleDayPickerProps(props)) {\n const value = (isControlled ? props.value : internalValue) as Date[] | undefined;\n const handleChange: ReactDayPickerOnSelectHandler<Date[] | undefined> = (\n nextValue,\n _triggerDate,\n dayModifiers\n ) => {\n if (!isControlled) {\n setInternalValue(nextValue as Date | Date[] | DateRange | undefined);\n }\n\n props.onChange?.(nextValue, dayModifiers as Modifiers);\n };\n\n return (\n <DayContentContext.Provider value={renderDayContent || null}>\n <ReactDayPicker {...commonProps} mode='multiple' selected={value} onSelect={handleChange} />\n </DayContentContext.Provider>\n );\n }\n\n if (isRangeDayPickerProps(props)) {\n const { selectionVariant = 'default', rollingDays = 7 } = props;\n const value = (isControlled ? props.value : internalValue) as ReactDayPickerDateRange | undefined;\n\n if (selectionVariant !== 'default') {\n const normalizedRollingDays = Number.isInteger(rollingDays) && rollingDays > 0 ? rollingDays : 7;\n const selectionModifiers = createCustomRangeModifiers(value);\n const mergedModifiers = {\n ...modifiers,\n ...selectionModifiers,\n };\n\n const handleCustomRangeSelection = (day: Date, dayModifiers: Modifiers) => {\n if (dayModifiers.disabled || dayModifiers.hidden) {\n return;\n }\n\n const nextValue = getCustomRangeValue({\n day,\n selectionVariant,\n rollingDays: normalizedRollingDays,\n locale: resolvedLocale,\n currentValue: value,\n });\n\n if (!isControlled) {\n setInternalValue(nextValue as Date | Date[] | DateRange | undefined);\n }\n\n props.onChange?.(nextValue, dayModifiers);\n };\n\n const handleDayClick: DayEventHandler<React.MouseEvent> = (day, dayModifiers) => {\n handleCustomRangeSelection(day, dayModifiers as Modifiers);\n };\n\n const handleDayKeyDown: DayEventHandler<React.KeyboardEvent> = (day, dayModifiers, event) => {\n if (event.key !== ' ' && event.key !== 'Enter') {\n return;\n }\n\n event.preventDefault();\n handleCustomRangeSelection(day, dayModifiers as Modifiers);\n };\n\n return (\n <WeekSelectionContext.Provider value={day => handleCustomRangeSelection(day, {})}>\n <DayContentContext.Provider value={renderDayContent || null}>\n <ReactDayPicker\n {...commonProps}\n className={classNames(\n calendarClassName,\n selectionVariant === 'week' && 'DayPicker-week-selection',\n selectionVariant === 'month' && 'DayPicker-month-selection'\n )}\n modifiers={mergedModifiers}\n onDayClick={handleDayClick}\n onDayKeyDown={handleDayKeyDown}\n components={\n selectionVariant === 'week'\n ? { ...commonComponents, WeekNumber: CustomWeekNumber }\n : commonComponents\n }\n />\n </DayContentContext.Provider>\n </WeekSelectionContext.Provider>\n );\n }\n\n const handleChange: ReactDayPickerOnSelectHandler<ReactDayPickerDateRange | undefined> = (\n nextValue,\n _triggerDate,\n dayModifiers\n ) => {\n if (!isControlled) {\n setInternalValue(nextValue as Date | Date[] | DateRange | undefined);\n }\n\n props.onChange?.(nextValue, dayModifiers as Modifiers);\n };\n\n return (\n <DayContentContext.Provider value={renderDayContent || null}>\n <ReactDayPicker {...commonProps} mode='range' selected={value} onSelect={handleChange} />\n </DayContentContext.Provider>\n );\n }\n\n return null;\n};\n\nexport default DayPickerCalendar;\n\nconst DayContentContext = createContext<((date: Date, modifiers: Modifiers) => React.ReactNode) | null>(null);\n\nconst CustomDayButton = ({ children, className, day, ...buttonProps }: DayButtonProps) => {\n const renderDayContent = useContext(DayContentContext);\n const extraContent = renderDayContent?.(day.date, buttonProps.modifiers as Modifiers);\n\n return (\n <ReactDayPickerDayButton {...buttonProps} day={day} className={className}>\n {children}\n {extraContent && extraContent}\n </ReactDayPickerDayButton>\n );\n};\n\nconst CustomWeekNumber = ({ week, ...weekNumberProps }: WeekNumberProps) => {\n const onSelectWeek = useContext(WeekSelectionContext);\n const firstDayOfWeek = week.days[0]?.date;\n\n return (\n <th {...weekNumberProps}>\n <button\n type='button'\n className='btn btn-muted-filled text-color-darkest btn-block btn-sm'\n onClick={(event: MouseEvent<HTMLButtonElement>) => {\n event.preventDefault();\n if (!firstDayOfWeek) {\n return;\n }\n\n onSelectWeek?.(firstDayOfWeek);\n }}\n >\n {week.weekNumber}\n </button>\n </th>\n );\n};\n"],"names":["WeekSelectionContext","createContext","hasValueProp","props","DayPickerCalendar","locale","className","size","numberOfMonths","defaultMonth","month","onMonthChange","startMonth","endMonth","disabledDays","hiddenDays","showOutsideDays","fixedWeeks","showWeekNumber","weekStartsOn","modifiers","modifiersClassNames","renderDayContent","isControlled","internalValue","setInternalValue","useState","resolvedLocale","resolveLocale","calendarClassName","classNames","commonComponents","CustomDayButton","commonProps","isSingleDayPickerProps","value","handleChange","nextValue","_triggerDate","dayModifiers","DayContentContext","jsx","ReactDayPicker","isMultipleDayPickerProps","isRangeDayPickerProps","selectionVariant","rollingDays","normalizedRollingDays","selectionModifiers","createCustomRangeModifiers","mergedModifiers","handleCustomRangeSelection","day","getCustomRangeValue","handleDayClick","handleDayKeyDown","event","CustomWeekNumber","children","buttonProps","extraContent","useContext","jsxs","ReactDayPickerDayButton","week","weekNumberProps","onSelectWeek","firstDayOfWeek"],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { CSSProperties, HTMLAttributes, MutableRefObject, ReactNode } from 'react';
2
+ type DayPickerDropdownProps = {
3
+ assignPopperElement: (element: HTMLDivElement | null) => void;
4
+ popperStyles: CSSProperties;
5
+ popperAttributes: HTMLAttributes<HTMLDivElement>;
6
+ enableStackedCalendars?: boolean;
7
+ dropdownClassName?: string;
8
+ outsideRef: MutableRefObject<HTMLDivElement | null>;
9
+ leftSidebar?: ReactNode;
10
+ rightSidebar?: ReactNode;
11
+ footer?: ReactNode;
12
+ leftSidebarClassName?: string;
13
+ rightSidebarClassName?: string;
14
+ footerClassName?: string;
15
+ children: ReactNode;
16
+ };
17
+ declare const DayPickerDropdown: (props: DayPickerDropdownProps) => import("react/jsx-runtime").JSX.Element;
18
+ export default DayPickerDropdown;
@@ -0,0 +1,75 @@
1
+ import { jsx as e, jsxs as m } from "react/jsx-runtime";
2
+ import o from "../../utils/classNames.js";
3
+ import C from "./DayPickerDropdownFooter.js";
4
+ import p from "./DayPickerDropdownSidebar.js";
5
+ import P from "./useStackedDayPickerCalendars.js";
6
+ const I = (f) => {
7
+ const {
8
+ assignPopperElement: u,
9
+ popperStyles: b,
10
+ popperAttributes: D,
11
+ enableStackedCalendars: s = !1,
12
+ dropdownClassName: h,
13
+ outsideRef: x,
14
+ leftSidebar: a,
15
+ rightSidebar: r,
16
+ footer: l,
17
+ leftSidebarClassName: y,
18
+ rightSidebarClassName: k,
19
+ footerClassName: w,
20
+ children: i
21
+ } = f, { calendarsRef: N, stackCalendars: g } = P([i, a, r]), n = (d) => {
22
+ const c = d.target;
23
+ if (!c)
24
+ return;
25
+ const t = c.closest(
26
+ 'input:not([type="button"]):not([type="submit"]):not([type="reset"]), select, textarea, [contenteditable="true"], [role="combobox"], [role="textbox"]'
27
+ );
28
+ t && !t.hasAttribute("disabled") && t.getAttribute("aria-disabled") !== "true" || d.preventDefault();
29
+ };
30
+ return /* @__PURE__ */ e(
31
+ "div",
32
+ {
33
+ ref: u,
34
+ style: b,
35
+ className: o(
36
+ "DayPickerDropdown z-index-max bg-white shadow-default rounded margin-y-3 border",
37
+ h
38
+ ),
39
+ ...D,
40
+ role: "dialog",
41
+ "aria-label": "DayPicker calendar",
42
+ children: /* @__PURE__ */ e(
43
+ "div",
44
+ {
45
+ ref: x,
46
+ className: "display-flex flex-column",
47
+ onPointerDownCapture: n,
48
+ onMouseDownCapture: n,
49
+ children: /* @__PURE__ */ m("div", { className: o((a || r) && "display-flex flex-column-xs flex-row-sm"), children: [
50
+ a && /* @__PURE__ */ e(p, { className: y, children: a }),
51
+ /* @__PURE__ */ m("div", { children: [
52
+ /* @__PURE__ */ e(
53
+ "div",
54
+ {
55
+ ref: s ? N : null,
56
+ className: o(
57
+ "DayPickerDropdown-calendars",
58
+ s && g && "stacked-calendars"
59
+ ),
60
+ children: i
61
+ }
62
+ ),
63
+ r && /* @__PURE__ */ e(p, { side: "right", className: k, children: r }),
64
+ l && /* @__PURE__ */ e(C, { className: w, children: l })
65
+ ] })
66
+ ] })
67
+ }
68
+ )
69
+ }
70
+ );
71
+ };
72
+ export {
73
+ I as default
74
+ };
75
+ //# sourceMappingURL=DayPickerDropdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DayPickerDropdown.js","sources":["../../../src/components/datepicker/DayPickerDropdown.tsx"],"sourcesContent":["import type { CSSProperties, HTMLAttributes, MouseEvent, MutableRefObject, PointerEvent, ReactNode } from 'react';\n\nimport classNames from '../../utils/classNames';\n\nimport DayPickerDropdownFooter from './DayPickerDropdownFooter';\nimport DayPickerDropdownSidebar from './DayPickerDropdownSidebar';\nimport useStackedDayPickerCalendars from './useStackedDayPickerCalendars';\n\ntype DayPickerDropdownProps = {\n assignPopperElement: (element: HTMLDivElement | null) => void;\n popperStyles: CSSProperties;\n popperAttributes: HTMLAttributes<HTMLDivElement>;\n enableStackedCalendars?: boolean;\n dropdownClassName?: string;\n outsideRef: MutableRefObject<HTMLDivElement | null>;\n leftSidebar?: ReactNode;\n rightSidebar?: ReactNode;\n footer?: ReactNode;\n leftSidebarClassName?: string;\n rightSidebarClassName?: string;\n footerClassName?: string;\n children: ReactNode;\n};\n\nconst DayPickerDropdown = (props: DayPickerDropdownProps) => {\n const {\n assignPopperElement,\n popperStyles,\n popperAttributes,\n enableStackedCalendars = false,\n dropdownClassName,\n outsideRef,\n leftSidebar,\n rightSidebar,\n footer,\n leftSidebarClassName,\n rightSidebarClassName,\n footerClassName,\n children,\n } = props;\n\n const { calendarsRef, stackCalendars } = useStackedDayPickerCalendars([children, leftSidebar, rightSidebar]);\n\n const handlePointerDownCapture = (event: PointerEvent<HTMLDivElement> | MouseEvent<HTMLDivElement>) => {\n const target = event.target as HTMLElement | null;\n if (!target) {\n return;\n }\n\n const focusableFieldElement = target.closest<HTMLElement>(\n 'input:not([type=\"button\"]):not([type=\"submit\"]):not([type=\"reset\"]), select, textarea, [contenteditable=\"true\"], [role=\"combobox\"], [role=\"textbox\"]'\n );\n const clickedInteractiveElement =\n !!focusableFieldElement &&\n !focusableFieldElement.hasAttribute('disabled') &&\n focusableFieldElement.getAttribute('aria-disabled') !== 'true';\n\n if (!clickedInteractiveElement) {\n event.preventDefault();\n }\n };\n\n return (\n <div\n ref={assignPopperElement}\n style={popperStyles}\n className={classNames(\n 'DayPickerDropdown z-index-max bg-white shadow-default rounded margin-y-3 border',\n dropdownClassName\n )}\n {...popperAttributes}\n role='dialog'\n aria-label='DayPicker calendar'\n >\n <div\n ref={outsideRef}\n className='display-flex flex-column'\n onPointerDownCapture={handlePointerDownCapture}\n onMouseDownCapture={handlePointerDownCapture}\n >\n {/* flex-column on mobile */}\n <div className={classNames((leftSidebar || rightSidebar) && 'display-flex flex-column-xs flex-row-sm')}>\n {leftSidebar && (\n <DayPickerDropdownSidebar className={leftSidebarClassName}>\n {leftSidebar}\n </DayPickerDropdownSidebar>\n )}\n <div>\n <div\n ref={enableStackedCalendars ? calendarsRef : null}\n className={classNames(\n 'DayPickerDropdown-calendars',\n enableStackedCalendars && stackCalendars && 'stacked-calendars'\n )}\n >\n {children}\n </div>\n {rightSidebar && (\n <DayPickerDropdownSidebar side='right' className={rightSidebarClassName}>\n {rightSidebar}\n </DayPickerDropdownSidebar>\n )}\n {footer && (\n <DayPickerDropdownFooter className={footerClassName}>{footer}</DayPickerDropdownFooter>\n )}\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default DayPickerDropdown;\n"],"names":["DayPickerDropdown","props","assignPopperElement","popperStyles","popperAttributes","enableStackedCalendars","dropdownClassName","outsideRef","leftSidebar","rightSidebar","footer","leftSidebarClassName","rightSidebarClassName","footerClassName","children","calendarsRef","stackCalendars","useStackedDayPickerCalendars","handlePointerDownCapture","event","target","focusableFieldElement","jsx","classNames","DayPickerDropdownSidebar","DayPickerDropdownFooter"],"mappings":";;;;;AAwBA,MAAMA,IAAoB,CAACC,MAAkC;AACzD,QAAM;AAAA,IACF,qBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,wBAAAC,IAAyB;AAAA,IACzB,mBAAAC;AAAA,IACA,YAAAC;AAAA,IACA,aAAAC;AAAA,IACA,cAAAC;AAAA,IACA,QAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,UAAAC;AAAA,EAAA,IACAb,GAEE,EAAE,cAAAc,GAAc,gBAAAC,MAAmBC,EAA6B,CAACH,GAAUN,GAAaC,CAAY,CAAC,GAErGS,IAA2B,CAACC,MAAqE;AACnG,UAAMC,IAASD,EAAM;AACrB,QAAI,CAACC;AACD;AAGJ,UAAMC,IAAwBD,EAAO;AAAA,MACjC;AAAA,IAAA;AAOJ,IAJMC,KACF,CAACA,EAAsB,aAAa,UAAU,KAC9CA,EAAsB,aAAa,eAAe,MAAM,UAGxDF,EAAM,eAAA;AAAA,EAEd;AAEA,SACI,gBAAAG;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,KAAKpB;AAAA,MACL,OAAOC;AAAA,MACP,WAAWoB;AAAA,QACP;AAAA,QACAjB;AAAA,MAAA;AAAA,MAEH,GAAGF;AAAA,MACJ,MAAK;AAAA,MACL,cAAW;AAAA,MAEX,UAAA,gBAAAkB;AAAA,QAAC;AAAA,QAAA;AAAA,UACG,KAAKf;AAAA,UACL,WAAU;AAAA,UACV,sBAAsBW;AAAA,UACtB,oBAAoBA;AAAA,UAGpB,4BAAC,OAAA,EAAI,WAAWK,GAAYf,KAAeC,MAAiB,yCAAyC,GAChG,UAAA;AAAA,YAAAD,KACG,gBAAAc,EAACE,GAAA,EAAyB,WAAWb,GAChC,UAAAH,GACL;AAAA,8BAEH,OAAA,EACG,UAAA;AAAA,cAAA,gBAAAc;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACG,KAAKjB,IAAyBU,IAAe;AAAA,kBAC7C,WAAWQ;AAAA,oBACP;AAAA,oBACAlB,KAA0BW,KAAkB;AAAA,kBAAA;AAAA,kBAG/C,UAAAF;AAAA,gBAAA;AAAA,cAAA;AAAA,cAEJL,KACG,gBAAAa,EAACE,GAAA,EAAyB,MAAK,SAAQ,WAAWZ,GAC7C,UAAAH,GACL;AAAA,cAEHC,KACG,gBAAAY,EAACG,GAAA,EAAwB,WAAWZ,GAAkB,UAAAH,EAAA,CAAO;AAAA,YAAA,EAAA,CAErE;AAAA,UAAA,EAAA,CACJ;AAAA,QAAA;AAAA,MAAA;AAAA,IACJ;AAAA,EAAA;AAGZ;"}
@@ -0,0 +1,7 @@
1
+ import { ReactNode } from 'react';
2
+ type DayPickerDropdownFooterProps = {
3
+ children: ReactNode;
4
+ className?: string;
5
+ };
6
+ declare const DayPickerDropdownFooter: ({ children, className }: DayPickerDropdownFooterProps) => import("react/jsx-runtime").JSX.Element;
7
+ export default DayPickerDropdownFooter;
@@ -0,0 +1,7 @@
1
+ import { jsx as a } from "react/jsx-runtime";
2
+ import { mergeClassNameOverrides as d } from "../../utils/mergeClassNameOverrides.js";
3
+ const i = ({ children: o, className: r }) => /* @__PURE__ */ a("div", { className: d("padding-x-15 padding-bottom-15 padding-top-0", r), children: o });
4
+ export {
5
+ i as default
6
+ };
7
+ //# sourceMappingURL=DayPickerDropdownFooter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DayPickerDropdownFooter.js","sources":["../../../src/components/datepicker/DayPickerDropdownFooter.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { mergeClassNameOverrides } from '../../utils/mergeClassNameOverrides';\n\ntype DayPickerDropdownFooterProps = {\n children: ReactNode;\n className?: string;\n};\n\nconst DayPickerDropdownFooter = ({ children, className }: DayPickerDropdownFooterProps) => (\n <div className={mergeClassNameOverrides('padding-x-15 padding-bottom-15 padding-top-0', className)}>{children}</div>\n);\n\nexport default DayPickerDropdownFooter;\n"],"names":["DayPickerDropdownFooter","children","className","jsx","mergeClassNameOverrides"],"mappings":";;AASA,MAAMA,IAA0B,CAAC,EAAE,UAAAC,GAAU,WAAAC,EAAA,MACzC,gBAAAC,EAAC,OAAA,EAAI,WAAWC,EAAwB,gDAAgDF,CAAS,GAAI,UAAAD,EAAA,CAAS;"}
@@ -0,0 +1,8 @@
1
+ import { ReactNode } from 'react';
2
+ type DayPickerDropdownSidebarProps = {
3
+ children: ReactNode;
4
+ side?: 'left' | 'right';
5
+ className?: string;
6
+ };
7
+ declare const DayPickerDropdownSidebar: ({ children, className }: DayPickerDropdownSidebarProps) => import("react/jsx-runtime").JSX.Element;
8
+ export default DayPickerDropdownSidebar;
@@ -0,0 +1,7 @@
1
+ import { jsx as a } from "react/jsx-runtime";
2
+ import { mergeClassNameOverrides as i } from "../../utils/mergeClassNameOverrides.js";
3
+ const o = ({ children: r, className: e }) => /* @__PURE__ */ a("div", { className: i("padding-15 min-width-100", e), children: r });
4
+ export {
5
+ o as default
6
+ };
7
+ //# sourceMappingURL=DayPickerDropdownSidebar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DayPickerDropdownSidebar.js","sources":["../../../src/components/datepicker/DayPickerDropdownSidebar.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { mergeClassNameOverrides } from '../../utils/mergeClassNameOverrides';\n\ntype DayPickerDropdownSidebarProps = {\n children: ReactNode;\n side?: 'left' | 'right';\n className?: string;\n};\n\nconst DayPickerDropdownSidebar = ({ children, className }: DayPickerDropdownSidebarProps) => (\n <div className={mergeClassNameOverrides('padding-15 min-width-100', className)}>{children}</div>\n);\n\nexport default DayPickerDropdownSidebar;\n"],"names":["DayPickerDropdownSidebar","children","className","jsx","mergeClassNameOverrides"],"mappings":";;AAUA,MAAMA,IAA2B,CAAC,EAAE,UAAAC,GAAU,WAAAC,EAAA,MAC1C,gBAAAC,EAAC,OAAA,EAAI,WAAWC,EAAwB,4BAA4BF,CAAS,GAAI,UAAAD,EAAA,CAAS;"}
@@ -0,0 +1,28 @@
1
+ import { ChangeEvent, FocusEvent, InputHTMLAttributes, KeyboardEvent, MouseEvent, ReactNode, Ref } from 'react';
2
+ import { ClearableInputProps } from '../clearableInput/ClearableInput';
3
+ import { RioglyphIconType } from '../rioglyph/RioglyphIconType';
4
+ type DayPickerInputPropsShape = Omit<InputHTMLAttributes<HTMLInputElement>, 'children' | 'value' | 'defaultValue' | 'onChange' | 'size'>;
5
+ type DayPickerInputProps = {
6
+ id?: string;
7
+ triggerRef?: Ref<HTMLDivElement>;
8
+ inputRef: Ref<HTMLInputElement>;
9
+ displayValue: string;
10
+ iconName: RioglyphIconType;
11
+ isSingleMode: boolean;
12
+ isClearable: boolean;
13
+ inputMaskProps?: Pick<ClearableInputProps, 'mask' | 'pattern' | 'format' | 'parse'>;
14
+ mergedInputProps: DayPickerInputPropsShape;
15
+ inputClassName?: string;
16
+ errorMessage?: string | ReactNode;
17
+ warningMessage?: string | ReactNode;
18
+ messageWhiteSpace: 'normal' | 'nowrap' | 'pre-line';
19
+ onChange: (nextValue: string, event?: ChangeEvent<HTMLInputElement> | MouseEvent<HTMLSpanElement>) => void;
20
+ onAddonClick: () => void;
21
+ onClick: (event: MouseEvent<HTMLInputElement>) => void;
22
+ onFocus: (event: FocusEvent<HTMLInputElement>) => void;
23
+ onBlur: (event: FocusEvent<HTMLInputElement>) => void;
24
+ onKeyDown: (event: KeyboardEvent<HTMLInputElement>) => void;
25
+ onClear: () => void;
26
+ };
27
+ declare const DayPickerInput: (props: DayPickerInputProps) => import("react/jsx-runtime").JSX.Element;
28
+ export default DayPickerInput;
@@ -0,0 +1,65 @@
1
+ import { jsxs as a, jsx as e, Fragment as P } from "react/jsx-runtime";
2
+ import i from "../../utils/classNames.js";
3
+ import F from "../clearableInput/ClearableInput.js";
4
+ const D = (o) => {
5
+ const {
6
+ id: p,
7
+ triggerRef: t,
8
+ inputRef: c,
9
+ displayValue: d,
10
+ iconName: m,
11
+ isSingleMode: n,
12
+ isClearable: u,
13
+ inputMaskProps: g,
14
+ mergedInputProps: h,
15
+ inputClassName: f,
16
+ errorMessage: r,
17
+ warningMessage: s,
18
+ messageWhiteSpace: k,
19
+ onChange: y,
20
+ onAddonClick: C,
21
+ onClick: N,
22
+ onFocus: b,
23
+ onBlur: w,
24
+ onKeyDown: v,
25
+ onClear: x
26
+ } = o, l = !!(r || s);
27
+ return /* @__PURE__ */ a("div", { children: [
28
+ /* @__PURE__ */ a("div", { ref: t, className: "input-group", children: [
29
+ /* @__PURE__ */ e("span", { className: "input-group-addon", onClick: C, children: /* @__PURE__ */ e("span", { className: i("rioglyph", m), "aria-hidden": "true" }) }),
30
+ /* @__PURE__ */ a("div", { className: "form-control-feedback-wrapper flex-1-1", children: [
31
+ /* @__PURE__ */ e(
32
+ F,
33
+ {
34
+ ...h,
35
+ id: p,
36
+ ref: c,
37
+ type: "text",
38
+ value: d,
39
+ ...n ? g : void 0,
40
+ maskVisibility: "never",
41
+ maskOverwrite: "shift",
42
+ readOnly: !n,
43
+ showClearButton: u,
44
+ onChange: y,
45
+ onClick: N,
46
+ onFocus: b,
47
+ onBlur: w,
48
+ onKeyPress: (M) => v(M),
49
+ onClear: () => x(),
50
+ inputClassName: i("bg-white", !n && "cursor-pointer", f)
51
+ }
52
+ ),
53
+ l ? /* @__PURE__ */ a(P, { children: [
54
+ r ? /* @__PURE__ */ e("span", { className: "form-control-feedback rioglyph rioglyph-error-sign" }) : null,
55
+ !r && s ? /* @__PURE__ */ e("span", { className: "form-control-feedback rioglyph rioglyph-warning-sign" }) : null
56
+ ] }) : null
57
+ ] })
58
+ ] }),
59
+ l ? /* @__PURE__ */ e("span", { className: `help-block white-space-${k}`, children: /* @__PURE__ */ e("span", { children: r || s }) }) : null
60
+ ] });
61
+ };
62
+ export {
63
+ D as default
64
+ };
65
+ //# sourceMappingURL=DayPickerInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DayPickerInput.js","sources":["../../../src/components/datepicker/DayPickerInput.tsx"],"sourcesContent":["import type { ChangeEvent, FocusEvent, InputHTMLAttributes, KeyboardEvent, MouseEvent, ReactNode, Ref } from 'react';\n\nimport classNames from '../../utils/classNames';\nimport ClearableInput, { type ClearableInputProps } from '../clearableInput/ClearableInput';\nimport type { RioglyphIconType } from '../rioglyph/RioglyphIconType';\n\ntype DayPickerInputPropsShape = Omit<\n InputHTMLAttributes<HTMLInputElement>,\n 'children' | 'value' | 'defaultValue' | 'onChange' | 'size'\n>;\n\ntype DayPickerInputProps = {\n id?: string;\n triggerRef?: Ref<HTMLDivElement>;\n inputRef: Ref<HTMLInputElement>;\n displayValue: string;\n iconName: RioglyphIconType;\n isSingleMode: boolean;\n isClearable: boolean;\n inputMaskProps?: Pick<ClearableInputProps, 'mask' | 'pattern' | 'format' | 'parse'>;\n mergedInputProps: DayPickerInputPropsShape;\n inputClassName?: string;\n errorMessage?: string | ReactNode;\n warningMessage?: string | ReactNode;\n messageWhiteSpace: 'normal' | 'nowrap' | 'pre-line';\n onChange: (nextValue: string, event?: ChangeEvent<HTMLInputElement> | MouseEvent<HTMLSpanElement>) => void;\n onAddonClick: () => void;\n onClick: (event: MouseEvent<HTMLInputElement>) => void;\n onFocus: (event: FocusEvent<HTMLInputElement>) => void;\n onBlur: (event: FocusEvent<HTMLInputElement>) => void;\n onKeyDown: (event: KeyboardEvent<HTMLInputElement>) => void;\n onClear: () => void;\n};\n\nconst DayPickerInput = (props: DayPickerInputProps) => {\n const {\n id,\n triggerRef,\n inputRef,\n displayValue,\n iconName,\n isSingleMode,\n isClearable,\n inputMaskProps,\n mergedInputProps,\n inputClassName,\n errorMessage,\n warningMessage,\n messageWhiteSpace,\n onChange,\n onAddonClick,\n onClick,\n onFocus,\n onBlur,\n onKeyDown,\n onClear,\n } = props;\n\n const hasFeedback = !!(errorMessage || warningMessage);\n\n return (\n <div>\n <div ref={triggerRef} className='input-group'>\n <span className='input-group-addon' onClick={onAddonClick}>\n <span className={classNames('rioglyph', iconName)} aria-hidden='true' />\n </span>\n <div className='form-control-feedback-wrapper flex-1-1'>\n <ClearableInput\n {...mergedInputProps}\n id={id}\n ref={inputRef}\n type='text'\n value={displayValue}\n {...(isSingleMode ? inputMaskProps : undefined)}\n maskVisibility='never'\n maskOverwrite='shift'\n readOnly={!isSingleMode}\n showClearButton={isClearable}\n onChange={onChange}\n onClick={onClick}\n onFocus={onFocus}\n onBlur={onBlur}\n onKeyPress={event => onKeyDown(event)}\n onClear={() => onClear()}\n inputClassName={classNames('bg-white', !isSingleMode && 'cursor-pointer', inputClassName)}\n />\n {hasFeedback ? (\n <>\n {errorMessage ? (\n <span className='form-control-feedback rioglyph rioglyph-error-sign' />\n ) : null}\n {!errorMessage && warningMessage ? (\n <span className='form-control-feedback rioglyph rioglyph-warning-sign' />\n ) : null}\n </>\n ) : null}\n </div>\n </div>\n {hasFeedback ? (\n <span className={`help-block white-space-${messageWhiteSpace}`}>\n <span>{errorMessage || warningMessage}</span>\n </span>\n ) : null}\n </div>\n );\n};\n\nexport default DayPickerInput;\n"],"names":["DayPickerInput","props","id","triggerRef","inputRef","displayValue","iconName","isSingleMode","isClearable","inputMaskProps","mergedInputProps","inputClassName","errorMessage","warningMessage","messageWhiteSpace","onChange","onAddonClick","onClick","onFocus","onBlur","onKeyDown","onClear","hasFeedback","jsxs","jsx","classNames","ClearableInput","event","Fragment"],"mappings":";;;AAkCA,MAAMA,IAAiB,CAACC,MAA+B;AACnD,QAAM;AAAA,IACF,IAAAC;AAAA,IACA,YAAAC;AAAA,IACA,UAAAC;AAAA,IACA,cAAAC;AAAA,IACA,UAAAC;AAAA,IACA,cAAAC;AAAA,IACA,aAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,UAAAC;AAAA,IACA,cAAAC;AAAA,IACA,SAAAC;AAAA,IACA,SAAAC;AAAA,IACA,QAAAC;AAAA,IACA,WAAAC;AAAA,IACA,SAAAC;AAAA,EAAA,IACApB,GAEEqB,IAAc,CAAC,EAAEV,KAAgBC;AAEvC,2BACK,OAAA,EACG,UAAA;AAAA,IAAA,gBAAAU,EAAC,OAAA,EAAI,KAAKpB,GAAY,WAAU,eAC5B,UAAA;AAAA,MAAA,gBAAAqB,EAAC,QAAA,EAAK,WAAU,qBAAoB,SAASR,GACzC,UAAA,gBAAAQ,EAAC,QAAA,EAAK,WAAWC,EAAW,YAAYnB,CAAQ,GAAG,eAAY,QAAO,GAC1E;AAAA,MACA,gBAAAiB,EAAC,OAAA,EAAI,WAAU,0CACX,UAAA;AAAA,QAAA,gBAAAC;AAAA,UAACE;AAAA,UAAA;AAAA,YACI,GAAGhB;AAAA,YACJ,IAAAR;AAAA,YACA,KAAKE;AAAA,YACL,MAAK;AAAA,YACL,OAAOC;AAAA,YACN,GAAIE,IAAeE,IAAiB;AAAA,YACrC,gBAAe;AAAA,YACf,eAAc;AAAA,YACd,UAAU,CAACF;AAAA,YACX,iBAAiBC;AAAA,YACjB,UAAAO;AAAA,YACA,SAAAE;AAAA,YACA,SAAAC;AAAA,YACA,QAAAC;AAAA,YACA,YAAY,CAAAQ,MAASP,EAAUO,CAAK;AAAA,YACpC,SAAS,MAAMN,EAAA;AAAA,YACf,gBAAgBI,EAAW,YAAY,CAAClB,KAAgB,kBAAkBI,CAAc;AAAA,UAAA;AAAA,QAAA;AAAA,QAE3FW,IACG,gBAAAC,EAAAK,GAAA,EACK,UAAA;AAAA,UAAAhB,IACG,gBAAAY,EAAC,QAAA,EAAK,WAAU,qDAAA,CAAqD,IACrE;AAAA,UACH,CAACZ,KAAgBC,sBACb,QAAA,EAAK,WAAU,wDAAuD,IACvE;AAAA,QAAA,EAAA,CACR,IACA;AAAA,MAAA,EAAA,CACR;AAAA,IAAA,GACJ;AAAA,IACCS,IACG,gBAAAE,EAAC,QAAA,EAAK,WAAW,0BAA0BV,CAAiB,IACxD,UAAA,gBAAAU,EAAC,QAAA,EAAM,UAAAZ,KAAgBC,EAAA,CAAe,EAAA,CAC1C,IACA;AAAA,EAAA,GACR;AAER;"}