@rio-cloud/rio-uikit 2.3.0-beta.1 → 2.3.0-beta.3

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 (344) hide show
  1. package/DayPicker.js +6 -2
  2. package/DayPicker.js.map +1 -1
  3. package/DayPickerCalendar.d.ts +2 -0
  4. package/DayPickerCalendar.js +5 -0
  5. package/DayPickerCalendar.js.map +1 -0
  6. package/DayPickerPrototype.d.ts +2 -0
  7. package/DayPickerPrototype.js +5 -0
  8. package/DayPickerPrototype.js.map +1 -0
  9. package/Marker.js +9 -5
  10. package/TableNext.d.ts +2 -0
  11. package/TableNext.js +23 -0
  12. package/TableNext.js.map +1 -0
  13. package/TableToolbar.js +3 -2
  14. package/TableToolbar.js.map +1 -1
  15. package/components/analyticsAnalysisOverlay/AnalyticsAnalysisBanner.d.ts +38 -3
  16. package/components/analyticsAnalysisOverlay/AnalyticsAnalysisBanner.js +104 -109
  17. package/components/analyticsAnalysisOverlay/AnalyticsAnalysisBanner.js.map +1 -1
  18. package/components/analyticsAnalysisOverlay/AnalyticsAnalysisOverlay.d.ts +24 -5
  19. package/components/analyticsAnalysisOverlay/AnalyticsAnalysisOverlay.js +60 -56
  20. package/components/analyticsAnalysisOverlay/AnalyticsAnalysisOverlay.js.map +1 -1
  21. package/components/assetTree/Tree.js +13 -13
  22. package/components/charts/Area.d.ts +5 -3
  23. package/components/charts/Area.js +4 -3
  24. package/components/charts/Area.js.map +1 -1
  25. package/components/charts/AreaChart.js.map +1 -1
  26. package/components/charts/ComposedChart.js.map +1 -1
  27. package/components/clearableInput/ClearableInput.d.ts +30 -0
  28. package/components/clearableInput/ClearableInput.js +81 -78
  29. package/components/clearableInput/ClearableInput.js.map +1 -1
  30. package/components/datepicker/DayPicker.d.ts +4 -51
  31. package/components/datepicker/DayPicker.js +267 -257
  32. package/components/datepicker/DayPicker.js.map +1 -1
  33. package/components/datepicker/DayPickerCalendar.d.ts +4 -0
  34. package/components/datepicker/DayPickerCalendar.js +129 -0
  35. package/components/datepicker/DayPickerCalendar.js.map +1 -0
  36. package/components/datepicker/DayPickerDropdown.d.ts +19 -0
  37. package/components/datepicker/DayPickerDropdown.js +88 -0
  38. package/components/datepicker/DayPickerDropdown.js.map +1 -0
  39. package/components/datepicker/DayPickerDropdownFooter.d.ts +7 -0
  40. package/components/datepicker/DayPickerDropdownFooter.js +7 -0
  41. package/components/datepicker/DayPickerDropdownFooter.js.map +1 -0
  42. package/components/datepicker/DayPickerDropdownSidebar.d.ts +8 -0
  43. package/components/datepicker/DayPickerDropdownSidebar.js +7 -0
  44. package/components/datepicker/DayPickerDropdownSidebar.js.map +1 -0
  45. package/components/datepicker/DayPickerInput.d.ts +28 -0
  46. package/components/datepicker/DayPickerInput.js +65 -0
  47. package/components/datepicker/DayPickerInput.js.map +1 -0
  48. package/components/datepicker/DayPickerPrototype.d.ts +53 -0
  49. package/components/datepicker/DayPickerPrototype.js +285 -0
  50. package/components/datepicker/DayPickerPrototype.js.map +1 -0
  51. package/components/datepicker/dayPickerRangeSelectionUtils.d.ts +15 -0
  52. package/components/datepicker/dayPickerRangeSelectionUtils.js +31 -0
  53. package/components/datepicker/dayPickerRangeSelectionUtils.js.map +1 -0
  54. package/components/datepicker/dayPickerTypes.d.ts +517 -0
  55. package/components/datepicker/dayPickerTypes.js +7 -0
  56. package/components/datepicker/dayPickerTypes.js.map +1 -0
  57. package/components/datepicker/dayPickerUtils.d.ts +10 -0
  58. package/components/datepicker/dayPickerUtils.js +92 -0
  59. package/components/datepicker/dayPickerUtils.js.map +1 -0
  60. package/components/datepicker/useDayPickerInputState.d.ts +32 -0
  61. package/components/datepicker/useDayPickerInputState.js +85 -0
  62. package/components/datepicker/useDayPickerInputState.js.map +1 -0
  63. package/components/datepicker/useStackedDayPickerCalendars.d.ts +5 -0
  64. package/components/datepicker/useStackedDayPickerCalendars.js +39 -0
  65. package/components/datepicker/useStackedDayPickerCalendars.js.map +1 -0
  66. package/components/divider/Divider.js +6 -6
  67. package/components/dropdown/ButtonDropdown.d.ts +4 -0
  68. package/components/dropdown/ButtonDropdown.js +70 -68
  69. package/components/dropdown/ButtonDropdown.js.map +1 -1
  70. package/components/dropdown/DropdownToggleButton.d.ts +1 -0
  71. package/components/dropdown/DropdownToggleButton.js +17 -15
  72. package/components/dropdown/DropdownToggleButton.js.map +1 -1
  73. package/components/fade/FadeExpander.js +17 -20
  74. package/components/fade/FadeExpander.js.map +1 -1
  75. package/components/listMenu/ListMenu.d.ts +8 -0
  76. package/components/listMenu/ListMenu.js +74 -66
  77. package/components/listMenu/ListMenu.js.map +1 -1
  78. package/components/loadMore/LoadMoreProgress.js +6 -7
  79. package/components/map/components/Map.js +189 -157
  80. package/components/map/components/Map.js.map +1 -1
  81. package/components/map/components/MapContext.d.ts +1 -0
  82. package/components/map/components/MapContext.js +8 -7
  83. package/components/map/components/MapContext.js.map +1 -1
  84. package/components/map/components/features/Route.d.ts +65 -1
  85. package/components/map/components/features/Route.js +184 -98
  86. package/components/map/components/features/Route.js.map +1 -1
  87. package/components/map/components/features/basics/Marker.d.ts +21 -1
  88. package/components/map/components/features/basics/Marker.js +99 -40
  89. package/components/map/components/features/basics/Marker.js.map +1 -1
  90. package/components/map/components/features/basics/Polygon.d.ts +24 -1
  91. package/components/map/components/features/basics/Polygon.js +72 -19
  92. package/components/map/components/features/basics/Polygon.js.map +1 -1
  93. package/components/map/components/features/basics/Polyline.d.ts +29 -0
  94. package/components/map/components/features/basics/Polyline.js +69 -39
  95. package/components/map/components/features/basics/Polyline.js.map +1 -1
  96. package/components/map/components/features/layers/MarkerLayer.js +8 -8
  97. package/components/map/components/features/layers/MarkerLayer.js.map +1 -1
  98. package/components/map/components/features/layers/clustering/SimpleClusterLayer.js +13 -6
  99. package/components/map/components/features/layers/clustering/SimpleClusterLayer.js.map +1 -1
  100. package/components/map/utils/clustering.d.ts +1 -1
  101. package/components/map/utils/clustering.js +30 -30
  102. package/components/map/utils/clustering.js.map +1 -1
  103. package/components/map/utils/mapTypes.d.ts +135 -0
  104. package/components/map/utils/mapTypes.js.map +1 -1
  105. package/components/map/utils/rendering.js +5 -5
  106. package/components/mapMarker/ClusterMapMarker.d.ts +2 -0
  107. package/components/mapMarker/ClusterMapMarker.js.map +1 -1
  108. package/components/mapMarker/SingleMapMarker.d.ts +2 -0
  109. package/components/mapMarker/SingleMapMarker.js.map +1 -1
  110. package/components/popover/Popover.js +4 -4
  111. package/components/radiobutton/RadioCardGroup.js +3 -3
  112. package/components/rioglyph/RioglyphIconType.d.ts +1 -1
  113. package/components/selects/ClearButton.js +9 -7
  114. package/components/selects/ClearButton.js.map +1 -1
  115. package/components/selects/Multiselect.d.ts +6 -0
  116. package/components/selects/Multiselect.js +164 -150
  117. package/components/selects/Multiselect.js.map +1 -1
  118. package/components/selects/Select.js +39 -37
  119. package/components/selects/Select.js.map +1 -1
  120. package/components/table/Table.d.ts +27 -248
  121. package/components/table/Table.js +240 -214
  122. package/components/table/Table.js.map +1 -1
  123. package/components/table/Table.types.d.ts +302 -121
  124. package/components/table/TableBody.d.ts +65 -5
  125. package/components/table/TableBody.js +132 -2
  126. package/components/table/TableBody.js.map +1 -1
  127. package/components/table/TableCardsSorting.js +25 -32
  128. package/components/table/TableCardsSorting.js.map +1 -1
  129. package/components/table/TableColumn.d.ts +21 -6
  130. package/components/table/TableColumn.js +114 -2
  131. package/components/table/TableColumn.js.map +1 -1
  132. package/components/table/TableExpandedContentRow.d.ts +7 -7
  133. package/components/table/TableExpandedContentRow.js +107 -2
  134. package/components/table/TableExpandedContentRow.js.map +1 -1
  135. package/components/table/TableExpandedRow.d.ts +9 -4
  136. package/components/table/TableExpandedRow.js +147 -2
  137. package/components/table/TableExpandedRow.js.map +1 -1
  138. package/components/table/TableExpanderButton.js +13 -11
  139. package/components/table/TableExpanderButton.js.map +1 -1
  140. package/components/table/TableFooter.d.ts +10 -6
  141. package/components/table/TableFooter.js +49 -2
  142. package/components/table/TableFooter.js.map +1 -1
  143. package/components/table/TableGroupFooterRow.d.ts +7 -7
  144. package/components/table/TableGroupFooterRow.js +27 -2
  145. package/components/table/TableGroupFooterRow.js.map +1 -1
  146. package/components/table/TableGroupRow.d.ts +7 -7
  147. package/components/table/TableGroupRow.js +33 -2
  148. package/components/table/TableGroupRow.js.map +1 -1
  149. package/components/table/TableHeader.d.ts +26 -4
  150. package/components/table/TableHeader.js +117 -2
  151. package/components/table/TableHeader.js.map +1 -1
  152. package/components/table/TableHeaderColumn.d.ts +25 -9
  153. package/components/table/TableHeaderColumn.js +83 -2
  154. package/components/table/TableHeaderColumn.js.map +1 -1
  155. package/components/table/TableHeaderRow.d.ts +1 -1
  156. package/components/table/TableHeaderRow.js +11 -2
  157. package/components/table/TableHeaderRow.js.map +1 -1
  158. package/components/table/TableRow.d.ts +15 -4
  159. package/components/table/TableRow.js +109 -2
  160. package/components/table/TableRow.js.map +1 -1
  161. package/components/table/TableSpacerRow.d.ts +3 -2
  162. package/components/table/TableSpacerRow.js +26 -2
  163. package/components/table/TableSpacerRow.js.map +1 -1
  164. package/components/table/TableToolbar.d.ts +4 -23
  165. package/components/table/TableToolbar.js +39 -28
  166. package/components/table/TableToolbar.js.map +1 -1
  167. package/components/table/TableToolbarColumn.d.ts +31 -0
  168. package/components/table/TableToolbarColumn.js +33 -0
  169. package/components/table/TableToolbarColumn.js.map +1 -0
  170. package/components/table/TableViewToggles.d.ts +3 -3
  171. package/components/table/TableViewToggles.js.map +1 -1
  172. package/components/table/context/TableInteractionContext.d.ts +26 -0
  173. package/components/table/context/TableInteractionContext.js +7 -0
  174. package/components/table/context/TableInteractionContext.js.map +1 -0
  175. package/components/table/context/TableLayoutContext.d.ts +26 -0
  176. package/components/table/context/TableLayoutContext.js +7 -0
  177. package/components/table/context/TableLayoutContext.js.map +1 -0
  178. package/components/table/context/TableRenderConfigContext.d.ts +27 -0
  179. package/components/table/context/TableRenderConfigContext.js +7 -0
  180. package/components/table/context/TableRenderConfigContext.js.map +1 -0
  181. package/components/table/context/TableRenderContext.d.ts +85 -0
  182. package/components/table/context/TableRenderContext.js +7 -0
  183. package/components/table/context/TableRenderContext.js.map +1 -0
  184. package/components/table/context/TableStructureContext.d.ts +31 -0
  185. package/components/table/context/TableStructureContext.js +17 -0
  186. package/components/table/context/TableStructureContext.js.map +1 -0
  187. package/components/table/layout/columnSizing.d.ts +2 -2
  188. package/components/table/layout/columnSizing.js.map +1 -1
  189. package/components/table/layout/useDraggableColumns.d.ts +3 -3
  190. package/components/table/layout/useDraggableColumns.js +17 -17
  191. package/components/table/layout/useDraggableColumns.js.map +1 -1
  192. package/components/table/layout/useHorizontalSectionSync.d.ts +4 -1
  193. package/components/table/layout/useHorizontalSectionSync.js +36 -31
  194. package/components/table/layout/useHorizontalSectionSync.js.map +1 -1
  195. package/components/table/layout/useMeasuredColumnMaxWidths.d.ts +3 -3
  196. package/components/table/layout/useMeasuredColumnMaxWidths.js.map +1 -1
  197. package/components/table/layout/useResizableColumns.d.ts +5 -4
  198. package/components/table/layout/useResizableColumns.js +108 -67
  199. package/components/table/layout/useResizableColumns.js.map +1 -1
  200. package/components/table/layout/useTableBodyScrollBottom.d.ts +12 -0
  201. package/components/table/layout/useTableBodyScrollBottom.js +37 -0
  202. package/components/table/layout/useTableBodyScrollBottom.js.map +1 -0
  203. package/components/table/layout/useTableLayout.d.ts +18 -6
  204. package/components/table/layout/useTableLayout.js +51 -41
  205. package/components/table/layout/useTableLayout.js.map +1 -1
  206. package/components/table/layout/useTableVirtualization.d.ts +6 -6
  207. package/components/table/layout/useTableVirtualization.js +22 -22
  208. package/components/table/layout/useTableVirtualization.js.map +1 -1
  209. package/components/table/model/resolveRowMeta.d.ts +3 -2
  210. package/components/table/model/resolveRowMeta.js.map +1 -1
  211. package/components/table/model/resolveTableClassConfig.d.ts +2 -3
  212. package/components/table/model/resolveTableClassConfig.js.map +1 -1
  213. package/components/table/model/tableView.types.d.ts +41 -0
  214. package/components/table/native/TableSettingsListItem.js +1 -1
  215. package/components/table/native/TableSettingsListItem.js.map +1 -1
  216. package/components/table/render/body/TableBodyContent.d.ts +21 -0
  217. package/components/table/render/body/TableBodyContent.js +52 -0
  218. package/components/table/render/body/TableBodyContent.js.map +1 -0
  219. package/components/table/render/body/TableEmptyRow.js +2 -2
  220. package/components/table/render/body/TableEmptyRow.js.map +1 -1
  221. package/components/table/render/header/TableBatchDropdown.d.ts +5 -1
  222. package/components/table/render/header/TableBatchDropdown.js +17 -15
  223. package/components/table/render/header/TableBatchDropdown.js.map +1 -1
  224. package/components/table/render/header/TableColumnFilter.d.ts +2 -2
  225. package/components/table/render/header/TableColumnFilter.js +16 -14
  226. package/components/table/render/header/TableColumnFilter.js.map +1 -1
  227. package/components/table/render/header/TableDraggableHeaderCell.d.ts +2 -1
  228. package/components/table/render/header/TableDraggableHeaderCell.js +45 -33
  229. package/components/table/render/header/TableDraggableHeaderCell.js.map +1 -1
  230. package/components/table/render/header/TableHeader.types.d.ts +13 -9
  231. package/components/table/render/header/TableHeaderCellContent.d.ts +2 -1
  232. package/components/table/render/header/TableHeaderCellContent.js +16 -16
  233. package/components/table/render/header/TableHeaderCellContent.js.map +1 -1
  234. package/components/table/render/header/TableHeaderCellResizeHandle.d.ts +2 -1
  235. package/components/table/render/header/TableHeaderCellResizeHandle.js +8 -8
  236. package/components/table/render/header/TableHeaderCellResizeHandle.js.map +1 -1
  237. package/components/table/render/header/TableHeaderDragOverlay.d.ts +5 -4
  238. package/components/table/render/header/TableHeaderDragOverlay.js.map +1 -1
  239. package/components/table/render/header/TableStaticHeaderCell.d.ts +2 -1
  240. package/components/table/render/header/TableStaticHeaderCell.js +34 -20
  241. package/components/table/render/header/TableStaticHeaderCell.js.map +1 -1
  242. package/components/table/render/header/resolveAriaSort.d.ts +2 -1
  243. package/components/table/render/header/resolveAriaSort.js.map +1 -1
  244. package/components/table/render/header/resolveHeaderCellClassName.d.ts +5 -2
  245. package/components/table/render/header/resolveHeaderCellClassName.js +14 -12
  246. package/components/table/render/header/resolveHeaderCellClassName.js.map +1 -1
  247. package/components/table/render/header/resolveHeaderCellStyle.d.ts +2 -1
  248. package/components/table/render/header/resolveHeaderCellStyle.js.map +1 -1
  249. package/components/table/runtime/shouldAnimateBodyRows.d.ts +17 -0
  250. package/components/table/runtime/shouldAnimateBodyRows.js +5 -0
  251. package/components/table/runtime/shouldAnimateBodyRows.js.map +1 -0
  252. package/components/table/runtime/useRenderDraftState.d.ts +14 -0
  253. package/components/table/runtime/useRenderDraftState.js +80 -0
  254. package/components/table/runtime/useRenderDraftState.js.map +1 -0
  255. package/components/table/runtime/useResolvedRenderColumns.d.ts +43 -0
  256. package/components/table/runtime/useResolvedRenderColumns.js +113 -0
  257. package/components/table/runtime/useResolvedRenderColumns.js.map +1 -0
  258. package/components/table/runtime/useResolvedRenderHeader.d.ts +27 -0
  259. package/components/table/runtime/useResolvedRenderHeader.js +67 -0
  260. package/components/table/runtime/useResolvedRenderHeader.js.map +1 -0
  261. package/components/table/selection/useInternalTableSelectionState.d.ts +17 -0
  262. package/components/table/selection/useInternalTableSelectionState.js +28 -0
  263. package/components/table/selection/useInternalTableSelectionState.js.map +1 -0
  264. package/components/table/selection/useTableSelection.d.ts +3 -3
  265. package/components/table/selection/useTableSelection.js.map +1 -1
  266. package/components/table/shared/getCellContentOverflowClassName.d.ts +3 -0
  267. package/components/table/shared/getCellContentOverflowClassName.js +18 -0
  268. package/components/table/shared/getCellContentOverflowClassName.js.map +1 -0
  269. package/components/table/shared/getInteractiveRowProps.d.ts +3 -2
  270. package/components/table/shared/getInteractiveRowProps.js.map +1 -1
  271. package/hooks/useDraggableElement.d.ts +27 -5
  272. package/hooks/useDraggableElement.js +100 -23
  273. package/hooks/useDraggableElement.js.map +1 -1
  274. package/hooks/usePopperDropdown.d.ts +1 -0
  275. package/hooks/usePopperDropdown.js +15 -12
  276. package/hooks/usePopperDropdown.js.map +1 -1
  277. package/hooks/useUrlState.js +3 -3
  278. package/package.json +16 -17
  279. package/utils/analytics/createAnalyticsOverlayTooltip.js +57 -57
  280. package/utils/analytics/createAnalyticsOverlayTooltip.js.map +1 -1
  281. package/utils/analytics/useAnalyticsOverlayDom.js +3 -3
  282. package/utils/init/initConfig.js +5 -5
  283. package/utils/init/initConfig.js.map +1 -1
  284. package/utils/routeUtils.d.ts +5 -2
  285. package/utils/routeUtils.js +17 -17
  286. package/utils/routeUtils.js.map +1 -1
  287. package/version.d.ts +1 -1
  288. package/version.js +1 -1
  289. package/version.js.map +1 -1
  290. package/components/table/TableCard.d.ts +0 -63
  291. package/components/table/TableCard.js +0 -150
  292. package/components/table/TableCard.js.map +0 -1
  293. package/components/table/model/buildTableViewModel.d.ts +0 -28
  294. package/components/table/model/buildTableViewModel.js +0 -221
  295. package/components/table/model/buildTableViewModel.js.map +0 -1
  296. package/components/table/model/resolveCellContent.d.ts +0 -2
  297. package/components/table/model/resolveCellContent.js +0 -5
  298. package/components/table/model/resolveCellContent.js.map +0 -1
  299. package/components/table/model/tableViewModel.types.d.ts +0 -153
  300. package/components/table/parse/parseBody.d.ts +0 -3
  301. package/components/table/parse/parseBody.js +0 -13
  302. package/components/table/parse/parseBody.js.map +0 -1
  303. package/components/table/parse/parseColumns.d.ts +0 -3
  304. package/components/table/parse/parseColumns.js +0 -81
  305. package/components/table/parse/parseColumns.js.map +0 -1
  306. package/components/table/parse/parseFooter.d.ts +0 -3
  307. package/components/table/parse/parseFooter.js +0 -39
  308. package/components/table/parse/parseFooter.js.map +0 -1
  309. package/components/table/parse/parseHeaders.d.ts +0 -4
  310. package/components/table/parse/parseHeaders.js +0 -89
  311. package/components/table/parse/parseHeaders.js.map +0 -1
  312. package/components/table/parse/parseRows.d.ts +0 -3
  313. package/components/table/parse/parseRows.js +0 -93
  314. package/components/table/parse/parseRows.js.map +0 -1
  315. package/components/table/parse/tableChildGuards.d.ts +0 -25
  316. package/components/table/parse/tableChildGuards.js +0 -29
  317. package/components/table/parse/tableChildGuards.js.map +0 -1
  318. package/components/table/render/body/TableBodyRow.d.ts +0 -16
  319. package/components/table/render/body/TableBodyRow.js +0 -84
  320. package/components/table/render/body/TableBodyRow.js.map +0 -1
  321. package/components/table/render/body/TableBodySection.d.ts +0 -20
  322. package/components/table/render/body/TableBodySection.js +0 -68
  323. package/components/table/render/body/TableBodySection.js.map +0 -1
  324. package/components/table/render/body/TableDataRow.d.ts +0 -15
  325. package/components/table/render/body/TableDataRow.js +0 -143
  326. package/components/table/render/body/TableDataRow.js.map +0 -1
  327. package/components/table/render/body/TableExpandedRow.d.ts +0 -8
  328. package/components/table/render/body/TableExpandedRow.js +0 -84
  329. package/components/table/render/body/TableExpandedRow.js.map +0 -1
  330. package/components/table/render/body/TableGroupRow.d.ts +0 -8
  331. package/components/table/render/body/TableGroupRow.js +0 -21
  332. package/components/table/render/body/TableGroupRow.js.map +0 -1
  333. package/components/table/render/body/TableSpacerRow.d.ts +0 -7
  334. package/components/table/render/body/TableSpacerRow.js +0 -15
  335. package/components/table/render/body/TableSpacerRow.js.map +0 -1
  336. package/components/table/render/footer/TableFooterCell.d.ts +0 -8
  337. package/components/table/render/footer/TableFooterCell.js +0 -31
  338. package/components/table/render/footer/TableFooterCell.js.map +0 -1
  339. package/components/table/render/footer/TableFooterSection.d.ts +0 -10
  340. package/components/table/render/footer/TableFooterSection.js +0 -28
  341. package/components/table/render/footer/TableFooterSection.js.map +0 -1
  342. package/components/table/render/header/TableHeaderSection.d.ts +0 -3
  343. package/components/table/render/header/TableHeaderSection.js +0 -104
  344. package/components/table/render/header/TableHeaderSection.js.map +0 -1
