@vuu-ui/vuu-ui-controls 4.0.0-alpha.8 → 4.0.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.
Files changed (197) hide show
  1. package/package.json +16 -14
  2. package/src/context-panel-provider/ContextPanelProvider.js +40 -28
  3. package/src/drag-drop/Draggable.css.js +2 -2
  4. package/src/expando-input/ExpandoInput.css.js +1 -1
  5. package/src/icon-button/Icon.js +0 -1
  6. package/src/icon-button/IconButton.js +1 -1
  7. package/src/icon-button/ToggleIconButton.css.js +1 -1
  8. package/src/index.js +1 -1
  9. package/src/instrument-picker/useTablePicker.js +2 -3
  10. package/src/item-picker/ItemPicker.css.js +1 -1
  11. package/src/item-picker/ItemPicker.js +53 -79
  12. package/src/price-ticker/PriceTicker.css.js +4 -4
  13. package/src/split-pane/SplitPane.css.js +82 -0
  14. package/src/split-pane/SplitPane.js +60 -0
  15. package/src/split-pane/Splitter.js +82 -0
  16. package/src/split-pane/index.js +1 -0
  17. package/src/split-pane/useSplitPane.js +101 -0
  18. package/src/tabstrip/Tab.css.js +3 -3
  19. package/src/tabstrip/Tabstrip.css.js +2 -2
  20. package/src/tabstrip/Tabstrip.js +1 -1
  21. package/src/time-input/MaskedInput.js +176 -156
  22. package/src/time-input/TimeInput.css.js +41 -18
  23. package/src/time-input/TimeInput.js +25 -14
  24. package/src/time-input/useTimeInput.js +57 -47
  25. package/src/toolbar/Toolbar.css.js +1 -1
  26. package/src/vuu-date-picker/VuuDatePicker.js +46 -52
  27. package/src/vuu-time-picker/VuuTimePicker.js +6 -5
  28. package/types/context-panel-provider/ContextPanelProvider.d.ts +7 -4
  29. package/types/drag-drop/DragDropProvider.d.ts +1 -1
  30. package/types/hover-overlay/HoverOverlay.d.ts +1 -1
  31. package/types/icon-button/Icon.d.ts +2 -2
  32. package/types/icon-button/IconButton.d.ts +1 -1
  33. package/types/icon-button/ToggleIconButton.d.ts +1 -1
  34. package/types/index.d.ts +4 -3
  35. package/types/instrument-picker/SearchCell.d.ts +1 -1
  36. package/types/instrument-picker/TablePicker.d.ts +1 -1
  37. package/types/instrument-picker/useTablePicker.d.ts +1 -1
  38. package/types/item-picker/ItemPicker.d.ts +5 -26
  39. package/types/item-picker/useItemPicker.d.ts +3 -4
  40. package/types/modal-provider/ModalProvider.d.ts +1 -1
  41. package/types/price-ticker/PriceTicker.d.ts +1 -1
  42. package/types/prompt/Prompt.d.ts +1 -1
  43. package/types/sortable-list/SortableList.d.ts +2 -2
  44. package/types/split-button/useSplitButton.d.ts +12 -12
  45. package/types/split-pane/SplitPane.d.ts +44 -0
  46. package/types/split-pane/Splitter.d.ts +10 -0
  47. package/types/split-pane/index.d.ts +2 -0
  48. package/types/split-pane/useSplitPane.d.ts +18 -0
  49. package/types/table-search/SearchCell.d.ts +1 -1
  50. package/types/table-search/TableSearch.d.ts +1 -1
  51. package/types/tabstrip/TabMenu.d.ts +1 -1
  52. package/types/tabstrip/Tabstrip.d.ts +2 -3
  53. package/types/time-input/MaskedInput.d.ts +60 -10
  54. package/types/time-input/TimeInput.d.ts +4 -3
  55. package/types/time-input/useTimeInput.d.ts +24 -5
  56. package/types/toolbar/Toolbar.d.ts +1 -2
  57. package/types/vuu-date-picker/VuuDatePicker.d.ts +19 -3
  58. package/types/vuu-time-picker/VuuTimePicker.d.ts +8 -6
  59. package/types/vuu-typeahead-input/VuuTypeaheadInput.d.ts +1 -1
  60. package/types/src/calendar/Calendar.d.ts +0 -13
  61. package/types/src/calendar/index.d.ts +0 -4
  62. package/types/src/calendar/internal/CalendarCarousel.d.ts +0 -3
  63. package/types/src/calendar/internal/CalendarContext.d.ts +0 -8
  64. package/types/src/calendar/internal/CalendarDay.d.ts +0 -14
  65. package/types/src/calendar/internal/CalendarMonth.d.ts +0 -10
  66. package/types/src/calendar/internal/CalendarNavigation.d.ts +0 -16
  67. package/types/src/calendar/internal/CalendarWeekHeader.d.ts +0 -3
  68. package/types/src/calendar/internal/useFocusManagement.d.ts +0 -9
  69. package/types/src/calendar/internal/utils.d.ts +0 -15
  70. package/types/src/calendar/useCalendar.d.ts +0 -54
  71. package/types/src/calendar/useCalendarDay.d.ts +0 -22
  72. package/types/src/calendar/useSelection.d.ts +0 -78
  73. package/types/src/column-picker/ColumnPicker.d.ts +0 -7
  74. package/types/src/column-picker/ColumnSearch.d.ts +0 -12
  75. package/types/src/column-picker/index.d.ts +0 -2
  76. package/types/src/column-picker/moving-window.d.ts +0 -14
  77. package/types/src/common-hooks/index.d.ts +0 -3
  78. package/types/src/common-hooks/selectionTypes.d.ts +0 -70
  79. package/types/src/common-hooks/use-resize-observer.d.ts +0 -16
  80. package/types/src/common-hooks/useControlled.d.ts +0 -24
  81. package/types/src/context-panel-provider/ContextPanelProvider.d.ts +0 -17
  82. package/types/src/cycle-state-button/CycleStateButton.d.ts +0 -11
  83. package/types/src/cycle-state-button/index.d.ts +0 -1
  84. package/types/src/date-input/DateInput.d.ts +0 -60
  85. package/types/src/date-input/index.d.ts +0 -1
  86. package/types/src/date-picker/DatePicker.d.ts +0 -66
  87. package/types/src/date-picker/DatePickerContext.d.ts +0 -19
  88. package/types/src/date-picker/DatePickerPanel.d.ts +0 -10
  89. package/types/src/date-picker/index.d.ts +0 -1
  90. package/types/src/drag-drop/DragDropProvider.d.ts +0 -38
  91. package/types/src/drag-drop/DragDropState.d.ts +0 -15
  92. package/types/src/drag-drop/Draggable.d.ts +0 -13
  93. package/types/src/drag-drop/DropIndicator.d.ts +0 -5
  94. package/types/src/drag-drop/dragDropTypes.d.ts +0 -100
  95. package/types/src/drag-drop/drop-target-utils.d.ts +0 -82
  96. package/types/src/drag-drop/index.d.ts +0 -6
  97. package/types/src/drag-drop/useAutoScroll.d.ts +0 -11
  98. package/types/src/drag-drop/useDragDisplacers.d.ts +0 -17
  99. package/types/src/drag-drop/useDragDrop.d.ts +0 -2
  100. package/types/src/drag-drop/useDragDropCopy.d.ts +0 -6
  101. package/types/src/drag-drop/useDragDropIndicator.d.ts +0 -2
  102. package/types/src/drag-drop/useDragDropNaturalMovement.d.ts +0 -2
  103. package/types/src/drag-drop/useDropIndicator.d.ts +0 -8
  104. package/types/src/drag-drop/useGlobalDragDrop.d.ts +0 -11
  105. package/types/src/drag-drop/useTransition.d.ts +0 -3
  106. package/types/src/editable/index.d.ts +0 -1
  107. package/types/src/editable/useEditableText.d.ts +0 -21
  108. package/types/src/editable-label/EditableLabel.d.ts +0 -19
  109. package/types/src/editable-label/index.d.ts +0 -1
  110. package/types/src/expando-input/ExpandoInput.d.ts +0 -6
  111. package/types/src/expando-input/index.d.ts +0 -1
  112. package/types/src/highlighter/Highlighter.d.ts +0 -6
  113. package/types/src/highlighter/index.d.ts +0 -1
  114. package/types/src/hover-overlay/HoverOverlay.d.ts +0 -8
  115. package/types/src/icon-button/Icon.d.ts +0 -6
  116. package/types/src/icon-button/IconButton.d.ts +0 -6
  117. package/types/src/icon-button/ToggleIconButton.d.ts +0 -5
  118. package/types/src/icon-button/index.d.ts +0 -3
  119. package/types/src/index.d.ts +0 -33
  120. package/types/src/instrument-picker/SearchCell.d.ts +0 -2
  121. package/types/src/instrument-picker/TablePicker.d.ts +0 -11
  122. package/types/src/instrument-picker/index.d.ts +0 -1
  123. package/types/src/instrument-picker/moving-window.d.ts +0 -14
  124. package/types/src/instrument-picker/useDataSource.d.ts +0 -6
  125. package/types/src/instrument-picker/useTablePicker.d.ts +0 -47
  126. package/types/src/item-picker/ItemPicker.d.ts +0 -14
  127. package/types/src/item-picker/useItemPicker.d.ts +0 -35
  128. package/types/src/measured-container/MeasuredContainer.d.ts +0 -16
  129. package/types/src/measured-container/index.d.ts +0 -2
  130. package/types/src/measured-container/useMeasuredContainer.d.ts +0 -23
  131. package/types/src/modal-provider/ModalProvider.d.ts +0 -13
  132. package/types/src/overflow-container/OverflowContainer.d.ts +0 -15
  133. package/types/src/overflow-container/index.d.ts +0 -2
  134. package/types/src/overflow-container/overflow-utils.d.ts +0 -48
  135. package/types/src/overflow-container/useOverflowContainer.d.ts +0 -19
  136. package/types/src/price-ticker/PriceTicker.d.ts +0 -7
  137. package/types/src/price-ticker/index.d.ts +0 -1
  138. package/types/src/prompt/Prompt.d.ts +0 -53
  139. package/types/src/sortable-list/SortableList.d.ts +0 -8
  140. package/types/src/split-button/SplitButton.d.ts +0 -11
  141. package/types/src/split-button/SplitStateButton.d.ts +0 -5
  142. package/types/src/split-button/index.d.ts +0 -2
  143. package/types/src/split-button/useSplitButton.d.ts +0 -311
  144. package/types/src/table-search/SearchCell.d.ts +0 -2
  145. package/types/src/table-search/TableSearch.d.ts +0 -9
  146. package/types/src/table-search/index.d.ts +0 -1
  147. package/types/src/table-search/moving-window.d.ts +0 -14
  148. package/types/src/table-search/useTableSearch.d.ts +0 -15
  149. package/types/src/tabs-next/TabBar.d.ts +0 -12
  150. package/types/src/tabs-next/TabListNext.d.ts +0 -12
  151. package/types/src/tabs-next/TabNext.d.ts +0 -12
  152. package/types/src/tabs-next/TabNextAction.d.ts +0 -5
  153. package/types/src/tabs-next/TabNextContext.d.ts +0 -12
  154. package/types/src/tabs-next/TabNextPanel.d.ts +0 -8
  155. package/types/src/tabs-next/TabNextTrigger.d.ts +0 -5
  156. package/types/src/tabs-next/TabOverflowList.d.ts +0 -11
  157. package/types/src/tabs-next/TabsNext.d.ts +0 -17
  158. package/types/src/tabs-next/TabsNextContext.d.ts +0 -21
  159. package/types/src/tabs-next/hooks/useCollection.d.ts +0 -18
  160. package/types/src/tabs-next/hooks/useFocusOutside.d.ts +0 -2
  161. package/types/src/tabs-next/hooks/useOverflow.d.ts +0 -11
  162. package/types/src/tabs-next/index.d.ts +0 -7
  163. package/types/src/tabstrip/Tab.d.ts +0 -27
  164. package/types/src/tabstrip/TabMenu.d.ts +0 -23
  165. package/types/src/tabstrip/TabMenuOptions.d.ts +0 -10
  166. package/types/src/tabstrip/TabsTypes.d.ts +0 -127
  167. package/types/src/tabstrip/Tabstrip.d.ts +0 -3
  168. package/types/src/tabstrip/index.d.ts +0 -5
  169. package/types/src/tabstrip/tabstrip-dom-utils.d.ts +0 -2
  170. package/types/src/tabstrip/useAnimatedSelectionThumb.d.ts +0 -7
  171. package/types/src/tabstrip/useKeyboardNavigation.d.ts +0 -29
  172. package/types/src/tabstrip/useSelection.d.ts +0 -13
  173. package/types/src/tabstrip/useTabstrip.d.ts +0 -55
  174. package/types/src/time-input/MaskedInput.d.ts +0 -49
  175. package/types/src/time-input/TimeInput.d.ts +0 -5
  176. package/types/src/time-input/useTimeInput.d.ts +0 -21
  177. package/types/src/toolbar/Toolbar.d.ts +0 -20
  178. package/types/src/toolbar/index.d.ts +0 -1
  179. package/types/src/toolbar/toolbar-dom-utils.d.ts +0 -3
  180. package/types/src/toolbar/useKeyboardNavigation.d.ts +0 -32
  181. package/types/src/toolbar/useSelection.d.ts +0 -22
  182. package/types/src/toolbar/useToolbar.d.ts +0 -28
  183. package/types/src/utils/deprecated-types.d.ts +0 -2
  184. package/types/src/utils/escapeRegExp.d.ts +0 -1
  185. package/types/src/utils/forwardCallbackProps.d.ts +0 -3
  186. package/types/src/utils/index.d.ts +0 -5
  187. package/types/src/utils/isOverflowElement.d.ts +0 -1
  188. package/types/src/utils/isPlainObject.d.ts +0 -1
  189. package/types/src/vuu-date-picker/VuuDatePicker.d.ts +0 -7
  190. package/types/src/vuu-date-picker/index.d.ts +0 -1
  191. package/types/src/vuu-input/VuuInput.d.ts +0 -18
  192. package/types/src/vuu-input/index.d.ts +0 -1
  193. package/types/src/vuu-time-picker/TimeRangePicker.d.ts +0 -0
  194. package/types/src/vuu-time-picker/VuuTimePicker.d.ts +0 -7
  195. package/types/src/vuu-typeahead-input/VuuTypeaheadInput.d.ts +0 -6
  196. package/types/src/vuu-typeahead-input/index.d.ts +0 -1
  197. package/types/src/vuu-typeahead-input/useVuuTypeaheadInput.d.ts +0 -49
