@vuu-ui/vuu-ui-controls 3.4.1 → 3.5.0-beta.2

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.
Files changed (151) hide show
  1. package/package.json +10 -10
  2. package/src/time-input/MaskedInput.js +176 -156
  3. package/src/time-input/TimeInput.css.js +41 -18
  4. package/src/time-input/TimeInput.js +25 -14
  5. package/src/time-input/useTimeInput.js +57 -47
  6. package/src/vuu-date-picker/VuuDatePicker.js +46 -52
  7. package/src/vuu-time-picker/VuuTimePicker.js +6 -5
  8. package/types/index.d.ts +2 -2
  9. package/types/time-input/MaskedInput.d.ts +60 -10
  10. package/types/time-input/TimeInput.d.ts +4 -3
  11. package/types/time-input/useTimeInput.d.ts +24 -5
  12. package/types/vuu-date-picker/VuuDatePicker.d.ts +19 -3
  13. package/types/vuu-time-picker/VuuTimePicker.d.ts +8 -6
  14. package/types/src/calendar/Calendar.d.ts +0 -13
  15. package/types/src/calendar/index.d.ts +0 -4
  16. package/types/src/calendar/internal/CalendarCarousel.d.ts +0 -3
  17. package/types/src/calendar/internal/CalendarContext.d.ts +0 -8
  18. package/types/src/calendar/internal/CalendarDay.d.ts +0 -14
  19. package/types/src/calendar/internal/CalendarMonth.d.ts +0 -10
  20. package/types/src/calendar/internal/CalendarNavigation.d.ts +0 -16
  21. package/types/src/calendar/internal/CalendarWeekHeader.d.ts +0 -3
  22. package/types/src/calendar/internal/useFocusManagement.d.ts +0 -9
  23. package/types/src/calendar/internal/utils.d.ts +0 -15
  24. package/types/src/calendar/useCalendar.d.ts +0 -54
  25. package/types/src/calendar/useCalendarDay.d.ts +0 -22
  26. package/types/src/calendar/useSelection.d.ts +0 -78
  27. package/types/src/column-picker/ColumnPicker.d.ts +0 -7
  28. package/types/src/column-picker/ColumnSearch.d.ts +0 -12
  29. package/types/src/column-picker/index.d.ts +0 -2
  30. package/types/src/column-picker/moving-window.d.ts +0 -14
  31. package/types/src/common-hooks/index.d.ts +0 -3
  32. package/types/src/common-hooks/selectionTypes.d.ts +0 -70
  33. package/types/src/common-hooks/use-resize-observer.d.ts +0 -16
  34. package/types/src/common-hooks/useControlled.d.ts +0 -24
  35. package/types/src/context-panel-provider/ContextPanelProvider.d.ts +0 -17
  36. package/types/src/cycle-state-button/CycleStateButton.d.ts +0 -11
  37. package/types/src/cycle-state-button/index.d.ts +0 -1
  38. package/types/src/date-input/DateInput.d.ts +0 -60
  39. package/types/src/date-input/index.d.ts +0 -1
  40. package/types/src/date-picker/DatePicker.d.ts +0 -66
  41. package/types/src/date-picker/DatePickerContext.d.ts +0 -19
  42. package/types/src/date-picker/DatePickerPanel.d.ts +0 -10
  43. package/types/src/date-picker/index.d.ts +0 -1
  44. package/types/src/drag-drop/DragDropProvider.d.ts +0 -38
  45. package/types/src/drag-drop/DragDropState.d.ts +0 -15
  46. package/types/src/drag-drop/Draggable.d.ts +0 -13
  47. package/types/src/drag-drop/DropIndicator.d.ts +0 -5
  48. package/types/src/drag-drop/dragDropTypes.d.ts +0 -100
  49. package/types/src/drag-drop/drop-target-utils.d.ts +0 -82
  50. package/types/src/drag-drop/index.d.ts +0 -6
  51. package/types/src/drag-drop/useAutoScroll.d.ts +0 -11
  52. package/types/src/drag-drop/useDragDisplacers.d.ts +0 -17
  53. package/types/src/drag-drop/useDragDrop.d.ts +0 -2
  54. package/types/src/drag-drop/useDragDropCopy.d.ts +0 -6
  55. package/types/src/drag-drop/useDragDropIndicator.d.ts +0 -2
  56. package/types/src/drag-drop/useDragDropNaturalMovement.d.ts +0 -2
  57. package/types/src/drag-drop/useDropIndicator.d.ts +0 -8
  58. package/types/src/drag-drop/useGlobalDragDrop.d.ts +0 -11
  59. package/types/src/drag-drop/useTransition.d.ts +0 -3
  60. package/types/src/editable/index.d.ts +0 -1
  61. package/types/src/editable/useEditableText.d.ts +0 -21
  62. package/types/src/editable-label/EditableLabel.d.ts +0 -19
  63. package/types/src/editable-label/index.d.ts +0 -1
  64. package/types/src/expando-input/ExpandoInput.d.ts +0 -6
  65. package/types/src/expando-input/index.d.ts +0 -1
  66. package/types/src/highlighter/Highlighter.d.ts +0 -6
  67. package/types/src/highlighter/index.d.ts +0 -1
  68. package/types/src/hover-overlay/HoverOverlay.d.ts +0 -8
  69. package/types/src/icon-button/Icon.d.ts +0 -6
  70. package/types/src/icon-button/IconButton.d.ts +0 -6
  71. package/types/src/icon-button/ToggleIconButton.d.ts +0 -5
  72. package/types/src/icon-button/index.d.ts +0 -3
  73. package/types/src/index.d.ts +0 -33
  74. package/types/src/instrument-picker/SearchCell.d.ts +0 -2
  75. package/types/src/instrument-picker/TablePicker.d.ts +0 -11
  76. package/types/src/instrument-picker/index.d.ts +0 -1
  77. package/types/src/instrument-picker/moving-window.d.ts +0 -14
  78. package/types/src/instrument-picker/useDataSource.d.ts +0 -6
  79. package/types/src/instrument-picker/useTablePicker.d.ts +0 -47
  80. package/types/src/item-picker/ItemPicker.d.ts +0 -14
  81. package/types/src/item-picker/useItemPicker.d.ts +0 -35
  82. package/types/src/measured-container/MeasuredContainer.d.ts +0 -16
  83. package/types/src/measured-container/index.d.ts +0 -2
  84. package/types/src/measured-container/useMeasuredContainer.d.ts +0 -23
  85. package/types/src/modal-provider/ModalProvider.d.ts +0 -13
  86. package/types/src/overflow-container/OverflowContainer.d.ts +0 -15
  87. package/types/src/overflow-container/index.d.ts +0 -2
  88. package/types/src/overflow-container/overflow-utils.d.ts +0 -48
  89. package/types/src/overflow-container/useOverflowContainer.d.ts +0 -19
  90. package/types/src/price-ticker/PriceTicker.d.ts +0 -7
  91. package/types/src/price-ticker/index.d.ts +0 -1
  92. package/types/src/prompt/Prompt.d.ts +0 -53
  93. package/types/src/sortable-list/SortableList.d.ts +0 -8
  94. package/types/src/split-button/SplitButton.d.ts +0 -11
  95. package/types/src/split-button/SplitStateButton.d.ts +0 -5
  96. package/types/src/split-button/index.d.ts +0 -2
  97. package/types/src/split-button/useSplitButton.d.ts +0 -311
  98. package/types/src/table-search/SearchCell.d.ts +0 -2
  99. package/types/src/table-search/TableSearch.d.ts +0 -9
  100. package/types/src/table-search/index.d.ts +0 -1
  101. package/types/src/table-search/moving-window.d.ts +0 -14
  102. package/types/src/table-search/useTableSearch.d.ts +0 -15
  103. package/types/src/tabs-next/TabBar.d.ts +0 -12
  104. package/types/src/tabs-next/TabListNext.d.ts +0 -12
  105. package/types/src/tabs-next/TabNext.d.ts +0 -12
  106. package/types/src/tabs-next/TabNextAction.d.ts +0 -5
  107. package/types/src/tabs-next/TabNextContext.d.ts +0 -12
  108. package/types/src/tabs-next/TabNextPanel.d.ts +0 -8
  109. package/types/src/tabs-next/TabNextTrigger.d.ts +0 -5
  110. package/types/src/tabs-next/TabOverflowList.d.ts +0 -11
  111. package/types/src/tabs-next/TabsNext.d.ts +0 -17
  112. package/types/src/tabs-next/TabsNextContext.d.ts +0 -21
  113. package/types/src/tabs-next/hooks/useCollection.d.ts +0 -18
  114. package/types/src/tabs-next/hooks/useFocusOutside.d.ts +0 -2
  115. package/types/src/tabs-next/hooks/useOverflow.d.ts +0 -11
  116. package/types/src/tabs-next/index.d.ts +0 -7
  117. package/types/src/tabstrip/Tab.d.ts +0 -27
  118. package/types/src/tabstrip/TabMenu.d.ts +0 -23
  119. package/types/src/tabstrip/TabMenuOptions.d.ts +0 -10
  120. package/types/src/tabstrip/TabsTypes.d.ts +0 -127
  121. package/types/src/tabstrip/Tabstrip.d.ts +0 -3
  122. package/types/src/tabstrip/index.d.ts +0 -5
  123. package/types/src/tabstrip/tabstrip-dom-utils.d.ts +0 -2
  124. package/types/src/tabstrip/useAnimatedSelectionThumb.d.ts +0 -7
  125. package/types/src/tabstrip/useKeyboardNavigation.d.ts +0 -29
  126. package/types/src/tabstrip/useSelection.d.ts +0 -13
  127. package/types/src/tabstrip/useTabstrip.d.ts +0 -55
  128. package/types/src/time-input/MaskedInput.d.ts +0 -49
  129. package/types/src/time-input/TimeInput.d.ts +0 -5
  130. package/types/src/time-input/useTimeInput.d.ts +0 -21
  131. package/types/src/toolbar/Toolbar.d.ts +0 -20
  132. package/types/src/toolbar/index.d.ts +0 -1
  133. package/types/src/toolbar/toolbar-dom-utils.d.ts +0 -3
  134. package/types/src/toolbar/useKeyboardNavigation.d.ts +0 -32
  135. package/types/src/toolbar/useSelection.d.ts +0 -22
  136. package/types/src/toolbar/useToolbar.d.ts +0 -28
  137. package/types/src/utils/deprecated-types.d.ts +0 -2
  138. package/types/src/utils/escapeRegExp.d.ts +0 -1
  139. package/types/src/utils/forwardCallbackProps.d.ts +0 -3
  140. package/types/src/utils/index.d.ts +0 -5
  141. package/types/src/utils/isOverflowElement.d.ts +0 -1
  142. package/types/src/utils/isPlainObject.d.ts +0 -1
  143. package/types/src/vuu-date-picker/VuuDatePicker.d.ts +0 -7
  144. package/types/src/vuu-date-picker/index.d.ts +0 -1
  145. package/types/src/vuu-input/VuuInput.d.ts +0 -18
  146. package/types/src/vuu-input/index.d.ts +0 -1
  147. package/types/src/vuu-time-picker/TimeRangePicker.d.ts +0 -0
  148. package/types/src/vuu-time-picker/VuuTimePicker.d.ts +0 -7
  149. package/types/src/vuu-typeahead-input/VuuTypeaheadInput.d.ts +0 -6
  150. package/types/src/vuu-typeahead-input/index.d.ts +0 -1
  151. package/types/src/vuu-typeahead-input/useVuuTypeaheadInput.d.ts +0 -49
