@vuu-ui/vuu-ui-controls 2.1.17 → 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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MeasuredContainer.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import { jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { useComponentCssInjection } from '@salt-ds/styles';
|
|
3
|
-
import { useWindow } from '@salt-ds/window';
|
|
4
|
-
import { forwardRef } from 'react';
|
|
5
|
-
import { useMeasuredContainer } from './useMeasuredContainer.js';
|
|
6
|
-
import { useForkRef } from '@salt-ds/core';
|
|
7
|
-
import cx from 'clsx';
|
|
8
|
-
import measuredContainerCss from './MeasuredContainer.css.js';
|
|
9
|
-
|
|
10
|
-
const baseClass = "vuuMeasuredContainer";
|
|
11
|
-
const MeasuredContainer = forwardRef(function MeasuredContainer2({
|
|
12
|
-
children,
|
|
13
|
-
className,
|
|
14
|
-
height,
|
|
15
|
-
onResize,
|
|
16
|
-
resizeStrategy,
|
|
17
|
-
style,
|
|
18
|
-
width,
|
|
19
|
-
...htmlAttributes
|
|
20
|
-
}, forwardedRef) {
|
|
21
|
-
const targetWindow = useWindow();
|
|
22
|
-
useComponentCssInjection({
|
|
23
|
-
testId: "vuu-measured-container",
|
|
24
|
-
css: measuredContainerCss,
|
|
25
|
-
window: targetWindow
|
|
26
|
-
});
|
|
27
|
-
const { containerRef, ...containerMeasurements } = useMeasuredContainer({
|
|
28
|
-
height,
|
|
29
|
-
onResize,
|
|
30
|
-
resizeStrategy,
|
|
31
|
-
width
|
|
32
|
-
});
|
|
33
|
-
const { cssSize, innerSize } = containerMeasurements;
|
|
34
|
-
const unmeasured = innerSize === void 0;
|
|
35
|
-
const getStyle = () => {
|
|
36
|
-
return unmeasured ? {
|
|
37
|
-
...style,
|
|
38
|
-
"--measured-css-height": `${cssSize.height}`,
|
|
39
|
-
"--measured-css-width": `${cssSize.width}`
|
|
40
|
-
} : {
|
|
41
|
-
...style,
|
|
42
|
-
"--measured-css-height": `${cssSize.height}`,
|
|
43
|
-
"--measured-css-width": `${cssSize.width}`,
|
|
44
|
-
"--measured-px-height": `${innerSize?.height}px`,
|
|
45
|
-
"--measured-px-width": `${innerSize?.width}px`
|
|
46
|
-
};
|
|
47
|
-
};
|
|
48
|
-
const forkedRef = useForkRef(containerRef, forwardedRef);
|
|
49
|
-
return unmeasured ? /* @__PURE__ */ jsx(
|
|
50
|
-
"div",
|
|
51
|
-
{
|
|
52
|
-
...htmlAttributes,
|
|
53
|
-
className: cx(baseClass, `${baseClass}-ummeasured`),
|
|
54
|
-
style: getStyle(),
|
|
55
|
-
ref: containerRef
|
|
56
|
-
}
|
|
57
|
-
) : /* @__PURE__ */ jsx(
|
|
58
|
-
"div",
|
|
59
|
-
{
|
|
60
|
-
...htmlAttributes,
|
|
61
|
-
className: cx(baseClass, className),
|
|
62
|
-
ref: forkedRef,
|
|
63
|
-
style: getStyle(),
|
|
64
|
-
children
|
|
65
|
-
}
|
|
66
|
-
);
|
|
67
|
-
});
|
|
68
|
-
|
|
69
|
-
export { MeasuredContainer };
|
|
70
|
-
//# sourceMappingURL=MeasuredContainer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MeasuredContainer.js","sources":["../../../../packages/vuu-ui-controls/src/measured-container/MeasuredContainer.tsx"],"sourcesContent":["import { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { CSSProperties, forwardRef, ForwardedRef, HTMLAttributes } from \"react\";\nimport { MeasuredSize, useMeasuredContainer } from \"./useMeasuredContainer\";\nimport { useForkRef } from \"@salt-ds/core\";\nimport cx from \"clsx\";\n\nimport measuredContainerCss from \"./MeasuredContainer.css\";\n\nexport type ResizeStrategy = \"defer\" | \"responsive\";\n\nexport interface MeasuredContainerProps\n extends Omit<HTMLAttributes<HTMLDivElement>, \"onResize\"> {\n /**\n * A numeric value for height will result in a fixed height. To adapt to container\n * use either a percentage height or 'auto'. Always use 'auto' when rendering\n * within a column based flex container, together with a flex value (use the\n * --vuuMeasuredContainer-flex CSS custom property))\n */\n height?: number | string;\n onResize?: (size: MeasuredSize) => void;\n resizeStrategy?: ResizeStrategy;\n width?: number | string;\n}\n\nconst baseClass = \"vuuMeasuredContainer\";\n\nexport const MeasuredContainer = forwardRef(function MeasuredContainer(\n {\n children,\n className,\n height,\n onResize,\n resizeStrategy,\n style,\n width,\n ...htmlAttributes\n }: MeasuredContainerProps,\n forwardedRef: ForwardedRef<HTMLDivElement>,\n) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"vuu-measured-container\",\n css: measuredContainerCss,\n window: targetWindow,\n });\n\n const { containerRef, ...containerMeasurements } = useMeasuredContainer({\n height,\n onResize,\n resizeStrategy,\n width,\n });\n\n const { cssSize, innerSize } = containerMeasurements;\n const unmeasured = innerSize === undefined;\n\n const getStyle = () => {\n return unmeasured\n ? ({\n ...style,\n \"--measured-css-height\": `${cssSize.height}`,\n \"--measured-css-width\": `${cssSize.width}`,\n } as CSSProperties)\n : ({\n ...style,\n \"--measured-css-height\": `${cssSize.height}`,\n \"--measured-css-width\": `${cssSize.width}`,\n \"--measured-px-height\": `${innerSize?.height}px`,\n \"--measured-px-width\": `${innerSize?.width}px`,\n } as CSSProperties);\n };\n\n const forkedRef = useForkRef(containerRef, forwardedRef);\n\n return unmeasured ? (\n <div\n {...htmlAttributes}\n className={cx(baseClass, `${baseClass}-ummeasured`)}\n style={getStyle()}\n ref={containerRef}\n />\n ) : (\n <div\n {...htmlAttributes}\n className={cx(baseClass, className)}\n ref={forkedRef}\n style={getStyle()}\n >\n {children}\n </div>\n );\n});\n"],"names":["MeasuredContainer"],"mappings":";;;;;;;;;AAyBA,MAAM,SAAY,GAAA,sBAAA;AAEL,MAAA,iBAAA,GAAoB,UAAW,CAAA,SAASA,kBACnD,CAAA;AAAA,EACE,QAAA;AAAA,EACA,SAAA;AAAA,EACA,MAAA;AAAA,EACA,QAAA;AAAA,EACA,cAAA;AAAA,EACA,KAAA;AAAA,EACA,KAAA;AAAA,EACA,GAAG;AACL,CAAA,EACA,YACA,EAAA;AACA,EAAA,MAAM,eAAe,SAAU,EAAA;AAC/B,EAAyB,wBAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,wBAAA;AAAA,IACR,GAAK,EAAA,oBAAA;AAAA,IACL,MAAQ,EAAA;AAAA,GACT,CAAA;AAED,EAAA,MAAM,EAAE,YAAA,EAAc,GAAG,qBAAA,KAA0B,oBAAqB,CAAA;AAAA,IACtE,MAAA;AAAA,IACA,QAAA;AAAA,IACA,cAAA;AAAA,IACA;AAAA,GACD,CAAA;AAED,EAAM,MAAA,EAAE,OAAS,EAAA,SAAA,EAAc,GAAA,qBAAA;AAC/B,EAAA,MAAM,aAAa,SAAc,KAAA,KAAA,CAAA;AAEjC,EAAA,MAAM,WAAW,MAAM;AACrB,IAAA,OAAO,UACF,GAAA;AAAA,MACC,GAAG,KAAA;AAAA,MACH,uBAAA,EAAyB,CAAG,EAAA,OAAA,CAAQ,MAAM,CAAA,CAAA;AAAA,MAC1C,sBAAA,EAAwB,CAAG,EAAA,OAAA,CAAQ,KAAK,CAAA;AAAA,KAEzC,GAAA;AAAA,MACC,GAAG,KAAA;AAAA,MACH,uBAAA,EAAyB,CAAG,EAAA,OAAA,CAAQ,MAAM,CAAA,CAAA;AAAA,MAC1C,sBAAA,EAAwB,CAAG,EAAA,OAAA,CAAQ,KAAK,CAAA,CAAA;AAAA,MACxC,sBAAA,EAAwB,CAAG,EAAA,SAAA,EAAW,MAAM,CAAA,EAAA,CAAA;AAAA,MAC5C,qBAAA,EAAuB,CAAG,EAAA,SAAA,EAAW,KAAK,CAAA,EAAA;AAAA,KAC5C;AAAA,GACN;AAEA,EAAM,MAAA,SAAA,GAAY,UAAW,CAAA,YAAA,EAAc,YAAY,CAAA;AAEvD,EAAA,OAAO,UACL,mBAAA,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACE,GAAG,cAAA;AAAA,MACJ,SAAW,EAAA,EAAA,CAAG,SAAW,EAAA,CAAA,EAAG,SAAS,CAAa,WAAA,CAAA,CAAA;AAAA,MAClD,OAAO,QAAS,EAAA;AAAA,MAChB,GAAK,EAAA;AAAA;AAAA,GAGP,mBAAA,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACE,GAAG,cAAA;AAAA,MACJ,SAAA,EAAW,EAAG,CAAA,SAAA,EAAW,SAAS,CAAA;AAAA,MAClC,GAAK,EAAA,SAAA;AAAA,MACL,OAAO,QAAS,EAAA;AAAA,MAEf;AAAA;AAAA,GACH;AAEJ,CAAC;;;;"}
|
|
@@ -1,164 +0,0 @@
|
|
|
1
|
-
import { isValidNumber, useResizeObserver } from '@vuu-ui/vuu-utils';
|
|
2
|
-
import { useRef, useState, useMemo, useCallback, useEffect } from 'react';
|
|
3
|
-
|
|
4
|
-
const ClientWidthHeight = ["clientHeight", "clientWidth"];
|
|
5
|
-
const WidthOnly = ["clientWidth"];
|
|
6
|
-
const HeightOnly = ["clientHeight"];
|
|
7
|
-
const NO_MEASUREMENT = [];
|
|
8
|
-
const NullClientSize = {
|
|
9
|
-
clientHeight: -1,
|
|
10
|
-
clientWidth: -1
|
|
11
|
-
};
|
|
12
|
-
const isNumber = (val) => Number.isFinite(val);
|
|
13
|
-
const reduceSizeHeight = (size, value) => {
|
|
14
|
-
if (value === 0) {
|
|
15
|
-
return size;
|
|
16
|
-
} else {
|
|
17
|
-
return {
|
|
18
|
-
height: size.height - value,
|
|
19
|
-
width: size.width
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
};
|
|
23
|
-
const getInitialValue = (value, defaultValue) => {
|
|
24
|
-
if (isValidNumber(value)) {
|
|
25
|
-
return `${value}px`;
|
|
26
|
-
} else if (typeof value === "string") {
|
|
27
|
-
return value;
|
|
28
|
-
} else {
|
|
29
|
-
return defaultValue;
|
|
30
|
-
}
|
|
31
|
-
};
|
|
32
|
-
const getInitialCssSize = (height, width) => {
|
|
33
|
-
return {
|
|
34
|
-
height: getInitialValue(height, "100%"),
|
|
35
|
-
width: getInitialValue(width, "auto")
|
|
36
|
-
};
|
|
37
|
-
};
|
|
38
|
-
const getInitialInnerSize = (height, width) => {
|
|
39
|
-
if (isValidNumber(height) && isValidNumber(width)) {
|
|
40
|
-
return {
|
|
41
|
-
height,
|
|
42
|
-
width
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
const useMeasuredContainer = ({
|
|
47
|
-
defaultHeight = 0,
|
|
48
|
-
defaultWidth = 0,
|
|
49
|
-
height,
|
|
50
|
-
onResize: onResizeProp,
|
|
51
|
-
resizeStrategy = "responsive",
|
|
52
|
-
width
|
|
53
|
-
}) => {
|
|
54
|
-
const deferResize = resizeStrategy === "defer";
|
|
55
|
-
const sizeRef = useRef(NullClientSize);
|
|
56
|
-
const resizeHandleRef = useRef(void 0);
|
|
57
|
-
const containerRef = useRef(null);
|
|
58
|
-
const [size, setSize] = useState({
|
|
59
|
-
css: getInitialCssSize(height, width),
|
|
60
|
-
inner: getInitialInnerSize(height, width),
|
|
61
|
-
outer: {
|
|
62
|
-
height: height ?? "100%",
|
|
63
|
-
width: width ?? "auto"
|
|
64
|
-
}
|
|
65
|
-
});
|
|
66
|
-
const fixedHeight = typeof height === "number";
|
|
67
|
-
const fixedWidth = typeof width === "number";
|
|
68
|
-
const dimensions = fixedHeight && fixedWidth ? NO_MEASUREMENT : fixedHeight ? WidthOnly : fixedWidth ? HeightOnly : ClientWidthHeight;
|
|
69
|
-
useMemo(() => {
|
|
70
|
-
setSize((currentSize) => {
|
|
71
|
-
const { inner, outer } = currentSize;
|
|
72
|
-
if (isValidNumber(height) && isValidNumber(width) && inner && outer) {
|
|
73
|
-
const { height: innerHeight, width: innerWidth } = inner;
|
|
74
|
-
const { height: outerHeight, width: outerWidth } = outer;
|
|
75
|
-
if (outerHeight !== height || outerWidth !== width) {
|
|
76
|
-
const heightDiff = isValidNumber(outerHeight) ? outerHeight - innerHeight : 0;
|
|
77
|
-
const widthDiff = isValidNumber(outerWidth) ? outerWidth - innerWidth : 0;
|
|
78
|
-
return {
|
|
79
|
-
...currentSize,
|
|
80
|
-
outer: { height, width },
|
|
81
|
-
inner: { height: height - heightDiff, width: width - widthDiff }
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
return currentSize;
|
|
86
|
-
});
|
|
87
|
-
}, [height, width]);
|
|
88
|
-
const handleResize = useCallback(
|
|
89
|
-
(clientWidth, clientHeight) => {
|
|
90
|
-
const { css, inner, outer } = size;
|
|
91
|
-
let newState = size;
|
|
92
|
-
if (fixedHeight && isNumber(clientWidth) && Math.floor(clientWidth) !== inner?.width) {
|
|
93
|
-
newState = {
|
|
94
|
-
css,
|
|
95
|
-
outer,
|
|
96
|
-
inner: {
|
|
97
|
-
width: Math.floor(clientWidth) || defaultWidth,
|
|
98
|
-
height
|
|
99
|
-
}
|
|
100
|
-
};
|
|
101
|
-
} else if (fixedWidth && isNumber(clientHeight) && Math.floor(clientHeight) !== inner?.height) {
|
|
102
|
-
newState = {
|
|
103
|
-
css,
|
|
104
|
-
outer,
|
|
105
|
-
inner: {
|
|
106
|
-
height: Math.floor(clientHeight) || defaultHeight,
|
|
107
|
-
width
|
|
108
|
-
}
|
|
109
|
-
};
|
|
110
|
-
} else if (isNumber(clientHeight) && isNumber(clientWidth) && (clientWidth !== inner?.width || clientHeight !== inner?.height)) {
|
|
111
|
-
newState = {
|
|
112
|
-
css,
|
|
113
|
-
outer,
|
|
114
|
-
inner: {
|
|
115
|
-
width: Math.floor(clientWidth) || defaultWidth,
|
|
116
|
-
height: Math.floor(clientHeight) || defaultHeight
|
|
117
|
-
}
|
|
118
|
-
};
|
|
119
|
-
}
|
|
120
|
-
if (newState !== size) {
|
|
121
|
-
setSize(newState);
|
|
122
|
-
}
|
|
123
|
-
},
|
|
124
|
-
[defaultHeight, defaultWidth, fixedHeight, fixedWidth, height, size, width]
|
|
125
|
-
);
|
|
126
|
-
const onResize = useCallback(
|
|
127
|
-
({ clientHeight, clientWidth }) => {
|
|
128
|
-
if (deferResize) {
|
|
129
|
-
sizeRef.current.clientHeight = clientHeight;
|
|
130
|
-
sizeRef.current.clientWidth = clientWidth;
|
|
131
|
-
if (resizeHandleRef.current !== null) {
|
|
132
|
-
clearTimeout(resizeHandleRef.current);
|
|
133
|
-
}
|
|
134
|
-
resizeHandleRef.current = setTimeout(() => {
|
|
135
|
-
handleResize(clientWidth, clientHeight);
|
|
136
|
-
}, 40);
|
|
137
|
-
} else {
|
|
138
|
-
handleResize(clientWidth, clientHeight);
|
|
139
|
-
}
|
|
140
|
-
},
|
|
141
|
-
[deferResize, handleResize]
|
|
142
|
-
);
|
|
143
|
-
useEffect(() => {
|
|
144
|
-
if (size.inner) {
|
|
145
|
-
if (containerRef.current) {
|
|
146
|
-
if (typeof height !== "number" || height === 0) {
|
|
147
|
-
size.inner.height = containerRef.current.clientHeight;
|
|
148
|
-
}
|
|
149
|
-
size.inner.width = containerRef.current.clientWidth;
|
|
150
|
-
onResizeProp?.(size.inner);
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
}, [height, onResizeProp, size.inner]);
|
|
154
|
-
useResizeObserver(containerRef, dimensions, onResize, true);
|
|
155
|
-
return {
|
|
156
|
-
containerRef,
|
|
157
|
-
cssSize: size.css,
|
|
158
|
-
outerSize: size.outer,
|
|
159
|
-
innerSize: size.inner
|
|
160
|
-
};
|
|
161
|
-
};
|
|
162
|
-
|
|
163
|
-
export { reduceSizeHeight, useMeasuredContainer };
|
|
164
|
-
//# sourceMappingURL=useMeasuredContainer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useMeasuredContainer.js","sources":["../../../../packages/vuu-ui-controls/src/measured-container/useMeasuredContainer.ts"],"sourcesContent":["import {\n isValidNumber,\n useResizeObserver,\n type ResizeHandler,\n} from \"@vuu-ui/vuu-utils\";\nimport {\n CSSProperties,\n RefObject,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { MeasuredContainerProps } from \"./MeasuredContainer\";\n\nconst ClientWidthHeight = [\"clientHeight\", \"clientWidth\"];\nconst WidthOnly = [\"clientWidth\"];\nconst HeightOnly = [\"clientHeight\"];\nconst NO_MEASUREMENT = [] as const;\n\nexport interface ClientSize {\n clientHeight: number;\n clientWidth: number;\n}\n\nconst NullClientSize: Partial<ClientSize> = {\n clientHeight: -1,\n clientWidth: -1,\n};\n\nexport interface MeasuredProps\n extends Pick<\n MeasuredContainerProps,\n \"height\" | \"onResize\" | \"resizeStrategy\" | \"width\"\n > {\n defaultHeight?: number;\n defaultWidth?: number;\n}\n\nexport type CssSize = Pick<CSSProperties, \"height\" | \"width\">;\n\nexport interface MeasuredSize {\n height: number;\n width: number;\n}\n\ninterface MeasuredState {\n css: CssSize;\n outer: CssSize;\n inner?: MeasuredSize;\n}\n\nconst isNumber = (val: unknown): val is number => Number.isFinite(val);\n\nexport interface MeasuredContainerHookResult {\n containerRef: RefObject<HTMLDivElement | null>;\n cssSize: CssSize;\n outerSize: CssSize;\n innerSize?: MeasuredSize;\n}\n\nexport const reduceSizeHeight = (\n size: MeasuredSize,\n value: number,\n): MeasuredSize => {\n if (value === 0) {\n return size;\n } else {\n return {\n height: size.height - value,\n width: size.width,\n };\n }\n};\n\nconst getInitialValue = (\n value: number | string | undefined,\n defaultValue: \"auto\" | \"100%\",\n) => {\n if (isValidNumber(value)) {\n return `${value}px`;\n } else if (typeof value === \"string\") {\n return value;\n } else {\n return defaultValue;\n }\n};\n\n// If (outer) height and width are known at initialisation (i.e. they\n// were passed as props), use as initial values for inner size. If there\n// is no border on Table, these values will not change. If there is a border,\n// inner values will be updated once measured.\nconst getInitialCssSize = (\n height?: number | string,\n width?: number | string,\n): CssSize => {\n return {\n height: getInitialValue(height, \"100%\"),\n width: getInitialValue(width, \"auto\"),\n };\n};\n\nconst getInitialInnerSize = (\n height: unknown,\n width: unknown,\n): MeasuredSize | undefined => {\n if (isValidNumber(height) && isValidNumber(width)) {\n return {\n height,\n width,\n };\n }\n};\n\nexport const useMeasuredContainer = ({\n defaultHeight = 0,\n defaultWidth = 0,\n height,\n onResize: onResizeProp,\n resizeStrategy = \"responsive\",\n width,\n}: MeasuredProps): MeasuredContainerHookResult => {\n const deferResize = resizeStrategy === \"defer\";\n const sizeRef = useRef<Partial<ClientSize>>(NullClientSize);\n const resizeHandleRef = useRef<ReturnType<typeof setTimeout>>(undefined);\n\n const containerRef = useRef<HTMLDivElement>(null);\n const [size, setSize] = useState<MeasuredState>({\n css: getInitialCssSize(height, width),\n inner: getInitialInnerSize(height, width),\n outer: {\n height: height ?? \"100%\",\n width: width ?? \"auto\",\n },\n });\n\n const fixedHeight = typeof height === \"number\";\n const fixedWidth = typeof width === \"number\";\n\n const dimensions =\n fixedHeight && fixedWidth\n ? NO_MEASUREMENT\n : fixedHeight\n ? WidthOnly\n : fixedWidth\n ? HeightOnly\n : ClientWidthHeight;\n\n useMemo(() => {\n // TODO why call state from memo.\n // Why not calculate size first inline, then assign that to state\n // on first pass\n setSize((currentSize) => {\n const { inner, outer } = currentSize;\n if (isValidNumber(height) && isValidNumber(width) && inner && outer) {\n const { height: innerHeight, width: innerWidth } = inner;\n const { height: outerHeight, width: outerWidth } = outer;\n\n if (outerHeight !== height || outerWidth !== width) {\n const heightDiff = isValidNumber(outerHeight)\n ? outerHeight - innerHeight\n : 0;\n const widthDiff = isValidNumber(outerWidth)\n ? outerWidth - innerWidth\n : 0;\n return {\n ...currentSize,\n outer: { height, width },\n inner: { height: height - heightDiff, width: width - widthDiff },\n };\n }\n }\n return currentSize;\n });\n }, [height, width]);\n\n const handleResize = useCallback(\n (clientWidth: number | undefined, clientHeight: number | undefined) => {\n const { css, inner, outer } = size;\n let newState: MeasuredState = size;\n if (\n fixedHeight &&\n isNumber(clientWidth) &&\n Math.floor(clientWidth) !== inner?.width\n ) {\n newState = {\n css,\n outer,\n inner: {\n width: Math.floor(clientWidth) || defaultWidth,\n height,\n },\n };\n } else if (\n fixedWidth &&\n isNumber(clientHeight) &&\n Math.floor(clientHeight) !== inner?.height\n ) {\n newState = {\n css,\n outer,\n inner: {\n height: Math.floor(clientHeight) || defaultHeight,\n width,\n },\n };\n } else if (\n isNumber(clientHeight) &&\n isNumber(clientWidth) &&\n (clientWidth !== inner?.width || clientHeight !== inner?.height)\n ) {\n newState = {\n css,\n outer,\n inner: {\n width: Math.floor(clientWidth) || defaultWidth,\n height: Math.floor(clientHeight) || defaultHeight,\n },\n };\n }\n\n if (newState !== size) {\n setSize(newState);\n }\n },\n [defaultHeight, defaultWidth, fixedHeight, fixedWidth, height, size, width],\n );\n\n const onResize: ResizeHandler = useCallback(\n ({ clientHeight, clientWidth }: Partial<ClientSize>) => {\n if (deferResize) {\n sizeRef.current.clientHeight = clientHeight;\n sizeRef.current.clientWidth = clientWidth;\n //\n if (resizeHandleRef.current !== null) {\n clearTimeout(resizeHandleRef.current);\n }\n resizeHandleRef.current = setTimeout(() => {\n handleResize(clientWidth, clientHeight);\n }, 40);\n } else {\n handleResize(clientWidth, clientHeight);\n }\n },\n [deferResize, handleResize],\n );\n\n useEffect(() => {\n if (size.inner) {\n if (containerRef.current) {\n if (typeof height !== \"number\" || height === 0) {\n size.inner.height = containerRef.current.clientHeight;\n }\n size.inner.width = containerRef.current.clientWidth;\n onResizeProp?.(size.inner);\n }\n }\n }, [height, onResizeProp, size.inner]);\n\n useResizeObserver(containerRef, dimensions, onResize, true);\n\n return {\n containerRef,\n cssSize: size.css,\n outerSize: size.outer,\n innerSize: size.inner,\n };\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { Dialog, DialogHeader, DialogContent, DialogCloseButton, DialogActions } from '@salt-ds/core';
|
|
3
|
-
import { createContext, useContext, useCallback, useMemo, useState } from 'react';
|
|
4
|
-
import { Prompt } from '../prompt/Prompt.js';
|
|
5
|
-
|
|
6
|
-
var __defProp = Object.defineProperty;
|
|
7
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
-
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
9
|
-
const useDialogHost = () => {
|
|
10
|
-
const [dialogState, setDialogState] = useState();
|
|
11
|
-
const [promptState, setPromptState] = useState();
|
|
12
|
-
const closePrompt = useCallback(() => {
|
|
13
|
-
setPromptState(void 0);
|
|
14
|
-
}, []);
|
|
15
|
-
const closeDialog = useCallback(() => {
|
|
16
|
-
setDialogState(void 0);
|
|
17
|
-
}, []);
|
|
18
|
-
const handleOpenChange = useCallback(
|
|
19
|
-
(open) => {
|
|
20
|
-
if (open !== true) {
|
|
21
|
-
closeDialog();
|
|
22
|
-
}
|
|
23
|
-
},
|
|
24
|
-
[closeDialog]
|
|
25
|
-
);
|
|
26
|
-
const dialog = dialogState ? /* @__PURE__ */ jsxs(Dialog, { open: true, onOpenChange: handleOpenChange, children: [
|
|
27
|
-
/* @__PURE__ */ jsx(DialogHeader, { header: dialogState.title }),
|
|
28
|
-
/* @__PURE__ */ jsx(DialogContent, { children: dialogState.content }),
|
|
29
|
-
dialogState.hideCloseButton !== true ? /* @__PURE__ */ jsx(
|
|
30
|
-
DialogCloseButton,
|
|
31
|
-
{
|
|
32
|
-
"data-embedded": true,
|
|
33
|
-
"data-icon": "close",
|
|
34
|
-
onClick: closeDialog
|
|
35
|
-
}
|
|
36
|
-
) : null,
|
|
37
|
-
dialogState.actions ? /* @__PURE__ */ jsx(DialogActions, { children: dialogState.actions }) : null
|
|
38
|
-
] }) : null;
|
|
39
|
-
const handleOpenChangePrompt = useCallback(
|
|
40
|
-
(open) => {
|
|
41
|
-
if (open !== true) {
|
|
42
|
-
closePrompt();
|
|
43
|
-
}
|
|
44
|
-
promptState?.promptProps.onOpenChange?.(open);
|
|
45
|
-
},
|
|
46
|
-
[closePrompt, promptState]
|
|
47
|
-
);
|
|
48
|
-
const prompt = promptState ? /* @__PURE__ */ jsx(
|
|
49
|
-
Prompt,
|
|
50
|
-
{
|
|
51
|
-
...promptState.promptProps,
|
|
52
|
-
onClose: closePrompt,
|
|
53
|
-
onOpenChange: handleOpenChangePrompt,
|
|
54
|
-
open: true,
|
|
55
|
-
children: promptState.content
|
|
56
|
-
}
|
|
57
|
-
) : null;
|
|
58
|
-
return {
|
|
59
|
-
dialog,
|
|
60
|
-
prompt,
|
|
61
|
-
setDialogState,
|
|
62
|
-
setPromptState
|
|
63
|
-
};
|
|
64
|
-
};
|
|
65
|
-
const defaultShowDialog = () => {
|
|
66
|
-
console.warn("No DialogProvider in place");
|
|
67
|
-
};
|
|
68
|
-
const defaultCloseDialog = () => {
|
|
69
|
-
console.warn("No DialogProvider in place");
|
|
70
|
-
};
|
|
71
|
-
const defaultShowPrompt = () => {
|
|
72
|
-
console.warn("No DialogProvider in place");
|
|
73
|
-
};
|
|
74
|
-
const defaultClosePrompt = () => {
|
|
75
|
-
console.warn("No DialogProvider in place");
|
|
76
|
-
};
|
|
77
|
-
class DialogContextObject {
|
|
78
|
-
constructor() {
|
|
79
|
-
__publicField(this, "showDialog", defaultShowDialog);
|
|
80
|
-
__publicField(this, "closeDialog", defaultCloseDialog);
|
|
81
|
-
__publicField(this, "showPrompt", defaultShowPrompt);
|
|
82
|
-
__publicField(this, "closePrompt", defaultClosePrompt);
|
|
83
|
-
__publicField(this, "setDispatchers", (showDialog, closeDialog, showPrompt, closePrompt) => {
|
|
84
|
-
this.showDialog = showDialog;
|
|
85
|
-
this.closeDialog = closeDialog;
|
|
86
|
-
this.showPrompt = showPrompt;
|
|
87
|
-
this.closePrompt = closePrompt;
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
const DialogContext = createContext(
|
|
92
|
-
new DialogContextObject()
|
|
93
|
-
);
|
|
94
|
-
const DialogHost = ({ context }) => {
|
|
95
|
-
const { dialog, setDialogState, prompt, setPromptState } = useDialogHost();
|
|
96
|
-
const showDialog = useCallback(
|
|
97
|
-
(dialogContent, title, actionButtons, hideCloseButton) => {
|
|
98
|
-
setDialogState({
|
|
99
|
-
actions: actionButtons,
|
|
100
|
-
content: dialogContent,
|
|
101
|
-
title,
|
|
102
|
-
hideCloseButton
|
|
103
|
-
});
|
|
104
|
-
},
|
|
105
|
-
[setDialogState]
|
|
106
|
-
);
|
|
107
|
-
const closeDialog = useCallback(() => {
|
|
108
|
-
setDialogState(void 0);
|
|
109
|
-
}, [setDialogState]);
|
|
110
|
-
const showPrompt = useCallback(
|
|
111
|
-
(content, promptProps) => {
|
|
112
|
-
setPromptState({
|
|
113
|
-
content,
|
|
114
|
-
promptProps
|
|
115
|
-
});
|
|
116
|
-
},
|
|
117
|
-
[setPromptState]
|
|
118
|
-
);
|
|
119
|
-
const closePrompt = useCallback(() => {
|
|
120
|
-
setPromptState(void 0);
|
|
121
|
-
}, [setPromptState]);
|
|
122
|
-
useMemo(() => {
|
|
123
|
-
context.setDispatchers(showDialog, closeDialog, showPrompt, closePrompt);
|
|
124
|
-
}, [closeDialog, closePrompt, context, showDialog, showPrompt]);
|
|
125
|
-
return dialog ?? prompt;
|
|
126
|
-
};
|
|
127
|
-
const ModalProvider = ({ children }) => {
|
|
128
|
-
const context = useContext(DialogContext);
|
|
129
|
-
return /* @__PURE__ */ jsxs(DialogContext.Provider, { value: context, children: [
|
|
130
|
-
/* @__PURE__ */ jsx(DialogHost, { context }),
|
|
131
|
-
children
|
|
132
|
-
] });
|
|
133
|
-
};
|
|
134
|
-
const useModal = () => {
|
|
135
|
-
const { closeDialog, closePrompt, showDialog, showPrompt } = useContext(DialogContext);
|
|
136
|
-
return { showDialog, closeDialog, showPrompt, closePrompt };
|
|
137
|
-
};
|
|
138
|
-
|
|
139
|
-
export { ModalProvider, useModal };
|
|
140
|
-
//# sourceMappingURL=ModalProvider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ModalProvider.js","sources":["../../../../packages/vuu-ui-controls/src/modal-provider/ModalProvider.tsx"],"sourcesContent":["import {\n Dialog,\n DialogActions,\n DialogCloseButton,\n DialogContent,\n DialogHeader,\n} from \"@salt-ds/core\";\nimport {\n createContext,\n ReactElement,\n ReactNode,\n useCallback,\n useContext,\n useMemo,\n useState,\n} from \"react\";\nimport { Prompt, PromptProps } from \"../prompt/Prompt\";\n\nexport type ShowDialog = (\n dialogContent: ReactElement,\n title: string,\n dialogActionButtons?: ReactElement[],\n hideCloseButton?: boolean,\n) => void;\n\nexport type ShowPrompt = (\n promptContent: ReactElement,\n promptProps: PromptProps,\n) => void;\n\ntype DialogState = {\n actions?: ReactElement[];\n content: ReactElement;\n title: string;\n hideCloseButton?: boolean;\n};\n\ntype PromptState = {\n content: ReactElement;\n promptProps: PromptProps;\n};\n\ntype SetDispatchers = (\n showDialog: ShowDialog,\n closeDialog: () => void,\n showPrompt: ShowPrompt,\n closePrompt: () => void,\n) => void;\n\ninterface DialogContextProps {\n closeDialog: () => void;\n closePrompt: () => void;\n showDialog: ShowDialog;\n showPrompt: ShowPrompt;\n setDispatchers: SetDispatchers;\n}\n\nconst useDialogHost = () => {\n const [dialogState, setDialogState] = useState<DialogState>();\n const [promptState, setPromptState] = useState<PromptState>();\n\n const closePrompt = useCallback(() => {\n setPromptState(undefined);\n }, []);\n\n const closeDialog = useCallback(() => {\n setDialogState(undefined);\n }, []);\n\n const handleOpenChange = useCallback(\n (open?: boolean) => {\n if (open !== true) {\n closeDialog();\n }\n },\n [closeDialog],\n );\n\n const dialog = dialogState ? (\n <Dialog open={true} onOpenChange={handleOpenChange}>\n <DialogHeader header={dialogState.title} />\n <DialogContent>{dialogState.content}</DialogContent>\n {dialogState.hideCloseButton !== true ? (\n <DialogCloseButton\n data-embedded\n data-icon=\"close\"\n onClick={closeDialog}\n />\n ) : null}\n {dialogState.actions ? (\n <DialogActions>{dialogState.actions}</DialogActions>\n ) : null}\n </Dialog>\n ) : null;\n\n const handleOpenChangePrompt = useCallback(\n (open: boolean) => {\n if (open !== true) {\n closePrompt();\n }\n promptState?.promptProps.onOpenChange?.(open);\n },\n [closePrompt, promptState],\n );\n\n const prompt = promptState ? (\n <Prompt\n {...promptState.promptProps}\n onClose={closePrompt}\n onOpenChange={handleOpenChangePrompt}\n open\n >\n {promptState.content}\n </Prompt>\n ) : null;\n\n return {\n dialog,\n prompt,\n setDialogState,\n setPromptState,\n };\n};\n\nconst defaultShowDialog: ShowDialog = () => {\n console.warn(\"No DialogProvider in place\");\n};\nconst defaultCloseDialog = () => {\n console.warn(\"No DialogProvider in place\");\n};\nconst defaultShowPrompt: ShowPrompt = () => {\n console.warn(\"No DialogProvider in place\");\n};\nconst defaultClosePrompt = () => {\n console.warn(\"No DialogProvider in place\");\n};\n\nclass DialogContextObject implements DialogContextProps {\n showDialog = defaultShowDialog;\n closeDialog = defaultCloseDialog;\n showPrompt = defaultShowPrompt;\n closePrompt = defaultClosePrompt;\n setDispatchers: SetDispatchers = (\n showDialog,\n closeDialog,\n showPrompt,\n closePrompt,\n ) => {\n this.showDialog = showDialog;\n this.closeDialog = closeDialog;\n this.showPrompt = showPrompt;\n this.closePrompt = closePrompt;\n };\n}\n\nconst DialogContext = createContext<DialogContextProps>(\n new DialogContextObject(),\n);\n\nconst DialogHost = ({ context }: { context: DialogContextProps }) => {\n const { dialog, setDialogState, prompt, setPromptState } = useDialogHost();\n const showDialog: ShowDialog = useCallback(\n (dialogContent, title, actionButtons, hideCloseButton) => {\n setDialogState({\n actions: actionButtons,\n content: dialogContent,\n title,\n hideCloseButton,\n });\n },\n [setDialogState],\n );\n const closeDialog = useCallback(() => {\n setDialogState(undefined);\n }, [setDialogState]);\n\n const showPrompt: ShowPrompt = useCallback(\n (content, promptProps) => {\n setPromptState({\n content,\n promptProps,\n });\n },\n [setPromptState],\n );\n const closePrompt = useCallback(() => {\n setPromptState(undefined);\n }, [setPromptState]);\n\n useMemo(() => {\n context.setDispatchers(showDialog, closeDialog, showPrompt, closePrompt);\n }, [closeDialog, closePrompt, context, showDialog, showPrompt]);\n return dialog ?? prompt;\n};\n\nexport const ModalProvider = ({ children }: { children: ReactNode }) => {\n const context = useContext(DialogContext);\n return (\n <DialogContext.Provider value={context}>\n <DialogHost context={context} />\n {children}\n </DialogContext.Provider>\n );\n};\n\nexport const useModal = () => {\n const { closeDialog, closePrompt, showDialog, showPrompt } =\n useContext(DialogContext);\n return { showDialog, closeDialog, showPrompt, closePrompt };\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
var overflowContainerCss = "\n.vuuOverflowContainer {\n --overflow-borderColor: var(--vuuOverflowContainer-borderColor, none);\n --overflow-borderStyle: var(--vuuOverflowContainer-borderStyle, none);\n --overflow-borderWidth: var(--vuuOverflowContainer-borderWidth, 0px);\n\n --overflow-border-topWidth: var(--vuuOverflowContainer-borderTopWidth, var(--overflow-borderWidth));\n --overflow-border-rightWidth: var(--vuuOverflowContainer-borderRightWidth, var(--overflow-borderWidth));\n --overflow-border-bottomWidth: var(--vuuOverflowContainer-borderBottomWidth, var(--overflow-borderWidth));\n --overflow-border-leftWidth: var(--vuuOverflowContainer-borderLeftWidth, var(--overflow-borderWidth));\n \n --border: calc(var(--overflow-border-topWidth) + var(--overflow-border-bottomWidth));\n\n --overflow-item-gap : var(--vuuOverflowContainer-gap,2px);\n --overflow-direction: row; \n --overflow-height: var(--overflow-item-height);\n\n background-color: var(--vuuOverflowContainer-background);\n border-color: var(--overflow-borderColor);\n border-style: var(--overflow-borderStyle);\n border-top-width: var(--overflow-border-topWidth);\n border-right-width: var(--overflow-border-rightWidth);\n border-bottom-width: var(--overflow-border-bottomWidth);\n border-left-width: var(--overflow-border-leftWidth);\n height: var(--vuuOverflowContainer-height,var(--overflow-container-height));\n width: var(--overflow-container-width);\n}\n\n.vuuOverflowContainer.vuuOrientation-horizontal {\n --item-align: center;\n --item-margin: 0 var(--overflow-item-gap) 0 var(--overflow-item-gap);\n --overflow-container-height: calc(var(--salt-size-base) + var(--salt-spacing-100));\n --overflow-container-width: var(--vuuOverflowContainer-width, auto);\n --overflow-wrapper-height: var(--overflow-item-height);\n --overflow-item-height: var(--vuuOverflowContainer-contentHeight, calc(var(--overflow-container-height) - var(--total-border-size)));\n --overflow-item-width: auto;\n --overflow-width: 0px;\n --total-border-size: calc(var(--overflow-border-topWidth) + var(--overflow-border-bottomWidth));\n\n min-width: var(--vuuOverflowContainer-minWidth, var(--overflow-container-height));\n\n .vuuOverflowContainer-wrapContainer-overflowed {\n --overflow-left: auto;\n --overflow-position: relative;\n --overflow-width: auto;\n }\n \n}\n.vuuOverflowContainer.vuuOrientation-vertical {\n --item-align: stretch;\n --overflow-container-height: 100%;\n --overflow-container-width: var(--vuuOverflowContainer-width,calc(var(--salt-size-base) + var(--salt-spacing-100)));\n --overflow-item-height: auto;\n --overflow-item-width: calc(var(--overflow-container-width) - var(--total-border-size));\n --overflow-wrapper-height: 100%;\n --total-border-size: calc(var(--overflow-border-leftWidth) + var(--overflow-border-rightWidth));\n\n --item-margin: var(--overflow-item-gap) 0 var(--overflow-item-gap) 0;\n --overflow-direction: column; \n --overflow-height: 0px;\n --overflow-left: 0;\n --overflow-top: 100%;\n --overflow-width: auto;\n\n .vuuOverflowContainer-wrapContainer-overflowed {\n --overflow-top: auto;\n --overflow-position: relative;\n --overflow-height: auto;\n }\n\n}\n\n.vuuOverflowContainer-wrapContainer {\n align-items: var(--item-align);\n display: flex;\n flex-direction: var(--overflow-direction);\n flex-wrap: wrap;\n height: var(--overflow-wrapper-height); \n justify-content: var(--vuuOverflowContainer-justifyContent, flex-start);\n overflow: hidden;\n position: relative;\n width: 100%;\n\n}\n\n.vuuOverflowContainer-wrapContainer-overflowed {\n --overflow-order: 2;\n --overflow-left: auto;\n --overflow-position: relative;\n --overflow-width: auto;\n}\n\n.vuuOverflowContainer.vuuOrientation-vertical.vuuOverflowContainer-wrapContainer-overflowed {\n --overflow-height: auto;\n}\n\n.vuuOverflowContainer-item {\n align-items: inherit;\n display: flex;\n order: 1;\n position: relative;\n height: var(--overflow-item-height);\n margin: var(--item-margin);\n width: var(--overflow-item-width);\n}\n\n.vuuOverflowContainer-item[data-align=\"right\"] {\n margin-left: auto;\n}\n\n.vuuOverflowContainer-item.wrapped {\n --overflow-item-bg: #ccc;\n order: 3;\n visibility: hidden;\n}\n\n.vuuOverflowContainer-item.vuuDraggable-dragAway,\n.vuuOverflowContainer-item:has(.vuuDraggable-dragAway){\n display: none;\n}\n\n.vuuOverflowContainer-item.vuuDropTarget-settling {\n visibility: hidden;\n}\n\n.vuuOverflowContainer-OverflowIndicator {\n align-items: center;\n background-color: transparent;\n display: flex;\n height: var(--overflow-height);\n order: var(--overflow-order, 99);\n overflow: hidden;\n width: var(--overflow-width);\n}\n\n.vuuDraggable-vuuOverflowContainer {\n align-items: center;\n display: flex;\n height: 44px;\n}\n\n";
|
|
2
|
-
|
|
3
|
-
export { overflowContainerCss as default };
|
|
4
|
-
//# sourceMappingURL=OverflowContainer.css.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OverflowContainer.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
-
import { PopupMenu } from '@vuu-ui/vuu-popups';
|
|
3
|
-
import { asReactElements, useId } from '@vuu-ui/vuu-utils';
|
|
4
|
-
import cx from 'clsx';
|
|
5
|
-
import { useComponentCssInjection } from '@salt-ds/styles';
|
|
6
|
-
import { useWindow } from '@salt-ds/window';
|
|
7
|
-
import React, { forwardRef } from 'react';
|
|
8
|
-
import { useOverflowContainer } from './useOverflowContainer.js';
|
|
9
|
-
import overflowContainerCss from './OverflowContainer.css.js';
|
|
10
|
-
|
|
11
|
-
const classBase = "vuuOverflowContainer";
|
|
12
|
-
const WrapContainer = React.memo(
|
|
13
|
-
({
|
|
14
|
-
PopupMenuProps: PopupMenuProps2,
|
|
15
|
-
allowDragDrop,
|
|
16
|
-
children,
|
|
17
|
-
id,
|
|
18
|
-
onMoveItem,
|
|
19
|
-
onSwitchWrappedItemIntoView,
|
|
20
|
-
orientation,
|
|
21
|
-
overflowIcon
|
|
22
|
-
}) => {
|
|
23
|
-
const childElements = asReactElements(children);
|
|
24
|
-
const {
|
|
25
|
-
draggable,
|
|
26
|
-
draggedItemIndex,
|
|
27
|
-
menuActionHandler,
|
|
28
|
-
menuBuilder,
|
|
29
|
-
onItemMouseDown,
|
|
30
|
-
rootRef
|
|
31
|
-
} = useOverflowContainer({
|
|
32
|
-
allowDragDrop,
|
|
33
|
-
itemCount: childElements.length,
|
|
34
|
-
onMoveItem,
|
|
35
|
-
onSwitchWrappedItemIntoView,
|
|
36
|
-
orientation
|
|
37
|
-
});
|
|
38
|
-
const content = childElements.map((childEl, i) => {
|
|
39
|
-
const {
|
|
40
|
-
"data-align": align,
|
|
41
|
-
"data-overflow-priority": overflowPriority = "0",
|
|
42
|
-
id: itemId = `${id}-${i}`,
|
|
43
|
-
label = `Item ${i + 1}`
|
|
44
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
45
|
-
} = childEl.props;
|
|
46
|
-
return /* @__PURE__ */ jsx(
|
|
47
|
-
"div",
|
|
48
|
-
{
|
|
49
|
-
className: cx(`${classBase}-item`, {
|
|
50
|
-
"vuuDraggable-dragAway": draggedItemIndex === i
|
|
51
|
-
}),
|
|
52
|
-
"data-index": i,
|
|
53
|
-
"data-align": align,
|
|
54
|
-
"data-label": label,
|
|
55
|
-
"data-overflow-priority": overflowPriority,
|
|
56
|
-
id: `${itemId}-wrapper`,
|
|
57
|
-
onMouseDown: onItemMouseDown,
|
|
58
|
-
children: childEl
|
|
59
|
-
},
|
|
60
|
-
i
|
|
61
|
-
);
|
|
62
|
-
});
|
|
63
|
-
const overflowIndicator = /* @__PURE__ */ jsx(
|
|
64
|
-
"div",
|
|
65
|
-
{
|
|
66
|
-
className: `${classBase}-OverflowIndicator`,
|
|
67
|
-
"data-index": "overflow",
|
|
68
|
-
children: /* @__PURE__ */ jsx(
|
|
69
|
-
PopupMenu,
|
|
70
|
-
{
|
|
71
|
-
...PopupMenuProps2,
|
|
72
|
-
"data-embedded": true,
|
|
73
|
-
icon: overflowIcon,
|
|
74
|
-
menuBuilder,
|
|
75
|
-
menuActionHandler,
|
|
76
|
-
tabIndex: -1
|
|
77
|
-
}
|
|
78
|
-
)
|
|
79
|
-
},
|
|
80
|
-
"overflow"
|
|
81
|
-
);
|
|
82
|
-
content.push(overflowIndicator);
|
|
83
|
-
return /* @__PURE__ */ jsxs("div", { className: cx(`${classBase}-wrapContainer`), ref: rootRef, children: [
|
|
84
|
-
content,
|
|
85
|
-
draggable
|
|
86
|
-
] });
|
|
87
|
-
}
|
|
88
|
-
);
|
|
89
|
-
WrapContainer.displayName = "OverflowContainer.InnerContainer";
|
|
90
|
-
const OverflowContainer = forwardRef(function OverflowContainer2({
|
|
91
|
-
PopupMenuProps: PopupMenuProps2,
|
|
92
|
-
allowDragDrop = false,
|
|
93
|
-
children,
|
|
94
|
-
className,
|
|
95
|
-
id: idProp,
|
|
96
|
-
onMoveItem,
|
|
97
|
-
onSwitchWrappedItemIntoView,
|
|
98
|
-
orientation = "horizontal",
|
|
99
|
-
overflowIcon,
|
|
100
|
-
overflowPosition,
|
|
101
|
-
...htmlAttributes
|
|
102
|
-
}, forwardedRef) {
|
|
103
|
-
const targetWindow = useWindow();
|
|
104
|
-
useComponentCssInjection({
|
|
105
|
-
testId: "vuu-overflow-container",
|
|
106
|
-
css: overflowContainerCss,
|
|
107
|
-
window: targetWindow
|
|
108
|
-
});
|
|
109
|
-
const id = useId(idProp);
|
|
110
|
-
return /* @__PURE__ */ jsx(
|
|
111
|
-
"div",
|
|
112
|
-
{
|
|
113
|
-
...htmlAttributes,
|
|
114
|
-
className: cx(
|
|
115
|
-
cx(className, classBase, {
|
|
116
|
-
"vuuOrientation-horizontal": orientation === "horizontal",
|
|
117
|
-
"vuuOrientation-vertical": orientation === "vertical"
|
|
118
|
-
})
|
|
119
|
-
),
|
|
120
|
-
id,
|
|
121
|
-
ref: forwardedRef,
|
|
122
|
-
children: /* @__PURE__ */ jsx(
|
|
123
|
-
WrapContainer,
|
|
124
|
-
{
|
|
125
|
-
PopupMenuProps: PopupMenuProps2,
|
|
126
|
-
allowDragDrop,
|
|
127
|
-
id,
|
|
128
|
-
orientation,
|
|
129
|
-
overflowIcon,
|
|
130
|
-
overflowPosition,
|
|
131
|
-
onMoveItem,
|
|
132
|
-
onSwitchWrappedItemIntoView,
|
|
133
|
-
children
|
|
134
|
-
}
|
|
135
|
-
)
|
|
136
|
-
}
|
|
137
|
-
);
|
|
138
|
-
});
|
|
139
|
-
|
|
140
|
-
export { OverflowContainer };
|
|
141
|
-
//# sourceMappingURL=OverflowContainer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OverflowContainer.js","sources":["../../../../packages/vuu-ui-controls/src/overflow-container/OverflowContainer.tsx"],"sourcesContent":["import { PopupMenu, PopupMenuProps } from \"@vuu-ui/vuu-popups\";\nimport { asReactElements, orientationType, useId } from \"@vuu-ui/vuu-utils\";\nimport cx from \"clsx\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport React, { ForwardedRef, forwardRef, HTMLAttributes } from \"react\";\nimport { OverflowItem } from \"./overflow-utils\";\nimport { useOverflowContainer } from \"./useOverflowContainer\";\n\nimport overflowContainerCss from \"./OverflowContainer.css\";\n\nconst classBase = \"vuuOverflowContainer\";\n\nexport interface OverflowContainerProps extends HTMLAttributes<HTMLDivElement> {\n PopupMenuProps?: Partial<PopupMenuProps>;\n allowDragDrop?: boolean;\n debugId?: string;\n onMoveItem?: (fromIndex: number, toIndex: number) => void;\n onSwitchWrappedItemIntoView?: (overflowItem: OverflowItem) => void;\n orientation?: orientationType;\n overflowIcon?: string;\n overflowPosition?: \"start\" | \"end\" | number;\n}\n\nconst WrapContainer = React.memo(\n ({\n PopupMenuProps,\n allowDragDrop,\n children,\n id,\n onMoveItem,\n onSwitchWrappedItemIntoView,\n orientation,\n overflowIcon,\n }: Omit<OverflowContainerProps, \"orientation\"> &\n Required<Pick<OverflowContainerProps, \"orientation\">>) => {\n const childElements = asReactElements(children);\n const {\n draggable,\n draggedItemIndex,\n menuActionHandler,\n menuBuilder,\n onItemMouseDown,\n rootRef,\n } = useOverflowContainer({\n allowDragDrop,\n itemCount: childElements.length,\n onMoveItem,\n onSwitchWrappedItemIntoView,\n orientation,\n });\n\n const content = childElements.map((childEl, i) => {\n const {\n \"data-align\": align,\n \"data-overflow-priority\": overflowPriority = \"0\",\n id: itemId = `${id}-${i}`,\n label = `Item ${i + 1}`,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } = childEl.props as any;\n return (\n <div\n className={cx(`${classBase}-item`, {\n \"vuuDraggable-dragAway\": draggedItemIndex === i,\n })}\n data-index={i}\n data-align={align}\n data-label={label}\n data-overflow-priority={overflowPriority}\n id={`${itemId}-wrapper`}\n key={i}\n onMouseDown={onItemMouseDown}\n >\n {childEl}\n </div>\n );\n });\n\n const overflowIndicator = (\n <div\n className={`${classBase}-OverflowIndicator`}\n data-index=\"overflow\"\n key=\"overflow\"\n >\n <PopupMenu\n {...PopupMenuProps}\n data-embedded\n icon={overflowIcon}\n menuBuilder={menuBuilder}\n menuActionHandler={menuActionHandler}\n tabIndex={-1}\n />\n </div>\n );\n content.push(overflowIndicator);\n\n return (\n <div className={cx(`${classBase}-wrapContainer`)} ref={rootRef}>\n {content}\n {draggable}\n </div>\n );\n },\n);\n\nWrapContainer.displayName = \"OverflowContainer.InnerContainer\";\n\nexport const OverflowContainer = forwardRef(function OverflowContainer(\n {\n PopupMenuProps,\n allowDragDrop = false,\n children,\n className,\n id: idProp,\n onMoveItem,\n onSwitchWrappedItemIntoView,\n orientation = \"horizontal\",\n overflowIcon,\n overflowPosition,\n ...htmlAttributes\n }: OverflowContainerProps,\n forwardedRef: ForwardedRef<HTMLDivElement>,\n) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"vuu-overflow-container\",\n css: overflowContainerCss,\n window: targetWindow,\n });\n\n const id = useId(idProp);\n\n return (\n <div\n {...htmlAttributes}\n className={cx(\n cx(className, classBase, {\n \"vuuOrientation-horizontal\": orientation === \"horizontal\",\n \"vuuOrientation-vertical\": orientation === \"vertical\",\n }),\n )}\n id={id}\n ref={forwardedRef}\n >\n <WrapContainer\n PopupMenuProps={PopupMenuProps}\n allowDragDrop={allowDragDrop}\n id={id}\n orientation={orientation}\n overflowIcon={overflowIcon}\n overflowPosition={overflowPosition}\n onMoveItem={onMoveItem}\n onSwitchWrappedItemIntoView={onSwitchWrappedItemIntoView}\n >\n {children}\n </WrapContainer>\n </div>\n );\n});\n"],"names":["PopupMenuProps","OverflowContainer"],"mappings":"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"}
|