@vuu-ui/vuu-ui-controls 3.0.0 → 3.1.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +19 -16
- package/src/calendar/Calendar.css.js +10 -0
- package/src/calendar/Calendar.js +70 -0
- package/src/calendar/index.js +4 -0
- package/src/calendar/internal/CalendarCarousel.css.js +19 -0
- package/src/calendar/internal/CalendarCarousel.js +73 -0
- package/src/calendar/internal/CalendarContext.js +9 -0
- package/src/calendar/internal/CalendarDay.css.js +116 -0
- package/{esm → src}/calendar/internal/CalendarDay.js +33 -53
- package/src/calendar/internal/CalendarMonth.css.js +13 -0
- package/src/calendar/internal/CalendarMonth.js +43 -0
- package/src/calendar/internal/CalendarNavigation.css.js +24 -0
- package/src/calendar/internal/CalendarNavigation.js +185 -0
- package/src/calendar/internal/CalendarWeekHeader.css.js +23 -0
- package/src/calendar/internal/CalendarWeekHeader.js +31 -0
- package/src/calendar/internal/useFocusManagement.js +66 -0
- package/src/calendar/internal/utils.js +57 -0
- package/src/calendar/useCalendar.js +116 -0
- package/src/calendar/useCalendarDay.js +74 -0
- package/src/calendar/useSelection.js +202 -0
- package/src/column-picker/ColumnPicker.css.js +8 -0
- package/src/column-picker/ColumnPicker.js +108 -0
- package/src/column-picker/ColumnSearch.css.js +61 -0
- package/src/column-picker/ColumnSearch.js +66 -0
- package/src/column-picker/index.js +2 -0
- package/src/column-picker/moving-window.js +49 -0
- package/src/common-hooks/index.js +3 -0
- package/src/common-hooks/selectionTypes.js +8 -0
- package/src/common-hooks/use-resize-observer.js +122 -0
- package/src/common-hooks/useControlled.js +45 -0
- package/src/context-panel-provider/ContextPanelProvider.js +80 -0
- package/src/cycle-state-button/CycleStateButton.js +30 -0
- package/src/cycle-state-button/index.js +1 -0
- package/src/date-input/DateInput.css.js +195 -0
- package/src/date-input/DateInput.js +210 -0
- package/src/date-input/index.js +1 -0
- package/src/date-picker/DatePicker.js +137 -0
- package/src/date-picker/DatePickerContext.js +20 -0
- package/src/date-picker/DatePickerPanel.css.js +25 -0
- package/src/date-picker/DatePickerPanel.js +124 -0
- package/src/date-picker/index.js +1 -0
- package/src/drag-drop/DragDropProvider.js +123 -0
- package/src/drag-drop/DragDropState.js +25 -0
- package/src/drag-drop/Draggable.css.js +57 -0
- package/src/drag-drop/Draggable.js +77 -0
- package/src/drag-drop/DropIndicator.css.js +11 -0
- package/src/drag-drop/DropIndicator.js +28 -0
- package/{esm → src}/drag-drop/dragDropTypes.js +0 -2
- package/src/drag-drop/drop-target-utils.js +199 -0
- package/src/drag-drop/index.js +6 -0
- package/src/drag-drop/useAutoScroll.js +53 -0
- package/src/drag-drop/useDragDisplacers.js +126 -0
- package/src/drag-drop/useDragDrop.js +435 -0
- package/src/drag-drop/useDragDropCopy.js +22 -0
- package/src/drag-drop/useDragDropIndicator.js +182 -0
- package/src/drag-drop/useDragDropNaturalMovement.js +205 -0
- package/src/drag-drop/useDropIndicator.js +21 -0
- package/src/drag-drop/useGlobalDragDrop.js +67 -0
- package/src/drag-drop/useTransition.js +11 -0
- package/src/editable/index.js +1 -0
- package/src/editable/useEditableText.js +199 -0
- package/src/editable-label/EditableLabel.css.js +81 -0
- package/src/editable-label/EditableLabel.js +125 -0
- package/src/editable-label/index.js +1 -0
- package/src/expando-input/ExpandoInput.css.js +67 -0
- package/src/expando-input/ExpandoInput.js +40 -0
- package/src/expando-input/index.js +1 -0
- package/src/highlighter/Highlighter.css.js +8 -0
- package/src/highlighter/Highlighter.js +27 -0
- package/src/highlighter/index.js +1 -0
- package/src/hover-overlay/HoverOverlay.js +92 -0
- package/src/icon-button/Icon.css.js +8 -0
- package/src/icon-button/Icon.js +26 -0
- package/src/icon-button/IconButton.css.js +10 -0
- package/src/icon-button/IconButton.js +28 -0
- package/src/icon-button/ToggleIconButton.css.js +47 -0
- package/src/icon-button/ToggleIconButton.js +26 -0
- package/src/icon-button/index.js +3 -0
- package/src/index.js +32 -0
- package/src/instrument-picker/SearchCell.css.js +17 -0
- package/src/instrument-picker/SearchCell.js +29 -0
- package/src/instrument-picker/TablePicker.css.js +23 -0
- package/src/instrument-picker/TablePicker.js +89 -0
- package/src/instrument-picker/index.js +1 -0
- package/src/instrument-picker/moving-window.js +49 -0
- package/src/instrument-picker/useDataSource.js +38 -0
- package/src/instrument-picker/useTablePicker.js +136 -0
- package/src/item-picker/ItemPicker.css.js +97 -0
- package/src/item-picker/ItemPicker.js +210 -0
- package/src/item-picker/useItemPicker.js +83 -0
- package/src/measured-container/MeasuredContainer.css.js +11 -0
- package/src/measured-container/MeasuredContainer.js +50 -0
- package/src/measured-container/index.js +2 -0
- package/src/measured-container/useMeasuredContainer.js +156 -0
- package/src/modal-provider/ModalProvider.js +147 -0
- package/src/overflow-container/OverflowContainer.css.js +135 -0
- package/src/overflow-container/OverflowContainer.js +87 -0
- package/src/overflow-container/index.js +2 -0
- package/src/overflow-container/overflow-utils.js +211 -0
- package/src/overflow-container/useOverflowContainer.js +108 -0
- package/src/price-ticker/PriceTicker.css.js +32 -0
- package/src/price-ticker/PriceTicker.js +51 -0
- package/src/price-ticker/index.js +1 -0
- package/src/prompt/Prompt.css.js +48 -0
- package/src/prompt/Prompt.js +136 -0
- package/src/sortable-list/SortableList.js +39 -0
- package/src/split-button/SplitButton.css.js +117 -0
- package/src/split-button/SplitButton.js +60 -0
- package/src/split-button/SplitStateButton.css.js +66 -0
- package/src/split-button/SplitStateButton.js +23 -0
- package/src/split-button/index.js +2 -0
- package/src/split-button/useSplitButton.js +61 -0
- package/src/table-search/SearchCell.css.js +20 -0
- package/src/table-search/SearchCell.js +26 -0
- package/src/table-search/TableSearch.css.js +27 -0
- package/src/table-search/TableSearch.js +81 -0
- package/src/table-search/index.js +1 -0
- package/src/table-search/moving-window.js +49 -0
- package/src/table-search/useTableSearch.js +30 -0
- package/src/tabs-next/TabBar.css.js +26 -0
- package/src/tabs-next/TabBar.js +27 -0
- package/src/tabs-next/TabListNext.css.js +36 -0
- package/src/tabs-next/TabListNext.js +94 -0
- package/src/tabs-next/TabNext.css.js +76 -0
- package/src/tabs-next/TabNext.js +91 -0
- package/src/tabs-next/TabNextAction.js +26 -0
- package/src/tabs-next/TabNextContext.js +14 -0
- package/src/tabs-next/TabNextPanel.css.js +17 -0
- package/src/tabs-next/TabNextPanel.js +69 -0
- package/src/tabs-next/TabNextTrigger.css.js +22 -0
- package/src/tabs-next/TabNextTrigger.js +66 -0
- package/src/tabs-next/TabOverflowList.css.js +77 -0
- package/src/tabs-next/TabOverflowList.js +115 -0
- package/src/tabs-next/TabsNext.js +149 -0
- package/src/tabs-next/TabsNextContext.js +28 -0
- package/src/tabs-next/hooks/useCollection.js +80 -0
- package/src/tabs-next/hooks/useFocusOutside.js +23 -0
- package/src/tabs-next/hooks/useOverflow.js +118 -0
- package/src/tabs-next/index.js +7 -0
- package/src/tabstrip/Tab.css.js +148 -0
- package/src/tabstrip/Tab.js +107 -0
- package/src/tabstrip/TabMenu.css.js +8 -0
- package/src/tabstrip/TabMenu.js +48 -0
- package/src/tabstrip/TabMenuOptions.js +14 -0
- package/src/tabstrip/TabsTypes.js +0 -0
- package/src/tabstrip/Tabstrip.css.js +121 -0
- package/src/tabstrip/Tabstrip.js +106 -0
- package/src/tabstrip/ThemeTabstrip.css.js +20 -0
- package/src/tabstrip/index.js +4 -0
- package/src/tabstrip/tabstrip-dom-utils.js +11 -0
- package/src/tabstrip/useAnimatedSelectionThumb.js +68 -0
- package/src/tabstrip/useKeyboardNavigation.js +191 -0
- package/src/tabstrip/useSelection.js +50 -0
- package/src/tabstrip/useTabstrip.js +181 -0
- package/src/time-input/MaskedInput.js +285 -0
- package/src/time-input/TimeInput.css.js +39 -0
- package/src/time-input/TimeInput.js +37 -0
- package/src/time-input/useTimeInput.js +82 -0
- package/src/toolbar/Toolbar.css.js +46 -0
- package/src/toolbar/Toolbar.js +62 -0
- package/src/toolbar/index.js +1 -0
- package/src/toolbar/toolbar-dom-utils.js +11 -0
- package/src/toolbar/useKeyboardNavigation.js +240 -0
- package/src/toolbar/useSelection.js +82 -0
- package/src/toolbar/useToolbar.js +73 -0
- package/src/utils/deprecated-types.js +0 -0
- package/{esm → src}/utils/escapeRegExp.js +1 -3
- package/src/utils/forwardCallbackProps.js +15 -0
- package/src/utils/index.js +5 -0
- package/src/utils/isOverflowElement.js +2 -0
- package/src/utils/isPlainObject.js +2 -0
- package/src/vuu-date-picker/VuuDatePicker.js +92 -0
- package/src/vuu-date-picker/index.js +1 -0
- package/src/vuu-input/VuuInput.css.js +13 -0
- package/src/vuu-input/VuuInput.js +85 -0
- package/src/vuu-input/index.js +1 -0
- package/src/vuu-time-picker/TimeRangePicker.js +0 -0
- package/src/vuu-time-picker/VuuTimePicker.css.js +14 -0
- package/src/vuu-time-picker/VuuTimePicker.js +26 -0
- package/src/vuu-typeahead-input/VuuTypeaheadInput.css.js +49 -0
- package/src/vuu-typeahead-input/VuuTypeaheadInput.js +46 -0
- package/src/vuu-typeahead-input/index.js +1 -0
- package/src/vuu-typeahead-input/useVuuTypeaheadInput.js +140 -0
- package/cjs/calendar/Calendar.css.js +0 -6
- package/cjs/calendar/Calendar.css.js.map +0 -1
- package/cjs/calendar/Calendar.js +0 -93
- package/cjs/calendar/Calendar.js.map +0 -1
- package/cjs/calendar/internal/CalendarCarousel.css.js +0 -6
- package/cjs/calendar/internal/CalendarCarousel.css.js.map +0 -1
- package/cjs/calendar/internal/CalendarCarousel.js +0 -75
- package/cjs/calendar/internal/CalendarCarousel.js.map +0 -1
- package/cjs/calendar/internal/CalendarContext.js +0 -19
- package/cjs/calendar/internal/CalendarContext.js.map +0 -1
- package/cjs/calendar/internal/CalendarDay.css.js +0 -6
- package/cjs/calendar/internal/CalendarDay.css.js.map +0 -1
- package/cjs/calendar/internal/CalendarDay.js +0 -86
- package/cjs/calendar/internal/CalendarDay.js.map +0 -1
- package/cjs/calendar/internal/CalendarMonth.css.js +0 -6
- package/cjs/calendar/internal/CalendarMonth.css.js.map +0 -1
- package/cjs/calendar/internal/CalendarMonth.js +0 -71
- package/cjs/calendar/internal/CalendarMonth.js.map +0 -1
- package/cjs/calendar/internal/CalendarNavigation.css.js +0 -6
- package/cjs/calendar/internal/CalendarNavigation.css.js.map +0 -1
- package/cjs/calendar/internal/CalendarNavigation.js +0 -236
- package/cjs/calendar/internal/CalendarNavigation.js.map +0 -1
- package/cjs/calendar/internal/CalendarWeekHeader.css.js +0 -6
- package/cjs/calendar/internal/CalendarWeekHeader.css.js.map +0 -1
- package/cjs/calendar/internal/CalendarWeekHeader.js +0 -43
- package/cjs/calendar/internal/CalendarWeekHeader.js.map +0 -1
- package/cjs/calendar/internal/useFocusManagement.js +0 -66
- package/cjs/calendar/internal/useFocusManagement.js.map +0 -1
- package/cjs/calendar/internal/utils.js +0 -64
- package/cjs/calendar/internal/utils.js.map +0 -1
- package/cjs/calendar/useCalendar.js +0 -163
- package/cjs/calendar/useCalendar.js.map +0 -1
- package/cjs/calendar/useCalendarDay.js +0 -80
- package/cjs/calendar/useCalendarDay.js.map +0 -1
- package/cjs/calendar/useSelection.js +0 -248
- package/cjs/calendar/useSelection.js.map +0 -1
- package/cjs/column-picker/ColumnPicker.css.js +0 -6
- package/cjs/column-picker/ColumnPicker.css.js.map +0 -1
- package/cjs/column-picker/ColumnPicker.js +0 -128
- package/cjs/column-picker/ColumnPicker.js.map +0 -1
- package/cjs/column-picker/ColumnSearch.css.js +0 -6
- package/cjs/column-picker/ColumnSearch.css.js.map +0 -1
- package/cjs/column-picker/ColumnSearch.js +0 -82
- package/cjs/column-picker/ColumnSearch.js.map +0 -1
- package/cjs/common-hooks/selectionTypes.js +0 -18
- package/cjs/common-hooks/selectionTypes.js.map +0 -1
- package/cjs/common-hooks/use-resize-observer.js +0 -123
- package/cjs/common-hooks/use-resize-observer.js.map +0 -1
- package/cjs/common-hooks/useControlled.js +0 -58
- package/cjs/common-hooks/useControlled.js.map +0 -1
- package/cjs/context-panel-provider/ContextPanelProvider.js +0 -99
- package/cjs/context-panel-provider/ContextPanelProvider.js.map +0 -1
- package/cjs/cycle-state-button/CycleStateButton.js +0 -50
- package/cjs/cycle-state-button/CycleStateButton.js.map +0 -1
- package/cjs/date-input/DateInput.css.js +0 -6
- package/cjs/date-input/DateInput.css.js.map +0 -1
- package/cjs/date-input/DateInput.js +0 -277
- package/cjs/date-input/DateInput.js.map +0 -1
- package/cjs/date-picker/DatePicker.js +0 -169
- package/cjs/date-picker/DatePicker.js.map +0 -1
- package/cjs/date-picker/DatePickerContext.js +0 -26
- package/cjs/date-picker/DatePickerContext.js.map +0 -1
- package/cjs/date-picker/DatePickerPanel.css.js +0 -6
- package/cjs/date-picker/DatePickerPanel.css.js.map +0 -1
- package/cjs/date-picker/DatePickerPanel.js +0 -146
- package/cjs/date-picker/DatePickerPanel.js.map +0 -1
- package/cjs/drag-drop/DragDropProvider.js +0 -145
- package/cjs/drag-drop/DragDropProvider.js.map +0 -1
- package/cjs/drag-drop/DragDropState.js +0 -36
- package/cjs/drag-drop/DragDropState.js.map +0 -1
- package/cjs/drag-drop/Draggable.css.js +0 -6
- package/cjs/drag-drop/Draggable.css.js.map +0 -1
- package/cjs/drag-drop/Draggable.js +0 -90
- package/cjs/drag-drop/Draggable.js.map +0 -1
- package/cjs/drag-drop/dragDropTypes.js +0 -8
- package/cjs/drag-drop/dragDropTypes.js.map +0 -1
- package/cjs/drag-drop/drop-target-utils.js +0 -245
- package/cjs/drag-drop/drop-target-utils.js.map +0 -1
- package/cjs/drag-drop/useAutoScroll.js +0 -71
- package/cjs/drag-drop/useAutoScroll.js.map +0 -1
- package/cjs/drag-drop/useDragDisplacers.js +0 -160
- package/cjs/drag-drop/useDragDisplacers.js.map +0 -1
- package/cjs/drag-drop/useDragDrop.js +0 -504
- package/cjs/drag-drop/useDragDrop.js.map +0 -1
- package/cjs/drag-drop/useDragDropCopy.js +0 -34
- package/cjs/drag-drop/useDragDropCopy.js.map +0 -1
- package/cjs/drag-drop/useDragDropIndicator.js +0 -251
- package/cjs/drag-drop/useDragDropIndicator.js.map +0 -1
- package/cjs/drag-drop/useDragDropNaturalMovement.js +0 -265
- package/cjs/drag-drop/useDragDropNaturalMovement.js.map +0 -1
- package/cjs/drag-drop/useDropIndicator.js +0 -27
- package/cjs/drag-drop/useDropIndicator.js.map +0 -1
- package/cjs/drag-drop/useGlobalDragDrop.js +0 -89
- package/cjs/drag-drop/useGlobalDragDrop.js.map +0 -1
- package/cjs/editable/useEditableText.js +0 -211
- package/cjs/editable/useEditableText.js.map +0 -1
- package/cjs/editable-label/EditableLabel.css.js +0 -6
- package/cjs/editable-label/EditableLabel.css.js.map +0 -1
- package/cjs/editable-label/EditableLabel.js +0 -143
- package/cjs/editable-label/EditableLabel.js.map +0 -1
- package/cjs/expando-input/ExpandoInput.css.js +0 -6
- package/cjs/expando-input/ExpandoInput.css.js.map +0 -1
- package/cjs/expando-input/ExpandoInput.js +0 -53
- package/cjs/expando-input/ExpandoInput.js.map +0 -1
- package/cjs/hover-overlay/HoverOverlay.js +0 -96
- package/cjs/hover-overlay/HoverOverlay.js.map +0 -1
- package/cjs/icon-button/Icon.css.js +0 -6
- package/cjs/icon-button/Icon.css.js.map +0 -1
- package/cjs/icon-button/Icon.js +0 -37
- package/cjs/icon-button/Icon.js.map +0 -1
- package/cjs/icon-button/IconButton.css.js +0 -6
- package/cjs/icon-button/IconButton.css.js.map +0 -1
- package/cjs/icon-button/IconButton.js +0 -26
- package/cjs/icon-button/IconButton.js.map +0 -1
- package/cjs/icon-button/ToggleIconButton.css.js +0 -6
- package/cjs/icon-button/ToggleIconButton.css.js.map +0 -1
- package/cjs/icon-button/ToggleIconButton.js +0 -39
- package/cjs/icon-button/ToggleIconButton.js.map +0 -1
- package/cjs/index.js +0 -172
- package/cjs/index.js.map +0 -1
- package/cjs/instrument-picker/TablePicker.css.js +0 -6
- package/cjs/instrument-picker/TablePicker.css.js.map +0 -1
- package/cjs/instrument-picker/TablePicker.js +0 -130
- package/cjs/instrument-picker/TablePicker.js.map +0 -1
- package/cjs/instrument-picker/useTablePicker.js +0 -150
- package/cjs/instrument-picker/useTablePicker.js.map +0 -1
- package/cjs/item-picker/ItemPicker.css.js +0 -6
- package/cjs/item-picker/ItemPicker.css.js.map +0 -1
- package/cjs/item-picker/ItemPicker.js +0 -261
- package/cjs/item-picker/ItemPicker.js.map +0 -1
- package/cjs/item-picker/useItemPicker.js +0 -118
- package/cjs/item-picker/useItemPicker.js.map +0 -1
- package/cjs/measured-container/MeasuredContainer.css.js +0 -6
- package/cjs/measured-container/MeasuredContainer.css.js.map +0 -1
- package/cjs/measured-container/MeasuredContainer.js +0 -72
- package/cjs/measured-container/MeasuredContainer.js.map +0 -1
- package/cjs/measured-container/useMeasuredContainer.js +0 -167
- package/cjs/measured-container/useMeasuredContainer.js.map +0 -1
- package/cjs/modal-provider/ModalProvider.js +0 -143
- package/cjs/modal-provider/ModalProvider.js.map +0 -1
- package/cjs/overflow-container/OverflowContainer.css.js +0 -6
- package/cjs/overflow-container/OverflowContainer.css.js.map +0 -1
- package/cjs/overflow-container/OverflowContainer.js +0 -143
- package/cjs/overflow-container/OverflowContainer.js.map +0 -1
- package/cjs/overflow-container/overflow-utils.js +0 -286
- package/cjs/overflow-container/overflow-utils.js.map +0 -1
- package/cjs/overflow-container/useOverflowContainer.js +0 -143
- package/cjs/overflow-container/useOverflowContainer.js.map +0 -1
- package/cjs/price-ticker/PriceTicker.css.js +0 -6
- package/cjs/price-ticker/PriceTicker.css.js.map +0 -1
- package/cjs/price-ticker/PriceTicker.js +0 -50
- package/cjs/price-ticker/PriceTicker.js.map +0 -1
- package/cjs/prompt/Prompt.css.js +0 -6
- package/cjs/prompt/Prompt.css.js.map +0 -1
- package/cjs/prompt/Prompt.js +0 -162
- package/cjs/prompt/Prompt.js.map +0 -1
- package/cjs/sortable-list/SortableList.js +0 -37
- package/cjs/sortable-list/SortableList.js.map +0 -1
- package/cjs/split-button/SplitButton.css.js +0 -6
- package/cjs/split-button/SplitButton.css.js.map +0 -1
- package/cjs/split-button/SplitButton.js +0 -84
- package/cjs/split-button/SplitButton.js.map +0 -1
- package/cjs/split-button/SplitStateButton.css.js +0 -6
- package/cjs/split-button/SplitStateButton.css.js.map +0 -1
- package/cjs/split-button/SplitStateButton.js +0 -31
- package/cjs/split-button/SplitStateButton.js.map +0 -1
- package/cjs/split-button/useSplitButton.js +0 -84
- package/cjs/split-button/useSplitButton.js.map +0 -1
- package/cjs/table-search/SearchCell.css.js +0 -6
- package/cjs/table-search/SearchCell.css.js.map +0 -1
- package/cjs/table-search/SearchCell.js +0 -32
- package/cjs/table-search/SearchCell.js.map +0 -1
- package/cjs/table-search/TableSearch.css.js +0 -6
- package/cjs/table-search/TableSearch.css.js.map +0 -1
- package/cjs/table-search/TableSearch.js +0 -89
- package/cjs/table-search/TableSearch.js.map +0 -1
- package/cjs/table-search/useTableSearch.js +0 -39
- package/cjs/table-search/useTableSearch.js.map +0 -1
- package/cjs/tabs-next/TabBar.css.js +0 -6
- package/cjs/tabs-next/TabBar.css.js.map +0 -1
- package/cjs/tabs-next/TabBar.js +0 -41
- package/cjs/tabs-next/TabBar.js.map +0 -1
- package/cjs/tabs-next/TabListNext.css.js +0 -6
- package/cjs/tabs-next/TabListNext.css.js.map +0 -1
- package/cjs/tabs-next/TabListNext.js +0 -124
- package/cjs/tabs-next/TabListNext.js.map +0 -1
- package/cjs/tabs-next/TabNext.css.js +0 -6
- package/cjs/tabs-next/TabNext.css.js.map +0 -1
- package/cjs/tabs-next/TabNext.js +0 -110
- package/cjs/tabs-next/TabNext.js.map +0 -1
- package/cjs/tabs-next/TabNextAction.js +0 -35
- package/cjs/tabs-next/TabNextAction.js.map +0 -1
- package/cjs/tabs-next/TabNextContext.js +0 -23
- package/cjs/tabs-next/TabNextContext.js.map +0 -1
- package/cjs/tabs-next/TabNextPanel.css.js +0 -6
- package/cjs/tabs-next/TabNextPanel.css.js.map +0 -1
- package/cjs/tabs-next/TabNextPanel.js +0 -77
- package/cjs/tabs-next/TabNextPanel.js.map +0 -1
- package/cjs/tabs-next/TabNextTrigger.css.js +0 -6
- package/cjs/tabs-next/TabNextTrigger.css.js.map +0 -1
- package/cjs/tabs-next/TabNextTrigger.js +0 -74
- package/cjs/tabs-next/TabNextTrigger.js.map +0 -1
- package/cjs/tabs-next/TabOverflowList.css.js +0 -6
- package/cjs/tabs-next/TabOverflowList.css.js.map +0 -1
- package/cjs/tabs-next/TabOverflowList.js +0 -130
- package/cjs/tabs-next/TabOverflowList.js.map +0 -1
- package/cjs/tabs-next/TabsNext.js +0 -174
- package/cjs/tabs-next/TabsNext.js.map +0 -1
- package/cjs/tabs-next/TabsNextContext.js +0 -33
- package/cjs/tabs-next/TabsNextContext.js.map +0 -1
- package/cjs/tabs-next/hooks/useCollection.js +0 -91
- package/cjs/tabs-next/hooks/useCollection.js.map +0 -1
- package/cjs/tabs-next/hooks/useFocusOutside.js +0 -24
- package/cjs/tabs-next/hooks/useFocusOutside.js.map +0 -1
- package/cjs/tabs-next/hooks/useOverflow.js +0 -138
- package/cjs/tabs-next/hooks/useOverflow.js.map +0 -1
- package/cjs/tabstrip/Tab.css.js +0 -6
- package/cjs/tabstrip/Tab.css.js.map +0 -1
- package/cjs/tabstrip/Tab.js +0 -153
- package/cjs/tabstrip/Tab.js.map +0 -1
- package/cjs/tabstrip/TabMenu.css.js +0 -6
- package/cjs/tabstrip/TabMenu.css.js.map +0 -1
- package/cjs/tabstrip/TabMenu.js +0 -72
- package/cjs/tabstrip/TabMenu.js.map +0 -1
- package/cjs/tabstrip/TabMenuOptions.js +0 -20
- package/cjs/tabstrip/TabMenuOptions.js.map +0 -1
- package/cjs/tabstrip/Tabstrip.css.js +0 -6
- package/cjs/tabstrip/Tabstrip.css.js.map +0 -1
- package/cjs/tabstrip/Tabstrip.js +0 -160
- package/cjs/tabstrip/Tabstrip.js.map +0 -1
- package/cjs/tabstrip/tabstrip-dom-utils.js +0 -19
- package/cjs/tabstrip/tabstrip-dom-utils.js.map +0 -1
- package/cjs/tabstrip/useAnimatedSelectionThumb.js +0 -85
- package/cjs/tabstrip/useAnimatedSelectionThumb.js.map +0 -1
- package/cjs/tabstrip/useKeyboardNavigation.js +0 -247
- package/cjs/tabstrip/useKeyboardNavigation.js.map +0 -1
- package/cjs/tabstrip/useSelection.js +0 -60
- package/cjs/tabstrip/useSelection.js.map +0 -1
- package/cjs/tabstrip/useTabstrip.js +0 -233
- package/cjs/tabstrip/useTabstrip.js.map +0 -1
- package/cjs/time-input/MaskedInput.js +0 -377
- package/cjs/time-input/MaskedInput.js.map +0 -1
- package/cjs/time-input/TimeInput.css.js +0 -6
- package/cjs/time-input/TimeInput.css.js.map +0 -1
- package/cjs/time-input/TimeInput.js +0 -56
- package/cjs/time-input/TimeInput.js.map +0 -1
- package/cjs/time-input/useTimeInput.js +0 -121
- package/cjs/time-input/useTimeInput.js.map +0 -1
- package/cjs/toolbar/Toolbar.css.js +0 -6
- package/cjs/toolbar/Toolbar.css.js.map +0 -1
- package/cjs/toolbar/Toolbar.js +0 -90
- package/cjs/toolbar/Toolbar.js.map +0 -1
- package/cjs/toolbar/toolbar-dom-utils.js +0 -18
- package/cjs/toolbar/toolbar-dom-utils.js.map +0 -1
- package/cjs/toolbar/useKeyboardNavigation.js +0 -305
- package/cjs/toolbar/useKeyboardNavigation.js.map +0 -1
- package/cjs/toolbar/useSelection.js +0 -93
- package/cjs/toolbar/useSelection.js.map +0 -1
- package/cjs/toolbar/useToolbar.js +0 -100
- package/cjs/toolbar/useToolbar.js.map +0 -1
- package/cjs/utils/escapeRegExp.js +0 -9
- package/cjs/utils/escapeRegExp.js.map +0 -1
- package/cjs/utils/forwardCallbackProps.js +0 -22
- package/cjs/utils/forwardCallbackProps.js.map +0 -1
- package/cjs/utils/isOverflowElement.js +0 -8
- package/cjs/utils/isOverflowElement.js.map +0 -1
- package/cjs/utils/isPlainObject.js +0 -6
- package/cjs/utils/isPlainObject.js.map +0 -1
- package/cjs/vuu-date-picker/VuuDatePicker.js +0 -122
- package/cjs/vuu-date-picker/VuuDatePicker.js.map +0 -1
- package/cjs/vuu-input/VuuInput.css.js +0 -6
- package/cjs/vuu-input/VuuInput.css.js.map +0 -1
- package/cjs/vuu-input/VuuInput.js +0 -102
- package/cjs/vuu-input/VuuInput.js.map +0 -1
- package/cjs/vuu-time-picker/VuuTimePicker.css.js +0 -6
- package/cjs/vuu-time-picker/VuuTimePicker.css.js.map +0 -1
- package/cjs/vuu-time-picker/VuuTimePicker.js +0 -37
- package/cjs/vuu-time-picker/VuuTimePicker.js.map +0 -1
- package/cjs/vuu-typeahead-input/VuuTypeaheadInput.css.js +0 -6
- package/cjs/vuu-typeahead-input/VuuTypeaheadInput.css.js.map +0 -1
- package/cjs/vuu-typeahead-input/VuuTypeaheadInput.js +0 -80
- package/cjs/vuu-typeahead-input/VuuTypeaheadInput.js.map +0 -1
- package/cjs/vuu-typeahead-input/useVuuTypeaheadInput.js +0 -176
- package/cjs/vuu-typeahead-input/useVuuTypeaheadInput.js.map +0 -1
- package/esm/calendar/Calendar.css.js +0 -4
- package/esm/calendar/Calendar.css.js.map +0 -1
- package/esm/calendar/Calendar.js +0 -91
- package/esm/calendar/Calendar.js.map +0 -1
- package/esm/calendar/internal/CalendarCarousel.css.js +0 -4
- package/esm/calendar/internal/CalendarCarousel.css.js.map +0 -1
- package/esm/calendar/internal/CalendarCarousel.js +0 -73
- package/esm/calendar/internal/CalendarCarousel.js.map +0 -1
- package/esm/calendar/internal/CalendarContext.js +0 -16
- package/esm/calendar/internal/CalendarContext.js.map +0 -1
- package/esm/calendar/internal/CalendarDay.css.js +0 -4
- package/esm/calendar/internal/CalendarDay.css.js.map +0 -1
- package/esm/calendar/internal/CalendarDay.js.map +0 -1
- package/esm/calendar/internal/CalendarMonth.css.js +0 -4
- package/esm/calendar/internal/CalendarMonth.css.js.map +0 -1
- package/esm/calendar/internal/CalendarMonth.js +0 -69
- package/esm/calendar/internal/CalendarMonth.js.map +0 -1
- package/esm/calendar/internal/CalendarNavigation.css.js +0 -4
- package/esm/calendar/internal/CalendarNavigation.css.js.map +0 -1
- package/esm/calendar/internal/CalendarNavigation.js +0 -234
- package/esm/calendar/internal/CalendarNavigation.js.map +0 -1
- package/esm/calendar/internal/CalendarWeekHeader.css.js +0 -4
- package/esm/calendar/internal/CalendarWeekHeader.css.js.map +0 -1
- package/esm/calendar/internal/CalendarWeekHeader.js +0 -41
- package/esm/calendar/internal/CalendarWeekHeader.js.map +0 -1
- package/esm/calendar/internal/useFocusManagement.js +0 -64
- package/esm/calendar/internal/useFocusManagement.js.map +0 -1
- package/esm/calendar/internal/utils.js +0 -55
- package/esm/calendar/internal/utils.js.map +0 -1
- package/esm/calendar/useCalendar.js +0 -161
- package/esm/calendar/useCalendar.js.map +0 -1
- package/esm/calendar/useCalendarDay.js +0 -78
- package/esm/calendar/useCalendarDay.js.map +0 -1
- package/esm/calendar/useSelection.js +0 -243
- package/esm/calendar/useSelection.js.map +0 -1
- package/esm/column-picker/ColumnPicker.css.js +0 -4
- package/esm/column-picker/ColumnPicker.css.js.map +0 -1
- package/esm/column-picker/ColumnPicker.js +0 -126
- package/esm/column-picker/ColumnPicker.js.map +0 -1
- package/esm/column-picker/ColumnSearch.css.js +0 -4
- package/esm/column-picker/ColumnSearch.css.js.map +0 -1
- package/esm/column-picker/ColumnSearch.js +0 -80
- package/esm/column-picker/ColumnSearch.js.map +0 -1
- package/esm/common-hooks/selectionTypes.js +0 -10
- package/esm/common-hooks/selectionTypes.js.map +0 -1
- package/esm/common-hooks/use-resize-observer.js +0 -118
- package/esm/common-hooks/use-resize-observer.js.map +0 -1
- package/esm/common-hooks/useControlled.js +0 -56
- package/esm/common-hooks/useControlled.js.map +0 -1
- package/esm/context-panel-provider/ContextPanelProvider.js +0 -94
- package/esm/context-panel-provider/ContextPanelProvider.js.map +0 -1
- package/esm/cycle-state-button/CycleStateButton.js +0 -48
- package/esm/cycle-state-button/CycleStateButton.js.map +0 -1
- package/esm/date-input/DateInput.css.js +0 -4
- package/esm/date-input/DateInput.css.js.map +0 -1
- package/esm/date-input/DateInput.js +0 -275
- package/esm/date-input/DateInput.js.map +0 -1
- package/esm/date-picker/DatePicker.js +0 -167
- package/esm/date-picker/DatePicker.js.map +0 -1
- package/esm/date-picker/DatePickerContext.js +0 -23
- package/esm/date-picker/DatePickerContext.js.map +0 -1
- package/esm/date-picker/DatePickerPanel.css.js +0 -4
- package/esm/date-picker/DatePickerPanel.css.js.map +0 -1
- package/esm/date-picker/DatePickerPanel.js +0 -144
- package/esm/date-picker/DatePickerPanel.js.map +0 -1
- package/esm/drag-drop/DragDropProvider.js +0 -142
- package/esm/drag-drop/DragDropProvider.js.map +0 -1
- package/esm/drag-drop/DragDropState.js +0 -34
- package/esm/drag-drop/DragDropState.js.map +0 -1
- package/esm/drag-drop/Draggable.css.js +0 -4
- package/esm/drag-drop/Draggable.css.js.map +0 -1
- package/esm/drag-drop/Draggable.js +0 -85
- package/esm/drag-drop/Draggable.js.map +0 -1
- package/esm/drag-drop/dragDropTypes.js.map +0 -1
- package/esm/drag-drop/drop-target-utils.js +0 -228
- package/esm/drag-drop/drop-target-utils.js.map +0 -1
- package/esm/drag-drop/useAutoScroll.js +0 -69
- package/esm/drag-drop/useAutoScroll.js.map +0 -1
- package/esm/drag-drop/useDragDisplacers.js +0 -158
- package/esm/drag-drop/useDragDisplacers.js.map +0 -1
- package/esm/drag-drop/useDragDrop.js +0 -502
- package/esm/drag-drop/useDragDrop.js.map +0 -1
- package/esm/drag-drop/useDragDropCopy.js +0 -31
- package/esm/drag-drop/useDragDropCopy.js.map +0 -1
- package/esm/drag-drop/useDragDropIndicator.js +0 -249
- package/esm/drag-drop/useDragDropIndicator.js.map +0 -1
- package/esm/drag-drop/useDragDropNaturalMovement.js +0 -263
- package/esm/drag-drop/useDragDropNaturalMovement.js.map +0 -1
- package/esm/drag-drop/useDropIndicator.js +0 -25
- package/esm/drag-drop/useDropIndicator.js.map +0 -1
- package/esm/drag-drop/useGlobalDragDrop.js +0 -87
- package/esm/drag-drop/useGlobalDragDrop.js.map +0 -1
- package/esm/editable/useEditableText.js +0 -209
- package/esm/editable/useEditableText.js.map +0 -1
- package/esm/editable-label/EditableLabel.css.js +0 -4
- package/esm/editable-label/EditableLabel.css.js.map +0 -1
- package/esm/editable-label/EditableLabel.js +0 -140
- package/esm/editable-label/EditableLabel.js.map +0 -1
- package/esm/expando-input/ExpandoInput.css.js +0 -4
- package/esm/expando-input/ExpandoInput.css.js.map +0 -1
- package/esm/expando-input/ExpandoInput.js +0 -51
- package/esm/expando-input/ExpandoInput.js.map +0 -1
- package/esm/hover-overlay/HoverOverlay.js +0 -94
- package/esm/hover-overlay/HoverOverlay.js.map +0 -1
- package/esm/icon-button/Icon.css.js +0 -4
- package/esm/icon-button/Icon.css.js.map +0 -1
- package/esm/icon-button/Icon.js +0 -35
- package/esm/icon-button/Icon.js.map +0 -1
- package/esm/icon-button/IconButton.css.js +0 -4
- package/esm/icon-button/IconButton.css.js.map +0 -1
- package/esm/icon-button/IconButton.js +0 -24
- package/esm/icon-button/IconButton.js.map +0 -1
- package/esm/icon-button/ToggleIconButton.css.js +0 -4
- package/esm/icon-button/ToggleIconButton.css.js.map +0 -1
- package/esm/icon-button/ToggleIconButton.js +0 -37
- package/esm/icon-button/ToggleIconButton.js.map +0 -1
- package/esm/index.js +0 -60
- package/esm/index.js.map +0 -1
- package/esm/instrument-picker/TablePicker.css.js +0 -4
- package/esm/instrument-picker/TablePicker.css.js.map +0 -1
- package/esm/instrument-picker/TablePicker.js +0 -128
- package/esm/instrument-picker/TablePicker.js.map +0 -1
- package/esm/instrument-picker/useTablePicker.js +0 -148
- package/esm/instrument-picker/useTablePicker.js.map +0 -1
- package/esm/item-picker/ItemPicker.css.js +0 -4
- package/esm/item-picker/ItemPicker.css.js.map +0 -1
- package/esm/item-picker/ItemPicker.js +0 -258
- package/esm/item-picker/ItemPicker.js.map +0 -1
- package/esm/item-picker/useItemPicker.js +0 -115
- package/esm/item-picker/useItemPicker.js.map +0 -1
- package/esm/measured-container/MeasuredContainer.css.js +0 -4
- package/esm/measured-container/MeasuredContainer.css.js.map +0 -1
- package/esm/measured-container/MeasuredContainer.js +0 -70
- package/esm/measured-container/MeasuredContainer.js.map +0 -1
- package/esm/measured-container/useMeasuredContainer.js +0 -164
- package/esm/measured-container/useMeasuredContainer.js.map +0 -1
- package/esm/modal-provider/ModalProvider.js +0 -140
- package/esm/modal-provider/ModalProvider.js.map +0 -1
- package/esm/overflow-container/OverflowContainer.css.js +0 -4
- package/esm/overflow-container/OverflowContainer.css.js.map +0 -1
- package/esm/overflow-container/OverflowContainer.js +0 -141
- package/esm/overflow-container/OverflowContainer.js.map +0 -1
- package/esm/overflow-container/overflow-utils.js +0 -272
- package/esm/overflow-container/overflow-utils.js.map +0 -1
- package/esm/overflow-container/useOverflowContainer.js +0 -141
- package/esm/overflow-container/useOverflowContainer.js.map +0 -1
- package/esm/price-ticker/PriceTicker.css.js +0 -4
- package/esm/price-ticker/PriceTicker.css.js.map +0 -1
- package/esm/price-ticker/PriceTicker.js +0 -48
- package/esm/price-ticker/PriceTicker.js.map +0 -1
- package/esm/prompt/Prompt.css.js +0 -4
- package/esm/prompt/Prompt.css.js.map +0 -1
- package/esm/prompt/Prompt.js +0 -160
- package/esm/prompt/Prompt.js.map +0 -1
- package/esm/sortable-list/SortableList.js +0 -34
- package/esm/sortable-list/SortableList.js.map +0 -1
- package/esm/split-button/SplitButton.css.js +0 -4
- package/esm/split-button/SplitButton.css.js.map +0 -1
- package/esm/split-button/SplitButton.js +0 -82
- package/esm/split-button/SplitButton.js.map +0 -1
- package/esm/split-button/SplitStateButton.css.js +0 -4
- package/esm/split-button/SplitStateButton.css.js.map +0 -1
- package/esm/split-button/SplitStateButton.js +0 -29
- package/esm/split-button/SplitStateButton.js.map +0 -1
- package/esm/split-button/useSplitButton.js +0 -82
- package/esm/split-button/useSplitButton.js.map +0 -1
- package/esm/table-search/SearchCell.css.js +0 -4
- package/esm/table-search/SearchCell.css.js.map +0 -1
- package/esm/table-search/SearchCell.js +0 -30
- package/esm/table-search/SearchCell.js.map +0 -1
- package/esm/table-search/TableSearch.css.js +0 -4
- package/esm/table-search/TableSearch.css.js.map +0 -1
- package/esm/table-search/TableSearch.js +0 -87
- package/esm/table-search/TableSearch.js.map +0 -1
- package/esm/table-search/useTableSearch.js +0 -37
- package/esm/table-search/useTableSearch.js.map +0 -1
- package/esm/tabs-next/TabBar.css.js +0 -4
- package/esm/tabs-next/TabBar.css.js.map +0 -1
- package/esm/tabs-next/TabBar.js +0 -39
- package/esm/tabs-next/TabBar.js.map +0 -1
- package/esm/tabs-next/TabListNext.css.js +0 -4
- package/esm/tabs-next/TabListNext.css.js.map +0 -1
- package/esm/tabs-next/TabListNext.js +0 -122
- package/esm/tabs-next/TabListNext.js.map +0 -1
- package/esm/tabs-next/TabNext.css.js +0 -4
- package/esm/tabs-next/TabNext.css.js.map +0 -1
- package/esm/tabs-next/TabNext.js +0 -108
- package/esm/tabs-next/TabNext.js.map +0 -1
- package/esm/tabs-next/TabNextAction.js +0 -33
- package/esm/tabs-next/TabNextAction.js.map +0 -1
- package/esm/tabs-next/TabNextContext.js +0 -20
- package/esm/tabs-next/TabNextContext.js.map +0 -1
- package/esm/tabs-next/TabNextPanel.css.js +0 -4
- package/esm/tabs-next/TabNextPanel.css.js.map +0 -1
- package/esm/tabs-next/TabNextPanel.js +0 -75
- package/esm/tabs-next/TabNextPanel.js.map +0 -1
- package/esm/tabs-next/TabNextTrigger.css.js +0 -4
- package/esm/tabs-next/TabNextTrigger.css.js.map +0 -1
- package/esm/tabs-next/TabNextTrigger.js +0 -72
- package/esm/tabs-next/TabNextTrigger.js.map +0 -1
- package/esm/tabs-next/TabOverflowList.css.js +0 -4
- package/esm/tabs-next/TabOverflowList.css.js.map +0 -1
- package/esm/tabs-next/TabOverflowList.js +0 -128
- package/esm/tabs-next/TabOverflowList.js.map +0 -1
- package/esm/tabs-next/TabsNext.js +0 -172
- package/esm/tabs-next/TabsNext.js.map +0 -1
- package/esm/tabs-next/TabsNextContext.js +0 -30
- package/esm/tabs-next/TabsNextContext.js.map +0 -1
- package/esm/tabs-next/hooks/useCollection.js +0 -89
- package/esm/tabs-next/hooks/useCollection.js.map +0 -1
- package/esm/tabs-next/hooks/useFocusOutside.js +0 -22
- package/esm/tabs-next/hooks/useFocusOutside.js.map +0 -1
- package/esm/tabs-next/hooks/useOverflow.js +0 -136
- package/esm/tabs-next/hooks/useOverflow.js.map +0 -1
- package/esm/tabstrip/Tab.css.js +0 -4
- package/esm/tabstrip/Tab.css.js.map +0 -1
- package/esm/tabstrip/Tab.js +0 -151
- package/esm/tabstrip/Tab.js.map +0 -1
- package/esm/tabstrip/TabMenu.css.js +0 -4
- package/esm/tabstrip/TabMenu.css.js.map +0 -1
- package/esm/tabstrip/TabMenu.js +0 -70
- package/esm/tabstrip/TabMenu.js.map +0 -1
- package/esm/tabstrip/TabMenuOptions.js +0 -16
- package/esm/tabstrip/TabMenuOptions.js.map +0 -1
- package/esm/tabstrip/Tabstrip.css.js +0 -4
- package/esm/tabstrip/Tabstrip.css.js.map +0 -1
- package/esm/tabstrip/Tabstrip.js +0 -158
- package/esm/tabstrip/Tabstrip.js.map +0 -1
- package/esm/tabstrip/tabstrip-dom-utils.js +0 -16
- package/esm/tabstrip/tabstrip-dom-utils.js.map +0 -1
- package/esm/tabstrip/useAnimatedSelectionThumb.js +0 -83
- package/esm/tabstrip/useAnimatedSelectionThumb.js.map +0 -1
- package/esm/tabstrip/useKeyboardNavigation.js +0 -245
- package/esm/tabstrip/useKeyboardNavigation.js.map +0 -1
- package/esm/tabstrip/useSelection.js +0 -58
- package/esm/tabstrip/useSelection.js.map +0 -1
- package/esm/tabstrip/useTabstrip.js +0 -231
- package/esm/tabstrip/useTabstrip.js.map +0 -1
- package/esm/time-input/MaskedInput.js +0 -375
- package/esm/time-input/MaskedInput.js.map +0 -1
- package/esm/time-input/TimeInput.css.js +0 -4
- package/esm/time-input/TimeInput.css.js.map +0 -1
- package/esm/time-input/TimeInput.js +0 -54
- package/esm/time-input/TimeInput.js.map +0 -1
- package/esm/time-input/useTimeInput.js +0 -119
- package/esm/time-input/useTimeInput.js.map +0 -1
- package/esm/toolbar/Toolbar.css.js +0 -4
- package/esm/toolbar/Toolbar.css.js.map +0 -1
- package/esm/toolbar/Toolbar.js +0 -88
- package/esm/toolbar/Toolbar.js.map +0 -1
- package/esm/toolbar/toolbar-dom-utils.js +0 -15
- package/esm/toolbar/toolbar-dom-utils.js.map +0 -1
- package/esm/toolbar/useKeyboardNavigation.js +0 -303
- package/esm/toolbar/useKeyboardNavigation.js.map +0 -1
- package/esm/toolbar/useSelection.js +0 -91
- package/esm/toolbar/useSelection.js.map +0 -1
- package/esm/toolbar/useToolbar.js +0 -98
- package/esm/toolbar/useToolbar.js.map +0 -1
- package/esm/utils/escapeRegExp.js.map +0 -1
- package/esm/utils/forwardCallbackProps.js +0 -20
- package/esm/utils/forwardCallbackProps.js.map +0 -1
- package/esm/utils/isOverflowElement.js +0 -6
- package/esm/utils/isOverflowElement.js.map +0 -1
- package/esm/utils/isPlainObject.js +0 -4
- package/esm/utils/isPlainObject.js.map +0 -1
- package/esm/vuu-date-picker/VuuDatePicker.js +0 -120
- package/esm/vuu-date-picker/VuuDatePicker.js.map +0 -1
- package/esm/vuu-input/VuuInput.css.js +0 -4
- package/esm/vuu-input/VuuInput.css.js.map +0 -1
- package/esm/vuu-input/VuuInput.js +0 -100
- package/esm/vuu-input/VuuInput.js.map +0 -1
- package/esm/vuu-time-picker/VuuTimePicker.css.js +0 -4
- package/esm/vuu-time-picker/VuuTimePicker.css.js.map +0 -1
- package/esm/vuu-time-picker/VuuTimePicker.js +0 -35
- package/esm/vuu-time-picker/VuuTimePicker.js.map +0 -1
- package/esm/vuu-typeahead-input/VuuTypeaheadInput.css.js +0 -4
- package/esm/vuu-typeahead-input/VuuTypeaheadInput.css.js.map +0 -1
- package/esm/vuu-typeahead-input/VuuTypeaheadInput.js +0 -78
- package/esm/vuu-typeahead-input/VuuTypeaheadInput.js.map +0 -1
- package/esm/vuu-typeahead-input/useVuuTypeaheadInput.js +0 -174
- package/esm/vuu-typeahead-input/useVuuTypeaheadInput.js.map +0 -1
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
const css = `
|
|
2
|
+
.vuuTypeaheadInput {
|
|
3
|
+
& .saltPillInput-activationIndicator {
|
|
4
|
+
display: none;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
& .saltPillInput-endAdornmentContainer {
|
|
8
|
+
padding: 0;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
& .saltButton {
|
|
12
|
+
--vuuButton-borderColor: transparent;
|
|
13
|
+
width: 24px;
|
|
14
|
+
height: 24px;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
& .saltButton:before {
|
|
18
|
+
content: "";
|
|
19
|
+
background-color: var(--salt-separable-secondary-borderColor);
|
|
20
|
+
height: 100%;
|
|
21
|
+
left: calc(-1 * var(--salt-spacing-100));
|
|
22
|
+
width: 1px;
|
|
23
|
+
position: absolute;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
& .saltButton:after {
|
|
27
|
+
--vuu-icon-color: var(--salt-content-primary-foreground);
|
|
28
|
+
--vuu-icon-size: 10px;
|
|
29
|
+
--vuu-icon-transform: rotate(45deg);
|
|
30
|
+
content: "";
|
|
31
|
+
background-color: var(--vuu-icon-color);
|
|
32
|
+
height: var(--vuu-icon-size);
|
|
33
|
+
mask: var(--vuu-svg-triangle-right) center center/var(--vuu-icon-size)
|
|
34
|
+
var(--vuu-icon-size);
|
|
35
|
+
transform: var(--vuu-icon-transform, none);
|
|
36
|
+
width: var(--vuu-icon-size);
|
|
37
|
+
position: absolute;
|
|
38
|
+
top: 3px;
|
|
39
|
+
mask-repeat: no-repeat;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.vuuTypeaheadOption[aria-disabled="true"] {
|
|
44
|
+
color: var(--salt-content-secondary-foreground);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
`;
|
|
49
|
+
export default css;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { ComboBox, Option } from "@salt-ds/core";
|
|
3
|
+
import { useComponentCssInjection } from "@salt-ds/styles";
|
|
4
|
+
import { useWindow } from "@salt-ds/window";
|
|
5
|
+
import { NO_DATA_MATCH } from "@vuu-ui/vuu-utils";
|
|
6
|
+
import clsx from "clsx";
|
|
7
|
+
import { useVuuTypeaheadInput } from "./useVuuTypeaheadInput.js";
|
|
8
|
+
import VuuTypeaheadInput from "./VuuTypeaheadInput.css";
|
|
9
|
+
const classBase = "vuuTypeaheadInput";
|
|
10
|
+
const [noMatchingData] = NO_DATA_MATCH;
|
|
11
|
+
const VuuTypeaheadInput_VuuTypeaheadInput = ({ allowFreeInput, className, column, freeTextWarning, highlightFirstSuggestion, inputProps: inputPropsProp, minCharacterCountToTriggerSuggestions, onCommit, selectOnTab, table })=>{
|
|
12
|
+
const targetWindow = useWindow();
|
|
13
|
+
useComponentCssInjection({
|
|
14
|
+
testId: "vuu-typeahead-input",
|
|
15
|
+
css: VuuTypeaheadInput,
|
|
16
|
+
window: targetWindow
|
|
17
|
+
});
|
|
18
|
+
const { inputProps, noFreeText, onChange, onKeyDown, onOpenChange, onSelectionChange, open, ref, typeaheadValues, value } = useVuuTypeaheadInput({
|
|
19
|
+
allowFreeInput,
|
|
20
|
+
column,
|
|
21
|
+
freeTextWarning,
|
|
22
|
+
highlightFirstSuggestion,
|
|
23
|
+
inputProps: inputPropsProp,
|
|
24
|
+
minCharacterCountToTriggerSuggestions,
|
|
25
|
+
onCommit,
|
|
26
|
+
table
|
|
27
|
+
});
|
|
28
|
+
return /*#__PURE__*/ jsx(ComboBox, {
|
|
29
|
+
className: clsx(classBase, className),
|
|
30
|
+
inputProps: inputProps,
|
|
31
|
+
onChange: onChange,
|
|
32
|
+
onKeyDown: onKeyDown,
|
|
33
|
+
onOpenChange: onOpenChange,
|
|
34
|
+
onSelectionChange: onSelectionChange,
|
|
35
|
+
open: open,
|
|
36
|
+
ref: ref,
|
|
37
|
+
selectOnTab: selectOnTab,
|
|
38
|
+
value: value,
|
|
39
|
+
children: typeaheadValues.map((state)=>/*#__PURE__*/ jsx(Option, {
|
|
40
|
+
className: "vuuTypeaheadOption",
|
|
41
|
+
value: state,
|
|
42
|
+
disabled: state === noMatchingData || state === noFreeText
|
|
43
|
+
}, state))
|
|
44
|
+
});
|
|
45
|
+
};
|
|
46
|
+
export { VuuTypeaheadInput_VuuTypeaheadInput as VuuTypeaheadInput };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./VuuTypeaheadInput.js";
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { useTypeaheadSuggestions } from "@vuu-ui/vuu-data-react";
|
|
2
|
+
import { NO_DATA_MATCH, dispatchKeyboardEvent, getVuuTable, useStateRef } from "@vuu-ui/vuu-utils";
|
|
3
|
+
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
4
|
+
const meetsMinTextLengthThreshold = (value, minLength)=>value.length >= minLength;
|
|
5
|
+
const defaultFreeTextWarning = "Please select a value from the list of suggestions. If no suggestions match your text, then the value is not valid. If you believe this should be a valid value, please reach out to the support team";
|
|
6
|
+
const useVuuTypeaheadInput = ({ allowFreeInput = true, column, freeTextWarning, highlightFirstSuggestion = true, inputProps: inputPropsProp, minCharacterCountToTriggerSuggestions = 1, onCommit, table })=>{
|
|
7
|
+
const NO_FREE_TEXT = useMemo(()=>[
|
|
8
|
+
freeTextWarning ?? defaultFreeTextWarning
|
|
9
|
+
], [
|
|
10
|
+
freeTextWarning
|
|
11
|
+
]);
|
|
12
|
+
const [valueRef, setValue] = useStateRef("");
|
|
13
|
+
const [open, setOpen] = useState(false);
|
|
14
|
+
const inputRef = useRef(null);
|
|
15
|
+
const rootRef = useRef(null);
|
|
16
|
+
const [typeaheadValues, setTypeaheadValues] = useState([]);
|
|
17
|
+
const getSuggestions = useTypeaheadSuggestions();
|
|
18
|
+
const pendingListFocusRef = useRef(false);
|
|
19
|
+
const { current: value } = valueRef;
|
|
20
|
+
useMemo(()=>{
|
|
21
|
+
if (inputPropsProp?.value !== void 0 && inputPropsProp?.value !== valueRef.current) setValue(`${inputPropsProp.value}`);
|
|
22
|
+
}, [
|
|
23
|
+
inputPropsProp?.value,
|
|
24
|
+
setValue,
|
|
25
|
+
valueRef
|
|
26
|
+
]);
|
|
27
|
+
const commitTimeout = useRef(null);
|
|
28
|
+
const handleKeyDown = useCallback((evt)=>{
|
|
29
|
+
const { current: value } = valueRef;
|
|
30
|
+
if ("Enter" === evt.key && "" !== value) if (allowFreeInput) commitTimeout.current = setTimeout(()=>{
|
|
31
|
+
onCommit?.(evt, value, "text-input");
|
|
32
|
+
setOpen(false);
|
|
33
|
+
commitTimeout.current = null;
|
|
34
|
+
}, 200);
|
|
35
|
+
else setTypeaheadValues(NO_FREE_TEXT);
|
|
36
|
+
else if ("Enter" === evt.key && "" === value) console.log("ENTER no value");
|
|
37
|
+
}, [
|
|
38
|
+
NO_FREE_TEXT,
|
|
39
|
+
allowFreeInput,
|
|
40
|
+
onCommit,
|
|
41
|
+
valueRef
|
|
42
|
+
]);
|
|
43
|
+
const callbackRef = useCallback((el)=>{
|
|
44
|
+
rootRef.current = el;
|
|
45
|
+
const input = el?.querySelector("input") ?? null;
|
|
46
|
+
inputRef.current = input;
|
|
47
|
+
}, []);
|
|
48
|
+
const refreshSuggestions = useCallback(()=>{
|
|
49
|
+
if (table) {
|
|
50
|
+
const vuuTable = getVuuTable(table);
|
|
51
|
+
if (meetsMinTextLengthThreshold(value, minCharacterCountToTriggerSuggestions)) {
|
|
52
|
+
const params = value ? [
|
|
53
|
+
vuuTable,
|
|
54
|
+
column,
|
|
55
|
+
value
|
|
56
|
+
] : [
|
|
57
|
+
vuuTable,
|
|
58
|
+
column
|
|
59
|
+
];
|
|
60
|
+
getSuggestions(params).then((suggestions)=>{
|
|
61
|
+
if (false === suggestions) setTypeaheadValues([]);
|
|
62
|
+
else if (0 === suggestions.length && value) setTypeaheadValues((values)=>values === NO_FREE_TEXT ? NO_FREE_TEXT : NO_DATA_MATCH);
|
|
63
|
+
else {
|
|
64
|
+
setTypeaheadValues(suggestions);
|
|
65
|
+
if (pendingListFocusRef.current && inputRef.current) setTimeout(()=>{
|
|
66
|
+
if (inputRef.current) dispatchKeyboardEvent(inputRef.current, "keydown", "ArrowDown");
|
|
67
|
+
}, 60);
|
|
68
|
+
}
|
|
69
|
+
pendingListFocusRef.current = false;
|
|
70
|
+
}).catch((err)=>{
|
|
71
|
+
console.error("Error getting suggestions", err);
|
|
72
|
+
});
|
|
73
|
+
} else setTypeaheadValues([]);
|
|
74
|
+
}
|
|
75
|
+
}, [
|
|
76
|
+
NO_FREE_TEXT,
|
|
77
|
+
column,
|
|
78
|
+
getSuggestions,
|
|
79
|
+
minCharacterCountToTriggerSuggestions,
|
|
80
|
+
table,
|
|
81
|
+
value
|
|
82
|
+
]);
|
|
83
|
+
useEffect(()=>{
|
|
84
|
+
refreshSuggestions();
|
|
85
|
+
}, [
|
|
86
|
+
refreshSuggestions
|
|
87
|
+
]);
|
|
88
|
+
const handleChange = useCallback((evt)=>{
|
|
89
|
+
const { value: newValue } = evt.target;
|
|
90
|
+
const { current: value } = valueRef;
|
|
91
|
+
if ("" === value && newValue) {
|
|
92
|
+
setOpen(true);
|
|
93
|
+
const input = rootRef.current?.querySelector("input");
|
|
94
|
+
if (input && highlightFirstSuggestion) pendingListFocusRef.current = true;
|
|
95
|
+
} else if ("" === newValue && value) onCommit(evt, "");
|
|
96
|
+
setValue(newValue);
|
|
97
|
+
}, [
|
|
98
|
+
highlightFirstSuggestion,
|
|
99
|
+
onCommit,
|
|
100
|
+
setValue,
|
|
101
|
+
valueRef
|
|
102
|
+
]);
|
|
103
|
+
const handleSelectionChange = (evt, [newSelected])=>{
|
|
104
|
+
if (commitTimeout.current) {
|
|
105
|
+
clearTimeout(commitTimeout.current);
|
|
106
|
+
commitTimeout.current = null;
|
|
107
|
+
}
|
|
108
|
+
setValue(newSelected);
|
|
109
|
+
onCommit(evt, newSelected, "typeahead-suggestion");
|
|
110
|
+
};
|
|
111
|
+
const handleOpenChange = (newOpen)=>{
|
|
112
|
+
newOpen && valueRef.current, setOpen(newOpen);
|
|
113
|
+
};
|
|
114
|
+
const handleInputFocus = useCallback((e)=>{
|
|
115
|
+
inputPropsProp?.onFocus?.(e);
|
|
116
|
+
refreshSuggestions();
|
|
117
|
+
}, [
|
|
118
|
+
inputPropsProp,
|
|
119
|
+
refreshSuggestions
|
|
120
|
+
]);
|
|
121
|
+
const inputProps = {
|
|
122
|
+
...inputPropsProp,
|
|
123
|
+
autoComplete: "off",
|
|
124
|
+
onFocus: handleInputFocus
|
|
125
|
+
};
|
|
126
|
+
const [noFreeText] = NO_FREE_TEXT;
|
|
127
|
+
return {
|
|
128
|
+
inputProps,
|
|
129
|
+
noFreeText,
|
|
130
|
+
onChange: handleChange,
|
|
131
|
+
onKeyDown: handleKeyDown,
|
|
132
|
+
onOpenChange: handleOpenChange,
|
|
133
|
+
onSelectionChange: handleSelectionChange,
|
|
134
|
+
open,
|
|
135
|
+
ref: callbackRef,
|
|
136
|
+
typeaheadValues,
|
|
137
|
+
value: valueRef.current
|
|
138
|
+
};
|
|
139
|
+
};
|
|
140
|
+
export { useVuuTypeaheadInput };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Calendar.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
package/cjs/calendar/Calendar.js
DELETED
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
-
var core = require('@salt-ds/core');
|
|
5
|
-
var cx = require('clsx');
|
|
6
|
-
var React = require('react');
|
|
7
|
-
var CalendarCarousel = require('./internal/CalendarCarousel.js');
|
|
8
|
-
var CalendarContext = require('./internal/CalendarContext.js');
|
|
9
|
-
var CalendarNavigation = require('./internal/CalendarNavigation.js');
|
|
10
|
-
var CalendarWeekHeader = require('./internal/CalendarWeekHeader.js');
|
|
11
|
-
var useCalendar = require('./useCalendar.js');
|
|
12
|
-
var styles = require('@salt-ds/styles');
|
|
13
|
-
var window = require('@salt-ds/window');
|
|
14
|
-
var date = require('@internationalized/date');
|
|
15
|
-
var Calendar$1 = require('./Calendar.css.js');
|
|
16
|
-
var utils = require('./internal/utils.js');
|
|
17
|
-
|
|
18
|
-
const withBaseName = core.makePrefixer("saltCalendar");
|
|
19
|
-
const Calendar = React.forwardRef(
|
|
20
|
-
function Calendar2(props, ref) {
|
|
21
|
-
const {
|
|
22
|
-
className,
|
|
23
|
-
id,
|
|
24
|
-
renderDayContents,
|
|
25
|
-
hideYearDropdown,
|
|
26
|
-
TooltipProps,
|
|
27
|
-
borderedDropdown,
|
|
28
|
-
...rest
|
|
29
|
-
} = props;
|
|
30
|
-
const targetWindow = window.useWindow();
|
|
31
|
-
styles.useComponentCssInjection({
|
|
32
|
-
testId: "salt-calendar",
|
|
33
|
-
css: Calendar$1,
|
|
34
|
-
window: targetWindow
|
|
35
|
-
});
|
|
36
|
-
const { state, helpers } = useCalendar.useCalendar({
|
|
37
|
-
hideYearDropdown,
|
|
38
|
-
...rest
|
|
39
|
-
});
|
|
40
|
-
const { setCalendarFocused } = helpers;
|
|
41
|
-
const handleFocus = React.useCallback(() => {
|
|
42
|
-
setCalendarFocused(true);
|
|
43
|
-
}, [setCalendarFocused]);
|
|
44
|
-
const handleBlur = React.useCallback(() => {
|
|
45
|
-
setCalendarFocused(false);
|
|
46
|
-
}, [setCalendarFocused]);
|
|
47
|
-
const calendarLabel = new date.DateFormatter(utils.getCurrentLocale(), {
|
|
48
|
-
month: "long",
|
|
49
|
-
year: "numeric"
|
|
50
|
-
}).format(state.visibleMonth.toDate(date.getLocalTimeZone()));
|
|
51
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
52
|
-
CalendarContext.CalendarContext.Provider,
|
|
53
|
-
{
|
|
54
|
-
value: {
|
|
55
|
-
state,
|
|
56
|
-
helpers
|
|
57
|
-
},
|
|
58
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
59
|
-
"div",
|
|
60
|
-
{
|
|
61
|
-
className: cx.clsx(withBaseName(), className),
|
|
62
|
-
id,
|
|
63
|
-
role: "application",
|
|
64
|
-
"aria-label": calendarLabel,
|
|
65
|
-
ref,
|
|
66
|
-
children: [
|
|
67
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
68
|
-
CalendarNavigation.CalendarNavigation,
|
|
69
|
-
{
|
|
70
|
-
borderedDropdown,
|
|
71
|
-
hideYearDropdown
|
|
72
|
-
}
|
|
73
|
-
),
|
|
74
|
-
/* @__PURE__ */ jsxRuntime.jsx(CalendarWeekHeader.CalendarWeekHeader, {}),
|
|
75
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
76
|
-
CalendarCarousel.CalendarCarousel,
|
|
77
|
-
{
|
|
78
|
-
onFocus: handleFocus,
|
|
79
|
-
onBlur: handleBlur,
|
|
80
|
-
renderDayContents,
|
|
81
|
-
TooltipProps
|
|
82
|
-
}
|
|
83
|
-
)
|
|
84
|
-
]
|
|
85
|
-
}
|
|
86
|
-
)
|
|
87
|
-
}
|
|
88
|
-
);
|
|
89
|
-
}
|
|
90
|
-
);
|
|
91
|
-
|
|
92
|
-
exports.Calendar = Calendar;
|
|
93
|
-
//# sourceMappingURL=Calendar.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Calendar.js","sources":["../../../../packages/vuu-ui-controls/src/calendar/Calendar.tsx"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\nimport { clsx } from \"clsx\";\nimport { forwardRef, useCallback } from \"react\";\nimport {\n CalendarCarousel,\n type CalendarCarouselProps,\n} from \"./internal/CalendarCarousel\";\nimport { CalendarContext } from \"./internal/CalendarContext\";\nimport {\n CalendarNavigation,\n type CalendarNavigationProps,\n} from \"./internal/CalendarNavigation\";\nimport { CalendarWeekHeader } from \"./internal/CalendarWeekHeader\";\nimport { useCalendar, type useCalendarProps } from \"./useCalendar\";\n\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\n\nimport { DateFormatter, getLocalTimeZone } from \"@internationalized/date\";\nimport calendarCss from \"./Calendar.css\";\nimport { getCurrentLocale } from \"./internal/utils\";\n\nexport type CalendarProps = useCalendarProps & {\n className?: string;\n id?: string;\n renderDayContents?: CalendarCarouselProps[\"renderDayContents\"];\n hideYearDropdown?: CalendarNavigationProps[\"hideYearDropdown\"];\n borderedDropdown?: CalendarNavigationProps[\"borderedDropdown\"];\n TooltipProps?: CalendarCarouselProps[\"TooltipProps\"];\n hideOutOfRangeDates?: CalendarCarouselProps[\"hideOutOfRangeDates\"];\n};\n\nconst withBaseName = makePrefixer(\"saltCalendar\");\n\nexport const Calendar = forwardRef<HTMLDivElement, CalendarProps>(\n function Calendar(props, ref) {\n const {\n className,\n id,\n renderDayContents,\n hideYearDropdown,\n TooltipProps,\n borderedDropdown,\n ...rest\n } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-calendar\",\n css: calendarCss,\n window: targetWindow,\n });\n\n const { state, helpers } = useCalendar({\n hideYearDropdown,\n ...rest,\n });\n\n const { setCalendarFocused } = helpers;\n\n const handleFocus = useCallback(() => {\n setCalendarFocused(true);\n }, [setCalendarFocused]);\n\n const handleBlur = useCallback(() => {\n setCalendarFocused(false);\n }, [setCalendarFocused]);\n\n const calendarLabel = new DateFormatter(getCurrentLocale(), {\n month: \"long\",\n year: \"numeric\",\n }).format(state.visibleMonth.toDate(getLocalTimeZone()));\n return (\n <CalendarContext.Provider\n value={{\n state,\n helpers,\n }}\n >\n <div\n className={clsx(withBaseName(), className)}\n id={id}\n role=\"application\"\n aria-label={calendarLabel}\n ref={ref}\n >\n <CalendarNavigation\n borderedDropdown={borderedDropdown}\n hideYearDropdown={hideYearDropdown}\n />\n <CalendarWeekHeader />\n <CalendarCarousel\n onFocus={handleFocus}\n onBlur={handleBlur}\n renderDayContents={renderDayContents}\n TooltipProps={TooltipProps}\n />\n </div>\n </CalendarContext.Provider>\n );\n },\n);\n"],"names":["makePrefixer","forwardRef","Calendar","useWindow","useComponentCssInjection","calendarCss","useCalendar","useCallback","DateFormatter","getCurrentLocale","getLocalTimeZone","jsx","CalendarContext","jsxs","clsx","CalendarNavigation","CalendarWeekHeader","CalendarCarousel"],"mappings":";;;;;;;;;;;;;;;;;AAgCA,MAAM,YAAA,GAAeA,kBAAa,cAAc,CAAA;AAEzC,MAAM,QAAW,GAAAC,gBAAA;AAAA,EACtB,SAASC,SAAS,CAAA,KAAA,EAAO,GAAK,EAAA;AAC5B,IAAM,MAAA;AAAA,MACJ,SAAA;AAAA,MACA,EAAA;AAAA,MACA,iBAAA;AAAA,MACA,gBAAA;AAAA,MACA,YAAA;AAAA,MACA,gBAAA;AAAA,MACA,GAAG;AAAA,KACD,GAAA,KAAA;AAEJ,IAAA,MAAM,eAAeC,gBAAU,EAAA;AAC/B,IAAyBC,+BAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,eAAA;AAAA,MACR,GAAK,EAAAC,UAAA;AAAA,MACL,MAAQ,EAAA;AAAA,KACT,CAAA;AAED,IAAA,MAAM,EAAE,KAAA,EAAO,OAAQ,EAAA,GAAIC,uBAAY,CAAA;AAAA,MACrC,gBAAA;AAAA,MACA,GAAG;AAAA,KACJ,CAAA;AAED,IAAM,MAAA,EAAE,oBAAuB,GAAA,OAAA;AAE/B,IAAM,MAAA,WAAA,GAAcC,kBAAY,MAAM;AACpC,MAAA,kBAAA,CAAmB,IAAI,CAAA;AAAA,KACzB,EAAG,CAAC,kBAAkB,CAAC,CAAA;AAEvB,IAAM,MAAA,UAAA,GAAaA,kBAAY,MAAM;AACnC,MAAA,kBAAA,CAAmB,KAAK,CAAA;AAAA,KAC1B,EAAG,CAAC,kBAAkB,CAAC,CAAA;AAEvB,IAAA,MAAM,aAAgB,GAAA,IAAIC,kBAAc,CAAAC,sBAAA,EAAoB,EAAA;AAAA,MAC1D,KAAO,EAAA,MAAA;AAAA,MACP,IAAM,EAAA;AAAA,KACP,EAAE,MAAO,CAAA,KAAA,CAAM,aAAa,MAAO,CAAAC,qBAAA,EAAkB,CAAC,CAAA;AACvD,IACE,uBAAAC,cAAA;AAAA,MAACC,+BAAgB,CAAA,QAAA;AAAA,MAAhB;AAAA,QACC,KAAO,EAAA;AAAA,UACL,KAAA;AAAA,UACA;AAAA,SACF;AAAA,QAEA,QAAA,kBAAAC,eAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,SAAW,EAAAC,OAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,YACzC,EAAA;AAAA,YACA,IAAK,EAAA,aAAA;AAAA,YACL,YAAY,EAAA,aAAA;AAAA,YACZ,GAAA;AAAA,YAEA,QAAA,EAAA;AAAA,8BAAAH,cAAA;AAAA,gBAACI,qCAAA;AAAA,gBAAA;AAAA,kBACC,gBAAA;AAAA,kBACA;AAAA;AAAA,eACF;AAAA,6CACCC,qCAAmB,EAAA,EAAA,CAAA;AAAA,8BACpBL,cAAA;AAAA,gBAACM,iCAAA;AAAA,gBAAA;AAAA,kBACC,OAAS,EAAA,WAAA;AAAA,kBACT,MAAQ,EAAA,UAAA;AAAA,kBACR,iBAAA;AAAA,kBACA;AAAA;AAAA;AACF;AAAA;AAAA;AACF;AAAA,KACF;AAAA;AAGN;;;;"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var calendarCarouselCss = ".saltCalendarCarousel-track {\n display: grid;\n grid-auto-flow: column;\n}\n\n.saltCalendarCarousel-track > * {\n position: absolute;\n left: 0;\n width: 100%;\n}\n\n.saltCalendarCarousel-track > :nth-child(2) {\n position: relative;\n}\n";
|
|
4
|
-
|
|
5
|
-
module.exports = calendarCarouselCss;
|
|
6
|
-
//# sourceMappingURL=CalendarCarousel.css.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CalendarCarousel.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
-
var date = require('@internationalized/date');
|
|
5
|
-
var core = require('@salt-ds/core');
|
|
6
|
-
var React = require('react');
|
|
7
|
-
var CalendarContext = require('./CalendarContext.js');
|
|
8
|
-
var CalendarMonth = require('./CalendarMonth.js');
|
|
9
|
-
var styles = require('@salt-ds/styles');
|
|
10
|
-
var window = require('@salt-ds/window');
|
|
11
|
-
var CalendarCarousel$1 = require('./CalendarCarousel.css.js');
|
|
12
|
-
var utils = require('./utils.js');
|
|
13
|
-
|
|
14
|
-
function getMonths(month) {
|
|
15
|
-
return [month.subtract({ months: 1 }), month, month.add({ months: 1 })];
|
|
16
|
-
}
|
|
17
|
-
const withBaseName = core.makePrefixer("saltCalendarCarousel");
|
|
18
|
-
const CalendarCarousel = React.forwardRef(function CalendarCarousel2(props, ref) {
|
|
19
|
-
const { ...rest } = props;
|
|
20
|
-
const targetWindow = window.useWindow();
|
|
21
|
-
styles.useComponentCssInjection({
|
|
22
|
-
testId: "salt-calendar-carousel",
|
|
23
|
-
css: CalendarCarousel$1,
|
|
24
|
-
window: targetWindow
|
|
25
|
-
});
|
|
26
|
-
const {
|
|
27
|
-
state: { visibleMonth }
|
|
28
|
-
} = CalendarContext.useCalendarContext();
|
|
29
|
-
const containerRef = React.useRef(null);
|
|
30
|
-
const diffIndex = (a, b) => utils.monthDiff(a, b);
|
|
31
|
-
const { current: baseIndex } = React.useRef(visibleMonth);
|
|
32
|
-
core.useIsomorphicLayoutEffect(() => {
|
|
33
|
-
if (containerRef.current) {
|
|
34
|
-
containerRef.current.style.transform = `translate3d(${diffIndex(baseIndex, visibleMonth) * -101}%, 0, 0)`;
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
const [months, setMonths] = React.useState(() => getMonths(visibleMonth));
|
|
38
|
-
React.useEffect(() => {
|
|
39
|
-
setMonths((oldMonths) => {
|
|
40
|
-
const newMonths = getMonths(visibleMonth).filter((month) => {
|
|
41
|
-
return !oldMonths.find((oldMonth) => date.isSameMonth(oldMonth, month));
|
|
42
|
-
});
|
|
43
|
-
return oldMonths.concat(newMonths);
|
|
44
|
-
});
|
|
45
|
-
setMonths(getMonths(visibleMonth));
|
|
46
|
-
return void 0;
|
|
47
|
-
}, [utils.formatDate(visibleMonth)]);
|
|
48
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
49
|
-
"div",
|
|
50
|
-
{
|
|
51
|
-
className: withBaseName(),
|
|
52
|
-
tabIndex: -1,
|
|
53
|
-
style: {
|
|
54
|
-
overflowX: "hidden",
|
|
55
|
-
position: "relative"
|
|
56
|
-
},
|
|
57
|
-
ref,
|
|
58
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: withBaseName("track"), ref: containerRef, children: months.map((date, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
59
|
-
"div",
|
|
60
|
-
{
|
|
61
|
-
className: withBaseName("slide"),
|
|
62
|
-
style: {
|
|
63
|
-
transform: `translateX(${diffIndex(date, baseIndex) * -101}%)`
|
|
64
|
-
},
|
|
65
|
-
"aria-hidden": index !== 1 ? "true" : void 0,
|
|
66
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(CalendarMonth.CalendarMonth, { ...rest, date })
|
|
67
|
-
},
|
|
68
|
-
utils.formatDate(date)
|
|
69
|
-
)) })
|
|
70
|
-
}
|
|
71
|
-
);
|
|
72
|
-
});
|
|
73
|
-
|
|
74
|
-
exports.CalendarCarousel = CalendarCarousel;
|
|
75
|
-
//# sourceMappingURL=CalendarCarousel.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CalendarCarousel.js","sources":["../../../../../packages/vuu-ui-controls/src/calendar/internal/CalendarCarousel.tsx"],"sourcesContent":["import { type DateValue, isSameMonth } from \"@internationalized/date\";\nimport { makePrefixer, useIsomorphicLayoutEffect } from \"@salt-ds/core\";\nimport { forwardRef, useEffect, useRef, useState } from \"react\";\nimport { useCalendarContext } from \"./CalendarContext\";\nimport { CalendarMonth, type CalendarMonthProps } from \"./CalendarMonth\";\n\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport calendarCarouselCss from \"./CalendarCarousel.css\";\nimport { formatDate, monthDiff } from \"./utils\";\n\nexport type CalendarCarouselProps = Omit<CalendarMonthProps, \"date\">;\n\nfunction getMonths(month: DateValue) {\n return [month.subtract({ months: 1 }), month, month.add({ months: 1 })];\n}\n\nconst withBaseName = makePrefixer(\"saltCalendarCarousel\");\n\nexport const CalendarCarousel = forwardRef<\n HTMLDivElement,\n CalendarCarouselProps\n>(function CalendarCarousel(props, ref) {\n const { ...rest } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-calendar-carousel\",\n css: calendarCarouselCss,\n window: targetWindow,\n });\n\n const {\n state: { visibleMonth },\n } = useCalendarContext();\n const containerRef = useRef<HTMLDivElement>(null);\n const diffIndex = (a: DateValue, b: DateValue) => monthDiff(a, b);\n\n const { current: baseIndex } = useRef(visibleMonth);\n\n useIsomorphicLayoutEffect(() => {\n if (containerRef.current) {\n containerRef.current.style.transform = `translate3d(${\n diffIndex(baseIndex, visibleMonth) * -101 // needs to be higher than 100% so the next month doesn't show on the edges\n }%, 0, 0)`;\n }\n });\n\n const [months, setMonths] = useState(() => getMonths(visibleMonth));\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: uses formatData to change visibleMonth into string\n useEffect(() => {\n setMonths((oldMonths) => {\n const newMonths = getMonths(visibleMonth).filter((month) => {\n return !oldMonths.find((oldMonth) => isSameMonth(oldMonth, month));\n });\n\n return oldMonths.concat(newMonths);\n });\n setMonths(getMonths(visibleMonth));\n return undefined;\n }, [formatDate(visibleMonth)]);\n\n return (\n <div\n className={withBaseName()}\n tabIndex={-1} // https://bugzilla.mozilla.org/show_bug.cgi?id=1069739\n style={{\n overflowX: \"hidden\",\n position: \"relative\",\n }}\n ref={ref}\n >\n <div className={withBaseName(\"track\")} ref={containerRef}>\n {months.map((date, index) => (\n <div\n key={formatDate(date)}\n className={withBaseName(\"slide\")}\n style={{\n transform: `translateX(${diffIndex(date, baseIndex) * -101}%)`,\n }}\n aria-hidden={index !== 1 ? \"true\" : undefined}\n >\n <CalendarMonth {...rest} date={date} />\n </div>\n ))}\n </div>\n </div>\n );\n});\n"],"names":["makePrefixer","forwardRef","CalendarCarousel","useWindow","useComponentCssInjection","calendarCarouselCss","useCalendarContext","useRef","monthDiff","useIsomorphicLayoutEffect","useState","useEffect","isSameMonth","formatDate","jsx","CalendarMonth"],"mappings":";;;;;;;;;;;;;AAaA,SAAS,UAAU,KAAkB,EAAA;AACnC,EAAA,OAAO,CAAC,KAAA,CAAM,QAAS,CAAA,EAAE,QAAQ,CAAE,EAAC,CAAG,EAAA,KAAA,EAAO,MAAM,GAAI,CAAA,EAAE,MAAQ,EAAA,CAAA,EAAG,CAAC,CAAA;AACxE;AAEA,MAAM,YAAA,GAAeA,kBAAa,sBAAsB,CAAA;AAEjD,MAAM,gBAAmB,GAAAC,gBAAA,CAG9B,SAASC,iBAAAA,CAAiB,OAAO,GAAK,EAAA;AACtC,EAAM,MAAA,EAAE,GAAG,IAAA,EAAS,GAAA,KAAA;AAEpB,EAAA,MAAM,eAAeC,gBAAU,EAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,wBAAA;AAAA,IACR,GAAK,EAAAC,kBAAA;AAAA,IACL,MAAQ,EAAA;AAAA,GACT,CAAA;AAED,EAAM,MAAA;AAAA,IACJ,KAAA,EAAO,EAAE,YAAa;AAAA,MACpBC,kCAAmB,EAAA;AACvB,EAAM,MAAA,YAAA,GAAeC,aAAuB,IAAI,CAAA;AAChD,EAAA,MAAM,YAAY,CAAC,CAAA,EAAc,CAAiB,KAAAC,eAAA,CAAU,GAAG,CAAC,CAAA;AAEhE,EAAA,MAAM,EAAE,OAAA,EAAS,SAAU,EAAA,GAAID,aAAO,YAAY,CAAA;AAElD,EAAAE,8BAAA,CAA0B,MAAM;AAC9B,IAAA,IAAI,aAAa,OAAS,EAAA;AACxB,MAAa,YAAA,CAAA,OAAA,CAAQ,MAAM,SAAY,GAAA,CAAA,YAAA,EACrC,UAAU,SAAW,EAAA,YAAY,IAAI,CACvC,GAAA,CAAA,QAAA,CAAA;AAAA;AACF,GACD,CAAA;AAED,EAAM,MAAA,CAAC,QAAQ,SAAS,CAAA,GAAIC,eAAS,MAAM,SAAA,CAAU,YAAY,CAAC,CAAA;AAGlE,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,SAAA,CAAU,CAAC,SAAc,KAAA;AACvB,MAAA,MAAM,YAAY,SAAU,CAAA,YAAY,CAAE,CAAA,MAAA,CAAO,CAAC,KAAU,KAAA;AAC1D,QAAO,OAAA,CAAC,UAAU,IAAK,CAAA,CAAC,aAAaC,gBAAY,CAAA,QAAA,EAAU,KAAK,CAAC,CAAA;AAAA,OAClE,CAAA;AAED,MAAO,OAAA,SAAA,CAAU,OAAO,SAAS,CAAA;AAAA,KAClC,CAAA;AACD,IAAU,SAAA,CAAA,SAAA,CAAU,YAAY,CAAC,CAAA;AACjC,IAAO,OAAA,KAAA,CAAA;AAAA,GACN,EAAA,CAACC,gBAAW,CAAA,YAAY,CAAC,CAAC,CAAA;AAE7B,EACE,uBAAAC,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAW,YAAa,EAAA;AAAA,MACxB,QAAU,EAAA,CAAA,CAAA;AAAA,MACV,KAAO,EAAA;AAAA,QACL,SAAW,EAAA,QAAA;AAAA,QACX,QAAU,EAAA;AAAA,OACZ;AAAA,MACA,GAAA;AAAA,MAEA,QAAC,kBAAAA,cAAA,CAAA,KAAA,EAAA,EAAI,SAAW,EAAA,YAAA,CAAa,OAAO,CAAA,EAAG,GAAK,EAAA,YAAA,EACzC,QAAO,EAAA,MAAA,CAAA,GAAA,CAAI,CAAC,IAAA,EAAM,KACjB,qBAAAA,cAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UAEC,SAAA,EAAW,aAAa,OAAO,CAAA;AAAA,UAC/B,KAAO,EAAA;AAAA,YACL,WAAW,CAAc,WAAA,EAAA,SAAA,CAAU,IAAM,EAAA,SAAS,IAAI,CAAI,GAAA,CAAA,EAAA;AAAA,WAC5D;AAAA,UACA,aAAA,EAAa,KAAU,KAAA,CAAA,GAAI,MAAS,GAAA,KAAA,CAAA;AAAA,UAEpC,QAAC,kBAAAA,cAAA,CAAAC,2BAAA,EAAA,EAAe,GAAG,IAAA,EAAM,IAAY,EAAA;AAAA,SAAA;AAAA,QAPhCF,iBAAW,IAAI;AAAA,OASvB,CACH,EAAA;AAAA;AAAA,GACF;AAEJ,CAAC;;;;"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var React = require('react');
|
|
4
|
-
|
|
5
|
-
const CalendarContext = React.createContext(null);
|
|
6
|
-
if (process.env.NODE_ENV !== "production") {
|
|
7
|
-
CalendarContext.displayName = "CalendarContext";
|
|
8
|
-
}
|
|
9
|
-
function useCalendarContext() {
|
|
10
|
-
const context = React.useContext(CalendarContext);
|
|
11
|
-
if (!context) {
|
|
12
|
-
throw new Error("Unexpected usage");
|
|
13
|
-
}
|
|
14
|
-
return context;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
exports.CalendarContext = CalendarContext;
|
|
18
|
-
exports.useCalendarContext = useCalendarContext;
|
|
19
|
-
//# sourceMappingURL=CalendarContext.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CalendarContext.js","sources":["../../../../../packages/vuu-ui-controls/src/calendar/internal/CalendarContext.tsx"],"sourcesContent":["import { createContext, useContext } from \"react\";\nimport type { useCalendar } from \"../useCalendar\";\n\ninterface CalendarState {\n state: ReturnType<typeof useCalendar>[\"state\"];\n helpers: ReturnType<typeof useCalendar>[\"helpers\"];\n}\n\nconst CalendarContext = createContext<CalendarState | null>(null);\n\nif (process.env.NODE_ENV !== \"production\") {\n CalendarContext.displayName = \"CalendarContext\";\n}\n\nfunction useCalendarContext(): CalendarState {\n const context = useContext(CalendarContext);\n\n if (!context) {\n throw new Error(\"Unexpected usage\");\n }\n\n return context;\n}\n\nexport { CalendarContext, useCalendarContext };\n"],"names":["createContext","useContext"],"mappings":";;;;AAQM,MAAA,eAAA,GAAkBA,oBAAoC,IAAI;AAEhE,IAAI,OAAA,CAAQ,GAAI,CAAA,QAAA,KAAa,YAAc,EAAA;AACzC,EAAA,eAAA,CAAgB,WAAc,GAAA,iBAAA;AAChC;AAEA,SAAS,kBAAoC,GAAA;AAC3C,EAAM,MAAA,OAAA,GAAUC,iBAAW,eAAe,CAAA;AAE1C,EAAA,IAAI,CAAC,OAAS,EAAA;AACZ,IAAM,MAAA,IAAI,MAAM,kBAAkB,CAAA;AAAA;AAGpC,EAAO,OAAA,OAAA;AACT;;;;;"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var calendarDayCss = ".saltCalendarDay {\n font-family: var(--salt-text-fontFamily);\n font-weight: var(--salt-text-fontWeight);\n line-height: var(--salt-text-lineHeight);\n font-size: var(--salt-text-fontSize);\n width: var(--salt-size-base);\n height: var(--salt-size-base);\n color: var(--salt-content-primary-foreground);\n background: var(--salt-selectable-background);\n cursor: pointer;\n border: none;\n padding: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n overflow: hidden;\n}\n.saltCalendarDay-content {\n margin: 0 var(--salt-spacing-50);\n width: 100%;\n}\n\n.saltCalendarDay:focus-visible {\n outline: var(--salt-focused-outline);\n outline-offset: calc(0px - var(--salt-focused-outlineWidth));\n}\n\n.saltCalendarDay-outOfRange {\n color: var(--salt-content-secondary-foreground);\n}\n.saltCalendarDay-outOfRange:hover {\n color: var(--salt-content-primary-foreground);\n}\n.saltCalendarDay-outOfRange .saltCalendarDay-today {\n border-bottom: var(--salt-size-indicator) var(--salt-selectable-borderStyle) var(--salt-content-secondary-foreground);\n}\n\n.saltCalendarDay-outOfRange.saltCalendarDay-highlighted:before {\n background: var(--salt-content-secondary-foreground);\n}\n.saltCalendarDay:hover,\n.saltCalendarDay-hoveredOffset,\n.saltCalendarDay-hoveredOffset:hover {\n background: var(--salt-selectable-background-hover);\n}\n\n.saltCalendarDay-selected {\n border-radius: var(--salt-palette-corner-weak, 0);\n}\n\n.saltCalendarDay-selectedStart {\n z-index: var(--salt-zIndex-default);\n\n border-top-left-radius: var(--salt-palette-corner-weak, 0);\n border-bottom-left-radius: var(--salt-palette-corner-weak, 0);\n}\n\n.saltCalendarDay-selectedEnd {\n border-top-right-radius: var(--salt-palette-corner-weak, 0);\n border-bottom-right-radius: var(--salt-palette-corner-weak, 0);\n}\n\n.saltCalendarDay-selected,\n.saltCalendarDay-selected:hover,\n.saltCalendarDay-selectedStart,\n.saltCalendarDay-selectedStart:hover,\n.saltCalendarDay-selectedEnd,\n.saltCalendarDay-selectedEnd:hover {\n background: var(--salt-selectable-background-selected);\n box-shadow: 0 0 0 var(--salt-size-border) var(--salt-selectable-borderColor-selected);\n}\n\n.saltCalendarDay-hoveredSpan,\n.saltCalendarDay-hoveredSpan:hover,\n.saltCalendarDay-selectedSpan,\n.saltCalendarDay-selectedSpan:hover {\n background: var(--salt-selectable-background-hover);\n box-shadow: calc(var(--salt-size-border) * -2) 0 0 0 var(--salt-selectable-background-hover), calc(var(--salt-size-border) * -1) 0 0 var(--salt-size-border)\n var(--salt-selectable-borderColor-selected), 0 calc(var(--salt-size-border) * -1) 0 var(--salt-selectable-borderColor-selected);\n}\n\n.saltCalendarDay-disabled,\n.saltCalendarDay-disabled:hover,\n.saltCalendarDay-unselectable,\n.saltCalendarDay-unselectable:hover {\n background: var(--salt-selectable-background-disabled);\n cursor: var(--salt-selectable-cursor-disabled);\n}\n\n.saltCalendarDay-highlighted:before,\n.saltCalendarDay-highlighted:hover:before {\n content: \"\";\n height: var(--salt-spacing-200); /* TODO: change for size-modifier when available */\n width: var(--salt-spacing-200);\n top: calc(var(--salt-spacing-100) * -1);\n right: calc(var(--salt-spacing-100) * -1);\n transform: rotate(45deg);\n background: var(--salt-accent-background);\n position: absolute;\n}\n\n.saltCalendarDay-unselectable:after {\n content: \"\";\n height: var(--salt-size-border);\n width: calc(100% - var(--salt-spacing-100));\n background: var(--salt-content-secondary-foreground);\n position: absolute;\n}\n\n.saltCalendarDay-today,\n.saltCalendarDay-today:hover,\n.saltCalendarDay-outOfRange .saltCalendarDay-today:hover {\n border-bottom: var(--salt-size-indicator) var(--salt-selectable-borderStyle) var(--salt-accent-borderColor);\n margin-bottom: calc(var(--salt-size-indicator) * -1);\n}\n\n.saltCalendarDay-disabled,\n.saltCalendarDay-disabled:hover {\n color: var(--salt-content-secondary-foreground-disabled);\n}\n\n.saltCalendarDay-hidden {\n visibility: hidden;\n}\n";
|
|
4
|
-
|
|
5
|
-
module.exports = calendarDayCss;
|
|
6
|
-
//# sourceMappingURL=CalendarDay.css.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CalendarDay.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
-
var core = require('@salt-ds/core');
|
|
5
|
-
var styles = require('@salt-ds/styles');
|
|
6
|
-
var window = require('@salt-ds/window');
|
|
7
|
-
var cx = require('clsx');
|
|
8
|
-
var React = require('react');
|
|
9
|
-
var useCalendarDay = require('../useCalendarDay.js');
|
|
10
|
-
var CalendarDay$1 = require('./CalendarDay.css.js');
|
|
11
|
-
var utils = require('./utils.js');
|
|
12
|
-
|
|
13
|
-
const withBaseName = core.makePrefixer("saltCalendarDay");
|
|
14
|
-
const CalendarDay = React.forwardRef(
|
|
15
|
-
function CalendarDay2(props, ref) {
|
|
16
|
-
const { className, day, renderDayContents, month, TooltipProps, ...rest } = props;
|
|
17
|
-
const targetWindow = window.useWindow();
|
|
18
|
-
styles.useComponentCssInjection({
|
|
19
|
-
testId: "salt-calendar-day",
|
|
20
|
-
css: CalendarDay$1,
|
|
21
|
-
window: targetWindow
|
|
22
|
-
});
|
|
23
|
-
const dayRef = React.useRef(null);
|
|
24
|
-
const buttonRef = core.useForkRef(ref, dayRef);
|
|
25
|
-
const { status, dayProps, unselectableReason, highlightedReason } = useCalendarDay.useCalendarDay(
|
|
26
|
-
{
|
|
27
|
-
date: day,
|
|
28
|
-
month
|
|
29
|
-
},
|
|
30
|
-
dayRef
|
|
31
|
-
);
|
|
32
|
-
const { outOfRange, today, unselectable, highlighted, hidden, disabled } = status;
|
|
33
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
34
|
-
core.Tooltip,
|
|
35
|
-
{
|
|
36
|
-
hideIcon: true,
|
|
37
|
-
status: unselectableReason ? "error" : "info",
|
|
38
|
-
content: unselectableReason || highlightedReason || "Date is out of range",
|
|
39
|
-
disabled: !unselectableReason && !highlightedReason,
|
|
40
|
-
placement: "top",
|
|
41
|
-
enterDelay: 0,
|
|
42
|
-
leaveDelay: 0,
|
|
43
|
-
...TooltipProps,
|
|
44
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
45
|
-
"button",
|
|
46
|
-
{
|
|
47
|
-
"aria-label": utils.formatDate(day, {
|
|
48
|
-
day: "2-digit",
|
|
49
|
-
month: "long",
|
|
50
|
-
year: "numeric"
|
|
51
|
-
}),
|
|
52
|
-
disabled,
|
|
53
|
-
type: "button",
|
|
54
|
-
...dayProps,
|
|
55
|
-
ref: buttonRef,
|
|
56
|
-
...rest,
|
|
57
|
-
className: cx.clsx(
|
|
58
|
-
withBaseName(),
|
|
59
|
-
{
|
|
60
|
-
[withBaseName("hidden")]: hidden,
|
|
61
|
-
[withBaseName("outOfRange")]: outOfRange,
|
|
62
|
-
[withBaseName("disabled")]: disabled,
|
|
63
|
-
[withBaseName("unselectable")]: !!unselectable,
|
|
64
|
-
[withBaseName("highlighted")]: !!highlighted
|
|
65
|
-
},
|
|
66
|
-
dayProps.className,
|
|
67
|
-
className
|
|
68
|
-
),
|
|
69
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
70
|
-
"span",
|
|
71
|
-
{
|
|
72
|
-
className: cx.clsx(withBaseName("content"), {
|
|
73
|
-
[withBaseName("today")]: today
|
|
74
|
-
}),
|
|
75
|
-
children: renderDayContents ? renderDayContents(day, status) : utils.formatDate(day, { day: "numeric" })
|
|
76
|
-
}
|
|
77
|
-
)
|
|
78
|
-
}
|
|
79
|
-
)
|
|
80
|
-
}
|
|
81
|
-
);
|
|
82
|
-
}
|
|
83
|
-
);
|
|
84
|
-
|
|
85
|
-
exports.CalendarDay = CalendarDay;
|
|
86
|
-
//# sourceMappingURL=CalendarDay.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CalendarDay.js","sources":["../../../../../packages/vuu-ui-controls/src/calendar/internal/CalendarDay.tsx"],"sourcesContent":["import type { DateValue } from \"@internationalized/date\";\nimport {\n Tooltip,\n type TooltipProps,\n makePrefixer,\n useForkRef,\n} from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport {\n type ComponentPropsWithRef,\n type ReactElement,\n forwardRef,\n useRef,\n} from \"react\";\nimport { type DayStatus, useCalendarDay } from \"../useCalendarDay\";\nimport calendarDayCss from \"./CalendarDay.css\";\nimport { formatDate } from \"./utils\";\n\nexport type DateFormatter = (day: Date) => string | undefined;\n\nexport interface CalendarDayProps\n extends Omit<ComponentPropsWithRef<\"button\">, \"children\"> {\n day: DateValue;\n formatDate?: DateFormatter;\n renderDayContents?: (date: DateValue, status: DayStatus) => ReactElement;\n status?: DayStatus;\n month: DateValue;\n TooltipProps?: Partial<TooltipProps>;\n}\n\nconst withBaseName = makePrefixer(\"saltCalendarDay\");\n\nexport const CalendarDay = forwardRef<HTMLButtonElement, CalendarDayProps>(\n function CalendarDay(props, ref) {\n const { className, day, renderDayContents, month, TooltipProps, ...rest } =\n props;\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-calendar-day\",\n css: calendarDayCss,\n window: targetWindow,\n });\n\n const dayRef = useRef<HTMLButtonElement>(null);\n const buttonRef = useForkRef(ref, dayRef);\n const { status, dayProps, unselectableReason, highlightedReason } =\n useCalendarDay(\n {\n date: day,\n month,\n },\n dayRef,\n );\n const { outOfRange, today, unselectable, highlighted, hidden, disabled } =\n status;\n\n return (\n <Tooltip\n hideIcon\n status={unselectableReason ? \"error\" : \"info\"}\n content={\n unselectableReason || highlightedReason || \"Date is out of range\"\n }\n disabled={!unselectableReason && !highlightedReason}\n placement=\"top\"\n enterDelay={0} // --salt-duration-instant\n leaveDelay={0} // --salt-duration-instant\n {...TooltipProps}\n >\n <button\n aria-label={formatDate(day, {\n day: \"2-digit\",\n month: \"long\",\n year: \"numeric\",\n })}\n disabled={disabled}\n type=\"button\"\n {...dayProps}\n ref={buttonRef}\n {...rest}\n className={clsx(\n withBaseName(),\n {\n [withBaseName(\"hidden\")]: hidden,\n [withBaseName(\"outOfRange\")]: outOfRange,\n [withBaseName(\"disabled\")]: disabled,\n [withBaseName(\"unselectable\")]: !!unselectable,\n [withBaseName(\"highlighted\")]: !!highlighted,\n },\n dayProps.className,\n className,\n )}\n >\n <span\n className={clsx(withBaseName(\"content\"), {\n [withBaseName(\"today\")]: today,\n })}\n >\n {renderDayContents\n ? renderDayContents(day, status)\n : formatDate(day, { day: \"numeric\" })}\n </span>\n </button>\n </Tooltip>\n );\n },\n);\n"],"names":["makePrefixer","forwardRef","CalendarDay","useWindow","useComponentCssInjection","calendarDayCss","useRef","useForkRef","useCalendarDay","jsx","Tooltip","formatDate","clsx"],"mappings":";;;;;;;;;;;;AAgCA,MAAM,YAAA,GAAeA,kBAAa,iBAAiB,CAAA;AAE5C,MAAM,WAAc,GAAAC,gBAAA;AAAA,EACzB,SAASC,YAAY,CAAA,KAAA,EAAO,GAAK,EAAA;AAC/B,IAAM,MAAA,EAAE,WAAW,GAAK,EAAA,iBAAA,EAAmB,OAAO,YAAc,EAAA,GAAG,MACjE,GAAA,KAAA;AACF,IAAA,MAAM,eAAeC,gBAAU,EAAA;AAC/B,IAAyBC,+BAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,mBAAA;AAAA,MACR,GAAK,EAAAC,aAAA;AAAA,MACL,MAAQ,EAAA;AAAA,KACT,CAAA;AAED,IAAM,MAAA,MAAA,GAASC,aAA0B,IAAI,CAAA;AAC7C,IAAM,MAAA,SAAA,GAAYC,eAAW,CAAA,GAAA,EAAK,MAAM,CAAA;AACxC,IAAA,MAAM,EAAE,MAAA,EAAQ,QAAU,EAAA,kBAAA,EAAoB,mBAC5C,GAAAC,6BAAA;AAAA,MACE;AAAA,QACE,IAAM,EAAA,GAAA;AAAA,QACN;AAAA,OACF;AAAA,MACA;AAAA,KACF;AACF,IAAA,MAAM,EAAE,UAAY,EAAA,KAAA,EAAO,cAAc,WAAa,EAAA,MAAA,EAAQ,UAC5D,GAAA,MAAA;AAEF,IACE,uBAAAC,cAAA;AAAA,MAACC,YAAA;AAAA,MAAA;AAAA,QACC,QAAQ,EAAA,IAAA;AAAA,QACR,MAAA,EAAQ,qBAAqB,OAAU,GAAA,MAAA;AAAA,QACvC,OAAA,EACE,sBAAsB,iBAAqB,IAAA,sBAAA;AAAA,QAE7C,QAAA,EAAU,CAAC,kBAAA,IAAsB,CAAC,iBAAA;AAAA,QAClC,SAAU,EAAA,KAAA;AAAA,QACV,UAAY,EAAA,CAAA;AAAA,QACZ,UAAY,EAAA,CAAA;AAAA,QACX,GAAG,YAAA;AAAA,QAEJ,QAAA,kBAAAD,cAAA;AAAA,UAAC,QAAA;AAAA,UAAA;AAAA,YACC,YAAA,EAAYE,iBAAW,GAAK,EAAA;AAAA,cAC1B,GAAK,EAAA,SAAA;AAAA,cACL,KAAO,EAAA,MAAA;AAAA,cACP,IAAM,EAAA;AAAA,aACP,CAAA;AAAA,YACD,QAAA;AAAA,YACA,IAAK,EAAA,QAAA;AAAA,YACJ,GAAG,QAAA;AAAA,YACJ,GAAK,EAAA,SAAA;AAAA,YACJ,GAAG,IAAA;AAAA,YACJ,SAAW,EAAAC,OAAA;AAAA,cACT,YAAa,EAAA;AAAA,cACb;AAAA,gBACE,CAAC,YAAA,CAAa,QAAQ,CAAC,GAAG,MAAA;AAAA,gBAC1B,CAAC,YAAA,CAAa,YAAY,CAAC,GAAG,UAAA;AAAA,gBAC9B,CAAC,YAAA,CAAa,UAAU,CAAC,GAAG,QAAA;AAAA,gBAC5B,CAAC,YAAa,CAAA,cAAc,CAAC,GAAG,CAAC,CAAC,YAAA;AAAA,gBAClC,CAAC,YAAa,CAAA,aAAa,CAAC,GAAG,CAAC,CAAC;AAAA,eACnC;AAAA,cACA,QAAS,CAAA,SAAA;AAAA,cACT;AAAA,aACF;AAAA,YAEA,QAAA,kBAAAH,cAAA;AAAA,cAAC,MAAA;AAAA,cAAA;AAAA,gBACC,SAAW,EAAAG,OAAA,CAAK,YAAa,CAAA,SAAS,CAAG,EAAA;AAAA,kBACvC,CAAC,YAAA,CAAa,OAAO,CAAC,GAAG;AAAA,iBAC1B,CAAA;AAAA,gBAEA,QAAA,EAAA,iBAAA,GACG,iBAAkB,CAAA,GAAA,EAAK,MAAM,CAAA,GAC7BD,iBAAW,GAAK,EAAA,EAAE,GAAK,EAAA,SAAA,EAAW;AAAA;AAAA;AACxC;AAAA;AACF;AAAA,KACF;AAAA;AAGN;;;;"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var calendarMonthCss = ".saltCalendarMonth-dateGrid {\n display: grid;\n gap: var(--salt-size-border);\n grid-template-columns: repeat(7, var(--salt-size-base));\n grid-template-rows: repeat(6, var(--salt-size-base));\n text-align: center;\n margin: var(--salt-size-border);\n}\n";
|
|
4
|
-
|
|
5
|
-
module.exports = calendarMonthCss;
|
|
6
|
-
//# sourceMappingURL=CalendarMonth.css.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CalendarMonth.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|