@vuu-ui/vuu-ui-controls 2.1.19-beta.2 → 2.1.19-beta.4
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/cjs/calendar/Calendar.css.js +6 -0
- package/cjs/calendar/Calendar.css.js.map +1 -0
- package/cjs/calendar/Calendar.js +93 -0
- package/cjs/calendar/Calendar.js.map +1 -0
- package/cjs/calendar/internal/CalendarCarousel.css.js +6 -0
- package/cjs/calendar/internal/CalendarCarousel.css.js.map +1 -0
- package/cjs/calendar/internal/CalendarCarousel.js +75 -0
- package/cjs/calendar/internal/CalendarCarousel.js.map +1 -0
- package/cjs/calendar/internal/CalendarContext.js +19 -0
- package/cjs/calendar/internal/CalendarContext.js.map +1 -0
- package/cjs/calendar/internal/CalendarDay.css.js +6 -0
- package/cjs/calendar/internal/CalendarDay.css.js.map +1 -0
- package/cjs/calendar/internal/CalendarDay.js +86 -0
- package/cjs/calendar/internal/CalendarDay.js.map +1 -0
- package/cjs/calendar/internal/CalendarMonth.css.js +6 -0
- package/cjs/calendar/internal/CalendarMonth.css.js.map +1 -0
- package/cjs/calendar/internal/CalendarMonth.js +71 -0
- package/cjs/calendar/internal/CalendarMonth.js.map +1 -0
- package/cjs/calendar/internal/CalendarNavigation.css.js +6 -0
- package/cjs/calendar/internal/CalendarNavigation.css.js.map +1 -0
- package/cjs/calendar/internal/CalendarNavigation.js +236 -0
- package/cjs/calendar/internal/CalendarNavigation.js.map +1 -0
- package/cjs/calendar/internal/CalendarWeekHeader.css.js +6 -0
- package/cjs/calendar/internal/CalendarWeekHeader.css.js.map +1 -0
- package/cjs/calendar/internal/CalendarWeekHeader.js +43 -0
- package/cjs/calendar/internal/CalendarWeekHeader.js.map +1 -0
- package/cjs/calendar/internal/useFocusManagement.js +66 -0
- package/cjs/calendar/internal/useFocusManagement.js.map +1 -0
- package/cjs/calendar/internal/utils.js +64 -0
- package/cjs/calendar/internal/utils.js.map +1 -0
- package/cjs/calendar/useCalendar.js +163 -0
- package/cjs/calendar/useCalendar.js.map +1 -0
- package/cjs/calendar/useCalendarDay.js +80 -0
- package/cjs/calendar/useCalendarDay.js.map +1 -0
- package/cjs/calendar/useSelection.js +248 -0
- package/cjs/calendar/useSelection.js.map +1 -0
- package/cjs/column-picker/ColumnPicker.css.js +6 -0
- package/cjs/column-picker/ColumnPicker.css.js.map +1 -0
- package/cjs/column-picker/ColumnPicker.js +128 -0
- package/cjs/column-picker/ColumnPicker.js.map +1 -0
- package/cjs/column-picker/ColumnSearch.css.js +6 -0
- package/cjs/column-picker/ColumnSearch.css.js.map +1 -0
- package/cjs/column-picker/ColumnSearch.js +82 -0
- package/cjs/column-picker/ColumnSearch.js.map +1 -0
- package/cjs/common-hooks/selectionTypes.js +18 -0
- package/cjs/common-hooks/selectionTypes.js.map +1 -0
- package/cjs/common-hooks/use-resize-observer.js +123 -0
- package/cjs/common-hooks/use-resize-observer.js.map +1 -0
- package/cjs/common-hooks/useControlled.js +58 -0
- package/cjs/common-hooks/useControlled.js.map +1 -0
- package/cjs/context-panel-provider/ContextPanelProvider.js +99 -0
- package/cjs/context-panel-provider/ContextPanelProvider.js.map +1 -0
- package/cjs/cycle-state-button/CycleStateButton.js +50 -0
- package/cjs/cycle-state-button/CycleStateButton.js.map +1 -0
- package/cjs/date-input/DateInput.css.js +6 -0
- package/cjs/date-input/DateInput.css.js.map +1 -0
- package/cjs/date-input/DateInput.js +277 -0
- package/cjs/date-input/DateInput.js.map +1 -0
- package/cjs/date-picker/DatePicker.js +169 -0
- package/cjs/date-picker/DatePicker.js.map +1 -0
- package/cjs/date-picker/DatePickerContext.js +26 -0
- package/cjs/date-picker/DatePickerContext.js.map +1 -0
- package/cjs/date-picker/DatePickerPanel.css.js +6 -0
- package/cjs/date-picker/DatePickerPanel.css.js.map +1 -0
- package/cjs/date-picker/DatePickerPanel.js +146 -0
- package/cjs/date-picker/DatePickerPanel.js.map +1 -0
- package/cjs/drag-drop/DragDropProvider.js +145 -0
- package/cjs/drag-drop/DragDropProvider.js.map +1 -0
- package/cjs/drag-drop/DragDropState.js +36 -0
- package/cjs/drag-drop/DragDropState.js.map +1 -0
- package/cjs/drag-drop/Draggable.css.js +6 -0
- package/cjs/drag-drop/Draggable.css.js.map +1 -0
- package/cjs/drag-drop/Draggable.js +90 -0
- package/cjs/drag-drop/Draggable.js.map +1 -0
- package/cjs/drag-drop/dragDropTypes.js +8 -0
- package/cjs/drag-drop/dragDropTypes.js.map +1 -0
- package/cjs/drag-drop/drop-target-utils.js +245 -0
- package/cjs/drag-drop/drop-target-utils.js.map +1 -0
- package/cjs/drag-drop/useAutoScroll.js +71 -0
- package/cjs/drag-drop/useAutoScroll.js.map +1 -0
- package/cjs/drag-drop/useDragDisplacers.js +160 -0
- package/cjs/drag-drop/useDragDisplacers.js.map +1 -0
- package/cjs/drag-drop/useDragDrop.js +504 -0
- package/cjs/drag-drop/useDragDrop.js.map +1 -0
- package/cjs/drag-drop/useDragDropCopy.js +34 -0
- package/cjs/drag-drop/useDragDropCopy.js.map +1 -0
- package/cjs/drag-drop/useDragDropIndicator.js +251 -0
- package/cjs/drag-drop/useDragDropIndicator.js.map +1 -0
- package/cjs/drag-drop/useDragDropNaturalMovement.js +265 -0
- package/cjs/drag-drop/useDragDropNaturalMovement.js.map +1 -0
- package/cjs/drag-drop/useDropIndicator.js +27 -0
- package/cjs/drag-drop/useDropIndicator.js.map +1 -0
- package/cjs/drag-drop/useGlobalDragDrop.js +89 -0
- package/cjs/drag-drop/useGlobalDragDrop.js.map +1 -0
- package/cjs/editable/useEditableText.js +211 -0
- package/cjs/editable/useEditableText.js.map +1 -0
- package/cjs/editable-label/EditableLabel.css.js +6 -0
- package/cjs/editable-label/EditableLabel.css.js.map +1 -0
- package/cjs/editable-label/EditableLabel.js +143 -0
- package/cjs/editable-label/EditableLabel.js.map +1 -0
- package/cjs/expando-input/ExpandoInput.css.js +6 -0
- package/cjs/expando-input/ExpandoInput.css.js.map +1 -0
- package/cjs/expando-input/ExpandoInput.js +53 -0
- package/cjs/expando-input/ExpandoInput.js.map +1 -0
- package/cjs/hover-overlay/HoverOverlay.js +96 -0
- package/cjs/hover-overlay/HoverOverlay.js.map +1 -0
- package/cjs/icon-button/Icon.css.js +6 -0
- package/cjs/icon-button/Icon.css.js.map +1 -0
- package/cjs/icon-button/Icon.js +37 -0
- package/cjs/icon-button/Icon.js.map +1 -0
- package/cjs/icon-button/IconButton.css.js +6 -0
- package/cjs/icon-button/IconButton.css.js.map +1 -0
- package/cjs/icon-button/IconButton.js +26 -0
- package/cjs/icon-button/IconButton.js.map +1 -0
- package/cjs/icon-button/ToggleIconButton.css.js +6 -0
- package/cjs/icon-button/ToggleIconButton.css.js.map +1 -0
- package/cjs/icon-button/ToggleIconButton.js +39 -0
- package/cjs/icon-button/ToggleIconButton.js.map +1 -0
- package/cjs/index.js +170 -0
- package/cjs/index.js.map +1 -0
- package/cjs/instrument-picker/TablePicker.css.js +6 -0
- package/cjs/instrument-picker/TablePicker.css.js.map +1 -0
- package/cjs/instrument-picker/TablePicker.js +130 -0
- package/cjs/instrument-picker/TablePicker.js.map +1 -0
- package/cjs/instrument-picker/useTablePicker.js +150 -0
- package/cjs/instrument-picker/useTablePicker.js.map +1 -0
- package/cjs/measured-container/MeasuredContainer.css.js +6 -0
- package/cjs/measured-container/MeasuredContainer.css.js.map +1 -0
- package/cjs/measured-container/MeasuredContainer.js +72 -0
- package/cjs/measured-container/MeasuredContainer.js.map +1 -0
- package/cjs/measured-container/useMeasuredContainer.js +167 -0
- package/cjs/measured-container/useMeasuredContainer.js.map +1 -0
- package/cjs/modal-provider/ModalProvider.js +143 -0
- package/cjs/modal-provider/ModalProvider.js.map +1 -0
- package/cjs/overflow-container/OverflowContainer.css.js +6 -0
- package/cjs/overflow-container/OverflowContainer.css.js.map +1 -0
- package/cjs/overflow-container/OverflowContainer.js +143 -0
- package/cjs/overflow-container/OverflowContainer.js.map +1 -0
- package/cjs/overflow-container/overflow-utils.js +286 -0
- package/cjs/overflow-container/overflow-utils.js.map +1 -0
- package/cjs/overflow-container/useOverflowContainer.js +143 -0
- package/cjs/overflow-container/useOverflowContainer.js.map +1 -0
- package/cjs/price-ticker/PriceTicker.css.js +6 -0
- package/cjs/price-ticker/PriceTicker.css.js.map +1 -0
- package/cjs/price-ticker/PriceTicker.js +50 -0
- package/cjs/price-ticker/PriceTicker.js.map +1 -0
- package/cjs/prompt/Prompt.css.js +6 -0
- package/cjs/prompt/Prompt.css.js.map +1 -0
- package/cjs/prompt/Prompt.js +142 -0
- package/cjs/prompt/Prompt.js.map +1 -0
- package/cjs/sortable-list/SortableList.js +37 -0
- package/cjs/sortable-list/SortableList.js.map +1 -0
- package/cjs/split-button/SplitButton.css.js +6 -0
- package/cjs/split-button/SplitButton.css.js.map +1 -0
- package/cjs/split-button/SplitButton.js +84 -0
- package/cjs/split-button/SplitButton.js.map +1 -0
- package/cjs/split-button/SplitStateButton.css.js +6 -0
- package/cjs/split-button/SplitStateButton.css.js.map +1 -0
- package/cjs/split-button/SplitStateButton.js +31 -0
- package/cjs/split-button/SplitStateButton.js.map +1 -0
- package/cjs/split-button/useSplitButton.js +84 -0
- package/cjs/split-button/useSplitButton.js.map +1 -0
- package/cjs/table-search/SearchCell.css.js +6 -0
- package/cjs/table-search/SearchCell.css.js.map +1 -0
- package/cjs/table-search/SearchCell.js +32 -0
- package/cjs/table-search/SearchCell.js.map +1 -0
- package/cjs/table-search/TableSearch.css.js +6 -0
- package/cjs/table-search/TableSearch.css.js.map +1 -0
- package/cjs/table-search/TableSearch.js +89 -0
- package/cjs/table-search/TableSearch.js.map +1 -0
- package/cjs/table-search/useTableSearch.js +39 -0
- package/cjs/table-search/useTableSearch.js.map +1 -0
- package/cjs/tabs-next/TabBar.css.js +6 -0
- package/cjs/tabs-next/TabBar.css.js.map +1 -0
- package/cjs/tabs-next/TabBar.js +41 -0
- package/cjs/tabs-next/TabBar.js.map +1 -0
- package/cjs/tabs-next/TabListNext.css.js +6 -0
- package/cjs/tabs-next/TabListNext.css.js.map +1 -0
- package/cjs/tabs-next/TabListNext.js +124 -0
- package/cjs/tabs-next/TabListNext.js.map +1 -0
- package/cjs/tabs-next/TabNext.css.js +6 -0
- package/cjs/tabs-next/TabNext.css.js.map +1 -0
- package/cjs/tabs-next/TabNext.js +110 -0
- package/cjs/tabs-next/TabNext.js.map +1 -0
- package/cjs/tabs-next/TabNextAction.js +35 -0
- package/cjs/tabs-next/TabNextAction.js.map +1 -0
- package/cjs/tabs-next/TabNextContext.js +23 -0
- package/cjs/tabs-next/TabNextContext.js.map +1 -0
- package/cjs/tabs-next/TabNextPanel.css.js +6 -0
- package/cjs/tabs-next/TabNextPanel.css.js.map +1 -0
- package/cjs/tabs-next/TabNextPanel.js +77 -0
- package/cjs/tabs-next/TabNextPanel.js.map +1 -0
- package/cjs/tabs-next/TabNextTrigger.css.js +6 -0
- package/cjs/tabs-next/TabNextTrigger.css.js.map +1 -0
- package/cjs/tabs-next/TabNextTrigger.js +74 -0
- package/cjs/tabs-next/TabNextTrigger.js.map +1 -0
- package/cjs/tabs-next/TabOverflowList.css.js +6 -0
- package/cjs/tabs-next/TabOverflowList.css.js.map +1 -0
- package/cjs/tabs-next/TabOverflowList.js +130 -0
- package/cjs/tabs-next/TabOverflowList.js.map +1 -0
- package/cjs/tabs-next/TabsNext.js +174 -0
- package/cjs/tabs-next/TabsNext.js.map +1 -0
- package/cjs/tabs-next/TabsNextContext.js +33 -0
- package/cjs/tabs-next/TabsNextContext.js.map +1 -0
- package/cjs/tabs-next/hooks/useCollection.js +91 -0
- package/cjs/tabs-next/hooks/useCollection.js.map +1 -0
- package/cjs/tabs-next/hooks/useFocusOutside.js +24 -0
- package/cjs/tabs-next/hooks/useFocusOutside.js.map +1 -0
- package/cjs/tabs-next/hooks/useOverflow.js +138 -0
- package/cjs/tabs-next/hooks/useOverflow.js.map +1 -0
- package/cjs/tabstrip/Tab.css.js +6 -0
- package/cjs/tabstrip/Tab.css.js.map +1 -0
- package/cjs/tabstrip/Tab.js +153 -0
- package/cjs/tabstrip/Tab.js.map +1 -0
- package/cjs/tabstrip/TabMenu.css.js +6 -0
- package/cjs/tabstrip/TabMenu.css.js.map +1 -0
- package/cjs/tabstrip/TabMenu.js +72 -0
- package/cjs/tabstrip/TabMenu.js.map +1 -0
- package/cjs/tabstrip/TabMenuOptions.js +20 -0
- package/cjs/tabstrip/TabMenuOptions.js.map +1 -0
- package/cjs/tabstrip/Tabstrip.css.js +6 -0
- package/cjs/tabstrip/Tabstrip.css.js.map +1 -0
- package/cjs/tabstrip/Tabstrip.js +160 -0
- package/cjs/tabstrip/Tabstrip.js.map +1 -0
- package/cjs/tabstrip/tabstrip-dom-utils.js +19 -0
- package/cjs/tabstrip/tabstrip-dom-utils.js.map +1 -0
- package/cjs/tabstrip/useAnimatedSelectionThumb.js +85 -0
- package/cjs/tabstrip/useAnimatedSelectionThumb.js.map +1 -0
- package/cjs/tabstrip/useKeyboardNavigation.js +247 -0
- package/cjs/tabstrip/useKeyboardNavigation.js.map +1 -0
- package/cjs/tabstrip/useSelection.js +60 -0
- package/cjs/tabstrip/useSelection.js.map +1 -0
- package/cjs/tabstrip/useTabstrip.js +233 -0
- package/cjs/tabstrip/useTabstrip.js.map +1 -0
- package/cjs/time-input/MaskedInput.js +377 -0
- package/cjs/time-input/MaskedInput.js.map +1 -0
- package/cjs/time-input/TimeInput.css.js +6 -0
- package/cjs/time-input/TimeInput.css.js.map +1 -0
- package/cjs/time-input/TimeInput.js +56 -0
- package/cjs/time-input/TimeInput.js.map +1 -0
- package/cjs/time-input/useTimeInput.js +121 -0
- package/cjs/time-input/useTimeInput.js.map +1 -0
- package/cjs/toolbar/Toolbar.css.js +6 -0
- package/cjs/toolbar/Toolbar.css.js.map +1 -0
- package/cjs/toolbar/Toolbar.js +90 -0
- package/cjs/toolbar/Toolbar.js.map +1 -0
- package/cjs/toolbar/toolbar-dom-utils.js +18 -0
- package/cjs/toolbar/toolbar-dom-utils.js.map +1 -0
- package/cjs/toolbar/useKeyboardNavigation.js +305 -0
- package/cjs/toolbar/useKeyboardNavigation.js.map +1 -0
- package/cjs/toolbar/useSelection.js +93 -0
- package/cjs/toolbar/useSelection.js.map +1 -0
- package/cjs/toolbar/useToolbar.js +100 -0
- package/cjs/toolbar/useToolbar.js.map +1 -0
- package/cjs/utils/escapeRegExp.js +9 -0
- package/cjs/utils/escapeRegExp.js.map +1 -0
- package/cjs/utils/forwardCallbackProps.js +22 -0
- package/cjs/utils/forwardCallbackProps.js.map +1 -0
- package/cjs/utils/isOverflowElement.js +8 -0
- package/cjs/utils/isOverflowElement.js.map +1 -0
- package/cjs/utils/isPlainObject.js +6 -0
- package/cjs/utils/isPlainObject.js.map +1 -0
- package/cjs/vuu-date-picker/VuuDatePicker.js +122 -0
- package/cjs/vuu-date-picker/VuuDatePicker.js.map +1 -0
- package/cjs/vuu-input/VuuInput.css.js +6 -0
- package/cjs/vuu-input/VuuInput.css.js.map +1 -0
- package/cjs/vuu-input/VuuInput.js +102 -0
- package/cjs/vuu-input/VuuInput.js.map +1 -0
- package/cjs/vuu-time-picker/VuuTimePicker.css.js +6 -0
- package/cjs/vuu-time-picker/VuuTimePicker.css.js.map +1 -0
- package/cjs/vuu-time-picker/VuuTimePicker.js +37 -0
- package/cjs/vuu-time-picker/VuuTimePicker.js.map +1 -0
- package/cjs/vuu-typeahead-input/VuuTypeaheadInput.css.js +6 -0
- package/cjs/vuu-typeahead-input/VuuTypeaheadInput.css.js.map +1 -0
- package/cjs/vuu-typeahead-input/VuuTypeaheadInput.js +80 -0
- package/cjs/vuu-typeahead-input/VuuTypeaheadInput.js.map +1 -0
- package/cjs/vuu-typeahead-input/useVuuTypeaheadInput.js +176 -0
- package/cjs/vuu-typeahead-input/useVuuTypeaheadInput.js.map +1 -0
- package/esm/calendar/Calendar.css.js +4 -0
- package/esm/calendar/Calendar.css.js.map +1 -0
- package/esm/calendar/Calendar.js +91 -0
- package/esm/calendar/Calendar.js.map +1 -0
- package/esm/calendar/internal/CalendarCarousel.css.js +4 -0
- package/esm/calendar/internal/CalendarCarousel.css.js.map +1 -0
- package/esm/calendar/internal/CalendarCarousel.js +73 -0
- package/esm/calendar/internal/CalendarCarousel.js.map +1 -0
- package/esm/calendar/internal/CalendarContext.js +16 -0
- package/esm/calendar/internal/CalendarContext.js.map +1 -0
- package/esm/calendar/internal/CalendarDay.css.js +4 -0
- package/esm/calendar/internal/CalendarDay.css.js.map +1 -0
- package/{src → esm}/calendar/internal/CalendarDay.js +53 -33
- package/esm/calendar/internal/CalendarDay.js.map +1 -0
- package/esm/calendar/internal/CalendarMonth.css.js +4 -0
- package/esm/calendar/internal/CalendarMonth.css.js.map +1 -0
- package/esm/calendar/internal/CalendarMonth.js +69 -0
- package/esm/calendar/internal/CalendarMonth.js.map +1 -0
- package/esm/calendar/internal/CalendarNavigation.css.js +4 -0
- package/esm/calendar/internal/CalendarNavigation.css.js.map +1 -0
- package/esm/calendar/internal/CalendarNavigation.js +234 -0
- package/esm/calendar/internal/CalendarNavigation.js.map +1 -0
- package/esm/calendar/internal/CalendarWeekHeader.css.js +4 -0
- package/esm/calendar/internal/CalendarWeekHeader.css.js.map +1 -0
- package/esm/calendar/internal/CalendarWeekHeader.js +41 -0
- package/esm/calendar/internal/CalendarWeekHeader.js.map +1 -0
- package/esm/calendar/internal/useFocusManagement.js +64 -0
- package/esm/calendar/internal/useFocusManagement.js.map +1 -0
- package/esm/calendar/internal/utils.js +55 -0
- package/esm/calendar/internal/utils.js.map +1 -0
- package/esm/calendar/useCalendar.js +161 -0
- package/esm/calendar/useCalendar.js.map +1 -0
- package/esm/calendar/useCalendarDay.js +78 -0
- package/esm/calendar/useCalendarDay.js.map +1 -0
- package/esm/calendar/useSelection.js +243 -0
- package/esm/calendar/useSelection.js.map +1 -0
- package/esm/column-picker/ColumnPicker.css.js +4 -0
- package/esm/column-picker/ColumnPicker.css.js.map +1 -0
- package/esm/column-picker/ColumnPicker.js +126 -0
- package/esm/column-picker/ColumnPicker.js.map +1 -0
- package/esm/column-picker/ColumnSearch.css.js +4 -0
- package/esm/column-picker/ColumnSearch.css.js.map +1 -0
- package/esm/column-picker/ColumnSearch.js +80 -0
- package/esm/column-picker/ColumnSearch.js.map +1 -0
- package/esm/common-hooks/selectionTypes.js +10 -0
- package/esm/common-hooks/selectionTypes.js.map +1 -0
- package/esm/common-hooks/use-resize-observer.js +118 -0
- package/esm/common-hooks/use-resize-observer.js.map +1 -0
- package/esm/common-hooks/useControlled.js +56 -0
- package/esm/common-hooks/useControlled.js.map +1 -0
- package/esm/context-panel-provider/ContextPanelProvider.js +94 -0
- package/esm/context-panel-provider/ContextPanelProvider.js.map +1 -0
- package/esm/cycle-state-button/CycleStateButton.js +48 -0
- package/esm/cycle-state-button/CycleStateButton.js.map +1 -0
- package/esm/date-input/DateInput.css.js +4 -0
- package/esm/date-input/DateInput.css.js.map +1 -0
- package/esm/date-input/DateInput.js +275 -0
- package/esm/date-input/DateInput.js.map +1 -0
- package/esm/date-picker/DatePicker.js +167 -0
- package/esm/date-picker/DatePicker.js.map +1 -0
- package/esm/date-picker/DatePickerContext.js +23 -0
- package/esm/date-picker/DatePickerContext.js.map +1 -0
- package/esm/date-picker/DatePickerPanel.css.js +4 -0
- package/esm/date-picker/DatePickerPanel.css.js.map +1 -0
- package/esm/date-picker/DatePickerPanel.js +144 -0
- package/esm/date-picker/DatePickerPanel.js.map +1 -0
- package/esm/drag-drop/DragDropProvider.js +142 -0
- package/esm/drag-drop/DragDropProvider.js.map +1 -0
- package/esm/drag-drop/DragDropState.js +34 -0
- package/esm/drag-drop/DragDropState.js.map +1 -0
- package/esm/drag-drop/Draggable.css.js +4 -0
- package/esm/drag-drop/Draggable.css.js.map +1 -0
- package/esm/drag-drop/Draggable.js +85 -0
- package/esm/drag-drop/Draggable.js.map +1 -0
- package/{src → esm}/drag-drop/dragDropTypes.js +2 -0
- package/esm/drag-drop/dragDropTypes.js.map +1 -0
- package/esm/drag-drop/drop-target-utils.js +228 -0
- package/esm/drag-drop/drop-target-utils.js.map +1 -0
- package/esm/drag-drop/useAutoScroll.js +69 -0
- package/esm/drag-drop/useAutoScroll.js.map +1 -0
- package/esm/drag-drop/useDragDisplacers.js +158 -0
- package/esm/drag-drop/useDragDisplacers.js.map +1 -0
- package/esm/drag-drop/useDragDrop.js +502 -0
- package/esm/drag-drop/useDragDrop.js.map +1 -0
- package/esm/drag-drop/useDragDropCopy.js +31 -0
- package/esm/drag-drop/useDragDropCopy.js.map +1 -0
- package/esm/drag-drop/useDragDropIndicator.js +249 -0
- package/esm/drag-drop/useDragDropIndicator.js.map +1 -0
- package/esm/drag-drop/useDragDropNaturalMovement.js +263 -0
- package/esm/drag-drop/useDragDropNaturalMovement.js.map +1 -0
- package/esm/drag-drop/useDropIndicator.js +25 -0
- package/esm/drag-drop/useDropIndicator.js.map +1 -0
- package/esm/drag-drop/useGlobalDragDrop.js +87 -0
- package/esm/drag-drop/useGlobalDragDrop.js.map +1 -0
- package/esm/editable/useEditableText.js +209 -0
- package/esm/editable/useEditableText.js.map +1 -0
- package/esm/editable-label/EditableLabel.css.js +4 -0
- package/esm/editable-label/EditableLabel.css.js.map +1 -0
- package/esm/editable-label/EditableLabel.js +140 -0
- package/esm/editable-label/EditableLabel.js.map +1 -0
- package/esm/expando-input/ExpandoInput.css.js +4 -0
- package/esm/expando-input/ExpandoInput.css.js.map +1 -0
- package/esm/expando-input/ExpandoInput.js +51 -0
- package/esm/expando-input/ExpandoInput.js.map +1 -0
- package/esm/hover-overlay/HoverOverlay.js +94 -0
- package/esm/hover-overlay/HoverOverlay.js.map +1 -0
- package/esm/icon-button/Icon.css.js +4 -0
- package/esm/icon-button/Icon.css.js.map +1 -0
- package/esm/icon-button/Icon.js +35 -0
- package/esm/icon-button/Icon.js.map +1 -0
- package/esm/icon-button/IconButton.css.js +4 -0
- package/esm/icon-button/IconButton.css.js.map +1 -0
- package/esm/icon-button/IconButton.js +24 -0
- package/esm/icon-button/IconButton.js.map +1 -0
- package/esm/icon-button/ToggleIconButton.css.js +4 -0
- package/esm/icon-button/ToggleIconButton.css.js.map +1 -0
- package/esm/icon-button/ToggleIconButton.js +37 -0
- package/esm/icon-button/ToggleIconButton.js.map +1 -0
- package/esm/index.js +59 -0
- package/esm/index.js.map +1 -0
- package/esm/instrument-picker/TablePicker.css.js +4 -0
- package/esm/instrument-picker/TablePicker.css.js.map +1 -0
- package/esm/instrument-picker/TablePicker.js +128 -0
- package/esm/instrument-picker/TablePicker.js.map +1 -0
- package/esm/instrument-picker/useTablePicker.js +148 -0
- package/esm/instrument-picker/useTablePicker.js.map +1 -0
- package/esm/measured-container/MeasuredContainer.css.js +4 -0
- package/esm/measured-container/MeasuredContainer.css.js.map +1 -0
- package/esm/measured-container/MeasuredContainer.js +70 -0
- package/esm/measured-container/MeasuredContainer.js.map +1 -0
- package/esm/measured-container/useMeasuredContainer.js +164 -0
- package/esm/measured-container/useMeasuredContainer.js.map +1 -0
- package/esm/modal-provider/ModalProvider.js +140 -0
- package/esm/modal-provider/ModalProvider.js.map +1 -0
- package/esm/overflow-container/OverflowContainer.css.js +4 -0
- package/esm/overflow-container/OverflowContainer.css.js.map +1 -0
- package/esm/overflow-container/OverflowContainer.js +141 -0
- package/esm/overflow-container/OverflowContainer.js.map +1 -0
- package/esm/overflow-container/overflow-utils.js +272 -0
- package/esm/overflow-container/overflow-utils.js.map +1 -0
- package/esm/overflow-container/useOverflowContainer.js +141 -0
- package/esm/overflow-container/useOverflowContainer.js.map +1 -0
- package/esm/price-ticker/PriceTicker.css.js +4 -0
- package/esm/price-ticker/PriceTicker.css.js.map +1 -0
- package/esm/price-ticker/PriceTicker.js +48 -0
- package/esm/price-ticker/PriceTicker.js.map +1 -0
- package/esm/prompt/Prompt.css.js +4 -0
- package/esm/prompt/Prompt.css.js.map +1 -0
- package/esm/prompt/Prompt.js +140 -0
- package/esm/prompt/Prompt.js.map +1 -0
- package/esm/sortable-list/SortableList.js +34 -0
- package/esm/sortable-list/SortableList.js.map +1 -0
- package/esm/split-button/SplitButton.css.js +4 -0
- package/esm/split-button/SplitButton.css.js.map +1 -0
- package/esm/split-button/SplitButton.js +82 -0
- package/esm/split-button/SplitButton.js.map +1 -0
- package/esm/split-button/SplitStateButton.css.js +4 -0
- package/esm/split-button/SplitStateButton.css.js.map +1 -0
- package/esm/split-button/SplitStateButton.js +29 -0
- package/esm/split-button/SplitStateButton.js.map +1 -0
- package/esm/split-button/useSplitButton.js +82 -0
- package/esm/split-button/useSplitButton.js.map +1 -0
- package/esm/table-search/SearchCell.css.js +4 -0
- package/esm/table-search/SearchCell.css.js.map +1 -0
- package/esm/table-search/SearchCell.js +30 -0
- package/esm/table-search/SearchCell.js.map +1 -0
- package/esm/table-search/TableSearch.css.js +4 -0
- package/esm/table-search/TableSearch.css.js.map +1 -0
- package/esm/table-search/TableSearch.js +87 -0
- package/esm/table-search/TableSearch.js.map +1 -0
- package/esm/table-search/useTableSearch.js +37 -0
- package/esm/table-search/useTableSearch.js.map +1 -0
- package/esm/tabs-next/TabBar.css.js +4 -0
- package/esm/tabs-next/TabBar.css.js.map +1 -0
- package/esm/tabs-next/TabBar.js +39 -0
- package/esm/tabs-next/TabBar.js.map +1 -0
- package/esm/tabs-next/TabListNext.css.js +4 -0
- package/esm/tabs-next/TabListNext.css.js.map +1 -0
- package/esm/tabs-next/TabListNext.js +122 -0
- package/esm/tabs-next/TabListNext.js.map +1 -0
- package/esm/tabs-next/TabNext.css.js +4 -0
- package/esm/tabs-next/TabNext.css.js.map +1 -0
- package/esm/tabs-next/TabNext.js +108 -0
- package/esm/tabs-next/TabNext.js.map +1 -0
- package/esm/tabs-next/TabNextAction.js +33 -0
- package/esm/tabs-next/TabNextAction.js.map +1 -0
- package/esm/tabs-next/TabNextContext.js +20 -0
- package/esm/tabs-next/TabNextContext.js.map +1 -0
- package/esm/tabs-next/TabNextPanel.css.js +4 -0
- package/esm/tabs-next/TabNextPanel.css.js.map +1 -0
- package/esm/tabs-next/TabNextPanel.js +75 -0
- package/esm/tabs-next/TabNextPanel.js.map +1 -0
- package/esm/tabs-next/TabNextTrigger.css.js +4 -0
- package/esm/tabs-next/TabNextTrigger.css.js.map +1 -0
- package/esm/tabs-next/TabNextTrigger.js +72 -0
- package/esm/tabs-next/TabNextTrigger.js.map +1 -0
- package/esm/tabs-next/TabOverflowList.css.js +4 -0
- package/esm/tabs-next/TabOverflowList.css.js.map +1 -0
- package/esm/tabs-next/TabOverflowList.js +128 -0
- package/esm/tabs-next/TabOverflowList.js.map +1 -0
- package/esm/tabs-next/TabsNext.js +172 -0
- package/esm/tabs-next/TabsNext.js.map +1 -0
- package/esm/tabs-next/TabsNextContext.js +30 -0
- package/esm/tabs-next/TabsNextContext.js.map +1 -0
- package/esm/tabs-next/hooks/useCollection.js +89 -0
- package/esm/tabs-next/hooks/useCollection.js.map +1 -0
- package/esm/tabs-next/hooks/useFocusOutside.js +22 -0
- package/esm/tabs-next/hooks/useFocusOutside.js.map +1 -0
- package/esm/tabs-next/hooks/useOverflow.js +136 -0
- package/esm/tabs-next/hooks/useOverflow.js.map +1 -0
- package/esm/tabstrip/Tab.css.js +4 -0
- package/esm/tabstrip/Tab.css.js.map +1 -0
- package/esm/tabstrip/Tab.js +151 -0
- package/esm/tabstrip/Tab.js.map +1 -0
- package/esm/tabstrip/TabMenu.css.js +4 -0
- package/esm/tabstrip/TabMenu.css.js.map +1 -0
- package/esm/tabstrip/TabMenu.js +70 -0
- package/esm/tabstrip/TabMenu.js.map +1 -0
- package/esm/tabstrip/TabMenuOptions.js +16 -0
- package/esm/tabstrip/TabMenuOptions.js.map +1 -0
- package/esm/tabstrip/Tabstrip.css.js +4 -0
- package/esm/tabstrip/Tabstrip.css.js.map +1 -0
- package/esm/tabstrip/Tabstrip.js +158 -0
- package/esm/tabstrip/Tabstrip.js.map +1 -0
- package/esm/tabstrip/tabstrip-dom-utils.js +16 -0
- package/esm/tabstrip/tabstrip-dom-utils.js.map +1 -0
- package/esm/tabstrip/useAnimatedSelectionThumb.js +83 -0
- package/esm/tabstrip/useAnimatedSelectionThumb.js.map +1 -0
- package/esm/tabstrip/useKeyboardNavigation.js +245 -0
- package/esm/tabstrip/useKeyboardNavigation.js.map +1 -0
- package/esm/tabstrip/useSelection.js +58 -0
- package/esm/tabstrip/useSelection.js.map +1 -0
- package/esm/tabstrip/useTabstrip.js +231 -0
- package/esm/tabstrip/useTabstrip.js.map +1 -0
- package/esm/time-input/MaskedInput.js +375 -0
- package/esm/time-input/MaskedInput.js.map +1 -0
- package/esm/time-input/TimeInput.css.js +4 -0
- package/esm/time-input/TimeInput.css.js.map +1 -0
- package/esm/time-input/TimeInput.js +54 -0
- package/esm/time-input/TimeInput.js.map +1 -0
- package/esm/time-input/useTimeInput.js +119 -0
- package/esm/time-input/useTimeInput.js.map +1 -0
- package/esm/toolbar/Toolbar.css.js +4 -0
- package/esm/toolbar/Toolbar.css.js.map +1 -0
- package/esm/toolbar/Toolbar.js +88 -0
- package/esm/toolbar/Toolbar.js.map +1 -0
- package/esm/toolbar/toolbar-dom-utils.js +15 -0
- package/esm/toolbar/toolbar-dom-utils.js.map +1 -0
- package/esm/toolbar/useKeyboardNavigation.js +303 -0
- package/esm/toolbar/useKeyboardNavigation.js.map +1 -0
- package/esm/toolbar/useSelection.js +91 -0
- package/esm/toolbar/useSelection.js.map +1 -0
- package/esm/toolbar/useToolbar.js +98 -0
- package/esm/toolbar/useToolbar.js.map +1 -0
- package/{src → esm}/utils/escapeRegExp.js +3 -1
- package/esm/utils/escapeRegExp.js.map +1 -0
- package/esm/utils/forwardCallbackProps.js +20 -0
- package/esm/utils/forwardCallbackProps.js.map +1 -0
- package/esm/utils/isOverflowElement.js +6 -0
- package/esm/utils/isOverflowElement.js.map +1 -0
- package/esm/utils/isPlainObject.js +4 -0
- package/esm/utils/isPlainObject.js.map +1 -0
- package/esm/vuu-date-picker/VuuDatePicker.js +120 -0
- package/esm/vuu-date-picker/VuuDatePicker.js.map +1 -0
- package/esm/vuu-input/VuuInput.css.js +4 -0
- package/esm/vuu-input/VuuInput.css.js.map +1 -0
- package/esm/vuu-input/VuuInput.js +100 -0
- package/esm/vuu-input/VuuInput.js.map +1 -0
- package/esm/vuu-time-picker/VuuTimePicker.css.js +4 -0
- package/esm/vuu-time-picker/VuuTimePicker.css.js.map +1 -0
- package/esm/vuu-time-picker/VuuTimePicker.js +35 -0
- package/esm/vuu-time-picker/VuuTimePicker.js.map +1 -0
- package/esm/vuu-typeahead-input/VuuTypeaheadInput.css.js +4 -0
- package/esm/vuu-typeahead-input/VuuTypeaheadInput.css.js.map +1 -0
- package/esm/vuu-typeahead-input/VuuTypeaheadInput.js +78 -0
- package/esm/vuu-typeahead-input/VuuTypeaheadInput.js.map +1 -0
- package/esm/vuu-typeahead-input/useVuuTypeaheadInput.js +174 -0
- package/esm/vuu-typeahead-input/useVuuTypeaheadInput.js.map +1 -0
- package/package.json +17 -14
- package/types/calendar/useCalendar.d.ts +3 -3
- package/types/calendar/useSelection.d.ts +1 -1
- package/types/date-input/DateInput.d.ts +1 -1
- package/types/date-picker/DatePicker.d.ts +1 -1
- package/types/date-picker/DatePickerContext.d.ts +2 -2
- package/types/date-picker/DatePickerPanel.d.ts +1 -1
- package/types/instrument-picker/useTablePicker.d.ts +4 -4
- package/types/split-button/useSplitButton.d.ts +120 -120
- package/types/tabs-next/hooks/useOverflow.d.ts +1 -1
- package/types/tabstrip/Tab.d.ts +1 -1
- package/types/tabstrip/useTabstrip.d.ts +1 -1
- package/types/toolbar/useToolbar.d.ts +1 -1
- package/src/calendar/Calendar.css.js +0 -10
- package/src/calendar/Calendar.js +0 -70
- package/src/calendar/index.js +0 -4
- package/src/calendar/internal/CalendarCarousel.css.js +0 -19
- package/src/calendar/internal/CalendarCarousel.js +0 -73
- package/src/calendar/internal/CalendarContext.js +0 -9
- package/src/calendar/internal/CalendarDay.css.js +0 -116
- package/src/calendar/internal/CalendarMonth.css.js +0 -13
- package/src/calendar/internal/CalendarMonth.js +0 -43
- package/src/calendar/internal/CalendarNavigation.css.js +0 -24
- package/src/calendar/internal/CalendarNavigation.js +0 -185
- package/src/calendar/internal/CalendarWeekHeader.css.js +0 -23
- package/src/calendar/internal/CalendarWeekHeader.js +0 -31
- package/src/calendar/internal/useFocusManagement.js +0 -66
- package/src/calendar/internal/utils.js +0 -57
- package/src/calendar/useCalendar.js +0 -116
- package/src/calendar/useCalendarDay.js +0 -74
- package/src/calendar/useSelection.js +0 -202
- package/src/column-picker/ColumnPicker.css.js +0 -8
- package/src/column-picker/ColumnPicker.js +0 -108
- package/src/column-picker/ColumnSearch.css.js +0 -61
- package/src/column-picker/ColumnSearch.js +0 -66
- package/src/column-picker/index.js +0 -2
- package/src/column-picker/moving-window.js +0 -49
- package/src/common-hooks/index.js +0 -3
- package/src/common-hooks/selectionTypes.js +0 -8
- package/src/common-hooks/use-resize-observer.js +0 -122
- package/src/common-hooks/useControlled.js +0 -45
- package/src/context-panel-provider/ContextPanelProvider.js +0 -80
- package/src/cycle-state-button/CycleStateButton.js +0 -30
- package/src/cycle-state-button/index.js +0 -1
- package/src/date-input/DateInput.css.js +0 -195
- package/src/date-input/DateInput.js +0 -210
- package/src/date-input/index.js +0 -1
- package/src/date-picker/DatePicker.js +0 -137
- package/src/date-picker/DatePickerContext.js +0 -20
- package/src/date-picker/DatePickerPanel.css.js +0 -25
- package/src/date-picker/DatePickerPanel.js +0 -124
- package/src/date-picker/index.js +0 -1
- package/src/drag-drop/DragDropProvider.js +0 -123
- package/src/drag-drop/DragDropState.js +0 -25
- package/src/drag-drop/Draggable.css.js +0 -57
- package/src/drag-drop/Draggable.js +0 -77
- package/src/drag-drop/DropIndicator.css.js +0 -11
- package/src/drag-drop/DropIndicator.js +0 -28
- package/src/drag-drop/drop-target-utils.js +0 -199
- package/src/drag-drop/index.js +0 -6
- package/src/drag-drop/useAutoScroll.js +0 -53
- package/src/drag-drop/useDragDisplacers.js +0 -126
- package/src/drag-drop/useDragDrop.js +0 -435
- package/src/drag-drop/useDragDropCopy.js +0 -22
- package/src/drag-drop/useDragDropIndicator.js +0 -182
- package/src/drag-drop/useDragDropNaturalMovement.js +0 -205
- package/src/drag-drop/useDropIndicator.js +0 -21
- package/src/drag-drop/useGlobalDragDrop.js +0 -67
- package/src/drag-drop/useTransition.js +0 -11
- package/src/editable/index.js +0 -1
- package/src/editable/useEditableText.js +0 -199
- package/src/editable-label/EditableLabel.css.js +0 -81
- package/src/editable-label/EditableLabel.js +0 -125
- package/src/editable-label/index.js +0 -1
- package/src/expando-input/ExpandoInput.css.js +0 -67
- package/src/expando-input/ExpandoInput.js +0 -40
- package/src/expando-input/index.js +0 -1
- package/src/highlighter/Highlighter.css.js +0 -8
- package/src/highlighter/Highlighter.js +0 -27
- package/src/highlighter/index.js +0 -1
- package/src/hover-overlay/HoverOverlay.js +0 -92
- package/src/icon-button/Icon.css.js +0 -8
- package/src/icon-button/Icon.js +0 -26
- package/src/icon-button/IconButton.css.js +0 -10
- package/src/icon-button/IconButton.js +0 -28
- package/src/icon-button/ToggleIconButton.css.js +0 -47
- package/src/icon-button/ToggleIconButton.js +0 -26
- package/src/icon-button/index.js +0 -3
- package/src/index.js +0 -31
- package/src/instrument-picker/SearchCell.css.js +0 -17
- package/src/instrument-picker/SearchCell.js +0 -29
- package/src/instrument-picker/TablePicker.css.js +0 -23
- package/src/instrument-picker/TablePicker.js +0 -89
- package/src/instrument-picker/index.js +0 -1
- package/src/instrument-picker/moving-window.js +0 -49
- package/src/instrument-picker/useDataSource.js +0 -38
- package/src/instrument-picker/useTablePicker.js +0 -136
- package/src/measured-container/MeasuredContainer.css.js +0 -11
- package/src/measured-container/MeasuredContainer.js +0 -50
- package/src/measured-container/index.js +0 -2
- package/src/measured-container/useMeasuredContainer.js +0 -156
- package/src/modal-provider/ModalProvider.js +0 -147
- package/src/overflow-container/OverflowContainer.css.js +0 -135
- package/src/overflow-container/OverflowContainer.js +0 -87
- package/src/overflow-container/index.js +0 -2
- package/src/overflow-container/overflow-utils.js +0 -211
- package/src/overflow-container/useOverflowContainer.js +0 -108
- package/src/price-ticker/PriceTicker.css.js +0 -32
- package/src/price-ticker/PriceTicker.js +0 -51
- package/src/price-ticker/index.js +0 -1
- package/src/prompt/Prompt.css.js +0 -48
- package/src/prompt/Prompt.js +0 -112
- package/src/sortable-list/SortableList.js +0 -39
- package/src/split-button/SplitButton.css.js +0 -117
- package/src/split-button/SplitButton.js +0 -60
- package/src/split-button/SplitStateButton.css.js +0 -66
- package/src/split-button/SplitStateButton.js +0 -23
- package/src/split-button/index.js +0 -2
- package/src/split-button/useSplitButton.js +0 -61
- package/src/table-search/SearchCell.css.js +0 -20
- package/src/table-search/SearchCell.js +0 -26
- package/src/table-search/TableSearch.css.js +0 -27
- package/src/table-search/TableSearch.js +0 -81
- package/src/table-search/index.js +0 -1
- package/src/table-search/moving-window.js +0 -49
- package/src/table-search/useTableSearch.js +0 -30
- package/src/tabs-next/TabBar.css.js +0 -26
- package/src/tabs-next/TabBar.js +0 -27
- package/src/tabs-next/TabListNext.css.js +0 -36
- package/src/tabs-next/TabListNext.js +0 -94
- package/src/tabs-next/TabNext.css.js +0 -76
- package/src/tabs-next/TabNext.js +0 -91
- package/src/tabs-next/TabNextAction.js +0 -26
- package/src/tabs-next/TabNextContext.js +0 -14
- package/src/tabs-next/TabNextPanel.css.js +0 -17
- package/src/tabs-next/TabNextPanel.js +0 -69
- package/src/tabs-next/TabNextTrigger.css.js +0 -22
- package/src/tabs-next/TabNextTrigger.js +0 -66
- package/src/tabs-next/TabOverflowList.css.js +0 -77
- package/src/tabs-next/TabOverflowList.js +0 -115
- package/src/tabs-next/TabsNext.js +0 -149
- package/src/tabs-next/TabsNextContext.js +0 -28
- package/src/tabs-next/hooks/useCollection.js +0 -80
- package/src/tabs-next/hooks/useFocusOutside.js +0 -23
- package/src/tabs-next/hooks/useOverflow.js +0 -118
- package/src/tabs-next/index.js +0 -7
- package/src/tabstrip/Tab.css.js +0 -148
- package/src/tabstrip/Tab.js +0 -107
- package/src/tabstrip/TabMenu.css.js +0 -8
- package/src/tabstrip/TabMenu.js +0 -48
- package/src/tabstrip/TabMenuOptions.js +0 -14
- package/src/tabstrip/TabsTypes.js +0 -0
- package/src/tabstrip/Tabstrip.css.js +0 -121
- package/src/tabstrip/Tabstrip.js +0 -106
- package/src/tabstrip/ThemeTabstrip.css.js +0 -20
- package/src/tabstrip/index.js +0 -4
- package/src/tabstrip/tabstrip-dom-utils.js +0 -11
- package/src/tabstrip/useAnimatedSelectionThumb.js +0 -68
- package/src/tabstrip/useKeyboardNavigation.js +0 -191
- package/src/tabstrip/useSelection.js +0 -50
- package/src/tabstrip/useTabstrip.js +0 -181
- package/src/time-input/MaskedInput.js +0 -285
- package/src/time-input/TimeInput.css.js +0 -39
- package/src/time-input/TimeInput.js +0 -37
- package/src/time-input/useTimeInput.js +0 -82
- package/src/toolbar/Toolbar.css.js +0 -46
- package/src/toolbar/Toolbar.js +0 -62
- package/src/toolbar/index.js +0 -1
- package/src/toolbar/toolbar-dom-utils.js +0 -11
- package/src/toolbar/useKeyboardNavigation.js +0 -240
- package/src/toolbar/useSelection.js +0 -82
- package/src/toolbar/useToolbar.js +0 -73
- package/src/utils/deprecated-types.js +0 -0
- package/src/utils/forwardCallbackProps.js +0 -15
- package/src/utils/index.js +0 -5
- package/src/utils/isOverflowElement.js +0 -2
- package/src/utils/isPlainObject.js +0 -2
- package/src/vuu-date-picker/VuuDatePicker.js +0 -92
- package/src/vuu-date-picker/index.js +0 -1
- package/src/vuu-input/VuuInput.css.js +0 -13
- package/src/vuu-input/VuuInput.js +0 -85
- package/src/vuu-input/index.js +0 -1
- package/src/vuu-time-picker/TimeRangePicker.js +0 -0
- package/src/vuu-time-picker/VuuTimePicker.css.js +0 -14
- package/src/vuu-time-picker/VuuTimePicker.js +0 -26
- package/src/vuu-typeahead-input/VuuTypeaheadInput.css.js +0 -49
- package/src/vuu-typeahead-input/VuuTypeaheadInput.js +0 -46
- package/src/vuu-typeahead-input/index.js +0 -1
- package/src/vuu-typeahead-input/useVuuTypeaheadInput.js +0 -140
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { endOfWeek, startOfWeek } from "@internationalized/date";
|
|
2
|
-
import { useCalendarContext } from "./CalendarContext.js";
|
|
3
|
-
import { getCurrentLocale } from "./utils.js";
|
|
4
|
-
function useFocusManagement({ date }) {
|
|
5
|
-
const { helpers: { setFocusedDate } } = useCalendarContext();
|
|
6
|
-
const handleClick = (event)=>{
|
|
7
|
-
setFocusedDate(event, date);
|
|
8
|
-
};
|
|
9
|
-
const handleKeyDown = (event)=>{
|
|
10
|
-
let newDate = date;
|
|
11
|
-
switch(event.key){
|
|
12
|
-
case "ArrowUp":
|
|
13
|
-
newDate = date.subtract({
|
|
14
|
-
weeks: 1
|
|
15
|
-
});
|
|
16
|
-
break;
|
|
17
|
-
case "ArrowDown":
|
|
18
|
-
newDate = date.add({
|
|
19
|
-
weeks: 1
|
|
20
|
-
});
|
|
21
|
-
break;
|
|
22
|
-
case "ArrowLeft":
|
|
23
|
-
newDate = date.subtract({
|
|
24
|
-
days: 1
|
|
25
|
-
});
|
|
26
|
-
break;
|
|
27
|
-
case "ArrowRight":
|
|
28
|
-
newDate = date.add({
|
|
29
|
-
days: 1
|
|
30
|
-
});
|
|
31
|
-
break;
|
|
32
|
-
case "Home":
|
|
33
|
-
newDate = startOfWeek(date, getCurrentLocale());
|
|
34
|
-
break;
|
|
35
|
-
case "End":
|
|
36
|
-
newDate = endOfWeek(date, getCurrentLocale());
|
|
37
|
-
break;
|
|
38
|
-
case "PageUp":
|
|
39
|
-
newDate = event.shiftKey ? date.subtract({
|
|
40
|
-
years: 1
|
|
41
|
-
}) : date.subtract({
|
|
42
|
-
months: 1
|
|
43
|
-
});
|
|
44
|
-
break;
|
|
45
|
-
case "PageDown":
|
|
46
|
-
newDate = event.shiftKey ? date.add({
|
|
47
|
-
years: 1
|
|
48
|
-
}) : date.add({
|
|
49
|
-
months: 1
|
|
50
|
-
});
|
|
51
|
-
break;
|
|
52
|
-
default:
|
|
53
|
-
}
|
|
54
|
-
if (0 !== newDate.compare(date)) event.preventDefault();
|
|
55
|
-
setFocusedDate(event, newDate);
|
|
56
|
-
};
|
|
57
|
-
const handleFocus = (event)=>{
|
|
58
|
-
setFocusedDate(event, date);
|
|
59
|
-
};
|
|
60
|
-
return {
|
|
61
|
-
handleClick,
|
|
62
|
-
handleKeyDown,
|
|
63
|
-
handleFocus
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
export { useFocusManagement };
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { DateFormatter, createCalendar, getLocalTimeZone, isSameMonth, startOfMonth, startOfWeek, startOfYear, today } from "@internationalized/date";
|
|
2
|
-
const localTimezone = getLocalTimeZone();
|
|
3
|
-
function getCurrentLocale() {
|
|
4
|
-
return navigator.languages[0];
|
|
5
|
-
}
|
|
6
|
-
function getDateFormatter(options) {
|
|
7
|
-
return new DateFormatter(getCurrentLocale(), options);
|
|
8
|
-
}
|
|
9
|
-
function formatDate(date, options) {
|
|
10
|
-
const formatter = getDateFormatter(options);
|
|
11
|
-
return formatter.format(date.toDate(localTimezone));
|
|
12
|
-
}
|
|
13
|
-
function getCalender() {
|
|
14
|
-
const calendarIdentifier = getDateFormatter().resolvedOptions().calendar;
|
|
15
|
-
return createCalendar(calendarIdentifier);
|
|
16
|
-
}
|
|
17
|
-
function daysForLocale(weekday = "long") {
|
|
18
|
-
return [
|
|
19
|
-
...Array(7).keys()
|
|
20
|
-
].map((day)=>formatDate(startOfWeek(today(getLocalTimeZone()), getCurrentLocale()).add({
|
|
21
|
-
days: day
|
|
22
|
-
}), {
|
|
23
|
-
weekday
|
|
24
|
-
}));
|
|
25
|
-
}
|
|
26
|
-
function monthsForLocale(currentYear) {
|
|
27
|
-
const calendar = getCalender();
|
|
28
|
-
return [
|
|
29
|
-
...Array(calendar.getMonthsInYear(currentYear)).keys()
|
|
30
|
-
].map((month)=>startOfYear(currentYear).add({
|
|
31
|
-
months: month
|
|
32
|
-
}));
|
|
33
|
-
}
|
|
34
|
-
function mapDate(currentDate, currentMonth) {
|
|
35
|
-
return {
|
|
36
|
-
date: currentDate,
|
|
37
|
-
dateOfMonth: currentDate.month,
|
|
38
|
-
isCurrentMonth: isSameMonth(currentDate, currentMonth)
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
function generateVisibleDays(currentMonth) {
|
|
42
|
-
const totalDays = 42;
|
|
43
|
-
const currentLocale = getCurrentLocale();
|
|
44
|
-
const startDate = startOfWeek(startOfMonth(currentMonth), currentLocale);
|
|
45
|
-
return [
|
|
46
|
-
...Array(totalDays).keys()
|
|
47
|
-
].map((dayDelta)=>{
|
|
48
|
-
const day = startDate.add({
|
|
49
|
-
days: dayDelta
|
|
50
|
-
});
|
|
51
|
-
return mapDate(day, currentMonth);
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
function monthDiff(a, b) {
|
|
55
|
-
return b.month - a.month + 12 * (b.year - a.year);
|
|
56
|
-
}
|
|
57
|
-
export { daysForLocale, formatDate, generateVisibleDays, getCalender, getCurrentLocale, getDateFormatter, monthDiff, monthsForLocale };
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
import { endOfMonth, endOfYear, getLocalTimeZone, isSameDay, isSameMonth, startOfMonth, startOfYear, today } from "@internationalized/date";
|
|
2
|
-
import { useControlled } from "@salt-ds/core";
|
|
3
|
-
import { useCallback, useEffect, useState } from "react";
|
|
4
|
-
import { isRangeOrOffsetSelectionWithStartDate, useSelectionCalendar } from "./useSelection.js";
|
|
5
|
-
const defaultIsDayUnselectable = ()=>false;
|
|
6
|
-
const defaultIsDayHighlighted = ()=>false;
|
|
7
|
-
const defaultIsDayDisabled = ()=>false;
|
|
8
|
-
function useCalendar(props) {
|
|
9
|
-
const { selectedDate, defaultSelectedDate, visibleMonth: visibleMonthProp, hideYearDropdown, hideOutOfRangeDates, defaultVisibleMonth = today(getLocalTimeZone()), onSelectedDateChange, onVisibleMonthChange, isDayUnselectable = defaultIsDayUnselectable, isDayHighlighted = defaultIsDayHighlighted, isDayDisabled = defaultIsDayDisabled, minDate = hideYearDropdown ? startOfYear(today(getLocalTimeZone())) : void 0, maxDate = hideYearDropdown ? endOfYear(today(getLocalTimeZone())) : void 0, selectionVariant, onHoveredDateChange, hoveredDate } = props;
|
|
10
|
-
const [visibleMonth, setVisibleMonthState] = useControlled({
|
|
11
|
-
controlled: visibleMonthProp ? startOfMonth(visibleMonthProp) : void 0,
|
|
12
|
-
default: startOfMonth(defaultVisibleMonth),
|
|
13
|
-
name: "Calendar",
|
|
14
|
-
state: "visibleMonth"
|
|
15
|
-
});
|
|
16
|
-
const isOutsideAllowedDates = useCallback((date)=>null != minDate && date.compare(minDate) < 0 || null != maxDate && date.compare(maxDate) > 0, [
|
|
17
|
-
maxDate,
|
|
18
|
-
minDate
|
|
19
|
-
]);
|
|
20
|
-
const isOutsideAllowedMonths = (date)=>null != minDate && endOfMonth(date).compare(minDate) < 0 || null != maxDate && startOfMonth(date).compare(maxDate) > 0;
|
|
21
|
-
const isOutsideAllowedYears = (date)=>null != minDate && endOfYear(date).compare(minDate) < 0 || null != maxDate && startOfYear(date).compare(maxDate) > 0;
|
|
22
|
-
const isDaySelectable = useCallback((date)=>!(date && (isDayUnselectable(date) || isDayDisabled(date) || isOutsideAllowedDates(date))), [
|
|
23
|
-
isDayUnselectable,
|
|
24
|
-
isDayDisabled,
|
|
25
|
-
isOutsideAllowedDates
|
|
26
|
-
]);
|
|
27
|
-
const selectionManager = useSelectionCalendar({
|
|
28
|
-
defaultSelectedDate: defaultSelectedDate,
|
|
29
|
-
selectedDate,
|
|
30
|
-
onSelectedDateChange,
|
|
31
|
-
startDateOffset: "offset" === props.selectionVariant ? props.startDateOffset : (date)=>date,
|
|
32
|
-
endDateOffset: "offset" === props.selectionVariant ? props.endDateOffset : (date)=>date,
|
|
33
|
-
isDaySelectable,
|
|
34
|
-
selectionVariant,
|
|
35
|
-
onHoveredDateChange,
|
|
36
|
-
hoveredDate
|
|
37
|
-
});
|
|
38
|
-
const [calendarFocused, setCalendarFocused] = useState(false);
|
|
39
|
-
const isInVisibleMonth = (date)=>null != date && isSameMonth(date, visibleMonth);
|
|
40
|
-
const getInitialFocusedDate = ()=>{
|
|
41
|
-
const selectedDate = selectionManager.state.selectedDate;
|
|
42
|
-
if (("range" === selectionVariant || "offset" === selectionVariant) && isRangeOrOffsetSelectionWithStartDate(selectedDate)) {
|
|
43
|
-
if (isInVisibleMonth(selectedDate?.startDate)) return selectedDate.startDate;
|
|
44
|
-
if (isInVisibleMonth(selectedDate?.endDate)) return selectedDate.endDate;
|
|
45
|
-
if (selectedDate?.startDate && selectedDate?.endDate && visibleMonth.compare(selectedDate.startDate) < 0 && visibleMonth.compare(selectedDate.endDate) > 0) return startOfMonth(visibleMonth);
|
|
46
|
-
}
|
|
47
|
-
if ("multiselect" === selectionVariant && Array.isArray(selectedDate)) {
|
|
48
|
-
const selectionInMonth = selectedDate.filter((day)=>isInVisibleMonth(day)).sort((a, b)=>a.compare(b));
|
|
49
|
-
if (selectionInMonth.length > 0) return selectionInMonth[0];
|
|
50
|
-
}
|
|
51
|
-
if ("default" === selectionVariant && !isRangeOrOffsetSelectionWithStartDate(selectedDate) && !Array.isArray(selectedDate) && isInVisibleMonth(selectedDate)) return selectedDate;
|
|
52
|
-
if (isInVisibleMonth(today(getLocalTimeZone()))) return today(getLocalTimeZone());
|
|
53
|
-
return startOfMonth(visibleMonth);
|
|
54
|
-
};
|
|
55
|
-
const [focusedDate, setFocusedDateState] = useState(getInitialFocusedDate);
|
|
56
|
-
const isDayVisible = useCallback((date)=>{
|
|
57
|
-
const startInsideDays = startOfMonth(visibleMonth);
|
|
58
|
-
if (date.compare(startInsideDays) < 0) return false;
|
|
59
|
-
const endInsideDays = endOfMonth(visibleMonth);
|
|
60
|
-
return !(date.compare(endInsideDays) > 0);
|
|
61
|
-
}, [
|
|
62
|
-
visibleMonth
|
|
63
|
-
]);
|
|
64
|
-
const setVisibleMonth = useCallback((event, newVisibleMonth)=>{
|
|
65
|
-
setVisibleMonthState(newVisibleMonth);
|
|
66
|
-
onVisibleMonthChange?.(event, newVisibleMonth);
|
|
67
|
-
}, [
|
|
68
|
-
onVisibleMonthChange,
|
|
69
|
-
setVisibleMonthState
|
|
70
|
-
]);
|
|
71
|
-
const setFocusedDate = useCallback((event, date)=>{
|
|
72
|
-
if (isSameDay(date, focusedDate) || isOutsideAllowedDates(date)) return;
|
|
73
|
-
setFocusedDateState(date);
|
|
74
|
-
const shouldTransition = !isDayVisible(date) && isDaySelectable(date) && !isOutsideAllowedDates(date);
|
|
75
|
-
if (shouldTransition) setVisibleMonth(event, startOfMonth(date));
|
|
76
|
-
}, [
|
|
77
|
-
focusedDate,
|
|
78
|
-
isDaySelectable,
|
|
79
|
-
isDayVisible,
|
|
80
|
-
isOutsideAllowedDates,
|
|
81
|
-
setVisibleMonth
|
|
82
|
-
]);
|
|
83
|
-
useEffect(()=>{
|
|
84
|
-
if (!isDayVisible(focusedDate)) setFocusedDateState(getInitialFocusedDate());
|
|
85
|
-
}, [
|
|
86
|
-
isDayVisible,
|
|
87
|
-
focusedDate,
|
|
88
|
-
visibleMonth
|
|
89
|
-
]);
|
|
90
|
-
return {
|
|
91
|
-
state: {
|
|
92
|
-
visibleMonth,
|
|
93
|
-
focusedDate,
|
|
94
|
-
minDate,
|
|
95
|
-
maxDate,
|
|
96
|
-
selectionVariant,
|
|
97
|
-
hideOutOfRangeDates,
|
|
98
|
-
calendarFocused,
|
|
99
|
-
...selectionManager.state
|
|
100
|
-
},
|
|
101
|
-
helpers: {
|
|
102
|
-
setVisibleMonth,
|
|
103
|
-
setFocusedDate,
|
|
104
|
-
setCalendarFocused,
|
|
105
|
-
isDayUnselectable,
|
|
106
|
-
isDayHighlighted,
|
|
107
|
-
isDayDisabled,
|
|
108
|
-
isDayVisible,
|
|
109
|
-
isOutsideAllowedDates,
|
|
110
|
-
isOutsideAllowedMonths,
|
|
111
|
-
isOutsideAllowedYears,
|
|
112
|
-
...selectionManager.helpers
|
|
113
|
-
}
|
|
114
|
-
};
|
|
115
|
-
}
|
|
116
|
-
export { useCalendar };
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import { getLocalTimeZone, isSameDay, isSameMonth, isToday } from "@internationalized/date";
|
|
2
|
-
import { useEffect } from "react";
|
|
3
|
-
import { useCalendarContext } from "./internal/CalendarContext.js";
|
|
4
|
-
import { useFocusManagement } from "./internal/useFocusManagement.js";
|
|
5
|
-
import { useSelectionDay } from "./useSelection.js";
|
|
6
|
-
function useCalendarDay({ date, month }, ref) {
|
|
7
|
-
const { state: { focusedDate, hideOutOfRangeDates, calendarFocused }, helpers: { isDayUnselectable, isDayHighlighted, isDayDisabled, isOutsideAllowedMonths } } = useCalendarContext();
|
|
8
|
-
const selectionManager = useSelectionDay({
|
|
9
|
-
date
|
|
10
|
-
});
|
|
11
|
-
const focusManager = useFocusManagement({
|
|
12
|
-
date
|
|
13
|
-
});
|
|
14
|
-
const handleClick = (event)=>{
|
|
15
|
-
selectionManager?.handleClick(event);
|
|
16
|
-
focusManager.handleClick(event);
|
|
17
|
-
};
|
|
18
|
-
const handleKeyDown = (event)=>{
|
|
19
|
-
focusManager.handleKeyDown(event);
|
|
20
|
-
selectionManager?.handleKeyDown(event);
|
|
21
|
-
};
|
|
22
|
-
const handleFocus = (event)=>{
|
|
23
|
-
focusManager.handleFocus(event);
|
|
24
|
-
};
|
|
25
|
-
const handleMouseOver = (event)=>{
|
|
26
|
-
selectionManager.handleMouseOver?.(event);
|
|
27
|
-
};
|
|
28
|
-
const eventHandlers = {
|
|
29
|
-
onClick: handleClick,
|
|
30
|
-
onKeyDown: handleKeyDown,
|
|
31
|
-
onFocus: handleFocus,
|
|
32
|
-
onMouseOver: handleMouseOver
|
|
33
|
-
};
|
|
34
|
-
const outOfRange = !isSameMonth(date, month);
|
|
35
|
-
const focused = isSameDay(date, focusedDate) && calendarFocused && !outOfRange;
|
|
36
|
-
const tabIndex = isSameDay(date, focusedDate) && !outOfRange ? 0 : -1;
|
|
37
|
-
const today = isToday(date, getLocalTimeZone());
|
|
38
|
-
const unselectableReason = isDayUnselectable(date);
|
|
39
|
-
const highlightedReason = isDayHighlighted(date);
|
|
40
|
-
const disabled = isDayDisabled(date) || outOfRange && isOutsideAllowedMonths(date);
|
|
41
|
-
const unselectable = Boolean(unselectableReason);
|
|
42
|
-
const highlighted = Boolean(highlightedReason);
|
|
43
|
-
const hidden = hideOutOfRangeDates && outOfRange;
|
|
44
|
-
useEffect(()=>{
|
|
45
|
-
if (focused) ref.current?.focus({
|
|
46
|
-
preventScroll: true
|
|
47
|
-
});
|
|
48
|
-
}, [
|
|
49
|
-
ref,
|
|
50
|
-
focused
|
|
51
|
-
]);
|
|
52
|
-
return {
|
|
53
|
-
status: {
|
|
54
|
-
outOfRange,
|
|
55
|
-
today,
|
|
56
|
-
unselectable,
|
|
57
|
-
focused,
|
|
58
|
-
hidden,
|
|
59
|
-
disabled,
|
|
60
|
-
highlighted,
|
|
61
|
-
...selectionManager.status
|
|
62
|
-
},
|
|
63
|
-
dayProps: {
|
|
64
|
-
tabIndex,
|
|
65
|
-
"aria-current": today ? "date" : void 0,
|
|
66
|
-
"aria-hidden": hidden ? "true" : void 0,
|
|
67
|
-
...eventHandlers,
|
|
68
|
-
...selectionManager.dayProps
|
|
69
|
-
},
|
|
70
|
-
unselectableReason,
|
|
71
|
-
highlightedReason
|
|
72
|
-
};
|
|
73
|
-
}
|
|
74
|
-
export { useCalendarDay };
|
|
@@ -1,202 +0,0 @@
|
|
|
1
|
-
import { CalendarDate, isSameDay } from "@internationalized/date";
|
|
2
|
-
import { makePrefixer, useControlled } from "@salt-ds/core";
|
|
3
|
-
import { clsx } from "clsx";
|
|
4
|
-
import { isPlainObject } from "../utils/index.js";
|
|
5
|
-
import { useCalendarContext } from "./internal/CalendarContext.js";
|
|
6
|
-
function addOrRemoveFromArray(array, item) {
|
|
7
|
-
if (Array.isArray(array)) {
|
|
8
|
-
if (array.find((element)=>isSameDay(element, item))) return array.filter((element)=>!isSameDay(element, item));
|
|
9
|
-
return array.concat(item);
|
|
10
|
-
}
|
|
11
|
-
return [
|
|
12
|
-
item
|
|
13
|
-
];
|
|
14
|
-
}
|
|
15
|
-
const defaultOffset = (date)=>date;
|
|
16
|
-
function isRangeOrOffsetSelectionValue(selectionValue) {
|
|
17
|
-
return null != selectionValue && isPlainObject(selectionValue);
|
|
18
|
-
}
|
|
19
|
-
function isRangeOrOffsetSelectionWithStartDate(selectionValue) {
|
|
20
|
-
return isRangeOrOffsetSelectionValue(selectionValue) && Object.prototype.hasOwnProperty.call(selectionValue, "startDate");
|
|
21
|
-
}
|
|
22
|
-
const withBaseName = makePrefixer("saltCalendarDay");
|
|
23
|
-
function useSelectionCalendar(props) {
|
|
24
|
-
const { hoveredDate: hoveredDateProp, selectedDate: selectedDateProp, defaultSelectedDate, onHoveredDateChange, isDaySelectable, selectionVariant } = props;
|
|
25
|
-
const [selectedDate, setSelectedDateState] = useControlled({
|
|
26
|
-
controlled: selectedDateProp,
|
|
27
|
-
default: defaultSelectedDate,
|
|
28
|
-
name: "Calendar",
|
|
29
|
-
state: "selectedDate"
|
|
30
|
-
});
|
|
31
|
-
const getStartDateOffset = (date)=>{
|
|
32
|
-
if ("offset" === props.selectionVariant && props.startDateOffset) return props.startDateOffset(date);
|
|
33
|
-
return defaultOffset(date);
|
|
34
|
-
};
|
|
35
|
-
const getEndDateOffset = (date)=>{
|
|
36
|
-
if ("offset" === props.selectionVariant && props.endDateOffset) return props.endDateOffset(date);
|
|
37
|
-
return defaultOffset(date);
|
|
38
|
-
};
|
|
39
|
-
const setSelectedDate = (event, newSelectedDate)=>{
|
|
40
|
-
if (isDaySelectable(newSelectedDate)) switch(props.selectionVariant){
|
|
41
|
-
case "default":
|
|
42
|
-
setSelectedDateState(newSelectedDate);
|
|
43
|
-
props.onSelectedDateChange?.(event, newSelectedDate);
|
|
44
|
-
break;
|
|
45
|
-
case "multiselect":
|
|
46
|
-
{
|
|
47
|
-
const newDates = addOrRemoveFromArray(selectedDate ?? [], newSelectedDate);
|
|
48
|
-
setSelectedDateState(newDates);
|
|
49
|
-
props.onSelectedDateChange?.(event, newDates);
|
|
50
|
-
break;
|
|
51
|
-
}
|
|
52
|
-
case "range":
|
|
53
|
-
{
|
|
54
|
-
let base = selectedDate;
|
|
55
|
-
base = isRangeOrOffsetSelectionValue(base) ? base?.startDate && base?.endDate ? {
|
|
56
|
-
startDate: newSelectedDate
|
|
57
|
-
} : base?.startDate && newSelectedDate.compare(base.startDate) > 0 ? {
|
|
58
|
-
...base,
|
|
59
|
-
endDate: newSelectedDate
|
|
60
|
-
} : {
|
|
61
|
-
startDate: newSelectedDate
|
|
62
|
-
} : {
|
|
63
|
-
startDate: newSelectedDate
|
|
64
|
-
};
|
|
65
|
-
setSelectedDateState(base);
|
|
66
|
-
props.onSelectedDateChange?.(event, base);
|
|
67
|
-
break;
|
|
68
|
-
}
|
|
69
|
-
case "offset":
|
|
70
|
-
{
|
|
71
|
-
const newRange = {
|
|
72
|
-
startDate: getStartDateOffset(newSelectedDate),
|
|
73
|
-
endDate: getEndDateOffset(newSelectedDate)
|
|
74
|
-
};
|
|
75
|
-
setSelectedDateState(newRange);
|
|
76
|
-
props.onSelectedDateChange?.(event, newRange);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
};
|
|
80
|
-
const isSelected = (date)=>{
|
|
81
|
-
switch(selectionVariant){
|
|
82
|
-
case "default":
|
|
83
|
-
return selectedDate instanceof CalendarDate && isSameDay(selectedDate, date);
|
|
84
|
-
case "multiselect":
|
|
85
|
-
return Array.isArray(selectedDate) && !!selectedDate.find((element)=>isSameDay(element, date));
|
|
86
|
-
default:
|
|
87
|
-
return false;
|
|
88
|
-
}
|
|
89
|
-
};
|
|
90
|
-
const [hoveredDate, setHoveredDateState] = useControlled({
|
|
91
|
-
controlled: hoveredDateProp,
|
|
92
|
-
default: void 0,
|
|
93
|
-
name: "Calendar",
|
|
94
|
-
state: "hoveredDate"
|
|
95
|
-
});
|
|
96
|
-
const setHoveredDate = (event, date)=>{
|
|
97
|
-
setHoveredDateState(date);
|
|
98
|
-
onHoveredDateChange?.(event, date);
|
|
99
|
-
};
|
|
100
|
-
const isHovered = (date)=>!!hoveredDate && isSameDay(date, hoveredDate);
|
|
101
|
-
const isSelectedSpan = (date)=>{
|
|
102
|
-
if (("range" === selectionVariant || "offset" === selectionVariant) && isRangeOrOffsetSelectionValue(selectedDate) && selectedDate?.startDate && selectedDate?.endDate) return date.compare(selectedDate.startDate) > 0 && date.compare(selectedDate.endDate) < 0;
|
|
103
|
-
return false;
|
|
104
|
-
};
|
|
105
|
-
const isHoveredSpan = (date)=>{
|
|
106
|
-
if (("range" === selectionVariant || "offset" === selectionVariant) && isRangeOrOffsetSelectionValue(selectedDate) && selectedDate.startDate && !selectedDate.endDate && hoveredDate) {
|
|
107
|
-
const isForwardRange = hoveredDate.compare(selectedDate.startDate) > 0 && (date.compare(selectedDate.startDate) > 0 && date.compare(hoveredDate) < 0 || isSameDay(date, hoveredDate));
|
|
108
|
-
const isValidDayHovered = isDaySelectable(hoveredDate);
|
|
109
|
-
return isForwardRange && isValidDayHovered;
|
|
110
|
-
}
|
|
111
|
-
return false;
|
|
112
|
-
};
|
|
113
|
-
const isSelectedStart = (date)=>{
|
|
114
|
-
if (("range" === selectionVariant || "offset" === selectionVariant) && isRangeOrOffsetSelectionValue(selectedDate) && selectedDate.startDate) return isSameDay(selectedDate.startDate, date);
|
|
115
|
-
return false;
|
|
116
|
-
};
|
|
117
|
-
const isSelectedEnd = (date)=>{
|
|
118
|
-
if (("range" === selectionVariant || "offset" === selectionVariant) && isRangeOrOffsetSelectionValue(selectedDate) && selectedDate.endDate) return isSameDay(selectedDate.endDate, date);
|
|
119
|
-
return false;
|
|
120
|
-
};
|
|
121
|
-
const isHoveredOffset = (date)=>{
|
|
122
|
-
if (hoveredDate && "offset" === selectionVariant) {
|
|
123
|
-
const startDate = getStartDateOffset(hoveredDate);
|
|
124
|
-
const endDate = getEndDateOffset(hoveredDate);
|
|
125
|
-
return date.compare(startDate) >= 0 && date.compare(endDate) <= 0 && isDaySelectable(date);
|
|
126
|
-
}
|
|
127
|
-
return false;
|
|
128
|
-
};
|
|
129
|
-
return {
|
|
130
|
-
state: {
|
|
131
|
-
selectedDate,
|
|
132
|
-
hoveredDate
|
|
133
|
-
},
|
|
134
|
-
helpers: {
|
|
135
|
-
setSelectedDate,
|
|
136
|
-
isSelected,
|
|
137
|
-
setHoveredDate,
|
|
138
|
-
isHovered,
|
|
139
|
-
isSelectedSpan,
|
|
140
|
-
isHoveredSpan,
|
|
141
|
-
isSelectedStart,
|
|
142
|
-
isSelectedEnd,
|
|
143
|
-
isHoveredOffset
|
|
144
|
-
}
|
|
145
|
-
};
|
|
146
|
-
}
|
|
147
|
-
function useSelectionDay({ date }) {
|
|
148
|
-
const { helpers: { setSelectedDate, isSelected, setHoveredDate, isSelectedSpan, isHoveredSpan, isSelectedStart, isSelectedEnd, isHovered, isHoveredOffset, isDayUnselectable } } = useCalendarContext();
|
|
149
|
-
const handleClick = (event)=>{
|
|
150
|
-
setSelectedDate(event, date);
|
|
151
|
-
};
|
|
152
|
-
const handleKeyDown = (event)=>{
|
|
153
|
-
switch(event.key){
|
|
154
|
-
case "Space":
|
|
155
|
-
case "Enter":
|
|
156
|
-
setSelectedDate(event, date);
|
|
157
|
-
event.preventDefault();
|
|
158
|
-
}
|
|
159
|
-
};
|
|
160
|
-
const handleMouseOver = (event)=>{
|
|
161
|
-
setHoveredDate(event, date);
|
|
162
|
-
};
|
|
163
|
-
const handleMouseLeave = (event)=>{
|
|
164
|
-
setHoveredDate(event, null);
|
|
165
|
-
};
|
|
166
|
-
const selected = isSelected(date);
|
|
167
|
-
const selectedSpan = isSelectedSpan(date);
|
|
168
|
-
const hoveredSpan = isHoveredSpan(date);
|
|
169
|
-
const selectedStart = isSelectedStart(date);
|
|
170
|
-
const selectedEnd = isSelectedEnd(date);
|
|
171
|
-
const hovered = isHovered(date);
|
|
172
|
-
const hoveredOffset = isHoveredOffset(date);
|
|
173
|
-
return {
|
|
174
|
-
handleClick,
|
|
175
|
-
handleKeyDown,
|
|
176
|
-
handleMouseOver,
|
|
177
|
-
handleMouseLeave,
|
|
178
|
-
status: {
|
|
179
|
-
selected,
|
|
180
|
-
selectedSpan,
|
|
181
|
-
hoveredSpan,
|
|
182
|
-
selectedStart,
|
|
183
|
-
selectedEnd,
|
|
184
|
-
hovered,
|
|
185
|
-
hoveredOffset
|
|
186
|
-
},
|
|
187
|
-
dayProps: {
|
|
188
|
-
className: clsx({
|
|
189
|
-
[withBaseName("selected")]: selected,
|
|
190
|
-
[withBaseName("selectedSpan")]: selectedSpan,
|
|
191
|
-
[withBaseName("hoveredSpan")]: hoveredSpan,
|
|
192
|
-
[withBaseName("selectedStart")]: selectedStart,
|
|
193
|
-
[withBaseName("selectedEnd")]: selectedEnd,
|
|
194
|
-
[withBaseName("hovered")]: hovered,
|
|
195
|
-
[withBaseName("hoveredOffset")]: hoveredOffset
|
|
196
|
-
}),
|
|
197
|
-
"aria-pressed": selected || selectedEnd || selectedStart || selectedSpan ? "true" : void 0,
|
|
198
|
-
"aria-disabled": isDayUnselectable(date) ? "true" : void 0
|
|
199
|
-
}
|
|
200
|
-
};
|
|
201
|
-
}
|
|
202
|
-
export { isRangeOrOffsetSelectionValue, isRangeOrOffsetSelectionWithStartDate, useSelectionCalendar, useSelectionDay };
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { flip, size, useClick, useDismiss, useInteractions } from "@floating-ui/react";
|
|
3
|
-
import { useFloatingComponent, useFloatingUI, useForkRef, useIdMemo } from "@salt-ds/core";
|
|
4
|
-
import { useComponentCssInjection } from "@salt-ds/styles";
|
|
5
|
-
import { useWindow } from "@salt-ds/window";
|
|
6
|
-
import clsx from "clsx";
|
|
7
|
-
import { forwardRef, useState } from "react";
|
|
8
|
-
import { IconButton } from "../icon-button/index.js";
|
|
9
|
-
import { ColumnSearch } from "./ColumnSearch.js";
|
|
10
|
-
import ColumnPicker_0 from "./ColumnPicker.css";
|
|
11
|
-
const classBase = "vuuColumnPicker";
|
|
12
|
-
const ColumnPicker_FloatingColumnSearch = /*#__PURE__*/ forwardRef(function(props, ref) {
|
|
13
|
-
const { children, className, collapsed, open, ...rest } = props;
|
|
14
|
-
const { Component: FloatingComponent } = useFloatingComponent();
|
|
15
|
-
return /*#__PURE__*/ jsx(FloatingComponent, {
|
|
16
|
-
className: clsx(classBase, {
|
|
17
|
-
[`${classBase}-collapsed`]: collapsed
|
|
18
|
-
}, className),
|
|
19
|
-
role: "listbox",
|
|
20
|
-
open: open,
|
|
21
|
-
...rest,
|
|
22
|
-
ref: ref,
|
|
23
|
-
children: children
|
|
24
|
-
});
|
|
25
|
-
});
|
|
26
|
-
const ColumnPicker_ColumnPicker = /*#__PURE__*/ forwardRef(function({ columns, icon = "add", iconSize, onSelectionChange, selected, ...htmlAttributes }, forwardedRef) {
|
|
27
|
-
const targetWindow = useWindow();
|
|
28
|
-
useComponentCssInjection({
|
|
29
|
-
testId: "vuu-column-picker",
|
|
30
|
-
css: ColumnPicker_0,
|
|
31
|
-
window: targetWindow
|
|
32
|
-
});
|
|
33
|
-
const [open, setOpen] = useState(false);
|
|
34
|
-
const listId = useIdMemo();
|
|
35
|
-
const { context, x, y, strategy, elements, floating, reference } = useFloatingUI({
|
|
36
|
-
open,
|
|
37
|
-
onOpenChange: setOpen,
|
|
38
|
-
placement: "bottom-start",
|
|
39
|
-
strategy: "fixed",
|
|
40
|
-
middleware: [
|
|
41
|
-
size({
|
|
42
|
-
apply ({ rects, elements, availableHeight }) {
|
|
43
|
-
Object.assign(elements.floating.style, {
|
|
44
|
-
minWidth: `${rects.reference.width}px`,
|
|
45
|
-
maxHeight: `max(calc(${availableHeight}px - var(--salt-spacing-100)), calc((var(--salt-size-base) + var(--salt-spacing-100)) * 5))`
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
}),
|
|
49
|
-
flip({
|
|
50
|
-
fallbackStrategy: "initialPlacement"
|
|
51
|
-
})
|
|
52
|
-
]
|
|
53
|
-
});
|
|
54
|
-
const { getReferenceProps, getFloatingProps } = useInteractions([
|
|
55
|
-
useDismiss(context),
|
|
56
|
-
useClick(context, {
|
|
57
|
-
keyboardHandlers: false,
|
|
58
|
-
toggle: false
|
|
59
|
-
})
|
|
60
|
-
]);
|
|
61
|
-
const handleButtonClick = ()=>{
|
|
62
|
-
setOpen((isOpen)=>!isOpen);
|
|
63
|
-
};
|
|
64
|
-
const forkedRef = useForkRef(reference, forwardedRef);
|
|
65
|
-
const handleChange = ()=>{
|
|
66
|
-
console.log("handleChange");
|
|
67
|
-
};
|
|
68
|
-
const handleReorderColumns = ()=>{
|
|
69
|
-
console.log("handleMoveListItem");
|
|
70
|
-
};
|
|
71
|
-
return /*#__PURE__*/ jsxs(Fragment, {
|
|
72
|
-
children: [
|
|
73
|
-
/*#__PURE__*/ jsx(IconButton, {
|
|
74
|
-
...htmlAttributes,
|
|
75
|
-
...getReferenceProps(),
|
|
76
|
-
icon: icon,
|
|
77
|
-
size: iconSize,
|
|
78
|
-
onClick: handleButtonClick,
|
|
79
|
-
ref: forkedRef,
|
|
80
|
-
variant: "secondary"
|
|
81
|
-
}),
|
|
82
|
-
/*#__PURE__*/ jsx(ColumnPicker_FloatingColumnSearch, {
|
|
83
|
-
...getFloatingProps(),
|
|
84
|
-
open: open,
|
|
85
|
-
collapsed: !open,
|
|
86
|
-
id: listId,
|
|
87
|
-
left: x,
|
|
88
|
-
position: strategy,
|
|
89
|
-
ref: floating,
|
|
90
|
-
top: y,
|
|
91
|
-
width: elements.floating?.offsetWidth,
|
|
92
|
-
height: elements.floating?.offsetHeight,
|
|
93
|
-
children: /*#__PURE__*/ jsx(ColumnSearch, {
|
|
94
|
-
columns: columns,
|
|
95
|
-
onChange: handleChange,
|
|
96
|
-
onReorderColumns: handleReorderColumns,
|
|
97
|
-
onSelectionChange: onSelectionChange,
|
|
98
|
-
selected: selected,
|
|
99
|
-
style: {
|
|
100
|
-
width: 220,
|
|
101
|
-
height: 300
|
|
102
|
-
}
|
|
103
|
-
})
|
|
104
|
-
})
|
|
105
|
-
]
|
|
106
|
-
});
|
|
107
|
-
});
|
|
108
|
-
export { ColumnPicker_ColumnPicker as ColumnPicker };
|