@@ -0,0 +1,517 @@
1
+ import { FocusEventHandler, InputHTMLAttributes, ReactNode } from 'react';
2
+ import { DateRange as ReactDayPickerDateRange } from 'react-day-picker';
3
+ import { RioglyphIconType } from '../rioglyph/RioglyphIconType';
4
+ export type DateRange = ReactDayPickerDateRange;
5
+ export type Modifiers = Record<string, boolean>;
6
+ export type DayPickerMode = 'single' | 'multiple' | 'range';
7
+ export type DayPickerSelection = Date | Date[] | DateRange | undefined;
8
+ export type DayPickerRangeSelectionVariant = 'default' | 'week' | 'month' | 'rolling';
9
+ export type DayPickerDateBefore = {
10
+ before: Date;
11
+ };
12
+ export type DayPickerDateAfter = {
13
+ after: Date;
14
+ };
15
+ export type DayPickerDateInterval = {
16
+ before: Date;
17
+ after: Date;
18
+ };
19
+ export type DayPickerDayOfWeek = {
20
+ dayOfWeek: number | number[];
21
+ };
22
+ export type DayPickerDateMatcher = boolean | Date | Date[] | DateRange | DayPickerDateBefore | DayPickerDateAfter | DayPickerDateInterval | DayPickerDayOfWeek | ((date: Date) => boolean);
23
+ export type DayPickerDisabledDays = DayPickerDateMatcher | DayPickerDateMatcher[];
24
+ export type DayPickerHiddenDays = DayPickerDateMatcher | DayPickerDateMatcher[];
25
+ export type DayPickerCustomModifiers = Record<string, DayPickerDateMatcher | DayPickerDateMatcher[]>;
26
+ type CommonCalendarProps = {
27
+ /**
28
+ * Locale used for calendar labels and default input formatting.
29
+ *
30
+ * @default 'en-GB'
31
+ */
32
+ locale?: string;
33
+ /**
34
+ * Optional size variant for the rendered calendar density.
35
+ *
36
+ * Changes the size and spacing of the individual day cells instead of the outer wrapper.
37
+ *
38
+ * @default 'md'
39
+ */
40
+ size?: 'sm' | 'md' | 'lg';
41
+ /**
42
+ * Additional classes for the calendar root element.
43
+ */
44
+ className?: string;
45
+ /**
46
+ * Number of visible calendar months.
47
+ *
48
+ * @default 1
49
+ */
50
+ numberOfMonths?: 1 | 2;
51
+ /**
52
+ * Shows the days from adjacent months inside the current month grid.
53
+ *
54
+ * @default true
55
+ */
56
+ showOutsideDays?: boolean;
57
+ /**
58
+ * Keeps the calendar height stable by always rendering full weeks.
59
+ *
60
+ * @default true
61
+ */
62
+ fixedWeeks?: boolean;
63
+ /**
64
+ * Shows the calendar week number column.
65
+ *
66
+ * @default false
67
+ */
68
+ showWeekNumber?: boolean;
69
+ /**
70
+ * Overrides the first day of the week.
71
+ *
72
+ * `0` is Sunday, `1` is Monday, up to `6` for Saturday.
73
+ */
74
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6;
75
+ /**
76
+ * Initial month shown when the calendar is first rendered.
77
+ */
78
+ defaultMonth?: Date;
79
+ /**
80
+ * Controlled currently visible month.
81
+ */
82
+ month?: Date;
83
+ /**
84
+ * Called when the visible month changes.
85
+ */
86
+ onMonthChange?: (month: Date) => void;
87
+ /**
88
+ * Lower month boundary for month navigation.
89
+ */
90
+ startMonth?: Date;
91
+ /**
92
+ * Upper month boundary for month navigation.
93
+ */
94
+ endMonth?: Date;
95
+ /**
96
+ * Days that cannot be selected.
97
+ */
98
+ disabledDays?: DayPickerDisabledDays;
99
+ /**
100
+ * Days that should not be rendered in the calendar grid.
101
+ */
102
+ hiddenDays?: DayPickerHiddenDays;
103
+ /**
104
+ * Custom day modifiers forwarded to the underlying calendar.
105
+ */
106
+ modifiers?: DayPickerCustomModifiers;
107
+ /**
108
+ * Additional CSS classes attached to custom modifiers.
109
+ */
110
+ modifiersClassNames?: Record<string, string>;
111
+ /**
112
+ * Renders optional custom content inside a day cell.
113
+ *
114
+ * Useful for icons, dots, tooltips or other domain-specific markers.
115
+ */
116
+ renderDayContent?: (date: Date, modifiers: Modifiers) => ReactNode;
117
+ };
118
+ export type SingleDayPickerCalendarProps = CommonCalendarProps & {
119
+ /**
120
+ * Enables single-date selection.
121
+ *
122
+ * @default 'single'
123
+ */
124
+ mode?: 'single';
125
+ /**
126
+ * Controlled single selected date.
127
+ */
128
+ value?: Date;
129
+ /**
130
+ * Initial single selected date for uncontrolled usage.
131
+ */
132
+ defaultValue?: Date;
133
+ /**
134
+ * Called when the selected date changes.
135
+ */
136
+ onChange?: (value: Date | undefined, modifiers: Modifiers) => void;
137
+ };
138
+ export type MultipleDayPickerCalendarProps = CommonCalendarProps & {
139
+ /**
140
+ * Enables multiple independent date selection.
141
+ */
142
+ mode: 'multiple';
143
+ /**
144
+ * Controlled list of selected dates.
145
+ */
146
+ value?: Date[];
147
+ /**
148
+ * Initial selected dates for uncontrolled usage.
149
+ */
150
+ defaultValue?: Date[];
151
+ /**
152
+ * Called when the selected dates change.
153
+ */
154
+ onChange?: (value: Date[] | undefined, modifiers: Modifiers) => void;
155
+ };
156
+ export type RangeDayPickerCalendarProps = CommonCalendarProps & {
157
+ /**
158
+ * Enables date-range selection.
159
+ */
160
+ mode: 'range';
161
+ /**
162
+ * Controlled selected date range.
163
+ */
164
+ value?: DateRange;
165
+ /**
166
+ * Initial selected date range for uncontrolled usage.
167
+ */
168
+ defaultValue?: DateRange;
169
+ /**
170
+ * Called when the selected range changes.
171
+ */
172
+ onChange?: (value: DateRange | undefined, modifiers: Modifiers) => void;
173
+ /**
174
+ * Selects how a range is created when clicking a day.
175
+ *
176
+ * `default` uses the built-in range behavior.
177
+ * `week` selects the whole week of the clicked day.
178
+ * `month` selects the whole month of the clicked day.
179
+ * `rolling` selects a fixed-length range starting at the clicked day.
180
+ *
181
+ * @default 'default'
182
+ */
183
+ selectionVariant?: 'default' | 'week' | 'month' | 'rolling';
184
+ /**
185
+ * Fixed number of days used when `selectionVariant='rolling'`.
186
+ *
187
+ * @default 7
188
+ */
189
+ rollingDays?: number;
190
+ };
191
+ export type DayPickerCalendarProps = SingleDayPickerCalendarProps | MultipleDayPickerCalendarProps | RangeDayPickerCalendarProps;
192
+ export type DayPickerSlotRenderProps<TValue> = {
193
+ /**
194
+ * Currently committed value of the picker.
195
+ */
196
+ value: TValue | undefined;
197
+ /**
198
+ * Current draft value while the dropdown is open.
199
+ *
200
+ * In deferred mode, this can differ from `value` until `apply()` is called.
201
+ */
202
+ draftValue: TValue | undefined;
203
+ /**
204
+ * Updates the current draft value from custom slot content.
205
+ */
206
+ setDraftValue: (value: TValue | undefined) => void;
207
+ /**
208
+ * Commits the current draft value and closes the dropdown.
209
+ */
210
+ apply: () => void;
211
+ /**
212
+ * Clears the current selection.
213
+ */
214
+ clear: () => void;
215
+ /**
216
+ * Closes the dropdown without necessarily committing the current draft value.
217
+ */
218
+ close: () => void;
219
+ /**
220
+ * Active selection mode of the picker.
221
+ */
222
+ mode: DayPickerMode;
223
+ /**
224
+ * Active locale used for formatting and calendar labels.
225
+ */
226
+ locale: string;
227
+ };
228
+ export type DayPickerTriggerRenderProps<TValue> = DayPickerSlotRenderProps<TValue> & {
229
+ /**
230
+ * Optional id forwarded from the DayPicker props.
231
+ */
232
+ id?: string;
233
+ /**
234
+ * Optional form field name forwarded from the DayPicker props.
235
+ */
236
+ name?: string;
237
+ /**
238
+ * String currently shown by the default trigger input.
239
+ */
240
+ displayValue: string;
241
+ /**
242
+ * Whether the dropdown is currently open.
243
+ */
244
+ isOpen: boolean;
245
+ /**
246
+ * Opens the dropdown.
247
+ */
248
+ open: () => void;
249
+ /**
250
+ * Toggles the dropdown open state.
251
+ */
252
+ toggle: () => void;
253
+ };
254
+ type CommonDayPickerProps = Omit<CommonCalendarProps, 'size'> & {
255
+ /**
256
+ * Optional id forwarded to the default input trigger.
257
+ */
258
+ id?: string;
259
+ /**
260
+ * Optional form field name forwarded to the default input trigger.
261
+ */
262
+ name?: string;
263
+ /**
264
+ * Placeholder text shown in the default input trigger.
265
+ */
266
+ placeholder?: string;
267
+ /**
268
+ * Rioglyph icon shown in the default input trigger addon.
269
+ *
270
+ * @default 'rioglyph-calendar'
271
+ */
272
+ iconName?: RioglyphIconType;
273
+ /**
274
+ * Custom format string (e.g., 'yyyy-MM-dd') to override locale-based formatting.
275
+ * If omitted, locale-based display is used for the input.
276
+ */
277
+ dateFormat?: string;
278
+ /**
279
+ * Called when the internal input loses focus.
280
+ */
281
+ onBlur?: FocusEventHandler<HTMLInputElement>;
282
+ /**
283
+ * Additional props forwarded to the default input element.
284
+ *
285
+ * Useful for attributes like `readOnly`, `disabled`, `required`, `autoFocus`, or custom ARIA labels.
286
+ */
287
+ inputProps?: Omit<InputHTMLAttributes<HTMLInputElement>, 'children' | 'value' | 'defaultValue' | 'onChange' | 'size'>;
288
+ /**
289
+ * Shows the built-in error styling and help block below the input.
290
+ */
291
+ errorMessage?: string | ReactNode;
292
+ /**
293
+ * Shows the built-in warning styling and help block below the input.
294
+ */
295
+ warningMessage?: string | ReactNode;
296
+ /**
297
+ * Controls white-space handling inside the built-in help block.
298
+ *
299
+ * @default 'normal'
300
+ */
301
+ messageWhiteSpace?: 'normal' | 'nowrap' | 'pre-line';
302
+ /**
303
+ * Additional classes for the text input element.
304
+ */
305
+ inputClassName?: string;
306
+ /**
307
+ * Additional classes for the dropdown container.
308
+ */
309
+ dropdownClassName?: string;
310
+ /**
311
+ * Additional classes for the left sidebar container.
312
+ */
313
+ leftSidebarClassName?: string;
314
+ /**
315
+ * Additional classes for the right sidebar container.
316
+ */
317
+ rightSidebarClassName?: string;
318
+ /**
319
+ * Additional classes for the footer container.
320
+ */
321
+ footerClassName?: string;
322
+ /**
323
+ * Renders the dropdown into a dedicated react portal.
324
+ *
325
+ * @default false
326
+ */
327
+ usePortal?: boolean;
328
+ /**
329
+ * Aligns the dropdown to the right edge of the input.
330
+ *
331
+ * @default false
332
+ */
333
+ alignRight?: boolean;
334
+ /**
335
+ * Shows a clear button inside the input.
336
+ *
337
+ * @default false
338
+ */
339
+ isClearable?: boolean;
340
+ /**
341
+ * Closes the dropdown after selecting a complete value.
342
+ *
343
+ * Range mode closes only after both dates are selected.
344
+ *
345
+ * @default true for `selectionBehavior='immediate'`, otherwise false
346
+ */
347
+ closeOnSelect?: boolean;
348
+ /**
349
+ * Closes the dropdown when clicking outside of the trigger and dropdown.
350
+ *
351
+ * @default true
352
+ */
353
+ closeOnOutsideClick?: boolean;
354
+ /**
355
+ * Defines whether the value is committed immediately or only when applied explicitly.
356
+ *
357
+ * @default 'immediate'
358
+ */
359
+ selectionBehavior?: 'immediate' | 'deferred';
360
+ };
361
+ /**
362
+ * Props for a `DayPicker` with single-date selection.
363
+ */
364
+ export type SingleDayPickerProps = CommonDayPickerProps & {
365
+ /**
366
+ * Enables single-date selection.
367
+ *
368
+ * @default 'single'
369
+ */
370
+ mode?: 'single';
371
+ /**
372
+ * Controlled single selected date.
373
+ */
374
+ value?: Date;
375
+ /**
376
+ * Initial single selected date for uncontrolled usage.
377
+ */
378
+ defaultValue?: Date;
379
+ /**
380
+ * Called when the selected date changes.
381
+ */
382
+ onChange?: (value: Date | undefined, modifiers: Modifiers) => void;
383
+ /**
384
+ * Called whenever the user changes the raw input value.
385
+ * Useful for custom validation and form-library integration.
386
+ */
387
+ onInputChange?: (rawValue: string, parsedDate: Date | undefined, isValid: boolean) => void;
388
+ /**
389
+ * Custom parser for manual single-date input.
390
+ * Overrides the built-in locale/dateFormat parsing.
391
+ */
392
+ parseInput?: (rawValue: string, locale: string) => Date | undefined;
393
+ /**
394
+ * Custom renderer for the value shown in the input.
395
+ */
396
+ renderValue?: (value: Date | undefined, locale: string) => string;
397
+ /**
398
+ * Replaces the default input trigger with custom trigger content.
399
+ */
400
+ trigger?: ReactNode | ((props: DayPickerTriggerRenderProps<Date>) => ReactNode);
401
+ /**
402
+ * Optional content rendered on the left side of the dropdown.
403
+ */
404
+ leftSidebar?: ReactNode | ((props: DayPickerSlotRenderProps<Date>) => ReactNode);
405
+ /**
406
+ * Optional content rendered on the right side of the dropdown.
407
+ */
408
+ rightSidebar?: ReactNode | ((props: DayPickerSlotRenderProps<Date>) => ReactNode);
409
+ /**
410
+ * Optional content rendered below the calendar inside the dropdown.
411
+ */
412
+ footer?: ReactNode | ((props: DayPickerSlotRenderProps<Date>) => ReactNode);
413
+ };
414
+ /**
415
+ * Props for a `DayPicker` with multiple independent dates.
416
+ */
417
+ export type MultipleDayPickerProps = CommonDayPickerProps & {
418
+ /**
419
+ * Enables multiple independent date selection.
420
+ */
421
+ mode: 'multiple';
422
+ /**
423
+ * Controlled list of selected dates.
424
+ */
425
+ value?: Date[];
426
+ /**
427
+ * Initial selected dates for uncontrolled usage.
428
+ */
429
+ defaultValue?: Date[];
430
+ /**
431
+ * Called when the selected dates change.
432
+ */
433
+ onChange?: (value: Date[] | undefined, modifiers: Modifiers) => void;
434
+ /**
435
+ * Custom renderer for the value shown in the input.
436
+ */
437
+ renderValue?: (value: Date[] | undefined, locale: string) => string;
438
+ /**
439
+ * Replaces the default input trigger with custom trigger content.
440
+ */
441
+ trigger?: ReactNode | ((props: DayPickerTriggerRenderProps<Date[]>) => ReactNode);
442
+ /**
443
+ * Optional content rendered on the left side of the dropdown.
444
+ */
445
+ leftSidebar?: ReactNode | ((props: DayPickerSlotRenderProps<Date[]>) => ReactNode);
446
+ /**
447
+ * Optional content rendered on the right side of the dropdown.
448
+ */
449
+ rightSidebar?: ReactNode | ((props: DayPickerSlotRenderProps<Date[]>) => ReactNode);
450
+ /**
451
+ * Optional content rendered below the calendar inside the dropdown.
452
+ */
453
+ footer?: ReactNode | ((props: DayPickerSlotRenderProps<Date[]>) => ReactNode);
454
+ };
455
+ /**
456
+ * Props for a `DayPicker` with date-range selection.
457
+ */
458
+ export type RangeDayPickerProps = CommonDayPickerProps & {
459
+ /**
460
+ * Enables date-range selection.
461
+ */
462
+ mode: 'range';
463
+ /**
464
+ * Controlled selected date range.
465
+ */
466
+ value?: DateRange;
467
+ /**
468
+ * Initial selected date range for uncontrolled usage.
469
+ */
470
+ defaultValue?: DateRange;
471
+ /**
472
+ * Called when the selected range changes.
473
+ */
474
+ onChange?: (value: DateRange | undefined, modifiers: Modifiers) => void;
475
+ /**
476
+ * Custom renderer for the value shown in the input.
477
+ */
478
+ renderValue?: (value: DateRange | undefined, locale: string) => string;
479
+ /**
480
+ * Selects how a range is created when clicking a day.
481
+ *
482
+ * `default` uses the built-in range behavior.
483
+ * `week` selects the whole week of the clicked day.
484
+ * `month` selects the whole month of the clicked day.
485
+ * `rolling` selects a fixed-length range starting at the clicked day.
486
+ *
487
+ * @default 'default'
488
+ */
489
+ selectionVariant?: 'default' | 'week' | 'month' | 'rolling';
490
+ /**
491
+ * Fixed number of days used when `selectionVariant='rolling'`.
492
+ *
493
+ * @default 7
494
+ */
495
+ rollingDays?: number;
496
+ /**
497
+ * Replaces the default input trigger with custom trigger content.
498
+ */
499
+ trigger?: ReactNode | ((props: DayPickerTriggerRenderProps<DateRange>) => ReactNode);
500
+ /**
501
+ * Optional content rendered on the left side of the dropdown.
502
+ */
503
+ leftSidebar?: ReactNode | ((props: DayPickerSlotRenderProps<DateRange>) => ReactNode);
504
+ /**
505
+ * Optional content rendered on the right side of the dropdown.
506
+ */
507
+ rightSidebar?: ReactNode | ((props: DayPickerSlotRenderProps<DateRange>) => ReactNode);
508
+ /**
509
+ * Optional content rendered below the calendar inside the dropdown.
510
+ */
511
+ footer?: ReactNode | ((props: DayPickerSlotRenderProps<DateRange>) => ReactNode);
512
+ };
513
+ export type DayPickerProps = SingleDayPickerProps | MultipleDayPickerProps | RangeDayPickerProps;
514
+ export declare const isSingleDayPickerProps: (props: DayPickerProps | DayPickerCalendarProps) => props is SingleDayPickerProps | SingleDayPickerCalendarProps;
515
+ export declare const isMultipleDayPickerProps: (props: DayPickerProps | DayPickerCalendarProps) => props is MultipleDayPickerProps | MultipleDayPickerCalendarProps;
516
+ export declare const isRangeDayPickerProps: (props: DayPickerProps | DayPickerCalendarProps) => props is RangeDayPickerProps | RangeDayPickerCalendarProps;
517
+ export {};
@@ -0,0 +1,7 @@
1
+ const i = (e) => !e.mode || e.mode === "single", o = (e) => e.mode === "multiple", s = (e) => e.mode === "range";
2
+ export {
3
+ o as isMultipleDayPickerProps,
4
+ s as isRangeDayPickerProps,
5
+ i as isSingleDayPickerProps
6
+ };
7
+ //# sourceMappingURL=dayPickerTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dayPickerTypes.js","sources":["../../../src/components/datepicker/dayPickerTypes.ts"],"sourcesContent":["import type { FocusEventHandler, InputHTMLAttributes, ReactNode } from 'react';\nimport type { DateRange as ReactDayPickerDateRange } from 'react-day-picker';\nimport type { RioglyphIconType } from '../rioglyph/RioglyphIconType';\n\nexport type DateRange = ReactDayPickerDateRange;\nexport type Modifiers = Record<string, boolean>;\nexport type DayPickerMode = 'single' | 'multiple' | 'range';\nexport type DayPickerSelection = Date | Date[] | DateRange | undefined;\nexport type DayPickerRangeSelectionVariant = 'default' | 'week' | 'month' | 'rolling';\nexport type DayPickerDateBefore = { before: Date };\nexport type DayPickerDateAfter = { after: Date };\nexport type DayPickerDateInterval = { before: Date; after: Date };\nexport type DayPickerDayOfWeek = { dayOfWeek: number | number[] };\nexport type DayPickerDateMatcher =\n | boolean\n | Date\n | Date[]\n | DateRange\n | DayPickerDateBefore\n | DayPickerDateAfter\n | DayPickerDateInterval\n | DayPickerDayOfWeek\n | ((date: Date) => boolean);\nexport type DayPickerDisabledDays = DayPickerDateMatcher | DayPickerDateMatcher[];\nexport type DayPickerHiddenDays = DayPickerDateMatcher | DayPickerDateMatcher[];\nexport type DayPickerCustomModifiers = Record<string, DayPickerDateMatcher | DayPickerDateMatcher[]>;\n\ntype CommonCalendarProps = {\n /**\n * Locale used for calendar labels and default input formatting.\n *\n * @default 'en-GB'\n */\n locale?: string;\n\n /**\n * Optional size variant for the rendered calendar density.\n *\n * Changes the size and spacing of the individual day cells instead of the outer wrapper.\n *\n * @default 'md'\n */\n size?: 'sm' | 'md' | 'lg';\n\n /**\n * Additional classes for the calendar root element.\n */\n className?: string;\n\n /**\n * Number of visible calendar months.\n *\n * @default 1\n */\n numberOfMonths?: 1 | 2;\n\n /**\n * Shows the days from adjacent months inside the current month grid.\n *\n * @default true\n */\n showOutsideDays?: boolean;\n\n /**\n * Keeps the calendar height stable by always rendering full weeks.\n *\n * @default true\n */\n fixedWeeks?: boolean;\n\n /**\n * Shows the calendar week number column.\n *\n * @default false\n */\n showWeekNumber?: boolean;\n\n /**\n * Overrides the first day of the week.\n *\n * `0` is Sunday, `1` is Monday, up to `6` for Saturday.\n */\n weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6;\n\n /**\n * Initial month shown when the calendar is first rendered.\n */\n defaultMonth?: Date;\n\n /**\n * Controlled currently visible month.\n */\n month?: Date;\n\n /**\n * Called when the visible month changes.\n */\n onMonthChange?: (month: Date) => void;\n\n /**\n * Lower month boundary for month navigation.\n */\n startMonth?: Date;\n\n /**\n * Upper month boundary for month navigation.\n */\n endMonth?: Date;\n\n /**\n * Days that cannot be selected.\n */\n disabledDays?: DayPickerDisabledDays;\n\n /**\n * Days that should not be rendered in the calendar grid.\n */\n hiddenDays?: DayPickerHiddenDays;\n\n /**\n * Custom day modifiers forwarded to the underlying calendar.\n */\n modifiers?: DayPickerCustomModifiers;\n\n /**\n * Additional CSS classes attached to custom modifiers.\n */\n modifiersClassNames?: Record<string, string>;\n\n /**\n * Renders optional custom content inside a day cell.\n *\n * Useful for icons, dots, tooltips or other domain-specific markers.\n */\n renderDayContent?: (date: Date, modifiers: Modifiers) => ReactNode;\n};\n\nexport type SingleDayPickerCalendarProps = CommonCalendarProps & {\n /**\n * Enables single-date selection.\n *\n * @default 'single'\n */\n mode?: 'single';\n\n /**\n * Controlled single selected date.\n */\n value?: Date;\n\n /**\n * Initial single selected date for uncontrolled usage.\n */\n defaultValue?: Date;\n\n /**\n * Called when the selected date changes.\n */\n onChange?: (value: Date | undefined, modifiers: Modifiers) => void;\n};\n\nexport type MultipleDayPickerCalendarProps = CommonCalendarProps & {\n /**\n * Enables multiple independent date selection.\n */\n mode: 'multiple';\n\n /**\n * Controlled list of selected dates.\n */\n value?: Date[];\n\n /**\n * Initial selected dates for uncontrolled usage.\n */\n defaultValue?: Date[];\n\n /**\n * Called when the selected dates change.\n */\n onChange?: (value: Date[] | undefined, modifiers: Modifiers) => void;\n};\n\nexport type RangeDayPickerCalendarProps = CommonCalendarProps & {\n /**\n * Enables date-range selection.\n */\n mode: 'range';\n\n /**\n * Controlled selected date range.\n */\n value?: DateRange;\n\n /**\n * Initial selected date range for uncontrolled usage.\n */\n defaultValue?: DateRange;\n\n /**\n * Called when the selected range changes.\n */\n onChange?: (value: DateRange | undefined, modifiers: Modifiers) => void;\n\n /**\n * Selects how a range is created when clicking a day.\n *\n * `default` uses the built-in range behavior.\n * `week` selects the whole week of the clicked day.\n * `month` selects the whole month of the clicked day.\n * `rolling` selects a fixed-length range starting at the clicked day.\n *\n * @default 'default'\n */\n selectionVariant?: 'default' | 'week' | 'month' | 'rolling';\n\n /**\n * Fixed number of days used when `selectionVariant='rolling'`.\n *\n * @default 7\n */\n rollingDays?: number;\n};\n\nexport type DayPickerCalendarProps =\n | SingleDayPickerCalendarProps\n | MultipleDayPickerCalendarProps\n | RangeDayPickerCalendarProps;\n\nexport type DayPickerSlotRenderProps<TValue> = {\n /**\n * Currently committed value of the picker.\n */\n value: TValue | undefined;\n\n /**\n * Current draft value while the dropdown is open.\n *\n * In deferred mode, this can differ from `value` until `apply()` is called.\n */\n draftValue: TValue | undefined;\n\n /**\n * Updates the current draft value from custom slot content.\n */\n setDraftValue: (value: TValue | undefined) => void;\n\n /**\n * Commits the current draft value and closes the dropdown.\n */\n apply: () => void;\n\n /**\n * Clears the current selection.\n */\n clear: () => void;\n\n /**\n * Closes the dropdown without necessarily committing the current draft value.\n */\n close: () => void;\n\n /**\n * Active selection mode of the picker.\n */\n mode: DayPickerMode;\n\n /**\n * Active locale used for formatting and calendar labels.\n */\n locale: string;\n};\n\nexport type DayPickerTriggerRenderProps<TValue> = DayPickerSlotRenderProps<TValue> & {\n /**\n * Optional id forwarded from the DayPicker props.\n */\n id?: string;\n\n /**\n * Optional form field name forwarded from the DayPicker props.\n */\n name?: string;\n\n /**\n * String currently shown by the default trigger input.\n */\n displayValue: string;\n\n /**\n * Whether the dropdown is currently open.\n */\n isOpen: boolean;\n\n /**\n * Opens the dropdown.\n */\n open: () => void;\n\n /**\n * Toggles the dropdown open state.\n */\n toggle: () => void;\n};\n\ntype CommonDayPickerProps = Omit<CommonCalendarProps, 'size'> & {\n /**\n * Optional id forwarded to the default input trigger.\n */\n id?: string;\n\n /**\n * Optional form field name forwarded to the default input trigger.\n */\n name?: string;\n\n /**\n * Placeholder text shown in the default input trigger.\n */\n placeholder?: string;\n\n /**\n * Rioglyph icon shown in the default input trigger addon.\n *\n * @default 'rioglyph-calendar'\n */\n iconName?: RioglyphIconType;\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 /**\n * Called when the internal input loses focus.\n */\n onBlur?: FocusEventHandler<HTMLInputElement>;\n\n /**\n * Additional props forwarded to the default input element.\n *\n * Useful for attributes like `readOnly`, `disabled`, `required`, `autoFocus`, or custom ARIA labels.\n */\n inputProps?: Omit<\n InputHTMLAttributes<HTMLInputElement>,\n 'children' | 'value' | 'defaultValue' | 'onChange' | 'size'\n >;\n\n /**\n * Shows the built-in error styling and help block below the input.\n */\n errorMessage?: string | ReactNode;\n\n /**\n * Shows the built-in warning styling and help block below the input.\n */\n warningMessage?: string | ReactNode;\n\n /**\n * Controls white-space handling inside the built-in help block.\n *\n * @default 'normal'\n */\n messageWhiteSpace?: 'normal' | 'nowrap' | 'pre-line';\n\n /**\n * Additional classes for the text input element.\n */\n inputClassName?: string;\n\n /**\n * Additional classes for the dropdown container.\n */\n dropdownClassName?: string;\n\n /**\n * Additional classes for the left sidebar container.\n */\n leftSidebarClassName?: string;\n\n /**\n * Additional classes for the right sidebar container.\n */\n rightSidebarClassName?: string;\n\n /**\n * Additional classes for the footer container.\n */\n footerClassName?: string;\n\n /**\n * Renders the dropdown into a dedicated react portal.\n *\n * @default false\n */\n usePortal?: boolean;\n\n /**\n * Aligns the dropdown to the right edge of the input.\n *\n * @default false\n */\n alignRight?: boolean;\n\n /**\n * Shows a clear button inside the input.\n *\n * @default false\n */\n isClearable?: boolean;\n\n /**\n * Closes the dropdown after selecting a complete value.\n *\n * Range mode closes only after both dates are selected.\n *\n * @default true for `selectionBehavior='immediate'`, otherwise false\n */\n closeOnSelect?: boolean;\n\n /**\n * Closes the dropdown when clicking outside of the trigger and dropdown.\n *\n * @default true\n */\n closeOnOutsideClick?: boolean;\n\n /**\n * Defines whether the value is committed immediately or only when applied explicitly.\n *\n * @default 'immediate'\n */\n selectionBehavior?: 'immediate' | 'deferred';\n};\n\n/**\n * Props for a `DayPicker` with single-date selection.\n */\nexport type SingleDayPickerProps = CommonDayPickerProps & {\n /**\n * Enables single-date selection.\n *\n * @default 'single'\n */\n mode?: 'single';\n\n /**\n * Controlled single selected date.\n */\n value?: Date;\n\n /**\n * Initial single selected date for uncontrolled usage.\n */\n defaultValue?: Date;\n\n /**\n * Called when the selected date changes.\n */\n onChange?: (value: Date | undefined, modifiers: Modifiers) => void;\n\n /**\n * Called whenever the user changes the raw input value.\n * Useful for custom validation and form-library integration.\n */\n onInputChange?: (rawValue: string, parsedDate: Date | undefined, isValid: boolean) => void;\n\n /**\n * Custom parser for manual single-date input.\n * Overrides the built-in locale/dateFormat parsing.\n */\n parseInput?: (rawValue: string, locale: string) => Date | undefined;\n\n /**\n * Custom renderer for the value shown in the input.\n */\n renderValue?: (value: Date | undefined, locale: string) => string;\n\n /**\n * Replaces the default input trigger with custom trigger content.\n */\n trigger?: ReactNode | ((props: DayPickerTriggerRenderProps<Date>) => ReactNode);\n\n /**\n * Optional content rendered on the left side of the dropdown.\n */\n leftSidebar?: ReactNode | ((props: DayPickerSlotRenderProps<Date>) => ReactNode);\n\n /**\n * Optional content rendered on the right side of the dropdown.\n */\n rightSidebar?: ReactNode | ((props: DayPickerSlotRenderProps<Date>) => ReactNode);\n\n /**\n * Optional content rendered below the calendar inside the dropdown.\n */\n footer?: ReactNode | ((props: DayPickerSlotRenderProps<Date>) => ReactNode);\n};\n\n/**\n * Props for a `DayPicker` with multiple independent dates.\n */\nexport type MultipleDayPickerProps = CommonDayPickerProps & {\n /**\n * Enables multiple independent date selection.\n */\n mode: 'multiple';\n\n /**\n * Controlled list of selected dates.\n */\n value?: Date[];\n\n /**\n * Initial selected dates for uncontrolled usage.\n */\n defaultValue?: Date[];\n\n /**\n * Called when the selected dates change.\n */\n onChange?: (value: Date[] | undefined, modifiers: Modifiers) => void;\n\n /**\n * Custom renderer for the value shown in the input.\n */\n renderValue?: (value: Date[] | undefined, locale: string) => string;\n\n /**\n * Replaces the default input trigger with custom trigger content.\n */\n trigger?: ReactNode | ((props: DayPickerTriggerRenderProps<Date[]>) => ReactNode);\n\n /**\n * Optional content rendered on the left side of the dropdown.\n */\n leftSidebar?: ReactNode | ((props: DayPickerSlotRenderProps<Date[]>) => ReactNode);\n\n /**\n * Optional content rendered on the right side of the dropdown.\n */\n rightSidebar?: ReactNode | ((props: DayPickerSlotRenderProps<Date[]>) => ReactNode);\n\n /**\n * Optional content rendered below the calendar inside the dropdown.\n */\n footer?: ReactNode | ((props: DayPickerSlotRenderProps<Date[]>) => ReactNode);\n};\n\n/**\n * Props for a `DayPicker` with date-range selection.\n */\nexport type RangeDayPickerProps = CommonDayPickerProps & {\n /**\n * Enables date-range selection.\n */\n mode: 'range';\n\n /**\n * Controlled selected date range.\n */\n value?: DateRange;\n\n /**\n * Initial selected date range for uncontrolled usage.\n */\n defaultValue?: DateRange;\n\n /**\n * Called when the selected range changes.\n */\n onChange?: (value: DateRange | undefined, modifiers: Modifiers) => void;\n\n /**\n * Custom renderer for the value shown in the input.\n */\n renderValue?: (value: DateRange | undefined, locale: string) => string;\n\n /**\n * Selects how a range is created when clicking a day.\n *\n * `default` uses the built-in range behavior.\n * `week` selects the whole week of the clicked day.\n * `month` selects the whole month of the clicked day.\n * `rolling` selects a fixed-length range starting at the clicked day.\n *\n * @default 'default'\n */\n selectionVariant?: 'default' | 'week' | 'month' | 'rolling';\n\n /**\n * Fixed number of days used when `selectionVariant='rolling'`.\n *\n * @default 7\n */\n rollingDays?: number;\n\n /**\n * Replaces the default input trigger with custom trigger content.\n */\n trigger?: ReactNode | ((props: DayPickerTriggerRenderProps<DateRange>) => ReactNode);\n\n /**\n * Optional content rendered on the left side of the dropdown.\n */\n leftSidebar?: ReactNode | ((props: DayPickerSlotRenderProps<DateRange>) => ReactNode);\n\n /**\n * Optional content rendered on the right side of the dropdown.\n */\n rightSidebar?: ReactNode | ((props: DayPickerSlotRenderProps<DateRange>) => ReactNode);\n\n /**\n * Optional content rendered below the calendar inside the dropdown.\n */\n footer?: ReactNode | ((props: DayPickerSlotRenderProps<DateRange>) => ReactNode);\n};\n\nexport type DayPickerProps = SingleDayPickerProps | MultipleDayPickerProps | RangeDayPickerProps;\n\nexport const isSingleDayPickerProps = (\n props: DayPickerProps | DayPickerCalendarProps\n): props is SingleDayPickerProps | SingleDayPickerCalendarProps => !props.mode || props.mode === 'single';\n\nexport const isMultipleDayPickerProps = (\n props: DayPickerProps | DayPickerCalendarProps\n): props is MultipleDayPickerProps | MultipleDayPickerCalendarProps => props.mode === 'multiple';\n\nexport const isRangeDayPickerProps = (\n props: DayPickerProps | DayPickerCalendarProps\n): props is RangeDayPickerProps | RangeDayPickerCalendarProps => props.mode === 'range';\n"],"names":["isSingleDayPickerProps","props","isMultipleDayPickerProps","isRangeDayPickerProps"],"mappings":"AA6mBO,MAAMA,IAAyB,CAClCC,MAC+D,CAACA,EAAM,QAAQA,EAAM,SAAS,UAEpFC,IAA2B,CACpCD,MACmEA,EAAM,SAAS,YAEzEE,IAAwB,CACjCF,MAC6DA,EAAM,SAAS;"}
@@ -0,0 +1,10 @@
1
+ import { Locale } from 'date-fns';
2
+ import { ClearableInputProps } from '../clearableInput/ClearableInput';
3
+ import { DateRange, DayPickerMode } from './dayPickerTypes';
4
+ export declare const supportedDayPickerLocales: string[];
5
+ export declare const resolveLocale: (localeCode: string) => Locale;
6
+ export declare const formatDate: (date: Date | undefined, localeCode: string, dateFormat?: string) => string;
7
+ export declare const formatSelectionForInput: (selected: Date | Date[] | DateRange | undefined, localeCode: string, mode: DayPickerMode, dateFormat?: string) => string;
8
+ export declare const getInputFormat: (localeCode: string, dateFormat?: string) => string;
9
+ export declare const getInputMaskProps: (localeCode: string, dateFormat?: string) => Pick<ClearableInputProps, "mask" | "pattern" | "format" | "parse"> | undefined;
10
+ export declare const parseDateString: (value: string | undefined, localeCode: string, dateFormat?: string) => Date | undefined;
@@ -0,0 +1,92 @@
1
+ import { parse as s, format as e, isValid as c } from "date-fns";
2
+ import * as d from "date-fns/locale";
3
+ const i = {
4
+ "bg-BG": "dd.MM.yyyy",
5
+ "cs-CZ": "dd.MM.yyyy",
6
+ "da-DK": "dd-MM-yyyy",
7
+ "de-DE": "dd.MM.yyyy",
8
+ "el-GR": "dd/MM/yyyy",
9
+ "en-GB": "dd/MM/yyyy",
10
+ "es-ES": "dd/MM/yyyy",
11
+ "et-EE": "dd.MM.yyyy",
12
+ "fi-FI": "dd.MM.yyyy",
13
+ "fr-FR": "dd/MM/yyyy",
14
+ "hr-HR": "dd.MM.yyyy",
15
+ "hu-HU": "yyyy. MM. dd.",
16
+ "it-IT": "dd/MM/yyyy",
17
+ "lt-LT": "dd-MM-yyyy",
18
+ "lv-LV": "dd.MM.yyyy",
19
+ "nb-NO": "dd.MM.yyyy",
20
+ "nl-NL": "dd-MM-yyyy",
21
+ "pl-PL": "dd.MM.yyyy",
22
+ "pt-BR": "dd/MM/yyyy",
23
+ "pt-PT": "dd/MM/yyyy",
24
+ "ro-RO": "dd.MM.yyyy",
25
+ "sk-SK": "dd.MM.yyyy",
26
+ "sl-SI": "dd.MM.yyyy",
27
+ "sv-SE": "yyyy-MM-dd"
28
+ }, l = Object.keys(i), g = (y) => {
29
+ const r = y.trim(), t = r.replace(/-([a-z])/gi, (n, M) => M.toUpperCase()), o = r.split("-")[0];
30
+ return d[t] || d[r] || d[o] || d.enGB;
31
+ }, p = (y, r, t) => y ? e(y, a(r, t)) : "", D = (y, r, t, o) => {
32
+ if (!y)
33
+ return "";
34
+ const n = (M) => p(M, r, o);
35
+ if (t === "single" && y instanceof Date)
36
+ return n(y);
37
+ if (t === "multiple" && Array.isArray(y))
38
+ return y.map(n).join(", ");
39
+ if (t === "range" && typeof y == "object" && "from" in y) {
40
+ const M = y.from ? n(y.from) : "...", f = y.to ? n(y.to) : "...";
41
+ return `${M} - ${f}`;
42
+ }
43
+ return "";
44
+ }, a = (y, r) => r || i[y] || "yyyy-MM-dd", u = (y) => {
45
+ let r = "";
46
+ for (let t = 0; t < y.length; ) {
47
+ if (y.startsWith("dd", t)) {
48
+ r += "d", t += 2;
49
+ continue;
50
+ }
51
+ if (y.startsWith("MM", t)) {
52
+ r += "m", t += 2;
53
+ continue;
54
+ }
55
+ if (y.startsWith("yyyy", t)) {
56
+ r += "Y", t += 4;
57
+ continue;
58
+ }
59
+ const o = y[t];
60
+ if (!o)
61
+ break;
62
+ if (/[a-zA-Z]/.test(o))
63
+ return;
64
+ r += o, t += 1;
65
+ }
66
+ return r;
67
+ }, L = (y, r) => {
68
+ const t = a(y, r), o = u(t);
69
+ if (o)
70
+ return {
71
+ mask: Date,
72
+ pattern: o,
73
+ format: (n) => n ? e(n, t) : "",
74
+ parse: (n) => s(n, t, /* @__PURE__ */ new Date())
75
+ };
76
+ }, h = (y, r, t) => {
77
+ if (!y)
78
+ return;
79
+ const o = t || a(r), n = s(y, o, /* @__PURE__ */ new Date());
80
+ if (c(n) && e(n, o) === y)
81
+ return n;
82
+ };
83
+ export {
84
+ p as formatDate,
85
+ D as formatSelectionForInput,
86
+ a as getInputFormat,
87
+ L as getInputMaskProps,
88
+ h as parseDateString,
89
+ g as resolveLocale,
90
+ l as supportedDayPickerLocales
91
+ };
92
+ //# sourceMappingURL=dayPickerUtils.js.map