@cognite/aura 0.3.4 → 1.46104.0
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/CHANGELOG.md +264 -0
- package/DESIGN.md +638 -281
- package/LICENSE +21 -0
- package/README.md +48 -13
- package/dist/colors-deprecated.css +587 -0
- package/dist/colors.css +803 -830
- package/dist/components/index.d.ts +63 -57
- package/dist/components/index.js +62 -59
- package/dist/components/index.js.map +1 -0
- package/dist/components/ui/core/accordion/accordion.d.ts +19 -18
- package/dist/components/ui/core/accordion/accordion.js +99 -78
- package/dist/components/ui/core/accordion/accordion.js.map +1 -0
- package/dist/components/ui/core/action-toolbar/action-toolbar-motion.d.ts +8 -0
- package/dist/components/ui/core/action-toolbar/action-toolbar-motion.js +125 -0
- package/dist/components/ui/core/action-toolbar/action-toolbar-motion.js.map +1 -0
- package/dist/components/ui/core/action-toolbar/action-toolbar.d.ts +31 -31
- package/dist/components/ui/core/action-toolbar/action-toolbar.js +156 -106
- package/dist/components/ui/core/action-toolbar/action-toolbar.js.map +1 -0
- package/dist/components/ui/core/alert/alert.d.ts +25 -25
- package/dist/components/ui/core/alert/alert.js +181 -152
- package/dist/components/ui/core/alert/alert.js.map +1 -0
- package/dist/components/ui/core/avatar/avatar.d.ts +10 -9
- package/dist/components/ui/core/avatar/avatar.js +75 -65
- package/dist/components/ui/core/avatar/avatar.js.map +1 -0
- package/dist/components/ui/core/badge/badge.d.ts +13 -12
- package/dist/components/ui/core/badge/badge.js +88 -72
- package/dist/components/ui/core/badge/badge.js.map +1 -0
- package/dist/components/ui/core/banner/banner.d.ts +18 -18
- package/dist/components/ui/core/banner/banner.js +179 -142
- package/dist/components/ui/core/banner/banner.js.map +1 -0
- package/dist/components/ui/core/breadcrumb/breadcrumb.d.ts +12 -12
- package/dist/components/ui/core/breadcrumb/breadcrumb.js +139 -104
- package/dist/components/ui/core/breadcrumb/breadcrumb.js.map +1 -0
- package/dist/components/ui/core/button/button.d.ts +7 -7
- package/dist/components/ui/core/button/button.gallery.d.ts +2 -0
- package/dist/components/ui/core/button/button.gallery.js +76 -0
- package/dist/components/ui/core/button/button.gallery.js.map +1 -0
- package/dist/components/ui/core/button/button.js +57 -47
- package/dist/components/ui/core/button/button.js.map +1 -0
- package/dist/components/ui/core/button-group/button-group.d.ts +9 -9
- package/dist/components/ui/core/button-group/button-group.js +50 -40
- package/dist/components/ui/core/button-group/button-group.js.map +1 -0
- package/dist/components/ui/core/calendar/calendar-header.d.ts +7 -7
- package/dist/components/ui/core/calendar/calendar-header.js +102 -63
- package/dist/components/ui/core/calendar/calendar-header.js.map +1 -0
- package/dist/components/ui/core/calendar/calendar-utils.d.ts +30 -30
- package/dist/components/ui/core/calendar/calendar-utils.js +116 -39
- package/dist/components/ui/core/calendar/calendar-utils.js.map +1 -0
- package/dist/components/ui/core/calendar/calendar.d.ts +10 -10
- package/dist/components/ui/core/calendar/calendar.js +95 -66
- package/dist/components/ui/core/calendar/calendar.js.map +1 -0
- package/dist/components/ui/core/calendar/constants.js +3 -0
- package/dist/components/ui/core/calendar/constants.js.map +1 -0
- package/dist/components/ui/core/card/card.d.ts +20 -20
- package/dist/components/ui/core/card/card.js +133 -104
- package/dist/components/ui/core/card/card.js.map +1 -0
- package/dist/components/ui/core/chart/chart.d.ts +55 -53
- package/dist/components/ui/core/chart/chart.js +196 -116
- package/dist/components/ui/core/chart/chart.js.map +1 -0
- package/dist/components/ui/core/chart/index.d.ts +2 -2
- package/dist/components/ui/core/chart/index.js +3 -2
- package/dist/components/ui/core/chart/index.js.map +1 -0
- package/dist/components/ui/core/checkbox/checkbox.d.ts +9 -9
- package/dist/components/ui/core/checkbox/checkbox.js +88 -68
- package/dist/components/ui/core/checkbox/checkbox.js.map +1 -0
- package/dist/components/ui/core/checkbox/checkbox.metadata.d.ts +1 -1
- package/dist/components/ui/core/checkbox/checkbox.metadata.js +6 -7
- package/dist/components/ui/core/checkbox/checkbox.metadata.js.map +1 -0
- package/dist/components/ui/core/code-block/code-block.d.ts +19 -19
- package/dist/components/ui/core/code-block/code-block.js +259 -175
- package/dist/components/ui/core/code-block/code-block.js.map +1 -0
- package/dist/components/ui/core/collapsible/collapsible.d.ts +5 -5
- package/dist/components/ui/core/collapsible/collapsible.js +36 -30
- package/dist/components/ui/core/collapsible/collapsible.js.map +1 -0
- package/dist/components/ui/core/combobox/combobox.d.ts +13 -13
- package/dist/components/ui/core/combobox/combobox.js +89 -40
- package/dist/components/ui/core/combobox/combobox.js.map +1 -0
- package/dist/components/ui/core/command/command.d.ts +20 -18
- package/dist/components/ui/core/command/command.js +137 -85
- package/dist/components/ui/core/command/command.js.map +1 -0
- package/dist/components/ui/core/conversation/conversation.d.ts +14 -0
- package/dist/components/ui/core/conversation/conversation.js +51 -0
- package/dist/components/ui/core/conversation/conversation.js.map +1 -0
- package/dist/components/ui/core/count/count.d.ts +8 -6
- package/dist/components/ui/core/count/count.js +51 -21
- package/dist/components/ui/core/count/count.js.map +1 -0
- package/dist/components/ui/core/data-grid/data-grid-cell.d.ts +7 -7
- package/dist/components/ui/core/data-grid/data-grid-cell.js +23 -0
- package/dist/components/ui/core/data-grid/data-grid-cell.js.map +1 -0
- package/dist/components/ui/core/data-grid/data-grid-filter-clauses.d.ts +14 -0
- package/dist/components/ui/core/data-grid/data-grid-filter-clauses.js +36 -0
- package/dist/components/ui/core/data-grid/data-grid-filter-clauses.js.map +1 -0
- package/dist/components/ui/core/data-grid/data-grid-filter-panel.d.ts +41 -0
- package/dist/components/ui/core/data-grid/data-grid-filter-panel.js +273 -0
- package/dist/components/ui/core/data-grid/data-grid-filter-panel.js.map +1 -0
- package/dist/components/ui/core/data-grid/data-grid-footer.d.ts +6 -0
- package/dist/components/ui/core/data-grid/data-grid-footer.js +34 -0
- package/dist/components/ui/core/data-grid/data-grid-footer.js.map +1 -0
- package/dist/components/ui/core/data-grid/data-grid-header-row.d.ts +10 -10
- package/dist/components/ui/core/data-grid/data-grid-header-row.js +70 -0
- package/dist/components/ui/core/data-grid/data-grid-header-row.js.map +1 -0
- package/dist/components/ui/core/data-grid/data-grid-header.d.ts +11 -0
- package/dist/components/ui/core/data-grid/data-grid-header.js +67 -0
- package/dist/components/ui/core/data-grid/data-grid-header.js.map +1 -0
- package/dist/components/ui/core/data-grid/data-grid-row.d.ts +15 -15
- package/dist/components/ui/core/data-grid/data-grid-row.js +105 -0
- package/dist/components/ui/core/data-grid/data-grid-row.js.map +1 -0
- package/dist/components/ui/core/data-grid/data-grid.d.ts +85 -35
- package/dist/components/ui/core/data-grid/data-grid.fixtures.d.ts +7 -7
- package/dist/components/ui/core/data-grid/data-grid.fixtures.js +139 -0
- package/dist/components/ui/core/data-grid/data-grid.fixtures.js.map +1 -0
- package/dist/components/ui/core/data-grid/data-grid.js +404 -0
- package/dist/components/ui/core/data-grid/data-grid.js.map +1 -0
- package/dist/components/ui/core/data-grid/data-grid.utils.d.ts +3 -3
- package/dist/components/ui/core/data-grid/data-grid.utils.js +51 -0
- package/dist/components/ui/core/data-grid/data-grid.utils.js.map +1 -0
- package/dist/components/ui/core/data-grid/index.d.ts +4 -0
- package/dist/components/ui/core/data-grid/index.js +5 -0
- package/dist/components/ui/core/data-grid/index.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/date-picker/date-picker.d.ts +11 -13
- package/dist/components/ui/core/date-time-pickers/date-picker/date-picker.js +85 -61
- package/dist/components/ui/core/date-time-pickers/date-picker/date-picker.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/date-picker/index.d.ts +3 -3
- package/dist/components/ui/core/date-time-pickers/date-picker/index.js +3 -0
- package/dist/components/ui/core/date-time-pickers/date-picker/index.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/date-picker/types.d.ts +14 -14
- package/dist/components/ui/core/date-time-pickers/date-picker/types.js +3 -0
- package/dist/components/ui/core/date-time-pickers/date-picker/types.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/date-picker/use-date-picker.d.ts +2 -2
- package/dist/components/ui/core/date-time-pickers/date-picker/use-date-picker.js +51 -36
- package/dist/components/ui/core/date-time-pickers/date-picker/use-date-picker.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/date-range-picker/date-range-picker.d.ts +11 -13
- package/dist/components/ui/core/date-time-pickers/date-range-picker/date-range-picker.js +89 -64
- package/dist/components/ui/core/date-time-pickers/date-range-picker/date-range-picker.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/date-range-picker/index.d.ts +3 -3
- package/dist/components/ui/core/date-time-pickers/date-range-picker/index.js +3 -0
- package/dist/components/ui/core/date-time-pickers/date-range-picker/index.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/date-range-picker/types.d.ts +20 -20
- package/dist/components/ui/core/date-time-pickers/date-range-picker/types.js +3 -0
- package/dist/components/ui/core/date-time-pickers/date-range-picker/types.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/date-range-picker/use-date-range-picker.d.ts +4 -4
- package/dist/components/ui/core/date-time-pickers/date-range-picker/use-date-range-picker.js +95 -60
- package/dist/components/ui/core/date-time-pickers/date-range-picker/use-date-range-picker.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/date-time-picker/date-time-picker.d.ts +15 -0
- package/dist/components/ui/core/date-time-pickers/date-time-picker/date-time-picker.js +120 -0
- package/dist/components/ui/core/date-time-pickers/date-time-picker/date-time-picker.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/date-time-picker/index.d.ts +3 -1
- package/dist/components/ui/core/date-time-pickers/date-time-picker/index.js +3 -0
- package/dist/components/ui/core/date-time-pickers/date-time-picker/index.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/date-time-picker/types.d.ts +25 -32
- package/dist/components/ui/core/date-time-pickers/date-time-picker/types.js +3 -0
- package/dist/components/ui/core/date-time-pickers/date-time-picker/types.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/date-time-picker/use-date-time-picker.d.ts +2 -2
- package/dist/components/ui/core/date-time-pickers/date-time-picker/use-date-time-picker.js +78 -0
- package/dist/components/ui/core/date-time-pickers/date-time-picker/use-date-time-picker.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/date-time-range-picker/date-time-range-picker.d.ts +13 -15
- package/dist/components/ui/core/date-time-pickers/date-time-range-picker/date-time-range-picker.js +165 -119
- package/dist/components/ui/core/date-time-pickers/date-time-range-picker/date-time-range-picker.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/date-time-range-picker/index.d.ts +3 -3
- package/dist/components/ui/core/date-time-pickers/date-time-range-picker/index.js +3 -0
- package/dist/components/ui/core/date-time-pickers/date-time-range-picker/index.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/date-time-range-picker/types.d.ts +37 -37
- package/dist/components/ui/core/date-time-pickers/date-time-range-picker/types.js +3 -0
- package/dist/components/ui/core/date-time-pickers/date-time-range-picker/types.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/date-time-range-picker/use-date-time-range-picker.d.ts +3 -3
- package/dist/components/ui/core/date-time-pickers/date-time-range-picker/use-date-time-range-picker.js +163 -104
- package/dist/components/ui/core/date-time-pickers/date-time-range-picker/use-date-time-range-picker.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/index.d.ts +17 -12
- package/dist/components/ui/core/date-time-pickers/index.js +10 -6
- package/dist/components/ui/core/date-time-pickers/index.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/shared/am-pm-scroll/am-pm-scroll.d.ts +5 -5
- package/dist/components/ui/core/date-time-pickers/shared/am-pm-scroll/am-pm-scroll.js +52 -42
- package/dist/components/ui/core/date-time-pickers/shared/am-pm-scroll/am-pm-scroll.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/shared/constants.d.ts +6 -1
- package/dist/components/ui/core/date-time-pickers/shared/constants.js +23 -0
- package/dist/components/ui/core/date-time-pickers/shared/constants.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/shared/date-time-input/date-time-input.d.ts +16 -15
- package/dist/components/ui/core/date-time-pickers/shared/date-time-input/date-time-input.js +87 -64
- package/dist/components/ui/core/date-time-pickers/shared/date-time-input/date-time-input.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/shared/date-time-input/range-input-display.d.ts +10 -9
- package/dist/components/ui/core/date-time-pickers/shared/date-time-input/range-input-display.js +89 -38
- package/dist/components/ui/core/date-time-pickers/shared/date-time-input/range-input-display.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/shared/hooks/use-popover-state.d.ts +5 -5
- package/dist/components/ui/core/date-time-pickers/shared/hooks/use-popover-state.js +34 -23
- package/dist/components/ui/core/date-time-pickers/shared/hooks/use-popover-state.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/shared/hooks/use-range-date-state.d.ts +23 -23
- package/dist/components/ui/core/date-time-pickers/shared/hooks/use-range-date-state.js +95 -52
- package/dist/components/ui/core/date-time-pickers/shared/hooks/use-range-date-state.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/shared/hooks/use-range-step-manager.d.ts +5 -5
- package/dist/components/ui/core/date-time-pickers/shared/hooks/use-range-step-manager.js +22 -18
- package/dist/components/ui/core/date-time-pickers/shared/hooks/use-range-step-manager.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/shared/hooks/use-single-date-state.d.ts +19 -19
- package/dist/components/ui/core/date-time-pickers/shared/hooks/use-single-date-state.js +41 -24
- package/dist/components/ui/core/date-time-pickers/shared/hooks/use-single-date-state.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/shared/hooks/use-time-state.d.ts +13 -13
- package/dist/components/ui/core/date-time-pickers/shared/hooks/use-time-state.js +33 -24
- package/dist/components/ui/core/date-time-pickers/shared/hooks/use-time-state.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/shared/scroll-cell-classes.d.ts +5 -5
- package/dist/components/ui/core/date-time-pickers/shared/scroll-cell-classes.js +9 -4
- package/dist/components/ui/core/date-time-pickers/shared/scroll-cell-classes.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/shared/shortcuts-panel/shortcuts-panel.d.ts +13 -9
- package/dist/components/ui/core/date-time-pickers/shared/shortcuts-panel/shortcuts-panel.js +22 -17
- package/dist/components/ui/core/date-time-pickers/shared/shortcuts-panel/shortcuts-panel.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/shared/time-picker-panel/index.d.ts +2 -2
- package/dist/components/ui/core/date-time-pickers/shared/time-picker-panel/index.js +3 -0
- package/dist/components/ui/core/date-time-pickers/shared/time-picker-panel/index.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/shared/time-picker-panel/time-picker-panel.d.ts +13 -13
- package/dist/components/ui/core/date-time-pickers/shared/time-picker-panel/time-picker-panel.js +49 -40
- package/dist/components/ui/core/date-time-pickers/shared/time-picker-panel/time-picker-panel.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/shared/time-picker-scroll/time-picker-scroll.d.ts +7 -7
- package/dist/components/ui/core/date-time-pickers/shared/time-picker-scroll/time-picker-scroll.js +41 -34
- package/dist/components/ui/core/date-time-pickers/shared/time-picker-scroll/time-picker-scroll.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/time-picker/index.d.ts +3 -3
- package/dist/components/ui/core/date-time-pickers/time-picker/index.js +3 -0
- package/dist/components/ui/core/date-time-pickers/time-picker/index.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/time-picker/time-picker.d.ts +12 -14
- package/dist/components/ui/core/date-time-pickers/time-picker/time-picker.js +99 -79
- package/dist/components/ui/core/date-time-pickers/time-picker/time-picker.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/time-picker/types.d.ts +20 -20
- package/dist/components/ui/core/date-time-pickers/time-picker/types.js +3 -0
- package/dist/components/ui/core/date-time-pickers/time-picker/types.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/time-picker/use-time-picker.d.ts +2 -2
- package/dist/components/ui/core/date-time-pickers/time-picker/use-time-picker.js +63 -41
- package/dist/components/ui/core/date-time-pickers/time-picker/use-time-picker.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/time-range-picker/index.d.ts +3 -1
- package/dist/components/ui/core/date-time-pickers/time-range-picker/index.js +3 -0
- package/dist/components/ui/core/date-time-pickers/time-range-picker/index.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/time-range-picker/time-range-picker.d.ts +14 -0
- package/dist/components/ui/core/date-time-pickers/time-range-picker/time-range-picker.js +115 -0
- package/dist/components/ui/core/date-time-pickers/time-range-picker/time-range-picker.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/time-range-picker/types.d.ts +30 -36
- package/dist/components/ui/core/date-time-pickers/time-range-picker/types.js +3 -0
- package/dist/components/ui/core/date-time-pickers/time-range-picker/types.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/time-range-picker/use-time-range-picker.d.ts +2 -2
- package/dist/components/ui/core/date-time-pickers/time-range-picker/use-time-range-picker.js +145 -0
- package/dist/components/ui/core/date-time-pickers/time-range-picker/use-time-range-picker.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/utils/date-input.d.ts +56 -0
- package/dist/components/ui/core/date-time-pickers/utils/date-input.js +67 -0
- package/dist/components/ui/core/date-time-pickers/utils/date-input.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/utils/date-range-utils.d.ts +18 -18
- package/dist/components/ui/core/date-time-pickers/utils/date-range-utils.js +42 -0
- package/dist/components/ui/core/date-time-pickers/utils/date-range-utils.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/utils/format-utils.d.ts +31 -29
- package/dist/components/ui/core/date-time-pickers/utils/format-utils.js +56 -0
- package/dist/components/ui/core/date-time-pickers/utils/format-utils.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/utils/segment-utils.d.ts +21 -21
- package/dist/components/ui/core/date-time-pickers/utils/segment-utils.js +170 -0
- package/dist/components/ui/core/date-time-pickers/utils/segment-utils.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/utils/time-utils.d.ts +28 -28
- package/dist/components/ui/core/date-time-pickers/utils/time-utils.js +88 -7
- package/dist/components/ui/core/date-time-pickers/utils/time-utils.js.map +1 -0
- package/dist/components/ui/core/date-time-pickers/utils/time-validation.d.ts +17 -17
- package/dist/components/ui/core/date-time-pickers/utils/time-validation.js +43 -0
- package/dist/components/ui/core/date-time-pickers/utils/time-validation.js.map +1 -0
- package/dist/components/ui/core/dialog/dialog.d.ts +12 -9
- package/dist/components/ui/core/dialog/dialog.js +90 -82
- package/dist/components/ui/core/dialog/dialog.js.map +1 -0
- package/dist/components/ui/core/dropdown-menu/dropdown-menu.d.ts +22 -19
- package/dist/components/ui/core/dropdown-menu/dropdown-menu.js +204 -149
- package/dist/components/ui/core/dropdown-menu/dropdown-menu.js.map +1 -0
- package/dist/components/ui/core/empty-state/empty-state.context.d.ts +4 -4
- package/dist/components/ui/core/empty-state/empty-state.context.js +8 -5
- package/dist/components/ui/core/empty-state/empty-state.context.js.map +1 -0
- package/dist/components/ui/core/empty-state/empty-state.d.ts +14 -14
- package/dist/components/ui/core/empty-state/empty-state.js +96 -82
- package/dist/components/ui/core/empty-state/empty-state.js.map +1 -0
- package/dist/components/ui/core/helper-text/helper-text.d.ts +7 -7
- package/dist/components/ui/core/helper-text/helper-text.js +55 -36
- package/dist/components/ui/core/helper-text/helper-text.js.map +1 -0
- package/dist/components/ui/core/hover-card/hover-card.d.ts +7 -6
- package/dist/components/ui/core/hover-card/hover-card.js +56 -52
- package/dist/components/ui/core/hover-card/hover-card.js.map +1 -0
- package/dist/components/ui/core/inline-citation/inline-citation.d.ts +26 -25
- package/dist/components/ui/core/inline-citation/inline-citation.js +121 -97
- package/dist/components/ui/core/inline-citation/inline-citation.js.map +1 -0
- package/dist/components/ui/core/input/input.d.ts +2 -2
- package/dist/components/ui/core/input/input.js +15 -13
- package/dist/components/ui/core/input/input.js.map +1 -0
- package/dist/components/ui/core/input-group/input-group.d.ts +25 -14
- package/dist/components/ui/core/input-group/input-group.js +149 -76
- package/dist/components/ui/core/input-group/input-group.js.map +1 -0
- package/dist/components/ui/core/item/item.d.ts +20 -0
- package/dist/components/ui/core/item/item.js +93 -0
- package/dist/components/ui/core/item/item.js.map +1 -0
- package/dist/components/ui/core/kbd/kbd.d.ts +3 -3
- package/dist/components/ui/core/kbd/kbd.js +24 -20
- package/dist/components/ui/core/kbd/kbd.js.map +1 -0
- package/dist/components/ui/core/label/label.d.ts +3 -3
- package/dist/components/ui/core/label/label.js +33 -26
- package/dist/components/ui/core/label/label.js.map +1 -0
- package/dist/components/ui/core/loader/loader.d.ts +6 -6
- package/dist/components/ui/core/loader/loader.js +97 -80
- package/dist/components/ui/core/loader/loader.js.map +1 -0
- package/dist/components/ui/core/message/message-response-default-streamdown-controls.d.ts +9 -9
- package/dist/components/ui/core/message/message-response-default-streamdown-controls.js +19 -12
- package/dist/components/ui/core/message/message-response-default-streamdown-controls.js.map +1 -0
- package/dist/components/ui/core/message/message-response-math-plugin.d.ts +3 -0
- package/dist/components/ui/core/message/message-response-math-plugin.js +6 -0
- package/dist/components/ui/core/message/message-response-math-plugin.js.map +1 -0
- package/dist/components/ui/core/message/message.d.ts +27 -23
- package/dist/components/ui/core/message/message.js +453 -316
- package/dist/components/ui/core/message/message.js.map +1 -0
- package/dist/components/ui/core/overflow-list/overflow-list.d.ts +21 -0
- package/dist/components/ui/core/overflow-list/overflow-list.js +197 -0
- package/dist/components/ui/core/overflow-list/overflow-list.js.map +1 -0
- package/dist/components/ui/core/overflow-list/overflow-list.utils.d.ts +37 -35
- package/dist/components/ui/core/overflow-list/overflow-list.utils.js +206 -0
- package/dist/components/ui/core/overflow-list/overflow-list.utils.js.map +1 -0
- package/dist/components/ui/core/pagination/pagination-size-context.d.ts +2 -2
- package/dist/components/ui/core/pagination/pagination-size-context.js +6 -5
- package/dist/components/ui/core/pagination/pagination-size-context.js.map +1 -0
- package/dist/components/ui/core/pagination/pagination-teleport.d.ts +9 -9
- package/dist/components/ui/core/pagination/pagination-teleport.js +127 -84
- package/dist/components/ui/core/pagination/pagination-teleport.js.map +1 -0
- package/dist/components/ui/core/pagination/pagination-teleport.utils.js +6 -6
- package/dist/components/ui/core/pagination/pagination-teleport.utils.js.map +1 -0
- package/dist/components/ui/core/pagination/pagination.d.ts +39 -39
- package/dist/components/ui/core/pagination/pagination.js +294 -234
- package/dist/components/ui/core/pagination/pagination.js.map +1 -0
- package/dist/components/ui/core/popover/popover.d.ts +12 -11
- package/dist/components/ui/core/popover/popover.js +104 -89
- package/dist/components/ui/core/popover/popover.js.map +1 -0
- package/dist/components/ui/core/progress/progress.d.ts +9 -8
- package/dist/components/ui/core/progress/progress.js +50 -35
- package/dist/components/ui/core/progress/progress.js.map +1 -0
- package/dist/components/ui/core/prompt-input/prompt-input.d.ts +27 -27
- package/dist/components/ui/core/prompt-input/prompt-input.js +342 -271
- package/dist/components/ui/core/prompt-input/prompt-input.js.map +1 -0
- package/dist/components/ui/core/radio-group/radio-group.d.ts +12 -12
- package/dist/components/ui/core/radio-group/radio-group.js +88 -58
- package/dist/components/ui/core/radio-group/radio-group.js.map +1 -0
- package/dist/components/ui/core/reasoning/reasoning.d.ts +7 -7
- package/dist/components/ui/core/reasoning/reasoning.js +68 -56
- package/dist/components/ui/core/reasoning/reasoning.js.map +1 -0
- package/dist/components/ui/core/scroll-area/scroll-area.d.ts +4 -4
- package/dist/components/ui/core/scroll-area/scroll-area.js +50 -40
- package/dist/components/ui/core/scroll-area/scroll-area.js.map +1 -0
- package/dist/components/ui/core/search/search.d.ts +8 -8
- package/dist/components/ui/core/search/search.js +122 -76
- package/dist/components/ui/core/search/search.js.map +1 -0
- package/dist/components/ui/core/segmented-control/segmented-control.d.ts +17 -11
- package/dist/components/ui/core/segmented-control/segmented-control.js +204 -108
- package/dist/components/ui/core/segmented-control/segmented-control.js.map +1 -0
- package/dist/components/ui/core/select/select.d.ts +27 -26
- package/dist/components/ui/core/select/select.js +213 -168
- package/dist/components/ui/core/select/select.js.map +1 -0
- package/dist/components/ui/core/separator/separator.d.ts +2 -2
- package/dist/components/ui/core/separator/separator.js +13 -13
- package/dist/components/ui/core/separator/separator.js.map +1 -0
- package/dist/components/ui/core/shimmer/shimmer.d.ts +8 -8
- package/dist/components/ui/core/shimmer/shimmer.js +64 -40
- package/dist/components/ui/core/shimmer/shimmer.js.map +1 -0
- package/dist/components/ui/core/skeleton/skeleton.d.ts +2 -2
- package/dist/components/ui/core/skeleton/skeleton.js +13 -13
- package/dist/components/ui/core/skeleton/skeleton.js.map +1 -0
- package/dist/components/ui/core/slider/slider.d.ts +7 -7
- package/dist/components/ui/core/slider/slider.js +51 -39
- package/dist/components/ui/core/slider/slider.js.map +1 -0
- package/dist/components/ui/core/sonner-toast/sonner-toast.d.ts +2 -2
- package/dist/components/ui/core/sonner-toast/sonner-toast.js +67 -54
- package/dist/components/ui/core/sonner-toast/sonner-toast.js.map +1 -0
- package/dist/components/ui/core/sources/sources.d.ts +12 -12
- package/dist/components/ui/core/sources/sources.js +87 -58
- package/dist/components/ui/core/sources/sources.js.map +1 -0
- package/dist/components/ui/core/switch/switch.d.ts +9 -9
- package/dist/components/ui/core/switch/switch.js +83 -61
- package/dist/components/ui/core/switch/switch.js.map +1 -0
- package/dist/components/ui/core/switch/switch.metadata.d.ts +1 -1
- package/dist/components/ui/core/switch/switch.metadata.js +8 -0
- package/dist/components/ui/core/switch/switch.metadata.js.map +1 -0
- package/dist/components/ui/core/tabs/tabs.d.ts +20 -18
- package/dist/components/ui/core/tabs/tabs.js +176 -147
- package/dist/components/ui/core/tabs/tabs.js.map +1 -0
- package/dist/components/ui/core/tabs/tabs.utils.d.ts +1 -1
- package/dist/components/ui/core/tabs/tabs.utils.js +10 -6
- package/dist/components/ui/core/tabs/tabs.utils.js.map +1 -0
- package/dist/components/ui/core/textarea/textarea.d.ts +2 -2
- package/dist/components/ui/core/textarea/textarea.js +13 -13
- package/dist/components/ui/core/textarea/textarea.js.map +1 -0
- package/dist/components/ui/core/toggle/toggle.d.ts +9 -9
- package/dist/components/ui/core/toggle/toggle.js +60 -54
- package/dist/components/ui/core/toggle/toggle.js.map +1 -0
- package/dist/components/ui/core/tool/tool.d.ts +18 -18
- package/dist/components/ui/core/tool/tool.js +167 -126
- package/dist/components/ui/core/tool/tool.js.map +1 -0
- package/dist/components/ui/core/toolbar/toolbar.d.ts +37 -0
- package/dist/components/ui/core/toolbar/toolbar.js +171 -0
- package/dist/components/ui/core/toolbar/toolbar.js.map +1 -0
- package/dist/components/ui/core/tooltip/tooltip.d.ts +8 -7
- package/dist/components/ui/core/tooltip/tooltip.js +53 -46
- package/dist/components/ui/core/tooltip/tooltip.js.map +1 -0
- package/dist/components/ui/core/topbar/topbar.d.ts +26 -26
- package/dist/components/ui/core/topbar/topbar.js +160 -105
- package/dist/components/ui/core/topbar/topbar.js.map +1 -0
- package/dist/components/ui/core/tree/tree.d.ts +20 -0
- package/dist/components/ui/core/tree/tree.js +100 -0
- package/dist/components/ui/core/tree/tree.js.map +1 -0
- package/dist/eslint/index.d.ts +5 -5
- package/dist/eslint/index.js +9 -5
- package/dist/eslint/index.js.map +1 -0
- package/dist/eslint/no-overriding-styles.d.ts +1 -1
- package/dist/eslint/no-overriding-styles.js +341 -201
- package/dist/eslint/no-overriding-styles.js.map +1 -0
- package/dist/icons/index.d.ts +1 -1
- package/dist/icons/index.js +2 -0
- package/dist/icons/index.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/ai/types.d.ts +43 -43
- package/dist/lib/ai/types.js +3 -0
- package/dist/lib/ai/types.js.map +1 -0
- package/dist/lib/decorative-variant-classes.d.ts +53 -0
- package/dist/lib/decorative-variant-classes.js +58 -0
- package/dist/lib/decorative-variant-classes.js.map +1 -0
- package/dist/lib/highlight-code.d.ts +11 -8
- package/dist/lib/highlight-code.js +58 -40
- package/dist/lib/highlight-code.js.map +1 -0
- package/dist/lib/portal-container-context.d.ts +1 -1
- package/dist/lib/portal-container-context.js +8 -8
- package/dist/lib/portal-container-context.js.map +1 -0
- package/dist/lib/shared-theme-from-url.d.ts +13 -0
- package/dist/lib/shared-theme-from-url.js +61 -0
- package/dist/lib/shared-theme-from-url.js.map +1 -0
- package/dist/lib/style-scope.d.ts +2 -2
- package/dist/lib/style-scope.js +6 -6
- package/dist/lib/style-scope.js.map +1 -0
- package/dist/lib/theme-share-url.d.ts +31 -0
- package/dist/lib/theme-share-url.js +116 -0
- package/dist/lib/theme-share-url.js.map +1 -0
- package/dist/lib/types.d.ts +39 -39
- package/dist/lib/types.js +3 -0
- package/dist/lib/types.js.map +1 -0
- package/dist/lib/use-controllable-state.d.ts +4 -7
- package/dist/lib/use-controllable-state.js +34 -21
- package/dist/lib/use-controllable-state.js.map +1 -0
- package/dist/lib/utils.d.ts +63 -34
- package/dist/lib/utils.js +134 -32
- package/dist/lib/utils.js.map +1 -0
- package/dist/styles.css +2 -1
- package/dist/styles.source.css +24 -12
- package/dist/utils/assign-ref.d.ts +3 -0
- package/dist/utils/assign-ref.js +13 -0
- package/dist/utils/assign-ref.js.map +1 -0
- package/package.json +50 -11
- package/src/components/ui/core/button/button.md +93 -0
|
@@ -1,64 +1,89 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { Calendar
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from "../../../../../lib/utils.js";
|
|
3
|
+
import { Calendar } from "../../calendar/calendar.js";
|
|
4
|
+
import { Popover, PopoverContent, PopoverTrigger } from "../../popover/popover.js";
|
|
5
|
+
import { DateTimeInput } from "../shared/date-time-input/date-time-input.js";
|
|
6
|
+
import { ShortcutsPanel } from "../shared/shortcuts-panel/shortcuts-panel.js";
|
|
7
|
+
import { normalizeIn, normalizeOutRange, normalizeShortcutValue, resolveValueType } from "../utils/date-input.js";
|
|
8
|
+
import { useDateRangePicker } from "./use-date-range-picker.js";
|
|
9
|
+
export function DateRangePicker({ value, onChange, format = 'DD/MM/YYYY', placeholder, displayWeekNumber = false, shortcuts, defaultDate, valueType, className }) {
|
|
10
|
+
const resolvedType = resolveValueType(value[0] ?? value[1], defaultDate, valueType);
|
|
11
|
+
const djValue = [
|
|
12
|
+
normalizeIn(value[0]),
|
|
13
|
+
normalizeIn(value[1])
|
|
14
|
+
];
|
|
15
|
+
const djDefault = defaultDate != null ? normalizeIn(defaultDate) ?? undefined : undefined;
|
|
16
|
+
const handleChange = (range)=>{
|
|
17
|
+
onChange(normalizeOutRange(range, resolvedType));
|
|
18
|
+
};
|
|
19
|
+
const djShortcuts = shortcuts?.map((shortcut)=>({
|
|
20
|
+
...shortcut,
|
|
21
|
+
getValue: ()=>normalizeShortcutValue(shortcut.getValue())
|
|
22
|
+
}));
|
|
23
|
+
const { isOpen, step, displayedMonth, tempStart, tempEnd, hoverDate, handleOpenChange, handleDateClick, handleMonthChange, handleDateHover, handleSetStep, handleApplyShortcut, inputRef, popoverRef } = useDateRangePicker({
|
|
24
|
+
value: djValue,
|
|
25
|
+
onChange: handleChange,
|
|
26
|
+
defaultDate: djDefault
|
|
27
|
+
});
|
|
28
|
+
return /*#__PURE__*/ _jsx("div", {
|
|
29
|
+
"data-slot": "date-range-picker",
|
|
30
|
+
className: cn('relative w-full', className),
|
|
31
|
+
children: /*#__PURE__*/ _jsxs(Popover, {
|
|
32
|
+
open: isOpen,
|
|
33
|
+
onOpenChange: handleOpenChange,
|
|
34
|
+
children: [
|
|
35
|
+
/*#__PURE__*/ _jsx(PopoverTrigger, {
|
|
36
|
+
render: /*#__PURE__*/ _jsx("div", {
|
|
37
|
+
ref: inputRef,
|
|
38
|
+
className: "w-full"
|
|
39
|
+
}),
|
|
40
|
+
children: /*#__PURE__*/ _jsx(DateTimeInput, {
|
|
41
|
+
value: isOpen ? [
|
|
42
|
+
tempStart,
|
|
43
|
+
tempEnd
|
|
44
|
+
] : djValue,
|
|
45
|
+
format: format,
|
|
46
|
+
placeholder: placeholder,
|
|
47
|
+
isOpen: isOpen,
|
|
48
|
+
variant: "date",
|
|
49
|
+
activeRangePart: isOpen ? step : undefined,
|
|
50
|
+
onRangePartClick: isOpen ? handleSetStep : undefined
|
|
51
|
+
})
|
|
52
|
+
}),
|
|
53
|
+
/*#__PURE__*/ _jsx(PopoverContent, {
|
|
54
|
+
ref: popoverRef,
|
|
55
|
+
className: "rounded-xl w-auto p-0",
|
|
56
|
+
side: "bottom",
|
|
57
|
+
align: "start",
|
|
58
|
+
children: /*#__PURE__*/ _jsxs("div", {
|
|
59
|
+
"data-slot": "date-range-picker-content",
|
|
60
|
+
className: "flex flex-row",
|
|
61
|
+
children: [
|
|
62
|
+
djShortcuts && djShortcuts.length > 0 && /*#__PURE__*/ _jsx(ShortcutsPanel, {
|
|
63
|
+
shortcuts: djShortcuts,
|
|
64
|
+
onShortcutClick: handleApplyShortcut
|
|
65
|
+
}),
|
|
66
|
+
/*#__PURE__*/ _jsx("div", {
|
|
67
|
+
className: "p-3",
|
|
68
|
+
children: /*#__PURE__*/ _jsx(Calendar, {
|
|
69
|
+
displayedMonth: displayedMonth,
|
|
70
|
+
selectedRange: [
|
|
71
|
+
tempStart,
|
|
72
|
+
tempEnd
|
|
73
|
+
],
|
|
74
|
+
hoverDate: step === 'end' ? hoverDate : null,
|
|
75
|
+
displayWeekNumber: displayWeekNumber,
|
|
76
|
+
onDateClick: handleDateClick,
|
|
77
|
+
onMonthChange: handleMonthChange,
|
|
78
|
+
onDateHover: handleDateHover
|
|
79
|
+
})
|
|
80
|
+
})
|
|
81
|
+
]
|
|
82
|
+
})
|
|
83
|
+
})
|
|
84
|
+
]
|
|
85
|
+
})
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
//# sourceMappingURL=date-range-picker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/components/ui/core/date-time-pickers/date-range-picker/date-range-picker.tsx"],"sourcesContent":["import type { JSX } from 'react';\n\nimport type { Dayjs } from 'dayjs';\n\nimport { cn } from '../../../../../lib/utils';\nimport { Calendar } from '../../calendar/calendar';\nimport { Popover, PopoverContent, PopoverTrigger } from '../../popover/popover';\nimport { DateTimeInput } from '../shared/date-time-input/date-time-input';\nimport { ShortcutsPanel } from '../shared/shortcuts-panel/shortcuts-panel';\nimport type { ShortcutItem } from '../shared/shortcuts-panel/shortcuts-panel';\nimport {\n type DateInput,\n type DateRangeValueProps,\n normalizeIn,\n normalizeOutRange,\n normalizeShortcutValue,\n resolveValueType,\n} from '../utils/date-input';\n\nimport { useDateRangePicker } from './use-date-range-picker';\n\nexport type { ShortcutItem };\n\nexport interface DateRangePickerProps<\n T extends DateInput = Dayjs,\n> extends DateRangeValueProps<T> {\n format?: string;\n placeholder?: string;\n displayWeekNumber?: boolean;\n shortcuts?: ShortcutItem[];\n className?: string;\n}\n\nexport function DateRangePicker<T extends DateInput = Dayjs>({\n value,\n onChange,\n format = 'DD/MM/YYYY',\n placeholder,\n displayWeekNumber = false,\n shortcuts,\n defaultDate,\n valueType,\n className,\n}: DateRangePickerProps<T>): JSX.Element {\n const resolvedType = resolveValueType(\n value[0] ?? value[1],\n defaultDate,\n valueType\n );\n const djValue: [Dayjs | null, Dayjs | null] = [\n normalizeIn(value[0]),\n normalizeIn(value[1]),\n ];\n const djDefault =\n defaultDate != null ? (normalizeIn(defaultDate) ?? undefined) : undefined;\n\n const handleChange = (range: [Dayjs | null, Dayjs | null]) => {\n onChange(normalizeOutRange<T>(range, resolvedType));\n };\n\n const djShortcuts = shortcuts?.map((shortcut) => ({\n ...shortcut,\n getValue: () => normalizeShortcutValue(shortcut.getValue()),\n }));\n\n const {\n isOpen,\n step,\n displayedMonth,\n tempStart,\n tempEnd,\n hoverDate,\n handleOpenChange,\n handleDateClick,\n handleMonthChange,\n handleDateHover,\n handleSetStep,\n handleApplyShortcut,\n inputRef,\n popoverRef,\n } = useDateRangePicker({\n value: djValue,\n onChange: handleChange,\n defaultDate: djDefault,\n });\n\n return (\n <div\n data-slot=\"date-range-picker\"\n className={cn('relative w-full', className)}\n >\n <Popover open={isOpen} onOpenChange={handleOpenChange}>\n <PopoverTrigger render={<div ref={inputRef} className=\"w-full\" />}>\n <DateTimeInput\n value={isOpen ? [tempStart, tempEnd] : djValue}\n format={format}\n placeholder={placeholder}\n isOpen={isOpen}\n variant=\"date\"\n activeRangePart={isOpen ? step : undefined}\n onRangePartClick={isOpen ? handleSetStep : undefined}\n />\n </PopoverTrigger>\n <PopoverContent\n ref={popoverRef}\n className=\"rounded-xl w-auto p-0\"\n side=\"bottom\"\n align=\"start\"\n >\n <div data-slot=\"date-range-picker-content\" className=\"flex flex-row\">\n {djShortcuts && djShortcuts.length > 0 && (\n <ShortcutsPanel\n shortcuts={djShortcuts}\n onShortcutClick={handleApplyShortcut}\n />\n )}\n <div className=\"p-3\">\n <Calendar\n displayedMonth={displayedMonth}\n selectedRange={[tempStart, tempEnd]}\n hoverDate={step === 'end' ? hoverDate : null}\n displayWeekNumber={displayWeekNumber}\n onDateClick={handleDateClick}\n onMonthChange={handleMonthChange}\n onDateHover={handleDateHover}\n />\n </div>\n </div>\n </PopoverContent>\n </Popover>\n </div>\n );\n}\n"],"names":["cn","Calendar","Popover","PopoverContent","PopoverTrigger","DateTimeInput","ShortcutsPanel","normalizeIn","normalizeOutRange","normalizeShortcutValue","resolveValueType","useDateRangePicker","DateRangePicker","value","onChange","format","placeholder","displayWeekNumber","shortcuts","defaultDate","valueType","className","resolvedType","djValue","djDefault","undefined","handleChange","range","djShortcuts","map","shortcut","getValue","isOpen","step","displayedMonth","tempStart","tempEnd","hoverDate","handleOpenChange","handleDateClick","handleMonthChange","handleDateHover","handleSetStep","handleApplyShortcut","inputRef","popoverRef","div","data-slot","open","onOpenChange","render","ref","variant","activeRangePart","onRangePartClick","side","align","length","onShortcutClick","selectedRange","onDateClick","onMonthChange","onDateHover"],"mappings":";AAIA,SAASA,EAAE,QAAQ,8BAA2B;AAC9C,SAASC,QAAQ,QAAQ,6BAA0B;AACnD,SAASC,OAAO,EAAEC,cAAc,EAAEC,cAAc,QAAQ,2BAAwB;AAChF,SAASC,aAAa,QAAQ,+CAA4C;AAC1E,SAASC,cAAc,QAAQ,+CAA4C;AAE3E,SAGEC,WAAW,EACXC,iBAAiB,EACjBC,sBAAsB,EACtBC,gBAAgB,QACX,yBAAsB;AAE7B,SAASC,kBAAkB,QAAQ,6BAA0B;AAc7D,OAAO,SAASC,gBAA6C,EAC3DC,KAAK,EACLC,QAAQ,EACRC,SAAS,YAAY,EACrBC,WAAW,EACXC,oBAAoB,KAAK,EACzBC,SAAS,EACTC,WAAW,EACXC,SAAS,EACTC,SAAS,EACe;IACxB,MAAMC,eAAeZ,iBACnBG,KAAK,CAAC,EAAE,IAAIA,KAAK,CAAC,EAAE,EACpBM,aACAC;IAEF,MAAMG,UAAwC;QAC5ChB,YAAYM,KAAK,CAAC,EAAE;QACpBN,YAAYM,KAAK,CAAC,EAAE;KACrB;IACD,MAAMW,YACJL,eAAe,OAAQZ,YAAYY,gBAAgBM,YAAaA;IAElE,MAAMC,eAAe,CAACC;QACpBb,SAASN,kBAAqBmB,OAAOL;IACvC;IAEA,MAAMM,cAAcV,WAAWW,IAAI,CAACC,WAAc,CAAA;YAChD,GAAGA,QAAQ;YACXC,UAAU,IAAMtB,uBAAuBqB,SAASC,QAAQ;QAC1D,CAAA;IAEA,MAAM,EACJC,MAAM,EACNC,IAAI,EACJC,cAAc,EACdC,SAAS,EACTC,OAAO,EACPC,SAAS,EACTC,gBAAgB,EAChBC,eAAe,EACfC,iBAAiB,EACjBC,eAAe,EACfC,aAAa,EACbC,mBAAmB,EACnBC,QAAQ,EACRC,UAAU,EACX,GAAGlC,mBAAmB;QACrBE,OAAOU;QACPT,UAAUY;QACVP,aAAaK;IACf;IAEA,qBACE,KAACsB;QACCC,aAAU;QACV1B,WAAWrB,GAAG,mBAAmBqB;kBAEjC,cAAA,MAACnB;YAAQ8C,MAAMhB;YAAQiB,cAAcX;;8BACnC,KAAClC;oBAAe8C,sBAAQ,KAACJ;wBAAIK,KAAKP;wBAAUvB,WAAU;;8BACpD,cAAA,KAAChB;wBACCQ,OAAOmB,SAAS;4BAACG;4BAAWC;yBAAQ,GAAGb;wBACvCR,QAAQA;wBACRC,aAAaA;wBACbgB,QAAQA;wBACRoB,SAAQ;wBACRC,iBAAiBrB,SAASC,OAAOR;wBACjC6B,kBAAkBtB,SAASU,gBAAgBjB;;;8BAG/C,KAACtB;oBACCgD,KAAKN;oBACLxB,WAAU;oBACVkC,MAAK;oBACLC,OAAM;8BAEN,cAAA,MAACV;wBAAIC,aAAU;wBAA4B1B,WAAU;;4BAClDO,eAAeA,YAAY6B,MAAM,GAAG,mBACnC,KAACnD;gCACCY,WAAWU;gCACX8B,iBAAiBf;;0CAGrB,KAACG;gCAAIzB,WAAU;0CACb,cAAA,KAACpB;oCACCiC,gBAAgBA;oCAChByB,eAAe;wCAACxB;wCAAWC;qCAAQ;oCACnCC,WAAWJ,SAAS,QAAQI,YAAY;oCACxCpB,mBAAmBA;oCACnB2C,aAAarB;oCACbsB,eAAerB;oCACfsB,aAAarB;;;;;;;;;AAQ7B"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { DateRangePicker } from
|
|
2
|
-
export type { DateRangePickerProps, ShortcutItem } from
|
|
3
|
-
export type { UseDateRangePickerProps, UseDateRangePickerReturn
|
|
1
|
+
export { DateRangePicker } from "./date-range-picker";
|
|
2
|
+
export type { DateRangePickerProps, ShortcutItem } from "./date-range-picker";
|
|
3
|
+
export type { UseDateRangePickerProps, UseDateRangePickerReturn } from "./types";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/components/ui/core/date-time-pickers/date-range-picker/index.ts"],"sourcesContent":["export { DateRangePicker } from './date-range-picker';\nexport type { DateRangePickerProps, ShortcutItem } from './date-range-picker';\nexport type {\n UseDateRangePickerProps,\n UseDateRangePickerReturn,\n} from './types';\n"],"names":["DateRangePicker"],"mappings":"AAAA,SAASA,eAAe,QAAQ,yBAAsB"}
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import { Dayjs } from
|
|
2
|
-
import { RangeSelectionStep } from
|
|
3
|
-
import { ShortcutValueDayjs } from
|
|
1
|
+
import type { Dayjs } from "dayjs";
|
|
2
|
+
import type { RangeSelectionStep } from "../shared/hooks/use-range-step-manager";
|
|
3
|
+
import type { ShortcutValueDayjs } from "../shared/shortcuts-panel/shortcuts-panel";
|
|
4
4
|
export type { RangeSelectionStep };
|
|
5
5
|
export interface UseDateRangePickerProps {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
value: [Dayjs | null, Dayjs | null];
|
|
7
|
+
onChange: (range: [Dayjs | null, Dayjs | null]) => void;
|
|
8
|
+
defaultDate?: Dayjs;
|
|
9
9
|
}
|
|
10
10
|
export interface UseDateRangePickerReturn {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
11
|
+
isOpen: boolean;
|
|
12
|
+
step: RangeSelectionStep;
|
|
13
|
+
displayedMonth: Dayjs;
|
|
14
|
+
tempStart: Dayjs | null;
|
|
15
|
+
tempEnd: Dayjs | null;
|
|
16
|
+
hoverDate: Dayjs | null;
|
|
17
|
+
handleOpenChange: (open: boolean) => void;
|
|
18
|
+
handleDateClick: (date: Dayjs) => void;
|
|
19
|
+
handleMonthChange: (month: Dayjs) => void;
|
|
20
|
+
handleDateHover: (date: Dayjs | null) => void;
|
|
21
|
+
handleSetStep: (step: RangeSelectionStep) => void;
|
|
22
|
+
handleApplyShortcut: (range: ShortcutValueDayjs) => void;
|
|
23
|
+
inputRef: React.RefObject<HTMLDivElement>;
|
|
24
|
+
popoverRef: React.RefObject<HTMLDivElement>;
|
|
25
25
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/components/ui/core/date-time-pickers/date-range-picker/types.ts"],"sourcesContent":["import type { Dayjs } from 'dayjs';\n\nimport type { RangeSelectionStep } from '../shared/hooks/use-range-step-manager';\nimport type { ShortcutValueDayjs } from '../shared/shortcuts-panel/shortcuts-panel';\n\nexport type { RangeSelectionStep };\n\nexport interface UseDateRangePickerProps {\n value: [Dayjs | null, Dayjs | null];\n onChange: (range: [Dayjs | null, Dayjs | null]) => void;\n defaultDate?: Dayjs;\n}\n\nexport interface UseDateRangePickerReturn {\n isOpen: boolean;\n step: RangeSelectionStep;\n displayedMonth: Dayjs;\n tempStart: Dayjs | null;\n tempEnd: Dayjs | null;\n hoverDate: Dayjs | null;\n handleOpenChange: (open: boolean) => void;\n handleDateClick: (date: Dayjs) => void;\n handleMonthChange: (month: Dayjs) => void;\n handleDateHover: (date: Dayjs | null) => void;\n handleSetStep: (step: RangeSelectionStep) => void;\n handleApplyShortcut: (range: ShortcutValueDayjs) => void;\n inputRef: React.RefObject<HTMLDivElement>;\n popoverRef: React.RefObject<HTMLDivElement>;\n}\n"],"names":[],"mappings":"AAaA,WAeC"}
|
package/dist/components/ui/core/date-time-pickers/date-range-picker/use-date-range-picker.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { RangeSelectionStep } from
|
|
2
|
-
import { UseDateRangePickerProps, UseDateRangePickerReturn } from
|
|
3
|
-
export type { RangeSelectionStep, UseDateRangePickerProps, UseDateRangePickerReturn
|
|
4
|
-
export declare const useDateRangePicker: ({ value, onChange, defaultDate
|
|
1
|
+
import type { RangeSelectionStep } from "../shared/hooks/use-range-step-manager";
|
|
2
|
+
import type { UseDateRangePickerProps, UseDateRangePickerReturn } from "./types";
|
|
3
|
+
export type { RangeSelectionStep, UseDateRangePickerProps, UseDateRangePickerReturn };
|
|
4
|
+
export declare const useDateRangePicker: ({ value, onChange, defaultDate }: UseDateRangePickerProps) => UseDateRangePickerReturn;
|
package/dist/components/ui/core/date-time-pickers/date-range-picker/use-date-range-picker.js
CHANGED
|
@@ -1,61 +1,96 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
1
|
+
import { useCallback, useEffect, useRef } from "react";
|
|
2
|
+
import dayjs from "dayjs";
|
|
3
|
+
import { usePopoverState } from "../shared/hooks/use-popover-state.js";
|
|
4
|
+
import { useRangeDateState } from "../shared/hooks/use-range-date-state.js";
|
|
5
|
+
import { useRangeStepManager } from "../shared/hooks/use-range-step-manager.js";
|
|
6
|
+
export const useDateRangePicker = ({ value, onChange, defaultDate = dayjs() })=>{
|
|
7
|
+
const onBackspaceRef = useRef(()=>{});
|
|
8
|
+
const { isOpen, setIsOpen, popoverRef, inputRef } = usePopoverState({
|
|
9
|
+
onBackspace: useCallback(()=>onBackspaceRef.current(), [])
|
|
10
|
+
});
|
|
11
|
+
const stepMgr = useRangeStepManager();
|
|
12
|
+
const { step, handleBack, handleNext, resetStep } = stepMgr;
|
|
13
|
+
const dateState = useRangeDateState({
|
|
14
|
+
value,
|
|
15
|
+
defaultDate,
|
|
16
|
+
onEndDateSelected: useCallback((start, end)=>{
|
|
17
|
+
onChange([
|
|
18
|
+
start,
|
|
19
|
+
end
|
|
20
|
+
]);
|
|
21
|
+
setIsOpen(false);
|
|
22
|
+
resetStep();
|
|
23
|
+
}, [
|
|
24
|
+
onChange,
|
|
25
|
+
setIsOpen,
|
|
26
|
+
resetStep
|
|
27
|
+
])
|
|
28
|
+
});
|
|
29
|
+
const { tempStart, tempEnd, displayedMonth, hoverDate, handleDateClick: dateClick, handleDateHover, handleMonthChange, clearActiveSegment, resetDates } = dateState;
|
|
30
|
+
const resetAll = useCallback(()=>{
|
|
31
|
+
resetDates(value);
|
|
32
|
+
resetStep();
|
|
33
|
+
}, [
|
|
34
|
+
resetDates,
|
|
35
|
+
resetStep,
|
|
36
|
+
value
|
|
37
|
+
]);
|
|
38
|
+
const handleBackspace = useCallback(()=>{
|
|
39
|
+
const result = clearActiveSegment(step);
|
|
40
|
+
if (result === null) {
|
|
41
|
+
handleBack();
|
|
42
|
+
} else if (result[0] === null && result[1] === null) {
|
|
43
|
+
// Only apply the change if the result is [null, null]
|
|
44
|
+
onChange(result);
|
|
45
|
+
}
|
|
46
|
+
}, [
|
|
47
|
+
clearActiveSegment,
|
|
48
|
+
step,
|
|
49
|
+
handleBack,
|
|
50
|
+
onChange
|
|
51
|
+
]);
|
|
52
|
+
useEffect(()=>{
|
|
53
|
+
onBackspaceRef.current = handleBackspace;
|
|
54
|
+
}, [
|
|
55
|
+
handleBackspace
|
|
56
|
+
]);
|
|
57
|
+
const handleOpenChange = (open)=>{
|
|
58
|
+
resetAll();
|
|
59
|
+
setIsOpen(open);
|
|
60
|
+
};
|
|
61
|
+
const handleSetStep = (s)=>{
|
|
62
|
+
if (s === 'start') handleBack();
|
|
63
|
+
else handleNext();
|
|
64
|
+
};
|
|
65
|
+
const handleDateClick = (date)=>{
|
|
66
|
+
dateClick(date, step);
|
|
67
|
+
if (step === 'start') handleNext();
|
|
68
|
+
};
|
|
69
|
+
const handleApplyShortcut = (rangeValue)=>{
|
|
70
|
+
const range = Array.isArray(rangeValue) ? rangeValue : [
|
|
71
|
+
rangeValue,
|
|
72
|
+
rangeValue
|
|
73
|
+
];
|
|
74
|
+
onChange(range);
|
|
75
|
+
setIsOpen(false);
|
|
76
|
+
resetStep();
|
|
77
|
+
};
|
|
78
|
+
return {
|
|
79
|
+
isOpen,
|
|
80
|
+
step,
|
|
81
|
+
displayedMonth,
|
|
82
|
+
tempStart,
|
|
83
|
+
tempEnd,
|
|
84
|
+
hoverDate,
|
|
85
|
+
handleOpenChange,
|
|
86
|
+
handleDateClick,
|
|
87
|
+
handleMonthChange,
|
|
88
|
+
handleDateHover,
|
|
89
|
+
handleSetStep,
|
|
90
|
+
handleApplyShortcut,
|
|
91
|
+
inputRef,
|
|
92
|
+
popoverRef
|
|
93
|
+
};
|
|
59
94
|
};
|
|
60
|
-
|
|
61
|
-
|
|
95
|
+
|
|
96
|
+
//# sourceMappingURL=use-date-range-picker.js.map
|
package/dist/components/ui/core/date-time-pickers/date-range-picker/use-date-range-picker.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/components/ui/core/date-time-pickers/date-range-picker/use-date-range-picker.ts"],"sourcesContent":["import { useCallback, useEffect, useRef } from 'react';\n\nimport type { Dayjs } from 'dayjs';\nimport dayjs from 'dayjs';\n\nimport { usePopoverState } from '../shared/hooks/use-popover-state';\nimport { useRangeDateState } from '../shared/hooks/use-range-date-state';\nimport type { RangeSelectionStep } from '../shared/hooks/use-range-step-manager';\nimport { useRangeStepManager } from '../shared/hooks/use-range-step-manager';\nimport type { ShortcutValueDayjs } from '../shared/shortcuts-panel/shortcuts-panel';\n\nimport type {\n UseDateRangePickerProps,\n UseDateRangePickerReturn,\n} from './types';\n\nexport type {\n RangeSelectionStep,\n UseDateRangePickerProps,\n UseDateRangePickerReturn,\n};\n\nexport const useDateRangePicker = ({\n value,\n onChange,\n defaultDate = dayjs(),\n}: UseDateRangePickerProps): UseDateRangePickerReturn => {\n const onBackspaceRef = useRef<() => void>(() => {});\n\n const { isOpen, setIsOpen, popoverRef, inputRef } = usePopoverState({\n onBackspace: useCallback(() => onBackspaceRef.current(), []),\n });\n\n const stepMgr = useRangeStepManager();\n const { step, handleBack, handleNext, resetStep } = stepMgr;\n\n const dateState = useRangeDateState({\n value,\n defaultDate,\n onEndDateSelected: useCallback(\n (start: Dayjs | null, end: Dayjs) => {\n onChange([start, end]);\n setIsOpen(false);\n resetStep();\n },\n [onChange, setIsOpen, resetStep]\n ),\n });\n const {\n tempStart,\n tempEnd,\n displayedMonth,\n hoverDate,\n handleDateClick: dateClick,\n handleDateHover,\n handleMonthChange,\n clearActiveSegment,\n resetDates,\n } = dateState;\n\n const resetAll = useCallback(() => {\n resetDates(value);\n resetStep();\n }, [resetDates, resetStep, value]);\n\n const handleBackspace = useCallback(() => {\n const result = clearActiveSegment(step);\n if (result === null) {\n handleBack();\n } else if (result[0] === null && result[1] === null) {\n // Only apply the change if the result is [null, null]\n onChange(result);\n }\n }, [clearActiveSegment, step, handleBack, onChange]);\n\n useEffect(() => {\n onBackspaceRef.current = handleBackspace;\n }, [handleBackspace]);\n\n const handleOpenChange = (open: boolean) => {\n resetAll();\n setIsOpen(open);\n };\n\n const handleSetStep = (s: RangeSelectionStep) => {\n if (s === 'start') handleBack();\n else handleNext();\n };\n\n const handleDateClick = (date: Dayjs) => {\n dateClick(date, step);\n if (step === 'start') handleNext();\n };\n\n const handleApplyShortcut = (rangeValue: ShortcutValueDayjs) => {\n const range: [Dayjs | null, Dayjs | null] = Array.isArray(rangeValue)\n ? rangeValue\n : [rangeValue, rangeValue];\n onChange(range);\n setIsOpen(false);\n resetStep();\n };\n\n return {\n isOpen,\n step,\n displayedMonth,\n tempStart,\n tempEnd,\n hoverDate,\n handleOpenChange,\n handleDateClick,\n handleMonthChange,\n handleDateHover,\n handleSetStep,\n handleApplyShortcut,\n inputRef,\n popoverRef,\n };\n};\n"],"names":["useCallback","useEffect","useRef","dayjs","usePopoverState","useRangeDateState","useRangeStepManager","useDateRangePicker","value","onChange","defaultDate","onBackspaceRef","isOpen","setIsOpen","popoverRef","inputRef","onBackspace","current","stepMgr","step","handleBack","handleNext","resetStep","dateState","onEndDateSelected","start","end","tempStart","tempEnd","displayedMonth","hoverDate","handleDateClick","dateClick","handleDateHover","handleMonthChange","clearActiveSegment","resetDates","resetAll","handleBackspace","result","handleOpenChange","open","handleSetStep","s","date","handleApplyShortcut","rangeValue","range","Array","isArray"],"mappings":"AAAA,SAASA,WAAW,EAAEC,SAAS,EAAEC,MAAM,QAAQ,QAAQ;AAGvD,OAAOC,WAAW,QAAQ;AAE1B,SAASC,eAAe,QAAQ,uCAAoC;AACpE,SAASC,iBAAiB,QAAQ,0CAAuC;AAEzE,SAASC,mBAAmB,QAAQ,4CAAyC;AAc7E,OAAO,MAAMC,qBAAqB,CAAC,EACjCC,KAAK,EACLC,QAAQ,EACRC,cAAcP,OAAO,EACG;IACxB,MAAMQ,iBAAiBT,OAAmB,KAAO;IAEjD,MAAM,EAAEU,MAAM,EAAEC,SAAS,EAAEC,UAAU,EAAEC,QAAQ,EAAE,GAAGX,gBAAgB;QAClEY,aAAahB,YAAY,IAAMW,eAAeM,OAAO,IAAI,EAAE;IAC7D;IAEA,MAAMC,UAAUZ;IAChB,MAAM,EAAEa,IAAI,EAAEC,UAAU,EAAEC,UAAU,EAAEC,SAAS,EAAE,GAAGJ;IAEpD,MAAMK,YAAYlB,kBAAkB;QAClCG;QACAE;QACAc,mBAAmBxB,YACjB,CAACyB,OAAqBC;YACpBjB,SAAS;gBAACgB;gBAAOC;aAAI;YACrBb,UAAU;YACVS;QACF,GACA;YAACb;YAAUI;YAAWS;SAAU;IAEpC;IACA,MAAM,EACJK,SAAS,EACTC,OAAO,EACPC,cAAc,EACdC,SAAS,EACTC,iBAAiBC,SAAS,EAC1BC,eAAe,EACfC,iBAAiB,EACjBC,kBAAkB,EAClBC,UAAU,EACX,GAAGb;IAEJ,MAAMc,WAAWrC,YAAY;QAC3BoC,WAAW5B;QACXc;IACF,GAAG;QAACc;QAAYd;QAAWd;KAAM;IAEjC,MAAM8B,kBAAkBtC,YAAY;QAClC,MAAMuC,SAASJ,mBAAmBhB;QAClC,IAAIoB,WAAW,MAAM;YACnBnB;QACF,OAAO,IAAImB,MAAM,CAAC,EAAE,KAAK,QAAQA,MAAM,CAAC,EAAE,KAAK,MAAM;YACnD,sDAAsD;YACtD9B,SAAS8B;QACX;IACF,GAAG;QAACJ;QAAoBhB;QAAMC;QAAYX;KAAS;IAEnDR,UAAU;QACRU,eAAeM,OAAO,GAAGqB;IAC3B,GAAG;QAACA;KAAgB;IAEpB,MAAME,mBAAmB,CAACC;QACxBJ;QACAxB,UAAU4B;IACZ;IAEA,MAAMC,gBAAgB,CAACC;QACrB,IAAIA,MAAM,SAASvB;aACdC;IACP;IAEA,MAAMU,kBAAkB,CAACa;QACvBZ,UAAUY,MAAMzB;QAChB,IAAIA,SAAS,SAASE;IACxB;IAEA,MAAMwB,sBAAsB,CAACC;QAC3B,MAAMC,QAAsCC,MAAMC,OAAO,CAACH,cACtDA,aACA;YAACA;YAAYA;SAAW;QAC5BrC,SAASsC;QACTlC,UAAU;QACVS;IACF;IAEA,OAAO;QACLV;QACAO;QACAU;QACAF;QACAC;QACAE;QACAU;QACAT;QACAG;QACAD;QACAS;QACAG;QACA9B;QACAD;IACF;AACF,EAAE"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { JSX } from "react";
|
|
2
|
+
import type { Dayjs } from "dayjs";
|
|
3
|
+
import type { ShortcutItem } from "../shared/shortcuts-panel/shortcuts-panel";
|
|
4
|
+
import { type DateInput, type DateValueProps } from "../utils/date-input";
|
|
5
|
+
import { type TimeFormat } from "../utils/format-utils";
|
|
6
|
+
export type { ShortcutItem };
|
|
7
|
+
export interface DateTimePickerProps<T extends DateInput = Dayjs> extends DateValueProps<T> {
|
|
8
|
+
timeFormat?: TimeFormat;
|
|
9
|
+
format?: string;
|
|
10
|
+
placeholder?: string;
|
|
11
|
+
displayWeekNumber?: boolean;
|
|
12
|
+
shortcuts?: ShortcutItem[];
|
|
13
|
+
className?: string;
|
|
14
|
+
}
|
|
15
|
+
export declare function DateTimePicker<T extends DateInput = Dayjs>({ value, onChange, timeFormat, format, placeholder, displayWeekNumber, shortcuts, defaultDate, valueType, className }: DateTimePickerProps<T>): JSX.Element;
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from "../../../../../lib/utils.js";
|
|
3
|
+
import { Button } from "../../button/button.js";
|
|
4
|
+
import { Calendar } from "../../calendar/calendar.js";
|
|
5
|
+
import { Popover, PopoverContent, PopoverTrigger } from "../../popover/popover.js";
|
|
6
|
+
import { DateTimeInput } from "../shared/date-time-input/date-time-input.js";
|
|
7
|
+
import { ShortcutsPanel } from "../shared/shortcuts-panel/shortcuts-panel.js";
|
|
8
|
+
import { TimePickerPanel } from "../shared/time-picker-panel/time-picker-panel.js";
|
|
9
|
+
import { normalizeIn, normalizeOut, normalizeShortcutValue, resolveValueType } from "../utils/date-input.js";
|
|
10
|
+
import { getDateTimeDisplayFormat } from "../utils/format-utils.js";
|
|
11
|
+
import { useDateTimePicker } from "./use-date-time-picker.js";
|
|
12
|
+
const toSelectedRange = (date)=>date ? [
|
|
13
|
+
date,
|
|
14
|
+
date
|
|
15
|
+
] : [
|
|
16
|
+
null,
|
|
17
|
+
null
|
|
18
|
+
];
|
|
19
|
+
export function DateTimePicker({ value, onChange, timeFormat = '24h', format, placeholder, displayWeekNumber = false, shortcuts, defaultDate, valueType, className }) {
|
|
20
|
+
const resolvedType = resolveValueType(value, defaultDate, valueType);
|
|
21
|
+
const djValue = normalizeIn(value);
|
|
22
|
+
const djDefault = defaultDate != null ? normalizeIn(defaultDate) ?? undefined : undefined;
|
|
23
|
+
const handleChange = (datetime)=>{
|
|
24
|
+
onChange(normalizeOut(datetime, resolvedType));
|
|
25
|
+
};
|
|
26
|
+
const djShortcuts = shortcuts?.map((shortcut)=>({
|
|
27
|
+
...shortcut,
|
|
28
|
+
getValue: ()=>normalizeShortcutValue(shortcut.getValue())
|
|
29
|
+
}));
|
|
30
|
+
const { isOpen, displayedMonth, tempDate, hour, minute, amPm, displayValue, canApply, handleOpenChange, handleApply, handleDateClick, handleMonthChange, handleHourChange, handleMinuteChange, handleAmPmChange, handleApplyShortcut, inputRef, popoverRef } = useDateTimePicker({
|
|
31
|
+
value: djValue,
|
|
32
|
+
onChange: handleChange,
|
|
33
|
+
timeFormat,
|
|
34
|
+
defaultDate: djDefault
|
|
35
|
+
});
|
|
36
|
+
const displayFormat = getDateTimeDisplayFormat(timeFormat, format);
|
|
37
|
+
return /*#__PURE__*/ _jsx("div", {
|
|
38
|
+
"data-slot": "date-time-picker",
|
|
39
|
+
className: cn('relative w-full', className),
|
|
40
|
+
children: /*#__PURE__*/ _jsxs(Popover, {
|
|
41
|
+
open: isOpen,
|
|
42
|
+
onOpenChange: handleOpenChange,
|
|
43
|
+
children: [
|
|
44
|
+
/*#__PURE__*/ _jsx(PopoverTrigger, {
|
|
45
|
+
render: /*#__PURE__*/ _jsx("div", {
|
|
46
|
+
ref: inputRef,
|
|
47
|
+
className: "w-full"
|
|
48
|
+
}),
|
|
49
|
+
children: /*#__PURE__*/ _jsx(DateTimeInput, {
|
|
50
|
+
value: displayValue,
|
|
51
|
+
format: displayFormat,
|
|
52
|
+
placeholder: placeholder,
|
|
53
|
+
isOpen: isOpen,
|
|
54
|
+
variant: "datetime",
|
|
55
|
+
ariaLabel: "Date time picker"
|
|
56
|
+
})
|
|
57
|
+
}),
|
|
58
|
+
/*#__PURE__*/ _jsx(PopoverContent, {
|
|
59
|
+
ref: popoverRef,
|
|
60
|
+
className: "rounded-xl w-auto p-0",
|
|
61
|
+
side: "bottom",
|
|
62
|
+
align: "start",
|
|
63
|
+
children: /*#__PURE__*/ _jsxs("div", {
|
|
64
|
+
"data-slot": "date-time-picker-content",
|
|
65
|
+
className: "flex flex-col",
|
|
66
|
+
children: [
|
|
67
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
68
|
+
className: "flex flex-row",
|
|
69
|
+
children: [
|
|
70
|
+
djShortcuts && djShortcuts.length > 0 && /*#__PURE__*/ _jsx(ShortcutsPanel, {
|
|
71
|
+
shortcuts: djShortcuts,
|
|
72
|
+
onShortcutClick: handleApplyShortcut
|
|
73
|
+
}),
|
|
74
|
+
/*#__PURE__*/ _jsx("div", {
|
|
75
|
+
className: "p-3 border-r border-default",
|
|
76
|
+
children: /*#__PURE__*/ _jsx(Calendar, {
|
|
77
|
+
displayedMonth: displayedMonth,
|
|
78
|
+
selectedRange: toSelectedRange(tempDate),
|
|
79
|
+
hoverDate: null,
|
|
80
|
+
displayWeekNumber: displayWeekNumber,
|
|
81
|
+
onDateClick: handleDateClick,
|
|
82
|
+
onMonthChange: handleMonthChange
|
|
83
|
+
})
|
|
84
|
+
}),
|
|
85
|
+
timeFormat === '12h' ? /*#__PURE__*/ _jsx(TimePickerPanel, {
|
|
86
|
+
hour: hour,
|
|
87
|
+
minute: minute,
|
|
88
|
+
amPm: amPm,
|
|
89
|
+
timeFormat: "12h",
|
|
90
|
+
onHourChange: handleHourChange,
|
|
91
|
+
onMinuteChange: handleMinuteChange,
|
|
92
|
+
onAmPmChange: handleAmPmChange
|
|
93
|
+
}) : /*#__PURE__*/ _jsx(TimePickerPanel, {
|
|
94
|
+
hour: hour,
|
|
95
|
+
minute: minute,
|
|
96
|
+
timeFormat: "24h",
|
|
97
|
+
onHourChange: handleHourChange,
|
|
98
|
+
onMinuteChange: handleMinuteChange
|
|
99
|
+
})
|
|
100
|
+
]
|
|
101
|
+
}),
|
|
102
|
+
/*#__PURE__*/ _jsx("div", {
|
|
103
|
+
className: "flex p-2 border-t border-default",
|
|
104
|
+
children: /*#__PURE__*/ _jsx(Button, {
|
|
105
|
+
variant: "secondary",
|
|
106
|
+
className: "w-full",
|
|
107
|
+
onClick: handleApply,
|
|
108
|
+
disabled: !canApply,
|
|
109
|
+
children: "Apply"
|
|
110
|
+
})
|
|
111
|
+
})
|
|
112
|
+
]
|
|
113
|
+
})
|
|
114
|
+
})
|
|
115
|
+
]
|
|
116
|
+
})
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
//# sourceMappingURL=date-time-picker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/components/ui/core/date-time-pickers/date-time-picker/date-time-picker.tsx"],"sourcesContent":["import type { JSX } from 'react';\n\nimport type { Dayjs } from 'dayjs';\n\nimport { cn } from '../../../../../lib/utils';\nimport { Button } from '../../button/button';\nimport { Calendar } from '../../calendar/calendar';\nimport { Popover, PopoverContent, PopoverTrigger } from '../../popover/popover';\nimport { DateTimeInput } from '../shared/date-time-input/date-time-input';\nimport { ShortcutsPanel } from '../shared/shortcuts-panel/shortcuts-panel';\nimport type { ShortcutItem } from '../shared/shortcuts-panel/shortcuts-panel';\nimport { TimePickerPanel } from '../shared/time-picker-panel/time-picker-panel';\nimport {\n type DateInput,\n type DateValueProps,\n normalizeIn,\n normalizeOut,\n normalizeShortcutValue,\n resolveValueType,\n} from '../utils/date-input';\nimport {\n getDateTimeDisplayFormat,\n type TimeFormat,\n} from '../utils/format-utils';\n\nimport { useDateTimePicker } from './use-date-time-picker';\n\nexport type { ShortcutItem };\n\nexport interface DateTimePickerProps<\n T extends DateInput = Dayjs,\n> extends DateValueProps<T> {\n timeFormat?: TimeFormat;\n format?: string;\n placeholder?: string;\n displayWeekNumber?: boolean;\n shortcuts?: ShortcutItem[];\n className?: string;\n}\n\nconst toSelectedRange = (date: Dayjs | null): [Dayjs | null, Dayjs | null] =>\n date ? [date, date] : [null, null];\n\nexport function DateTimePicker<T extends DateInput = Dayjs>({\n value,\n onChange,\n timeFormat = '24h',\n format,\n placeholder,\n displayWeekNumber = false,\n shortcuts,\n defaultDate,\n valueType,\n className,\n}: DateTimePickerProps<T>): JSX.Element {\n const resolvedType = resolveValueType(value, defaultDate, valueType);\n const djValue = normalizeIn(value);\n const djDefault =\n defaultDate != null ? (normalizeIn(defaultDate) ?? undefined) : undefined;\n\n const handleChange = (datetime: Dayjs | null) => {\n onChange(normalizeOut<T>(datetime, resolvedType));\n };\n\n const djShortcuts = shortcuts?.map((shortcut) => ({\n ...shortcut,\n getValue: () => normalizeShortcutValue(shortcut.getValue()),\n }));\n\n const {\n isOpen,\n displayedMonth,\n tempDate,\n hour,\n minute,\n amPm,\n displayValue,\n canApply,\n handleOpenChange,\n handleApply,\n handleDateClick,\n handleMonthChange,\n handleHourChange,\n handleMinuteChange,\n handleAmPmChange,\n handleApplyShortcut,\n inputRef,\n popoverRef,\n } = useDateTimePicker({\n value: djValue,\n onChange: handleChange,\n timeFormat,\n defaultDate: djDefault,\n });\n\n const displayFormat = getDateTimeDisplayFormat(timeFormat, format);\n\n return (\n <div\n data-slot=\"date-time-picker\"\n className={cn('relative w-full', className)}\n >\n <Popover open={isOpen} onOpenChange={handleOpenChange}>\n <PopoverTrigger render={<div ref={inputRef} className=\"w-full\" />}>\n <DateTimeInput\n value={displayValue}\n format={displayFormat}\n placeholder={placeholder}\n isOpen={isOpen}\n variant=\"datetime\"\n ariaLabel=\"Date time picker\"\n />\n </PopoverTrigger>\n <PopoverContent\n ref={popoverRef}\n className=\"rounded-xl w-auto p-0\"\n side=\"bottom\"\n align=\"start\"\n >\n <div data-slot=\"date-time-picker-content\" className=\"flex flex-col\">\n <div className=\"flex flex-row\">\n {djShortcuts && djShortcuts.length > 0 && (\n <ShortcutsPanel\n shortcuts={djShortcuts}\n onShortcutClick={handleApplyShortcut}\n />\n )}\n <div className=\"p-3 border-r border-default\">\n <Calendar\n displayedMonth={displayedMonth}\n selectedRange={toSelectedRange(tempDate)}\n hoverDate={null}\n displayWeekNumber={displayWeekNumber}\n onDateClick={handleDateClick}\n onMonthChange={handleMonthChange}\n />\n </div>\n {timeFormat === '12h' ? (\n <TimePickerPanel\n hour={hour}\n minute={minute}\n amPm={amPm}\n timeFormat=\"12h\"\n onHourChange={handleHourChange}\n onMinuteChange={handleMinuteChange}\n onAmPmChange={handleAmPmChange}\n />\n ) : (\n <TimePickerPanel\n hour={hour}\n minute={minute}\n timeFormat=\"24h\"\n onHourChange={handleHourChange}\n onMinuteChange={handleMinuteChange}\n />\n )}\n </div>\n <div className=\"flex p-2 border-t border-default\">\n <Button\n variant=\"secondary\"\n className=\"w-full\"\n onClick={handleApply}\n disabled={!canApply}\n >\n Apply\n </Button>\n </div>\n </div>\n </PopoverContent>\n </Popover>\n </div>\n );\n}\n"],"names":["cn","Button","Calendar","Popover","PopoverContent","PopoverTrigger","DateTimeInput","ShortcutsPanel","TimePickerPanel","normalizeIn","normalizeOut","normalizeShortcutValue","resolveValueType","getDateTimeDisplayFormat","useDateTimePicker","toSelectedRange","date","DateTimePicker","value","onChange","timeFormat","format","placeholder","displayWeekNumber","shortcuts","defaultDate","valueType","className","resolvedType","djValue","djDefault","undefined","handleChange","datetime","djShortcuts","map","shortcut","getValue","isOpen","displayedMonth","tempDate","hour","minute","amPm","displayValue","canApply","handleOpenChange","handleApply","handleDateClick","handleMonthChange","handleHourChange","handleMinuteChange","handleAmPmChange","handleApplyShortcut","inputRef","popoverRef","displayFormat","div","data-slot","open","onOpenChange","render","ref","variant","ariaLabel","side","align","length","onShortcutClick","selectedRange","hoverDate","onDateClick","onMonthChange","onHourChange","onMinuteChange","onAmPmChange","onClick","disabled"],"mappings":";AAIA,SAASA,EAAE,QAAQ,8BAA2B;AAC9C,SAASC,MAAM,QAAQ,yBAAsB;AAC7C,SAASC,QAAQ,QAAQ,6BAA0B;AACnD,SAASC,OAAO,EAAEC,cAAc,EAAEC,cAAc,QAAQ,2BAAwB;AAChF,SAASC,aAAa,QAAQ,+CAA4C;AAC1E,SAASC,cAAc,QAAQ,+CAA4C;AAE3E,SAASC,eAAe,QAAQ,mDAAgD;AAChF,SAGEC,WAAW,EACXC,YAAY,EACZC,sBAAsB,EACtBC,gBAAgB,QACX,yBAAsB;AAC7B,SACEC,wBAAwB,QAEnB,2BAAwB;AAE/B,SAASC,iBAAiB,QAAQ,4BAAyB;AAe3D,MAAMC,kBAAkB,CAACC,OACvBA,OAAO;QAACA;QAAMA;KAAK,GAAG;QAAC;QAAM;KAAK;AAEpC,OAAO,SAASC,eAA4C,EAC1DC,KAAK,EACLC,QAAQ,EACRC,aAAa,KAAK,EAClBC,MAAM,EACNC,WAAW,EACXC,oBAAoB,KAAK,EACzBC,SAAS,EACTC,WAAW,EACXC,SAAS,EACTC,SAAS,EACc;IACvB,MAAMC,eAAehB,iBAAiBM,OAAOO,aAAaC;IAC1D,MAAMG,UAAUpB,YAAYS;IAC5B,MAAMY,YACJL,eAAe,OAAQhB,YAAYgB,gBAAgBM,YAAaA;IAElE,MAAMC,eAAe,CAACC;QACpBd,SAAST,aAAgBuB,UAAUL;IACrC;IAEA,MAAMM,cAAcV,WAAWW,IAAI,CAACC,WAAc,CAAA;YAChD,GAAGA,QAAQ;YACXC,UAAU,IAAM1B,uBAAuByB,SAASC,QAAQ;QAC1D,CAAA;IAEA,MAAM,EACJC,MAAM,EACNC,cAAc,EACdC,QAAQ,EACRC,IAAI,EACJC,MAAM,EACNC,IAAI,EACJC,YAAY,EACZC,QAAQ,EACRC,gBAAgB,EAChBC,WAAW,EACXC,eAAe,EACfC,iBAAiB,EACjBC,gBAAgB,EAChBC,kBAAkB,EAClBC,gBAAgB,EAChBC,mBAAmB,EACnBC,QAAQ,EACRC,UAAU,EACX,GAAGzC,kBAAkB;QACpBI,OAAOW;QACPV,UAAUa;QACVZ;QACAK,aAAaK;IACf;IAEA,MAAM0B,gBAAgB3C,yBAAyBO,YAAYC;IAE3D,qBACE,KAACoC;QACCC,aAAU;QACV/B,WAAW3B,GAAG,mBAAmB2B;kBAEjC,cAAA,MAACxB;YAAQwD,MAAMrB;YAAQsB,cAAcd;;8BACnC,KAACzC;oBAAewD,sBAAQ,KAACJ;wBAAIK,KAAKR;wBAAU3B,WAAU;;8BACpD,cAAA,KAACrB;wBACCY,OAAO0B;wBACPvB,QAAQmC;wBACRlC,aAAaA;wBACbgB,QAAQA;wBACRyB,SAAQ;wBACRC,WAAU;;;8BAGd,KAAC5D;oBACC0D,KAAKP;oBACL5B,WAAU;oBACVsC,MAAK;oBACLC,OAAM;8BAEN,cAAA,MAACT;wBAAIC,aAAU;wBAA2B/B,WAAU;;0CAClD,MAAC8B;gCAAI9B,WAAU;;oCACZO,eAAeA,YAAYiC,MAAM,GAAG,mBACnC,KAAC5D;wCACCiB,WAAWU;wCACXkC,iBAAiBf;;kDAGrB,KAACI;wCAAI9B,WAAU;kDACb,cAAA,KAACzB;4CACCqC,gBAAgBA;4CAChB8B,eAAetD,gBAAgByB;4CAC/B8B,WAAW;4CACX/C,mBAAmBA;4CACnBgD,aAAavB;4CACbwB,eAAevB;;;oCAGlB7B,eAAe,sBACd,KAACZ;wCACCiC,MAAMA;wCACNC,QAAQA;wCACRC,MAAMA;wCACNvB,YAAW;wCACXqD,cAAcvB;wCACdwB,gBAAgBvB;wCAChBwB,cAAcvB;uDAGhB,KAAC5C;wCACCiC,MAAMA;wCACNC,QAAQA;wCACRtB,YAAW;wCACXqD,cAAcvB;wCACdwB,gBAAgBvB;;;;0CAItB,KAACM;gCAAI9B,WAAU;0CACb,cAAA,KAAC1B;oCACC8D,SAAQ;oCACRpC,WAAU;oCACViD,SAAS7B;oCACT8B,UAAU,CAAChC;8CACZ;;;;;;;;;AASf"}
|
|
@@ -1 +1,3 @@
|
|
|
1
|
-
export
|
|
1
|
+
export { DateTimePicker } from "./date-time-picker";
|
|
2
|
+
export type { DateTimePickerProps } from "./date-time-picker";
|
|
3
|
+
export type { UseDateTimePickerProps, UseDateTimePickerReturn } from "./types";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/components/ui/core/date-time-pickers/date-time-picker/index.ts"],"sourcesContent":["export { DateTimePicker } from './date-time-picker';\nexport type { DateTimePickerProps } from './date-time-picker';\nexport type { UseDateTimePickerProps, UseDateTimePickerReturn } from './types';\n"],"names":["DateTimePicker"],"mappings":"AAAA,SAASA,cAAc,QAAQ,wBAAqB"}
|