@rio-cloud/rio-uikit 2.3.0-beta.1 → 2.3.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/Marker.js +9 -5
- package/TableNext.d.ts +2 -0
- package/TableNext.js +23 -0
- package/TableNext.js.map +1 -0
- package/TableToolbar.js +3 -2
- package/TableToolbar.js.map +1 -1
- package/components/analyticsAnalysisOverlay/AnalyticsAnalysisBanner.d.ts +38 -3
- package/components/analyticsAnalysisOverlay/AnalyticsAnalysisBanner.js +104 -109
- package/components/analyticsAnalysisOverlay/AnalyticsAnalysisBanner.js.map +1 -1
- package/components/analyticsAnalysisOverlay/AnalyticsAnalysisOverlay.d.ts +24 -5
- package/components/analyticsAnalysisOverlay/AnalyticsAnalysisOverlay.js +60 -56
- package/components/analyticsAnalysisOverlay/AnalyticsAnalysisOverlay.js.map +1 -1
- package/components/assetTree/Tree.js +13 -13
- 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/clearableInput/ClearableInput.d.ts +30 -0
- package/components/clearableInput/ClearableInput.js +81 -78
- package/components/clearableInput/ClearableInput.js.map +1 -1
- package/components/datepicker/DayPicker.d.ts +4 -51
- package/components/datepicker/DayPicker.js +267 -257
- 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 +19 -0
- package/components/datepicker/DayPickerDropdown.js +88 -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/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/fade/FadeExpander.js +17 -20
- package/components/fade/FadeExpander.js.map +1 -1
- package/components/listMenu/ListMenu.d.ts +8 -0
- package/components/listMenu/ListMenu.js +74 -66
- package/components/listMenu/ListMenu.js.map +1 -1
- package/components/loadMore/LoadMoreProgress.js +6 -7
- package/components/map/components/Map.js +189 -157
- package/components/map/components/Map.js.map +1 -1
- package/components/map/components/MapContext.d.ts +1 -0
- package/components/map/components/MapContext.js +8 -7
- package/components/map/components/MapContext.js.map +1 -1
- package/components/map/components/features/Route.d.ts +65 -1
- package/components/map/components/features/Route.js +184 -98
- package/components/map/components/features/Route.js.map +1 -1
- package/components/map/components/features/basics/Marker.d.ts +21 -1
- package/components/map/components/features/basics/Marker.js +99 -40
- package/components/map/components/features/basics/Marker.js.map +1 -1
- package/components/map/components/features/basics/Polygon.d.ts +24 -1
- package/components/map/components/features/basics/Polygon.js +72 -19
- package/components/map/components/features/basics/Polygon.js.map +1 -1
- package/components/map/components/features/basics/Polyline.d.ts +29 -0
- package/components/map/components/features/basics/Polyline.js +69 -39
- package/components/map/components/features/basics/Polyline.js.map +1 -1
- package/components/map/components/features/layers/MarkerLayer.js +8 -8
- package/components/map/components/features/layers/MarkerLayer.js.map +1 -1
- package/components/map/components/features/layers/clustering/SimpleClusterLayer.js +13 -6
- package/components/map/components/features/layers/clustering/SimpleClusterLayer.js.map +1 -1
- package/components/map/utils/clustering.d.ts +1 -1
- package/components/map/utils/clustering.js +30 -30
- package/components/map/utils/clustering.js.map +1 -1
- package/components/map/utils/mapTypes.d.ts +135 -0
- package/components/map/utils/mapTypes.js.map +1 -1
- package/components/map/utils/rendering.js +5 -5
- package/components/mapMarker/ClusterMapMarker.d.ts +2 -0
- package/components/mapMarker/ClusterMapMarker.js.map +1 -1
- package/components/mapMarker/SingleMapMarker.d.ts +2 -0
- package/components/mapMarker/SingleMapMarker.js.map +1 -1
- package/components/popover/Popover.js +4 -4
- package/components/radiobutton/RadioCardGroup.js +3 -3
- package/components/rioglyph/RioglyphIconType.d.ts +1 -1
- package/components/selects/ClearButton.js +9 -7
- package/components/selects/ClearButton.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/Select.js +39 -37
- package/components/selects/Select.js.map +1 -1
- package/components/table/Table.d.ts +27 -248
- package/components/table/Table.js +240 -214
- package/components/table/Table.js.map +1 -1
- package/components/table/Table.types.d.ts +302 -121
- package/components/table/TableBody.d.ts +65 -5
- package/components/table/TableBody.js +132 -2
- package/components/table/TableBody.js.map +1 -1
- package/components/table/TableCardsSorting.js +25 -32
- package/components/table/TableCardsSorting.js.map +1 -1
- package/components/table/TableColumn.d.ts +21 -6
- package/components/table/TableColumn.js +114 -2
- package/components/table/TableColumn.js.map +1 -1
- package/components/table/TableExpandedContentRow.d.ts +7 -7
- package/components/table/TableExpandedContentRow.js +107 -2
- package/components/table/TableExpandedContentRow.js.map +1 -1
- package/components/table/TableExpandedRow.d.ts +9 -4
- package/components/table/TableExpandedRow.js +147 -2
- package/components/table/TableExpandedRow.js.map +1 -1
- package/components/table/TableExpanderButton.js +13 -11
- package/components/table/TableExpanderButton.js.map +1 -1
- package/components/table/TableFooter.d.ts +10 -6
- package/components/table/TableFooter.js +49 -2
- package/components/table/TableFooter.js.map +1 -1
- package/components/table/TableGroupFooterRow.d.ts +7 -7
- package/components/table/TableGroupFooterRow.js +27 -2
- package/components/table/TableGroupFooterRow.js.map +1 -1
- package/components/table/TableGroupRow.d.ts +7 -7
- package/components/table/TableGroupRow.js +33 -2
- package/components/table/TableGroupRow.js.map +1 -1
- package/components/table/TableHeader.d.ts +26 -4
- package/components/table/TableHeader.js +117 -2
- package/components/table/TableHeader.js.map +1 -1
- package/components/table/TableHeaderColumn.d.ts +25 -9
- package/components/table/TableHeaderColumn.js +83 -2
- package/components/table/TableHeaderColumn.js.map +1 -1
- package/components/table/TableHeaderRow.d.ts +1 -1
- package/components/table/TableHeaderRow.js +11 -2
- package/components/table/TableHeaderRow.js.map +1 -1
- package/components/table/TableRow.d.ts +15 -4
- package/components/table/TableRow.js +109 -2
- package/components/table/TableRow.js.map +1 -1
- package/components/table/TableSpacerRow.d.ts +3 -2
- package/components/table/TableSpacerRow.js +26 -2
- package/components/table/TableSpacerRow.js.map +1 -1
- package/components/table/TableToolbar.d.ts +4 -23
- package/components/table/TableToolbar.js +39 -28
- 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 +3 -3
- 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 +26 -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 +2 -2
- package/components/table/layout/columnSizing.js.map +1 -1
- package/components/table/layout/useDraggableColumns.d.ts +3 -3
- package/components/table/layout/useDraggableColumns.js +17 -17
- package/components/table/layout/useDraggableColumns.js.map +1 -1
- package/components/table/layout/useHorizontalSectionSync.d.ts +4 -1
- package/components/table/layout/useHorizontalSectionSync.js +36 -31
- package/components/table/layout/useHorizontalSectionSync.js.map +1 -1
- package/components/table/layout/useMeasuredColumnMaxWidths.d.ts +3 -3
- package/components/table/layout/useMeasuredColumnMaxWidths.js.map +1 -1
- package/components/table/layout/useResizableColumns.d.ts +5 -4
- package/components/table/layout/useResizableColumns.js +108 -67
- package/components/table/layout/useResizableColumns.js.map +1 -1
- 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 +18 -6
- package/components/table/layout/useTableLayout.js +51 -41
- package/components/table/layout/useTableLayout.js.map +1 -1
- package/components/table/layout/useTableVirtualization.d.ts +6 -6
- package/components/table/layout/useTableVirtualization.js +22 -22
- package/components/table/layout/useTableVirtualization.js.map +1 -1
- package/components/table/model/resolveRowMeta.d.ts +3 -2
- package/components/table/model/resolveRowMeta.js.map +1 -1
- package/components/table/model/resolveTableClassConfig.d.ts +2 -3
- package/components/table/model/resolveTableClassConfig.js.map +1 -1
- package/components/table/model/tableView.types.d.ts +41 -0
- package/components/table/native/TableSettingsListItem.js +1 -1
- package/components/table/native/TableSettingsListItem.js.map +1 -1
- 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.js +2 -2
- package/components/table/render/body/TableEmptyRow.js.map +1 -1
- package/components/table/render/header/TableBatchDropdown.d.ts +5 -1
- package/components/table/render/header/TableBatchDropdown.js +17 -15
- package/components/table/render/header/TableBatchDropdown.js.map +1 -1
- package/components/table/render/header/TableColumnFilter.d.ts +2 -2
- package/components/table/render/header/TableColumnFilter.js +16 -14
- package/components/table/render/header/TableColumnFilter.js.map +1 -1
- package/components/table/render/header/TableDraggableHeaderCell.d.ts +2 -1
- package/components/table/render/header/TableDraggableHeaderCell.js +45 -33
- package/components/table/render/header/TableDraggableHeaderCell.js.map +1 -1
- package/components/table/render/header/TableHeader.types.d.ts +13 -9
- package/components/table/render/header/TableHeaderCellContent.d.ts +2 -1
- package/components/table/render/header/TableHeaderCellContent.js +16 -16
- package/components/table/render/header/TableHeaderCellContent.js.map +1 -1
- package/components/table/render/header/TableHeaderCellResizeHandle.d.ts +2 -1
- package/components/table/render/header/TableHeaderCellResizeHandle.js +8 -8
- package/components/table/render/header/TableHeaderCellResizeHandle.js.map +1 -1
- package/components/table/render/header/TableHeaderDragOverlay.d.ts +5 -4
- package/components/table/render/header/TableHeaderDragOverlay.js.map +1 -1
- package/components/table/render/header/TableStaticHeaderCell.d.ts +2 -1
- package/components/table/render/header/TableStaticHeaderCell.js +34 -20
- package/components/table/render/header/TableStaticHeaderCell.js.map +1 -1
- package/components/table/render/header/resolveAriaSort.d.ts +2 -1
- package/components/table/render/header/resolveAriaSort.js.map +1 -1
- package/components/table/render/header/resolveHeaderCellClassName.d.ts +5 -2
- package/components/table/render/header/resolveHeaderCellClassName.js +14 -12
- package/components/table/render/header/resolveHeaderCellClassName.js.map +1 -1
- package/components/table/render/header/resolveHeaderCellStyle.d.ts +2 -1
- package/components/table/render/header/resolveHeaderCellStyle.js.map +1 -1
- 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 +3 -3
- package/components/table/selection/useTableSelection.js.map +1 -1
- 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 +3 -2
- package/components/table/shared/getInteractiveRowProps.js.map +1 -1
- package/hooks/useDraggableElement.d.ts +27 -5
- package/hooks/useDraggableElement.js +100 -23
- package/hooks/useDraggableElement.js.map +1 -1
- package/hooks/usePopperDropdown.d.ts +1 -0
- package/hooks/usePopperDropdown.js +15 -12
- package/hooks/usePopperDropdown.js.map +1 -1
- package/hooks/useUrlState.js +3 -3
- package/package.json +16 -17
- package/utils/analytics/createAnalyticsOverlayTooltip.js +57 -57
- package/utils/analytics/createAnalyticsOverlayTooltip.js.map +1 -1
- package/utils/analytics/useAnalyticsOverlayDom.js +3 -3
- package/utils/init/initConfig.js +5 -5
- package/utils/init/initConfig.js.map +1 -1
- package/utils/routeUtils.d.ts +5 -2
- package/utils/routeUtils.js +17 -17
- package/utils/routeUtils.js.map +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.js.map +1 -1
- package/components/table/TableCard.d.ts +0 -63
- package/components/table/TableCard.js +0 -150
- package/components/table/TableCard.js.map +0 -1
- package/components/table/model/buildTableViewModel.d.ts +0 -28
- package/components/table/model/buildTableViewModel.js +0 -221
- package/components/table/model/buildTableViewModel.js.map +0 -1
- package/components/table/model/resolveCellContent.d.ts +0 -2
- package/components/table/model/resolveCellContent.js +0 -5
- package/components/table/model/resolveCellContent.js.map +0 -1
- package/components/table/model/tableViewModel.types.d.ts +0 -153
- package/components/table/parse/parseBody.d.ts +0 -3
- package/components/table/parse/parseBody.js +0 -13
- package/components/table/parse/parseBody.js.map +0 -1
- package/components/table/parse/parseColumns.d.ts +0 -3
- package/components/table/parse/parseColumns.js +0 -81
- package/components/table/parse/parseColumns.js.map +0 -1
- package/components/table/parse/parseFooter.d.ts +0 -3
- package/components/table/parse/parseFooter.js +0 -39
- package/components/table/parse/parseFooter.js.map +0 -1
- package/components/table/parse/parseHeaders.d.ts +0 -4
- package/components/table/parse/parseHeaders.js +0 -89
- package/components/table/parse/parseHeaders.js.map +0 -1
- package/components/table/parse/parseRows.d.ts +0 -3
- package/components/table/parse/parseRows.js +0 -93
- package/components/table/parse/parseRows.js.map +0 -1
- package/components/table/parse/tableChildGuards.d.ts +0 -25
- package/components/table/parse/tableChildGuards.js +0 -29
- package/components/table/parse/tableChildGuards.js.map +0 -1
- package/components/table/render/body/TableBodyRow.d.ts +0 -16
- package/components/table/render/body/TableBodyRow.js +0 -84
- package/components/table/render/body/TableBodyRow.js.map +0 -1
- package/components/table/render/body/TableBodySection.d.ts +0 -20
- package/components/table/render/body/TableBodySection.js +0 -68
- package/components/table/render/body/TableBodySection.js.map +0 -1
- package/components/table/render/body/TableDataRow.d.ts +0 -15
- package/components/table/render/body/TableDataRow.js +0 -143
- package/components/table/render/body/TableDataRow.js.map +0 -1
- package/components/table/render/body/TableExpandedRow.d.ts +0 -8
- package/components/table/render/body/TableExpandedRow.js +0 -84
- package/components/table/render/body/TableExpandedRow.js.map +0 -1
- package/components/table/render/body/TableGroupRow.d.ts +0 -8
- package/components/table/render/body/TableGroupRow.js +0 -21
- package/components/table/render/body/TableGroupRow.js.map +0 -1
- package/components/table/render/body/TableSpacerRow.d.ts +0 -7
- package/components/table/render/body/TableSpacerRow.js +0 -15
- package/components/table/render/body/TableSpacerRow.js.map +0 -1
- package/components/table/render/footer/TableFooterCell.d.ts +0 -8
- package/components/table/render/footer/TableFooterCell.js +0 -31
- package/components/table/render/footer/TableFooterCell.js.map +0 -1
- package/components/table/render/footer/TableFooterSection.d.ts +0 -10
- package/components/table/render/footer/TableFooterSection.js +0 -28
- package/components/table/render/footer/TableFooterSection.js.map +0 -1
- package/components/table/render/header/TableHeaderSection.d.ts +0 -3
- package/components/table/render/header/TableHeaderSection.js +0 -104
- package/components/table/render/header/TableHeaderSection.js.map +0 -1
|
@@ -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 localeFormatMap[localeCode] || fallback;\n\nconst parseDateString = (value: string | undefined, localeCode: string, dateFormat?: string): Date | undefined => {\n if (!value) {\n return;\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 update: updatePopperPosition,\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 updatePopperPosition={updatePopperPosition}\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","updatePopperPosition","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,19 @@
|
|
|
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
|
+
updatePopperPosition?: () => void;
|
|
10
|
+
leftSidebar?: ReactNode;
|
|
11
|
+
rightSidebar?: ReactNode;
|
|
12
|
+
footer?: ReactNode;
|
|
13
|
+
leftSidebarClassName?: string;
|
|
14
|
+
rightSidebarClassName?: string;
|
|
15
|
+
footerClassName?: string;
|
|
16
|
+
children: ReactNode;
|
|
17
|
+
};
|
|
18
|
+
declare const DayPickerDropdown: (props: DayPickerDropdownProps) => import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
export default DayPickerDropdown;
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { jsx as e, jsxs as n } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect as C } from "react";
|
|
3
|
+
import s from "../../utils/classNames.js";
|
|
4
|
+
import v from "./DayPickerDropdownFooter.js";
|
|
5
|
+
import u from "./DayPickerDropdownSidebar.js";
|
|
6
|
+
import S from "./useStackedDayPickerCalendars.js";
|
|
7
|
+
const z = (b) => {
|
|
8
|
+
const {
|
|
9
|
+
assignPopperElement: x,
|
|
10
|
+
popperStyles: w,
|
|
11
|
+
popperAttributes: h,
|
|
12
|
+
enableStackedCalendars: r = !1,
|
|
13
|
+
dropdownClassName: y,
|
|
14
|
+
outsideRef: D,
|
|
15
|
+
updatePopperPosition: l,
|
|
16
|
+
leftSidebar: a,
|
|
17
|
+
rightSidebar: t,
|
|
18
|
+
footer: d,
|
|
19
|
+
leftSidebarClassName: k,
|
|
20
|
+
rightSidebarClassName: N,
|
|
21
|
+
footerClassName: P,
|
|
22
|
+
children: c
|
|
23
|
+
} = b, { calendarsRef: g, stackCalendars: m } = S([c, a, t]);
|
|
24
|
+
C(() => {
|
|
25
|
+
if (!r || !l)
|
|
26
|
+
return;
|
|
27
|
+
const o = window.requestAnimationFrame(() => {
|
|
28
|
+
l();
|
|
29
|
+
});
|
|
30
|
+
return () => window.cancelAnimationFrame(o);
|
|
31
|
+
}, [r, m, l]);
|
|
32
|
+
const p = (o) => {
|
|
33
|
+
const f = o.target;
|
|
34
|
+
if (!f)
|
|
35
|
+
return;
|
|
36
|
+
const i = f.closest(
|
|
37
|
+
'input:not([type="button"]):not([type="submit"]):not([type="reset"]), select, textarea, [contenteditable="true"], [role="combobox"], [role="textbox"]'
|
|
38
|
+
);
|
|
39
|
+
i && !i.hasAttribute("disabled") && i.getAttribute("aria-disabled") !== "true" || o.preventDefault();
|
|
40
|
+
};
|
|
41
|
+
return /* @__PURE__ */ e(
|
|
42
|
+
"div",
|
|
43
|
+
{
|
|
44
|
+
ref: x,
|
|
45
|
+
style: w,
|
|
46
|
+
className: s(
|
|
47
|
+
"DayPickerDropdown z-index-max bg-white shadow-default rounded margin-y-3 border",
|
|
48
|
+
y
|
|
49
|
+
),
|
|
50
|
+
...h,
|
|
51
|
+
role: "dialog",
|
|
52
|
+
"aria-label": "DayPicker calendar",
|
|
53
|
+
children: /* @__PURE__ */ e(
|
|
54
|
+
"div",
|
|
55
|
+
{
|
|
56
|
+
ref: D,
|
|
57
|
+
className: "display-flex flex-column",
|
|
58
|
+
onPointerDownCapture: p,
|
|
59
|
+
onMouseDownCapture: p,
|
|
60
|
+
children: /* @__PURE__ */ n("div", { className: s(a && "display-flex flex-column-xs flex-row-sm"), children: [
|
|
61
|
+
a && /* @__PURE__ */ e(u, { className: k, children: a }),
|
|
62
|
+
/* @__PURE__ */ n("div", { children: [
|
|
63
|
+
/* @__PURE__ */ n("div", { className: s(t && "display-flex flex-column-xs flex-row-sm"), children: [
|
|
64
|
+
/* @__PURE__ */ e(
|
|
65
|
+
"div",
|
|
66
|
+
{
|
|
67
|
+
ref: r ? g : null,
|
|
68
|
+
className: s(
|
|
69
|
+
"DayPickerDropdown-calendars",
|
|
70
|
+
r && m && "stacked-calendars"
|
|
71
|
+
),
|
|
72
|
+
children: c
|
|
73
|
+
}
|
|
74
|
+
),
|
|
75
|
+
t && /* @__PURE__ */ e(u, { side: "right", className: N, children: t })
|
|
76
|
+
] }),
|
|
77
|
+
d && /* @__PURE__ */ e(v, { className: P, children: d })
|
|
78
|
+
] })
|
|
79
|
+
] })
|
|
80
|
+
}
|
|
81
|
+
)
|
|
82
|
+
}
|
|
83
|
+
);
|
|
84
|
+
};
|
|
85
|
+
export {
|
|
86
|
+
z as default
|
|
87
|
+
};
|
|
88
|
+
//# sourceMappingURL=DayPickerDropdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DayPickerDropdown.js","sources":["../../../src/components/datepicker/DayPickerDropdown.tsx"],"sourcesContent":["import { useEffect } from 'react';\nimport 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 updatePopperPosition?: () => void;\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 updatePopperPosition,\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 useEffect(() => {\n if (!enableStackedCalendars || !updatePopperPosition) {\n return;\n }\n\n const frameId = window.requestAnimationFrame(() => {\n updatePopperPosition();\n });\n\n return () => window.cancelAnimationFrame(frameId);\n }, [enableStackedCalendars, stackCalendars, updatePopperPosition]);\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 && 'display-flex flex-column-xs flex-row-sm')}>\n {leftSidebar && (\n <DayPickerDropdownSidebar className={leftSidebarClassName}>\n {leftSidebar}\n </DayPickerDropdownSidebar>\n )}\n <div>\n <div className={classNames(rightSidebar && 'display-flex flex-column-xs flex-row-sm')}>\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 </div>\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","updatePopperPosition","leftSidebar","rightSidebar","footer","leftSidebarClassName","rightSidebarClassName","footerClassName","children","calendarsRef","stackCalendars","useStackedDayPickerCalendars","useEffect","frameId","handlePointerDownCapture","event","target","focusableFieldElement","jsx","classNames","DayPickerDropdownSidebar","jsxs","DayPickerDropdownFooter"],"mappings":";;;;;;AA0BA,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,sBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,cAAAC;AAAA,IACA,QAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,UAAAC;AAAA,EAAA,IACAd,GAEE,EAAE,cAAAe,GAAc,gBAAAC,MAAmBC,EAA6B,CAACH,GAAUN,GAAaC,CAAY,CAAC;AAE3G,EAAAS,EAAU,MAAM;AACZ,QAAI,CAACd,KAA0B,CAACG;AAC5B;AAGJ,UAAMY,IAAU,OAAO,sBAAsB,MAAM;AAC/C,MAAAZ,EAAA;AAAA,IACJ,CAAC;AAED,WAAO,MAAM,OAAO,qBAAqBY,CAAO;AAAA,EACpD,GAAG,CAACf,GAAwBY,GAAgBT,CAAoB,CAAC;AAEjE,QAAMa,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,KAAKvB;AAAA,MACL,OAAOC;AAAA,MACP,WAAWuB;AAAA,QACP;AAAA,QACApB;AAAA,MAAA;AAAA,MAEH,GAAGF;AAAA,MACJ,MAAK;AAAA,MACL,cAAW;AAAA,MAEX,UAAA,gBAAAqB;AAAA,QAAC;AAAA,QAAA;AAAA,UACG,KAAKlB;AAAA,UACL,WAAU;AAAA,UACV,sBAAsBc;AAAA,UACtB,oBAAoBA;AAAA,UAGpB,4BAAC,OAAA,EAAI,WAAWK,EAAWjB,KAAe,yCAAyC,GAC9E,UAAA;AAAA,YAAAA,KACG,gBAAAgB,EAACE,GAAA,EAAyB,WAAWf,GAChC,UAAAH,GACL;AAAA,8BAEH,OAAA,EACG,UAAA;AAAA,cAAA,gBAAAmB,EAAC,OAAA,EAAI,WAAWF,EAAWhB,KAAgB,yCAAyC,GAChF,UAAA;AAAA,gBAAA,gBAAAe;AAAA,kBAAC;AAAA,kBAAA;AAAA,oBACG,KAAKpB,IAAyBW,IAAe;AAAA,oBAC7C,WAAWU;AAAA,sBACP;AAAA,sBACArB,KAA0BY,KAAkB;AAAA,oBAAA;AAAA,oBAG/C,UAAAF;AAAA,kBAAA;AAAA,gBAAA;AAAA,gBAEJL,KACG,gBAAAe,EAACE,GAAA,EAAyB,MAAK,SAAQ,WAAWd,GAC7C,UAAAH,EAAA,CACL;AAAA,cAAA,GAER;AAAA,cACCC,KACG,gBAAAc,EAACI,GAAA,EAAwB,WAAWf,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;"}
|