@@ -1,100 +0,0 @@
1
- import { MouseEventHandler, ReactElement, RefObject } from "react";
2
- import type { orientationType } from "@vuu-ui/vuu-utils";
3
- import { DragDropState } from "./DragDropState";
4
- export type ViewportRange = {
5
- atEnd: boolean;
6
- atStart: boolean;
7
- from: number;
8
- to: number;
9
- };
10
- type dimension = "width" | "height" | "scrollWidth" | "scrollHeight";
11
- type dimensions = {
12
- size: dimension;
13
- depth: dimension;
14
- scrollDepth: dimension;
15
- };
16
- export type dimensionsType = {
17
- horizontal: dimensions;
18
- vertical: dimensions;
19
- };
20
- export type dragStrategy = "drop-indicator" | "natural-movement" | "drag-copy" | "drop-only";
21
- export type Direction = "fwd" | "bwd";
22
- export declare const FWD: Direction;
23
- export declare const BWD: Direction;
24
- export interface MousePosition {
25
- clientX: number;
26
- clientY: number;
27
- }
28
- export interface MouseOffset {
29
- x: number;
30
- y: number;
31
- }
32
- export type Rect = {
33
- height: number;
34
- left: number;
35
- top: number;
36
- width: number;
37
- };
38
- export interface DragHookResult {
39
- draggable?: ReactElement;
40
- dropIndicator?: ReactElement;
41
- draggedItemIndex?: number;
42
- isDragging: boolean;
43
- isScrolling: RefObject<boolean>;
44
- onMouseDown?: MouseEventHandler;
45
- revealOverflowedItems?: boolean;
46
- }
47
- export interface InternalDragHookResult extends Omit<DragHookResult, "isDragging" | "isScrolling"> {
48
- beginDrag: (dragElement: HTMLElement) => void;
49
- drag: (dragPos: number, mouseMoveDirection: "fwd" | "bwd") => void;
50
- drop: () => DropOptions;
51
- handleScrollStart?: (scrollDirection: "fwd" | "bwd") => void;
52
- handleScrollStop?: (scrollDirection: "fwd" | "bwd", _scrollPos: number, atEnd: boolean) => void;
53
- /**
54
- * Draggable item has been dragged out of container. Remove any local drop
55
- * indicators. Dragged element itself should not yet be removed from DOM.
56
- */
57
- releaseDrag?: () => void;
58
- }
59
- export interface DropOptions {
60
- fromIndex: number;
61
- toIndex: number;
62
- isExternal?: boolean;
63
- payload?: unknown;
64
- }
65
- export type DragStartHandler = (dragDropState: DragDropState) => void;
66
- export type DropHandler = (options: DropOptions) => void;
67
- export interface DragDropProps {
68
- allowDragDrop?: boolean | dragStrategy;
69
- containerRef: RefObject<HTMLElement | null>;
70
- /** this is the className that will be assigned during drag to the dragged element */
71
- draggableClassName: string;
72
- extendedDropZone?: boolean;
73
- getDragPayload?: (dragElement: HTMLElement) => unknown;
74
- id?: string;
75
- isDragSource?: boolean;
76
- isDropTarget?: boolean;
77
- itemQuery?: string;
78
- onDragStart?: DragStartHandler;
79
- onDrop: DropHandler;
80
- onDropSettle?: (toIndex: number) => void;
81
- orientation: orientationType;
82
- /**
83
- * The scrolling container does not necessarily have to be a
84
- * descendant of the container, it may be an ancestor element;
85
- */
86
- scrollingContainerRef?: RefObject<HTMLElement | null>;
87
- viewportRange?: ViewportRange;
88
- }
89
- export type DragDropHook = (props: DragDropProps) => DragHookResult;
90
- export interface InternalDragDropProps extends Omit<DragDropProps, "draggableClassName" | "id" | "onDrop"> {
91
- isDragSource?: boolean;
92
- isDropTarget?: boolean;
93
- selected?: unknown;
94
- }
95
- export type DragDropContext = {
96
- dragElement: HTMLElement;
97
- dragPayload: unknown;
98
- mouseOffset: MouseOffset;
99
- };
100
- export {};
@@ -1,82 +0,0 @@
1
- import { orientationType } from "@vuu-ui/vuu-utils";
2
- import { ViewportRange } from "./dragDropTypes";
3
- import { Direction, Rect } from "./dragDropTypes";
4
- export declare const NOT_OVERFLOWED = ":not(.wrapped)";
5
- export declare const NOT_HIDDEN = ":not([aria-hidden=\"true\"])";
6
- export type MeasuredDropTarget = {
7
- /**
8
- The index position currently occupied by this item. If draggable
9
- is dropped here, this will be the destination drop position.
10
- */
11
- currentIndex: number;
12
- element: HTMLElement;
13
- id: string;
14
- index: number;
15
- isDraggedItem: boolean;
16
- isExternal?: boolean;
17
- isLast?: boolean;
18
- isOverflowIndicator?: boolean;
19
- start: number;
20
- end: number;
21
- mid: number;
22
- size: number;
23
- };
24
- export type targetType = {
25
- element: HTMLElement | null;
26
- index: number;
27
- isLast?: boolean;
28
- };
29
- /** clones and removes id */
30
- export declare const cloneElement: <T extends HTMLElement>(element: T) => T;
31
- type MousePosKey = keyof Pick<MouseEvent, "clientX" | "clientY">;
32
- type DOMRectKey = keyof Omit<DOMRect, "toJSON">;
33
- type DOMRectDimensionKey = keyof Pick<DOMRect, "width" | "height">;
34
- type Dimension = keyof Pick<DOMRect, "width" | "height">;
35
- type ElementDimension = keyof Pick<HTMLElement, "scrollHeight" | "scrollWidth" | "clientHeight" | "clientWidth" | "scrollTop" | "scrollLeft">;
36
- type ElementPosition = "x" | "y";
37
- export declare const measureElementSizeAndPosition: (element: HTMLElement, dimension?: Dimension, includeAutoMargin?: boolean) => number[];
38
- export declare const dimensions: (orientation: orientationType) => {
39
- CLIENT_POS: MousePosKey;
40
- CLIENT_SIZE: ElementDimension;
41
- CONTRA: DOMRectKey;
42
- CONTRA_CLIENT_POS: MousePosKey;
43
- CONTRA_END: DOMRectDimensionKey;
44
- CONTRA_POS: ElementPosition;
45
- DIMENSION: DOMRectDimensionKey;
46
- END: DOMRectKey;
47
- POS: ElementPosition;
48
- SCROLL_POS: ElementDimension;
49
- SCROLL_SIZE: ElementDimension;
50
- START: DOMRectKey;
51
- } | {
52
- CLIENT_POS: MousePosKey;
53
- CLIENT_SIZE: ElementDimension;
54
- CONTRA: DOMRectKey;
55
- CONTRA_CLIENT_POS: MousePosKey;
56
- CONTRA_END: DOMRectDimensionKey;
57
- CONTRA_POS: ElementPosition;
58
- DIMENSION: DOMRectDimensionKey;
59
- END: DOMRectKey;
60
- POS: ElementPosition;
61
- SCROLL_POS: ElementDimension;
62
- SCROLL_SIZE: ElementDimension;
63
- START: DOMRectKey;
64
- };
65
- export declare const getItemById: (measuredItems: MeasuredDropTarget[], id: string) => MeasuredDropTarget | undefined;
66
- export declare const removeDraggedItem: (measuredItems: MeasuredDropTarget[], index: number) => void;
67
- export type dropZone = "start" | "end";
68
- export declare const measureDropTargets: (container: HTMLElement, orientation: orientationType, itemQuery?: string, viewportRange?: ViewportRange, draggedItemId?: string) => MeasuredDropTarget[];
69
- export declare const getIndexOfDraggedItem: (dropTargets: MeasuredDropTarget[]) => number;
70
- export declare const mutateDropTargetsSwitchDropTargetPosition: (dropTargets: MeasuredDropTarget[], direction: Direction) => void;
71
- export declare const getNextDropTarget: (dropTargets: MeasuredDropTarget[], pos: number, draggedItemSize: number, mouseMoveDirection: Direction) => MeasuredDropTarget;
72
- /**
73
- * An item within a scrollable container might have a width or height greater than that of
74
- * the container. If we drag such an item, we don't want the draggable to be larger than
75
- * the container.
76
- */
77
- export declare function constrainRect(targetRect: Rect, constraintRect: Rect): Rect;
78
- export declare const dropTargetsDebugString: (dropTargets: MeasuredDropTarget[]) => string;
79
- export declare const getItemParentContainer: (container: HTMLElement | null, itemQuery: string) => HTMLElement | null;
80
- export declare const getScrollableContainer: (container: HTMLElement | null, itemQuery: string) => HTMLElement | null;
81
- export declare const isContainerScrollable: (scrollableContainer: HTMLElement | null, orientation: orientationType) => boolean;
82
- export {};
@@ -1,6 +0,0 @@
1
- export * from "./dragDropTypes";
2
- export * from "./DragDropProvider";
3
- export * from "./DragDropState";
4
- export * from "./useDragDrop";
5
- export * from "./drop-target-utils";
6
- export * from "./useGlobalDragDrop";
@@ -1,11 +0,0 @@
1
- import { RefObject } from "react";
2
- export type ScrollStopHandler = (scrollDirection: "fwd" | "bwd", scrollPos: number, atEnd: boolean) => void;
3
- export declare const useAutoScroll: ({ containerRef, onScrollingStopped, orientation, }: {
4
- containerRef: RefObject<HTMLElement | null>;
5
- onScrollingStopped?: ScrollStopHandler;
6
- orientation?: "horizontal" | "vertical";
7
- }) => {
8
- isScrolling: RefObject<boolean>;
9
- startScrolling: (direction: "fwd" | "bwd", scrollRate: number, scrollUnit?: number) => void;
10
- stopScrolling: (atEnd?: boolean) => void;
11
- };
@@ -1,17 +0,0 @@
1
- import type { orientationType } from "@vuu-ui/vuu-utils";
2
- import { Direction } from "./dragDropTypes";
3
- import { MeasuredDropTarget } from "./drop-target-utils";
4
- export type DragDisplacersHookResult = {
5
- displaceItem: (dropTargets: MeasuredDropTarget[], dropTarget: MeasuredDropTarget, size: number, useTransition?: boolean, direction?: Direction | "static", orientation?: "horizontal" | "vertical") => number;
6
- displaceLastItem: (dropTargets: MeasuredDropTarget[], dropTarget: MeasuredDropTarget, size: number, useTransition?: boolean, direction?: Direction | "static", orientation?: "horizontal" | "vertical") => number;
7
- clearSpacers: (useAnimation?: boolean) => void;
8
- /** Insert the sized spacer at start or end of collection */
9
- setTerminalSpacer: (container: HTMLElement, position: "start" | "end", size: number) => void;
10
- };
11
- export type DragDisplacersHook = (orientation: orientationType) => DragDisplacersHookResult;
12
- /**
13
- * Manage a pair of displacer elements to smoothly display a moving gap between
14
- * list items of any kind. Designed to be used in a drag drop operation. The 'static'
15
- * direction option should be used at drag start or following scroll.
16
- */
17
- export declare const useDragDisplacers: DragDisplacersHook;
@@ -1,2 +0,0 @@
1
- import { DragDropHook } from "./dragDropTypes";
2
- export declare const useDragDrop: DragDropHook;
@@ -1,6 +0,0 @@
1
- import type { InternalDragDropProps, InternalDragHookResult } from "./dragDropTypes";
2
- export declare const NULL_DROP_OPTIONS: {
3
- readonly fromIndex: -1;
4
- readonly toIndex: -1;
5
- };
6
- export declare const useDragDropCopy: ({ selected, viewportRange, }: InternalDragDropProps) => InternalDragHookResult;
@@ -1,2 +0,0 @@
1
- import { InternalDragDropProps, InternalDragHookResult } from "./dragDropTypes";
2
- export declare const useDragDropIndicator: ({ orientation, containerRef, itemQuery, selected, viewportRange, }: InternalDragDropProps) => InternalDragHookResult;
@@ -1,2 +0,0 @@
1
- import { InternalDragDropProps, InternalDragHookResult } from "./dragDropTypes";
2
- export declare const useDragDropNaturalMovement: ({ containerRef, orientation, itemQuery, selected, viewportRange, }: InternalDragDropProps) => InternalDragHookResult;
@@ -1,8 +0,0 @@
1
- import { dropZone, MeasuredDropTarget } from "./drop-target-utils";
2
- export declare const SPACER_SIZE = 0;
3
- export type DropIndicatorHookResult = {
4
- positionDropIndicator: (dropTarget: MeasuredDropTarget, dropZone: dropZone) => HTMLElement;
5
- clearSpacer: () => void;
6
- };
7
- export type DropIndicatorHook = () => DropIndicatorHookResult;
8
- export declare const useDropIndicator: DropIndicatorHook;
@@ -1,11 +0,0 @@
1
- import { MeasuredTarget } from "./DragDropProvider";
2
- import { DragDropState } from "./DragDropState";
3
- export type ResumeDragHandler = (dragDropState: DragDropState) => boolean;
4
- export type GlobalDropHandler = (dragDropState: DragDropState) => void;
5
- export declare const useGlobalDragDrop: ({ onDragOverDropTarget, onDrop, }: {
6
- onDragOverDropTarget: (dropTargetId: string, dragDropState: DragDropState) => boolean;
7
- onDrop: (dropTargetId: string, dragDropState: DragDropState) => void;
8
- }) => {
9
- measuredDropTargetsRef: import("react").RefObject<Record<string, MeasuredTarget> | undefined>;
10
- resumeDrag: ResumeDragHandler;
11
- };
@@ -1,3 +0,0 @@
1
- export declare const useTransition: () => {
2
- applyTransition: (element: HTMLElement, property: string, value: string) => void;
3
- };
@@ -1 +0,0 @@
1
- export * from "./useEditableText";
@@ -1,21 +0,0 @@
1
- import { VuuRowDataItemType } from "@vuu-ui/vuu-protocol-types";
2
- import type { RuntimeColumnDescriptor, TableCellEditHandler } from "@vuu-ui/vuu-table-types";
3
- import { FocusEventHandler, FormEventHandler, KeyboardEvent } from "react";
4
- export interface EditableTextHookProps<T extends VuuRowDataItemType = VuuRowDataItemType> {
5
- column: Pick<RuntimeColumnDescriptor, "clientSideEditValidationCheck" | "label" | "name">;
6
- value?: T;
7
- onEdit?: TableCellEditHandler;
8
- type?: "string" | "number" | "boolean";
9
- }
10
- export declare const useEditableText: <T extends string | number | boolean = string>({ column, value, onEdit, type, }: EditableTextHookProps<T>) => {
11
- editing: boolean;
12
- inputProps: {
13
- onBlur: FocusEventHandler<HTMLElement>;
14
- onFocus: FocusEventHandler<HTMLElement>;
15
- onKeyDown: (evt: KeyboardEvent<HTMLElement>) => Promise<void>;
16
- };
17
- onChange: FormEventHandler;
18
- previousValue: string | undefined;
19
- value: string;
20
- warningMessage: string | undefined;
21
- };
@@ -1,19 +0,0 @@
1
- import { ForwardedRef, HTMLAttributes } from "react";
2
- export type ExitEditModeHandler = (originalLabel: string | undefined, editedLabel: string | undefined, allowDeactivation?: boolean, editCancelled?: boolean) => void;
3
- export interface EditAPI {
4
- beginEdit: () => void;
5
- }
6
- export declare const NullEditAPI: EditAPI;
7
- export interface EditableLabelProps extends Omit<HTMLAttributes<HTMLDivElement>, "onChange"> {
8
- className?: string;
9
- defaultEditing?: boolean;
10
- defaultValue?: string;
11
- editLabelApiRef?: ForwardedRef<EditAPI>;
12
- editing?: boolean;
13
- onEnterEditMode?: () => void;
14
- onChange?: (value: string) => void;
15
- onExitEditMode: ExitEditModeHandler;
16
- defaultIsEditing?: boolean;
17
- value?: string;
18
- }
19
- export declare const EditableLabel: import("react").ForwardRefExoticComponent<EditableLabelProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -1 +0,0 @@
1
- export * from "./EditableLabel";
@@ -1,6 +0,0 @@
1
- import { CommitHandler } from "@vuu-ui/vuu-utils";
2
- import { VuuInputProps } from "../vuu-input";
3
- export interface ExpandoInputProps extends Omit<VuuInputProps, "onCommit"> {
4
- onCommit?: CommitHandler;
5
- }
6
- export declare const ExpandoInput: import("react").ForwardRefExoticComponent<ExpandoInputProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -1 +0,0 @@
1
- export * from "./ExpandoInput";
@@ -1,6 +0,0 @@
1
- import { ReactElement } from "react";
2
- export interface HighlighterProps {
3
- matchPattern?: RegExp | string;
4
- text?: string;
5
- }
6
- export declare const Highlighter: (props: HighlighterProps) => ReactElement<HighlighterProps>;
@@ -1 +0,0 @@
1
- export * from "./Highlighter";
@@ -1,8 +0,0 @@
1
- import { OverlayProps } from "@salt-ds/core";
2
- import { ReactNode } from "react";
3
- export interface HoverOverlayProps extends Pick<OverlayProps, "placement" | "onOpenChange"> {
4
- children: ReactNode;
5
- open?: boolean;
6
- trigger: ReactNode;
7
- }
8
- export declare const HoverOverlay: ({ children, open: openProp, onOpenChange, placement, trigger, }: HoverOverlayProps) => import("react").JSX.Element;
@@ -1,6 +0,0 @@
1
- import { HTMLAttributes } from "react";
2
- export interface IconProps extends HTMLAttributes<HTMLSpanElement> {
3
- name: string;
4
- size?: number;
5
- }
6
- export declare const Icon: ({ className, name, size, style: styleProp, ...htmlAttributes }: IconProps) => import("react").JSX.Element;
@@ -1,6 +0,0 @@
1
- import { ButtonProps } from "@salt-ds/core";
2
- export interface IconButtonProps extends Omit<ButtonProps, "children"> {
3
- icon: string;
4
- size?: number;
5
- }
6
- export declare const IconButton: import("react").ForwardRefExoticComponent<IconButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
@@ -1,5 +0,0 @@
1
- import { IconButtonProps } from "./IconButton";
2
- export interface ToggleIconButtonProps extends Omit<IconButtonProps, "icon"> {
3
- isExpanded: boolean;
4
- }
5
- export declare const ToggleIconButton: ({ className, isExpanded, size, ...props }: ToggleIconButtonProps) => import("react").JSX.Element;
@@ -1,3 +0,0 @@
1
- export * from "./Icon";
2
- export * from "./IconButton";
3
- export * from "./ToggleIconButton";
@@ -1,33 +0,0 @@
1
- export * from "./calendar";
2
- export * from "./column-picker";
3
- export * from "./common-hooks";
4
- export { ContextPanelProvider, useContextPanel, useHideContextPanel, type ShowContextPanel, } from "./context-panel-provider/ContextPanelProvider";
5
- export * from "./cycle-state-button";
6
- export * from "./date-input";
7
- export * from "./date-picker";
8
- export * from "./drag-drop";
9
- export * from "./editable";
10
- export * from "./editable-label";
11
- export * from "./expando-input";
12
- export { HoverOverlay } from "./hover-overlay/HoverOverlay";
13
- export * from "./icon-button";
14
- export * from "./instrument-picker";
15
- export { ItemPicker, type ItemPickerProps } from "./item-picker/ItemPicker";
16
- export { type ItemDescriptor, type CreateCustomItemProps, } from "./item-picker/useItemPicker";
17
- export * from "./measured-container";
18
- export { ModalProvider, useModal } from "./modal-provider/ModalProvider";
19
- export * from "./overflow-container";
20
- export * from "./price-ticker";
21
- export { Prompt, type PromptProps } from "./prompt/Prompt";
22
- export { SortableList, SortableOption } from "./sortable-list/SortableList";
23
- export * from "./split-button";
24
- export * from "./table-search";
25
- export * from "./tabs-next";
26
- export * from "./tabstrip";
27
- export { TimeInput, type TimeInputProps } from "./time-input/TimeInput";
28
- export * from "./toolbar";
29
- export * from "./utils";
30
- export * from "./vuu-date-picker";
31
- export * from "./vuu-input";
32
- export { VuuTimePicker, type VuuTimePickerProps, } from "./vuu-time-picker/VuuTimePicker";
33
- export * from "./vuu-typeahead-input";
@@ -1,2 +0,0 @@
1
- import { TableCellRendererProps } from "@vuu-ui/vuu-table-types";
2
- export declare const SearchCell: ({ column, dataRow }: TableCellRendererProps) => import("react").JSX.Element;
@@ -1,11 +0,0 @@
1
- import type { TableSchema } from "@vuu-ui/vuu-data-types";
2
- import { type TableProps } from "@vuu-ui/vuu-table";
3
- import { type HTMLAttributes } from "react";
4
- import { DataRow } from "@vuu-ui/vuu-table-types";
5
- export interface TablePickerProps extends Omit<HTMLAttributes<HTMLElement>, "onSelect">, Pick<TableProps, "onSelect"> {
6
- TableProps?: Pick<TableProps, "config">;
7
- rowToString?: (dataRow: DataRow) => string;
8
- schema: TableSchema;
9
- searchColumns?: string[];
10
- }
11
- export declare const TablePicker: ({ TableProps, onSelect, rowToString, schema, searchColumns, ...htmlAttributes }: TablePickerProps) => import("react").JSX.Element;
@@ -1 +0,0 @@
1
- export * from "./TablePicker";
@@ -1,14 +0,0 @@
1
- import { DataSourceRow } from "@vuu-ui/vuu-data-types";
2
- import { VuuRange } from "@vuu-ui/vuu-protocol-types";
3
- export declare class MovingWindow {
4
- data: DataSourceRow[];
5
- rowCount: number;
6
- private range;
7
- constructor({ from, to }: VuuRange);
8
- setRowCount: (rowCount: number) => void;
9
- add(data: DataSourceRow): void;
10
- getAtIndex(index: number): DataSourceRow | undefined;
11
- isWithinRange(index: number): boolean;
12
- setRange({ from, to }: VuuRange): void;
13
- getSelectedRows(): DataSourceRow[];
14
- }
@@ -1,6 +0,0 @@
1
- import { DataSource, DataSourceRow } from "@vuu-ui/vuu-data-types";
2
- export interface DataSourceHookProps {
3
- dataSource: DataSource;
4
- instruments: string[];
5
- }
6
- export declare const useDataSource: ({ dataSource }: DataSourceHookProps) => DataSourceRow[];
@@ -1,47 +0,0 @@
1
- import { ChangeEvent, KeyboardEventHandler, RefCallback } from "react";
2
- import type { TableConfig, TableRowSelectHandler } from "@vuu-ui/vuu-table-types";
3
- import type { TablePickerProps } from "./TablePicker";
4
- export interface TablePickerHookProps extends Pick<TablePickerProps, "TableProps" | "onSelect" | "rowToString" | "schema" | "searchColumns"> {
5
- defaultIsOpen?: boolean;
6
- isOpen?: boolean;
7
- }
8
- export declare const useTablePicker: ({ TableProps, onSelect, rowToString, schema, searchColumns, }: TablePickerHookProps) => {
9
- containerRef: RefCallback<HTMLDivElement>;
10
- dataSource: import("@vuu-ui/vuu-data-types").DataSource;
11
- highlightedIndex: number | undefined;
12
- floatingUIProps: {
13
- placement: import("@floating-ui/utils").Placement;
14
- strategy: import("@floating-ui/utils").Strategy;
15
- middlewareData: import("@floating-ui/core").MiddlewareData;
16
- isPositioned: boolean;
17
- update: () => void;
18
- floatingStyles: React.CSSProperties;
19
- refs: {
20
- reference: import("react").MutableRefObject<import("@floating-ui/react-dom").ReferenceType | null>;
21
- floating: React.MutableRefObject<HTMLElement | null>;
22
- setReference: (node: import("@floating-ui/react-dom").ReferenceType | null) => void;
23
- setFloating: (node: HTMLElement | null) => void;
24
- } & import("@floating-ui/react").ExtendedRefs<import("@floating-ui/react").ReferenceType>;
25
- reference: ((node: import("@floating-ui/react-dom").ReferenceType | null) => void) & ((node: import("@floating-ui/react").ReferenceType | null) => void);
26
- floating: ((node: HTMLElement | null) => void) & ((node: HTMLElement | null) => void);
27
- x: number;
28
- y: number;
29
- };
30
- inputProps: {
31
- inputProps: {
32
- autoComplete: string;
33
- onKeyDown: KeyboardEventHandler<HTMLElement>;
34
- };
35
- onChange: (evt: ChangeEvent<HTMLInputElement>) => void;
36
- };
37
- interactionPropGetters: import("@floating-ui/react").UseInteractionsReturn;
38
- onKeyDown: KeyboardEventHandler<HTMLElement>;
39
- open: boolean;
40
- tableConfig: TableConfig;
41
- tableHandlers: {
42
- onSelect: TableRowSelectHandler;
43
- };
44
- tableRef: import("react").RefObject<HTMLDivElement | null>;
45
- value: string;
46
- width: number;
47
- };
@@ -1,14 +0,0 @@
1
- import { ListBoxProps } from "@salt-ds/core";
2
- import { ItemTypeName } from "@vuu-ui/vuu-utils";
3
- import { HTMLAttributes } from "react";
4
- import { CreateCustomItemProps, ItemDescriptor, ItemPickerHookProps } from "./useItemPicker";
5
- export declare const classBaseListItem = "vuuItemPickerListItem";
6
- export interface ItemPickerProps extends ItemPickerHookProps, HTMLAttributes<HTMLDivElement>, Pick<ListBoxProps<ItemDescriptor>, "selected" | "onSelectionChange"> {
7
- itemTypeName: ItemTypeName;
8
- createCustomItemProps?: CreateCustomItemProps;
9
- }
10
- /** Generic controlled component that displays items in a 'picker' that are available to search, select, reorder or deselect.
11
- * As input props, all available items, currently selected items, search text and callback functions for changes in selected items and search text
12
- * must be supplied by the client.
13
- */
14
- export declare const ItemPicker: import("react").ForwardRefExoticComponent<ItemPickerProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -1,35 +0,0 @@
1
- import { FormEventHandler, MouseEventHandler } from "react";
2
- /** This is a public description of an Item that can be displayed in the ItemPicker component, defining all the
3
- * mandatory and option attributes that can be defined by the client. */
4
- export interface ItemDescriptor {
5
- /** Unique name for this data value */
6
- name: string;
7
- /** Optional label for display instead of the name */
8
- label?: string;
9
- /** Optional data-icon name for display of an icon to the left of the item label/name in the selected list */
10
- icon?: string;
11
- /** Optional string to define groups of items for client reference, not currently used for rendering */
12
- group?: string;
13
- }
14
- export interface CreateCustomItemProps {
15
- buttonLabel: string;
16
- onClickCreateCustomItem: MouseEventHandler<HTMLButtonElement>;
17
- }
18
- export interface ItemPickerHookProps {
19
- allItems: ItemDescriptor[];
20
- selectedItems: ItemDescriptor[];
21
- maxSelections?: number;
22
- onSelectedItemsChange: (newSelectedItems: ItemDescriptor[]) => void;
23
- }
24
- export declare const getItemLabel: (item: ItemDescriptor) => string;
25
- export declare const useItemPicker: ({ allItems, selectedItems, maxSelections, onSelectedItemsChange, }: ItemPickerHookProps) => {
26
- selectedItemsCount: number;
27
- availableItemsCount: number;
28
- selectedItemsFiltered: readonly ItemDescriptor[];
29
- availableItemsFiltered: ItemDescriptor[];
30
- searchText: string;
31
- onChangeSearchInput: FormEventHandler;
32
- onAddItemToSelectedList: MouseEventHandler<HTMLButtonElement>;
33
- onRemoveItemFromSelectedList: MouseEventHandler<HTMLButtonElement>;
34
- onReorderSelectedItems: (orderedItemNames: string[]) => void;
35
- };
@@ -1,16 +0,0 @@
1
- import { HTMLAttributes } from "react";
2
- import { MeasuredSize } from "./useMeasuredContainer";
3
- export type ResizeStrategy = "defer" | "responsive";
4
- export interface MeasuredContainerProps extends Omit<HTMLAttributes<HTMLDivElement>, "onResize"> {
5
- /**
6
- * A numeric value for height will result in a fixed height. To adapt to container
7
- * use either a percentage height or 'auto'. Always use 'auto' when rendering
8
- * within a column based flex container, together with a flex value (use the
9
- * --vuuMeasuredContainer-flex CSS custom property))
10
- */
11
- height?: number | string;
12
- onResize?: (size: MeasuredSize) => void;
13
- resizeStrategy?: ResizeStrategy;
14
- width?: number | string;
15
- }
16
- export declare const MeasuredContainer: import("react").ForwardRefExoticComponent<MeasuredContainerProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -1,2 +0,0 @@
1
- export * from "./MeasuredContainer";
2
- export * from "./useMeasuredContainer";
@@ -1,23 +0,0 @@
1
- import { CSSProperties, RefObject } from "react";
2
- import { MeasuredContainerProps } from "./MeasuredContainer";
3
- export interface ClientSize {
4
- clientHeight: number;
5
- clientWidth: number;
6
- }
7
- export interface MeasuredProps extends Pick<MeasuredContainerProps, "height" | "onResize" | "resizeStrategy" | "width"> {
8
- defaultHeight?: number;
9
- defaultWidth?: number;
10
- }
11
- export type CssSize = Pick<CSSProperties, "height" | "width">;
12
- export interface MeasuredSize {
13
- height: number;
14
- width: number;
15
- }
16
- export interface MeasuredContainerHookResult {
17
- containerRef: RefObject<HTMLDivElement | null>;
18
- cssSize: CssSize;
19
- outerSize: CssSize;
20
- innerSize?: MeasuredSize;
21
- }
22
- export declare const reduceSizeHeight: (size: MeasuredSize, value: number) => MeasuredSize;
23
- export declare const useMeasuredContainer: ({ defaultHeight, defaultWidth, height, onResize: onResizeProp, resizeStrategy, width, }: MeasuredProps) => MeasuredContainerHookResult;
@@ -1,13 +0,0 @@
1
- import { ReactElement, ReactNode } from "react";
2
- import { PromptProps } from "../prompt/Prompt";
3
- export type ShowDialog = (dialogContent: ReactElement, title: string, dialogActionButtons?: ReactElement[], hideCloseButton?: boolean) => void;
4
- export type ShowPrompt = (promptContent: ReactElement, promptProps: PromptProps) => void;
5
- export declare const ModalProvider: ({ children }: {
6
- children: ReactNode;
7
- }) => import("react").JSX.Element;
8
- export declare const useModal: () => {
9
- showDialog: ShowDialog;
10
- closeDialog: () => void;
11
- showPrompt: ShowPrompt;
12
- closePrompt: () => void;
13
- };
@@ -1,15 +0,0 @@
1
- import { PopupMenuProps } from "@vuu-ui/vuu-popups";
2
- import { orientationType } from "@vuu-ui/vuu-utils";
3
- import React, { HTMLAttributes } from "react";
4
- import { OverflowItem } from "./overflow-utils";
5
- export interface OverflowContainerProps extends HTMLAttributes<HTMLDivElement> {
6
- PopupMenuProps?: Partial<PopupMenuProps>;
7
- allowDragDrop?: boolean;
8
- debugId?: string;
9
- onMoveItem?: (fromIndex: number, toIndex: number) => void;
10
- onSwitchWrappedItemIntoView?: (overflowItem: OverflowItem) => void;
11
- orientation?: orientationType;
12
- overflowIcon?: string;
13
- overflowPosition?: "start" | "end" | number;
14
- }
15
- export declare const OverflowContainer: React.ForwardRefExoticComponent<OverflowContainerProps & React.RefAttributes<HTMLDivElement>>;