@@ -0,0 +1,82 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import clsx from "clsx";
3
+ import { useCallback, useRef, useState } from "react";
4
+ const classBase = "vuuSplitPane-splitter";
5
+ const KEYBOARD_STEP = 1;
6
+ const KEYBOARD_STEP_LARGE = 10;
7
+ const Splitter = ({ className, direction, onResize, onResizeEnd, onResizeStart, position, ...htmlAttributes })=>{
8
+ const startPosRef = useRef(void 0);
9
+ const [active, setActive] = useState(false);
10
+ const isColumn = "column" === direction;
11
+ const getPointerPos = useCallback((e)=>isColumn ? e.clientY : e.clientX, [
12
+ isColumn
13
+ ]);
14
+ const handlePointerDown = useCallback((e)=>{
15
+ if (0 === e.button && onResizeStart()) {
16
+ e.preventDefault();
17
+ e.currentTarget.focus();
18
+ e.currentTarget.setPointerCapture(e.pointerId);
19
+ startPosRef.current = getPointerPos(e);
20
+ setActive(true);
21
+ }
22
+ }, [
23
+ getPointerPos,
24
+ onResizeStart
25
+ ]);
26
+ const handlePointerMove = useCallback((e)=>{
27
+ if (void 0 !== startPosRef.current) onResize(getPointerPos(e) - startPosRef.current);
28
+ }, [
29
+ getPointerPos,
30
+ onResize
31
+ ]);
32
+ const handlePointerEnd = useCallback(()=>{
33
+ if (void 0 !== startPosRef.current) {
34
+ startPosRef.current = void 0;
35
+ setActive(false);
36
+ onResizeEnd();
37
+ }
38
+ }, [
39
+ onResizeEnd
40
+ ]);
41
+ const handleKeyDown = useCallback((e)=>{
42
+ const step = e.shiftKey ? KEYBOARD_STEP_LARGE : KEYBOARD_STEP;
43
+ const [decrementKey, incrementKey] = isColumn ? [
44
+ "ArrowUp",
45
+ "ArrowDown"
46
+ ] : [
47
+ "ArrowLeft",
48
+ "ArrowRight"
49
+ ];
50
+ const distance = e.key === decrementKey ? -step : e.key === incrementKey ? step : "Home" === e.key ? -1 / 0 : "End" === e.key ? 1 / 0 : void 0;
51
+ if (void 0 !== distance && onResizeStart()) {
52
+ e.preventDefault();
53
+ onResize(distance);
54
+ onResizeEnd();
55
+ }
56
+ }, [
57
+ isColumn,
58
+ onResize,
59
+ onResizeEnd,
60
+ onResizeStart
61
+ ]);
62
+ return /*#__PURE__*/ jsx("div", {
63
+ "aria-label": "Resize",
64
+ ...htmlAttributes,
65
+ "aria-orientation": isColumn ? "horizontal" : "vertical",
66
+ "aria-valuemax": 100,
67
+ "aria-valuemin": 0,
68
+ "aria-valuenow": position,
69
+ className: clsx(classBase, className, {
70
+ [`${classBase}-active`]: active
71
+ }),
72
+ onKeyDown: handleKeyDown,
73
+ onLostPointerCapture: handlePointerEnd,
74
+ onPointerCancel: handlePointerEnd,
75
+ onPointerDown: handlePointerDown,
76
+ onPointerMove: handlePointerMove,
77
+ onPointerUp: handlePointerEnd,
78
+ role: "separator",
79
+ tabIndex: 0
80
+ });
81
+ };
82
+ export { Splitter };
@@ -0,0 +1 @@
1
+ export * from "./SplitPane.js";
@@ -0,0 +1,101 @@
1
+ import { useCallback, useLayoutEffect, useRef, useState } from "react";
2
+ const parsePx = (value, defaultValue)=>value.endsWith("px") ? parseFloat(value) : defaultValue;
3
+ const measurePane = (el, dimension)=>{
4
+ const { [dimension]: size } = el.getBoundingClientRect();
5
+ const style = getComputedStyle(el);
6
+ return {
7
+ size,
8
+ minSize: parsePx(style.getPropertyValue(`min-${dimension}`), 0),
9
+ maxSize: parsePx(style.getPropertyValue(`max-${dimension}`), 1 / 0)
10
+ };
11
+ };
12
+ const getPanes = (root)=>{
13
+ const pane1 = root?.children[0];
14
+ const pane2 = root?.children[2];
15
+ if (pane1 && pane2) return [
16
+ pane1,
17
+ pane2
18
+ ];
19
+ };
20
+ const toPercentage = ([size1, size2])=>{
21
+ const total = size1 + size2;
22
+ return 0 === total ? 0 : Math.round(size1 / total * 100);
23
+ };
24
+ const useSplitPane = ({ direction, onSplitterMoved, paneCount })=>{
25
+ const rootRef = useRef(null);
26
+ const resizeStateRef = useRef(void 0);
27
+ const [splitterPosition, setSplitterPosition] = useState(void 0);
28
+ const dimension = "column" === direction ? "height" : "width";
29
+ const hasSplitter = 2 === paneCount;
30
+ useLayoutEffect(()=>{
31
+ const panes = hasSplitter ? getPanes(rootRef.current) : void 0;
32
+ if (panes) {
33
+ const [pane1, pane2] = panes;
34
+ setSplitterPosition(toPercentage([
35
+ pane1.getBoundingClientRect()[dimension],
36
+ pane2.getBoundingClientRect()[dimension]
37
+ ]));
38
+ }
39
+ }, [
40
+ dimension,
41
+ hasSplitter
42
+ ]);
43
+ const beginResize = useCallback(()=>{
44
+ const panes = getPanes(rootRef.current);
45
+ if (panes) {
46
+ const [pane1, pane2] = panes;
47
+ const measurements = [
48
+ measurePane(pane1, dimension),
49
+ measurePane(pane2, dimension)
50
+ ];
51
+ resizeStateRef.current = {
52
+ panes,
53
+ measurements,
54
+ sizes: [
55
+ measurements[0].size,
56
+ measurements[1].size
57
+ ]
58
+ };
59
+ return true;
60
+ }
61
+ return false;
62
+ }, [
63
+ dimension
64
+ ]);
65
+ const resize = useCallback((distance)=>{
66
+ const resizeState = resizeStateRef.current;
67
+ if (resizeState) {
68
+ const { panes: [pane1, pane2], measurements: [m1, m2] } = resizeState;
69
+ const total = m1.size + m2.size;
70
+ const lowerBound = Math.max(m1.minSize, total - m2.maxSize);
71
+ const upperBound = Math.min(m1.maxSize, total - m2.minSize);
72
+ const size1 = Math.max(lowerBound, Math.min(upperBound, m1.size + distance));
73
+ const size2 = total - size1;
74
+ pane1.style.flexBasis = `${size1}px`;
75
+ pane2.style.flexBasis = `${size2}px`;
76
+ resizeState.sizes = [
77
+ size1,
78
+ size2
79
+ ];
80
+ }
81
+ }, []);
82
+ const endResize = useCallback(()=>{
83
+ const resizeState = resizeStateRef.current;
84
+ if (resizeState) {
85
+ resizeStateRef.current = void 0;
86
+ const { measurements, sizes } = resizeState;
87
+ setSplitterPosition(toPercentage(sizes));
88
+ if (sizes[0] !== measurements[0].size || sizes[1] !== measurements[1].size) onSplitterMoved?.(sizes);
89
+ }
90
+ }, [
91
+ onSplitterMoved
92
+ ]);
93
+ return {
94
+ beginResize,
95
+ endResize,
96
+ resize,
97
+ rootRef,
98
+ splitterPosition
99
+ };
100
+ };
101
+ export { useSplitPane };
@@ -101,7 +101,7 @@ const css = `
101
101
  }
102
102
 
103
103
  .vuuTab.vuuFocusVisible {
104
- background: var(--vuuTab-hover-background, var(--salt-navigable-primary-background-hover));
104
+ background: var(--vuuTab-hover-background, var(--salt-navigable-background-hover));
105
105
  outline-color: var(--vuuTab-focusVisible-color, var(--salt-focused-outlineColor));
106
106
  outline-offset: -1px;
107
107
  outline-width: 1px;
@@ -121,7 +121,7 @@ const css = `
121
121
 
