@cognite/aura 0.3.5 → 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 +21 -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 +22 -22
- 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 +69 -55
- 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 +104 -76
- 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 +402 -132
- 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 +44 -33
- 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 -1
- package/dist/components/ui/core/data-grid/index.js +5 -2
- 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 +10 -10
- package/dist/components/ui/core/segmented-control/segmented-control.js +203 -149
- 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 +46 -11
- package/src/components/ui/core/button/button.md +93 -0
package/dist/components/ui/core/date-time-pickers/shared/date-time-input/date-time-input.d.ts
CHANGED
|
@@ -1,19 +1,20 @@
|
|
|
1
|
-
import { FC } from
|
|
2
|
-
import { Dayjs } from
|
|
1
|
+
import type { FC } from "react";
|
|
2
|
+
import type { Dayjs } from "dayjs";
|
|
3
3
|
export declare const DEFAULT_ARIA_LABEL = "Date picker";
|
|
4
|
-
export type DateTimeInputVariant =
|
|
5
|
-
export type RangePart =
|
|
4
|
+
export type DateTimeInputVariant = "date" | "time" | "datetime";
|
|
5
|
+
export type RangePart = "start" | "end";
|
|
6
6
|
export interface DateTimeInputProps {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
7
|
+
value: [Dayjs | null, Dayjs | null] | Dayjs | null;
|
|
8
|
+
format: string;
|
|
9
|
+
placeholder?: string;
|
|
10
|
+
onClick?: () => void;
|
|
11
|
+
isOpen: boolean;
|
|
12
|
+
className?: string;
|
|
13
|
+
ariaLabel?: string;
|
|
14
|
+
variant?: DateTimeInputVariant;
|
|
15
|
+
activeRangePart?: RangePart;
|
|
16
|
+
onRangePartClick?: (part: RangePart) => void;
|
|
17
|
+
popoverId?: string;
|
|
18
|
+
disabled?: boolean;
|
|
18
19
|
}
|
|
19
20
|
export declare const DateTimeInput: FC<DateTimeInputProps>;
|
|
@@ -1,65 +1,88 @@
|
|
|
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
|
-
if (Array.isArray(r)) {
|
|
22
|
-
let t = r[0] !== null || r[1] !== null;
|
|
23
|
-
return /* @__PURE__ */ s("div", {
|
|
24
|
-
"data-slot": "date-time-input",
|
|
25
|
-
className: e("relative flex items-center cursor-pointer w-full group", m),
|
|
26
|
-
role: "combobox",
|
|
27
|
-
"aria-label": h,
|
|
28
|
-
"aria-expanded": p,
|
|
29
|
-
"aria-controls": y,
|
|
30
|
-
onClick: f,
|
|
31
|
-
children: [/* @__PURE__ */ o(n, {
|
|
32
|
-
startDate: r[0],
|
|
33
|
-
endDate: r[1],
|
|
34
|
-
format: i,
|
|
35
|
-
activeRangePart: _,
|
|
36
|
-
onRangePartClick: v,
|
|
37
|
-
isOpen: p
|
|
38
|
-
}), /* @__PURE__ */ o("div", {
|
|
39
|
-
className: d(p, t),
|
|
40
|
-
children: u[g]
|
|
41
|
-
})]
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
let b = r?.format(i) ?? "", x = b.length > 0, S = a ?? i;
|
|
45
|
-
return /* @__PURE__ */ s("div", {
|
|
46
|
-
"data-slot": "date-time-input",
|
|
47
|
-
className: e("relative flex items-center cursor-pointer w-full group", m),
|
|
48
|
-
onClick: f,
|
|
49
|
-
children: [/* @__PURE__ */ o(t, {
|
|
50
|
-
value: b,
|
|
51
|
-
placeholder: S,
|
|
52
|
-
onChange: l,
|
|
53
|
-
"aria-label": h,
|
|
54
|
-
"aria-expanded": p,
|
|
55
|
-
"aria-controls": y,
|
|
56
|
-
role: "combobox",
|
|
57
|
-
className: e("border-transparent bg-muted-background cursor-pointer caret-transparent pr-9", x ? "text-foreground" : "text-muted-foreground", "hover:border-border-emphasized", p && "!bg-background !text-foreground !border-border")
|
|
58
|
-
}), /* @__PURE__ */ o("div", {
|
|
59
|
-
className: d(p, x),
|
|
60
|
-
children: u[g]
|
|
61
|
-
})]
|
|
62
|
-
});
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { IconCalendar, IconCalendarClock, IconClock } from "@tabler/icons-react";
|
|
3
|
+
import { cn } from "../../../../../../lib/utils.js";
|
|
4
|
+
import { Input } from "../../../input/input.js";
|
|
5
|
+
import { RangeInputDisplay } from "./range-input-display.js";
|
|
6
|
+
export const DEFAULT_ARIA_LABEL = 'Date picker';
|
|
7
|
+
const noop = ()=>undefined;
|
|
8
|
+
const VARIANT_ICONS = {
|
|
9
|
+
date: /*#__PURE__*/ _jsx(IconCalendar, {
|
|
10
|
+
"aria-label": "date-icon",
|
|
11
|
+
className: "size-4"
|
|
12
|
+
}),
|
|
13
|
+
time: /*#__PURE__*/ _jsx(IconClock, {
|
|
14
|
+
"aria-label": "time-icon",
|
|
15
|
+
className: "size-4"
|
|
16
|
+
}),
|
|
17
|
+
datetime: /*#__PURE__*/ _jsx(IconCalendarClock, {
|
|
18
|
+
"aria-label": "datetime-icon",
|
|
19
|
+
className: "size-4"
|
|
20
|
+
})
|
|
63
21
|
};
|
|
64
|
-
|
|
65
|
-
|
|
22
|
+
const iconOverlay = (isOpen, isFilled, disabled)=>{
|
|
23
|
+
let colorClass = 'text-muted-foreground';
|
|
24
|
+
if (disabled) {
|
|
25
|
+
colorClass = 'text-base-foreground-disabled';
|
|
26
|
+
} else if (isFilled || isOpen) {
|
|
27
|
+
colorClass = 'text-base-foreground';
|
|
28
|
+
}
|
|
29
|
+
return cn('absolute right-3 top-1/2 -translate-y-1/2 pointer-events-none', 'flex items-center justify-center', 'transition-colors duration-150', colorClass, !disabled && 'group-hover:text-base-foreground');
|
|
30
|
+
};
|
|
31
|
+
export const DateTimeInput = ({ value, format, placeholder, onClick, isOpen, className, ariaLabel = DEFAULT_ARIA_LABEL, variant = 'date', activeRangePart, onRangePartClick, popoverId, disabled })=>{
|
|
32
|
+
const isRangeValue = Array.isArray(value);
|
|
33
|
+
if (isRangeValue) {
|
|
34
|
+
const isRangeFilled = value[0] !== null || value[1] !== null;
|
|
35
|
+
return /*#__PURE__*/ _jsxs("div", {
|
|
36
|
+
"data-slot": "date-time-input",
|
|
37
|
+
className: cn('relative flex items-center w-full group', disabled ? 'cursor-not-allowed' : 'cursor-pointer', className),
|
|
38
|
+
role: "combobox",
|
|
39
|
+
"aria-label": ariaLabel,
|
|
40
|
+
"aria-expanded": isOpen,
|
|
41
|
+
"aria-controls": popoverId,
|
|
42
|
+
"aria-disabled": disabled || undefined,
|
|
43
|
+
onClick: disabled ? undefined : onClick,
|
|
44
|
+
children: [
|
|
45
|
+
/*#__PURE__*/ _jsx(RangeInputDisplay, {
|
|
46
|
+
startDate: value[0],
|
|
47
|
+
endDate: value[1],
|
|
48
|
+
format: format,
|
|
49
|
+
activeRangePart: activeRangePart,
|
|
50
|
+
onRangePartClick: onRangePartClick,
|
|
51
|
+
isOpen: isOpen,
|
|
52
|
+
disabled: disabled
|
|
53
|
+
}),
|
|
54
|
+
/*#__PURE__*/ _jsx("div", {
|
|
55
|
+
className: iconOverlay(isOpen, isRangeFilled, disabled),
|
|
56
|
+
children: VARIANT_ICONS[variant]
|
|
57
|
+
})
|
|
58
|
+
]
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
const displayValue = value?.format(format) ?? '';
|
|
62
|
+
const isFilled = displayValue.length > 0;
|
|
63
|
+
const placeholderText = placeholder ?? format;
|
|
64
|
+
return /*#__PURE__*/ _jsxs("div", {
|
|
65
|
+
"data-slot": "date-time-input",
|
|
66
|
+
className: cn('relative flex items-center w-full group', disabled ? 'cursor-not-allowed' : 'cursor-pointer', className),
|
|
67
|
+
onClick: disabled ? undefined : onClick,
|
|
68
|
+
children: [
|
|
69
|
+
/*#__PURE__*/ _jsx(Input, {
|
|
70
|
+
value: displayValue,
|
|
71
|
+
placeholder: placeholderText,
|
|
72
|
+
onChange: noop,
|
|
73
|
+
disabled: disabled,
|
|
74
|
+
"aria-label": ariaLabel,
|
|
75
|
+
"aria-expanded": isOpen,
|
|
76
|
+
"aria-controls": popoverId,
|
|
77
|
+
role: "combobox",
|
|
78
|
+
className: cn('border-transparent bg-medium-background caret-transparent pr-9', disabled ? 'cursor-not-allowed' : 'cursor-pointer', !disabled && (isFilled ? 'text-base-foreground' : 'text-muted-foreground'), !disabled && 'hover:border-emphasized', !disabled && isOpen && '!bg-base-background !text-base-foreground !border-default')
|
|
79
|
+
}),
|
|
80
|
+
/*#__PURE__*/ _jsx("div", {
|
|
81
|
+
className: iconOverlay(isOpen, isFilled, disabled),
|
|
82
|
+
children: VARIANT_ICONS[variant]
|
|
83
|
+
})
|
|
84
|
+
]
|
|
85
|
+
});
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
//# sourceMappingURL=date-time-input.js.map
|
package/dist/components/ui/core/date-time-pickers/shared/date-time-input/date-time-input.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/components/ui/core/date-time-pickers/shared/date-time-input/date-time-input.tsx"],"sourcesContent":["import type { FC, ReactNode } from 'react';\n\nimport {\n IconCalendar,\n IconCalendarClock,\n IconClock,\n} from '@tabler/icons-react';\nimport type { Dayjs } from 'dayjs';\n\nimport { cn } from '../../../../../../lib/utils';\nimport { Input } from '../../../input/input';\n\nimport { RangeInputDisplay } from './range-input-display';\n\nexport const DEFAULT_ARIA_LABEL = 'Date picker';\n\nconst noop = () => undefined;\n\nexport type DateTimeInputVariant = 'date' | 'time' | 'datetime';\nexport type RangePart = 'start' | 'end';\n\nconst VARIANT_ICONS: Record<DateTimeInputVariant, ReactNode> = {\n date: <IconCalendar aria-label=\"date-icon\" className=\"size-4\" />,\n time: <IconClock aria-label=\"time-icon\" className=\"size-4\" />,\n datetime: <IconCalendarClock aria-label=\"datetime-icon\" className=\"size-4\" />,\n};\n\nconst iconOverlay = (\n isOpen: boolean,\n isFilled: boolean,\n disabled?: boolean\n) => {\n let colorClass = 'text-muted-foreground';\n if (disabled) {\n colorClass = 'text-base-foreground-disabled';\n } else if (isFilled || isOpen) {\n colorClass = 'text-base-foreground';\n }\n\n return cn(\n 'absolute right-3 top-1/2 -translate-y-1/2 pointer-events-none',\n 'flex items-center justify-center',\n 'transition-colors duration-150',\n colorClass,\n !disabled && 'group-hover:text-base-foreground'\n );\n};\n\nexport interface DateTimeInputProps {\n value: [Dayjs | null, Dayjs | null] | Dayjs | null;\n format: string;\n placeholder?: string;\n onClick?: () => void;\n isOpen: boolean;\n className?: string;\n ariaLabel?: string;\n variant?: DateTimeInputVariant;\n activeRangePart?: RangePart;\n onRangePartClick?: (part: RangePart) => void;\n popoverId?: string;\n disabled?: boolean;\n}\n\nexport const DateTimeInput: FC<DateTimeInputProps> = ({\n value,\n format,\n placeholder,\n onClick,\n isOpen,\n className,\n ariaLabel = DEFAULT_ARIA_LABEL,\n variant = 'date',\n activeRangePart,\n onRangePartClick,\n popoverId,\n disabled,\n}) => {\n const isRangeValue = Array.isArray(value);\n\n if (isRangeValue) {\n const isRangeFilled = value[0] !== null || value[1] !== null;\n return (\n <div\n data-slot=\"date-time-input\"\n className={cn(\n 'relative flex items-center w-full group',\n disabled ? 'cursor-not-allowed' : 'cursor-pointer',\n className\n )}\n role=\"combobox\"\n aria-label={ariaLabel}\n aria-expanded={isOpen}\n aria-controls={popoverId}\n aria-disabled={disabled || undefined}\n onClick={disabled ? undefined : onClick}\n >\n <RangeInputDisplay\n startDate={value[0]}\n endDate={value[1]}\n format={format}\n activeRangePart={activeRangePart}\n onRangePartClick={onRangePartClick}\n isOpen={isOpen}\n disabled={disabled}\n />\n <div className={iconOverlay(isOpen, isRangeFilled, disabled)}>\n {VARIANT_ICONS[variant]}\n </div>\n </div>\n );\n }\n\n const displayValue = value?.format(format) ?? '';\n const isFilled = displayValue.length > 0;\n const placeholderText = placeholder ?? format;\n\n return (\n <div\n data-slot=\"date-time-input\"\n className={cn(\n 'relative flex items-center w-full group',\n disabled ? 'cursor-not-allowed' : 'cursor-pointer',\n className\n )}\n onClick={disabled ? undefined : onClick}\n >\n <Input\n value={displayValue}\n placeholder={placeholderText}\n onChange={noop}\n disabled={disabled}\n aria-label={ariaLabel}\n aria-expanded={isOpen}\n aria-controls={popoverId}\n role=\"combobox\"\n className={cn(\n 'border-transparent bg-medium-background caret-transparent pr-9',\n disabled ? 'cursor-not-allowed' : 'cursor-pointer',\n !disabled &&\n (isFilled ? 'text-base-foreground' : 'text-muted-foreground'),\n !disabled && 'hover:border-emphasized',\n !disabled &&\n isOpen &&\n '!bg-base-background !text-base-foreground !border-default'\n )}\n />\n <div className={iconOverlay(isOpen, isFilled, disabled)}>\n {VARIANT_ICONS[variant]}\n </div>\n </div>\n );\n};\n"],"names":["IconCalendar","IconCalendarClock","IconClock","cn","Input","RangeInputDisplay","DEFAULT_ARIA_LABEL","noop","undefined","VARIANT_ICONS","date","aria-label","className","time","datetime","iconOverlay","isOpen","isFilled","disabled","colorClass","DateTimeInput","value","format","placeholder","onClick","ariaLabel","variant","activeRangePart","onRangePartClick","popoverId","isRangeValue","Array","isArray","isRangeFilled","div","data-slot","role","aria-expanded","aria-controls","aria-disabled","startDate","endDate","displayValue","length","placeholderText","onChange"],"mappings":";AAEA,SACEA,YAAY,EACZC,iBAAiB,EACjBC,SAAS,QACJ,sBAAsB;AAG7B,SAASC,EAAE,QAAQ,iCAA8B;AACjD,SAASC,KAAK,QAAQ,0BAAuB;AAE7C,SAASC,iBAAiB,QAAQ,2BAAwB;AAE1D,OAAO,MAAMC,qBAAqB,cAAc;AAEhD,MAAMC,OAAO,IAAMC;AAKnB,MAAMC,gBAAyD;IAC7DC,oBAAM,KAACV;QAAaW,cAAW;QAAYC,WAAU;;IACrDC,oBAAM,KAACX;QAAUS,cAAW;QAAYC,WAAU;;IAClDE,wBAAU,KAACb;QAAkBU,cAAW;QAAgBC,WAAU;;AACpE;AAEA,MAAMG,cAAc,CAClBC,QACAC,UACAC;IAEA,IAAIC,aAAa;IACjB,IAAID,UAAU;QACZC,aAAa;IACf,OAAO,IAAIF,YAAYD,QAAQ;QAC7BG,aAAa;IACf;IAEA,OAAOhB,GACL,iEACA,oCACA,kCACAgB,YACA,CAACD,YAAY;AAEjB;AAiBA,OAAO,MAAME,gBAAwC,CAAC,EACpDC,KAAK,EACLC,MAAM,EACNC,WAAW,EACXC,OAAO,EACPR,MAAM,EACNJ,SAAS,EACTa,YAAYnB,kBAAkB,EAC9BoB,UAAU,MAAM,EAChBC,eAAe,EACfC,gBAAgB,EAChBC,SAAS,EACTX,QAAQ,EACT;IACC,MAAMY,eAAeC,MAAMC,OAAO,CAACX;IAEnC,IAAIS,cAAc;QAChB,MAAMG,gBAAgBZ,KAAK,CAAC,EAAE,KAAK,QAAQA,KAAK,CAAC,EAAE,KAAK;QACxD,qBACE,MAACa;YACCC,aAAU;YACVvB,WAAWT,GACT,2CACAe,WAAW,uBAAuB,kBAClCN;YAEFwB,MAAK;YACLzB,cAAYc;YACZY,iBAAerB;YACfsB,iBAAeT;YACfU,iBAAerB,YAAYV;YAC3BgB,SAASN,WAAWV,YAAYgB;;8BAEhC,KAACnB;oBACCmC,WAAWnB,KAAK,CAAC,EAAE;oBACnBoB,SAASpB,KAAK,CAAC,EAAE;oBACjBC,QAAQA;oBACRK,iBAAiBA;oBACjBC,kBAAkBA;oBAClBZ,QAAQA;oBACRE,UAAUA;;8BAEZ,KAACgB;oBAAItB,WAAWG,YAAYC,QAAQiB,eAAef;8BAChDT,aAAa,CAACiB,QAAQ;;;;IAI/B;IAEA,MAAMgB,eAAerB,OAAOC,OAAOA,WAAW;IAC9C,MAAML,WAAWyB,aAAaC,MAAM,GAAG;IACvC,MAAMC,kBAAkBrB,eAAeD;IAEvC,qBACE,MAACY;QACCC,aAAU;QACVvB,WAAWT,GACT,2CACAe,WAAW,uBAAuB,kBAClCN;QAEFY,SAASN,WAAWV,YAAYgB;;0BAEhC,KAACpB;gBACCiB,OAAOqB;gBACPnB,aAAaqB;gBACbC,UAAUtC;gBACVW,UAAUA;gBACVP,cAAYc;gBACZY,iBAAerB;gBACfsB,iBAAeT;gBACfO,MAAK;gBACLxB,WAAWT,GACT,kEACAe,WAAW,uBAAuB,kBAClC,CAACA,YACED,CAAAA,WAAW,yBAAyB,uBAAsB,GAC7D,CAACC,YAAY,2BACb,CAACA,YACCF,UACA;;0BAGN,KAACkB;gBAAItB,WAAWG,YAAYC,QAAQC,UAAUC;0BAC3CT,aAAa,CAACiB,QAAQ;;;;AAI/B,EAAE"}
|
package/dist/components/ui/core/date-time-pickers/shared/date-time-input/range-input-display.d.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import { FC } from
|
|
2
|
-
import { Dayjs } from
|
|
3
|
-
import { RangePart } from
|
|
1
|
+
import type { FC } from "react";
|
|
2
|
+
import type { Dayjs } from "dayjs";
|
|
3
|
+
import type { RangePart } from "./date-time-input";
|
|
4
4
|
export interface RangeInputDisplayProps {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
5
|
+
startDate: Dayjs | null;
|
|
6
|
+
endDate: Dayjs | null;
|
|
7
|
+
format: string;
|
|
8
|
+
activeRangePart?: RangePart;
|
|
9
|
+
onRangePartClick?: (part: RangePart) => void;
|
|
10
|
+
isOpen?: boolean;
|
|
11
|
+
disabled?: boolean;
|
|
11
12
|
}
|
|
12
13
|
export declare const RangeInputDisplay: FC<RangeInputDisplayProps>;
|
package/dist/components/ui/core/date-time-pickers/shared/date-time-input/range-input-display.js
CHANGED
|
@@ -1,39 +1,90 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
onClick: f("end"),
|
|
30
|
-
children: o ? o.format(s) : /* @__PURE__ */ t("span", {
|
|
31
|
-
className: i,
|
|
32
|
-
children: s
|
|
33
|
-
})
|
|
34
|
-
})
|
|
35
|
-
]
|
|
36
|
-
});
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from "../../../../../../lib/utils.js";
|
|
3
|
+
const SEGMENT_BASE = 'px-1 py-0.5 rounded-sm transition-colors duration-150';
|
|
4
|
+
const PLACEHOLDER_TEXT = 'text-muted-foreground group-hover:text-base-foreground transition-colors duration-150';
|
|
5
|
+
const DisabledRangeInputDisplay = ({ startDate, endDate, format })=>{
|
|
6
|
+
return /*#__PURE__*/ _jsxs("div", {
|
|
7
|
+
className: cn('flex items-center w-full py-1 px-3 pr-9 border rounded-lg', 'text-sm leading-5 h-9 box-border whitespace-nowrap overflow-hidden', 'transition-[background,border-color,color,box-shadow] duration-150', 'bg-transparent border-disabled text-base-foreground-disabled cursor-not-allowed'),
|
|
8
|
+
children: [
|
|
9
|
+
/*#__PURE__*/ _jsx("span", {
|
|
10
|
+
className: cn(SEGMENT_BASE, 'cursor-not-allowed'),
|
|
11
|
+
children: startDate ? startDate.format(format) : /*#__PURE__*/ _jsx("span", {
|
|
12
|
+
className: "text-base-foreground-disabled",
|
|
13
|
+
children: format
|
|
14
|
+
})
|
|
15
|
+
}),
|
|
16
|
+
/*#__PURE__*/ _jsx("span", {
|
|
17
|
+
className: "select-none transition-colors duration-150 text-base-foreground-disabled",
|
|
18
|
+
children: ' – '
|
|
19
|
+
}),
|
|
20
|
+
/*#__PURE__*/ _jsx("span", {
|
|
21
|
+
className: cn(SEGMENT_BASE, 'cursor-not-allowed'),
|
|
22
|
+
children: endDate ? endDate.format(format) : /*#__PURE__*/ _jsx("span", {
|
|
23
|
+
className: "text-base-foreground-disabled",
|
|
24
|
+
children: format
|
|
25
|
+
})
|
|
26
|
+
})
|
|
27
|
+
]
|
|
28
|
+
});
|
|
37
29
|
};
|
|
38
|
-
|
|
39
|
-
|
|
30
|
+
export const RangeInputDisplay = ({ startDate, endDate, format, activeRangePart, onRangePartClick, isOpen, disabled })=>{
|
|
31
|
+
if (disabled) {
|
|
32
|
+
return /*#__PURE__*/ _jsx(DisabledRangeInputDisplay, {
|
|
33
|
+
startDate: startDate,
|
|
34
|
+
endDate: endDate,
|
|
35
|
+
format: format
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
const isFilled = startDate !== null || endDate !== null;
|
|
39
|
+
const handlePartClick = (part)=>(e)=>{
|
|
40
|
+
if (!onRangePartClick) return;
|
|
41
|
+
e.stopPropagation();
|
|
42
|
+
onRangePartClick(part);
|
|
43
|
+
};
|
|
44
|
+
let containerStateClass = 'bg-medium-background border-transparent hover:border-emphasized';
|
|
45
|
+
if (isOpen) {
|
|
46
|
+
containerStateClass = 'bg-base-background text-base-foreground border-default shadow-focus-ring';
|
|
47
|
+
} else if (isFilled) {
|
|
48
|
+
containerStateClass = cn(containerStateClass, 'text-base-foreground');
|
|
49
|
+
} else {
|
|
50
|
+
containerStateClass = cn(containerStateClass, 'text-muted-foreground');
|
|
51
|
+
}
|
|
52
|
+
const segmentCursorClass = onRangePartClick ? 'cursor-pointer' : 'cursor-default';
|
|
53
|
+
const separatorColorClass = isFilled ? 'text-base-foreground' : 'text-muted-foreground group-hover:text-base-foreground';
|
|
54
|
+
const segmentPartClass = (part)=>{
|
|
55
|
+
if (activeRangePart === part) {
|
|
56
|
+
return 'bg-active-muted-background';
|
|
57
|
+
}
|
|
58
|
+
if (onRangePartClick) {
|
|
59
|
+
return 'hover:bg-active-muted-background-hover';
|
|
60
|
+
}
|
|
61
|
+
return undefined;
|
|
62
|
+
};
|
|
63
|
+
return /*#__PURE__*/ _jsxs("div", {
|
|
64
|
+
className: cn('flex items-center w-full py-1 px-3 pr-9 border rounded-lg', 'text-sm leading-5 h-9 box-border whitespace-nowrap overflow-hidden', 'transition-[background,border-color,color,box-shadow] duration-150', containerStateClass),
|
|
65
|
+
children: [
|
|
66
|
+
/*#__PURE__*/ _jsx("span", {
|
|
67
|
+
className: cn(SEGMENT_BASE, segmentCursorClass, segmentPartClass('start')),
|
|
68
|
+
onClick: handlePartClick('start'),
|
|
69
|
+
children: startDate ? startDate.format(format) : /*#__PURE__*/ _jsx("span", {
|
|
70
|
+
className: PLACEHOLDER_TEXT,
|
|
71
|
+
children: format
|
|
72
|
+
})
|
|
73
|
+
}),
|
|
74
|
+
/*#__PURE__*/ _jsx("span", {
|
|
75
|
+
className: cn('select-none transition-colors duration-150', separatorColorClass),
|
|
76
|
+
children: ' – '
|
|
77
|
+
}),
|
|
78
|
+
/*#__PURE__*/ _jsx("span", {
|
|
79
|
+
className: cn(SEGMENT_BASE, segmentCursorClass, segmentPartClass('end')),
|
|
80
|
+
onClick: handlePartClick('end'),
|
|
81
|
+
children: endDate ? endDate.format(format) : /*#__PURE__*/ _jsx("span", {
|
|
82
|
+
className: PLACEHOLDER_TEXT,
|
|
83
|
+
children: format
|
|
84
|
+
})
|
|
85
|
+
})
|
|
86
|
+
]
|
|
87
|
+
});
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
//# sourceMappingURL=range-input-display.js.map
|
package/dist/components/ui/core/date-time-pickers/shared/date-time-input/range-input-display.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/components/ui/core/date-time-pickers/shared/date-time-input/range-input-display.tsx"],"sourcesContent":["import type { FC, MouseEvent } from 'react';\n\nimport type { Dayjs } from 'dayjs';\n\nimport { cn } from '../../../../../../lib/utils';\n\nimport type { RangePart } from './date-time-input';\n\nconst SEGMENT_BASE = 'px-1 py-0.5 rounded-sm transition-colors duration-150';\nconst PLACEHOLDER_TEXT =\n 'text-muted-foreground group-hover:text-base-foreground transition-colors duration-150';\n\nexport interface RangeInputDisplayProps {\n startDate: Dayjs | null;\n endDate: Dayjs | null;\n format: string;\n activeRangePart?: RangePart;\n onRangePartClick?: (part: RangePart) => void;\n isOpen?: boolean;\n disabled?: boolean;\n}\n\ntype DisabledRangeInputDisplayProps = Pick<\n RangeInputDisplayProps,\n 'startDate' | 'endDate' | 'format'\n>;\n\nconst DisabledRangeInputDisplay: FC<DisabledRangeInputDisplayProps> = ({\n startDate,\n endDate,\n format,\n}) => {\n return (\n <div\n className={cn(\n 'flex items-center w-full py-1 px-3 pr-9 border rounded-lg',\n 'text-sm leading-5 h-9 box-border whitespace-nowrap overflow-hidden',\n 'transition-[background,border-color,color,box-shadow] duration-150',\n 'bg-transparent border-disabled text-base-foreground-disabled cursor-not-allowed'\n )}\n >\n <span className={cn(SEGMENT_BASE, 'cursor-not-allowed')}>\n {startDate ? (\n startDate.format(format)\n ) : (\n <span className=\"text-base-foreground-disabled\">{format}</span>\n )}\n </span>\n <span className=\"select-none transition-colors duration-150 text-base-foreground-disabled\">\n {' – '}\n </span>\n <span className={cn(SEGMENT_BASE, 'cursor-not-allowed')}>\n {endDate ? (\n endDate.format(format)\n ) : (\n <span className=\"text-base-foreground-disabled\">{format}</span>\n )}\n </span>\n </div>\n );\n};\n\nexport const RangeInputDisplay: FC<RangeInputDisplayProps> = ({\n startDate,\n endDate,\n format,\n activeRangePart,\n onRangePartClick,\n isOpen,\n disabled,\n}) => {\n if (disabled) {\n return (\n <DisabledRangeInputDisplay\n startDate={startDate}\n endDate={endDate}\n format={format}\n />\n );\n }\n\n const isFilled = startDate !== null || endDate !== null;\n\n const handlePartClick = (part: RangePart) => (e: MouseEvent) => {\n if (!onRangePartClick) return;\n e.stopPropagation();\n onRangePartClick(part);\n };\n\n let containerStateClass =\n 'bg-medium-background border-transparent hover:border-emphasized';\n if (isOpen) {\n containerStateClass =\n 'bg-base-background text-base-foreground border-default shadow-focus-ring';\n } else if (isFilled) {\n containerStateClass = cn(containerStateClass, 'text-base-foreground');\n } else {\n containerStateClass = cn(containerStateClass, 'text-muted-foreground');\n }\n\n const segmentCursorClass = onRangePartClick\n ? 'cursor-pointer'\n : 'cursor-default';\n\n const separatorColorClass = isFilled\n ? 'text-base-foreground'\n : 'text-muted-foreground group-hover:text-base-foreground';\n\n const segmentPartClass = (part: RangePart) => {\n if (activeRangePart === part) {\n return 'bg-active-muted-background';\n }\n if (onRangePartClick) {\n return 'hover:bg-active-muted-background-hover';\n }\n return undefined;\n };\n\n return (\n <div\n className={cn(\n 'flex items-center w-full py-1 px-3 pr-9 border rounded-lg',\n 'text-sm leading-5 h-9 box-border whitespace-nowrap overflow-hidden',\n 'transition-[background,border-color,color,box-shadow] duration-150',\n containerStateClass\n )}\n >\n <span\n className={cn(\n SEGMENT_BASE,\n segmentCursorClass,\n segmentPartClass('start')\n )}\n onClick={handlePartClick('start')}\n >\n {startDate ? (\n startDate.format(format)\n ) : (\n <span className={PLACEHOLDER_TEXT}>{format}</span>\n )}\n </span>\n <span\n className={cn(\n 'select-none transition-colors duration-150',\n separatorColorClass\n )}\n >\n {' – '}\n </span>\n <span\n className={cn(\n SEGMENT_BASE,\n segmentCursorClass,\n segmentPartClass('end')\n )}\n onClick={handlePartClick('end')}\n >\n {endDate ? (\n endDate.format(format)\n ) : (\n <span className={PLACEHOLDER_TEXT}>{format}</span>\n )}\n </span>\n </div>\n );\n};\n"],"names":["cn","SEGMENT_BASE","PLACEHOLDER_TEXT","DisabledRangeInputDisplay","startDate","endDate","format","div","className","span","RangeInputDisplay","activeRangePart","onRangePartClick","isOpen","disabled","isFilled","handlePartClick","part","e","stopPropagation","containerStateClass","segmentCursorClass","separatorColorClass","segmentPartClass","undefined","onClick"],"mappings":";AAIA,SAASA,EAAE,QAAQ,iCAA8B;AAIjD,MAAMC,eAAe;AACrB,MAAMC,mBACJ;AAiBF,MAAMC,4BAAgE,CAAC,EACrEC,SAAS,EACTC,OAAO,EACPC,MAAM,EACP;IACC,qBACE,MAACC;QACCC,WAAWR,GACT,6DACA,sEACA,sEACA;;0BAGF,KAACS;gBAAKD,WAAWR,GAAGC,cAAc;0BAC/BG,YACCA,UAAUE,MAAM,CAACA,wBAEjB,KAACG;oBAAKD,WAAU;8BAAiCF;;;0BAGrD,KAACG;gBAAKD,WAAU;0BACb;;0BAEH,KAACC;gBAAKD,WAAWR,GAAGC,cAAc;0BAC/BI,UACCA,QAAQC,MAAM,CAACA,wBAEf,KAACG;oBAAKD,WAAU;8BAAiCF;;;;;AAK3D;AAEA,OAAO,MAAMI,oBAAgD,CAAC,EAC5DN,SAAS,EACTC,OAAO,EACPC,MAAM,EACNK,eAAe,EACfC,gBAAgB,EAChBC,MAAM,EACNC,QAAQ,EACT;IACC,IAAIA,UAAU;QACZ,qBACE,KAACX;YACCC,WAAWA;YACXC,SAASA;YACTC,QAAQA;;IAGd;IAEA,MAAMS,WAAWX,cAAc,QAAQC,YAAY;IAEnD,MAAMW,kBAAkB,CAACC,OAAoB,CAACC;YAC5C,IAAI,CAACN,kBAAkB;YACvBM,EAAEC,eAAe;YACjBP,iBAAiBK;QACnB;IAEA,IAAIG,sBACF;IACF,IAAIP,QAAQ;QACVO,sBACE;IACJ,OAAO,IAAIL,UAAU;QACnBK,sBAAsBpB,GAAGoB,qBAAqB;IAChD,OAAO;QACLA,sBAAsBpB,GAAGoB,qBAAqB;IAChD;IAEA,MAAMC,qBAAqBT,mBACvB,mBACA;IAEJ,MAAMU,sBAAsBP,WACxB,yBACA;IAEJ,MAAMQ,mBAAmB,CAACN;QACxB,IAAIN,oBAAoBM,MAAM;YAC5B,OAAO;QACT;QACA,IAAIL,kBAAkB;YACpB,OAAO;QACT;QACA,OAAOY;IACT;IAEA,qBACE,MAACjB;QACCC,WAAWR,GACT,6DACA,sEACA,sEACAoB;;0BAGF,KAACX;gBACCD,WAAWR,GACTC,cACAoB,oBACAE,iBAAiB;gBAEnBE,SAAST,gBAAgB;0BAExBZ,YACCA,UAAUE,MAAM,CAACA,wBAEjB,KAACG;oBAAKD,WAAWN;8BAAmBI;;;0BAGxC,KAACG;gBACCD,WAAWR,GACT,8CACAsB;0BAGD;;0BAEH,KAACb;gBACCD,WAAWR,GACTC,cACAoB,oBACAE,iBAAiB;gBAEnBE,SAAST,gBAAgB;0BAExBX,UACCA,QAAQC,MAAM,CAACA,wBAEf,KAACG;oBAAKD,WAAWN;8BAAmBI;;;;;AAK9C,EAAE"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
export interface UsePopoverStateOptions {
|
|
2
|
-
|
|
2
|
+
onBackspace?: () => void;
|
|
3
3
|
}
|
|
4
4
|
export interface UsePopoverStateReturn {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
isOpen: boolean;
|
|
6
|
+
setIsOpen: (isOpen: boolean) => void;
|
|
7
|
+
popoverRef: React.RefObject<HTMLDivElement>;
|
|
8
|
+
inputRef: React.RefObject<HTMLDivElement>;
|
|
9
9
|
}
|
|
10
10
|
export declare const usePopoverState: (options?: UsePopoverStateOptions) => UsePopoverStateReturn;
|
|
@@ -1,24 +1,35 @@
|
|
|
1
|
-
import { useEffect
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
1
|
+
import { useEffect, useRef, useState } from "react";
|
|
2
|
+
export const usePopoverState = (options = {})=>{
|
|
3
|
+
const { onBackspace } = options;
|
|
4
|
+
const [isOpen, setIsOpen] = useState(false);
|
|
5
|
+
const popoverRef = useRef(null);
|
|
6
|
+
const inputRef = useRef(null);
|
|
7
|
+
useEffect(()=>{
|
|
8
|
+
if (!isOpen) return;
|
|
9
|
+
const handleKeyDown = (event)=>{
|
|
10
|
+
if (event.key === 'Backspace' && onBackspace) {
|
|
11
|
+
const { target } = event;
|
|
12
|
+
const isInput = target instanceof HTMLInputElement || target instanceof HTMLTextAreaElement || target instanceof HTMLElement && target.isContentEditable;
|
|
13
|
+
if (!isInput) {
|
|
14
|
+
event.preventDefault();
|
|
15
|
+
onBackspace();
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
document.addEventListener('keydown', handleKeyDown);
|
|
20
|
+
return ()=>{
|
|
21
|
+
document.removeEventListener('keydown', handleKeyDown);
|
|
22
|
+
};
|
|
23
|
+
}, [
|
|
24
|
+
isOpen,
|
|
25
|
+
onBackspace
|
|
26
|
+
]);
|
|
27
|
+
return {
|
|
28
|
+
isOpen,
|
|
29
|
+
setIsOpen,
|
|
30
|
+
popoverRef,
|
|
31
|
+
inputRef
|
|
32
|
+
};
|
|
22
33
|
};
|
|
23
|
-
|
|
24
|
-
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=use-popover-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/components/ui/core/date-time-pickers/shared/hooks/use-popover-state.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nexport interface UsePopoverStateOptions {\n onBackspace?: () => void;\n}\n\nexport interface UsePopoverStateReturn {\n isOpen: boolean;\n setIsOpen: (isOpen: boolean) => void;\n popoverRef: React.RefObject<HTMLDivElement>;\n inputRef: React.RefObject<HTMLDivElement>;\n}\n\nexport const usePopoverState = (\n options: UsePopoverStateOptions = {}\n): UsePopoverStateReturn => {\n const { onBackspace } = options;\n const [isOpen, setIsOpen] = useState(false);\n const popoverRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!isOpen) return;\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Backspace' && onBackspace) {\n const { target } = event;\n const isInput =\n target instanceof HTMLInputElement ||\n target instanceof HTMLTextAreaElement ||\n (target instanceof HTMLElement && target.isContentEditable);\n if (!isInput) {\n event.preventDefault();\n onBackspace();\n }\n }\n };\n\n document.addEventListener('keydown', handleKeyDown);\n\n return () => {\n document.removeEventListener('keydown', handleKeyDown);\n };\n }, [isOpen, onBackspace]);\n\n return {\n isOpen,\n setIsOpen,\n popoverRef,\n inputRef,\n };\n};\n"],"names":["useEffect","useRef","useState","usePopoverState","options","onBackspace","isOpen","setIsOpen","popoverRef","inputRef","handleKeyDown","event","key","target","isInput","HTMLInputElement","HTMLTextAreaElement","HTMLElement","isContentEditable","preventDefault","document","addEventListener","removeEventListener"],"mappings":"AAAA,SAASA,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,QAAQ;AAapD,OAAO,MAAMC,kBAAkB,CAC7BC,UAAkC,CAAC,CAAC;IAEpC,MAAM,EAAEC,WAAW,EAAE,GAAGD;IACxB,MAAM,CAACE,QAAQC,UAAU,GAAGL,SAAS;IACrC,MAAMM,aAAaP,OAAuB;IAC1C,MAAMQ,WAAWR,OAAuB;IAExCD,UAAU;QACR,IAAI,CAACM,QAAQ;QAEb,MAAMI,gBAAgB,CAACC;YACrB,IAAIA,MAAMC,GAAG,KAAK,eAAeP,aAAa;gBAC5C,MAAM,EAAEQ,MAAM,EAAE,GAAGF;gBACnB,MAAMG,UACJD,kBAAkBE,oBAClBF,kBAAkBG,uBACjBH,kBAAkBI,eAAeJ,OAAOK,iBAAiB;gBAC5D,IAAI,CAACJ,SAAS;oBACZH,MAAMQ,cAAc;oBACpBd;gBACF;YACF;QACF;QAEAe,SAASC,gBAAgB,CAAC,WAAWX;QAErC,OAAO;YACLU,SAASE,mBAAmB,CAAC,WAAWZ;QAC1C;IACF,GAAG;QAACJ;QAAQD;KAAY;IAExB,OAAO;QACLC;QACAC;QACAC;QACAC;IACF;AACF,EAAE"}
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
import { Dayjs } from
|
|
2
|
-
import { RangeSelectionStep } from
|
|
1
|
+
import type { Dayjs } from "dayjs";
|
|
2
|
+
import type { RangeSelectionStep } from "./use-range-step-manager";
|
|
3
3
|
export interface DateStateSnapshot {
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
tempStart: Dayjs | null;
|
|
5
|
+
tempEnd: Dayjs | null;
|
|
6
6
|
}
|
|
7
7
|
export interface UseRangeDateStateOptions {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
8
|
+
value: [Dayjs | null, Dayjs | null];
|
|
9
|
+
defaultDate: Dayjs;
|
|
10
|
+
/** Transforms a clicked date before storing; pass time-of-day defaults for datetime variants. */
|
|
11
|
+
mapDate?: (date: Dayjs, role: "start" | "end") => Dayjs;
|
|
12
|
+
/** Called when the end date is selected; used for auto-apply in date-only variants. */
|
|
13
|
+
onEndDateSelected?: (start: Dayjs | null, end: Dayjs) => void;
|
|
14
14
|
}
|
|
15
15
|
export interface UseRangeDateStateReturn {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
16
|
+
tempStart: Dayjs | null;
|
|
17
|
+
tempEnd: Dayjs | null;
|
|
18
|
+
displayedMonth: Dayjs;
|
|
19
|
+
hoverDate: Dayjs | null;
|
|
20
|
+
/** Synchronous ref — use inside callbacks to avoid stale closures. */
|
|
21
|
+
stateRef: React.MutableRefObject<DateStateSnapshot>;
|
|
22
|
+
handleDateClick: (date: Dayjs, step: RangeSelectionStep) => void;
|
|
23
|
+
handleDateHover: (date: Dayjs | null) => void;
|
|
24
|
+
handleMonthChange: (month: Dayjs) => void;
|
|
25
|
+
/** Returns the new [start, end] tuple, or null if the segment was already empty (signals caller to move focus to start). */
|
|
26
|
+
clearActiveSegment: (step: RangeSelectionStep) => [Dayjs | null, Dayjs | null] | null;
|
|
27
|
+
resetDates: (value: [Dayjs | null, Dayjs | null]) => void;
|
|
28
28
|
}
|
|
29
|
-
export declare const useRangeDateState: ({ value, defaultDate, mapDate, onEndDateSelected
|
|
29
|
+
export declare const useRangeDateState: ({ value, defaultDate, mapDate, onEndDateSelected }: UseRangeDateStateOptions) => UseRangeDateStateReturn;
|