@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.
- package/AnalyticsAnalysisOverlay.d.ts +1 -0
- package/AnalyticsAnalysisOverlay.js +5 -0
- package/AnalyticsAnalysisOverlay.js.map +1 -0
- package/DayPicker.js +6 -2
- package/DayPicker.js.map +1 -1
- package/DayPickerCalendar.d.ts +2 -0
- package/DayPickerCalendar.js +5 -0
- package/DayPickerCalendar.js.map +1 -0
- package/DayPickerPrototype.d.ts +2 -0
- package/DayPickerPrototype.js +5 -0
- package/DayPickerPrototype.js.map +1 -0
- package/Table.d.ts +2 -0
- package/Table.js +23 -0
- package/Table.js.map +1 -0
- package/TableCol.d.ts +2 -2
- package/TableCol.js +1 -1
- package/TableHead.d.ts +2 -2
- package/TableHead.js +1 -1
- package/TableNext.d.ts +2 -0
- package/TableNext.js +23 -0
- package/TableNext.js.map +1 -0
- package/TableSettingsDialog.d.ts +2 -2
- package/TableSettingsDialog.js +1 -1
- package/TableToolbar.js +4 -2
- package/TableToolbar.js.map +1 -1
- package/analyticsAnalysisUtils.d.ts +1 -0
- package/analyticsAnalysisUtils.js +13 -0
- package/analyticsAnalysisUtils.js.map +1 -0
- package/components/analyticsAnalysisOverlay/AnalyticsAnalysisBanner.d.ts +18 -0
- package/components/analyticsAnalysisOverlay/AnalyticsAnalysisBanner.js +128 -0
- package/components/analyticsAnalysisOverlay/AnalyticsAnalysisBanner.js.map +1 -0
- package/components/analyticsAnalysisOverlay/AnalyticsAnalysisOverlay.d.ts +9 -0
- package/components/analyticsAnalysisOverlay/AnalyticsAnalysisOverlay.js +73 -0
- package/components/analyticsAnalysisOverlay/AnalyticsAnalysisOverlay.js.map +1 -0
- package/components/applicationHeader/AppMenuContent.js.map +1 -1
- package/components/applicationHeader/ApplicationActionBar.js +4 -4
- package/components/applicationHeader/ApplicationActionBar.js.map +1 -1
- package/components/applicationHeader/CollapsedNavItem.js +5 -14
- package/components/applicationHeader/CollapsedNavItem.js.map +1 -1
- package/components/applicationHeader/NavItems.js +10 -10
- package/components/applicationHeader/NavItems.js.map +1 -1
- package/components/assetTree/AssetTree.js +23 -23
- package/components/assetTree/AssetTree.js.map +1 -1
- package/components/assetTree/Tree.js +13 -13
- package/components/assetTree/TreeNothingFound.js +2 -2
- package/components/assetTree/TreeNothingFound.js.map +1 -1
- package/components/assetTree/treeUtils.js.map +1 -1
- package/components/autosuggest/AutoSuggest.js +31 -31
- package/components/autosuggest/AutoSuggest.js.map +1 -1
- package/components/autosuggest/AutoSuggestAddons.js +9 -9
- package/components/autosuggest/AutoSuggestAddons.js.map +1 -1
- package/components/banner/BannerActions.js +2 -2
- package/components/banner/BannerActions.js.map +1 -1
- package/components/banner/BannerIcon.js +3 -3
- package/components/banner/BannerIcon.js.map +1 -1
- package/components/banner/BannerPage.js +4 -4
- package/components/banner/BannerPage.js.map +1 -1
- package/components/button/Button.d.ts +7 -0
- package/components/button/Button.js +73 -65
- package/components/button/Button.js.map +1 -1
- package/components/charts/Area.d.ts +5 -3
- package/components/charts/Area.js +4 -3
- package/components/charts/Area.js.map +1 -1
- package/components/charts/AreaChart.js.map +1 -1
- package/components/charts/ComposedChart.js.map +1 -1
- package/components/checkbox/Checkbox.js +18 -17
- package/components/checkbox/Checkbox.js.map +1 -1
- package/components/clearableInput/ClearableInput.d.ts +30 -0
- package/components/clearableInput/ClearableInput.js +81 -78
- package/components/clearableInput/ClearableInput.js.map +1 -1
- package/components/datepicker/DateRangePicker.js +0 -2
- package/components/datepicker/DateRangePicker.js.map +1 -1
- package/components/datepicker/DayPicker.d.ts +4 -51
- package/components/datepicker/DayPicker.js +264 -256
- package/components/datepicker/DayPicker.js.map +1 -1
- package/components/datepicker/DayPickerCalendar.d.ts +4 -0
- package/components/datepicker/DayPickerCalendar.js +129 -0
- package/components/datepicker/DayPickerCalendar.js.map +1 -0
- package/components/datepicker/DayPickerDropdown.d.ts +18 -0
- package/components/datepicker/DayPickerDropdown.js +75 -0
- package/components/datepicker/DayPickerDropdown.js.map +1 -0
- package/components/datepicker/DayPickerDropdownFooter.d.ts +7 -0
- package/components/datepicker/DayPickerDropdownFooter.js +7 -0
- package/components/datepicker/DayPickerDropdownFooter.js.map +1 -0
- package/components/datepicker/DayPickerDropdownSidebar.d.ts +8 -0
- package/components/datepicker/DayPickerDropdownSidebar.js +7 -0
- package/components/datepicker/DayPickerDropdownSidebar.js.map +1 -0
- package/components/datepicker/DayPickerInput.d.ts +28 -0
- package/components/datepicker/DayPickerInput.js +65 -0
- package/components/datepicker/DayPickerInput.js.map +1 -0
- package/components/datepicker/DayPickerPrototype.d.ts +53 -0
- package/components/datepicker/DayPickerPrototype.js +285 -0
- package/components/datepicker/DayPickerPrototype.js.map +1 -0
- package/components/datepicker/dayPickerRangeSelectionUtils.d.ts +15 -0
- package/components/datepicker/dayPickerRangeSelectionUtils.js +31 -0
- package/components/datepicker/dayPickerRangeSelectionUtils.js.map +1 -0
- package/components/datepicker/dayPickerTypes.d.ts +517 -0
- package/components/datepicker/dayPickerTypes.js +7 -0
- package/components/datepicker/dayPickerTypes.js.map +1 -0
- package/components/datepicker/dayPickerUtils.d.ts +10 -0
- package/components/datepicker/dayPickerUtils.js +92 -0
- package/components/datepicker/dayPickerUtils.js.map +1 -0
- package/components/datepicker/useDayPickerInputState.d.ts +32 -0
- package/components/datepicker/useDayPickerInputState.js +85 -0
- package/components/datepicker/useDayPickerInputState.js.map +1 -0
- package/components/datepicker/useStackedDayPickerCalendars.d.ts +5 -0
- package/components/datepicker/useStackedDayPickerCalendars.js +39 -0
- package/components/datepicker/useStackedDayPickerCalendars.js.map +1 -0
- package/components/dialog/Dialog.js.map +1 -1
- package/components/dialog/DialogHeader.js +23 -20
- package/components/dialog/DialogHeader.js.map +1 -1
- package/components/dialog/MediaDialog.js +1 -1
- package/components/dialog/MediaDialog.js.map +1 -1
- package/components/divider/Divider.js +6 -6
- package/components/dropdown/ButtonDropdown.d.ts +4 -0
- package/components/dropdown/ButtonDropdown.js +70 -68
- package/components/dropdown/ButtonDropdown.js.map +1 -1
- package/components/dropdown/DropdownToggleButton.d.ts +1 -0
- package/components/dropdown/DropdownToggleButton.js +17 -15
- package/components/dropdown/DropdownToggleButton.js.map +1 -1
- package/components/editableContent/EditableContent.js +7 -7
- package/components/editableContent/EditableContent.js.map +1 -1
- package/components/expander/ExpanderList.d.ts +5 -0
- package/components/expander/ExpanderList.js +25 -16
- package/components/expander/ExpanderList.js.map +1 -1
- package/components/expander/ExpanderPanel.d.ts +5 -0
- package/components/expander/ExpanderPanel.js +29 -28
- package/components/expander/ExpanderPanel.js.map +1 -1
- package/components/fade/FadeExpander.js +17 -20
- package/components/fade/FadeExpander.js.map +1 -1
- package/components/filepicker/FilePicker.js.map +1 -1
- package/components/loadMore/LoadMoreButton.d.ts +5 -0
- package/components/loadMore/LoadMoreButton.js +33 -29
- package/components/loadMore/LoadMoreButton.js.map +1 -1
- package/components/loadMore/LoadMoreProgress.js +6 -7
- package/components/map/components/Map.js +3 -3
- package/components/map/components/features/ContextMenu.js +13 -13
- package/components/map/components/features/ContextMenu.js.map +1 -1
- package/components/map/components/features/basics/InfoBubble.js.map +1 -1
- package/components/map/components/features/settings/MapSettingsTile.js.map +1 -1
- package/components/map/components/features/settings/builtinSettings/MapTypeSettings.js +6 -6
- package/components/map/components/features/settings/builtinSettings/MapTypeSettings.js.map +1 -1
- package/components/map/utils/eventHandling.js +18 -18
- package/components/map/utils/eventHandling.js.map +1 -1
- package/components/map/utils/positions.d.ts +1 -1
- package/components/map/utils/positions.js +15 -12
- package/components/map/utils/positions.js.map +1 -1
- package/components/map/utils/rendering.d.ts +1 -1
- package/components/map/utils/rendering.js +5 -5
- package/components/menuItems/MenuItems.js +6 -6
- package/components/menuItems/MenuItems.js.map +1 -1
- package/components/notification/NotificationsContainer.js.map +1 -1
- package/components/numberInput/NumberInput.js +57 -56
- package/components/numberInput/NumberInput.js.map +1 -1
- package/components/popover/Popover.js +3 -3
- package/components/popover/Popover.js.map +1 -1
- package/components/radiobutton/RadioCardGroup.js +3 -3
- package/components/resizer/Resizer.js +6 -3
- package/components/resizer/Resizer.js.map +1 -1
- package/components/rioglyph/RioglyphIconType.d.ts +1 -1
- package/components/selects/BaseSelectDropdown.js +34 -32
- package/components/selects/BaseSelectDropdown.js.map +1 -1
- package/components/selects/Multiselect.d.ts +6 -0
- package/components/selects/Multiselect.js +164 -150
- package/components/selects/Multiselect.js.map +1 -1
- package/components/selects/MultiselectTogglePlaceholder.js.map +1 -1
- package/components/selects/MultiselectToggleSelection.js +11 -11
- package/components/selects/MultiselectToggleSelection.js.map +1 -1
- package/components/selects/Select.js +39 -37
- package/components/selects/Select.js.map +1 -1
- package/components/sidebars/Sidebar.js +12 -12
- package/components/sidebars/Sidebar.js.map +1 -1
- package/components/sidebars/SidebarCloseButton.js +2 -2
- package/components/sidebars/SidebarCloseButton.js.map +1 -1
- package/components/smoothScrollbars/SmoothScrollbars.d.ts +4 -3
- package/components/smoothScrollbars/SmoothScrollbars.js +11 -11
- package/components/smoothScrollbars/SmoothScrollbars.js.map +1 -1
- package/components/states/CustomState.js.map +1 -1
- package/components/svgImage/svgConverter.js.map +1 -1
- package/components/table/Table.d.ts +46 -0
- package/components/table/Table.js +256 -0
- package/components/table/Table.js.map +1 -0
- package/components/table/Table.types.d.ts +379 -0
- package/components/table/TableBody.d.ts +70 -0
- package/components/table/TableBody.js +135 -0
- package/components/table/TableBody.js.map +1 -0
- package/components/table/TableCardsSorting.js +25 -32
- package/components/table/TableCardsSorting.js.map +1 -1
- package/components/table/TableColumn.d.ts +55 -0
- package/components/table/TableColumn.js +115 -0
- package/components/table/TableColumn.js.map +1 -0
- package/components/table/TableExpandedContentRow.d.ts +22 -0
- package/components/table/TableExpandedContentRow.js +110 -0
- package/components/table/TableExpandedContentRow.js.map +1 -0
- package/components/table/TableExpandedRow.d.ts +22 -0
- package/components/table/TableExpandedRow.js +150 -0
- package/components/table/TableExpandedRow.js.map +1 -0
- package/components/table/TableExpanderButton.d.ts +25 -0
- package/components/table/TableExpanderButton.js +24 -0
- package/components/table/TableExpanderButton.js.map +1 -0
- package/components/table/TableFooter.d.ts +17 -0
- package/components/table/TableFooter.js +52 -0
- package/components/table/TableFooter.js.map +1 -0
- package/components/table/TableGroupFooterRow.d.ts +18 -0
- package/components/table/TableGroupFooterRow.js +30 -0
- package/components/table/TableGroupFooterRow.js.map +1 -0
- package/components/table/TableGroupRow.d.ts +24 -0
- package/components/table/TableGroupRow.js +36 -0
- package/components/table/TableGroupRow.js.map +1 -0
- package/components/table/TableHeader.d.ts +14 -0
- package/components/table/TableHeader.js +107 -0
- package/components/table/TableHeader.js.map +1 -0
- package/components/table/TableHeaderColumn.d.ts +76 -0
- package/components/table/TableHeaderColumn.js +81 -0
- package/components/table/TableHeaderColumn.js.map +1 -0
- package/components/table/TableHeaderRow.d.ts +9 -0
- package/components/table/TableHeaderRow.js +14 -0
- package/components/table/TableHeaderRow.js.map +1 -0
- package/components/table/TableRow.d.ts +24 -0
- package/components/table/TableRow.js +111 -0
- package/components/table/TableRow.js.map +1 -0
- package/components/table/TableSpacerRow.d.ts +13 -0
- package/components/table/TableSpacerRow.js +29 -0
- package/components/table/TableSpacerRow.js.map +1 -0
- package/components/table/TableToolbar.d.ts +3 -0
- package/components/table/TableToolbar.js +49 -4
- package/components/table/TableToolbar.js.map +1 -1
- package/components/table/TableToolbarColumn.d.ts +31 -0
- package/components/table/TableToolbarColumn.js +33 -0
- package/components/table/TableToolbarColumn.js.map +1 -0
- package/components/table/TableViewToggles.d.ts +21 -3
- package/components/table/TableViewToggles.js +59 -87
- package/components/table/TableViewToggles.js.map +1 -1
- package/components/table/context/TableInteractionContext.d.ts +26 -0
- package/components/table/context/TableInteractionContext.js +7 -0
- package/components/table/context/TableInteractionContext.js.map +1 -0
- package/components/table/context/TableLayoutContext.d.ts +25 -0
- package/components/table/context/TableLayoutContext.js +7 -0
- package/components/table/context/TableLayoutContext.js.map +1 -0
- package/components/table/context/TableRenderConfigContext.d.ts +27 -0
- package/components/table/context/TableRenderConfigContext.js +7 -0
- package/components/table/context/TableRenderConfigContext.js.map +1 -0
- package/components/table/context/TableRenderContext.d.ts +85 -0
- package/components/table/context/TableRenderContext.js +7 -0
- package/components/table/context/TableRenderContext.js.map +1 -0
- package/components/table/context/TableStructureContext.d.ts +31 -0
- package/components/table/context/TableStructureContext.js +17 -0
- package/components/table/context/TableStructureContext.js.map +1 -0
- package/components/table/layout/columnSizing.d.ts +3 -0
- package/components/table/layout/columnSizing.js +23 -0
- package/components/table/layout/columnSizing.js.map +1 -0
- package/components/table/layout/useDraggableColumns.d.ts +14 -0
- package/components/table/layout/useDraggableColumns.js +47 -0
- package/components/table/layout/useDraggableColumns.js.map +1 -0
- package/components/table/layout/useHorizontalSectionSync.d.ts +13 -0
- package/components/table/layout/useHorizontalSectionSync.js +43 -0
- package/components/table/layout/useHorizontalSectionSync.js.map +1 -0
- package/components/table/layout/useMeasuredColumnMaxWidths.d.ts +12 -0
- package/components/table/layout/useMeasuredColumnMaxWidths.js +85 -0
- package/components/table/layout/useMeasuredColumnMaxWidths.js.map +1 -0
- package/components/table/layout/useResizableColumns.d.ts +15 -0
- package/components/table/layout/useResizableColumns.js +132 -0
- package/components/table/layout/useResizableColumns.js.map +1 -0
- package/components/table/layout/useTableBodyScrollBottom.d.ts +12 -0
- package/components/table/layout/useTableBodyScrollBottom.js +37 -0
- package/components/table/layout/useTableBodyScrollBottom.js.map +1 -0
- package/components/table/layout/useTableLayout.d.ts +36 -0
- package/components/table/layout/useTableLayout.js +59 -0
- package/components/table/layout/useTableLayout.js.map +1 -0
- package/components/table/layout/useTableVirtualization.d.ts +22 -0
- package/components/table/layout/useTableVirtualization.js +125 -0
- package/components/table/layout/useTableVirtualization.js.map +1 -0
- package/components/table/model/resolveRowMeta.d.ts +3 -0
- package/components/table/model/resolveRowMeta.js +15 -0
- package/components/table/model/resolveRowMeta.js.map +1 -0
- package/components/table/model/resolveTableClassConfig.d.ts +47 -0
- package/components/table/model/resolveTableClassConfig.js +64 -0
- package/components/table/model/resolveTableClassConfig.js.map +1 -0
- package/components/table/model/tableView.types.d.ts +41 -0
- package/components/table/native/TableCol.js.map +1 -0
- package/components/table/{TableHead.js → native/TableHead.js} +2 -2
- package/components/table/native/TableHead.js.map +1 -0
- package/components/table/native/TableSettingsColumnButtons.js +59 -0
- package/components/table/native/TableSettingsColumnButtons.js.map +1 -0
- package/components/table/{TableSettingsColumnDetails.js → native/TableSettingsColumnDetails.js} +2 -2
- package/components/table/native/TableSettingsColumnDetails.js.map +1 -0
- package/components/table/{TableSettingsDialog.d.ts → native/TableSettingsDialog.d.ts} +2 -3
- package/components/table/native/TableSettingsDialog.js +216 -0
- package/components/table/native/TableSettingsDialog.js.map +1 -0
- package/components/table/{TableSettingsDialogFooter.js → native/TableSettingsDialogFooter.js} +2 -2
- package/components/table/native/TableSettingsDialogFooter.js.map +1 -0
- package/components/table/native/TableSettingsListContainer.js.map +1 -0
- package/components/table/native/TableSettingsListItem.js +100 -0
- package/components/table/native/TableSettingsListItem.js.map +1 -0
- package/components/table/render/body/TableBodyContent.d.ts +21 -0
- package/components/table/render/body/TableBodyContent.js +52 -0
- package/components/table/render/body/TableBodyContent.js.map +1 -0
- package/components/table/render/body/TableEmptyRow.d.ts +7 -0
- package/components/table/render/body/TableEmptyRow.js +6 -0
- package/components/table/render/body/TableEmptyRow.js.map +1 -0
- package/components/table/render/footer/TableFooterContent.d.ts +6 -0
- package/components/table/render/footer/TableFooterContent.js +6 -0
- package/components/table/render/footer/TableFooterContent.js.map +1 -0
- package/components/table/render/header/TableBatchDropdown.d.ts +13 -0
- package/components/table/render/header/TableBatchDropdown.js +30 -0
- package/components/table/render/header/TableBatchDropdown.js.map +1 -0
- package/components/table/render/header/TableColumnFilter.d.ts +66 -0
- package/components/table/render/header/TableColumnFilter.js +72 -0
- package/components/table/render/header/TableColumnFilter.js.map +1 -0
- package/components/table/render/header/TableDraggableHeaderCell.d.ts +4 -0
- package/components/table/render/header/TableDraggableHeaderCell.js +64 -0
- package/components/table/render/header/TableDraggableHeaderCell.js.map +1 -0
- package/components/table/render/header/TableHeader.types.d.ts +37 -0
- package/components/table/render/header/TableHeaderCellContent.d.ts +4 -0
- package/components/table/render/header/TableHeaderCellContent.js +57 -0
- package/components/table/render/header/TableHeaderCellContent.js.map +1 -0
- package/components/table/render/header/TableHeaderCellResizeHandle.d.ts +4 -0
- package/components/table/render/header/TableHeaderCellResizeHandle.js +22 -0
- package/components/table/render/header/TableHeaderCellResizeHandle.js.map +1 -0
- package/components/table/render/header/TableHeaderDragOverlay.d.ts +14 -0
- package/components/table/render/header/TableHeaderDragOverlay.js +35 -0
- package/components/table/render/header/TableHeaderDragOverlay.js.map +1 -0
- package/components/table/render/header/TableHeaderSelectionCell.d.ts +9 -0
- package/components/table/render/header/TableHeaderSelectionCell.js +41 -0
- package/components/table/render/header/TableHeaderSelectionCell.js.map +1 -0
- package/components/table/render/header/TableStaticHeaderCell.d.ts +4 -0
- package/components/table/render/header/TableStaticHeaderCell.js +48 -0
- package/components/table/render/header/TableStaticHeaderCell.js.map +1 -0
- package/components/table/render/header/resolveAriaSort.d.ts +3 -0
- package/components/table/render/header/resolveAriaSort.js +8 -0
- package/components/table/render/header/resolveAriaSort.js.map +1 -0
- package/components/table/render/header/resolveColumnCollisionDetection.d.ts +2 -0
- package/components/table/render/header/resolveColumnCollisionDetection.js +9 -0
- package/components/table/render/header/resolveColumnCollisionDetection.js.map +1 -0
- package/components/table/render/header/resolveHeaderCellClassName.d.ts +12 -0
- package/components/table/render/header/resolveHeaderCellClassName.js +23 -0
- package/components/table/render/header/resolveHeaderCellClassName.js.map +1 -0
- package/components/table/render/header/resolveHeaderCellStyle.d.ts +830 -0
- package/components/table/render/header/resolveHeaderCellStyle.js +9 -0
- package/components/table/render/header/resolveHeaderCellStyle.js.map +1 -0
- package/components/table/runtime/shouldAnimateBodyRows.d.ts +17 -0
- package/components/table/runtime/shouldAnimateBodyRows.js +5 -0
- package/components/table/runtime/shouldAnimateBodyRows.js.map +1 -0
- package/components/table/runtime/useRenderDraftState.d.ts +14 -0
- package/components/table/runtime/useRenderDraftState.js +80 -0
- package/components/table/runtime/useRenderDraftState.js.map +1 -0
- package/components/table/runtime/useResolvedRenderColumns.d.ts +43 -0
- package/components/table/runtime/useResolvedRenderColumns.js +113 -0
- package/components/table/runtime/useResolvedRenderColumns.js.map +1 -0
- package/components/table/runtime/useResolvedRenderHeader.d.ts +27 -0
- package/components/table/runtime/useResolvedRenderHeader.js +67 -0
- package/components/table/runtime/useResolvedRenderHeader.js.map +1 -0
- package/components/table/selection/useInternalTableSelectionState.d.ts +17 -0
- package/components/table/selection/useInternalTableSelectionState.js +28 -0
- package/components/table/selection/useInternalTableSelectionState.js.map +1 -0
- package/components/table/selection/useTableSelection.d.ts +82 -0
- package/components/table/selection/useTableSelection.js +35 -0
- package/components/table/selection/useTableSelection.js.map +1 -0
- package/components/table/settings/TableColumnsDropdown.d.ts +90 -0
- package/components/table/settings/TableColumnsDropdown.js +137 -0
- package/components/table/settings/TableColumnsDropdown.js.map +1 -0
- package/components/table/settings/TableColumnsDropdownItem.d.ts +8 -0
- package/components/table/settings/TableColumnsDropdownItem.js +66 -0
- package/components/table/settings/TableColumnsDropdownItem.js.map +1 -0
- package/components/table/shared/getAlignClassName.d.ts +3 -0
- package/components/table/shared/getAlignClassName.js +6 -0
- package/components/table/shared/getAlignClassName.js.map +1 -0
- package/components/table/shared/getCellContentOverflowClassName.d.ts +3 -0
- package/components/table/shared/getCellContentOverflowClassName.js +18 -0
- package/components/table/shared/getCellContentOverflowClassName.js.map +1 -0
- package/components/table/shared/getInteractiveRowProps.d.ts +15 -0
- package/components/table/shared/getInteractiveRowProps.js +15 -0
- package/components/table/shared/getInteractiveRowProps.js.map +1 -0
- package/components/table/shared/resolveTableAria.d.ts +2 -0
- package/components/table/shared/resolveTableAria.js +6 -0
- package/components/table/shared/resolveTableAria.js.map +1 -0
- package/components/table/tableSizing.constants.d.ts +4 -0
- package/components/table/tableSizing.constants.js +8 -0
- package/components/table/tableSizing.constants.js.map +1 -0
- package/components/teaser/TeaserContainer.js +3 -3
- package/components/teaser/TeaserContainer.js.map +1 -1
- package/components/virtualList/VirtualList.js +16 -13
- package/components/virtualList/VirtualList.js.map +1 -1
- package/googleAnalyticsUtils.d.ts +1 -0
- package/googleAnalyticsUtils.js +9 -0
- package/googleAnalyticsUtils.js.map +1 -0
- package/hooks/useCookies.js +17 -17
- package/hooks/useCookies.js.map +1 -1
- package/hooks/useDraggableElement.d.ts +35 -0
- package/hooks/useDraggableElement.js +49 -0
- package/hooks/useDraggableElement.js.map +1 -0
- package/hooks/useElapsedTime.js +4 -4
- package/hooks/useElapsedTime.js.map +1 -1
- package/hooks/useLocationSuggestions.js +13 -10
- package/hooks/useLocationSuggestions.js.map +1 -1
- package/hooks/useMergeRefs.js +12 -12
- package/hooks/useMergeRefs.js.map +1 -1
- package/hooks/usePrevious.d.ts +1 -1
- package/hooks/usePrevious.js.map +1 -1
- package/hooks/useResizeObserver.js +25 -10
- package/hooks/useResizeObserver.js.map +1 -1
- package/hooks/useRioCookieConsent.js +7 -4
- package/hooks/useRioCookieConsent.js.map +1 -1
- package/hooks/useSorting.js +10 -10
- package/hooks/useSorting.js.map +1 -1
- package/hooks/useStorage.js +12 -12
- package/hooks/useStorage.js.map +1 -1
- package/hooks/useSum.js +10 -7
- package/hooks/useSum.js.map +1 -1
- package/hooks/useTableSelection.js.map +1 -1
- package/hooks/useTimeout.js +6 -3
- package/hooks/useTimeout.js.map +1 -1
- package/hooks/useUrlState.js +3 -3
- package/package.json +17 -18
- package/routeUtils.js +12 -10
- package/utils/analytics/analyticsAnalysisUtils.d.ts +27 -0
- package/utils/analytics/analyticsAnalysisUtils.js +161 -0
- package/utils/analytics/analyticsAnalysisUtils.js.map +1 -0
- package/utils/analytics/autoTracking.d.ts +14 -0
- package/utils/analytics/autoTracking.js +19 -0
- package/utils/analytics/autoTracking.js.map +1 -0
- package/utils/analytics/createAnalyticsOverlayTooltip.d.ts +36 -0
- package/utils/analytics/createAnalyticsOverlayTooltip.js +203 -0
- package/utils/analytics/createAnalyticsOverlayTooltip.js.map +1 -0
- package/utils/analytics/googleAnalyticsUtils.d.ts +37 -0
- package/utils/analytics/googleAnalyticsUtils.js +37 -0
- package/utils/analytics/googleAnalyticsUtils.js.map +1 -0
- package/utils/analytics/logAnalyticsOverlayUnmatchedEntries.d.ts +8 -0
- package/utils/analytics/logAnalyticsOverlayUnmatchedEntries.js +61 -0
- package/utils/analytics/logAnalyticsOverlayUnmatchedEntries.js.map +1 -0
- package/utils/analytics/useAnalyticsOverlayDom.d.ts +11 -0
- package/utils/analytics/useAnalyticsOverlayDom.js +120 -0
- package/utils/analytics/useAnalyticsOverlayDom.js.map +1 -0
- package/utils/arrayMove.js +11 -0
- package/utils/arrayMove.js.map +1 -0
- package/utils/cssuseragent.js +2 -2
- package/utils/cssuseragent.js.map +1 -1
- package/utils/deviceUtils.js.map +1 -1
- package/utils/formatUtils.js.map +1 -1
- package/utils/hasUtilityClass.js +3 -3
- package/utils/hasUtilityClass.js.map +1 -1
- package/utils/hidePiiData.js.map +1 -1
- package/utils/init/checkForReleaseVersion.js +4 -4
- package/utils/init/checkForReleaseVersion.js.map +1 -1
- package/utils/init/styledLogs.js.map +1 -1
- package/utils/mergeRefs.js +3 -3
- package/utils/mergeRefs.js.map +1 -1
- package/utils/routeUtils.d.ts +37 -3
- package/utils/routeUtils.js +88 -70
- package/utils/routeUtils.js.map +1 -1
- package/utils/storageUtils.js +9 -9
- package/utils/storageUtils.js.map +1 -1
- package/version.d.ts +1 -1
- package/version.js +2 -2
- package/version.js.map +1 -1
- package/components/table/TableCol.js.map +0 -1
- package/components/table/TableHead.js.map +0 -1
- package/components/table/TableSettingsColumnButtons.js +0 -45
- package/components/table/TableSettingsColumnButtons.js.map +0 -1
- package/components/table/TableSettingsColumnDetails.js.map +0 -1
- package/components/table/TableSettingsDialog.js +0 -208
- package/components/table/TableSettingsDialog.js.map +0 -1
- package/components/table/TableSettingsDialogFooter.js.map +0 -1
- package/components/table/TableSettingsListContainer.js.map +0 -1
- package/components/table/TableSettingsListItem.js +0 -96
- package/components/table/TableSettingsListItem.js.map +0 -1
- /package/components/table/{TableCol.d.ts → native/TableCol.d.ts} +0 -0
- /package/components/table/{TableCol.js → native/TableCol.js} +0 -0
- /package/components/table/{TableHead.d.ts → native/TableHead.d.ts} +0 -0
- /package/components/table/{TableSettingsColumnButtons.d.ts → native/TableSettingsColumnButtons.d.ts} +0 -0
- /package/components/table/{TableSettingsColumnDetails.d.ts → native/TableSettingsColumnDetails.d.ts} +0 -0
- /package/components/table/{TableSettingsDialogFooter.d.ts → native/TableSettingsDialogFooter.d.ts} +0 -0
- /package/components/table/{TableSettingsListContainer.d.ts → native/TableSettingsListContainer.d.ts} +0 -0
- /package/components/table/{TableSettingsListContainer.js → native/TableSettingsListContainer.js} +0 -0
- /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;"}
|