@vuu-ui/vuu-ui-controls 0.9.1 → 0.9.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/node_modules/tabbable/dist/index.esm.js +539 -0
- package/cjs/node_modules/tabbable/dist/index.esm.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/calendar/Calendar.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/calendar/internal/CalendarCarousel.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/calendar/internal/CalendarContext.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/calendar/internal/CalendarDay.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/calendar/internal/CalendarMonth.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/calendar/internal/CalendarNavigation.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/calendar/internal/CalendarWeekHeader.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/calendar/internal/useFocusManagement.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/calendar/internal/utils.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/calendar/useCalendar.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/calendar/useCalendarDay.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/calendar/useSelection.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/column-picker/ColumnPicker.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/column-picker/ColumnSearch.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/common-hooks/collectionProvider.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/common-hooks/isPlainObject.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/common-hooks/itemToString.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/common-hooks/selectionTypes.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/common-hooks/use-resize-observer.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/common-hooks/useCollectionItems.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/common-hooks/useControlled.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/common-hooks/useSelection.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/cycle-state-button/CycleStateButton.js +50 -0
- package/cjs/packages/vuu-ui-controls/src/cycle-state-button/CycleStateButton.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/date-input/DateInput.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/date-picker/DatePicker.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/date-picker/DatePickerContext.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/date-picker/DatePickerPanel.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/drag-drop/DragDropProvider.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/drag-drop/DragDropState.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/drag-drop/Draggable.js +90 -0
- package/cjs/packages/vuu-ui-controls/src/drag-drop/Draggable.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/drag-drop/dragDropTypes.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/drag-drop/drop-target-utils.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/drag-drop/useAutoScroll.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/drag-drop/useDragDisplacers.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/drag-drop/useDragDrop.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/drag-drop/useDragDropCopy.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/drag-drop/useDragDropIndicator.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/drag-drop/useDragDropNaturalMovement.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/drag-drop/useDropIndicator.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/drag-drop/useGlobalDragDrop.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/editable/useEditableText.js +125 -0
- package/cjs/packages/vuu-ui-controls/src/editable/useEditableText.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/editable-label/EditableLabel.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/expando-input/ExpandoInput.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/icon-button/Icon.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/icon-button/IconButton.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/icon-button/ToggleIconButton.css.js +6 -0
- package/cjs/packages/vuu-ui-controls/src/icon-button/ToggleIconButton.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/index.js +232 -0
- package/cjs/packages/vuu-ui-controls/src/index.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/instrument-picker/TablePicker.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/instrument-picker/useTablePicker.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/list/Highlighter.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/list/List.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/list/ListItem.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/list/ListItemGroup.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/list/ListItemHeader.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/list/RadioIcon.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/list/common-hooks/keyUtils.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/list/common-hooks/list-dom-utils.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/list/common-hooks/useCollapsibleGroups.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/list/common-hooks/useImperativeScrollingAPI.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/list/common-hooks/useKeyboardNavigation.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/list/common-hooks/useTypeahead.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/list/common-hooks/useViewportTracking.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/list/common-hooks/utils/collection-item-utils.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/list/common-hooks/utils/filter-utils.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/list/common-hooks/utils/isSelected.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/list/useList.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/list/useListDrop.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/list/useListHeight.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/list/useScrollPosition.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/measured-container/MeasuredContainer.js +70 -0
- package/cjs/packages/vuu-ui-controls/src/measured-container/MeasuredContainer.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/measured-container/useMeasuredContainer.js +140 -0
- package/cjs/packages/vuu-ui-controls/src/measured-container/useMeasuredContainer.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/measured-container/useResizeObserver.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/overflow-container/OverflowContainer.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/overflow-container/overflow-utils.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/overflow-container/useOverflowContainer.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/price-ticker/PriceTicker.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/split-button/SplitButton.css.js +6 -0
- package/cjs/packages/vuu-ui-controls/src/split-button/SplitButton.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/split-button/SplitStateButton.css.js +6 -0
- package/cjs/packages/vuu-ui-controls/src/split-button/SplitStateButton.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/split-button/useSplitButton.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/table-search/SearchCell.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/table-search/TableSearch.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/table-search/useTableSearch.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/TabBar.css.js +6 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/TabBar.css.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/TabBar.js +41 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/TabBar.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/TabListNext.css.js +6 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/TabListNext.css.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/TabListNext.js +124 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/TabListNext.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/TabNext.css.js +6 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/TabNext.css.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/TabNext.js +110 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/TabNext.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/TabNextAction.js +35 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/TabNextAction.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/TabNextContext.js +23 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/TabNextContext.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/TabNextPanel.css.js +6 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/TabNextPanel.css.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/TabNextPanel.js +77 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/TabNextPanel.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/TabNextTrigger.css.js +6 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/TabNextTrigger.css.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/TabNextTrigger.js +74 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/TabNextTrigger.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/TabOverflowList.css.js +6 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/TabOverflowList.css.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/TabOverflowList.js +130 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/TabOverflowList.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/TabsNext.js +174 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/TabsNext.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/TabsNextContext.js +33 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/TabsNextContext.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/hooks/useCollection.js +91 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/hooks/useCollection.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/hooks/useFocusOutside.js +24 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/hooks/useFocusOutside.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/hooks/useOverflow.js +138 -0
- package/cjs/packages/vuu-ui-controls/src/tabs-next/hooks/useOverflow.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/tabstrip/Tab.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/tabstrip/TabMenu.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/tabstrip/TabMenuOptions.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/tabstrip/Tabstrip.css.js +6 -0
- package/cjs/packages/vuu-ui-controls/src/tabstrip/Tabstrip.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/tabstrip/tabstrip-dom-utils.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/tabstrip/useAnimatedSelectionThumb.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/tabstrip/useKeyboardNavigation.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/tabstrip/useSelection.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/tabstrip/useTabstrip.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/toolbar/Toolbar.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/toolbar/toolbar-dom-utils.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/toolbar/useKeyboardNavigation.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/toolbar/useSelection.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/toolbar/useToolbar.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/utils/escapeRegExp.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/utils/forwardCallbackProps.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/utils/isOverflowElement.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/utils/isPlainObject.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/vuu-date-picker/VuuDatePicker.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/vuu-input/VuuInput.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/vuu-typeahead-input/VuuTypeaheadInput.js.map +1 -0
- package/cjs/packages/vuu-ui-controls/src/vuu-typeahead-input/useVuuTypeaheadInput.js.map +1 -0
- package/esm/node_modules/tabbable/dist/index.esm.js +536 -0
- package/esm/node_modules/tabbable/dist/index.esm.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/calendar/Calendar.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/calendar/internal/CalendarCarousel.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/calendar/internal/CalendarContext.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/calendar/internal/CalendarDay.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/calendar/internal/CalendarMonth.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/calendar/internal/CalendarNavigation.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/calendar/internal/CalendarWeekHeader.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/calendar/internal/useFocusManagement.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/calendar/internal/utils.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/calendar/useCalendar.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/calendar/useCalendarDay.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/calendar/useSelection.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/column-picker/ColumnPicker.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/column-picker/ColumnSearch.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/common-hooks/collectionProvider.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/common-hooks/isPlainObject.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/common-hooks/itemToString.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/common-hooks/selectionTypes.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/common-hooks/use-resize-observer.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/common-hooks/useCollectionItems.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/common-hooks/useControlled.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/common-hooks/useSelection.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/cycle-state-button/CycleStateButton.js +48 -0
- package/esm/packages/vuu-ui-controls/src/cycle-state-button/CycleStateButton.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/date-input/DateInput.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/date-picker/DatePicker.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/date-picker/DatePickerContext.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/date-picker/DatePickerPanel.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/drag-drop/DragDropProvider.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/drag-drop/DragDropState.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/drag-drop/Draggable.js +85 -0
- package/esm/packages/vuu-ui-controls/src/drag-drop/Draggable.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/drag-drop/dragDropTypes.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/drag-drop/drop-target-utils.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/drag-drop/useAutoScroll.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/drag-drop/useDragDisplacers.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/drag-drop/useDragDrop.js +502 -0
- package/esm/packages/vuu-ui-controls/src/drag-drop/useDragDrop.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/drag-drop/useDragDropCopy.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/drag-drop/useDragDropIndicator.js +249 -0
- package/esm/packages/vuu-ui-controls/src/drag-drop/useDragDropIndicator.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/drag-drop/useDragDropNaturalMovement.js +263 -0
- package/esm/packages/vuu-ui-controls/src/drag-drop/useDragDropNaturalMovement.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/drag-drop/useDropIndicator.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/drag-drop/useGlobalDragDrop.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/editable/useEditableText.js +123 -0
- package/esm/packages/vuu-ui-controls/src/editable/useEditableText.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/editable-label/EditableLabel.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/expando-input/ExpandoInput.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/icon-button/Icon.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/icon-button/IconButton.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/icon-button/ToggleIconButton.css.js +4 -0
- package/esm/packages/vuu-ui-controls/src/icon-button/ToggleIconButton.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/index.js +73 -0
- package/esm/packages/vuu-ui-controls/src/index.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/instrument-picker/TablePicker.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/instrument-picker/useTablePicker.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/list/Highlighter.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/list/List.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/list/ListItem.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/list/ListItemGroup.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/list/ListItemHeader.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/list/RadioIcon.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/list/common-hooks/keyUtils.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/list/common-hooks/list-dom-utils.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/list/common-hooks/useCollapsibleGroups.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/list/common-hooks/useImperativeScrollingAPI.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/list/common-hooks/useKeyboardNavigation.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/list/common-hooks/useTypeahead.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/list/common-hooks/useViewportTracking.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/list/common-hooks/utils/collection-item-utils.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/list/common-hooks/utils/filter-utils.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/list/common-hooks/utils/isSelected.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/list/useList.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/list/useListDrop.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/list/useListHeight.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/list/useScrollPosition.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/measured-container/MeasuredContainer.js +68 -0
- package/esm/packages/vuu-ui-controls/src/measured-container/MeasuredContainer.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/measured-container/useMeasuredContainer.js +137 -0
- package/esm/packages/vuu-ui-controls/src/measured-container/useMeasuredContainer.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/measured-container/useResizeObserver.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/overflow-container/OverflowContainer.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/overflow-container/overflow-utils.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/overflow-container/useOverflowContainer.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/price-ticker/PriceTicker.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/split-button/SplitButton.css.js +4 -0
- package/esm/packages/vuu-ui-controls/src/split-button/SplitButton.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/split-button/SplitStateButton.css.js +4 -0
- package/esm/packages/vuu-ui-controls/src/split-button/SplitStateButton.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/split-button/useSplitButton.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/table-search/SearchCell.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/table-search/TableSearch.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/table-search/useTableSearch.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/TabBar.css.js +4 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/TabBar.css.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/TabBar.js +39 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/TabBar.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/TabListNext.css.js +4 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/TabListNext.css.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/TabListNext.js +122 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/TabListNext.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/TabNext.css.js +4 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/TabNext.css.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/TabNext.js +108 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/TabNext.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/TabNextAction.js +33 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/TabNextAction.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/TabNextContext.js +20 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/TabNextContext.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/TabNextPanel.css.js +4 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/TabNextPanel.css.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/TabNextPanel.js +75 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/TabNextPanel.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/TabNextTrigger.css.js +4 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/TabNextTrigger.css.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/TabNextTrigger.js +72 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/TabNextTrigger.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/TabOverflowList.css.js +4 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/TabOverflowList.css.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/TabOverflowList.js +128 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/TabOverflowList.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/TabsNext.js +172 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/TabsNext.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/TabsNextContext.js +30 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/TabsNextContext.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/hooks/useCollection.js +89 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/hooks/useCollection.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/hooks/useFocusOutside.js +22 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/hooks/useFocusOutside.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/hooks/useOverflow.js +136 -0
- package/esm/packages/vuu-ui-controls/src/tabs-next/hooks/useOverflow.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/tabstrip/Tab.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/tabstrip/TabMenu.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/tabstrip/TabMenuOptions.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/tabstrip/Tabstrip.css.js +4 -0
- package/esm/packages/vuu-ui-controls/src/tabstrip/Tabstrip.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/tabstrip/tabstrip-dom-utils.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/tabstrip/useAnimatedSelectionThumb.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/tabstrip/useKeyboardNavigation.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/tabstrip/useSelection.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/tabstrip/useTabstrip.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/toolbar/Toolbar.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/toolbar/toolbar-dom-utils.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/toolbar/useKeyboardNavigation.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/toolbar/useSelection.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/toolbar/useToolbar.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/utils/escapeRegExp.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/utils/forwardCallbackProps.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/utils/isOverflowElement.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/utils/isPlainObject.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/vuu-date-picker/VuuDatePicker.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/vuu-input/VuuInput.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/vuu-typeahead-input/VuuTypeaheadInput.js.map +1 -0
- package/esm/packages/vuu-ui-controls/src/vuu-typeahead-input/useVuuTypeaheadInput.js.map +1 -0
- package/package.json +9 -9
- package/types/calendar/Calendar.d.ts +0 -1
- package/types/calendar/internal/CalendarCarousel.d.ts +0 -1
- package/types/calendar/internal/CalendarContext.d.ts +0 -1
- package/types/calendar/useCalendar.d.ts +4 -4
- package/types/calendar/useCalendarDay.d.ts +2 -2
- package/types/column-picker/ColumnPicker.d.ts +0 -1
- package/types/common-hooks/collectionProvider.d.ts +1 -1
- package/types/common-hooks/selectionTypes.d.ts +1 -1
- package/types/cycle-state-button/CycleStateButton.d.ts +2 -4
- package/types/date-picker/DatePickerContext.d.ts +0 -1
- package/types/drag-drop/DragDropProvider.d.ts +1 -1
- package/types/drag-drop/DropIndicator.d.ts +1 -2
- package/types/drag-drop/drop-target-utils.d.ts +24 -20
- package/types/drag-drop/useAutoScroll.d.ts +2 -2
- package/types/drag-drop/useGlobalDragDrop.d.ts +0 -1
- package/types/editable/useEditableText.d.ts +5 -6
- package/types/expando-input/ExpandoInput.d.ts +0 -1
- package/types/icon-button/Icon.d.ts +1 -1
- package/types/icon-button/IconButton.d.ts +0 -1
- package/types/icon-button/ToggleIconButton.d.ts +1 -2
- package/types/index.d.ts +1 -1
- package/types/instrument-picker/SearchCell.d.ts +1 -2
- package/types/instrument-picker/TablePicker.d.ts +1 -1
- package/types/instrument-picker/useTablePicker.d.ts +3 -10
- package/types/list/ChevronIcon.d.ts +1 -1
- package/types/list/ListItem.d.ts +1 -1
- package/types/list/RadioIcon.d.ts +1 -2
- package/types/list/common-hooks/useTypeahead.d.ts +0 -1
- package/types/overflow-container/useOverflowContainer.d.ts +4 -5
- package/types/price-ticker/PriceTicker.d.ts +1 -1
- package/types/split-button/SplitStateButton.d.ts +0 -1
- package/types/split-button/useSplitButton.d.ts +58 -55
- package/types/table-search/SearchCell.d.ts +1 -2
- package/types/table-search/TableSearch.d.ts +1 -1
- package/types/tabs-next/TabBar.d.ts +12 -0
- package/types/tabs-next/TabListNext.d.ts +12 -0
- package/types/tabs-next/TabNext.d.ts +12 -0
- package/types/tabs-next/TabNextAction.d.ts +5 -0
- package/types/tabs-next/TabNextContext.d.ts +12 -0
- package/types/tabs-next/TabNextPanel.d.ts +8 -0
- package/types/tabs-next/TabNextTrigger.d.ts +5 -0
- package/types/tabs-next/TabOverflowList.d.ts +11 -0
- package/types/tabs-next/TabsNext.d.ts +17 -0
- package/types/tabs-next/TabsNextContext.d.ts +21 -0
- package/types/tabs-next/hooks/useCollection.d.ts +18 -0
- package/types/tabs-next/hooks/useFocusOutside.d.ts +2 -0
- package/types/tabs-next/hooks/useOverflow.d.ts +11 -0
- package/types/tabs-next/index.d.ts +7 -0
- package/types/tabstrip/Tab.d.ts +23 -22
- package/types/tabstrip/TabMenu.d.ts +1 -2
- package/types/tabstrip/Tabstrip.d.ts +1 -2
- package/types/tabstrip/useSelection.d.ts +3 -3
- package/types/tabstrip/useTabstrip.d.ts +5 -5
- package/types/toolbar/Toolbar.d.ts +1 -2
- package/types/toolbar/useToolbar.d.ts +1 -1
- package/types/vuu-date-picker/VuuDatePicker.d.ts +4 -6
- package/types/vuu-typeahead-input/VuuTypeaheadInput.d.ts +1 -2
- package/cjs/calendar/Calendar.js.map +0 -1
- package/cjs/calendar/internal/CalendarCarousel.js.map +0 -1
- package/cjs/calendar/internal/CalendarContext.js.map +0 -1
- package/cjs/calendar/internal/CalendarDay.js.map +0 -1
- package/cjs/calendar/internal/CalendarMonth.js.map +0 -1
- package/cjs/calendar/internal/CalendarNavigation.js.map +0 -1
- package/cjs/calendar/internal/CalendarWeekHeader.js.map +0 -1
- package/cjs/calendar/internal/useFocusManagement.js.map +0 -1
- package/cjs/calendar/internal/utils.js.map +0 -1
- package/cjs/calendar/useCalendar.js.map +0 -1
- package/cjs/calendar/useCalendarDay.js.map +0 -1
- package/cjs/calendar/useSelection.js.map +0 -1
- package/cjs/column-picker/ColumnPicker.js.map +0 -1
- package/cjs/column-picker/ColumnSearch.js.map +0 -1
- package/cjs/common-hooks/collectionProvider.js.map +0 -1
- package/cjs/common-hooks/isPlainObject.js.map +0 -1
- package/cjs/common-hooks/itemToString.js.map +0 -1
- package/cjs/common-hooks/selectionTypes.js.map +0 -1
- package/cjs/common-hooks/use-resize-observer.js.map +0 -1
- package/cjs/common-hooks/useCollectionItems.js.map +0 -1
- package/cjs/common-hooks/useControlled.js.map +0 -1
- package/cjs/common-hooks/useSelection.js.map +0 -1
- package/cjs/cycle-state-button/CycleStateButton.js +0 -54
- package/cjs/cycle-state-button/CycleStateButton.js.map +0 -1
- package/cjs/date-input/DateInput.js.map +0 -1
- package/cjs/date-picker/DatePicker.js.map +0 -1
- package/cjs/date-picker/DatePickerContext.js.map +0 -1
- package/cjs/date-picker/DatePickerPanel.js.map +0 -1
- package/cjs/drag-drop/DragDropProvider.js.map +0 -1
- package/cjs/drag-drop/DragDropState.js.map +0 -1
- package/cjs/drag-drop/Draggable.js +0 -95
- package/cjs/drag-drop/Draggable.js.map +0 -1
- package/cjs/drag-drop/dragDropTypes.js.map +0 -1
- package/cjs/drag-drop/drop-target-utils.js.map +0 -1
- package/cjs/drag-drop/useAutoScroll.js.map +0 -1
- package/cjs/drag-drop/useDragDisplacers.js.map +0 -1
- package/cjs/drag-drop/useDragDrop.js.map +0 -1
- package/cjs/drag-drop/useDragDropCopy.js.map +0 -1
- package/cjs/drag-drop/useDragDropIndicator.js.map +0 -1
- package/cjs/drag-drop/useDragDropNaturalMovement.js.map +0 -1
- package/cjs/drag-drop/useDropIndicator.js.map +0 -1
- package/cjs/drag-drop/useGlobalDragDrop.js.map +0 -1
- package/cjs/editable/useEditableText.js +0 -106
- package/cjs/editable/useEditableText.js.map +0 -1
- package/cjs/editable-label/EditableLabel.js.map +0 -1
- package/cjs/expando-input/ExpandoInput.js.map +0 -1
- package/cjs/icon-button/Icon.js.map +0 -1
- package/cjs/icon-button/IconButton.js.map +0 -1
- package/cjs/icon-button/ToggleIconButton.css.js +0 -6
- package/cjs/icon-button/ToggleIconButton.js.map +0 -1
- package/cjs/index.js +0 -224
- package/cjs/index.js.map +0 -1
- package/cjs/instrument-picker/TablePicker.js.map +0 -1
- package/cjs/instrument-picker/useTablePicker.js.map +0 -1
- package/cjs/list/Highlighter.js.map +0 -1
- package/cjs/list/List.js.map +0 -1
- package/cjs/list/ListItem.js.map +0 -1
- package/cjs/list/ListItemGroup.js.map +0 -1
- package/cjs/list/ListItemHeader.js.map +0 -1
- package/cjs/list/RadioIcon.js.map +0 -1
- package/cjs/list/common-hooks/keyUtils.js.map +0 -1
- package/cjs/list/common-hooks/list-dom-utils.js.map +0 -1
- package/cjs/list/common-hooks/useCollapsibleGroups.js.map +0 -1
- package/cjs/list/common-hooks/useImperativeScrollingAPI.js.map +0 -1
- package/cjs/list/common-hooks/useKeyboardNavigation.js.map +0 -1
- package/cjs/list/common-hooks/useTypeahead.js.map +0 -1
- package/cjs/list/common-hooks/useViewportTracking.js.map +0 -1
- package/cjs/list/common-hooks/utils/collection-item-utils.js.map +0 -1
- package/cjs/list/common-hooks/utils/filter-utils.js.map +0 -1
- package/cjs/list/common-hooks/utils/isSelected.js.map +0 -1
- package/cjs/list/useList.js.map +0 -1
- package/cjs/list/useListDrop.js.map +0 -1
- package/cjs/list/useListHeight.js.map +0 -1
- package/cjs/list/useScrollPosition.js.map +0 -1
- package/cjs/measured-container/MeasuredContainer.js +0 -69
- package/cjs/measured-container/MeasuredContainer.js.map +0 -1
- package/cjs/measured-container/useMeasuredContainer.js +0 -137
- package/cjs/measured-container/useMeasuredContainer.js.map +0 -1
- package/cjs/measured-container/useResizeObserver.js.map +0 -1
- package/cjs/overflow-container/OverflowContainer.js.map +0 -1
- package/cjs/overflow-container/overflow-utils.js.map +0 -1
- package/cjs/overflow-container/useOverflowContainer.js.map +0 -1
- package/cjs/price-ticker/PriceTicker.js.map +0 -1
- package/cjs/split-button/SplitButton.css.js +0 -6
- package/cjs/split-button/SplitButton.js.map +0 -1
- package/cjs/split-button/SplitStateButton.css.js +0 -6
- package/cjs/split-button/SplitStateButton.js.map +0 -1
- package/cjs/split-button/useSplitButton.js.map +0 -1
- package/cjs/table-search/SearchCell.js.map +0 -1
- package/cjs/table-search/TableSearch.js.map +0 -1
- package/cjs/table-search/useTableSearch.js.map +0 -1
- package/cjs/tabstrip/Tab.js.map +0 -1
- package/cjs/tabstrip/TabMenu.js.map +0 -1
- package/cjs/tabstrip/TabMenuOptions.js.map +0 -1
- package/cjs/tabstrip/Tabstrip.css.js +0 -6
- package/cjs/tabstrip/Tabstrip.js.map +0 -1
- package/cjs/tabstrip/tabstrip-dom-utils.js.map +0 -1
- package/cjs/tabstrip/useAnimatedSelectionThumb.js.map +0 -1
- package/cjs/tabstrip/useKeyboardNavigation.js.map +0 -1
- package/cjs/tabstrip/useSelection.js.map +0 -1
- package/cjs/tabstrip/useTabstrip.js.map +0 -1
- package/cjs/toolbar/Toolbar.js.map +0 -1
- package/cjs/toolbar/toolbar-dom-utils.js.map +0 -1
- package/cjs/toolbar/useKeyboardNavigation.js.map +0 -1
- package/cjs/toolbar/useSelection.js.map +0 -1
- package/cjs/toolbar/useToolbar.js.map +0 -1
- package/cjs/tree/Tree.css.js +0 -6
- package/cjs/tree/Tree.css.js.map +0 -1
- package/cjs/tree/Tree.js +0 -179
- package/cjs/tree/Tree.js.map +0 -1
- package/cjs/tree/hierarchical-data-utils.js +0 -72
- package/cjs/tree/hierarchical-data-utils.js.map +0 -1
- package/cjs/tree/key-code.js +0 -62
- package/cjs/tree/key-code.js.map +0 -1
- package/cjs/tree/list-dom-utils.js +0 -19
- package/cjs/tree/list-dom-utils.js.map +0 -1
- package/cjs/tree/treeTypeUtils.js +0 -6
- package/cjs/tree/treeTypeUtils.js.map +0 -1
- package/cjs/tree/use-collapsible-groups.js +0 -85
- package/cjs/tree/use-collapsible-groups.js.map +0 -1
- package/cjs/tree/use-hierarchical-data.js +0 -51
- package/cjs/tree/use-hierarchical-data.js.map +0 -1
- package/cjs/tree/use-items-with-ids.js +0 -100
- package/cjs/tree/use-items-with-ids.js.map +0 -1
- package/cjs/tree/use-keyboard-navigation.js +0 -144
- package/cjs/tree/use-keyboard-navigation.js.map +0 -1
- package/cjs/tree/use-selection.js +0 -154
- package/cjs/tree/use-selection.js.map +0 -1
- package/cjs/tree/use-tree-keyboard-navigation.js +0 -41
- package/cjs/tree/use-tree-keyboard-navigation.js.map +0 -1
- package/cjs/tree/use-viewport-tracking.js +0 -76
- package/cjs/tree/use-viewport-tracking.js.map +0 -1
- package/cjs/tree/useTree.js +0 -106
- package/cjs/tree/useTree.js.map +0 -1
- package/cjs/utils/escapeRegExp.js.map +0 -1
- package/cjs/utils/forwardCallbackProps.js.map +0 -1
- package/cjs/utils/isOverflowElement.js.map +0 -1
- package/cjs/utils/isPlainObject.js.map +0 -1
- package/cjs/vuu-date-picker/VuuDatePicker.js.map +0 -1
- package/cjs/vuu-input/VuuInput.js.map +0 -1
- package/cjs/vuu-typeahead-input/VuuTypeaheadInput.js.map +0 -1
- package/cjs/vuu-typeahead-input/useVuuTypeaheadInput.js.map +0 -1
- package/esm/calendar/Calendar.js.map +0 -1
- package/esm/calendar/internal/CalendarCarousel.js.map +0 -1
- package/esm/calendar/internal/CalendarContext.js.map +0 -1
- package/esm/calendar/internal/CalendarDay.js.map +0 -1
- package/esm/calendar/internal/CalendarMonth.js.map +0 -1
- package/esm/calendar/internal/CalendarNavigation.js.map +0 -1
- package/esm/calendar/internal/CalendarWeekHeader.js.map +0 -1
- package/esm/calendar/internal/useFocusManagement.js.map +0 -1
- package/esm/calendar/internal/utils.js.map +0 -1
- package/esm/calendar/useCalendar.js.map +0 -1
- package/esm/calendar/useCalendarDay.js.map +0 -1
- package/esm/calendar/useSelection.js.map +0 -1
- package/esm/column-picker/ColumnPicker.js.map +0 -1
- package/esm/column-picker/ColumnSearch.js.map +0 -1
- package/esm/common-hooks/collectionProvider.js.map +0 -1
- package/esm/common-hooks/isPlainObject.js.map +0 -1
- package/esm/common-hooks/itemToString.js.map +0 -1
- package/esm/common-hooks/selectionTypes.js.map +0 -1
- package/esm/common-hooks/use-resize-observer.js.map +0 -1
- package/esm/common-hooks/useCollectionItems.js.map +0 -1
- package/esm/common-hooks/useControlled.js.map +0 -1
- package/esm/common-hooks/useSelection.js.map +0 -1
- package/esm/cycle-state-button/CycleStateButton.js +0 -52
- package/esm/cycle-state-button/CycleStateButton.js.map +0 -1
- package/esm/date-input/DateInput.js.map +0 -1
- package/esm/date-picker/DatePicker.js.map +0 -1
- package/esm/date-picker/DatePickerContext.js.map +0 -1
- package/esm/date-picker/DatePickerPanel.js.map +0 -1
- package/esm/drag-drop/DragDropProvider.js.map +0 -1
- package/esm/drag-drop/DragDropState.js.map +0 -1
- package/esm/drag-drop/Draggable.js +0 -90
- package/esm/drag-drop/Draggable.js.map +0 -1
- package/esm/drag-drop/dragDropTypes.js.map +0 -1
- package/esm/drag-drop/drop-target-utils.js.map +0 -1
- package/esm/drag-drop/useAutoScroll.js.map +0 -1
- 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.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.map +0 -1
- package/esm/drag-drop/useGlobalDragDrop.js.map +0 -1
- package/esm/editable/useEditableText.js +0 -103
- package/esm/editable/useEditableText.js.map +0 -1
- package/esm/editable-label/EditableLabel.js.map +0 -1
- package/esm/expando-input/ExpandoInput.js.map +0 -1
- package/esm/icon-button/Icon.js.map +0 -1
- package/esm/icon-button/IconButton.js.map +0 -1
- package/esm/icon-button/ToggleIconButton.css.js +0 -4
- package/esm/icon-button/ToggleIconButton.js.map +0 -1
- package/esm/index.js +0 -68
- package/esm/index.js.map +0 -1
- package/esm/instrument-picker/TablePicker.js.map +0 -1
- package/esm/instrument-picker/useTablePicker.js.map +0 -1
- package/esm/list/Highlighter.js.map +0 -1
- package/esm/list/List.js.map +0 -1
- package/esm/list/ListItem.js.map +0 -1
- package/esm/list/ListItemGroup.js.map +0 -1
- package/esm/list/ListItemHeader.js.map +0 -1
- package/esm/list/RadioIcon.js.map +0 -1
- package/esm/list/common-hooks/keyUtils.js.map +0 -1
- package/esm/list/common-hooks/list-dom-utils.js.map +0 -1
- package/esm/list/common-hooks/useCollapsibleGroups.js.map +0 -1
- package/esm/list/common-hooks/useImperativeScrollingAPI.js.map +0 -1
- package/esm/list/common-hooks/useKeyboardNavigation.js.map +0 -1
- package/esm/list/common-hooks/useTypeahead.js.map +0 -1
- package/esm/list/common-hooks/useViewportTracking.js.map +0 -1
- package/esm/list/common-hooks/utils/collection-item-utils.js.map +0 -1
- package/esm/list/common-hooks/utils/filter-utils.js.map +0 -1
- package/esm/list/common-hooks/utils/isSelected.js.map +0 -1
- package/esm/list/useList.js.map +0 -1
- package/esm/list/useListDrop.js.map +0 -1
- package/esm/list/useListHeight.js.map +0 -1
- package/esm/list/useScrollPosition.js.map +0 -1
- package/esm/measured-container/MeasuredContainer.js +0 -67
- package/esm/measured-container/MeasuredContainer.js.map +0 -1
- package/esm/measured-container/useMeasuredContainer.js +0 -134
- package/esm/measured-container/useMeasuredContainer.js.map +0 -1
- package/esm/measured-container/useResizeObserver.js.map +0 -1
- package/esm/overflow-container/OverflowContainer.js.map +0 -1
- package/esm/overflow-container/overflow-utils.js.map +0 -1
- package/esm/overflow-container/useOverflowContainer.js.map +0 -1
- package/esm/price-ticker/PriceTicker.js.map +0 -1
- package/esm/split-button/SplitButton.css.js +0 -4
- package/esm/split-button/SplitButton.js.map +0 -1
- package/esm/split-button/SplitStateButton.css.js +0 -4
- package/esm/split-button/SplitStateButton.js.map +0 -1
- package/esm/split-button/useSplitButton.js.map +0 -1
- package/esm/table-search/SearchCell.js.map +0 -1
- package/esm/table-search/TableSearch.js.map +0 -1
- package/esm/table-search/useTableSearch.js.map +0 -1
- package/esm/tabstrip/Tab.js.map +0 -1
- package/esm/tabstrip/TabMenu.js.map +0 -1
- package/esm/tabstrip/TabMenuOptions.js.map +0 -1
- package/esm/tabstrip/Tabstrip.css.js +0 -4
- package/esm/tabstrip/Tabstrip.js.map +0 -1
- package/esm/tabstrip/tabstrip-dom-utils.js.map +0 -1
- package/esm/tabstrip/useAnimatedSelectionThumb.js.map +0 -1
- package/esm/tabstrip/useKeyboardNavigation.js.map +0 -1
- package/esm/tabstrip/useSelection.js.map +0 -1
- package/esm/tabstrip/useTabstrip.js.map +0 -1
- package/esm/toolbar/Toolbar.js.map +0 -1
- package/esm/toolbar/toolbar-dom-utils.js.map +0 -1
- package/esm/toolbar/useKeyboardNavigation.js.map +0 -1
- package/esm/toolbar/useSelection.js.map +0 -1
- package/esm/toolbar/useToolbar.js.map +0 -1
- package/esm/tree/Tree.css.js +0 -4
- package/esm/tree/Tree.css.js.map +0 -1
- package/esm/tree/Tree.js +0 -176
- package/esm/tree/Tree.js.map +0 -1
- package/esm/tree/hierarchical-data-utils.js +0 -65
- package/esm/tree/hierarchical-data-utils.js.map +0 -1
- package/esm/tree/key-code.js +0 -54
- package/esm/tree/key-code.js.map +0 -1
- package/esm/tree/list-dom-utils.js +0 -15
- package/esm/tree/list-dom-utils.js.map +0 -1
- package/esm/tree/treeTypeUtils.js +0 -4
- package/esm/tree/treeTypeUtils.js.map +0 -1
- package/esm/tree/use-collapsible-groups.js +0 -83
- package/esm/tree/use-collapsible-groups.js.map +0 -1
- package/esm/tree/use-hierarchical-data.js +0 -49
- package/esm/tree/use-hierarchical-data.js.map +0 -1
- package/esm/tree/use-items-with-ids.js +0 -98
- package/esm/tree/use-items-with-ids.js.map +0 -1
- package/esm/tree/use-keyboard-navigation.js +0 -142
- package/esm/tree/use-keyboard-navigation.js.map +0 -1
- package/esm/tree/use-selection.js +0 -147
- package/esm/tree/use-selection.js.map +0 -1
- package/esm/tree/use-tree-keyboard-navigation.js +0 -39
- package/esm/tree/use-tree-keyboard-navigation.js.map +0 -1
- package/esm/tree/use-viewport-tracking.js +0 -74
- package/esm/tree/use-viewport-tracking.js.map +0 -1
- package/esm/tree/useTree.js +0 -104
- package/esm/tree/useTree.js.map +0 -1
- package/esm/utils/escapeRegExp.js.map +0 -1
- package/esm/utils/forwardCallbackProps.js.map +0 -1
- package/esm/utils/isOverflowElement.js.map +0 -1
- package/esm/utils/isPlainObject.js.map +0 -1
- package/esm/vuu-date-picker/VuuDatePicker.js.map +0 -1
- package/esm/vuu-input/VuuInput.js.map +0 -1
- package/esm/vuu-typeahead-input/VuuTypeaheadInput.js.map +0 -1
- package/esm/vuu-typeahead-input/useVuuTypeaheadInput.js.map +0 -1
- package/types/tree/Tree.d.ts +0 -19
- package/types/tree/hierarchical-data-utils.d.ts +0 -8
- package/types/tree/index.d.ts +0 -3
- package/types/tree/key-code.d.ts +0 -11
- package/types/tree/list-dom-utils.d.ts +0 -6
- package/types/tree/treeTypeUtils.d.ts +0 -2
- package/types/tree/use-collapsible-groups.d.ts +0 -18
- package/types/tree/use-hierarchical-data.d.ts +0 -6
- package/types/tree/use-items-with-ids.d.ts +0 -8
- package/types/tree/use-keyboard-navigation.d.ts +0 -26
- package/types/tree/use-selection.d.ts +0 -31
- package/types/tree/use-tree-keyboard-navigation.d.ts +0 -12
- package/types/tree/use-viewport-tracking.d.ts +0 -2
- package/types/tree/useTree.d.ts +0 -30
- /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/Calendar.css.js +0 -0
- /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/Calendar.css.js.map +0 -0
- /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/Calendar.js +0 -0
- /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarCarousel.css.js +0 -0
- /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarCarousel.css.js.map +0 -0
- /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarCarousel.js +0 -0
- /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarContext.js +0 -0
- /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarDay.css.js +0 -0
- /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarDay.css.js.map +0 -0
- /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarDay.js +0 -0
- /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarMonth.css.js +0 -0
- /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarMonth.css.js.map +0 -0
- /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarMonth.js +0 -0
- /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarNavigation.css.js +0 -0
- /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarNavigation.css.js.map +0 -0
- /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarNavigation.js +0 -0
- /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarWeekHeader.css.js +0 -0
- /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarWeekHeader.css.js.map +0 -0
- /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarWeekHeader.js +0 -0
- /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/internal/useFocusManagement.js +0 -0
- /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/internal/utils.js +0 -0
- /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/useCalendar.js +0 -0
- /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/useCalendarDay.js +0 -0
- /package/cjs/{calendar → packages/vuu-ui-controls/src/calendar}/useSelection.js +0 -0
- /package/cjs/{column-picker → packages/vuu-ui-controls/src/column-picker}/ColumnPicker.css.js +0 -0
- /package/cjs/{column-picker → packages/vuu-ui-controls/src/column-picker}/ColumnPicker.css.js.map +0 -0
- /package/cjs/{column-picker → packages/vuu-ui-controls/src/column-picker}/ColumnPicker.js +0 -0
- /package/cjs/{column-picker → packages/vuu-ui-controls/src/column-picker}/ColumnSearch.css.js +0 -0
- /package/cjs/{column-picker → packages/vuu-ui-controls/src/column-picker}/ColumnSearch.css.js.map +0 -0
- /package/cjs/{column-picker → packages/vuu-ui-controls/src/column-picker}/ColumnSearch.js +0 -0
- /package/cjs/{common-hooks → packages/vuu-ui-controls/src/common-hooks}/collectionProvider.js +0 -0
- /package/cjs/{common-hooks → packages/vuu-ui-controls/src/common-hooks}/isPlainObject.js +0 -0
- /package/cjs/{common-hooks → packages/vuu-ui-controls/src/common-hooks}/itemToString.js +0 -0
- /package/cjs/{common-hooks → packages/vuu-ui-controls/src/common-hooks}/selectionTypes.js +0 -0
- /package/cjs/{common-hooks → packages/vuu-ui-controls/src/common-hooks}/use-resize-observer.js +0 -0
- /package/cjs/{common-hooks → packages/vuu-ui-controls/src/common-hooks}/useCollectionItems.js +0 -0
- /package/cjs/{common-hooks → packages/vuu-ui-controls/src/common-hooks}/useControlled.js +0 -0
- /package/cjs/{common-hooks → packages/vuu-ui-controls/src/common-hooks}/useSelection.js +0 -0
- /package/cjs/{date-input → packages/vuu-ui-controls/src/date-input}/DateInput.css.js +0 -0
- /package/cjs/{date-input → packages/vuu-ui-controls/src/date-input}/DateInput.css.js.map +0 -0
- /package/cjs/{date-input → packages/vuu-ui-controls/src/date-input}/DateInput.js +0 -0
- /package/cjs/{date-picker → packages/vuu-ui-controls/src/date-picker}/DatePicker.js +0 -0
- /package/cjs/{date-picker → packages/vuu-ui-controls/src/date-picker}/DatePickerContext.js +0 -0
- /package/cjs/{date-picker → packages/vuu-ui-controls/src/date-picker}/DatePickerPanel.css.js +0 -0
- /package/cjs/{date-picker → packages/vuu-ui-controls/src/date-picker}/DatePickerPanel.css.js.map +0 -0
- /package/cjs/{date-picker → packages/vuu-ui-controls/src/date-picker}/DatePickerPanel.js +0 -0
- /package/cjs/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/DragDropProvider.js +0 -0
- /package/cjs/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/DragDropState.js +0 -0
- /package/cjs/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/Draggable.css.js +0 -0
- /package/cjs/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/Draggable.css.js.map +0 -0
- /package/cjs/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/dragDropTypes.js +0 -0
- /package/cjs/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/drop-target-utils.js +0 -0
- /package/cjs/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/useAutoScroll.js +0 -0
- /package/cjs/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/useDragDisplacers.js +0 -0
- /package/cjs/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/useDragDrop.js +0 -0
- /package/cjs/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/useDragDropCopy.js +0 -0
- /package/cjs/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/useDragDropIndicator.js +0 -0
- /package/cjs/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/useDragDropNaturalMovement.js +0 -0
- /package/cjs/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/useDropIndicator.js +0 -0
- /package/cjs/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/useGlobalDragDrop.js +0 -0
- /package/cjs/{editable-label → packages/vuu-ui-controls/src/editable-label}/EditableLabel.css.js +0 -0
- /package/cjs/{editable-label → packages/vuu-ui-controls/src/editable-label}/EditableLabel.css.js.map +0 -0
- /package/cjs/{editable-label → packages/vuu-ui-controls/src/editable-label}/EditableLabel.js +0 -0
- /package/cjs/{expando-input → packages/vuu-ui-controls/src/expando-input}/ExpandoInput.css.js +0 -0
- /package/cjs/{expando-input → packages/vuu-ui-controls/src/expando-input}/ExpandoInput.css.js.map +0 -0
- /package/cjs/{expando-input → packages/vuu-ui-controls/src/expando-input}/ExpandoInput.js +0 -0
- /package/cjs/{icon-button → packages/vuu-ui-controls/src/icon-button}/Icon.css.js +0 -0
- /package/cjs/{icon-button → packages/vuu-ui-controls/src/icon-button}/Icon.css.js.map +0 -0
- /package/cjs/{icon-button → packages/vuu-ui-controls/src/icon-button}/Icon.js +0 -0
- /package/cjs/{icon-button → packages/vuu-ui-controls/src/icon-button}/IconButton.css.js +0 -0
- /package/cjs/{icon-button → packages/vuu-ui-controls/src/icon-button}/IconButton.css.js.map +0 -0
- /package/cjs/{icon-button → packages/vuu-ui-controls/src/icon-button}/IconButton.js +0 -0
- /package/cjs/{icon-button → packages/vuu-ui-controls/src/icon-button}/ToggleIconButton.css.js.map +0 -0
- /package/cjs/{icon-button → packages/vuu-ui-controls/src/icon-button}/ToggleIconButton.js +0 -0
- /package/cjs/{instrument-picker → packages/vuu-ui-controls/src/instrument-picker}/TablePicker.css.js +0 -0
- /package/cjs/{instrument-picker → packages/vuu-ui-controls/src/instrument-picker}/TablePicker.css.js.map +0 -0
- /package/cjs/{instrument-picker → packages/vuu-ui-controls/src/instrument-picker}/TablePicker.js +0 -0
- /package/cjs/{instrument-picker → packages/vuu-ui-controls/src/instrument-picker}/useTablePicker.js +0 -0
- /package/cjs/{list → packages/vuu-ui-controls/src/list}/Highlighter.css.js +0 -0
- /package/cjs/{list → packages/vuu-ui-controls/src/list}/Highlighter.css.js.map +0 -0
- /package/cjs/{list → packages/vuu-ui-controls/src/list}/Highlighter.js +0 -0
- /package/cjs/{list → packages/vuu-ui-controls/src/list}/List.css.js +0 -0
- /package/cjs/{list → packages/vuu-ui-controls/src/list}/List.css.js.map +0 -0
- /package/cjs/{list → packages/vuu-ui-controls/src/list}/List.js +0 -0
- /package/cjs/{list → packages/vuu-ui-controls/src/list}/ListItem.css.js +0 -0
- /package/cjs/{list → packages/vuu-ui-controls/src/list}/ListItem.css.js.map +0 -0
- /package/cjs/{list → packages/vuu-ui-controls/src/list}/ListItem.js +0 -0
- /package/cjs/{list → packages/vuu-ui-controls/src/list}/ListItemGroup.js +0 -0
- /package/cjs/{list → packages/vuu-ui-controls/src/list}/ListItemHeader.js +0 -0
- /package/cjs/{list → packages/vuu-ui-controls/src/list}/RadioIcon.css.js +0 -0
- /package/cjs/{list → packages/vuu-ui-controls/src/list}/RadioIcon.css.js.map +0 -0
- /package/cjs/{list → packages/vuu-ui-controls/src/list}/RadioIcon.js +0 -0
- /package/cjs/{list → packages/vuu-ui-controls/src/list}/common-hooks/keyUtils.js +0 -0
- /package/cjs/{list → packages/vuu-ui-controls/src/list}/common-hooks/list-dom-utils.js +0 -0
- /package/cjs/{list → packages/vuu-ui-controls/src/list}/common-hooks/useCollapsibleGroups.js +0 -0
- /package/cjs/{list → packages/vuu-ui-controls/src/list}/common-hooks/useImperativeScrollingAPI.js +0 -0
- /package/cjs/{list → packages/vuu-ui-controls/src/list}/common-hooks/useKeyboardNavigation.js +0 -0
- /package/cjs/{list → packages/vuu-ui-controls/src/list}/common-hooks/useTypeahead.js +0 -0
- /package/cjs/{list → packages/vuu-ui-controls/src/list}/common-hooks/useViewportTracking.js +0 -0
- /package/cjs/{list → packages/vuu-ui-controls/src/list}/common-hooks/utils/collection-item-utils.js +0 -0
- /package/cjs/{list → packages/vuu-ui-controls/src/list}/common-hooks/utils/filter-utils.js +0 -0
- /package/cjs/{list → packages/vuu-ui-controls/src/list}/common-hooks/utils/isSelected.js +0 -0
- /package/cjs/{list → packages/vuu-ui-controls/src/list}/useList.js +0 -0
- /package/cjs/{list → packages/vuu-ui-controls/src/list}/useListDrop.js +0 -0
- /package/cjs/{list → packages/vuu-ui-controls/src/list}/useListHeight.js +0 -0
- /package/cjs/{list → packages/vuu-ui-controls/src/list}/useScrollPosition.js +0 -0
- /package/cjs/{measured-container → packages/vuu-ui-controls/src/measured-container}/MeasuredContainer.css.js +0 -0
- /package/cjs/{measured-container → packages/vuu-ui-controls/src/measured-container}/MeasuredContainer.css.js.map +0 -0
- /package/cjs/{measured-container → packages/vuu-ui-controls/src/measured-container}/useResizeObserver.js +0 -0
- /package/cjs/{overflow-container → packages/vuu-ui-controls/src/overflow-container}/OverflowContainer.css.js +0 -0
- /package/cjs/{overflow-container → packages/vuu-ui-controls/src/overflow-container}/OverflowContainer.css.js.map +0 -0
- /package/cjs/{overflow-container → packages/vuu-ui-controls/src/overflow-container}/OverflowContainer.js +0 -0
- /package/cjs/{overflow-container → packages/vuu-ui-controls/src/overflow-container}/overflow-utils.js +0 -0
- /package/cjs/{overflow-container → packages/vuu-ui-controls/src/overflow-container}/useOverflowContainer.js +0 -0
- /package/cjs/{price-ticker → packages/vuu-ui-controls/src/price-ticker}/PriceTicker.css.js +0 -0
- /package/cjs/{price-ticker → packages/vuu-ui-controls/src/price-ticker}/PriceTicker.css.js.map +0 -0
- /package/cjs/{price-ticker → packages/vuu-ui-controls/src/price-ticker}/PriceTicker.js +0 -0
- /package/cjs/{split-button → packages/vuu-ui-controls/src/split-button}/SplitButton.css.js.map +0 -0
- /package/cjs/{split-button → packages/vuu-ui-controls/src/split-button}/SplitButton.js +0 -0
- /package/cjs/{split-button → packages/vuu-ui-controls/src/split-button}/SplitStateButton.css.js.map +0 -0
- /package/cjs/{split-button → packages/vuu-ui-controls/src/split-button}/SplitStateButton.js +0 -0
- /package/cjs/{split-button → packages/vuu-ui-controls/src/split-button}/useSplitButton.js +0 -0
- /package/cjs/{table-search → packages/vuu-ui-controls/src/table-search}/SearchCell.css.js +0 -0
- /package/cjs/{table-search → packages/vuu-ui-controls/src/table-search}/SearchCell.css.js.map +0 -0
- /package/cjs/{table-search → packages/vuu-ui-controls/src/table-search}/SearchCell.js +0 -0
- /package/cjs/{table-search → packages/vuu-ui-controls/src/table-search}/TableSearch.css.js +0 -0
- /package/cjs/{table-search → packages/vuu-ui-controls/src/table-search}/TableSearch.css.js.map +0 -0
- /package/cjs/{table-search → packages/vuu-ui-controls/src/table-search}/TableSearch.js +0 -0
- /package/cjs/{table-search → packages/vuu-ui-controls/src/table-search}/useTableSearch.js +0 -0
- /package/cjs/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/Tab.css.js +0 -0
- /package/cjs/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/Tab.css.js.map +0 -0
- /package/cjs/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/Tab.js +0 -0
- /package/cjs/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/TabMenu.css.js +0 -0
- /package/cjs/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/TabMenu.css.js.map +0 -0
- /package/cjs/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/TabMenu.js +0 -0
- /package/cjs/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/TabMenuOptions.js +0 -0
- /package/cjs/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/Tabstrip.css.js.map +0 -0
- /package/cjs/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/Tabstrip.js +0 -0
- /package/cjs/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/tabstrip-dom-utils.js +0 -0
- /package/cjs/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/useAnimatedSelectionThumb.js +0 -0
- /package/cjs/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/useKeyboardNavigation.js +0 -0
- /package/cjs/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/useSelection.js +0 -0
- /package/cjs/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/useTabstrip.js +0 -0
- /package/cjs/{toolbar → packages/vuu-ui-controls/src/toolbar}/Toolbar.css.js +0 -0
- /package/cjs/{toolbar → packages/vuu-ui-controls/src/toolbar}/Toolbar.css.js.map +0 -0
- /package/cjs/{toolbar → packages/vuu-ui-controls/src/toolbar}/Toolbar.js +0 -0
- /package/cjs/{toolbar → packages/vuu-ui-controls/src/toolbar}/toolbar-dom-utils.js +0 -0
- /package/cjs/{toolbar → packages/vuu-ui-controls/src/toolbar}/useKeyboardNavigation.js +0 -0
- /package/cjs/{toolbar → packages/vuu-ui-controls/src/toolbar}/useSelection.js +0 -0
- /package/cjs/{toolbar → packages/vuu-ui-controls/src/toolbar}/useToolbar.js +0 -0
- /package/cjs/{utils → packages/vuu-ui-controls/src/utils}/escapeRegExp.js +0 -0
- /package/cjs/{utils → packages/vuu-ui-controls/src/utils}/forwardCallbackProps.js +0 -0
- /package/cjs/{utils → packages/vuu-ui-controls/src/utils}/isOverflowElement.js +0 -0
- /package/cjs/{utils → packages/vuu-ui-controls/src/utils}/isPlainObject.js +0 -0
- /package/cjs/{vuu-date-picker → packages/vuu-ui-controls/src/vuu-date-picker}/VuuDatePicker.js +0 -0
- /package/cjs/{vuu-input → packages/vuu-ui-controls/src/vuu-input}/VuuInput.css.js +0 -0
- /package/cjs/{vuu-input → packages/vuu-ui-controls/src/vuu-input}/VuuInput.css.js.map +0 -0
- /package/cjs/{vuu-input → packages/vuu-ui-controls/src/vuu-input}/VuuInput.js +0 -0
- /package/cjs/{vuu-typeahead-input → packages/vuu-ui-controls/src/vuu-typeahead-input}/VuuTypeaheadInput.css.js +0 -0
- /package/cjs/{vuu-typeahead-input → packages/vuu-ui-controls/src/vuu-typeahead-input}/VuuTypeaheadInput.css.js.map +0 -0
- /package/cjs/{vuu-typeahead-input → packages/vuu-ui-controls/src/vuu-typeahead-input}/VuuTypeaheadInput.js +0 -0
- /package/cjs/{vuu-typeahead-input → packages/vuu-ui-controls/src/vuu-typeahead-input}/useVuuTypeaheadInput.js +0 -0
- /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/Calendar.css.js +0 -0
- /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/Calendar.css.js.map +0 -0
- /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/Calendar.js +0 -0
- /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarCarousel.css.js +0 -0
- /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarCarousel.css.js.map +0 -0
- /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarCarousel.js +0 -0
- /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarContext.js +0 -0
- /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarDay.css.js +0 -0
- /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarDay.css.js.map +0 -0
- /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarDay.js +0 -0
- /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarMonth.css.js +0 -0
- /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarMonth.css.js.map +0 -0
- /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarMonth.js +0 -0
- /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarNavigation.css.js +0 -0
- /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarNavigation.css.js.map +0 -0
- /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarNavigation.js +0 -0
- /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarWeekHeader.css.js +0 -0
- /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarWeekHeader.css.js.map +0 -0
- /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/internal/CalendarWeekHeader.js +0 -0
- /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/internal/useFocusManagement.js +0 -0
- /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/internal/utils.js +0 -0
- /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/useCalendar.js +0 -0
- /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/useCalendarDay.js +0 -0
- /package/esm/{calendar → packages/vuu-ui-controls/src/calendar}/useSelection.js +0 -0
- /package/esm/{column-picker → packages/vuu-ui-controls/src/column-picker}/ColumnPicker.css.js +0 -0
- /package/esm/{column-picker → packages/vuu-ui-controls/src/column-picker}/ColumnPicker.css.js.map +0 -0
- /package/esm/{column-picker → packages/vuu-ui-controls/src/column-picker}/ColumnPicker.js +0 -0
- /package/esm/{column-picker → packages/vuu-ui-controls/src/column-picker}/ColumnSearch.css.js +0 -0
- /package/esm/{column-picker → packages/vuu-ui-controls/src/column-picker}/ColumnSearch.css.js.map +0 -0
- /package/esm/{column-picker → packages/vuu-ui-controls/src/column-picker}/ColumnSearch.js +0 -0
- /package/esm/{common-hooks → packages/vuu-ui-controls/src/common-hooks}/collectionProvider.js +0 -0
- /package/esm/{common-hooks → packages/vuu-ui-controls/src/common-hooks}/isPlainObject.js +0 -0
- /package/esm/{common-hooks → packages/vuu-ui-controls/src/common-hooks}/itemToString.js +0 -0
- /package/esm/{common-hooks → packages/vuu-ui-controls/src/common-hooks}/selectionTypes.js +0 -0
- /package/esm/{common-hooks → packages/vuu-ui-controls/src/common-hooks}/use-resize-observer.js +0 -0
- /package/esm/{common-hooks → packages/vuu-ui-controls/src/common-hooks}/useCollectionItems.js +0 -0
- /package/esm/{common-hooks → packages/vuu-ui-controls/src/common-hooks}/useControlled.js +0 -0
- /package/esm/{common-hooks → packages/vuu-ui-controls/src/common-hooks}/useSelection.js +0 -0
- /package/esm/{date-input → packages/vuu-ui-controls/src/date-input}/DateInput.css.js +0 -0
- /package/esm/{date-input → packages/vuu-ui-controls/src/date-input}/DateInput.css.js.map +0 -0
- /package/esm/{date-input → packages/vuu-ui-controls/src/date-input}/DateInput.js +0 -0
- /package/esm/{date-picker → packages/vuu-ui-controls/src/date-picker}/DatePicker.js +0 -0
- /package/esm/{date-picker → packages/vuu-ui-controls/src/date-picker}/DatePickerContext.js +0 -0
- /package/esm/{date-picker → packages/vuu-ui-controls/src/date-picker}/DatePickerPanel.css.js +0 -0
- /package/esm/{date-picker → packages/vuu-ui-controls/src/date-picker}/DatePickerPanel.css.js.map +0 -0
- /package/esm/{date-picker → packages/vuu-ui-controls/src/date-picker}/DatePickerPanel.js +0 -0
- /package/esm/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/DragDropProvider.js +0 -0
- /package/esm/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/DragDropState.js +0 -0
- /package/esm/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/Draggable.css.js +0 -0
- /package/esm/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/Draggable.css.js.map +0 -0
- /package/esm/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/dragDropTypes.js +0 -0
- /package/esm/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/drop-target-utils.js +0 -0
- /package/esm/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/useAutoScroll.js +0 -0
- /package/esm/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/useDragDisplacers.js +0 -0
- /package/esm/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/useDragDropCopy.js +0 -0
- /package/esm/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/useDropIndicator.js +0 -0
- /package/esm/{drag-drop → packages/vuu-ui-controls/src/drag-drop}/useGlobalDragDrop.js +0 -0
- /package/esm/{editable-label → packages/vuu-ui-controls/src/editable-label}/EditableLabel.css.js +0 -0
- /package/esm/{editable-label → packages/vuu-ui-controls/src/editable-label}/EditableLabel.css.js.map +0 -0
- /package/esm/{editable-label → packages/vuu-ui-controls/src/editable-label}/EditableLabel.js +0 -0
- /package/esm/{expando-input → packages/vuu-ui-controls/src/expando-input}/ExpandoInput.css.js +0 -0
- /package/esm/{expando-input → packages/vuu-ui-controls/src/expando-input}/ExpandoInput.css.js.map +0 -0
- /package/esm/{expando-input → packages/vuu-ui-controls/src/expando-input}/ExpandoInput.js +0 -0
- /package/esm/{icon-button → packages/vuu-ui-controls/src/icon-button}/Icon.css.js +0 -0
- /package/esm/{icon-button → packages/vuu-ui-controls/src/icon-button}/Icon.css.js.map +0 -0
- /package/esm/{icon-button → packages/vuu-ui-controls/src/icon-button}/Icon.js +0 -0
- /package/esm/{icon-button → packages/vuu-ui-controls/src/icon-button}/IconButton.css.js +0 -0
- /package/esm/{icon-button → packages/vuu-ui-controls/src/icon-button}/IconButton.css.js.map +0 -0
- /package/esm/{icon-button → packages/vuu-ui-controls/src/icon-button}/IconButton.js +0 -0
- /package/esm/{icon-button → packages/vuu-ui-controls/src/icon-button}/ToggleIconButton.css.js.map +0 -0
- /package/esm/{icon-button → packages/vuu-ui-controls/src/icon-button}/ToggleIconButton.js +0 -0
- /package/esm/{instrument-picker → packages/vuu-ui-controls/src/instrument-picker}/TablePicker.css.js +0 -0
- /package/esm/{instrument-picker → packages/vuu-ui-controls/src/instrument-picker}/TablePicker.css.js.map +0 -0
- /package/esm/{instrument-picker → packages/vuu-ui-controls/src/instrument-picker}/TablePicker.js +0 -0
- /package/esm/{instrument-picker → packages/vuu-ui-controls/src/instrument-picker}/useTablePicker.js +0 -0
- /package/esm/{list → packages/vuu-ui-controls/src/list}/Highlighter.css.js +0 -0
- /package/esm/{list → packages/vuu-ui-controls/src/list}/Highlighter.css.js.map +0 -0
- /package/esm/{list → packages/vuu-ui-controls/src/list}/Highlighter.js +0 -0
- /package/esm/{list → packages/vuu-ui-controls/src/list}/List.css.js +0 -0
- /package/esm/{list → packages/vuu-ui-controls/src/list}/List.css.js.map +0 -0
- /package/esm/{list → packages/vuu-ui-controls/src/list}/List.js +0 -0
- /package/esm/{list → packages/vuu-ui-controls/src/list}/ListItem.css.js +0 -0
- /package/esm/{list → packages/vuu-ui-controls/src/list}/ListItem.css.js.map +0 -0
- /package/esm/{list → packages/vuu-ui-controls/src/list}/ListItem.js +0 -0
- /package/esm/{list → packages/vuu-ui-controls/src/list}/ListItemGroup.js +0 -0
- /package/esm/{list → packages/vuu-ui-controls/src/list}/ListItemHeader.js +0 -0
- /package/esm/{list → packages/vuu-ui-controls/src/list}/RadioIcon.css.js +0 -0
- /package/esm/{list → packages/vuu-ui-controls/src/list}/RadioIcon.css.js.map +0 -0
- /package/esm/{list → packages/vuu-ui-controls/src/list}/RadioIcon.js +0 -0
- /package/esm/{list → packages/vuu-ui-controls/src/list}/common-hooks/keyUtils.js +0 -0
- /package/esm/{list → packages/vuu-ui-controls/src/list}/common-hooks/list-dom-utils.js +0 -0
- /package/esm/{list → packages/vuu-ui-controls/src/list}/common-hooks/useCollapsibleGroups.js +0 -0
- /package/esm/{list → packages/vuu-ui-controls/src/list}/common-hooks/useImperativeScrollingAPI.js +0 -0
- /package/esm/{list → packages/vuu-ui-controls/src/list}/common-hooks/useKeyboardNavigation.js +0 -0
- /package/esm/{list → packages/vuu-ui-controls/src/list}/common-hooks/useTypeahead.js +0 -0
- /package/esm/{list → packages/vuu-ui-controls/src/list}/common-hooks/useViewportTracking.js +0 -0
- /package/esm/{list → packages/vuu-ui-controls/src/list}/common-hooks/utils/collection-item-utils.js +0 -0
- /package/esm/{list → packages/vuu-ui-controls/src/list}/common-hooks/utils/filter-utils.js +0 -0
- /package/esm/{list → packages/vuu-ui-controls/src/list}/common-hooks/utils/isSelected.js +0 -0
- /package/esm/{list → packages/vuu-ui-controls/src/list}/useList.js +0 -0
- /package/esm/{list → packages/vuu-ui-controls/src/list}/useListDrop.js +0 -0
- /package/esm/{list → packages/vuu-ui-controls/src/list}/useListHeight.js +0 -0
- /package/esm/{list → packages/vuu-ui-controls/src/list}/useScrollPosition.js +0 -0
- /package/esm/{measured-container → packages/vuu-ui-controls/src/measured-container}/MeasuredContainer.css.js +0 -0
- /package/esm/{measured-container → packages/vuu-ui-controls/src/measured-container}/MeasuredContainer.css.js.map +0 -0
- /package/esm/{measured-container → packages/vuu-ui-controls/src/measured-container}/useResizeObserver.js +0 -0
- /package/esm/{overflow-container → packages/vuu-ui-controls/src/overflow-container}/OverflowContainer.css.js +0 -0
- /package/esm/{overflow-container → packages/vuu-ui-controls/src/overflow-container}/OverflowContainer.css.js.map +0 -0
- /package/esm/{overflow-container → packages/vuu-ui-controls/src/overflow-container}/OverflowContainer.js +0 -0
- /package/esm/{overflow-container → packages/vuu-ui-controls/src/overflow-container}/overflow-utils.js +0 -0
- /package/esm/{overflow-container → packages/vuu-ui-controls/src/overflow-container}/useOverflowContainer.js +0 -0
- /package/esm/{price-ticker → packages/vuu-ui-controls/src/price-ticker}/PriceTicker.css.js +0 -0
- /package/esm/{price-ticker → packages/vuu-ui-controls/src/price-ticker}/PriceTicker.css.js.map +0 -0
- /package/esm/{price-ticker → packages/vuu-ui-controls/src/price-ticker}/PriceTicker.js +0 -0
- /package/esm/{split-button → packages/vuu-ui-controls/src/split-button}/SplitButton.css.js.map +0 -0
- /package/esm/{split-button → packages/vuu-ui-controls/src/split-button}/SplitButton.js +0 -0
- /package/esm/{split-button → packages/vuu-ui-controls/src/split-button}/SplitStateButton.css.js.map +0 -0
- /package/esm/{split-button → packages/vuu-ui-controls/src/split-button}/SplitStateButton.js +0 -0
- /package/esm/{split-button → packages/vuu-ui-controls/src/split-button}/useSplitButton.js +0 -0
- /package/esm/{table-search → packages/vuu-ui-controls/src/table-search}/SearchCell.css.js +0 -0
- /package/esm/{table-search → packages/vuu-ui-controls/src/table-search}/SearchCell.css.js.map +0 -0
- /package/esm/{table-search → packages/vuu-ui-controls/src/table-search}/SearchCell.js +0 -0
- /package/esm/{table-search → packages/vuu-ui-controls/src/table-search}/TableSearch.css.js +0 -0
- /package/esm/{table-search → packages/vuu-ui-controls/src/table-search}/TableSearch.css.js.map +0 -0
- /package/esm/{table-search → packages/vuu-ui-controls/src/table-search}/TableSearch.js +0 -0
- /package/esm/{table-search → packages/vuu-ui-controls/src/table-search}/useTableSearch.js +0 -0
- /package/esm/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/Tab.css.js +0 -0
- /package/esm/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/Tab.css.js.map +0 -0
- /package/esm/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/Tab.js +0 -0
- /package/esm/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/TabMenu.css.js +0 -0
- /package/esm/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/TabMenu.css.js.map +0 -0
- /package/esm/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/TabMenu.js +0 -0
- /package/esm/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/TabMenuOptions.js +0 -0
- /package/esm/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/Tabstrip.css.js.map +0 -0
- /package/esm/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/Tabstrip.js +0 -0
- /package/esm/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/tabstrip-dom-utils.js +0 -0
- /package/esm/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/useAnimatedSelectionThumb.js +0 -0
- /package/esm/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/useKeyboardNavigation.js +0 -0
- /package/esm/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/useSelection.js +0 -0
- /package/esm/{tabstrip → packages/vuu-ui-controls/src/tabstrip}/useTabstrip.js +0 -0
- /package/esm/{toolbar → packages/vuu-ui-controls/src/toolbar}/Toolbar.css.js +0 -0
- /package/esm/{toolbar → packages/vuu-ui-controls/src/toolbar}/Toolbar.css.js.map +0 -0
- /package/esm/{toolbar → packages/vuu-ui-controls/src/toolbar}/Toolbar.js +0 -0
- /package/esm/{toolbar → packages/vuu-ui-controls/src/toolbar}/toolbar-dom-utils.js +0 -0
- /package/esm/{toolbar → packages/vuu-ui-controls/src/toolbar}/useKeyboardNavigation.js +0 -0
- /package/esm/{toolbar → packages/vuu-ui-controls/src/toolbar}/useSelection.js +0 -0
- /package/esm/{toolbar → packages/vuu-ui-controls/src/toolbar}/useToolbar.js +0 -0
- /package/esm/{utils → packages/vuu-ui-controls/src/utils}/escapeRegExp.js +0 -0
- /package/esm/{utils → packages/vuu-ui-controls/src/utils}/forwardCallbackProps.js +0 -0
- /package/esm/{utils → packages/vuu-ui-controls/src/utils}/isOverflowElement.js +0 -0
- /package/esm/{utils → packages/vuu-ui-controls/src/utils}/isPlainObject.js +0 -0
- /package/esm/{vuu-date-picker → packages/vuu-ui-controls/src/vuu-date-picker}/VuuDatePicker.js +0 -0
- /package/esm/{vuu-input → packages/vuu-ui-controls/src/vuu-input}/VuuInput.css.js +0 -0
- /package/esm/{vuu-input → packages/vuu-ui-controls/src/vuu-input}/VuuInput.css.js.map +0 -0
- /package/esm/{vuu-input → packages/vuu-ui-controls/src/vuu-input}/VuuInput.js +0 -0
- /package/esm/{vuu-typeahead-input → packages/vuu-ui-controls/src/vuu-typeahead-input}/VuuTypeaheadInput.css.js +0 -0
- /package/esm/{vuu-typeahead-input → packages/vuu-ui-controls/src/vuu-typeahead-input}/VuuTypeaheadInput.css.js.map +0 -0
- /package/esm/{vuu-typeahead-input → packages/vuu-ui-controls/src/vuu-typeahead-input}/VuuTypeaheadInput.js +0 -0
- /package/esm/{vuu-typeahead-input → packages/vuu-ui-controls/src/vuu-typeahead-input}/useVuuTypeaheadInput.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useDragDrop.js","sources":["../../src/drag-drop/useDragDrop.tsx"],"sourcesContent":["import { dispatchCustomEvent } from \"@vuu-ui/vuu-utils\";\nimport {\n MouseEventHandler,\n useCallback,\n useEffect,\n useLayoutEffect,\n useRef,\n useState,\n} from \"react\";\nimport { useDragDropProvider } from \"./DragDropProvider\";\nimport { DragDropState } from \"./DragDropState\";\nimport {\n DragDropHook,\n DropHandler,\n InternalDragDropProps,\n InternalDragHookResult,\n MouseOffset,\n MousePosition,\n} from \"./dragDropTypes\";\nimport { Draggable } from \"./Draggable\";\nimport {\n cloneElement,\n constrainRect,\n dimensions,\n getScrollableContainer,\n isContainerScrollable,\n NOT_OVERFLOWED,\n} from \"./drop-target-utils\";\nimport { ScrollStopHandler, useAutoScroll } from \"./useAutoScroll\";\nimport { useDragDropCopy, NULL_DROP_OPTIONS } from \"./useDragDropCopy\";\nimport { useDragDropIndicator } from \"./useDragDropIndicator\";\nimport { useDragDropNaturalMovement } from \"./useDragDropNaturalMovement\";\nimport { ResumeDragHandler } from \"./useGlobalDragDrop\";\nimport { isOverflowElement } from \"../utils\";\n\nconst NULL_DRAG_DROP_RESULT = {\n beginDrag: () => undefined,\n drag: () => undefined,\n draggableRef: { current: null },\n drop: () => NULL_DROP_OPTIONS,\n isDragging: false,\n isScrolling: false,\n handleScrollStart: () => undefined,\n handleScrollStop: () => undefined,\n revealOverflowedItems: false,\n};\n\ntype DraggableStatus = {\n draggable?: JSX.Element;\n draggedItemIndex: number;\n isDragging: boolean;\n};\n\ntype DragBoundary = {\n start: number;\n end: number;\n contraStart: number;\n contraEnd: number;\n};\n\nconst UNBOUNDED: DragBoundary = {\n start: 0,\n end: 1000,\n contraStart: 0,\n contraEnd: 1000,\n};\n\ntype InternalHook = (props: InternalDragDropProps) => InternalDragHookResult;\nconst noDragDrop: InternalHook = () => NULL_DRAG_DROP_RESULT;\nconst dragThreshold = 3;\n\nconst getDraggableElement = (\n el: EventTarget | null,\n query: string,\n): HTMLElement => (el as HTMLElement)?.closest(query) as HTMLElement;\n\nconst getLastElement = (\n container: HTMLElement,\n itemQuery: string,\n): [HTMLElement, boolean] => {\n const fullItemQuery = `:is(${itemQuery}${NOT_OVERFLOWED},.vuuOverflowContainer-OverflowIndicator)`;\n const childElements = Array.from(container.querySelectorAll(fullItemQuery));\n const lastElement = childElements.pop() as HTMLElement;\n return [lastElement, isOverflowElement(lastElement)];\n};\n\nexport const useDragDrop: DragDropHook = ({\n allowDragDrop,\n containerRef,\n draggableClassName,\n getDragPayload,\n id,\n itemQuery = \"*\",\n onDragStart,\n onDrop,\n onDropSettle,\n orientation,\n scrollingContainerRef,\n ...dragDropProps\n}) => {\n const dragBoundaries = useRef<DragBoundary>({\n start: 0,\n end: 0,\n contraStart: 0,\n contraEnd: 0,\n });\n const [draggableStatus, setDraggableStatus] = useState<DraggableStatus>({\n draggable: undefined,\n draggedItemIndex: -1,\n isDragging: false,\n });\n\n const dragDropStateRef = useRef<DragDropState | null>(null);\n const mouseDownTimer = useRef<number | null>(null);\n /** do we actually have scrollable content */\n const isScrollableRef = useRef(false);\n\n /** save this on mousedown. We cannot rely on the target of mousemove being same element*/\n const mousedownElementRef = useRef<HTMLElement | null>(null);\n\n /** current mouse position */\n const mousePosRef = useRef<MouseOffset>({ x: 0, y: 0 });\n /** mouse position when mousedown initiated drag */\n const startPosRef = useRef<MouseOffset>({ x: 0, y: 0 });\n /** references the dragged Item during its final 'settling' phase post drop */\n const settlingItemRef = useRef<HTMLElement | null>(null);\n /** the container which will scroll if content overflows */\n const scrollableContainerRef = useRef<HTMLElement | null>(null);\n const dropPosRef = useRef(-1);\n const dropIndexRef = useRef(-1);\n\n const handleScrollStopRef = useRef<ScrollStopHandler>();\n\n const {\n isDragSource,\n isDropTarget,\n onDragOut,\n onEndOfDragOperation,\n register,\n } = useDragDropProvider(id);\n\n type NativeMouseHandler = (evt: MouseEvent) => void;\n /** refs for drag handlers to avoid circular dependency issues */\n const dragMouseMoveHandlerRef = useRef<NativeMouseHandler>();\n const dragMouseUpHandlerRef = useRef<NativeMouseHandler>();\n\n const attachDragHandlers = useCallback(() => {\n const { current: dragMove } = dragMouseMoveHandlerRef;\n const { current: dragUp } = dragMouseUpHandlerRef;\n if (dragMove && dragUp) {\n // prettier-ignore\n document.addEventListener(\"mousemove\", dragMove, false);\n document.addEventListener(\"mouseup\", dragUp, false);\n }\n }, []);\n const removeDragHandlers = useCallback(() => {\n const { current: dragMove } = dragMouseMoveHandlerRef;\n const { current: dragUp } = dragMouseUpHandlerRef;\n if (dragMove && dragUp) {\n // prettier-ignore\n document.removeEventListener(\"mousemove\", dragMove, false);\n document.removeEventListener(\"mouseup\", dragUp, false);\n }\n }, []);\n\n /**\n * Establish the boundaries for the current drag operation. When dragging along\n * a single axis (eg list items within a list, tabs within a tabstrip), constrain\n * valid drag positions to the confines of the container. A sharp drag away from\n * the primary drag axis is interpreted as a request to drag an item out of the\n * container. This will be allowed if configured appropriately.\n */\n const setDragBoundaries = useCallback(\n (containerRect: DOMRect, draggableRect: DOMRect) => {\n const { current: container } = containerRef;\n if (container) {\n const [lastElement, lastItemIsOverflowIndicator] = getLastElement(\n container,\n itemQuery,\n );\n const { CONTRA, CONTRA_END, DIMENSION, END, START } =\n dimensions(orientation);\n\n const draggableSize = draggableRect[DIMENSION];\n const { [START]: lastItemStart, [END]: lastItemEnd } =\n lastElement.getBoundingClientRect();\n\n dragBoundaries.current.start = containerRect[START];\n dragBoundaries.current.end = lastItemIsOverflowIndicator\n ? Math.max(lastItemStart, containerRect.right - draggableSize)\n : isScrollableRef.current\n ? containerRect[START] + containerRect[DIMENSION] - draggableSize\n : lastItemEnd - draggableSize;\n dragBoundaries.current.contraStart = containerRect[CONTRA];\n dragBoundaries.current.contraEnd = containerRect[CONTRA_END];\n }\n },\n [containerRef, itemQuery, orientation],\n );\n\n const terminateDrag = useCallback(() => {\n const { current: settlingItem } = settlingItemRef;\n settlingItemRef.current = null;\n\n const { current: toIndex } = dropIndexRef;\n const droppedItem = containerRef.current?.querySelector(\n `${itemQuery}[data-index=\"${toIndex}\"]`,\n );\n if (droppedItem) {\n droppedItem.classList.remove(\"vuuDropTarget-settling\");\n }\n dropIndexRef.current = -1;\n onDropSettle?.(toIndex);\n setDraggableStatus((status) => ({\n ...status,\n draggable: undefined,\n }));\n\n if (settlingItem) {\n dispatchCustomEvent(settlingItem, \"vuu-dropped\");\n }\n }, [containerRef, itemQuery, onDropSettle]);\n\n const getScrollDirection = useCallback(\n (mousePos: number) => {\n if (scrollableContainerRef.current && dragDropStateRef.current) {\n const { mouseOffset } = dragDropStateRef.current;\n\n const { POS, SCROLL_POS, SCROLL_SIZE, CLIENT_SIZE } =\n dimensions(orientation);\n const {\n [SCROLL_POS]: scrollPos,\n [SCROLL_SIZE]: scrollSize,\n [CLIENT_SIZE]: clientSize,\n } = scrollableContainerRef.current;\n\n const maxScroll = scrollSize - clientSize;\n const canScrollFwd = scrollPos < maxScroll;\n const viewportEnd = dragBoundaries.current.end;\n const bwd =\n scrollPos > 0 &&\n mousePos - mouseOffset[POS] <= dragBoundaries.current.start;\n const fwd = canScrollFwd && mousePos - mouseOffset[POS] >= viewportEnd;\n\n return bwd ? \"bwd\" : fwd ? \"fwd\" : \"\";\n }\n },\n [scrollableContainerRef, orientation],\n );\n\n const useDragDropHook: InternalHook =\n allowDragDrop === true || allowDragDrop === \"natural-movement\"\n ? useDragDropNaturalMovement\n : allowDragDrop === \"drop-indicator\"\n ? useDragDropIndicator\n : allowDragDrop === \"drag-copy\"\n ? useDragDropCopy\n : noDragDrop;\n\n const onScrollingStopped = useCallback(\n (scrollDirection: \"fwd\" | \"bwd\", scrollPos: number, atEnd: boolean) => {\n handleScrollStopRef.current?.(scrollDirection, scrollPos, atEnd);\n },\n [],\n );\n\n const { isScrolling, startScrolling, stopScrolling } = useAutoScroll({\n containerRef: scrollableContainerRef,\n onScrollingStopped,\n orientation,\n });\n\n const handleDrop = useCallback<DropHandler>(\n (options) => {\n //TODO why do we need both this and dropIndexRef ?\n dropPosRef.current = options.toIndex;\n if (options.isExternal) {\n onDrop?.({\n ...options,\n payload: dragDropStateRef.current?.payload,\n });\n } else {\n onDrop?.(options);\n }\n dropIndexRef.current = options.toIndex;\n if (id) {\n onEndOfDragOperation?.(id);\n }\n dragDropStateRef.current = null;\n },\n [id, onDrop, onEndOfDragOperation],\n );\n\n const {\n beginDrag,\n drag,\n drop,\n handleScrollStart,\n handleScrollStop,\n releaseDrag,\n ...dragResult\n } = useDragDropHook({\n ...dragDropProps,\n containerRef,\n isDragSource,\n isDropTarget,\n itemQuery,\n orientation,\n });\n // To avoid circular ref between hooks\n handleScrollStopRef.current = handleScrollStop;\n\n const dragHandedOvertoProvider = useCallback(\n (dragDistance: number, clientContraPos: number) => {\n const { CONTRA_POS } = dimensions(orientation);\n const lastClientContraPos = mousePosRef.current[CONTRA_POS];\n\n const dragOutDistance = isDragSource\n ? Math.abs(lastClientContraPos - clientContraPos)\n : 0;\n\n if (allowDragDrop === true && !isDragSource && !isDropTarget) {\n //This is a simple internal drag\n return false;\n }\n\n // If isDropTarget is false, there are configured dropTargets in context\n // but this is not one, so drag will be handed straight over to DragProvider\n // (global drag). If isDropTarget is undefined, we have no DragProvider\n // so we are dealing with a simple local drag drop operation.\n const handoverToProvider =\n isDropTarget === false || dragOutDistance - dragDistance > 5;\n\n if (dragDropStateRef.current && handoverToProvider) {\n if (onDragOut?.(id as string, dragDropStateRef.current)) {\n // TODO create a cleanup function\n removeDragHandlers();\n releaseDrag?.();\n dragDropStateRef.current = null;\n }\n // remove the drag boundaries\n dragBoundaries.current = UNBOUNDED;\n return true;\n }\n },\n [\n allowDragDrop,\n id,\n isDragSource,\n isDropTarget,\n onDragOut,\n orientation,\n releaseDrag,\n removeDragHandlers,\n ],\n );\n\n const dragMouseMoveHandler = useCallback(\n (evt: MouseEvent) => {\n const { CLIENT_POS, CONTRA_CLIENT_POS, POS } = dimensions(orientation);\n const { clientX, clientY } = evt;\n const { [CLIENT_POS]: clientPos, [CONTRA_CLIENT_POS]: clientContraPos } =\n evt;\n const lastClientPos = mousePosRef.current[POS];\n const dragDistance = Math.abs(lastClientPos - clientPos);\n const { current: dragDropState } = dragDropStateRef;\n const { current: boundary } = dragBoundaries;\n\n if (dragHandedOvertoProvider(dragDistance, clientContraPos)) {\n return;\n }\n\n mousePosRef.current.x = clientX;\n mousePosRef.current.y = clientY;\n\n if (dragDropState) {\n const { draggableElement, mouseOffset } = dragDropState;\n\n if (dragBoundaries.current === UNBOUNDED && draggableElement) {\n const dragPosX = mousePosRef.current.x - mouseOffset.x;\n const dragPosY = mousePosRef.current.y - mouseOffset.y;\n draggableElement.style.top = `${dragPosY}px`;\n draggableElement.style.left = `${dragPosX}px`;\n } else if (dragDistance > 0 && draggableElement) {\n const mouseMoveDirection = lastClientPos < clientPos ? \"fwd\" : \"bwd\";\n const scrollDirection = getScrollDirection(clientPos);\n const dragPos = mousePosRef.current[POS] - mouseOffset[POS];\n const START = orientation === \"horizontal\" ? \"left\" : \"top\";\n\n if (\n scrollDirection &&\n isScrollableRef.current &&\n !isScrolling.current\n ) {\n handleScrollStart?.(scrollDirection);\n startScrolling(scrollDirection, 1);\n\n if (scrollDirection === \"fwd\") {\n draggableElement.style[START] = `${boundary.end}px`;\n } else {\n draggableElement.style[START] = `${boundary.start}px`;\n }\n } else if (!scrollDirection && isScrolling.current) {\n stopScrolling();\n }\n\n if (!isScrolling.current) {\n const renderDragPos = Math.round(\n Math.max(boundary.start, Math.min(boundary.end, dragPos)),\n );\n draggableElement.style[START] = `${renderDragPos}px`;\n drag(renderDragPos, mouseMoveDirection);\n }\n }\n }\n },\n [\n drag,\n dragHandedOvertoProvider,\n getScrollDirection,\n handleScrollStart,\n isScrolling,\n orientation,\n startScrolling,\n stopScrolling,\n ],\n );\n const dragMouseUpHandler = useCallback(() => {\n removeDragHandlers();\n if (dragDropStateRef.current) {\n settlingItemRef.current = dragDropStateRef.current.draggableElement;\n }\n const dropOptions = drop();\n handleDrop(dropOptions);\n\n setDraggableStatus((status) => ({\n ...status,\n draggedItemIndex: -1,\n isDragging: false,\n }));\n // TODO clear the dragDropState\n }, [drop, handleDrop, removeDragHandlers]);\n\n dragMouseMoveHandlerRef.current = dragMouseMoveHandler;\n dragMouseUpHandlerRef.current = dragMouseUpHandler;\n\n const resumeDrag = useCallback<ResumeDragHandler>(\n (dragDropState: DragDropState) => {\n dragDropStateRef.current = dragDropState;\n // Note this is using the draggable element rather than the original draggedElement\n const { draggableElement, mouseOffset } = dragDropState;\n const { current: container } = containerRef;\n\n if (container && draggableElement) {\n const containerRect = container.getBoundingClientRect();\n const draggableRect = draggableElement.getBoundingClientRect();\n setDragBoundaries(containerRect, draggableRect);\n\n mousePosRef.current.x = draggableRect.left + mouseOffset.x;\n mousePosRef.current.y = draggableRect.top + mouseOffset.y;\n\n // why doesn't this work if we use the initialDragEement\n beginDrag(draggableElement);\n\n attachDragHandlers();\n\n return true;\n } else {\n return false;\n }\n },\n [attachDragHandlers, beginDrag, containerRef, setDragBoundaries],\n );\n\n const dragStart = useCallback(\n (mousePosition: MousePosition) => {\n const { current: container } = containerRef;\n const { current: target } = mousedownElementRef;\n const dragElement = getDraggableElement(target, itemQuery);\n const scrollableContainer =\n scrollingContainerRef?.current ??\n getScrollableContainer(container, itemQuery);\n if (container && scrollableContainer && dragElement) {\n isScrollableRef.current = isContainerScrollable(\n scrollableContainer,\n orientation,\n );\n scrollableContainerRef.current = scrollableContainer;\n\n const containerRect = scrollableContainer.getBoundingClientRect();\n const draggableRect = dragElement.getBoundingClientRect();\n\n const dragDropState = (dragDropStateRef.current = new DragDropState(\n mousePosition,\n dragElement,\n ));\n\n setDragBoundaries(containerRect, draggableRect);\n\n beginDrag(dragElement);\n\n const {\n dataset: { index = \"-1\" },\n } = dragElement;\n\n setDraggableStatus({\n isDragging: true,\n draggable: (\n <Draggable\n element={cloneElement(dragElement)}\n onDropped={terminateDrag}\n onTransitionEnd={terminateDrag}\n ref={dragDropState.setDraggable}\n style={constrainRect(draggableRect, containerRect)}\n wrapperClassName={draggableClassName}\n />\n ),\n draggedItemIndex: parseInt(index),\n });\n\n onDragStart?.(dragDropState);\n attachDragHandlers();\n\n mousedownElementRef.current = null;\n }\n },\n [\n attachDragHandlers,\n beginDrag,\n containerRef,\n draggableClassName,\n itemQuery,\n onDragStart,\n orientation,\n scrollingContainerRef,\n setDragBoundaries,\n terminateDrag,\n ],\n );\n\n const preDragMouseMoveHandler = useCallback(\n (evt: MouseEvent) => {\n const { current: mouseDownPosition } = startPosRef;\n const { CLIENT_POS, POS } = dimensions(orientation);\n const { [CLIENT_POS]: clientPos } = evt;\n const mouseMoveDistance = Math.abs(clientPos - mouseDownPosition[POS]);\n if (mouseMoveDistance > dragThreshold && containerRef.current) {\n if (mouseDownTimer.current) {\n window.clearTimeout(mouseDownTimer.current);\n mouseDownTimer.current = null;\n }\n document.removeEventListener(\"mousemove\", preDragMouseMoveHandler);\n document.removeEventListener(\"mouseup\", preDragMouseUpHandler, false);\n\n const mousePosition = {\n clientX: mouseDownPosition.x,\n clientY: mouseDownPosition.y,\n };\n dragStart(mousePosition);\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [containerRef, beginDrag, orientation],\n );\n\n const preDragMouseUpHandler = useCallback(() => {\n if (mouseDownTimer.current) {\n window.clearTimeout(mouseDownTimer.current);\n mouseDownTimer.current = null;\n }\n document.removeEventListener(\"mousemove\", preDragMouseMoveHandler, false);\n document.removeEventListener(\"mouseup\", preDragMouseUpHandler, false);\n }, [preDragMouseMoveHandler]);\n\n const mouseDownHandler: MouseEventHandler = useCallback(\n (evt) => {\n if (evt.button !== 0) {\n return;\n }\n // TODO runtime check here for valid drop targets ?\n const { current: container } = containerRef;\n // We don't want to prevent other handlers on this element from working\n // but we do want to stop a drag drop being initiated on a bubbled event.\n evt.stopPropagation();\n if (container && !evt.defaultPrevented) {\n const { clientX, clientY } = evt;\n mousePosRef.current.x = startPosRef.current.x = clientX;\n mousePosRef.current.y = startPosRef.current.y = clientY;\n mousedownElementRef.current = evt.target as HTMLElement;\n\n const mousePosition = {\n clientX,\n clientY,\n };\n\n document.addEventListener(\"mousemove\", preDragMouseMoveHandler, false);\n document.addEventListener(\"mouseup\", preDragMouseUpHandler, false);\n\n evt.persist();\n\n mouseDownTimer.current = window.setTimeout(() => {\n document.removeEventListener(\n \"mousemove\",\n preDragMouseMoveHandler,\n false,\n );\n document.removeEventListener(\"mouseup\", preDragMouseUpHandler, false);\n dragStart(mousePosition);\n }, 500);\n }\n },\n [containerRef, dragStart, preDragMouseMoveHandler, preDragMouseUpHandler],\n );\n\n const { current: settlingItem } = settlingItemRef;\n useLayoutEffect(() => {\n if (settlingItem && containerRef.current) {\n const dropPos = dropPosRef.current;\n const droppedItem = containerRef.current.querySelector(\n `${itemQuery}[data-index=\"${dropPos}\"]`,\n );\n\n if (droppedItem) {\n droppedItem.classList.add(\"vuuDropTarget-settling\");\n requestAnimationFrame(() => {\n const { top: targetTop, left: targetLeft } =\n droppedItem.getBoundingClientRect();\n // If the droppedItem is already exactly in the drop position, we can just\n // terminate the drag here and now. Most likely, though, it is out by a few\n // pixels. We animate the dragged item into the final resting place before\n // terminating the drag.\n const style = getComputedStyle(settlingItem);\n const currentLeft = parseInt(style.getPropertyValue(\"left\"));\n const currentTop = parseInt(style.getPropertyValue(\"top\"));\n if (currentLeft !== targetLeft || currentTop !== targetTop) {\n settlingItem.classList.add(\"vuuDraggable-settling\");\n settlingItem.style.top = `${targetTop}px`;\n settlingItem.style.left = `${targetLeft}px`;\n } else {\n terminateDrag();\n }\n });\n } else {\n // didn't find the dragged item. This is currently happening\n // because of a quirk with last item when scrolling has taken\n // place. Take no chances, make sure we don't keep an orphaned draggable\n setDraggableStatus((status) => ({\n ...status,\n draggable: undefined,\n }));\n }\n }\n }, [containerRef, itemQuery, settlingItem, terminateDrag]);\n\n useEffect(() => {\n if (id && (isDragSource || isDropTarget)) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n //@ts-ignore TODO drah drop WIP\n register(id, allowDragDrop === \"drop-only\" ? false : resumeDrag, onDrop);\n }\n }, [\n allowDragDrop,\n id,\n isDragSource,\n isDropTarget,\n onDrop,\n register,\n resumeDrag,\n ]);\n\n return {\n ...dragResult,\n ...draggableStatus,\n isScrolling,\n onMouseDown:\n allowDragDrop && allowDragDrop !== \"drop-only\"\n ? mouseDownHandler\n : undefined,\n };\n};\n"],"names":["NULL_DROP_OPTIONS","NOT_OVERFLOWED","isOverflowElement","useRef","useState","useDragDropProvider","useCallback","dimensions","settlingItem","dispatchCustomEvent","useDragDropNaturalMovement","useDragDropIndicator","useDragDropCopy","useAutoScroll","getScrollableContainer","isContainerScrollable","DragDropState","jsx","Draggable","cloneElement","constrainRect","useLayoutEffect","useEffect"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useDragDropCopy.js","sources":["../../src/drag-drop/useDragDropCopy.ts"],"sourcesContent":["import { useCallback, useRef } from \"react\";\n\nimport type {\n InternalDragDropProps,\n InternalDragHookResult,\n ViewportRange,\n} from \"./dragDropTypes\";\n\nexport const NULL_DROP_OPTIONS = {\n fromIndex: -1,\n toIndex: -1,\n} as const;\n\nexport const useDragDropCopy = ({\n selected,\n viewportRange,\n}: InternalDragDropProps): InternalDragHookResult => {\n const rangeRef = useRef<ViewportRange>();\n rangeRef.current = viewportRange;\n\n const beginDrag = useCallback(\n (dragElement: HTMLElement) => {\n if (\n dragElement.ariaSelected &&\n Array.isArray(selected) &&\n selected.length > 1\n ) {\n console.log(\"its a selected element, and we have a multi select\");\n }\n },\n [selected]\n );\n\n const drag = useCallback(() => undefined, []);\n const drop = useCallback(() => NULL_DROP_OPTIONS, []);\n\n return {\n beginDrag,\n drag,\n drop,\n };\n};\n"],"names":["useRef","useCallback"],"mappings":";;;;AAQO,MAAM,iBAAoB,GAAA;AAAA,EAC/B,SAAW,EAAA,CAAA,CAAA;AAAA,EACX,OAAS,EAAA,CAAA,CAAA;AACX,EAAA;AAEO,MAAM,kBAAkB,CAAC;AAAA,EAC9B,QAAA;AAAA,EACA,aAAA;AACF,CAAqD,KAAA;AACnD,EAAA,MAAM,WAAWA,YAAsB,EAAA,CAAA;AACvC,EAAA,QAAA,CAAS,OAAU,GAAA,aAAA,CAAA;AAEnB,EAAA,MAAM,SAAY,GAAAC,iBAAA;AAAA,IAChB,CAAC,WAA6B,KAAA;AAC5B,MACE,IAAA,WAAA,CAAY,gBACZ,KAAM,CAAA,OAAA,CAAQ,QAAQ,CACtB,IAAA,QAAA,CAAS,SAAS,CAClB,EAAA;AACA,QAAA,OAAA,CAAQ,IAAI,oDAAoD,CAAA,CAAA;AAAA,OAClE;AAAA,KACF;AAAA,IACA,CAAC,QAAQ,CAAA;AAAA,GACX,CAAA;AAEA,EAAA,MAAM,IAAO,GAAAA,iBAAA,CAAY,MAAM,KAAA,CAAA,EAAW,EAAE,CAAA,CAAA;AAC5C,EAAA,MAAM,IAAO,GAAAA,iBAAA,CAAY,MAAM,iBAAA,EAAmB,EAAE,CAAA,CAAA;AAEpD,EAAO,OAAA;AAAA,IACL,SAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,GACF,CAAA;AACF;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useDragDropIndicator.js","sources":["../../src/drag-drop/useDragDropIndicator.tsx"],"sourcesContent":["import { useCallback, useRef, useState } from \"react\";\n\nimport {\n InternalDragDropProps,\n InternalDragHookResult,\n Direction,\n ViewportRange,\n DropOptions,\n} from \"./dragDropTypes\";\nimport { useDropIndicator } from \"./useDropIndicator\";\n\nimport {\n dimensions,\n getItemById,\n MeasuredDropTarget,\n measureDropTargets,\n getNextDropTarget,\n dropZone,\n removeDraggedItem,\n} from \"./drop-target-utils\";\n\nimport { createDropIndicator, Draggable } from \"./Draggable\";\n\nconst NOT_OVERFLOWED = ':not([data-overflowed=\"true\"])';\nconst NOT_HIDDEN = ':not([aria-hidden=\"true\"])';\n\nexport const useDragDropIndicator = ({\n orientation = \"horizontal\",\n containerRef,\n itemQuery = \"*\",\n selected,\n viewportRange,\n}: InternalDragDropProps): InternalDragHookResult => {\n const dragDirectionRef = useRef<Direction | undefined>();\n const dropIndicatorRef = useRef<HTMLDivElement>(null);\n const dropTargetRef = useRef<MeasuredDropTarget | null>(null);\n const dropZoneRef = useRef<dropZone | \"\">(\"\");\n const isScrollable = useRef(false);\n /** current position of dragged element */\n const dragPosRef = useRef<number>(-1);\n const measuredDropTargets = useRef<MeasuredDropTarget[]>([]);\n const overflowMenuShowingRef = useRef(false);\n\n const [showOverflow, setShowOverflow] = useState(false);\n const [dropIndicator, setDropIndicator] = useState<JSX.Element | undefined>();\n\n const { clearSpacer, positionDropIndicator } = useDropIndicator();\n\n const draggedItemRef = useRef<MeasuredDropTarget>();\n const fullItemQuery = `:is(${itemQuery}${NOT_OVERFLOWED}${NOT_HIDDEN},[data-overflow-indicator])`;\n\n // const { setMeasurements: setVizData } = useListViz();\n\n const indexOf = (dropTarget: MeasuredDropTarget) =>\n measuredDropTargets.current.findIndex((d) => d.id === dropTarget.id);\n\n const reposition = (\n dropTarget: MeasuredDropTarget,\n distance: number,\n indexShift?: number\n ) => {\n dropTarget.start += distance;\n dropTarget.mid += distance;\n dropTarget.end += distance;\n if (typeof indexShift === \"number\") {\n dropTarget.currentIndex += indexShift;\n }\n };\n\n // Shouldn't need this - but viewportRange is always stale in stopScrolling. Checked all dependencies\n // look ok. Something to do with setTimeout / scrollHandler ?\n const rangeRef = useRef<ViewportRange>();\n rangeRef.current = viewportRange;\n\n const handleScrollStart = useCallback(() => {\n clearSpacer();\n }, [clearSpacer]);\n\n const handleScrollStop = useCallback(\n (scrollDirection: \"fwd\" | \"bwd\", _scrollPos: number, atEnd: boolean) => {\n const { current: container } = containerRef;\n const { current: draggedItem } = draggedItemRef;\n if (container && draggedItem) {\n measuredDropTargets.current = measureDropTargets(\n container,\n orientation,\n fullItemQuery,\n rangeRef.current\n );\n // setVizData(measuredDropTargets.current);\n\n const { size } = draggedItem;\n const dragPos = dragPosRef.current;\n const midPos = dragPos + size / 2;\n const { current: dropTargets } = measuredDropTargets;\n const nextDropTarget = getNextDropTarget(\n dropTargets,\n midPos,\n size,\n \"fwd\"\n );\n if (nextDropTarget) {\n if (atEnd && scrollDirection === \"fwd\") {\n positionDropIndicator(dropTargets[dropTargets.length - 1], \"start\");\n } else {\n positionDropIndicator(nextDropTarget, \"start\");\n }\n }\n\n // setVizData(measuredDropTargets.current, nextDropTarget);\n }\n },\n [\n containerRef,\n positionDropIndicator,\n fullItemQuery,\n orientation,\n // setVizData,\n ]\n );\n\n const beginDrag = useCallback(\n (dragElement: HTMLElement) => {\n if (\n dragElement.ariaSelected &&\n Array.isArray(selected) &&\n selected.length > 1\n ) {\n console.log(\"its a selected element, and we have a multi select\");\n }\n const { current: container } = containerRef;\n if (container && dragElement) {\n const { SCROLL_SIZE, CLIENT_SIZE } = dimensions(orientation);\n const { id: draggedItemId } = dragElement;\n\n const { [SCROLL_SIZE]: scrollSize, [CLIENT_SIZE]: clientSize } =\n container;\n isScrollable.current = scrollSize > clientSize;\n\n const dropTargets = (measuredDropTargets.current = measureDropTargets(\n container,\n orientation,\n fullItemQuery,\n viewportRange\n ));\n\n const draggedItem = getItemById(dropTargets, draggedItemId);\n\n if (draggedItem && container) {\n const targetIndex = indexOf(draggedItem);\n removeDraggedItem(dropTargets, targetIndex);\n draggedItemRef.current = draggedItem;\n\n // This begins to deviate from NaturalMovement here -----------\n const { current: range } = rangeRef;\n //TODO when our viewport is the last 'page' of a scrolling viewport\n // the viewport will scoll up by one row when we remove an item, so\n // the position of each item will move down.\n if (range?.atEnd) {\n for (let i = 0; i < dropTargets.length; i++) {\n reposition(dropTargets[i], draggedItem.size);\n }\n }\n for (let i = targetIndex; i < dropTargets.length; i++) {\n reposition(dropTargets[i], -draggedItem.size, -1);\n }\n\n const [dropTarget, dropZone] = draggedItem.isLast\n ? [dropTargets[dropTargets.length - 1], \"end\"]\n : [dropTargets[targetIndex], \"start\"];\n\n dropTargetRef.current = dropTarget;\n dropZoneRef.current = dropZone as dropZone;\n\n // setVizData(dropTargets, dropTarget, dropZone);\n\n const dropIndicatorPosition = positionDropIndicator(\n dropTarget,\n dropZone as dropZone\n );\n\n const { top, left, width } =\n dropIndicatorPosition.getBoundingClientRect();\n // Next render will remove the dragged item, that will offset our initial\n // dropIndicatorPosition\n const dropIndicatorRect = {\n top: draggedItem.isLast\n ? range?.atEnd && !range.atStart\n ? top + draggedItem.size - 2\n : top - 2\n : top - draggedItem.size - 2,\n left,\n width,\n height: 2,\n };\n\n setDropIndicator(\n <Draggable\n wrapperClassName=\"dropIndicatorContainer\"\n style={dropIndicatorRect}\n ref={dropIndicatorRef}\n element={createDropIndicator()}\n />\n );\n }\n }\n },\n [\n selected,\n containerRef,\n orientation,\n fullItemQuery,\n viewportRange,\n positionDropIndicator,\n ]\n );\n\n const drag = useCallback(\n (dragPos: number, mouseMoveDirection: \"fwd\" | \"bwd\") => {\n const { current: currentDropTarget } = dropTargetRef;\n const { current: draggedItem } = draggedItemRef;\n\n if (draggedItem) {\n if (containerRef.current) {\n const START = orientation === \"horizontal\" ? \"left\" : \"top\";\n dragPosRef.current = dragPos;\n\n const { current: dropTargets } = measuredDropTargets;\n const nextDropTarget = getNextDropTarget(\n dropTargets,\n dragPos,\n draggedItem.size,\n mouseMoveDirection\n );\n\n if (\n nextDropTarget &&\n nextDropTarget.index !== currentDropTarget?.index\n // mouseMoveDirection !== dragDirectionRef.current\n ) {\n if (nextDropTarget.isOverflowIndicator) {\n // Does this belong in here or can we abstract it out\n setShowOverflow((overflowMenuShowingRef.current = true));\n } else if (dropIndicatorRef.current) {\n const targetIndex = indexOf(nextDropTarget);\n if (targetIndex === dropTargets.length - 1) {\n // because we maintain at least one out-of-viewport row in\n // the dropTargets, this means we are at the very last item.\n const dropTarget = dropTargets[dropTargets.length - 1];\n const dropIndicatorPosition = positionDropIndicator(\n dropTarget,\n \"start\"\n );\n const dropIndicatorRect =\n dropIndicatorPosition.getBoundingClientRect();\n dropIndicatorRef.current.style[\n START\n ] = `${dropIndicatorRect.top}px`;\n } else {\n const dropIndicatorPosition = positionDropIndicator(\n nextDropTarget,\n \"start\"\n ) as unknown as HTMLElement;\n const dropIndicatorRect =\n dropIndicatorPosition.getBoundingClientRect();\n dropIndicatorRef.current.style[\n START\n ] = `${dropIndicatorRect.top}px`;\n }\n // setVizData(dropTargets, nextDropTarget, nextDropZone);\n\n setShowOverflow((overflowMenuShowingRef.current = false));\n }\n\n dropTargetRef.current = nextDropTarget;\n dragDirectionRef.current = mouseMoveDirection;\n }\n }\n }\n },\n [containerRef, orientation, positionDropIndicator]\n );\n\n const drop = useCallback((): DropOptions => {\n clearSpacer();\n const { current: draggedItem } = draggedItemRef;\n const { current: dropTarget } = dropTargetRef;\n const { current: dropZone } = dropZoneRef;\n const { current: range } = rangeRef;\n\n if (draggedItem && range && dropTarget) {\n const { index: fromIndex } = draggedItem;\n\n const dropBefore = dropZone === \"start\";\n const {\n index: originalDropTargetIndex,\n currentIndex: currentDropTargetIndex,\n } = dropTarget;\n\n dropTargetRef.current = null;\n dragDirectionRef.current = undefined;\n\n setDropIndicator(undefined);\n setShowOverflow(false);\n\n //TODO why is this different from Natural Movement ?\n if (overflowMenuShowingRef.current) {\n return {\n fromIndex,\n toIndex: -1,\n };\n } else {\n if (fromIndex < originalDropTargetIndex) {\n return {\n fromIndex,\n toIndex: dropBefore\n ? currentDropTargetIndex\n : currentDropTargetIndex + 1,\n };\n } else {\n return {\n fromIndex,\n toIndex: dropBefore\n ? originalDropTargetIndex\n : originalDropTargetIndex + 1,\n };\n }\n }\n } else {\n throw Error(`useDragDropIndicator drop error`);\n }\n }, [clearSpacer]);\n\n const releaseDrag = useCallback(() => {\n // TODO\n }, []);\n\n return {\n beginDrag,\n drag,\n drop,\n dropIndicator,\n handleScrollStart,\n handleScrollStop,\n releaseDrag,\n revealOverflowedItems: showOverflow,\n };\n};\n"],"names":["useRef","useState","useDropIndicator","useCallback","measureDropTargets","getNextDropTarget","dimensions","getItemById","removeDraggedItem","dropZone","jsx","Draggable","createDropIndicator"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useDragDropNaturalMovement.js","sources":["../../src/drag-drop/useDragDropNaturalMovement.tsx"],"sourcesContent":["import { useCallback, useMemo, useRef, useState } from \"react\";\n\nimport {\n Direction,\n DropOptions,\n InternalDragDropProps,\n InternalDragHookResult,\n ViewportRange,\n} from \"./dragDropTypes\";\nimport { useDragDisplacers } from \"./useDragDisplacers\";\nimport { dispatchMouseEvent } from \"@vuu-ui/vuu-utils\";\nimport {\n dimensions,\n getIndexOfDraggedItem,\n getItemParentContainer,\n getNextDropTarget,\n MeasuredDropTarget,\n measureDropTargets,\n NOT_HIDDEN,\n NOT_OVERFLOWED,\n} from \"./drop-target-utils\";\n\ntype DragPosition = {\n direction?: Direction;\n insertionPosition: number;\n};\n\nexport const useDragDropNaturalMovement = ({\n containerRef,\n orientation = \"horizontal\",\n itemQuery = \"*\",\n selected,\n viewportRange,\n}: InternalDragDropProps): InternalDragHookResult => {\n const dragPositionRef = useRef<DragPosition>({\n direction: undefined,\n insertionPosition: -1,\n });\n const isScrollable = useRef(false);\n /** current position of dragged element */\n const dragPosRef = useRef<number>(-1);\n const measuredDropTargets = useRef<MeasuredDropTarget[]>([]);\n const overflowMenuShowingRef = useRef(false);\n\n const [showOverflow, setShowOverflow] = useState(false);\n\n const { clearSpacers, displaceItem, displaceLastItem, setTerminalSpacer } =\n useDragDisplacers(orientation);\n\n const draggedItemRef = useRef<MeasuredDropTarget>();\n const fullItemQuery = `:is(${itemQuery}${NOT_OVERFLOWED}${NOT_HIDDEN},.vuuOverflowContainer-OverflowIndicator)`;\n\n const indexOf = (dropTarget: MeasuredDropTarget) =>\n measuredDropTargets.current.findIndex((d) => d.id === dropTarget.id);\n\n // Shouldn't need this - but viewportRange is always stale in stopScrolling. Checked all dependencies\n // look ok. Something to do with setTimeout / scrollHandler ?\n const rangeRef = useRef<ViewportRange>();\n rangeRef.current = viewportRange;\n\n const handleScrollStart = useCallback(\n (scrollDirection: \"fwd\" | \"bwd\") => {\n const itemContainer = getItemParentContainer(\n containerRef.current,\n itemQuery,\n );\n const { current: draggedItem } = draggedItemRef;\n\n // When we start scrolling, insert a spacer at the start of end of the collection.\n // This is what we will need if user scrolls right to end and it will give the correct\n // scrollHeight. Ig user stops scrolling before start/end we will reposition the\n // spacer(s) appropriately\n if (itemContainer && draggedItem) {\n setTerminalSpacer(\n itemContainer,\n scrollDirection === \"fwd\" ? \"end\" : \"start\",\n draggedItem.size,\n );\n }\n },\n [containerRef, itemQuery, setTerminalSpacer],\n );\n\n const handleScrollStop = useCallback(\n (scrollDirection: \"fwd\" | \"bwd\") => {\n const { current: container } = containerRef;\n const { current: draggedItem } = draggedItemRef;\n const { current: dragPosition } = dragPositionRef;\n if (container && draggedItem) {\n const dropTargets = (measuredDropTargets.current = measureDropTargets(\n container,\n orientation,\n fullItemQuery,\n rangeRef.current,\n ));\n\n const dropTargetAtBoundary =\n scrollDirection === \"fwd\" ? dropTargets.at(-1) : dropTargets.at(0);\n\n if (dropTargetAtBoundary) {\n const { mid, end, size, start } = dropTargetAtBoundary;\n if (scrollDirection === \"fwd\") {\n const draggedDropTarget = {\n ...draggedItem,\n start: Math.round(start + size),\n mid: Math.round(mid + size),\n end: Math.round(end + size),\n };\n dropTargets.push(draggedDropTarget);\n dragPosition.insertionPosition = dropTargetAtBoundary.index + 1;\n } else {\n const draggedDropTarget = {\n ...draggedItem,\n start: Math.round(start - size),\n mid: Math.round(mid - size),\n end: Math.round(end - size),\n };\n dropTargets.unshift(draggedDropTarget);\n dragPosition.insertionPosition = 0;\n }\n }\n }\n },\n [containerRef, fullItemQuery, orientation],\n );\n\n const beginDrag = useCallback(\n (dragElement: HTMLElement) => {\n if (\n //TODO need a different check for selected\n dragElement.ariaSelected &&\n Array.isArray(selected) &&\n selected.length > 1\n ) {\n console.log(\"its a selected element, and we have a multi select\");\n }\n const { current: container } = containerRef;\n const { current: dragPosition } = dragPositionRef;\n\n if (container && dragElement) {\n const internalDrag = container.contains(dragElement);\n const { SCROLL_SIZE, CLIENT_SIZE } = dimensions(orientation);\n const { id: draggedItemId } = dragElement;\n const { [SCROLL_SIZE]: scrollSize, [CLIENT_SIZE]: clientSize } =\n container;\n isScrollable.current = scrollSize > clientSize;\n const dropTargets = (measuredDropTargets.current = measureDropTargets(\n container,\n orientation,\n fullItemQuery,\n viewportRange,\n draggedItemId,\n ));\n\n if (internalDrag) {\n const indexOfDraggedItem = getIndexOfDraggedItem(dropTargets);\n const draggedItem = dropTargets[indexOfDraggedItem];\n if (draggedItem && container) {\n draggedItemRef.current = draggedItem;\n const displaceFunction = draggedItem.isLast\n ? displaceLastItem\n : displaceItem;\n\n // This should return the insertion position of dragged item\n // which depends on both dro[Target and direction]\n dragPosition.insertionPosition = displaceFunction(\n dropTargets,\n draggedItem,\n draggedItem.size,\n false,\n \"static\",\n );\n }\n } else {\n // prettier-ignore\n const { top: dragPos, height: size } = dragElement.getBoundingClientRect();\n // prettier-ignore\n const dropTarget = getNextDropTarget( dropTargets, dragPos, size, \"fwd\");\n const index = dropTargets.indexOf(dropTarget);\n const { start, end, mid } = dropTarget;\n\n // need to compute the correct position of this\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const draggedItem = (draggedItemRef.current = {\n end,\n mid,\n start,\n isDraggedItem: true,\n isExternal: true,\n size,\n });\n\n const indexOfDropTarget = dropTargets.indexOf(dropTarget);\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n dropTargets.splice(indexOfDropTarget, 0, draggedItem);\n for (let i = index + 1; i < dropTargets.length; i++) {\n const target = dropTargets[i];\n target.mid += size;\n target.end += size;\n target.start += size;\n }\n\n const displaceFunction = dropTarget.isLast\n ? displaceLastItem\n : displaceItem;\n\n displaceFunction(\n dropTargets,\n dropTarget,\n dropTarget.size,\n true,\n \"static\",\n );\n }\n }\n },\n [\n containerRef,\n displaceItem,\n displaceLastItem,\n fullItemQuery,\n orientation,\n selected,\n viewportRange,\n ],\n );\n\n const [showPopup, hidePopup] = useMemo(() => {\n let popupShowing = false;\n const show = (dropTarget: MeasuredDropTarget) => {\n if (!popupShowing) {\n popupShowing = true;\n const button = dropTarget.element.querySelector(\n \".vuuPopupMenu\",\n ) as HTMLElement;\n if (button) {\n dispatchMouseEvent(button, \"click\");\n }\n }\n };\n\n const hide = (dropTarget: MeasuredDropTarget) => {\n if (popupShowing) {\n popupShowing = false;\n const button = dropTarget.element.querySelector(\n \".vuuPopupMenu\",\n ) as HTMLElement;\n if (button) {\n dispatchMouseEvent(button, \"click\");\n }\n }\n };\n\n return [show, hide];\n }, []);\n\n const drag = useCallback(\n (dragPos: number, mouseMoveDirection: \"fwd\" | \"bwd\") => {\n const { current: draggedItem } = draggedItemRef;\n const { current: dragPosition } = dragPositionRef;\n\n if (draggedItem) {\n if (containerRef.current) {\n dragPosRef.current = dragPos;\n\n const { current: dropTargets } = measuredDropTargets;\n const nextDropTarget = getNextDropTarget(\n dropTargets,\n dragPos,\n draggedItem.size,\n mouseMoveDirection,\n );\n\n if (nextDropTarget && !nextDropTarget.isDraggedItem) {\n if (nextDropTarget.isOverflowIndicator) {\n // Does this belong in here or can we abstract it out\n setShowOverflow((overflowMenuShowingRef.current = true));\n showPopup(nextDropTarget);\n } else {\n const { size } = draggedItem;\n const targetIndex = indexOf(nextDropTarget);\n\n const displaceFunc =\n targetIndex === dropTargets.length - 1\n ? displaceLastItem\n : displaceItem;\n\n dragPosition.insertionPosition = displaceFunc(\n dropTargets,\n nextDropTarget,\n size,\n true,\n mouseMoveDirection,\n );\n\n const overflowIndicator = dropTargets.at(\n -1,\n ) as MeasuredDropTarget;\n hidePopup(overflowIndicator);\n setShowOverflow((overflowMenuShowingRef.current = false));\n }\n }\n dragPosition.direction = mouseMoveDirection;\n }\n }\n },\n [containerRef, displaceItem, displaceLastItem, hidePopup, showPopup],\n );\n\n const drop = useCallback((): DropOptions => {\n clearSpacers();\n const { current: dropTargets } = measuredDropTargets;\n const { current: dragPosition } = dragPositionRef;\n const indexOfDraggedItem = getIndexOfDraggedItem(dropTargets);\n const draggedItem = dropTargets[indexOfDraggedItem];\n const { insertionPosition } = dragPosition;\n const { index: fromIndex, isExternal } = draggedItem;\n\n if (overflowMenuShowingRef.current) {\n setShowOverflow(false);\n }\n\n dragPosition.direction = undefined;\n dragPosition.insertionPosition = -1;\n\n const isLastItem = indexOfDraggedItem === dropTargets.length - 1;\n const toIndex = overflowMenuShowingRef.current\n ? -1\n : fromIndex < insertionPosition && !isLastItem\n ? insertionPosition - 1\n : insertionPosition;\n\n return { fromIndex, toIndex, isExternal };\n }, [clearSpacers]);\n\n const releaseDrag = useCallback(() => {\n clearSpacers(true);\n }, [clearSpacers]);\n\n return {\n beginDrag,\n drag,\n drop,\n handleScrollStart,\n handleScrollStop,\n releaseDrag,\n revealOverflowedItems: showOverflow,\n };\n};\n"],"names":["useRef","useState","useDragDisplacers","NOT_OVERFLOWED","NOT_HIDDEN","useCallback","getItemParentContainer","measureDropTargets","dimensions","getIndexOfDraggedItem","getNextDropTarget","useMemo","dispatchMouseEvent"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useDropIndicator.js","sources":["../../src/drag-drop/useDropIndicator.ts"],"sourcesContent":["import { useCallback, useMemo } from \"react\";\nimport { dropZone, MeasuredDropTarget } from \"./drop-target-utils\";\nimport { createDropIndicatorPosition } from \"./Draggable\";\n\nexport const SPACER_SIZE = 0;\n\nexport type DropIndicatorHookResult = {\n positionDropIndicator: (\n dropTarget: MeasuredDropTarget,\n dropZone: dropZone\n ) => HTMLElement;\n clearSpacer: () => void;\n};\n\nexport type DropIndicatorHook = () => DropIndicatorHookResult;\n\nexport const useDropIndicator: DropIndicatorHook = () => {\n const spacer = useMemo(() => createDropIndicatorPosition(), []);\n const clearSpacer = useCallback(() => spacer.remove(), [spacer]);\n const positionDropIndicator = useCallback(\n (dropTarget: MeasuredDropTarget, dropZone: \"start\" | \"end\" = \"end\") => {\n if (dropZone === \"end\") {\n dropTarget.element.after(spacer);\n } else {\n dropTarget.element.before(spacer);\n }\n return spacer;\n },\n [spacer]\n );\n\n return {\n positionDropIndicator,\n clearSpacer,\n };\n};\n"],"names":["useMemo","createDropIndicatorPosition","useCallback","dropZone"],"mappings":";;;;;AAgBO,MAAM,mBAAsC,MAAM;AACvD,EAAA,MAAM,SAASA,aAAQ,CAAA,MAAMC,qCAA4B,EAAA,EAAG,EAAE,CAAA,CAAA;AAC9D,EAAM,MAAA,WAAA,GAAcC,kBAAY,MAAM,MAAA,CAAO,QAAU,EAAA,CAAC,MAAM,CAAC,CAAA,CAAA;AAC/D,EAAA,MAAM,qBAAwB,GAAAA,iBAAA;AAAA,IAC5B,CAAC,UAAgCC,EAAAA,SAAAA,GAA4B,KAAU,KAAA;AACrE,MAAA,IAAIA,cAAa,KAAO,EAAA;AACtB,QAAW,UAAA,CAAA,OAAA,CAAQ,MAAM,MAAM,CAAA,CAAA;AAAA,OAC1B,MAAA;AACL,QAAW,UAAA,CAAA,OAAA,CAAQ,OAAO,MAAM,CAAA,CAAA;AAAA,OAClC;AACA,MAAO,OAAA,MAAA,CAAA;AAAA,KACT;AAAA,IACA,CAAC,MAAM,CAAA;AAAA,GACT,CAAA;AAEA,EAAO,OAAA;AAAA,IACL,qBAAA;AAAA,IACA,WAAA;AAAA,GACF,CAAA;AACF;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useGlobalDragDrop.js","sources":["../../src/drag-drop/useGlobalDragDrop.ts"],"sourcesContent":["import { boxContainsPoint, dispatchCustomEvent } from \"@vuu-ui/vuu-utils\";\nimport { useCallback, useRef } from \"react\";\nimport { MeasuredTarget } from \"./DragDropProvider\";\nimport { DragDropState } from \"./DragDropState\";\nimport { MouseOffset } from \"./dragDropTypes\";\n\nexport type ResumeDragHandler = (dragDropState: DragDropState) => boolean;\nexport type GlobalDropHandler = (dragDropState: DragDropState) => void;\n\nexport const useGlobalDragDrop = ({\n onDragOverDropTarget,\n onDrop,\n}: {\n onDragOverDropTarget: (\n dropTargetId: string,\n dragDropState: DragDropState,\n ) => boolean;\n onDrop: (dropTargetId: string, dragDropState: DragDropState) => void;\n}) => {\n const dropTargetRef = useRef<string>();\n const measuredDropTargetsRef = useRef<Record<string, MeasuredTarget>>();\n\n const dragDropStateRef = useRef<DragDropState | null>(null);\n /** current mouse position */\n const mousePosRef = useRef<MouseOffset>({ x: 0, y: 0 });\n\n const overDropTarget = useCallback((x: number, y: number) => {\n const { current: dropTargets } = measuredDropTargetsRef;\n if (dropTargets) {\n for (const [id, measuredTarget] of Object.entries(dropTargets)) {\n if (boxContainsPoint(measuredTarget, x, y)) {\n return id;\n }\n }\n }\n return undefined;\n }, []);\n\n const dragMouseMoveHandler = useCallback(\n (evt: MouseEvent) => {\n const { clientX, clientY } = evt;\n const { current: dragDropState } = dragDropStateRef;\n\n mousePosRef.current.x = clientX;\n mousePosRef.current.y = clientY;\n\n if (dragDropState?.draggableElement) {\n const { draggableElement, mouseOffset } = dragDropState;\n\n const dragPosX = mousePosRef.current.x - mouseOffset.x;\n const dragPosY = mousePosRef.current.y - mouseOffset.y;\n draggableElement.style.top = `${dragPosY}px`;\n draggableElement.style.left = `${dragPosX}px`;\n\n const dropTargetId = overDropTarget(dragPosX, dragPosY);\n if (dropTargetId) {\n const dropTargetWillResumeDrag = onDragOverDropTarget(\n dropTargetId,\n dragDropState,\n );\n if (dropTargetWillResumeDrag) {\n // prettier-ignore\n document.removeEventListener(\"mousemove\", dragMouseMoveHandler, false);\n document.removeEventListener(\"mouseup\", dragMouseUpHandler, false);\n dragDropStateRef.current = null;\n dropTargetRef.current = undefined;\n } else {\n dropTargetRef.current = dropTargetId;\n }\n } else {\n dropTargetRef.current = undefined;\n }\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\n\n const dragMouseUpHandler = useCallback(() => {\n document.removeEventListener(\"mousemove\", dragMouseMoveHandler, false);\n document.removeEventListener(\"mouseup\", dragMouseUpHandler, false);\n const { current: dragDropState } = dragDropStateRef;\n if (dragDropState) {\n dragDropStateRef.current = null;\n if (dropTargetRef.current) {\n onDrop(dropTargetRef.current, dragDropState);\n }\n if (dragDropState.draggableElement) {\n dispatchCustomEvent(dragDropState.draggableElement, \"vuu-dropped\");\n }\n }\n }, [dragMouseMoveHandler, onDrop]);\n\n const resumeDrag = useCallback<ResumeDragHandler>(\n (dragDropState) => {\n dragDropStateRef.current = dragDropState;\n document.addEventListener(\"mousemove\", dragMouseMoveHandler, false);\n document.addEventListener(\"mouseup\", dragMouseUpHandler, false);\n\n return true;\n },\n [dragMouseMoveHandler, dragMouseUpHandler],\n );\n\n return {\n measuredDropTargetsRef,\n resumeDrag,\n };\n};\n"],"names":["useRef","useCallback","boxContainsPoint","dispatchCustomEvent"],"mappings":"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"}
|
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var vuuUtils = require('@vuu-ui/vuu-utils');
|
|
4
|
-
var React = require('react');
|
|
5
|
-
|
|
6
|
-
const WarnCommit = () => {
|
|
7
|
-
console.warn(
|
|
8
|
-
"onCommit handler has not been provided to InputCell cell renderer"
|
|
9
|
-
);
|
|
10
|
-
return Promise.resolve(true);
|
|
11
|
-
};
|
|
12
|
-
const useEditableText = ({
|
|
13
|
-
clientSideEditValidationCheck,
|
|
14
|
-
initialValue,
|
|
15
|
-
onCommit,
|
|
16
|
-
type
|
|
17
|
-
}) => {
|
|
18
|
-
const [message, setMessage] = React.useState();
|
|
19
|
-
const [value, setValue] = React.useState(initialValue);
|
|
20
|
-
const initialValueRef = React.useRef(initialValue);
|
|
21
|
-
const isDirtyRef = React.useRef(false);
|
|
22
|
-
const hasCommittedRef = React.useRef(false);
|
|
23
|
-
vuuUtils.useLayoutEffectSkipFirst(() => {
|
|
24
|
-
setValue(initialValue);
|
|
25
|
-
}, [initialValue]);
|
|
26
|
-
const commit = React.useCallback(
|
|
27
|
-
(target) => {
|
|
28
|
-
if (isDirtyRef.current) {
|
|
29
|
-
hasCommittedRef.current = true;
|
|
30
|
-
const result = clientSideEditValidationCheck?.(value);
|
|
31
|
-
if (result?.ok === false) {
|
|
32
|
-
setMessage(result?.messages?.join(","));
|
|
33
|
-
} else {
|
|
34
|
-
setMessage(void 0);
|
|
35
|
-
console.log(`commit value ${value}`);
|
|
36
|
-
onCommit(value).then((response) => {
|
|
37
|
-
if (response === true) {
|
|
38
|
-
isDirtyRef.current = false;
|
|
39
|
-
vuuUtils.dispatchCustomEvent(target, "vuu-commit");
|
|
40
|
-
} else {
|
|
41
|
-
setMessage(response);
|
|
42
|
-
}
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
} else {
|
|
46
|
-
vuuUtils.dispatchCustomEvent(target, "vuu-commit");
|
|
47
|
-
hasCommittedRef.current = false;
|
|
48
|
-
}
|
|
49
|
-
},
|
|
50
|
-
[clientSideEditValidationCheck, onCommit, value]
|
|
51
|
-
);
|
|
52
|
-
const handleKeyDown = React.useCallback(
|
|
53
|
-
(evt) => {
|
|
54
|
-
if (evt.key === "Enter") {
|
|
55
|
-
commit(evt.target);
|
|
56
|
-
} else if (evt.key === "ArrowRight" || evt.key === "ArrowLeft" || evt.key === "ArrowUp" || evt.key === "ArrowDown") {
|
|
57
|
-
evt.stopPropagation();
|
|
58
|
-
} else if (evt.key === "Escape") {
|
|
59
|
-
if (isDirtyRef.current) {
|
|
60
|
-
isDirtyRef.current = false;
|
|
61
|
-
setMessage(void 0);
|
|
62
|
-
setValue(initialValueRef.current);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
},
|
|
66
|
-
[commit]
|
|
67
|
-
);
|
|
68
|
-
const handleBlur = React.useCallback(
|
|
69
|
-
(evt) => {
|
|
70
|
-
if (isDirtyRef.current) {
|
|
71
|
-
commit(evt.target);
|
|
72
|
-
}
|
|
73
|
-
},
|
|
74
|
-
[commit]
|
|
75
|
-
);
|
|
76
|
-
const handleChange = React.useCallback(
|
|
77
|
-
(evt) => {
|
|
78
|
-
let typedValue = evt.target.value;
|
|
79
|
-
if (type === "number" && !isNaN(parseFloat(typedValue))) {
|
|
80
|
-
typedValue = parseFloat(typedValue);
|
|
81
|
-
}
|
|
82
|
-
isDirtyRef.current = value !== initialValueRef.current;
|
|
83
|
-
setValue(typedValue);
|
|
84
|
-
if (hasCommittedRef.current && value !== void 0) {
|
|
85
|
-
const result = clientSideEditValidationCheck?.(value);
|
|
86
|
-
if (result?.ok === false) {
|
|
87
|
-
setMessage(result.messages?.join(","));
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
},
|
|
91
|
-
[clientSideEditValidationCheck, type, value]
|
|
92
|
-
);
|
|
93
|
-
return {
|
|
94
|
-
inputProps: {
|
|
95
|
-
onBlur: handleBlur,
|
|
96
|
-
onKeyDown: handleKeyDown
|
|
97
|
-
},
|
|
98
|
-
onChange: handleChange,
|
|
99
|
-
value: value ?? "",
|
|
100
|
-
warningMessage: message
|
|
101
|
-
};
|
|
102
|
-
};
|
|
103
|
-
|
|
104
|
-
exports.WarnCommit = WarnCommit;
|
|
105
|
-
exports.useEditableText = useEditableText;
|
|
106
|
-
//# sourceMappingURL=useEditableText.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useEditableText.js","sources":["../../src/editable/useEditableText.ts"],"sourcesContent":["import { DataValueValidationChecker } from \"@vuu-ui/vuu-data-types\";\nimport { DataItemCommitHandler } from \"@vuu-ui/vuu-table-types\";\nimport { useLayoutEffectSkipFirst } from \"@vuu-ui/vuu-utils\";\nimport { VuuRowDataItemType } from \"@vuu-ui/vuu-protocol-types\";\nimport { dispatchCustomEvent } from \"@vuu-ui/vuu-utils\";\nimport {\n FocusEventHandler,\n FormEventHandler,\n KeyboardEvent,\n useCallback,\n useRef,\n useState,\n} from \"react\";\n\nexport const WarnCommit = (): Promise<true> => {\n console.warn(\n \"onCommit handler has not been provided to InputCell cell renderer\",\n );\n return Promise.resolve(true);\n};\n\nexport interface EditableTextHookProps<\n T extends VuuRowDataItemType = VuuRowDataItemType,\n> {\n clientSideEditValidationCheck?: DataValueValidationChecker;\n initialValue?: T;\n onCommit: DataItemCommitHandler<T>;\n type?: \"string\" | \"number\" | \"boolean\";\n}\n\nexport const useEditableText = <T extends string | number = string>({\n clientSideEditValidationCheck,\n initialValue,\n onCommit,\n type,\n}: EditableTextHookProps<T>) => {\n const [message, setMessage] = useState<string | undefined>();\n const [value, setValue] = useState<T | undefined>(initialValue);\n const initialValueRef = useRef<T | undefined>(initialValue);\n const isDirtyRef = useRef(false);\n const hasCommittedRef = useRef(false);\n\n useLayoutEffectSkipFirst(() => {\n //TODO this isn't right, review the state we're using\n setValue(initialValue);\n }, [initialValue]);\n\n const commit = useCallback(\n (target: HTMLElement) => {\n if (isDirtyRef.current) {\n hasCommittedRef.current = true;\n const result = clientSideEditValidationCheck?.(value);\n if (result?.ok === false) {\n setMessage(result?.messages?.join(\",\"));\n } else {\n setMessage(undefined);\n console.log(`commit value ${value}`);\n onCommit(value as T).then((response) => {\n if (response === true) {\n isDirtyRef.current = false;\n dispatchCustomEvent(target, \"vuu-commit\");\n } else {\n setMessage(response);\n }\n });\n }\n } else {\n // why, if not dirty ?\n dispatchCustomEvent(target, \"vuu-commit\");\n hasCommittedRef.current = false;\n }\n },\n [clientSideEditValidationCheck, onCommit, value],\n );\n\n const handleKeyDown = useCallback(\n (evt: KeyboardEvent<HTMLElement>) => {\n if (evt.key === \"Enter\") {\n commit(evt.target as HTMLElement);\n } else if (\n evt.key === \"ArrowRight\" ||\n evt.key === \"ArrowLeft\" ||\n evt.key === \"ArrowUp\" ||\n evt.key === \"ArrowDown\"\n ) {\n evt.stopPropagation();\n } else if (evt.key === \"Escape\") {\n if (isDirtyRef.current) {\n isDirtyRef.current = false;\n setMessage(undefined);\n setValue(initialValueRef.current);\n }\n }\n },\n [commit],\n );\n\n const handleBlur = useCallback<FocusEventHandler<HTMLElement>>(\n (evt) => {\n if (isDirtyRef.current) {\n commit(evt.target as HTMLElement);\n }\n },\n [commit],\n );\n\n const handleChange = useCallback<FormEventHandler>(\n (evt) => {\n let typedValue: VuuRowDataItemType = (evt.target as HTMLInputElement)\n .value;\n if (type === \"number\" && !isNaN(parseFloat(typedValue))) {\n typedValue = parseFloat(typedValue);\n }\n isDirtyRef.current = value !== initialValueRef.current;\n setValue(typedValue as T);\n if (hasCommittedRef.current && value !== undefined) {\n const result = clientSideEditValidationCheck?.(value);\n if (result?.ok === false) {\n setMessage(result.messages?.join(\",\"));\n }\n }\n },\n [clientSideEditValidationCheck, type, value],\n );\n\n return {\n inputProps: {\n onBlur: handleBlur,\n onKeyDown: handleKeyDown,\n },\n onChange: handleChange,\n value: value ?? \"\",\n warningMessage: message,\n };\n};\n"],"names":["useState","useRef","useLayoutEffectSkipFirst","useCallback","dispatchCustomEvent"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EditableLabel.js","sources":["../../src/editable-label/EditableLabel.tsx"],"sourcesContent":["import cx from \"clsx\";\nimport {\n ChangeEvent,\n KeyboardEvent,\n useCallback,\n useLayoutEffect,\n forwardRef,\n ForwardedRef,\n ReactElement,\n useRef,\n HTMLAttributes,\n useImperativeHandle,\n} from \"react\";\nimport { Input, useControlled } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\n\nimport editableLabelCss from \"./EditableLabel.css\";\n\nconst classBase = \"vuuEditableLabel\";\n\nexport type ExitEditModeHandler = (\n originalLabel: string | undefined,\n editedLabel: string | undefined,\n allowDeactivation?: boolean,\n editCancelled?: boolean,\n) => void;\n\nexport interface EditAPI {\n beginEdit: () => void;\n}\n\nexport const NullEditAPI: EditAPI = {\n beginEdit: () => undefined,\n};\n\nexport interface EditableLabelProps\n extends Omit<HTMLAttributes<HTMLDivElement>, \"onChange\"> {\n className?: string;\n defaultEditing?: boolean;\n defaultValue?: string;\n editLabelApiRef?: ForwardedRef<EditAPI>;\n editing?: boolean;\n onEnterEditMode?: () => void;\n onChange?: (value: string) => void;\n onExitEditMode: ExitEditModeHandler;\n defaultIsEditing?: boolean;\n value?: string;\n}\n\nexport const EditableLabel = forwardRef(function EditableLabel(\n {\n className: classNameProp,\n defaultEditing,\n defaultValue,\n editLabelApiRef,\n editing: editingProp,\n onChange,\n onEnterEditMode,\n onExitEditMode,\n value: valueProp,\n ...restProps\n }: EditableLabelProps,\n forwardedRef: ForwardedRef<HTMLDivElement>,\n): ReactElement<EditableLabelProps> {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"vuu-editable-label\",\n css: editableLabelCss,\n window: targetWindow,\n });\n\n const inputRef = useRef<HTMLInputElement | null>(null);\n const editingRef = useRef<boolean>(false);\n\n const [value, setValue] = useControlled({\n controlled: valueProp,\n default: defaultValue ?? \"\",\n name: \"EditableLabel\",\n state: \"value\",\n });\n\n const [editing, _setEditing] = useControlled({\n controlled: editingProp,\n default: defaultEditing ?? false,\n name: \"EditableLabel\",\n state: \"editing\",\n });\n\n const setEditing = useCallback(\n (value: boolean) => {\n _setEditing((editingRef.current = value));\n },\n [_setEditing],\n );\n\n const initialValue = useRef(value);\n\n useLayoutEffect(() => {\n if (editing) {\n if (inputRef.current !== null) {\n inputRef.current.select();\n inputRef.current.focus();\n }\n }\n }, [editing, inputRef]);\n\n const beginEdit = useCallback(() => {\n setEditing(true);\n onEnterEditMode?.();\n }, [onEnterEditMode, setEditing]);\n\n useImperativeHandle(\n editLabelApiRef,\n () => ({\n beginEdit,\n }),\n [beginEdit],\n );\n\n const exitEditMode = useCallback(\n ({ cancelEdit = false, allowDeactivation = false } = {}) => {\n setEditing(false);\n const originalValue = initialValue.current;\n if (cancelEdit || originalValue === value) {\n if (originalValue !== value) {\n setValue(originalValue);\n }\n onExitEditMode?.(\n originalValue,\n originalValue,\n allowDeactivation,\n cancelEdit,\n );\n } else {\n initialValue.current = value;\n onExitEditMode?.(originalValue, value, allowDeactivation, cancelEdit);\n }\n },\n [onExitEditMode, setEditing, setValue, value],\n );\n\n const handleChange = (evt: ChangeEvent<HTMLInputElement>) => {\n const { value } = evt.target;\n setValue(value);\n onChange && onChange(value);\n };\n\n // We need the ref here as the blur fires before setEditing has taken effect,\n // so we get a double call to exitEditMode if edit is cancelled.\n const handleBlur = useCallback(() => {\n if (editingRef.current) {\n exitEditMode({ allowDeactivation: true });\n }\n }, [exitEditMode]);\n\n const handleKeyDown = (evt: KeyboardEvent<HTMLInputElement>) => {\n if (editing && evt.key === \"Enter\") {\n evt.stopPropagation();\n // we are likely to lose focus as a consequence of user response\n // to exitEdit transition, don't want it to trigger another\n //shouldn't we call setEditing here in case we are in uncontrolled mode ?\n exitEditMode();\n } else if (evt.key === \"ArrowRight\" || evt.key === \"ArrowLeft\") {\n evt.stopPropagation();\n } else if (evt.key === \"Escape\") {\n exitEditMode({ cancelEdit: true });\n }\n };\n\n const className = cx(classBase, classNameProp, {\n [`${classBase}-editing`]: editing,\n });\n return (\n <div\n {...restProps}\n className={className}\n data-text={value}\n ref={forwardedRef}\n >\n {editing ? (\n <Input\n inputProps={{ className: `${classBase}-input`, spellCheck: false }}\n value={value}\n onBlur={handleBlur}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n inputRef={inputRef}\n textAlign=\"left\"\n variant=\"secondary\"\n />\n ) : (\n <span className={`${classBase}-label`}>{value}</span>\n )}\n </div>\n );\n});\n"],"names":["forwardRef","EditableLabel","useWindow","useComponentCssInjection","editableLabelCss","useRef","useControlled","useCallback","value","useLayoutEffect","useImperativeHandle","jsx","Input"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ExpandoInput.js","sources":["../../src/expando-input/ExpandoInput.tsx"],"sourcesContent":["import cx from \"clsx\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { ForwardedRef, forwardRef } from \"react\";\nimport { VuuInput, VuuInputProps } from \"../vuu-input\";\n\nimport expandoInputCss from \"./ExpandoInput.css\";\n\nconst classBase = \"vuuExpandoInput\";\n\nconst noop = () => undefined;\n\nexport interface ExpandoInputProps extends Omit<VuuInputProps, \"onCommit\"> {\n onCommit?: VuuInputProps[\"onCommit\"];\n}\n\nexport const ExpandoInput = forwardRef(function ExpandoInput(\n {\n className: classNameProp,\n errorMessage,\n value,\n inputProps,\n onCommit = noop,\n ...props\n }: ExpandoInputProps,\n forwardedRef: ForwardedRef<HTMLDivElement>,\n) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"vuu-expando-input\",\n css: expandoInputCss,\n window: targetWindow,\n });\n\n return (\n <div\n className={cx(classBase, classNameProp, {\n [`${classBase}-error`]: errorMessage,\n })}\n data-text={value}\n >\n <VuuInput\n {...props}\n errorMessage={errorMessage}\n inputProps={{ ...inputProps, className: `${classBase}-input` }}\n onCommit={onCommit}\n ref={forwardedRef}\n style={{ padding: 0 }}\n textAlign=\"left\"\n value={value}\n variant=\"secondary\"\n />\n </div>\n );\n});\n"],"names":["forwardRef","ExpandoInput","useWindow","useComponentCssInjection","expandoInputCss","jsx","VuuInput"],"mappings":";;;;;;;;;;AAQA,MAAM,SAAY,GAAA,iBAAA,CAAA;AAElB,MAAM,OAAO,MAAM,KAAA,CAAA,CAAA;AAMN,MAAA,YAAA,GAAeA,gBAAW,CAAA,SAASC,aAC9C,CAAA;AAAA,EACE,SAAW,EAAA,aAAA;AAAA,EACX,YAAA;AAAA,EACA,KAAA;AAAA,EACA,UAAA;AAAA,EACA,QAAW,GAAA,IAAA;AAAA,EACX,GAAG,KAAA;AACL,CAAA,EACA,YACA,EAAA;AACA,EAAA,MAAM,eAAeC,gBAAU,EAAA,CAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,mBAAA;AAAA,IACR,GAAK,EAAAC,cAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EACE,uBAAAC,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAG,CAAA,SAAA,EAAW,aAAe,EAAA;AAAA,QACtC,CAAC,CAAA,EAAG,SAAS,CAAA,MAAA,CAAQ,GAAG,YAAA;AAAA,OACzB,CAAA;AAAA,MACD,WAAW,EAAA,KAAA;AAAA,MAEX,QAAA,kBAAAA,cAAA;AAAA,QAACC,iBAAA;AAAA,QAAA;AAAA,UACE,GAAG,KAAA;AAAA,UACJ,YAAA;AAAA,UACA,YAAY,EAAE,GAAG,YAAY,SAAW,EAAA,CAAA,EAAG,SAAS,CAAS,MAAA,CAAA,EAAA;AAAA,UAC7D,QAAA;AAAA,UACA,GAAK,EAAA,YAAA;AAAA,UACL,KAAA,EAAO,EAAE,OAAA,EAAS,CAAE,EAAA;AAAA,UACpB,SAAU,EAAA,MAAA;AAAA,UACV,KAAA;AAAA,UACA,OAAQ,EAAA,WAAA;AAAA,SAAA;AAAA,OACV;AAAA,KAAA;AAAA,GACF,CAAA;AAEJ,CAAC;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Icon.js","sources":["../../src/icon-button/Icon.tsx"],"sourcesContent":["import { HTMLAttributes } from \"react\";\nimport cx from \"clsx\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\n\nimport iconCss from \"./Icon.css\";\n\nconst classBase = \"vuuIcon\";\n\nexport interface IconProps extends HTMLAttributes<HTMLSpanElement> {\n name: string;\n size?: number;\n}\n\nexport const Icon = ({\n className,\n name,\n size,\n style: styleProp,\n ...htmlAttributes\n}: IconProps) => {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"vuu-icon\",\n css: iconCss,\n window: targetWindow,\n });\n\n const style =\n typeof size === \"number\"\n ? { ...styleProp, \"--vuu-icon-size\": `${size}px` }\n : styleProp;\n return (\n <span\n {...htmlAttributes}\n className={cx(classBase, className)}\n data-icon={name}\n role=\"img\"\n style={style}\n />\n );\n};\n"],"names":["useWindow","useComponentCssInjection","iconCss","jsx"],"mappings":";;;;;;;;AAOA,MAAM,SAAY,GAAA,SAAA,CAAA;AAOX,MAAM,OAAO,CAAC;AAAA,EACnB,SAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,KAAO,EAAA,SAAA;AAAA,EACP,GAAG,cAAA;AACL,CAAiB,KAAA;AACf,EAAA,MAAM,eAAeA,gBAAU,EAAA,CAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,UAAA;AAAA,IACR,GAAK,EAAAC,MAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAM,MAAA,KAAA,GACJ,OAAO,IAAA,KAAS,QACZ,GAAA,EAAE,GAAG,SAAA,EAAW,iBAAmB,EAAA,CAAA,EAAG,IAAI,CAAA,EAAA,CAAA,EAC1C,GAAA,SAAA,CAAA;AACN,EACE,uBAAAC,cAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACE,GAAG,cAAA;AAAA,MACJ,SAAA,EAAW,EAAG,CAAA,SAAA,EAAW,SAAS,CAAA;AAAA,MAClC,WAAW,EAAA,IAAA;AAAA,MACX,IAAK,EAAA,KAAA;AAAA,MACL,KAAA;AAAA,KAAA;AAAA,GACF,CAAA;AAEJ;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IconButton.js","sources":["../../src/icon-button/IconButton.tsx"],"sourcesContent":["import cx from \"clsx\";\nimport { Button, ButtonProps } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { Icon } from \"./Icon\";\nimport { forwardRef } from \"react\";\n\nimport iconButtonCss from \"./IconButton.css\";\n\nconst classBase = \"vuuIconButton\";\n\nexport interface IconButtonProps extends Omit<ButtonProps, \"children\"> {\n icon: string;\n size?: number;\n}\n\nexport const IconButton = forwardRef<HTMLButtonElement, IconButtonProps>(\n function IconButton(\n { \"aria-label\": ariaLabel, className, icon, size, ...buttonProps },\n ref\n ) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"vuu-icon-button\",\n css: iconButtonCss,\n window: targetWindow,\n });\n\n return (\n <Button {...buttonProps} className={cx(classBase, className)} ref={ref}>\n <Icon aria-label={ariaLabel} name={icon} size={size} />\n </Button>\n );\n }\n);\n"],"names":["forwardRef","IconButton","useWindow","useComponentCssInjection","iconButtonCss","Button","Icon"],"mappings":";;;;;;;;;;;AASA,MAAM,SAAY,GAAA,eAAA,CAAA;AAOX,MAAM,UAAa,GAAAA,gBAAA;AAAA,EACxB,SAASC,WACP,CAAA,EAAE,YAAc,EAAA,SAAA,EAAW,SAAW,EAAA,IAAA,EAAM,IAAM,EAAA,GAAG,WAAY,EAAA,EACjE,GACA,EAAA;AACA,IAAA,MAAM,eAAeC,gBAAU,EAAA,CAAA;AAC/B,IAAyBC,+BAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,iBAAA;AAAA,MACR,GAAK,EAAAC,YAAA;AAAA,MACL,MAAQ,EAAA,YAAA;AAAA,KACT,CAAA,CAAA;AAED,IAAA,sCACGC,WAAQ,EAAA,EAAA,GAAG,WAAa,EAAA,SAAA,EAAW,GAAG,SAAW,EAAA,SAAS,CAAG,EAAA,GAAA,EAC5D,yCAACC,SAAK,EAAA,EAAA,YAAA,EAAY,WAAW,IAAM,EAAA,IAAA,EAAM,MAAY,CACvD,EAAA,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var toggleIconCss = ".vuuToggleIconButton {\n &.saltButton {\n &:active {\n --saltButton-background-active: transparent;\n }\n &:hover {\n --saltButton-background-hover: transparent;\n }\n .vuuIcon {\n --vuu-icon-height: 18px;\n --vuu-icon-left: -3px;\n --vuu-icon-width: 18px;\n &:after {\n transition: transform 0.1s linear;\n }\n &[data-icon=\"triangle-down\"]:after {\n --vuu-icon-left: -1px;\n --vuu-icon-top: -3px;\n }\n }\n border: none;\n border-radius: 0;\n height: 18px;\n left: 0;\n min-width: 16px;\n padding: 0;\n width: 18px;\n }\n}\n\n.vuuTableGroupCell:hover {\n .vuuToggleIconButton {\n .vuuIcon:after {\n --vuu-icon-color: var(--salt-palette-interact-cta-background-hover);\n }\n }\n}\n";
|
|
4
|
-
|
|
5
|
-
module.exports = toggleIconCss;
|
|
6
|
-
//# sourceMappingURL=ToggleIconButton.css.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ToggleIconButton.js","sources":["../../src/icon-button/ToggleIconButton.tsx"],"sourcesContent":["import { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport cx from \"clsx\";\nimport { IconButton, IconButtonProps } from \"./IconButton\";\n\nimport toggleIconCss from \"./ToggleIconButton.css\";\n\nconst classBase = \"vuuToggleIconButton\";\n\nexport interface ToggleIconButtonProps extends Omit<IconButtonProps, \"icon\"> {\n isExpanded: boolean;\n}\n\nexport const ToggleIconButton = ({\n className,\n isExpanded,\n size = 7,\n variant = \"secondary\",\n ...props\n}: ToggleIconButtonProps) => {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"vuu-toggle-icon-button\",\n css: toggleIconCss,\n window: targetWindow,\n });\n\n const icon = isExpanded ? \"triangle-down\" : \"triangle-right\";\n return (\n <IconButton\n {...props}\n className={cx(classBase, className)}\n icon={icon}\n size={size}\n variant={variant}\n />\n );\n};\n"],"names":["useWindow","useComponentCssInjection","toggleIconCss","jsx","IconButton"],"mappings":";;;;;;;;;AAOA,MAAM,SAAY,GAAA,qBAAA,CAAA;AAMX,MAAM,mBAAmB,CAAC;AAAA,EAC/B,SAAA;AAAA,EACA,UAAA;AAAA,EACA,IAAO,GAAA,CAAA;AAAA,EACP,OAAU,GAAA,WAAA;AAAA,EACV,GAAG,KAAA;AACL,CAA6B,KAAA;AAC3B,EAAA,MAAM,eAAeA,gBAAU,EAAA,CAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,wBAAA;AAAA,IACR,GAAK,EAAAC,kBAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAM,MAAA,IAAA,GAAO,aAAa,eAAkB,GAAA,gBAAA,CAAA;AAC5C,EACE,uBAAAC,cAAA;AAAA,IAACC,qBAAA;AAAA,IAAA;AAAA,MACE,GAAG,KAAA;AAAA,MACJ,SAAA,EAAW,EAAG,CAAA,SAAA,EAAW,SAAS,CAAA;AAAA,MAClC,IAAA;AAAA,MACA,IAAA;AAAA,MACA,OAAA;AAAA,KAAA;AAAA,GACF,CAAA;AAEJ;;;;"}
|