122
122
  .vuuTabstrip-draggingTab .vuuTab-selected:before {
123
123
  --tab-before-content: "";
124
- --tab-before-background: var(--salt-navigable-indicator-color-active);
124
+ --tab-before-background: var(--salt-navigable-accent-indicator-active);
125
125
  --tab-before-height: var(--tab-thumb-height);
126
126
  --tab-before-inset: var(--tab-activationIndicator-inset);
127
127
  --tab-before-width: var(--tab-activationIndicator-thumb-width);
@@ -140,7 +140,7 @@ const css = `
140
140
  }
141
141
 
142
142
  .vuuTab:hover:not(.vuuTab-closeHover, .vuuTab-selected) {
143
- background: var(--vuuTab-hover-background, var(--salt-navigable-primary-background-hover));
143
+ background: var(--vuuTab-hover-background, var(--salt-navigable-background-hover));
144
144
  }
145
145
 
146
146
 
@@ -52,7 +52,7 @@ const css = `
52
52
 
53
53
  .vuuTabstrip-overflowMenu-open {
54
54
  --saltButton-background: var(--salt-actionable-subtle-background-active);
55
- --saltButton-text-color: var(--salt-actionable-subtle-text-color-active);
55
+ --saltButton-text-color: var(--salt-actionable-subtle-foreground-active);
56
56
  }
57
57
 
58
58
  .vuuTabstrip-overflowMenu-open .saltButton {
@@ -82,7 +82,7 @@ const css = `
82
82
  --tabstrip-display: flex;
83
83
  --tabstrip-height: 100%;
84
84
  --tabstrip-dragging-display: block;
85
- --tabs-tab-background: var(--salt-navigable-primary-background-hover);
85
+ --tabs-tab-background: var(--salt-navigable-background-hover);
86
86
  --tabs-tab-before-content: "";
87
87
  --tabs-tab-before-background: var(--salt-navigable-indicator-hover);
88
88
  --tabs-tab-before-height: var(--tab-activationIndicator-thumb-height);
@@ -67,7 +67,7 @@ const Tabstrip_Tabstrip = ({ activeTabIndex: activeTabIndexProp, allowAddTab, al
67
67
  key: "addButton",
68
68
  onClick: onClickAddTab,
69
69
  variant: "secondary",
70
- tabIndex: -1 === activeTabIndex ? 0 : -1
70
+ tabIndex: -1
71
71
  }) : []), [
72
72
  children,
73
73
  allowAddTab,