@vuu-ui/vuu-ui-controls 2.1.18 → 2.1.19-beta.1
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/package.json +13 -15
- 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/cjs/calendar/Calendar.css.js +0 -6
- package/cjs/calendar/Calendar.css.js.map +0 -1
- package/cjs/calendar/Calendar.js +0 -93
- package/cjs/calendar/Calendar.js.map +0 -1
- package/cjs/calendar/internal/CalendarCarousel.css.js +0 -6
- package/cjs/calendar/internal/CalendarCarousel.css.js.map +0 -1
- package/cjs/calendar/internal/CalendarCarousel.js +0 -75
- package/cjs/calendar/internal/CalendarCarousel.js.map +0 -1
- package/cjs/calendar/internal/CalendarContext.js +0 -19
- package/cjs/calendar/internal/CalendarContext.js.map +0 -1
- package/cjs/calendar/internal/CalendarDay.css.js +0 -6
- package/cjs/calendar/internal/CalendarDay.css.js.map +0 -1
- package/cjs/calendar/internal/CalendarDay.js +0 -86
- package/cjs/calendar/internal/CalendarDay.js.map +0 -1
- package/cjs/calendar/internal/CalendarMonth.css.js +0 -6
- package/cjs/calendar/internal/CalendarMonth.css.js.map +0 -1
- package/cjs/calendar/internal/CalendarMonth.js +0 -71
- package/cjs/calendar/internal/CalendarMonth.js.map +0 -1
- package/cjs/calendar/internal/CalendarNavigation.css.js +0 -6
- package/cjs/calendar/internal/CalendarNavigation.css.js.map +0 -1
- package/cjs/calendar/internal/CalendarNavigation.js +0 -236
- package/cjs/calendar/internal/CalendarNavigation.js.map +0 -1
- package/cjs/calendar/internal/CalendarWeekHeader.css.js +0 -6
- package/cjs/calendar/internal/CalendarWeekHeader.css.js.map +0 -1
- package/cjs/calendar/internal/CalendarWeekHeader.js +0 -43
- package/cjs/calendar/internal/CalendarWeekHeader.js.map +0 -1
- package/cjs/calendar/internal/useFocusManagement.js +0 -66
- package/cjs/calendar/internal/useFocusManagement.js.map +0 -1
- package/cjs/calendar/internal/utils.js +0 -64
- package/cjs/calendar/internal/utils.js.map +0 -1
- package/cjs/calendar/useCalendar.js +0 -163
- package/cjs/calendar/useCalendar.js.map +0 -1
- package/cjs/calendar/useCalendarDay.js +0 -80
- package/cjs/calendar/useCalendarDay.js.map +0 -1
- package/cjs/calendar/useSelection.js +0 -248
- package/cjs/calendar/useSelection.js.map +0 -1
- package/cjs/column-picker/ColumnPicker.css.js +0 -6
- package/cjs/column-picker/ColumnPicker.css.js.map +0 -1
- package/cjs/column-picker/ColumnPicker.js +0 -128
- package/cjs/column-picker/ColumnPicker.js.map +0 -1
- package/cjs/column-picker/ColumnSearch.css.js +0 -6
- package/cjs/column-picker/ColumnSearch.css.js.map +0 -1
- package/cjs/column-picker/ColumnSearch.js +0 -82
- package/cjs/column-picker/ColumnSearch.js.map +0 -1
- package/cjs/common-hooks/selectionTypes.js +0 -18
- package/cjs/common-hooks/selectionTypes.js.map +0 -1
- package/cjs/common-hooks/use-resize-observer.js +0 -123
- package/cjs/common-hooks/use-resize-observer.js.map +0 -1
- package/cjs/common-hooks/useControlled.js +0 -58
- package/cjs/common-hooks/useControlled.js.map +0 -1
- package/cjs/context-panel-provider/ContextPanelProvider.js +0 -99
- package/cjs/context-panel-provider/ContextPanelProvider.js.map +0 -1
- package/cjs/cycle-state-button/CycleStateButton.js +0 -50
- package/cjs/cycle-state-button/CycleStateButton.js.map +0 -1
- package/cjs/date-input/DateInput.css.js +0 -6
- package/cjs/date-input/DateInput.css.js.map +0 -1
- package/cjs/date-input/DateInput.js +0 -277
- package/cjs/date-input/DateInput.js.map +0 -1
- package/cjs/date-picker/DatePicker.js +0 -169
- package/cjs/date-picker/DatePicker.js.map +0 -1
- package/cjs/date-picker/DatePickerContext.js +0 -26
- package/cjs/date-picker/DatePickerContext.js.map +0 -1
- package/cjs/date-picker/DatePickerPanel.css.js +0 -6
- package/cjs/date-picker/DatePickerPanel.css.js.map +0 -1
- package/cjs/date-picker/DatePickerPanel.js +0 -146
- package/cjs/date-picker/DatePickerPanel.js.map +0 -1
- package/cjs/drag-drop/DragDropProvider.js +0 -145
- package/cjs/drag-drop/DragDropProvider.js.map +0 -1
- package/cjs/drag-drop/DragDropState.js +0 -36
- package/cjs/drag-drop/DragDropState.js.map +0 -1
- package/cjs/drag-drop/Draggable.css.js +0 -6
- package/cjs/drag-drop/Draggable.css.js.map +0 -1
- package/cjs/drag-drop/Draggable.js +0 -90
- package/cjs/drag-drop/Draggable.js.map +0 -1
- package/cjs/drag-drop/dragDropTypes.js +0 -8
- package/cjs/drag-drop/dragDropTypes.js.map +0 -1
- package/cjs/drag-drop/drop-target-utils.js +0 -245
- package/cjs/drag-drop/drop-target-utils.js.map +0 -1
- package/cjs/drag-drop/useAutoScroll.js +0 -71
- package/cjs/drag-drop/useAutoScroll.js.map +0 -1
- package/cjs/drag-drop/useDragDisplacers.js +0 -160
- package/cjs/drag-drop/useDragDisplacers.js.map +0 -1
- package/cjs/drag-drop/useDragDrop.js +0 -504
- package/cjs/drag-drop/useDragDrop.js.map +0 -1
- package/cjs/drag-drop/useDragDropCopy.js +0 -34
- package/cjs/drag-drop/useDragDropCopy.js.map +0 -1
- package/cjs/drag-drop/useDragDropIndicator.js +0 -251
- package/cjs/drag-drop/useDragDropIndicator.js.map +0 -1
- package/cjs/drag-drop/useDragDropNaturalMovement.js +0 -265
- package/cjs/drag-drop/useDragDropNaturalMovement.js.map +0 -1
- package/cjs/drag-drop/useDropIndicator.js +0 -27
- package/cjs/drag-drop/useDropIndicator.js.map +0 -1
- package/cjs/drag-drop/useGlobalDragDrop.js +0 -89
- package/cjs/drag-drop/useGlobalDragDrop.js.map +0 -1
- package/cjs/editable/useEditableText.js +0 -211
- package/cjs/editable/useEditableText.js.map +0 -1
- package/cjs/editable-label/EditableLabel.css.js +0 -6
- package/cjs/editable-label/EditableLabel.css.js.map +0 -1
- package/cjs/editable-label/EditableLabel.js +0 -143
- package/cjs/editable-label/EditableLabel.js.map +0 -1
- package/cjs/expando-input/ExpandoInput.css.js +0 -6
- package/cjs/expando-input/ExpandoInput.css.js.map +0 -1
- package/cjs/expando-input/ExpandoInput.js +0 -53
- package/cjs/expando-input/ExpandoInput.js.map +0 -1
- package/cjs/hover-overlay/HoverOverlay.js +0 -96
- package/cjs/hover-overlay/HoverOverlay.js.map +0 -1
- package/cjs/icon-button/Icon.css.js +0 -6
- package/cjs/icon-button/Icon.css.js.map +0 -1
- package/cjs/icon-button/Icon.js +0 -37
- package/cjs/icon-button/Icon.js.map +0 -1
- package/cjs/icon-button/IconButton.css.js +0 -6
- package/cjs/icon-button/IconButton.css.js.map +0 -1
- package/cjs/icon-button/IconButton.js +0 -26
- package/cjs/icon-button/IconButton.js.map +0 -1
- package/cjs/icon-button/ToggleIconButton.css.js +0 -6
- package/cjs/icon-button/ToggleIconButton.css.js.map +0 -1
- package/cjs/icon-button/ToggleIconButton.js +0 -39
- package/cjs/icon-button/ToggleIconButton.js.map +0 -1
- package/cjs/index.js +0 -170
- package/cjs/index.js.map +0 -1
- package/cjs/instrument-picker/TablePicker.css.js +0 -6
- package/cjs/instrument-picker/TablePicker.css.js.map +0 -1
- package/cjs/instrument-picker/TablePicker.js +0 -130
- package/cjs/instrument-picker/TablePicker.js.map +0 -1
- package/cjs/instrument-picker/useTablePicker.js +0 -150
- package/cjs/instrument-picker/useTablePicker.js.map +0 -1
- package/cjs/measured-container/MeasuredContainer.css.js +0 -6
- package/cjs/measured-container/MeasuredContainer.css.js.map +0 -1
- package/cjs/measured-container/MeasuredContainer.js +0 -72
- package/cjs/measured-container/MeasuredContainer.js.map +0 -1
- package/cjs/measured-container/useMeasuredContainer.js +0 -167
- package/cjs/measured-container/useMeasuredContainer.js.map +0 -1
- package/cjs/modal-provider/ModalProvider.js +0 -143
- package/cjs/modal-provider/ModalProvider.js.map +0 -1
- package/cjs/overflow-container/OverflowContainer.css.js +0 -6
- package/cjs/overflow-container/OverflowContainer.css.js.map +0 -1
- package/cjs/overflow-container/OverflowContainer.js +0 -143
- package/cjs/overflow-container/OverflowContainer.js.map +0 -1
- package/cjs/overflow-container/overflow-utils.js +0 -286
- package/cjs/overflow-container/overflow-utils.js.map +0 -1
- package/cjs/overflow-container/useOverflowContainer.js +0 -143
- package/cjs/overflow-container/useOverflowContainer.js.map +0 -1
- package/cjs/price-ticker/PriceTicker.css.js +0 -6
- package/cjs/price-ticker/PriceTicker.css.js.map +0 -1
- package/cjs/price-ticker/PriceTicker.js +0 -50
- package/cjs/price-ticker/PriceTicker.js.map +0 -1
- package/cjs/prompt/Prompt.css.js +0 -6
- package/cjs/prompt/Prompt.css.js.map +0 -1
- package/cjs/prompt/Prompt.js +0 -142
- package/cjs/prompt/Prompt.js.map +0 -1
- package/cjs/sortable-list/SortableList.js +0 -37
- package/cjs/sortable-list/SortableList.js.map +0 -1
- package/cjs/split-button/SplitButton.css.js +0 -6
- package/cjs/split-button/SplitButton.css.js.map +0 -1
- package/cjs/split-button/SplitButton.js +0 -84
- package/cjs/split-button/SplitButton.js.map +0 -1
- package/cjs/split-button/SplitStateButton.css.js +0 -6
- package/cjs/split-button/SplitStateButton.css.js.map +0 -1
- package/cjs/split-button/SplitStateButton.js +0 -31
- package/cjs/split-button/SplitStateButton.js.map +0 -1
- package/cjs/split-button/useSplitButton.js +0 -84
- package/cjs/split-button/useSplitButton.js.map +0 -1
- package/cjs/table-search/SearchCell.css.js +0 -6
- package/cjs/table-search/SearchCell.css.js.map +0 -1
- package/cjs/table-search/SearchCell.js +0 -32
- package/cjs/table-search/SearchCell.js.map +0 -1
- package/cjs/table-search/TableSearch.css.js +0 -6
- package/cjs/table-search/TableSearch.css.js.map +0 -1
- package/cjs/table-search/TableSearch.js +0 -89
- package/cjs/table-search/TableSearch.js.map +0 -1
- package/cjs/table-search/useTableSearch.js +0 -39
- package/cjs/table-search/useTableSearch.js.map +0 -1
- package/cjs/tabs-next/TabBar.css.js +0 -6
- package/cjs/tabs-next/TabBar.css.js.map +0 -1
- package/cjs/tabs-next/TabBar.js +0 -41
- package/cjs/tabs-next/TabBar.js.map +0 -1
- package/cjs/tabs-next/TabListNext.css.js +0 -6
- package/cjs/tabs-next/TabListNext.css.js.map +0 -1
- package/cjs/tabs-next/TabListNext.js +0 -124
- package/cjs/tabs-next/TabListNext.js.map +0 -1
- package/cjs/tabs-next/TabNext.css.js +0 -6
- package/cjs/tabs-next/TabNext.css.js.map +0 -1
- package/cjs/tabs-next/TabNext.js +0 -110
- package/cjs/tabs-next/TabNext.js.map +0 -1
- package/cjs/tabs-next/TabNextAction.js +0 -35
- package/cjs/tabs-next/TabNextAction.js.map +0 -1
- package/cjs/tabs-next/TabNextContext.js +0 -23
- package/cjs/tabs-next/TabNextContext.js.map +0 -1
- package/cjs/tabs-next/TabNextPanel.css.js +0 -6
- package/cjs/tabs-next/TabNextPanel.css.js.map +0 -1
- package/cjs/tabs-next/TabNextPanel.js +0 -77
- package/cjs/tabs-next/TabNextPanel.js.map +0 -1
- package/cjs/tabs-next/TabNextTrigger.css.js +0 -6
- package/cjs/tabs-next/TabNextTrigger.css.js.map +0 -1
- package/cjs/tabs-next/TabNextTrigger.js +0 -74
- package/cjs/tabs-next/TabNextTrigger.js.map +0 -1
- package/cjs/tabs-next/TabOverflowList.css.js +0 -6
- package/cjs/tabs-next/TabOverflowList.css.js.map +0 -1
- package/cjs/tabs-next/TabOverflowList.js +0 -130
- package/cjs/tabs-next/TabOverflowList.js.map +0 -1
- package/cjs/tabs-next/TabsNext.js +0 -174
- package/cjs/tabs-next/TabsNext.js.map +0 -1
- package/cjs/tabs-next/TabsNextContext.js +0 -33
- package/cjs/tabs-next/TabsNextContext.js.map +0 -1
- package/cjs/tabs-next/hooks/useCollection.js +0 -91
- package/cjs/tabs-next/hooks/useCollection.js.map +0 -1
- package/cjs/tabs-next/hooks/useFocusOutside.js +0 -24
- package/cjs/tabs-next/hooks/useFocusOutside.js.map +0 -1
- package/cjs/tabs-next/hooks/useOverflow.js +0 -138
- package/cjs/tabs-next/hooks/useOverflow.js.map +0 -1
- package/cjs/tabstrip/Tab.css.js +0 -6
- package/cjs/tabstrip/Tab.css.js.map +0 -1
- package/cjs/tabstrip/Tab.js +0 -153
- package/cjs/tabstrip/Tab.js.map +0 -1
- package/cjs/tabstrip/TabMenu.css.js +0 -6
- package/cjs/tabstrip/TabMenu.css.js.map +0 -1
- package/cjs/tabstrip/TabMenu.js +0 -72
- package/cjs/tabstrip/TabMenu.js.map +0 -1
- package/cjs/tabstrip/TabMenuOptions.js +0 -20
- package/cjs/tabstrip/TabMenuOptions.js.map +0 -1
- package/cjs/tabstrip/Tabstrip.css.js +0 -6
- package/cjs/tabstrip/Tabstrip.css.js.map +0 -1
- package/cjs/tabstrip/Tabstrip.js +0 -160
- package/cjs/tabstrip/Tabstrip.js.map +0 -1
- package/cjs/tabstrip/tabstrip-dom-utils.js +0 -19
- package/cjs/tabstrip/tabstrip-dom-utils.js.map +0 -1
- package/cjs/tabstrip/useAnimatedSelectionThumb.js +0 -85
- package/cjs/tabstrip/useAnimatedSelectionThumb.js.map +0 -1
- package/cjs/tabstrip/useKeyboardNavigation.js +0 -247
- package/cjs/tabstrip/useKeyboardNavigation.js.map +0 -1
- package/cjs/tabstrip/useSelection.js +0 -60
- package/cjs/tabstrip/useSelection.js.map +0 -1
- package/cjs/tabstrip/useTabstrip.js +0 -233
- package/cjs/tabstrip/useTabstrip.js.map +0 -1
- package/cjs/time-input/MaskedInput.js +0 -377
- package/cjs/time-input/MaskedInput.js.map +0 -1
- package/cjs/time-input/TimeInput.css.js +0 -6
- package/cjs/time-input/TimeInput.css.js.map +0 -1
- package/cjs/time-input/TimeInput.js +0 -56
- package/cjs/time-input/TimeInput.js.map +0 -1
- package/cjs/time-input/useTimeInput.js +0 -121
- package/cjs/time-input/useTimeInput.js.map +0 -1
- package/cjs/toolbar/Toolbar.css.js +0 -6
- package/cjs/toolbar/Toolbar.css.js.map +0 -1
- package/cjs/toolbar/Toolbar.js +0 -90
- package/cjs/toolbar/Toolbar.js.map +0 -1
- package/cjs/toolbar/toolbar-dom-utils.js +0 -18
- package/cjs/toolbar/toolbar-dom-utils.js.map +0 -1
- package/cjs/toolbar/useKeyboardNavigation.js +0 -305
- package/cjs/toolbar/useKeyboardNavigation.js.map +0 -1
- package/cjs/toolbar/useSelection.js +0 -93
- package/cjs/toolbar/useSelection.js.map +0 -1
- package/cjs/toolbar/useToolbar.js +0 -100
- package/cjs/toolbar/useToolbar.js.map +0 -1
- package/cjs/utils/escapeRegExp.js +0 -9
- package/cjs/utils/escapeRegExp.js.map +0 -1
- package/cjs/utils/forwardCallbackProps.js +0 -22
- package/cjs/utils/forwardCallbackProps.js.map +0 -1
- package/cjs/utils/isOverflowElement.js +0 -8
- package/cjs/utils/isOverflowElement.js.map +0 -1
- package/cjs/utils/isPlainObject.js +0 -6
- package/cjs/utils/isPlainObject.js.map +0 -1
- package/cjs/vuu-date-picker/VuuDatePicker.js +0 -122
- package/cjs/vuu-date-picker/VuuDatePicker.js.map +0 -1
- package/cjs/vuu-input/VuuInput.css.js +0 -6
- package/cjs/vuu-input/VuuInput.css.js.map +0 -1
- package/cjs/vuu-input/VuuInput.js +0 -102
- package/cjs/vuu-input/VuuInput.js.map +0 -1
- package/cjs/vuu-time-picker/VuuTimePicker.css.js +0 -6
- package/cjs/vuu-time-picker/VuuTimePicker.css.js.map +0 -1
- package/cjs/vuu-time-picker/VuuTimePicker.js +0 -37
- package/cjs/vuu-time-picker/VuuTimePicker.js.map +0 -1
- package/cjs/vuu-typeahead-input/VuuTypeaheadInput.css.js +0 -6
- package/cjs/vuu-typeahead-input/VuuTypeaheadInput.css.js.map +0 -1
- package/cjs/vuu-typeahead-input/VuuTypeaheadInput.js +0 -80
- package/cjs/vuu-typeahead-input/VuuTypeaheadInput.js.map +0 -1
- package/cjs/vuu-typeahead-input/useVuuTypeaheadInput.js +0 -176
- package/cjs/vuu-typeahead-input/useVuuTypeaheadInput.js.map +0 -1
- package/esm/calendar/Calendar.css.js +0 -4
- package/esm/calendar/Calendar.css.js.map +0 -1
- package/esm/calendar/Calendar.js +0 -91
- package/esm/calendar/Calendar.js.map +0 -1
- package/esm/calendar/internal/CalendarCarousel.css.js +0 -4
- package/esm/calendar/internal/CalendarCarousel.css.js.map +0 -1
- package/esm/calendar/internal/CalendarCarousel.js +0 -73
- package/esm/calendar/internal/CalendarCarousel.js.map +0 -1
- package/esm/calendar/internal/CalendarContext.js +0 -16
- package/esm/calendar/internal/CalendarContext.js.map +0 -1
- package/esm/calendar/internal/CalendarDay.css.js +0 -4
- package/esm/calendar/internal/CalendarDay.css.js.map +0 -1
- package/esm/calendar/internal/CalendarDay.js +0 -84
- package/esm/calendar/internal/CalendarDay.js.map +0 -1
- package/esm/calendar/internal/CalendarMonth.css.js +0 -4
- package/esm/calendar/internal/CalendarMonth.css.js.map +0 -1
- package/esm/calendar/internal/CalendarMonth.js +0 -69
- package/esm/calendar/internal/CalendarMonth.js.map +0 -1
- package/esm/calendar/internal/CalendarNavigation.css.js +0 -4
- package/esm/calendar/internal/CalendarNavigation.css.js.map +0 -1
- package/esm/calendar/internal/CalendarNavigation.js +0 -234
- package/esm/calendar/internal/CalendarNavigation.js.map +0 -1
- package/esm/calendar/internal/CalendarWeekHeader.css.js +0 -4
- package/esm/calendar/internal/CalendarWeekHeader.css.js.map +0 -1
- package/esm/calendar/internal/CalendarWeekHeader.js +0 -41
- package/esm/calendar/internal/CalendarWeekHeader.js.map +0 -1
- package/esm/calendar/internal/useFocusManagement.js +0 -64
- package/esm/calendar/internal/useFocusManagement.js.map +0 -1
- package/esm/calendar/internal/utils.js +0 -55
- package/esm/calendar/internal/utils.js.map +0 -1
- package/esm/calendar/useCalendar.js +0 -161
- package/esm/calendar/useCalendar.js.map +0 -1
- package/esm/calendar/useCalendarDay.js +0 -78
- package/esm/calendar/useCalendarDay.js.map +0 -1
- package/esm/calendar/useSelection.js +0 -243
- package/esm/calendar/useSelection.js.map +0 -1
- package/esm/column-picker/ColumnPicker.css.js +0 -4
- package/esm/column-picker/ColumnPicker.css.js.map +0 -1
- package/esm/column-picker/ColumnPicker.js +0 -126
- package/esm/column-picker/ColumnPicker.js.map +0 -1
- package/esm/column-picker/ColumnSearch.css.js +0 -4
- package/esm/column-picker/ColumnSearch.css.js.map +0 -1
- package/esm/column-picker/ColumnSearch.js +0 -80
- package/esm/column-picker/ColumnSearch.js.map +0 -1
- package/esm/common-hooks/selectionTypes.js +0 -10
- package/esm/common-hooks/selectionTypes.js.map +0 -1
- package/esm/common-hooks/use-resize-observer.js +0 -118
- package/esm/common-hooks/use-resize-observer.js.map +0 -1
- package/esm/common-hooks/useControlled.js +0 -56
- package/esm/common-hooks/useControlled.js.map +0 -1
- package/esm/context-panel-provider/ContextPanelProvider.js +0 -94
- package/esm/context-panel-provider/ContextPanelProvider.js.map +0 -1
- package/esm/cycle-state-button/CycleStateButton.js +0 -48
- package/esm/cycle-state-button/CycleStateButton.js.map +0 -1
- package/esm/date-input/DateInput.css.js +0 -4
- package/esm/date-input/DateInput.css.js.map +0 -1
- package/esm/date-input/DateInput.js +0 -275
- package/esm/date-input/DateInput.js.map +0 -1
- package/esm/date-picker/DatePicker.js +0 -167
- package/esm/date-picker/DatePicker.js.map +0 -1
- package/esm/date-picker/DatePickerContext.js +0 -23
- package/esm/date-picker/DatePickerContext.js.map +0 -1
- package/esm/date-picker/DatePickerPanel.css.js +0 -4
- package/esm/date-picker/DatePickerPanel.css.js.map +0 -1
- package/esm/date-picker/DatePickerPanel.js +0 -144
- package/esm/date-picker/DatePickerPanel.js.map +0 -1
- package/esm/drag-drop/DragDropProvider.js +0 -142
- package/esm/drag-drop/DragDropProvider.js.map +0 -1
- package/esm/drag-drop/DragDropState.js +0 -34
- package/esm/drag-drop/DragDropState.js.map +0 -1
- package/esm/drag-drop/Draggable.css.js +0 -4
- package/esm/drag-drop/Draggable.css.js.map +0 -1
- package/esm/drag-drop/Draggable.js +0 -85
- package/esm/drag-drop/Draggable.js.map +0 -1
- package/esm/drag-drop/dragDropTypes.js +0 -5
- package/esm/drag-drop/dragDropTypes.js.map +0 -1
- package/esm/drag-drop/drop-target-utils.js +0 -228
- package/esm/drag-drop/drop-target-utils.js.map +0 -1
- package/esm/drag-drop/useAutoScroll.js +0 -69
- package/esm/drag-drop/useAutoScroll.js.map +0 -1
- package/esm/drag-drop/useDragDisplacers.js +0 -158
- package/esm/drag-drop/useDragDisplacers.js.map +0 -1
- package/esm/drag-drop/useDragDrop.js +0 -502
- package/esm/drag-drop/useDragDrop.js.map +0 -1
- package/esm/drag-drop/useDragDropCopy.js +0 -31
- package/esm/drag-drop/useDragDropCopy.js.map +0 -1
- package/esm/drag-drop/useDragDropIndicator.js +0 -249
- package/esm/drag-drop/useDragDropIndicator.js.map +0 -1
- package/esm/drag-drop/useDragDropNaturalMovement.js +0 -263
- package/esm/drag-drop/useDragDropNaturalMovement.js.map +0 -1
- package/esm/drag-drop/useDropIndicator.js +0 -25
- package/esm/drag-drop/useDropIndicator.js.map +0 -1
- package/esm/drag-drop/useGlobalDragDrop.js +0 -87
- package/esm/drag-drop/useGlobalDragDrop.js.map +0 -1
- package/esm/editable/useEditableText.js +0 -209
- package/esm/editable/useEditableText.js.map +0 -1
- package/esm/editable-label/EditableLabel.css.js +0 -4
- package/esm/editable-label/EditableLabel.css.js.map +0 -1
- package/esm/editable-label/EditableLabel.js +0 -140
- package/esm/editable-label/EditableLabel.js.map +0 -1
- package/esm/expando-input/ExpandoInput.css.js +0 -4
- package/esm/expando-input/ExpandoInput.css.js.map +0 -1
- package/esm/expando-input/ExpandoInput.js +0 -51
- package/esm/expando-input/ExpandoInput.js.map +0 -1
- package/esm/hover-overlay/HoverOverlay.js +0 -94
- package/esm/hover-overlay/HoverOverlay.js.map +0 -1
- package/esm/icon-button/Icon.css.js +0 -4
- package/esm/icon-button/Icon.css.js.map +0 -1
- package/esm/icon-button/Icon.js +0 -35
- package/esm/icon-button/Icon.js.map +0 -1
- package/esm/icon-button/IconButton.css.js +0 -4
- package/esm/icon-button/IconButton.css.js.map +0 -1
- package/esm/icon-button/IconButton.js +0 -24
- package/esm/icon-button/IconButton.js.map +0 -1
- package/esm/icon-button/ToggleIconButton.css.js +0 -4
- package/esm/icon-button/ToggleIconButton.css.js.map +0 -1
- package/esm/icon-button/ToggleIconButton.js +0 -37
- package/esm/icon-button/ToggleIconButton.js.map +0 -1
- package/esm/index.js +0 -59
- package/esm/index.js.map +0 -1
- package/esm/instrument-picker/TablePicker.css.js +0 -4
- package/esm/instrument-picker/TablePicker.css.js.map +0 -1
- package/esm/instrument-picker/TablePicker.js +0 -128
- package/esm/instrument-picker/TablePicker.js.map +0 -1
- package/esm/instrument-picker/useTablePicker.js +0 -148
- package/esm/instrument-picker/useTablePicker.js.map +0 -1
- package/esm/measured-container/MeasuredContainer.css.js +0 -4
- package/esm/measured-container/MeasuredContainer.css.js.map +0 -1
- package/esm/measured-container/MeasuredContainer.js +0 -70
- package/esm/measured-container/MeasuredContainer.js.map +0 -1
- package/esm/measured-container/useMeasuredContainer.js +0 -164
- package/esm/measured-container/useMeasuredContainer.js.map +0 -1
- package/esm/modal-provider/ModalProvider.js +0 -140
- package/esm/modal-provider/ModalProvider.js.map +0 -1
- package/esm/overflow-container/OverflowContainer.css.js +0 -4
- package/esm/overflow-container/OverflowContainer.css.js.map +0 -1
- package/esm/overflow-container/OverflowContainer.js +0 -141
- package/esm/overflow-container/OverflowContainer.js.map +0 -1
- package/esm/overflow-container/overflow-utils.js +0 -272
- package/esm/overflow-container/overflow-utils.js.map +0 -1
- package/esm/overflow-container/useOverflowContainer.js +0 -141
- package/esm/overflow-container/useOverflowContainer.js.map +0 -1
- package/esm/price-ticker/PriceTicker.css.js +0 -4
- package/esm/price-ticker/PriceTicker.css.js.map +0 -1
- package/esm/price-ticker/PriceTicker.js +0 -48
- package/esm/price-ticker/PriceTicker.js.map +0 -1
- package/esm/prompt/Prompt.css.js +0 -4
- package/esm/prompt/Prompt.css.js.map +0 -1
- package/esm/prompt/Prompt.js +0 -140
- package/esm/prompt/Prompt.js.map +0 -1
- package/esm/sortable-list/SortableList.js +0 -34
- package/esm/sortable-list/SortableList.js.map +0 -1
- package/esm/split-button/SplitButton.css.js +0 -4
- package/esm/split-button/SplitButton.css.js.map +0 -1
- package/esm/split-button/SplitButton.js +0 -82
- package/esm/split-button/SplitButton.js.map +0 -1
- package/esm/split-button/SplitStateButton.css.js +0 -4
- package/esm/split-button/SplitStateButton.css.js.map +0 -1
- package/esm/split-button/SplitStateButton.js +0 -29
- package/esm/split-button/SplitStateButton.js.map +0 -1
- package/esm/split-button/useSplitButton.js +0 -82
- package/esm/split-button/useSplitButton.js.map +0 -1
- package/esm/table-search/SearchCell.css.js +0 -4
- package/esm/table-search/SearchCell.css.js.map +0 -1
- package/esm/table-search/SearchCell.js +0 -30
- package/esm/table-search/SearchCell.js.map +0 -1
- package/esm/table-search/TableSearch.css.js +0 -4
- package/esm/table-search/TableSearch.css.js.map +0 -1
- package/esm/table-search/TableSearch.js +0 -87
- package/esm/table-search/TableSearch.js.map +0 -1
- package/esm/table-search/useTableSearch.js +0 -37
- package/esm/table-search/useTableSearch.js.map +0 -1
- package/esm/tabs-next/TabBar.css.js +0 -4
- package/esm/tabs-next/TabBar.css.js.map +0 -1
- package/esm/tabs-next/TabBar.js +0 -39
- package/esm/tabs-next/TabBar.js.map +0 -1
- package/esm/tabs-next/TabListNext.css.js +0 -4
- package/esm/tabs-next/TabListNext.css.js.map +0 -1
- package/esm/tabs-next/TabListNext.js +0 -122
- package/esm/tabs-next/TabListNext.js.map +0 -1
- package/esm/tabs-next/TabNext.css.js +0 -4
- package/esm/tabs-next/TabNext.css.js.map +0 -1
- package/esm/tabs-next/TabNext.js +0 -108
- package/esm/tabs-next/TabNext.js.map +0 -1
- package/esm/tabs-next/TabNextAction.js +0 -33
- package/esm/tabs-next/TabNextAction.js.map +0 -1
- package/esm/tabs-next/TabNextContext.js +0 -20
- package/esm/tabs-next/TabNextContext.js.map +0 -1
- package/esm/tabs-next/TabNextPanel.css.js +0 -4
- package/esm/tabs-next/TabNextPanel.css.js.map +0 -1
- package/esm/tabs-next/TabNextPanel.js +0 -75
- package/esm/tabs-next/TabNextPanel.js.map +0 -1
- package/esm/tabs-next/TabNextTrigger.css.js +0 -4
- package/esm/tabs-next/TabNextTrigger.css.js.map +0 -1
- package/esm/tabs-next/TabNextTrigger.js +0 -72
- package/esm/tabs-next/TabNextTrigger.js.map +0 -1
- package/esm/tabs-next/TabOverflowList.css.js +0 -4
- package/esm/tabs-next/TabOverflowList.css.js.map +0 -1
- package/esm/tabs-next/TabOverflowList.js +0 -128
- package/esm/tabs-next/TabOverflowList.js.map +0 -1
- package/esm/tabs-next/TabsNext.js +0 -172
- package/esm/tabs-next/TabsNext.js.map +0 -1
- package/esm/tabs-next/TabsNextContext.js +0 -30
- package/esm/tabs-next/TabsNextContext.js.map +0 -1
- package/esm/tabs-next/hooks/useCollection.js +0 -89
- package/esm/tabs-next/hooks/useCollection.js.map +0 -1
- package/esm/tabs-next/hooks/useFocusOutside.js +0 -22
- package/esm/tabs-next/hooks/useFocusOutside.js.map +0 -1
- package/esm/tabs-next/hooks/useOverflow.js +0 -136
- package/esm/tabs-next/hooks/useOverflow.js.map +0 -1
- package/esm/tabstrip/Tab.css.js +0 -4
- package/esm/tabstrip/Tab.css.js.map +0 -1
- package/esm/tabstrip/Tab.js +0 -151
- package/esm/tabstrip/Tab.js.map +0 -1
- package/esm/tabstrip/TabMenu.css.js +0 -4
- package/esm/tabstrip/TabMenu.css.js.map +0 -1
- package/esm/tabstrip/TabMenu.js +0 -70
- package/esm/tabstrip/TabMenu.js.map +0 -1
- package/esm/tabstrip/TabMenuOptions.js +0 -16
- package/esm/tabstrip/TabMenuOptions.js.map +0 -1
- package/esm/tabstrip/Tabstrip.css.js +0 -4
- package/esm/tabstrip/Tabstrip.css.js.map +0 -1
- package/esm/tabstrip/Tabstrip.js +0 -158
- package/esm/tabstrip/Tabstrip.js.map +0 -1
- package/esm/tabstrip/tabstrip-dom-utils.js +0 -16
- package/esm/tabstrip/tabstrip-dom-utils.js.map +0 -1
- package/esm/tabstrip/useAnimatedSelectionThumb.js +0 -83
- package/esm/tabstrip/useAnimatedSelectionThumb.js.map +0 -1
- package/esm/tabstrip/useKeyboardNavigation.js +0 -245
- package/esm/tabstrip/useKeyboardNavigation.js.map +0 -1
- package/esm/tabstrip/useSelection.js +0 -58
- package/esm/tabstrip/useSelection.js.map +0 -1
- package/esm/tabstrip/useTabstrip.js +0 -231
- package/esm/tabstrip/useTabstrip.js.map +0 -1
- package/esm/time-input/MaskedInput.js +0 -375
- package/esm/time-input/MaskedInput.js.map +0 -1
- package/esm/time-input/TimeInput.css.js +0 -4
- package/esm/time-input/TimeInput.css.js.map +0 -1
- package/esm/time-input/TimeInput.js +0 -54
- package/esm/time-input/TimeInput.js.map +0 -1
- package/esm/time-input/useTimeInput.js +0 -119
- package/esm/time-input/useTimeInput.js.map +0 -1
- package/esm/toolbar/Toolbar.css.js +0 -4
- package/esm/toolbar/Toolbar.css.js.map +0 -1
- package/esm/toolbar/Toolbar.js +0 -88
- package/esm/toolbar/Toolbar.js.map +0 -1
- package/esm/toolbar/toolbar-dom-utils.js +0 -15
- package/esm/toolbar/toolbar-dom-utils.js.map +0 -1
- package/esm/toolbar/useKeyboardNavigation.js +0 -303
- package/esm/toolbar/useKeyboardNavigation.js.map +0 -1
- package/esm/toolbar/useSelection.js +0 -91
- package/esm/toolbar/useSelection.js.map +0 -1
- package/esm/toolbar/useToolbar.js +0 -98
- package/esm/toolbar/useToolbar.js.map +0 -1
- package/esm/utils/escapeRegExp.js +0 -7
- package/esm/utils/escapeRegExp.js.map +0 -1
- package/esm/utils/forwardCallbackProps.js +0 -20
- package/esm/utils/forwardCallbackProps.js.map +0 -1
- package/esm/utils/isOverflowElement.js +0 -6
- package/esm/utils/isOverflowElement.js.map +0 -1
- package/esm/utils/isPlainObject.js +0 -4
- package/esm/utils/isPlainObject.js.map +0 -1
- package/esm/vuu-date-picker/VuuDatePicker.js +0 -120
- package/esm/vuu-date-picker/VuuDatePicker.js.map +0 -1
- package/esm/vuu-input/VuuInput.css.js +0 -4
- package/esm/vuu-input/VuuInput.css.js.map +0 -1
- package/esm/vuu-input/VuuInput.js +0 -100
- package/esm/vuu-input/VuuInput.js.map +0 -1
- package/esm/vuu-time-picker/VuuTimePicker.css.js +0 -4
- package/esm/vuu-time-picker/VuuTimePicker.css.js.map +0 -1
- package/esm/vuu-time-picker/VuuTimePicker.js +0 -35
- package/esm/vuu-time-picker/VuuTimePicker.js.map +0 -1
- package/esm/vuu-typeahead-input/VuuTypeaheadInput.css.js +0 -4
- package/esm/vuu-typeahead-input/VuuTypeaheadInput.css.js.map +0 -1
- package/esm/vuu-typeahead-input/VuuTypeaheadInput.js +0 -78
- package/esm/vuu-typeahead-input/VuuTypeaheadInput.js.map +0 -1
- package/esm/vuu-typeahead-input/useVuuTypeaheadInput.js +0 -174
- package/esm/vuu-typeahead-input/useVuuTypeaheadInput.js.map +0 -1
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
import { isSameMonth, isSameDay, isToday, getLocalTimeZone } 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
|
-
|
|
7
|
-
function useCalendarDay({ date, month }, ref) {
|
|
8
|
-
const {
|
|
9
|
-
state: { focusedDate, hideOutOfRangeDates, calendarFocused },
|
|
10
|
-
helpers: {
|
|
11
|
-
isDayUnselectable,
|
|
12
|
-
isDayHighlighted,
|
|
13
|
-
isDayDisabled,
|
|
14
|
-
isOutsideAllowedMonths
|
|
15
|
-
}
|
|
16
|
-
} = useCalendarContext();
|
|
17
|
-
const selectionManager = useSelectionDay({ date });
|
|
18
|
-
const focusManager = useFocusManagement({ date });
|
|
19
|
-
const handleClick = (event) => {
|
|
20
|
-
selectionManager?.handleClick(event);
|
|
21
|
-
focusManager.handleClick(event);
|
|
22
|
-
};
|
|
23
|
-
const handleKeyDown = (event) => {
|
|
24
|
-
focusManager.handleKeyDown(event);
|
|
25
|
-
selectionManager?.handleKeyDown(event);
|
|
26
|
-
};
|
|
27
|
-
const handleFocus = (event) => {
|
|
28
|
-
focusManager.handleFocus(event);
|
|
29
|
-
};
|
|
30
|
-
const handleMouseOver = (event) => {
|
|
31
|
-
selectionManager.handleMouseOver?.(event);
|
|
32
|
-
};
|
|
33
|
-
const eventHandlers = {
|
|
34
|
-
onClick: handleClick,
|
|
35
|
-
onKeyDown: handleKeyDown,
|
|
36
|
-
onFocus: handleFocus,
|
|
37
|
-
onMouseOver: handleMouseOver
|
|
38
|
-
};
|
|
39
|
-
const outOfRange = !isSameMonth(date, month);
|
|
40
|
-
const focused = isSameDay(date, focusedDate) && calendarFocused && !outOfRange;
|
|
41
|
-
const tabIndex = isSameDay(date, focusedDate) && !outOfRange ? 0 : -1;
|
|
42
|
-
const today = isToday(date, getLocalTimeZone());
|
|
43
|
-
const unselectableReason = isDayUnselectable(date);
|
|
44
|
-
const highlightedReason = isDayHighlighted(date);
|
|
45
|
-
const disabled = isDayDisabled(date) || outOfRange && isOutsideAllowedMonths(date);
|
|
46
|
-
const unselectable = Boolean(unselectableReason);
|
|
47
|
-
const highlighted = Boolean(highlightedReason);
|
|
48
|
-
const hidden = hideOutOfRangeDates && outOfRange;
|
|
49
|
-
useEffect(() => {
|
|
50
|
-
if (focused) {
|
|
51
|
-
ref.current?.focus({ preventScroll: true });
|
|
52
|
-
}
|
|
53
|
-
}, [ref, focused]);
|
|
54
|
-
return {
|
|
55
|
-
status: {
|
|
56
|
-
outOfRange,
|
|
57
|
-
today,
|
|
58
|
-
unselectable,
|
|
59
|
-
focused,
|
|
60
|
-
hidden,
|
|
61
|
-
disabled,
|
|
62
|
-
highlighted,
|
|
63
|
-
...selectionManager.status
|
|
64
|
-
},
|
|
65
|
-
dayProps: {
|
|
66
|
-
tabIndex,
|
|
67
|
-
"aria-current": today ? "date" : void 0,
|
|
68
|
-
"aria-hidden": hidden ? "true" : void 0,
|
|
69
|
-
...eventHandlers,
|
|
70
|
-
...selectionManager.dayProps
|
|
71
|
-
},
|
|
72
|
-
unselectableReason,
|
|
73
|
-
highlightedReason
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
export { useCalendarDay };
|
|
78
|
-
//# sourceMappingURL=useCalendarDay.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useCalendarDay.js","sources":["../../../../packages/vuu-ui-controls/src/calendar/useCalendarDay.ts"],"sourcesContent":["import {\n type DateValue,\n getLocalTimeZone,\n isSameDay,\n isSameMonth,\n isToday,\n} from \"@internationalized/date\";\nimport {\n type ComponentPropsWithoutRef,\n type FocusEventHandler,\n type KeyboardEventHandler,\n type MouseEventHandler,\n type RefObject,\n useEffect,\n} from \"react\";\nimport { useCalendarContext } from \"./internal/CalendarContext\";\nimport { useFocusManagement } from \"./internal/useFocusManagement\";\nimport { useSelectionDay } from \"./useSelection\";\n\nexport interface DayStatus {\n outOfRange?: boolean;\n selected?: boolean;\n today?: boolean;\n unselectable?: string | false;\n highlighted?: string | false;\n focused?: boolean;\n disabled?: boolean;\n hidden?: boolean;\n}\n\nexport interface useCalendarDayProps {\n date: DateValue;\n month: DateValue;\n}\n\nexport function useCalendarDay(\n { date, month }: useCalendarDayProps,\n ref: RefObject<HTMLElement | null>,\n) {\n const {\n state: { focusedDate, hideOutOfRangeDates, calendarFocused },\n helpers: {\n isDayUnselectable,\n isDayHighlighted,\n isDayDisabled,\n isOutsideAllowedMonths,\n },\n } = useCalendarContext();\n const selectionManager = useSelectionDay({ date });\n const focusManager = useFocusManagement({ date });\n\n const handleClick: MouseEventHandler<HTMLButtonElement> = (event) => {\n selectionManager?.handleClick(event);\n focusManager.handleClick(event);\n };\n\n const handleKeyDown: KeyboardEventHandler<HTMLButtonElement> = (event) => {\n focusManager.handleKeyDown(event);\n selectionManager?.handleKeyDown(event);\n };\n\n const handleFocus: FocusEventHandler<HTMLButtonElement> = (event) => {\n focusManager.handleFocus(event);\n };\n\n const handleMouseOver: MouseEventHandler<HTMLButtonElement> = (event) => {\n selectionManager.handleMouseOver?.(event);\n };\n\n const eventHandlers = {\n onClick: handleClick,\n onKeyDown: handleKeyDown,\n onFocus: handleFocus,\n onMouseOver: handleMouseOver,\n };\n\n const outOfRange = !isSameMonth(date, month);\n const focused =\n isSameDay(date, focusedDate) && calendarFocused && !outOfRange;\n const tabIndex = isSameDay(date, focusedDate) && !outOfRange ? 0 : -1;\n const today = isToday(date, getLocalTimeZone());\n\n const unselectableReason = isDayUnselectable(date);\n const highlightedReason = isDayHighlighted(date);\n\n const disabled =\n isDayDisabled(date) || (outOfRange && isOutsideAllowedMonths(date));\n const unselectable = Boolean(unselectableReason);\n const highlighted = Boolean(highlightedReason);\n const hidden = hideOutOfRangeDates && outOfRange;\n\n useEffect(() => {\n if (focused) {\n ref.current?.focus({ preventScroll: true });\n }\n }, [ref, focused]);\n\n return {\n status: {\n outOfRange,\n today,\n unselectable,\n focused,\n hidden,\n disabled,\n highlighted,\n ...selectionManager.status,\n } as DayStatus,\n dayProps: {\n tabIndex,\n \"aria-current\": today ? \"date\" : undefined,\n \"aria-hidden\": hidden ? \"true\" : undefined,\n ...eventHandlers,\n ...selectionManager.dayProps,\n } as ComponentPropsWithoutRef<\"button\">,\n unselectableReason,\n highlightedReason,\n };\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,243 +0,0 @@
|
|
|
1
|
-
import { isSameDay, CalendarDate } from '@internationalized/date';
|
|
2
|
-
import { makePrefixer, useControlled } from '@salt-ds/core';
|
|
3
|
-
import { clsx } from 'clsx';
|
|
4
|
-
import { isPlainObject } from '../utils/isPlainObject.js';
|
|
5
|
-
import { useCalendarContext } from './internal/CalendarContext.js';
|
|
6
|
-
|
|
7
|
-
function addOrRemoveFromArray(array, item) {
|
|
8
|
-
if (Array.isArray(array)) {
|
|
9
|
-
if (array.find((element) => isSameDay(element, item))) {
|
|
10
|
-
return array.filter((element) => !isSameDay(element, item));
|
|
11
|
-
}
|
|
12
|
-
return array.concat(item);
|
|
13
|
-
}
|
|
14
|
-
return [item];
|
|
15
|
-
}
|
|
16
|
-
const defaultOffset = (date) => date;
|
|
17
|
-
function isRangeOrOffsetSelectionValue(selectionValue) {
|
|
18
|
-
return selectionValue != null && isPlainObject(selectionValue);
|
|
19
|
-
}
|
|
20
|
-
function isRangeOrOffsetSelectionWithStartDate(selectionValue) {
|
|
21
|
-
return isRangeOrOffsetSelectionValue(selectionValue) && Object.prototype.hasOwnProperty.call(selectionValue, "startDate");
|
|
22
|
-
}
|
|
23
|
-
const withBaseName = makePrefixer("saltCalendarDay");
|
|
24
|
-
function useSelectionCalendar(props) {
|
|
25
|
-
const {
|
|
26
|
-
hoveredDate: hoveredDateProp,
|
|
27
|
-
selectedDate: selectedDateProp,
|
|
28
|
-
defaultSelectedDate,
|
|
29
|
-
// onSelectedDateChange,
|
|
30
|
-
onHoveredDateChange,
|
|
31
|
-
isDaySelectable,
|
|
32
|
-
selectionVariant
|
|
33
|
-
// startDateOffset,
|
|
34
|
-
// endDateOffset,
|
|
35
|
-
} = props;
|
|
36
|
-
const [selectedDate, setSelectedDateState] = useControlled({
|
|
37
|
-
controlled: selectedDateProp,
|
|
38
|
-
default: defaultSelectedDate,
|
|
39
|
-
name: "Calendar",
|
|
40
|
-
state: "selectedDate"
|
|
41
|
-
});
|
|
42
|
-
const getStartDateOffset = (date) => {
|
|
43
|
-
if (props.selectionVariant === "offset" && props.startDateOffset) {
|
|
44
|
-
return props.startDateOffset(date);
|
|
45
|
-
}
|
|
46
|
-
return defaultOffset(date);
|
|
47
|
-
};
|
|
48
|
-
const getEndDateOffset = (date) => {
|
|
49
|
-
if (props.selectionVariant === "offset" && props.endDateOffset) {
|
|
50
|
-
return props.endDateOffset(date);
|
|
51
|
-
}
|
|
52
|
-
return defaultOffset(date);
|
|
53
|
-
};
|
|
54
|
-
const setSelectedDate = (event, newSelectedDate) => {
|
|
55
|
-
if (isDaySelectable(newSelectedDate)) {
|
|
56
|
-
switch (props.selectionVariant) {
|
|
57
|
-
case "default":
|
|
58
|
-
setSelectedDateState(newSelectedDate);
|
|
59
|
-
props.onSelectedDateChange?.(event, newSelectedDate);
|
|
60
|
-
break;
|
|
61
|
-
case "multiselect": {
|
|
62
|
-
const newDates = addOrRemoveFromArray(
|
|
63
|
-
selectedDate ?? [],
|
|
64
|
-
newSelectedDate
|
|
65
|
-
);
|
|
66
|
-
setSelectedDateState(newDates);
|
|
67
|
-
props.onSelectedDateChange?.(event, newDates);
|
|
68
|
-
break;
|
|
69
|
-
}
|
|
70
|
-
case "range": {
|
|
71
|
-
let base = selectedDate;
|
|
72
|
-
if (isRangeOrOffsetSelectionValue(base)) {
|
|
73
|
-
if (base?.startDate && base?.endDate) {
|
|
74
|
-
base = { startDate: newSelectedDate };
|
|
75
|
-
} else if (base?.startDate && newSelectedDate.compare(base.startDate) > 0) {
|
|
76
|
-
base = { ...base, endDate: newSelectedDate };
|
|
77
|
-
} else {
|
|
78
|
-
base = { startDate: newSelectedDate };
|
|
79
|
-
}
|
|
80
|
-
} else {
|
|
81
|
-
base = { startDate: newSelectedDate };
|
|
82
|
-
}
|
|
83
|
-
setSelectedDateState(base);
|
|
84
|
-
props.onSelectedDateChange?.(event, base);
|
|
85
|
-
break;
|
|
86
|
-
}
|
|
87
|
-
case "offset": {
|
|
88
|
-
const newRange = {
|
|
89
|
-
startDate: getStartDateOffset(newSelectedDate),
|
|
90
|
-
endDate: getEndDateOffset(newSelectedDate)
|
|
91
|
-
};
|
|
92
|
-
setSelectedDateState(newRange);
|
|
93
|
-
props.onSelectedDateChange?.(event, newRange);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
};
|
|
98
|
-
const isSelected = (date) => {
|
|
99
|
-
switch (selectionVariant) {
|
|
100
|
-
case "default":
|
|
101
|
-
return selectedDate instanceof CalendarDate && isSameDay(selectedDate, date);
|
|
102
|
-
case "multiselect":
|
|
103
|
-
return Array.isArray(selectedDate) && !!selectedDate.find((element) => isSameDay(element, date));
|
|
104
|
-
default:
|
|
105
|
-
return false;
|
|
106
|
-
}
|
|
107
|
-
};
|
|
108
|
-
const [hoveredDate, setHoveredDateState] = useControlled({
|
|
109
|
-
controlled: hoveredDateProp,
|
|
110
|
-
default: void 0,
|
|
111
|
-
name: "Calendar",
|
|
112
|
-
state: "hoveredDate"
|
|
113
|
-
});
|
|
114
|
-
const setHoveredDate = (event, date) => {
|
|
115
|
-
setHoveredDateState(date);
|
|
116
|
-
onHoveredDateChange?.(event, date);
|
|
117
|
-
};
|
|
118
|
-
const isHovered = (date) => {
|
|
119
|
-
return !!hoveredDate && isSameDay(date, hoveredDate);
|
|
120
|
-
};
|
|
121
|
-
const isSelectedSpan = (date) => {
|
|
122
|
-
if ((selectionVariant === "range" || selectionVariant === "offset") && isRangeOrOffsetSelectionValue(selectedDate) && selectedDate?.startDate && selectedDate?.endDate) {
|
|
123
|
-
return date.compare(selectedDate.startDate) > 0 && date.compare(selectedDate.endDate) < 0;
|
|
124
|
-
}
|
|
125
|
-
return false;
|
|
126
|
-
};
|
|
127
|
-
const isHoveredSpan = (date) => {
|
|
128
|
-
if ((selectionVariant === "range" || selectionVariant === "offset") && isRangeOrOffsetSelectionValue(selectedDate) && selectedDate.startDate && !selectedDate.endDate && hoveredDate) {
|
|
129
|
-
const isForwardRange = hoveredDate.compare(selectedDate.startDate) > 0 && (date.compare(selectedDate.startDate) > 0 && date.compare(hoveredDate) < 0 || isSameDay(date, hoveredDate));
|
|
130
|
-
const isValidDayHovered = isDaySelectable(hoveredDate);
|
|
131
|
-
return isForwardRange && isValidDayHovered;
|
|
132
|
-
}
|
|
133
|
-
return false;
|
|
134
|
-
};
|
|
135
|
-
const isSelectedStart = (date) => {
|
|
136
|
-
if ((selectionVariant === "range" || selectionVariant === "offset") && isRangeOrOffsetSelectionValue(selectedDate) && selectedDate.startDate) {
|
|
137
|
-
return isSameDay(selectedDate.startDate, date);
|
|
138
|
-
}
|
|
139
|
-
return false;
|
|
140
|
-
};
|
|
141
|
-
const isSelectedEnd = (date) => {
|
|
142
|
-
if ((selectionVariant === "range" || selectionVariant === "offset") && isRangeOrOffsetSelectionValue(selectedDate) && selectedDate.endDate) {
|
|
143
|
-
return isSameDay(selectedDate.endDate, date);
|
|
144
|
-
}
|
|
145
|
-
return false;
|
|
146
|
-
};
|
|
147
|
-
const isHoveredOffset = (date) => {
|
|
148
|
-
if (hoveredDate && selectionVariant === "offset") {
|
|
149
|
-
const startDate = getStartDateOffset(hoveredDate);
|
|
150
|
-
const endDate = getEndDateOffset(hoveredDate);
|
|
151
|
-
return date.compare(startDate) >= 0 && date.compare(endDate) <= 0 && isDaySelectable(date);
|
|
152
|
-
}
|
|
153
|
-
return false;
|
|
154
|
-
};
|
|
155
|
-
return {
|
|
156
|
-
state: {
|
|
157
|
-
selectedDate,
|
|
158
|
-
hoveredDate
|
|
159
|
-
},
|
|
160
|
-
helpers: {
|
|
161
|
-
setSelectedDate,
|
|
162
|
-
isSelected,
|
|
163
|
-
setHoveredDate,
|
|
164
|
-
isHovered,
|
|
165
|
-
isSelectedSpan,
|
|
166
|
-
isHoveredSpan,
|
|
167
|
-
isSelectedStart,
|
|
168
|
-
isSelectedEnd,
|
|
169
|
-
isHoveredOffset
|
|
170
|
-
}
|
|
171
|
-
};
|
|
172
|
-
}
|
|
173
|
-
function useSelectionDay({ date }) {
|
|
174
|
-
const {
|
|
175
|
-
helpers: {
|
|
176
|
-
setSelectedDate,
|
|
177
|
-
isSelected,
|
|
178
|
-
setHoveredDate,
|
|
179
|
-
isSelectedSpan,
|
|
180
|
-
isHoveredSpan,
|
|
181
|
-
isSelectedStart,
|
|
182
|
-
isSelectedEnd,
|
|
183
|
-
isHovered,
|
|
184
|
-
isHoveredOffset,
|
|
185
|
-
isDayUnselectable
|
|
186
|
-
}
|
|
187
|
-
} = useCalendarContext();
|
|
188
|
-
const handleClick = (event) => {
|
|
189
|
-
setSelectedDate(event, date);
|
|
190
|
-
};
|
|
191
|
-
const handleKeyDown = (event) => {
|
|
192
|
-
switch (event.key) {
|
|
193
|
-
case "Space":
|
|
194
|
-
case "Enter":
|
|
195
|
-
setSelectedDate(event, date);
|
|
196
|
-
event.preventDefault();
|
|
197
|
-
}
|
|
198
|
-
};
|
|
199
|
-
const handleMouseOver = (event) => {
|
|
200
|
-
setHoveredDate(event, date);
|
|
201
|
-
};
|
|
202
|
-
const handleMouseLeave = (event) => {
|
|
203
|
-
setHoveredDate(event, null);
|
|
204
|
-
};
|
|
205
|
-
const selected = isSelected(date);
|
|
206
|
-
const selectedSpan = isSelectedSpan(date);
|
|
207
|
-
const hoveredSpan = isHoveredSpan(date);
|
|
208
|
-
const selectedStart = isSelectedStart(date);
|
|
209
|
-
const selectedEnd = isSelectedEnd(date);
|
|
210
|
-
const hovered = isHovered(date);
|
|
211
|
-
const hoveredOffset = isHoveredOffset(date);
|
|
212
|
-
return {
|
|
213
|
-
handleClick,
|
|
214
|
-
handleKeyDown,
|
|
215
|
-
handleMouseOver,
|
|
216
|
-
handleMouseLeave,
|
|
217
|
-
status: {
|
|
218
|
-
selected,
|
|
219
|
-
selectedSpan,
|
|
220
|
-
hoveredSpan,
|
|
221
|
-
selectedStart,
|
|
222
|
-
selectedEnd,
|
|
223
|
-
hovered,
|
|
224
|
-
hoveredOffset
|
|
225
|
-
},
|
|
226
|
-
dayProps: {
|
|
227
|
-
className: clsx({
|
|
228
|
-
[withBaseName("selected")]: selected,
|
|
229
|
-
[withBaseName("selectedSpan")]: selectedSpan,
|
|
230
|
-
[withBaseName("hoveredSpan")]: hoveredSpan,
|
|
231
|
-
[withBaseName("selectedStart")]: selectedStart,
|
|
232
|
-
[withBaseName("selectedEnd")]: selectedEnd,
|
|
233
|
-
[withBaseName("hovered")]: hovered,
|
|
234
|
-
[withBaseName("hoveredOffset")]: hoveredOffset
|
|
235
|
-
}),
|
|
236
|
-
"aria-pressed": selected || selectedEnd || selectedStart || selectedSpan ? "true" : void 0,
|
|
237
|
-
"aria-disabled": isDayUnselectable(date) ? "true" : void 0
|
|
238
|
-
}
|
|
239
|
-
};
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
export { isRangeOrOffsetSelectionValue, isRangeOrOffsetSelectionWithStartDate, useSelectionCalendar, useSelectionDay };
|
|
243
|
-
//# sourceMappingURL=useSelection.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useSelection.js","sources":["../../../../packages/vuu-ui-controls/src/calendar/useSelection.ts"],"sourcesContent":["import {\n CalendarDate,\n type DateValue,\n isSameDay,\n} from \"@internationalized/date\";\nimport { makePrefixer, useControlled } from \"@salt-ds/core\";\nimport { clsx } from \"clsx\";\nimport type {\n KeyboardEventHandler,\n MouseEventHandler,\n SyntheticEvent,\n} from \"react\";\nimport { isPlainObject } from \"../utils\";\nimport { useCalendarContext } from \"./internal/CalendarContext\";\n\ninterface BaseUseSelectionCalendarProps<SelectionVariantType> {\n hoveredDate?: DateValue | null;\n selectedDate?: SelectionVariantType | null;\n defaultSelectedDate?: SelectionVariantType;\n onSelectedDateChange?: (\n event: SyntheticEvent,\n selectedDate: SelectionVariantType,\n ) => void;\n isDaySelectable: (date?: DateValue) => boolean;\n onHoveredDateChange?: (\n event: SyntheticEvent,\n hoveredDate: DateValue | null,\n ) => void;\n}\n\nexport type SingleSelectionValueType = DateValue;\ntype MultiSelectionValueType = DateValue[];\nexport type RangeSelectionValueType = {\n startDate?: DateValue;\n endDate?: DateValue;\n};\ntype OffsetSelectionValueType = {\n startDate?: DateValue;\n endDate?: DateValue;\n};\n\ntype AllSelectionValueType =\n | SingleSelectionValueType\n | MultiSelectionValueType\n | RangeSelectionValueType\n | OffsetSelectionValueType\n | null;\n\nexport interface UseOffsetSelectionCalendarProps\n extends Omit<\n BaseUseSelectionCalendarProps<OffsetSelectionValueType>,\n \"startDateOffset\" | \"endDateOffset\"\n > {\n selectionVariant: \"offset\";\n startDateOffset?: (date: DateValue) => DateValue;\n endDateOffset?: (date: DateValue) => DateValue;\n}\n\nexport interface UseRangeSelectionCalendarProps\n extends BaseUseSelectionCalendarProps<RangeSelectionValueType> {\n selectionVariant: \"range\";\n}\n\nexport interface UseMultiSelectionCalendarProps\n extends BaseUseSelectionCalendarProps<MultiSelectionValueType> {\n selectionVariant: \"multiselect\";\n}\n\nexport interface UseSingleSelectionCalendarProps\n extends BaseUseSelectionCalendarProps<SingleSelectionValueType> {\n selectionVariant: \"default\";\n}\n\nexport type useSelectionCalendarProps =\n | UseSingleSelectionCalendarProps\n | UseMultiSelectionCalendarProps\n | UseRangeSelectionCalendarProps\n | UseOffsetSelectionCalendarProps;\n\nfunction addOrRemoveFromArray(\n array: AllSelectionValueType | null,\n item: DateValue,\n) {\n if (Array.isArray(array)) {\n if (array.find((element) => isSameDay(element, item))) {\n return array.filter((element) => !isSameDay(element, item));\n }\n return array.concat(item);\n }\n return [item];\n}\n\nconst defaultOffset = (date: DateValue) => date;\n\nexport function isRangeOrOffsetSelectionValue(\n selectionValue?: AllSelectionValueType,\n): selectionValue is RangeSelectionValueType | OffsetSelectionValueType {\n return selectionValue != null && isPlainObject(selectionValue);\n}\n\nexport function isRangeOrOffsetSelectionWithStartDate(\n selectionValue?: AllSelectionValueType,\n): selectionValue is RangeSelectionValueType | OffsetSelectionValueType {\n return (\n isRangeOrOffsetSelectionValue(selectionValue) &&\n Object.prototype.hasOwnProperty.call(selectionValue, \"startDate\")\n );\n}\n\nconst withBaseName = makePrefixer(\"saltCalendarDay\");\n\nexport function useSelectionCalendar(props: useSelectionCalendarProps) {\n const {\n hoveredDate: hoveredDateProp,\n selectedDate: selectedDateProp,\n defaultSelectedDate,\n // onSelectedDateChange,\n onHoveredDateChange,\n isDaySelectable,\n selectionVariant,\n // startDateOffset,\n // endDateOffset,\n } = props;\n const [selectedDate, setSelectedDateState] = useControlled({\n controlled: selectedDateProp,\n default: defaultSelectedDate,\n name: \"Calendar\",\n state: \"selectedDate\",\n });\n\n const getStartDateOffset = (date: DateValue) => {\n if (props.selectionVariant === \"offset\" && props.startDateOffset) {\n return props.startDateOffset(date);\n }\n return defaultOffset(date);\n };\n\n const getEndDateOffset = (date: DateValue) => {\n if (props.selectionVariant === \"offset\" && props.endDateOffset) {\n return props.endDateOffset(date);\n }\n return defaultOffset(date);\n };\n\n const setSelectedDate = (\n event: SyntheticEvent<HTMLButtonElement>,\n newSelectedDate: DateValue,\n ) => {\n if (isDaySelectable(newSelectedDate)) {\n switch (props.selectionVariant) {\n case \"default\":\n setSelectedDateState(newSelectedDate);\n props.onSelectedDateChange?.(event, newSelectedDate);\n break;\n case \"multiselect\": {\n const newDates = addOrRemoveFromArray(\n selectedDate ?? [],\n newSelectedDate,\n );\n setSelectedDateState(newDates);\n props.onSelectedDateChange?.(event, newDates);\n break;\n }\n case \"range\": {\n let base = selectedDate;\n if (isRangeOrOffsetSelectionValue(base)) {\n if (base?.startDate && base?.endDate) {\n base = { startDate: newSelectedDate };\n } else if (\n base?.startDate &&\n newSelectedDate.compare(base.startDate) > 0\n ) {\n base = { ...base, endDate: newSelectedDate };\n } else {\n base = { startDate: newSelectedDate };\n }\n } else {\n base = { startDate: newSelectedDate };\n }\n setSelectedDateState(base);\n props.onSelectedDateChange?.(event, base);\n break;\n }\n case \"offset\": {\n const newRange = {\n startDate: getStartDateOffset(newSelectedDate),\n endDate: getEndDateOffset(newSelectedDate),\n };\n setSelectedDateState(newRange);\n props.onSelectedDateChange?.(event, newRange);\n }\n }\n }\n };\n\n const isSelected = (date: DateValue) => {\n switch (selectionVariant) {\n case \"default\":\n return (\n selectedDate instanceof CalendarDate && isSameDay(selectedDate, date)\n );\n case \"multiselect\":\n return (\n Array.isArray(selectedDate) &&\n !!selectedDate.find((element) => isSameDay(element, date))\n );\n default:\n return false;\n }\n };\n\n const [hoveredDate, setHoveredDateState] = useControlled({\n controlled: hoveredDateProp,\n default: undefined,\n name: \"Calendar\",\n state: \"hoveredDate\",\n });\n\n const setHoveredDate = (event: SyntheticEvent, date: DateValue | null) => {\n setHoveredDateState(date);\n onHoveredDateChange?.(event, date);\n };\n\n const isHovered = (date: DateValue) => {\n return !!hoveredDate && isSameDay(date, hoveredDate);\n };\n\n const isSelectedSpan = (date: DateValue) => {\n if (\n (selectionVariant === \"range\" || selectionVariant === \"offset\") &&\n isRangeOrOffsetSelectionValue(selectedDate) &&\n selectedDate?.startDate &&\n selectedDate?.endDate\n ) {\n return (\n date.compare(selectedDate.startDate) > 0 &&\n date.compare(selectedDate.endDate) < 0\n );\n }\n return false;\n };\n const isHoveredSpan = (date: DateValue) => {\n if (\n (selectionVariant === \"range\" || selectionVariant === \"offset\") &&\n isRangeOrOffsetSelectionValue(selectedDate) &&\n selectedDate.startDate &&\n !selectedDate.endDate &&\n hoveredDate\n ) {\n const isForwardRange =\n hoveredDate.compare(selectedDate.startDate) > 0 &&\n ((date.compare(selectedDate.startDate) > 0 &&\n date.compare(hoveredDate) < 0) ||\n isSameDay(date, hoveredDate));\n\n const isValidDayHovered = isDaySelectable(hoveredDate);\n\n return isForwardRange && isValidDayHovered;\n }\n return false;\n };\n\n const isSelectedStart = (date: DateValue) => {\n if (\n (selectionVariant === \"range\" || selectionVariant === \"offset\") &&\n isRangeOrOffsetSelectionValue(selectedDate) &&\n selectedDate.startDate\n ) {\n return isSameDay(selectedDate.startDate, date);\n }\n return false;\n };\n\n const isSelectedEnd = (date: DateValue) => {\n if (\n (selectionVariant === \"range\" || selectionVariant === \"offset\") &&\n isRangeOrOffsetSelectionValue(selectedDate) &&\n selectedDate.endDate\n ) {\n return isSameDay(selectedDate.endDate, date);\n }\n return false;\n };\n\n const isHoveredOffset = (date: DateValue) => {\n if (hoveredDate && selectionVariant === \"offset\") {\n const startDate = getStartDateOffset(hoveredDate);\n const endDate = getEndDateOffset(hoveredDate);\n\n return (\n date.compare(startDate) >= 0 &&\n date.compare(endDate) <= 0 &&\n isDaySelectable(date)\n );\n }\n\n return false;\n };\n\n return {\n state: {\n selectedDate,\n hoveredDate,\n },\n helpers: {\n setSelectedDate,\n isSelected,\n setHoveredDate,\n isHovered,\n isSelectedSpan,\n isHoveredSpan,\n isSelectedStart,\n isSelectedEnd,\n isHoveredOffset,\n },\n };\n}\n\nexport function useSelectionDay({ date }: { date: DateValue }) {\n const {\n helpers: {\n setSelectedDate,\n isSelected,\n setHoveredDate,\n isSelectedSpan,\n isHoveredSpan,\n isSelectedStart,\n isSelectedEnd,\n isHovered,\n isHoveredOffset,\n isDayUnselectable,\n },\n } = useCalendarContext();\n\n const handleClick: MouseEventHandler<HTMLButtonElement> = (event) => {\n setSelectedDate(event, date);\n };\n\n const handleKeyDown: KeyboardEventHandler<HTMLButtonElement> = (event) => {\n switch (event.key) {\n case \"Space\":\n case \"Enter\":\n setSelectedDate(event, date);\n event.preventDefault();\n }\n };\n\n const handleMouseOver: MouseEventHandler<HTMLButtonElement> = (event) => {\n setHoveredDate(event, date);\n };\n\n const handleMouseLeave: MouseEventHandler<HTMLButtonElement> = (event) => {\n setHoveredDate(event, null);\n };\n\n const selected = isSelected(date);\n const selectedSpan = isSelectedSpan(date);\n const hoveredSpan = isHoveredSpan(date);\n const selectedStart = isSelectedStart(date);\n const selectedEnd = isSelectedEnd(date);\n const hovered = isHovered(date);\n const hoveredOffset = isHoveredOffset(date);\n\n return {\n handleClick,\n handleKeyDown,\n handleMouseOver,\n handleMouseLeave,\n status: {\n selected,\n selectedSpan,\n hoveredSpan,\n selectedStart,\n selectedEnd,\n hovered,\n hoveredOffset,\n },\n dayProps: {\n className: clsx({\n [withBaseName(\"selected\")]: selected,\n [withBaseName(\"selectedSpan\")]: selectedSpan,\n [withBaseName(\"hoveredSpan\")]: hoveredSpan,\n [withBaseName(\"selectedStart\")]: selectedStart,\n [withBaseName(\"selectedEnd\")]: selectedEnd,\n [withBaseName(\"hovered\")]: hovered,\n [withBaseName(\"hoveredOffset\")]: hoveredOffset,\n }),\n \"aria-pressed\":\n selected || selectedEnd || selectedStart || selectedSpan\n ? \"true\"\n : undefined,\n \"aria-disabled\": isDayUnselectable(date) ? \"true\" : undefined,\n },\n };\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ColumnPicker.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
|
-
import { size, flip, useInteractions, useDismiss, useClick } from '@floating-ui/react';
|
|
3
|
-
import { useFloatingComponent, useIdMemo, useFloatingUI, useForkRef } from '@salt-ds/core';
|
|
4
|
-
import { useComponentCssInjection } from '@salt-ds/styles';
|
|
5
|
-
import { useWindow } from '@salt-ds/window';
|
|
6
|
-
import cx from 'clsx';
|
|
7
|
-
import { forwardRef, useState } from 'react';
|
|
8
|
-
import { IconButton } from '../icon-button/IconButton.js';
|
|
9
|
-
import { ColumnSearch } from './ColumnSearch.js';
|
|
10
|
-
import columnPickerCss from './ColumnPicker.css.js';
|
|
11
|
-
|
|
12
|
-
const classBase = "vuuColumnPicker";
|
|
13
|
-
const FloatingColumnSearch = forwardRef(function FloatingColumnSearch2(props, ref) {
|
|
14
|
-
const { children, className, collapsed, open, ...rest } = props;
|
|
15
|
-
const { Component: FloatingComponent } = useFloatingComponent();
|
|
16
|
-
return /* @__PURE__ */ jsx(
|
|
17
|
-
FloatingComponent,
|
|
18
|
-
{
|
|
19
|
-
className: cx(
|
|
20
|
-
classBase,
|
|
21
|
-
{
|
|
22
|
-
[`${classBase}-collapsed`]: collapsed
|
|
23
|
-
},
|
|
24
|
-
className
|
|
25
|
-
),
|
|
26
|
-
role: "listbox",
|
|
27
|
-
open,
|
|
28
|
-
...rest,
|
|
29
|
-
ref,
|
|
30
|
-
children
|
|
31
|
-
}
|
|
32
|
-
);
|
|
33
|
-
});
|
|
34
|
-
const ColumnPicker = forwardRef(
|
|
35
|
-
function ColumnPicker2({
|
|
36
|
-
columns,
|
|
37
|
-
icon = "add",
|
|
38
|
-
iconSize,
|
|
39
|
-
onSelectionChange,
|
|
40
|
-
selected,
|
|
41
|
-
...htmlAttributes
|
|
42
|
-
}, forwardedRef) {
|
|
43
|
-
const targetWindow = useWindow();
|
|
44
|
-
useComponentCssInjection({
|
|
45
|
-
testId: "vuu-column-picker",
|
|
46
|
-
css: columnPickerCss,
|
|
47
|
-
window: targetWindow
|
|
48
|
-
});
|
|
49
|
-
const [open, setOpen] = useState(false);
|
|
50
|
-
const listId = useIdMemo();
|
|
51
|
-
const { context, x, y, strategy, elements, floating, reference } = useFloatingUI({
|
|
52
|
-
open,
|
|
53
|
-
onOpenChange: setOpen,
|
|
54
|
-
placement: "bottom-start",
|
|
55
|
-
strategy: "fixed",
|
|
56
|
-
middleware: [
|
|
57
|
-
size({
|
|
58
|
-
apply({ rects, elements: elements2, availableHeight }) {
|
|
59
|
-
Object.assign(elements2.floating.style, {
|
|
60
|
-
minWidth: `${rects.reference.width}px`,
|
|
61
|
-
maxHeight: `max(calc(${availableHeight}px - var(--salt-spacing-100)), calc((var(--salt-size-base) + var(--salt-spacing-100)) * 5))`
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
}),
|
|
65
|
-
flip({ fallbackStrategy: "initialPlacement" })
|
|
66
|
-
]
|
|
67
|
-
});
|
|
68
|
-
const { getReferenceProps, getFloatingProps } = useInteractions([
|
|
69
|
-
useDismiss(context),
|
|
70
|
-
useClick(context, { keyboardHandlers: false, toggle: false })
|
|
71
|
-
]);
|
|
72
|
-
const handleButtonClick = () => {
|
|
73
|
-
setOpen((isOpen) => !isOpen);
|
|
74
|
-
};
|
|
75
|
-
const forkedRef = useForkRef(reference, forwardedRef);
|
|
76
|
-
const handleChange = () => {
|
|
77
|
-
console.log("handleChange");
|
|
78
|
-
};
|
|
79
|
-
const handleReorderColumns = () => {
|
|
80
|
-
console.log("handleMoveListItem");
|
|
81
|
-
};
|
|
82
|
-
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
83
|
-
/* @__PURE__ */ jsx(
|
|
84
|
-
IconButton,
|
|
85
|
-
{
|
|
86
|
-
...htmlAttributes,
|
|
87
|
-
...getReferenceProps(),
|
|
88
|
-
icon,
|
|
89
|
-
size: iconSize,
|
|
90
|
-
onClick: handleButtonClick,
|
|
91
|
-
ref: forkedRef,
|
|
92
|
-
variant: "secondary"
|
|
93
|
-
}
|
|
94
|
-
),
|
|
95
|
-
/* @__PURE__ */ jsx(
|
|
96
|
-
FloatingColumnSearch,
|
|
97
|
-
{
|
|
98
|
-
...getFloatingProps(),
|
|
99
|
-
open,
|
|
100
|
-
collapsed: !open,
|
|
101
|
-
id: listId,
|
|
102
|
-
left: x,
|
|
103
|
-
position: strategy,
|
|
104
|
-
ref: floating,
|
|
105
|
-
top: y,
|
|
106
|
-
width: elements.floating?.offsetWidth,
|
|
107
|
-
height: elements.floating?.offsetHeight,
|
|
108
|
-
children: /* @__PURE__ */ jsx(
|
|
109
|
-
ColumnSearch,
|
|
110
|
-
{
|
|
111
|
-
columns,
|
|
112
|
-
onChange: handleChange,
|
|
113
|
-
onReorderColumns: handleReorderColumns,
|
|
114
|
-
onSelectionChange,
|
|
115
|
-
selected,
|
|
116
|
-
style: { width: 220, height: 300 }
|
|
117
|
-
}
|
|
118
|
-
)
|
|
119
|
-
}
|
|
120
|
-
)
|
|
121
|
-
] });
|
|
122
|
-
}
|
|
123
|
-
);
|
|
124
|
-
|
|
125
|
-
export { ColumnPicker };
|
|
126
|
-
//# sourceMappingURL=ColumnPicker.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ColumnPicker.js","sources":["../../../../packages/vuu-ui-controls/src/column-picker/ColumnPicker.tsx"],"sourcesContent":["import {\n flip,\n size,\n useClick,\n useDismiss,\n useInteractions,\n} from \"@floating-ui/react\";\nimport {\n FloatingComponentProps,\n useFloatingComponent,\n useFloatingUI,\n useForkRef,\n useIdMemo,\n} from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\n\nimport cx from \"clsx\";\nimport { forwardRef, useState } from \"react\";\nimport { IconButton, IconButtonProps } from \"../icon-button\";\nimport { ColumnSearch, ColumnSearchProps } from \"./ColumnSearch\";\n\nimport columnPickerCss from \"./ColumnPicker.css\";\n\nconst classBase = \"vuuColumnPicker\";\n\ninterface FloatingColumnSearchProps extends FloatingComponentProps {\n collapsed?: boolean;\n}\n\nconst FloatingColumnSearch = forwardRef<\n HTMLDivElement,\n FloatingColumnSearchProps\n>(function FloatingColumnSearch(props, ref) {\n const { children, className, collapsed, open, ...rest } = props;\n\n const { Component: FloatingComponent } = useFloatingComponent();\n return (\n <FloatingComponent\n className={cx(\n classBase,\n {\n [`${classBase}-collapsed`]: collapsed,\n },\n className,\n )}\n role=\"listbox\"\n open={open}\n {...rest}\n ref={ref}\n >\n {children}\n </FloatingComponent>\n );\n});\n\nexport interface ColumnPickerProps\n extends Omit<IconButtonProps, \"icon\">,\n Pick<ColumnSearchProps, \"columns\" | \"onSelectionChange\" | \"selected\"> {\n icon?: string;\n iconSize?: number;\n}\n\nexport const ColumnPicker = forwardRef<HTMLButtonElement, ColumnPickerProps>(\n function ColumnPicker(\n {\n columns,\n icon = \"add\",\n iconSize,\n onSelectionChange,\n selected,\n ...htmlAttributes\n },\n forwardedRef,\n ) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"vuu-column-picker\",\n css: columnPickerCss,\n window: targetWindow,\n });\n\n const [open, setOpen] = useState(false);\n\n const listId = useIdMemo();\n const { context, x, y, strategy, elements, floating, reference } =\n useFloatingUI({\n open,\n onOpenChange: setOpen,\n placement: \"bottom-start\",\n strategy: \"fixed\",\n middleware: [\n size({\n apply({ rects, elements, availableHeight }) {\n Object.assign(elements.floating.style, {\n minWidth: `${rects.reference.width}px`,\n maxHeight: `max(calc(${availableHeight}px - var(--salt-spacing-100)), calc((var(--salt-size-base) + var(--salt-spacing-100)) * 5))`,\n });\n },\n }),\n flip({ fallbackStrategy: \"initialPlacement\" }),\n ],\n });\n\n const { getReferenceProps, getFloatingProps } = useInteractions([\n useDismiss(context),\n useClick(context, { keyboardHandlers: false, toggle: false }),\n ]);\n\n const handleButtonClick = () => {\n setOpen((isOpen) => !isOpen);\n };\n\n const forkedRef = useForkRef<HTMLButtonElement>(reference, forwardedRef);\n\n const handleChange = () => {\n console.log(\"handleChange\");\n };\n const handleReorderColumns = () => {\n console.log(\"handleMoveListItem\");\n };\n\n return (\n <>\n <IconButton\n {...htmlAttributes}\n {...getReferenceProps()}\n icon={icon}\n size={iconSize}\n onClick={handleButtonClick}\n ref={forkedRef}\n variant=\"secondary\"\n />\n <FloatingColumnSearch\n {...getFloatingProps()}\n open={open}\n collapsed={!open}\n id={listId}\n left={x}\n position={strategy}\n ref={floating}\n top={y}\n width={elements.floating?.offsetWidth}\n height={elements.floating?.offsetHeight}\n >\n <ColumnSearch\n columns={columns}\n onChange={handleChange}\n onReorderColumns={handleReorderColumns}\n onSelectionChange={onSelectionChange}\n selected={selected}\n style={{ width: 220, height: 300 }}\n />\n </FloatingColumnSearch>\n </>\n );\n },\n);\n"],"names":["FloatingColumnSearch","ColumnPicker","elements"],"mappings":"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"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
var searchableListCss = ".vuuColumnSearch {\n --vuuList-borderWidth: 0;\n --vuuColumnListItem-border: none;\n --vuuMeasuredContainer-flex: 1 1 1px;\n\n background: var(--salt-container-primary-background);\n border: solid 1px var(--salt-container-primary-borderColor);\n border-radius: 4px;\n height: 100%;\n padding: 12px 4px 12px 12px;\n display: flex;\n flex-direction: column;\n\n .vuuIcon {\n display: none;\n }\n .saltSwitch {\n display: none;\n }\n .vuuColumnList-header {\n display: none;\n }\n .vuuColumnList-colHeadings {\n display: none;\n }\n .vuuList-viewport {\n padding-right: var(--salt-spacing-100);\n }\n\n .vuuColumnListItem {\n padding-left: var(--salt-spacing-100);\n }\n\n ::-webkit-scrollbar {\n width: 4px;\n height: 4px;\n }\n\n ::-webkit-scrollbar-track {\n background: transparent;\n margin-top: 15px;\n margin-bottom: 15px;\n }\n\n ::-webkit-scrollbar-thumb {\n border-radius: 4px;\n background: #d9d9d9;\n }\n}\n\n.vuuColumnSearch-inputField {\n --vuu-icon-size: 16px;\n flex: 0 0 40px;\n margin-right: 8px;\n}\n.vuuColumnSearch-list {\n --vuuMeasuredContainer-flex: 1 1 1px;\n background-color: var(--salt-container-primary-background);\n flex: 1 1 auto;\n}\n\n.vuuColumnSearch .vuuTableCell {\n padding: 0;\n}\n";
|
|
2
|
-
|
|
3
|
-
export { searchableListCss as default };
|
|
4
|
-
//# sourceMappingURL=ColumnSearch.css.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ColumnSearch.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { Input, ListBox, Option, Checkbox } from '@salt-ds/core';
|
|
3
|
-
import { useComponentCssInjection } from '@salt-ds/styles';
|
|
4
|
-
import { useWindow } from '@salt-ds/window';
|
|
5
|
-
import cx from 'clsx';
|
|
6
|
-
import { forwardRef, useRef, useCallback } from 'react';
|
|
7
|
-
import searchableListCss from './ColumnSearch.css.js';
|
|
8
|
-
import { queryClosest } from '@vuu-ui/vuu-utils';
|
|
9
|
-
|
|
10
|
-
const classBase = "vuuColumnSearch";
|
|
11
|
-
const searchIcon = /* @__PURE__ */ jsx("span", { "data-icon": "search" });
|
|
12
|
-
const ColumnSearch = forwardRef(
|
|
13
|
-
function ColumnSearch2({
|
|
14
|
-
autoFocus = false,
|
|
15
|
-
className,
|
|
16
|
-
columns,
|
|
17
|
-
onChange,
|
|
18
|
-
onSelectionChange,
|
|
19
|
-
selected,
|
|
20
|
-
...htmlAttributes
|
|
21
|
-
}, forwardedRef) {
|
|
22
|
-
const targetWindow = useWindow();
|
|
23
|
-
useComponentCssInjection({
|
|
24
|
-
testId: "vuu-column-picker",
|
|
25
|
-
css: searchableListCss,
|
|
26
|
-
window: targetWindow
|
|
27
|
-
});
|
|
28
|
-
const selectedValues = useRef([]);
|
|
29
|
-
const searchCallbackRef = useCallback((el) => {
|
|
30
|
-
setTimeout(() => {
|
|
31
|
-
el?.querySelector("input")?.focus();
|
|
32
|
-
}, 100);
|
|
33
|
-
}, []);
|
|
34
|
-
const handleChange = useCallback(
|
|
35
|
-
(e) => {
|
|
36
|
-
const input = e.target;
|
|
37
|
-
const { columnName } = queryClosest(
|
|
38
|
-
input,
|
|
39
|
-
"[data-column-name]",
|
|
40
|
-
true
|
|
41
|
-
).dataset;
|
|
42
|
-
if (columnName) {
|
|
43
|
-
if (input.checked) {
|
|
44
|
-
selectedValues.current = selectedValues.current.concat(columnName);
|
|
45
|
-
} else {
|
|
46
|
-
selectedValues.current = selectedValues.current.filter(
|
|
47
|
-
(val) => val !== columnName
|
|
48
|
-
);
|
|
49
|
-
}
|
|
50
|
-
onSelectionChange?.(e, selectedValues.current);
|
|
51
|
-
}
|
|
52
|
-
},
|
|
53
|
-
[onSelectionChange]
|
|
54
|
-
);
|
|
55
|
-
return /* @__PURE__ */ jsxs(
|
|
56
|
-
"div",
|
|
57
|
-
{
|
|
58
|
-
...htmlAttributes,
|
|
59
|
-
className: cx(classBase, className),
|
|
60
|
-
ref: forwardedRef,
|
|
61
|
-
children: [
|
|
62
|
-
/* @__PURE__ */ jsx("div", { className: `${classBase}-inputField`, children: /* @__PURE__ */ jsx(
|
|
63
|
-
Input,
|
|
64
|
-
{
|
|
65
|
-
startAdornment: searchIcon,
|
|
66
|
-
ref: autoFocus ? searchCallbackRef : null
|
|
67
|
-
}
|
|
68
|
-
) }),
|
|
69
|
-
/* @__PURE__ */ jsx(ListBox, { children: columns.map((column) => /* @__PURE__ */ jsxs(Option, { "data-column-name": column, value: column, children: [
|
|
70
|
-
/* @__PURE__ */ jsx(Checkbox, { onChange: handleChange }),
|
|
71
|
-
/* @__PURE__ */ jsx("span", { children: column })
|
|
72
|
-
] }, column)) })
|
|
73
|
-
]
|
|
74
|
-
}
|
|
75
|
-
);
|
|
76
|
-
}
|
|
77
|
-
);
|
|
78
|
-
|
|
79
|
-
export { ColumnSearch };
|
|
80
|
-
//# sourceMappingURL=ColumnSearch.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ColumnSearch.js","sources":["../../../../packages/vuu-ui-controls/src/column-picker/ColumnSearch.tsx"],"sourcesContent":["import { Checkbox, Input, ListBoxProps } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport cx from \"clsx\";\nimport {\n FormEventHandler,\n HTMLAttributes,\n RefCallback,\n forwardRef,\n useCallback,\n useRef,\n} from \"react\";\nimport { ListBox, Option } from \"@salt-ds/core\";\n\nimport searchableListCss from \"./ColumnSearch.css\";\nimport { queryClosest } from \"@vuu-ui/vuu-utils\";\n\nconst classBase = \"vuuColumnSearch\";\n\nexport interface ColumnSearchProps\n extends HTMLAttributes<HTMLDivElement>,\n Pick<ListBoxProps, \"onSelectionChange\" | \"selected\"> {\n columns: string[];\n onReorderColumns: (columns: string[]) => void;\n}\n\nconst searchIcon = <span data-icon=\"search\" />;\n\n/**\n * @deprecated\n *\n * use ColumnList instead\n */\nexport const ColumnSearch = forwardRef<HTMLDivElement, ColumnSearchProps>(\n function ColumnSearch(\n {\n autoFocus = false,\n className,\n columns,\n onChange,\n onSelectionChange,\n selected,\n ...htmlAttributes\n },\n forwardedRef,\n ) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"vuu-column-picker\",\n css: searchableListCss,\n window: targetWindow,\n });\n\n const selectedValues = useRef<string[]>([]);\n\n const searchCallbackRef = useCallback<RefCallback<HTMLElement>>((el) => {\n setTimeout(() => {\n el?.querySelector(\"input\")?.focus();\n }, 100);\n }, []);\n\n const handleChange = useCallback<FormEventHandler<HTMLInputElement>>(\n (e) => {\n const input = e.target as HTMLInputElement;\n const { columnName } = queryClosest(\n input,\n \"[data-column-name]\",\n true,\n ).dataset;\n if (columnName) {\n if (input.checked) {\n selectedValues.current = selectedValues.current.concat(columnName);\n } else {\n selectedValues.current = selectedValues.current.filter(\n (val) => val !== columnName,\n );\n }\n onSelectionChange?.(e, selectedValues.current);\n }\n },\n [onSelectionChange],\n );\n\n return (\n <div\n {...htmlAttributes}\n className={cx(classBase, className)}\n ref={forwardedRef}\n >\n <div className={`${classBase}-inputField`}>\n <Input\n // inputProps={{ onKeyDown }}\n startAdornment={searchIcon}\n ref={autoFocus ? searchCallbackRef : null}\n // value={searchState.searchText}\n // onChange={onChange}\n />\n </div>\n <ListBox>\n {columns.map((column) => (\n <Option data-column-name={column} key={column} value={column}>\n <Checkbox onChange={handleChange} />\n <span>{column}</span>\n </Option>\n ))}\n </ListBox>\n </div>\n );\n },\n);\n"],"names":["ColumnSearch"],"mappings":";;;;;;;;;AAiBA,MAAM,SAAY,GAAA,iBAAA;AASlB,MAAM,UAAa,mBAAA,GAAA,CAAC,MAAK,EAAA,EAAA,WAAA,EAAU,QAAS,EAAA,CAAA;AAOrC,MAAM,YAAe,GAAA,UAAA;AAAA,EAC1B,SAASA,aACP,CAAA;AAAA,IACE,SAAY,GAAA,KAAA;AAAA,IACZ,SAAA;AAAA,IACA,OAAA;AAAA,IACA,QAAA;AAAA,IACA,iBAAA;AAAA,IACA,QAAA;AAAA,IACA,GAAG;AAAA,KAEL,YACA,EAAA;AACA,IAAA,MAAM,eAAe,SAAU,EAAA;AAC/B,IAAyB,wBAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,mBAAA;AAAA,MACR,GAAK,EAAA,iBAAA;AAAA,MACL,MAAQ,EAAA;AAAA,KACT,CAAA;AAED,IAAM,MAAA,cAAA,GAAiB,MAAiB,CAAA,EAAE,CAAA;AAE1C,IAAM,MAAA,iBAAA,GAAoB,WAAsC,CAAA,CAAC,EAAO,KAAA;AACtE,MAAA,UAAA,CAAW,MAAM;AACf,QAAI,EAAA,EAAA,aAAA,CAAc,OAAO,CAAA,EAAG,KAAM,EAAA;AAAA,SACjC,GAAG,CAAA;AAAA,KACR,EAAG,EAAE,CAAA;AAEL,IAAA,MAAM,YAAe,GAAA,WAAA;AAAA,MACnB,CAAC,CAAM,KAAA;AACL,QAAA,MAAM,QAAQ,CAAE,CAAA,MAAA;AAChB,QAAM,MAAA,EAAE,YAAe,GAAA,YAAA;AAAA,UACrB,KAAA;AAAA,UACA,oBAAA;AAAA,UACA;AAAA,SACA,CAAA,OAAA;AACF,QAAA,IAAI,UAAY,EAAA;AACd,UAAA,IAAI,MAAM,OAAS,EAAA;AACjB,YAAA,cAAA,CAAe,OAAU,GAAA,cAAA,CAAe,OAAQ,CAAA,MAAA,CAAO,UAAU,CAAA;AAAA,WAC5D,MAAA;AACL,YAAe,cAAA,CAAA,OAAA,GAAU,eAAe,OAAQ,CAAA,MAAA;AAAA,cAC9C,CAAC,QAAQ,GAAQ,KAAA;AAAA,aACnB;AAAA;AAEF,UAAoB,iBAAA,GAAA,CAAA,EAAG,eAAe,OAAO,CAAA;AAAA;AAC/C,OACF;AAAA,MACA,CAAC,iBAAiB;AAAA,KACpB;AAEA,IACE,uBAAA,IAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACE,GAAG,cAAA;AAAA,QACJ,SAAA,EAAW,EAAG,CAAA,SAAA,EAAW,SAAS,CAAA;AAAA,QAClC,GAAK,EAAA,YAAA;AAAA,QAEL,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,KAAI,EAAA,EAAA,SAAA,EAAW,CAAG,EAAA,SAAS,CAC1B,WAAA,CAAA,EAAA,QAAA,kBAAA,GAAA;AAAA,YAAC,KAAA;AAAA,YAAA;AAAA,cAEC,cAAgB,EAAA,UAAA;AAAA,cAChB,GAAA,EAAK,YAAY,iBAAoB,GAAA;AAAA;AAAA,WAIzC,EAAA,CAAA;AAAA,0BACA,GAAA,CAAC,OACE,EAAA,EAAA,QAAA,EAAA,OAAA,CAAQ,GAAI,CAAA,CAAC,MACZ,qBAAA,IAAA,CAAC,MAAO,EAAA,EAAA,kBAAA,EAAkB,MAAqB,EAAA,KAAA,EAAO,MACpD,EAAA,QAAA,EAAA;AAAA,4BAAC,GAAA,CAAA,QAAA,EAAA,EAAS,UAAU,YAAc,EAAA,CAAA;AAAA,4BAClC,GAAA,CAAC,UAAM,QAAO,EAAA,MAAA,EAAA;AAAA,WAFuB,EAAA,EAAA,MAGvC,CACD,CACH,EAAA;AAAA;AAAA;AAAA,KACF;AAAA;AAGN;;;;"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
const isSingleSelection = (s) => s === void 0 || s === "default" || s === "deselectable";
|
|
2
|
-
const isMultiSelection = (s) => s === "multiple" || s?.startsWith("extended") === true;
|
|
3
|
-
const selectionIsDisallowed = (selection) => selection === "none";
|
|
4
|
-
const allowMultipleSelection = (selectionStrategy, specialKey = false) => selectionStrategy === "multiple" || selectionStrategy === "multiple-special-key" && specialKey;
|
|
5
|
-
const deselectionIsAllowed = (selection) => selection !== "none" && selection !== "default";
|
|
6
|
-
const hasSelection = (selected) => selected !== void 0 && selected.length > 0;
|
|
7
|
-
const getFirstSelectedItem = (selected) => selected[0];
|
|
8
|
-
|
|
9
|
-
export { allowMultipleSelection, deselectionIsAllowed, getFirstSelectedItem, hasSelection, isMultiSelection, isSingleSelection, selectionIsDisallowed };
|
|
10
|
-
//# sourceMappingURL=selectionTypes.js.map
|