@splunk/react-ui 5.0.0 → 5.1.0

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 (94) hide show
  1. package/Accordion.js +59 -59
  2. package/Avatar.js +20 -20
  3. package/Breadcrumbs.js +46 -46
  4. package/Button.js +24 -24
  5. package/CHANGELOG.md +21 -2
  6. package/Calendar.js +69 -69
  7. package/Card.js +68 -68
  8. package/Chip.js +16 -16
  9. package/Clickable.js +29 -29
  10. package/Code.js +654 -519
  11. package/CollapsiblePanel.js +112 -112
  12. package/Color.js +107 -107
  13. package/ColumnLayout.js +35 -35
  14. package/ComboBox.js +190 -206
  15. package/ControlGroup.js +128 -120
  16. package/Date.js +148 -146
  17. package/DefinitionList.js +26 -26
  18. package/DualListbox.js +701 -717
  19. package/File.js +403 -403
  20. package/FormRows.js +66 -63
  21. package/Image.js +15 -15
  22. package/JSONTree.js +458 -357
  23. package/Layer.js +60 -72
  24. package/Markdown.js +66 -66
  25. package/Menu.js +44 -44
  26. package/Modal.js +49 -49
  27. package/ModalLayer.js +6 -6
  28. package/Monogram.js +16 -16
  29. package/Multiselect.js +622 -624
  30. package/Number.js +100 -100
  31. package/Paginator.js +7 -7
  32. package/Popover.js +453 -407
  33. package/Progress.js +12 -12
  34. package/Prose.js +6 -6
  35. package/RadioBar.js +180 -166
  36. package/RadioList.js +80 -79
  37. package/ResultsMenu.js +15 -15
  38. package/Scroll.js +50 -50
  39. package/Search.js +148 -164
  40. package/Select.js +668 -670
  41. package/Slider.js +30 -30
  42. package/SlidingPanels.js +24 -24
  43. package/SplitButton.js +50 -50
  44. package/StepBar.js +100 -100
  45. package/Switch.js +45 -45
  46. package/TabBar.js +196 -196
  47. package/TabLayout.js +16 -16
  48. package/Table.js +1207 -1193
  49. package/Text.js +65 -65
  50. package/TextArea.js +108 -93
  51. package/Tooltip.js +203 -197
  52. package/Tree.js +464 -366
  53. package/package.json +6 -6
  54. package/stubs-dependencies.d.ts +0 -70
  55. package/stubs-splunkui.d.ts +4 -0
  56. package/types/src/Code/Code.d.ts +17 -1
  57. package/types/src/Code/LineHighlights.d.ts +11 -0
  58. package/types/src/Code/LineNumbers.d.ts +6 -0
  59. package/types/src/Code/docs/examples/LineHighlights.d.ts +3 -0
  60. package/types/src/Code/docs/examples/LineNumbers.d.ts +3 -0
  61. package/types/src/Code/docs/examples/LineNumbersCustomStart.d.ts +3 -0
  62. package/types/src/Date/Date.d.ts +6 -1
  63. package/types/src/DefinitionList/DefinitionList.d.ts +6 -6
  64. package/types/src/FormRows/FormRows.d.ts +1 -1
  65. package/types/src/JSONTree/JSONTreeItem.d.ts +5 -2
  66. package/types/src/Markdown/Markdown.d.ts +1 -1
  67. package/types/src/Markdown/renderers/MarkdownBlockquote.d.ts +1 -1
  68. package/types/src/Markdown/renderers/MarkdownCodeBlock.d.ts +1 -1
  69. package/types/src/Markdown/renderers/index.d.ts +1 -1
  70. package/types/src/Popover/Popover.d.ts +1 -1
  71. package/types/src/RadioBar/Option.d.ts +1 -1
  72. package/types/src/RadioBar/RadioBar.d.ts +13 -6
  73. package/types/src/RadioBar/RadioBarContext.d.ts +4 -2
  74. package/types/src/RadioList/RadioList.d.ts +2 -1
  75. package/types/src/ScreenReaderContent/docs/examples/SkipLink.d.ts +3 -0
  76. package/types/src/Scroll/Inner.d.ts +1 -1
  77. package/types/src/Select/Option.d.ts +1 -1
  78. package/types/src/Select/Select.d.ts +1 -1
  79. package/types/src/Slider/docs/examples/Controlled.d.ts +1 -1
  80. package/types/src/TabLayout/Panel.d.ts +0 -1
  81. package/types/src/Table/Head.d.ts +1 -0
  82. package/types/src/Table/HeadCell.d.ts +2 -3
  83. package/types/src/Table/HeadDropdownCell.d.ts +2 -2
  84. package/types/src/Table/HeadInner.d.ts +4 -4
  85. package/types/src/Table/KeyboardSensor.d.ts +1 -1
  86. package/types/src/Table/RowDragCell.d.ts +1 -1
  87. package/types/src/Tooltip/Tooltip.d.ts +10 -5
  88. package/types/src/Tree/Item.d.ts +63 -0
  89. package/types/src/Tree/Tree.d.ts +13 -6
  90. package/types/src/Tree/TreeContext.d.ts +1 -1
  91. package/types/src/Tree/index.d.ts +1 -1
  92. package/types/src/useControlled/useControlled.d.ts +3 -1
  93. package/useControlled.js +29 -13
  94. package/types/src/Tree/TreeItem.d.ts +0 -44
package/TabBar.js CHANGED
@@ -61,7 +61,7 @@
61
61
  e.r(t);
62
62
  // EXPORTS
63
63
  e.d(t, {
64
- Tab: () => /* reexport */ ne,
64
+ Tab: () => /* reexport */ te,
65
65
  default: () => /* reexport */ xe
66
66
  });
67
67
  // CONCATENATED MODULE: external "react"
@@ -73,156 +73,147 @@
73
73
  // CONCATENATED MODULE: external "@splunk/react-ui/usePrevious"
74
74
  const o = require("@splunk/react-ui/usePrevious");
75
75
  var l = e.n(o);
76
- // CONCATENATED MODULE: external "styled-components"
77
- const u = require("styled-components");
78
- var c = e.n(u);
79
- // CONCATENATED MODULE: external "@splunk/themes"
80
- const s = require("@splunk/themes");
81
- // CONCATENATED MODULE: ./src/TabBar/TabBarStyles.ts
82
- var d = c().div.withConfig({
83
- displayName: "TabBarStyles__Styled",
84
- componentId: "sc-1t85fen-0"
85
- })([ "", " position:relative;&::before{content:'';display:block;position:absolute;left:0;top:0;right:0;bottom:0;border:0 solid ", ";}", ";" ], s.mixins.reset("flex"), s.variables.neutral300, (0,
86
- s.pickVariant)("$layout", {
87
- horizontal: (0, u.css)([ "column-gap:", ";&::before{border-bottom-width:1px;}" ], s.variables.spacingXLarge),
88
- vertical: (0, u.css)([ "display:inline-flex;flex-direction:column;row-gap:", ";&::before{border-right-width:1px;}" ], s.variables.spacingXLarge)
89
- }));
90
76
  // CONCATENATED MODULE: external "lodash/omit"
91
- const f = require("lodash/omit");
92
- var v = e.n(f);
77
+ const u = require("lodash/omit");
78
+ var c = e.n(u);
93
79
  // CONCATENATED MODULE: external "@splunk/react-icons/DotsThreeVertical"
94
- const b = require("@splunk/react-icons/DotsThreeVertical");
95
- var p = e.n(b);
80
+ const s = require("@splunk/react-icons/DotsThreeVertical");
81
+ var d = e.n(s);
96
82
  // CONCATENATED MODULE: external "@splunk/react-ui/Dropdown"
97
- const m = require("@splunk/react-ui/Dropdown");
98
- var g = e.n(m);
83
+ const f = require("@splunk/react-ui/Dropdown");
84
+ var v = e.n(f);
99
85
  // CONCATENATED MODULE: external "@splunk/react-ui/Popover"
100
- const y = require("@splunk/react-ui/Popover");
101
- var h = e.n(y);
86
+ const b = require("@splunk/react-ui/Popover");
87
+ var p = e.n(b);
102
88
  // CONCATENATED MODULE: external "@splunk/react-ui/ScreenReaderContent"
103
- const S = require("@splunk/react-ui/ScreenReaderContent");
104
- var w = e.n(S);
89
+ const m = require("@splunk/react-ui/ScreenReaderContent");
90
+ var g = e.n(m);
105
91
  // CONCATENATED MODULE: external "@splunk/ui-utils/i18n"
106
- const C = require("@splunk/ui-utils/i18n");
92
+ const y = require("@splunk/ui-utils/i18n");
107
93
  // CONCATENATED MODULE: external "@splunk/ui-utils/id"
108
- const O = require("@splunk/ui-utils/id");
94
+ const h = require("@splunk/ui-utils/id");
95
+ // CONCATENATED MODULE: ./src/TabBar/TabBarContext.tsx
96
+ var S = function e() {
97
+ return undefined;
98
+ };
99
+ var w = (0, n.createContext)({
100
+ isMenuOpen: false,
101
+ onMenuOpen: S,
102
+ onMenuClose: S,
103
+ registerTab: S
104
+ });
105
+ w.displayName = "TabBar";
106
+ /* harmony default export */ const C = w;
107
+ // CONCATENATED MODULE: external "styled-components"
108
+ const O = require("styled-components");
109
+ var x = e.n(O);
109
110
  // CONCATENATED MODULE: external "@splunk/react-ui/Clickable"
110
- const x = require("@splunk/react-ui/Clickable");
111
- var k = e.n(x);
111
+ const k = require("@splunk/react-ui/Clickable");
112
+ var I = e.n(k);
113
+ // CONCATENATED MODULE: external "@splunk/themes"
114
+ const P = require("@splunk/themes");
112
115
  // CONCATENATED MODULE: ./src/TabBar/TabStyles.ts
113
- var I = (0, u.css)([ "color:", ";" ], s.variables.contentColorActive);
114
- var P = "2px";
115
- var j = (0, s.pickVariant)("$layout", {
116
- horizontal: (0, u.css)([ "background:", ";height:", ";" ], s.variables.contentColorAccentWeak, P),
117
- vertical: (0, u.css)([ "background:", ";width:", ";" ], s.variables.contentColorAccentWeak, P)
116
+ var j = (0, O.css)([ "color:", ";" ], P.variables.contentColorActive);
117
+ var T = "2px";
118
+ var $ = (0, P.pickVariant)("$layout", {
119
+ horizontal: (0, O.css)([ "background:", ";height:", ";" ], P.variables.contentColorAccentWeak, T),
120
+ vertical: (0, O.css)([ "background:", ";width:", ";" ], P.variables.contentColorAccentWeak, T)
118
121
  });
119
- var T = function e(t) {
122
+ var E = function e(t) {
120
123
  var n = t.$hasIcon, r = t.$hasMenu, a = t.$iconPosition;
121
124
  if (a === "above" && n && r) {
122
- return (0, u.css)([ "grid-template-areas:'icon icon icon' 'menu-counter-neg-space label menu' 'gutter gutter gutter' 'underline underline underline';grid-template-columns:", " 1fr min-content;grid-template-rows:repeat(2,auto) ", " auto;" ], s.variables.spacingXSmall, s.variables.spacingXSmall);
125
+ return (0, O.css)([ "grid-template-areas:'icon icon icon' 'menu-counter-neg-space label menu' 'gutter gutter gutter' 'underline underline underline';grid-template-columns:", " 1fr min-content;grid-template-rows:repeat(2,auto) ", " auto;" ], P.variables.spacingXSmall, P.variables.spacingXSmall);
123
126
  }
124
127
  if (a === "above" && n) {
125
- return (0, u.css)([ "grid-template-areas:'icon' 'label' 'gutter' 'underline';grid-template-columns:1fr;grid-template-rows:repeat(2,auto) ", " auto;" ], s.variables.spacingXSmall);
128
+ return (0, O.css)([ "grid-template-areas:'icon' 'label' 'gutter' 'underline';grid-template-columns:1fr;grid-template-rows:repeat(2,auto) ", " auto;" ], P.variables.spacingXSmall);
126
129
  }
127
130
  if (a === "left" && n && r) {
128
- return (0, u.css)([ "grid-template-areas:'menu-counter-neg-space icon label menu' 'underline underline underline underline';grid-template-columns:", " 16px 1fr min-content;" ], s.variables.spacingXSmall);
131
+ return (0, O.css)([ "grid-template-areas:'menu-counter-neg-space icon label menu' 'underline underline underline underline';grid-template-columns:", " 16px 1fr min-content;" ], P.variables.spacingXSmall);
129
132
  }
130
133
  if (a === "left" && n) {
131
- return (0, u.css)([ "grid-template-areas:'icon label' 'underline underline';grid-template-columns:16px 1fr;" ]);
134
+ return (0, O.css)([ "grid-template-areas:'icon label' 'underline underline';grid-template-columns:16px 1fr;" ]);
132
135
  }
133
136
  if (r) {
134
- return (0, u.css)([ "grid-template-areas:'menu-counter-neg-space label menu' 'underline underline underline';grid-template-columns:", " minmax(auto,min-content) min-content;" ], s.variables.spacingXSmall);
137
+ return (0, O.css)([ "grid-template-areas:'menu-counter-neg-space label menu' 'underline underline underline';grid-template-columns:", " minmax(auto,min-content) min-content;" ], P.variables.spacingXSmall);
135
138
  }
136
- return (0, u.css)([ "grid-template-areas:'label' 'underline';grid-template-columns:minmax(auto,min-content);" ]);
139
+ return (0, O.css)([ "grid-template-areas:'label' 'underline';grid-template-columns:minmax(auto,min-content);" ]);
137
140
  };
138
- var $ = function e(t) {
141
+ var M = function e(t) {
139
142
  var n = t.$hasIcon, r = t.$iconPosition;
140
143
  if (r === "above" && n) {
141
- return (0, u.css)([ "grid-template-areas:'icon gutter underline' 'label gutter underline';grid-template-columns:1fr ", " ", ";" ], s.variables.spacingXSmall, P);
144
+ return (0, O.css)([ "grid-template-areas:'icon gutter underline' 'label gutter underline';grid-template-columns:1fr ", " ", ";" ], P.variables.spacingXSmall, T);
142
145
  }
143
146
  if (r === "left" && n) {
144
- return (0, u.css)([ "grid-template-areas:'icon label gutter underline';grid-template-columns:16px 1fr ", " ", ";" ], s.variables.spacingXSmall, P);
147
+ return (0, O.css)([ "grid-template-areas:'icon label gutter underline';grid-template-columns:16px 1fr ", " ", ";" ], P.variables.spacingXSmall, T);
145
148
  }
146
- return (0, u.css)([ "grid-template-areas:'label gutter underline';grid-template-columns:1fr ", " ", ";" ], s.variables.spacingXSmall, P);
149
+ return (0, O.css)([ "grid-template-areas:'label gutter underline';grid-template-columns:1fr ", " ", ";" ], P.variables.spacingXSmall, T);
147
150
  };
148
- var E = c()(k()).withConfig({
151
+ var A = x()(I()).withConfig({
149
152
  displayName: "TabStyles__StyledClickable",
150
153
  componentId: "sc-1ry8mzj-0"
151
- })([ "color:", ";column-gap:", ";display:grid;justify-content:center;min-height:", ";position:relative;", " ", " &::after{display:block;content:attr(data-title);font-weight:", ";height:0;color:transparent;overflow:hidden;visibility:hidden;}", ";&[aria-selected='true']{cursor:default;color:", ";font-weight:", ";}&[aria-selected='false']{box-shadow:none;font-weight:", ";&:hover:not([disabled]){", "}&[aria-haspopup='true']{", "}}&:focus{box-shadow:", ";color:", ";}" ], s.variables.contentColorDefault, s.variables.spacingXSmall, s.variables.inputHeight, (function(e) {
154
+ })([ "color:", ";column-gap:", ";display:grid;justify-content:center;min-height:", ";position:relative;", " ", " &::after{display:block;content:attr(data-title);font-weight:", ";height:0;color:transparent;overflow:hidden;visibility:hidden;}", ";&[aria-selected='true']{cursor:default;color:", ";font-weight:", ";}&[aria-selected='false']{box-shadow:none;font-weight:", ";&:hover:not([disabled]){", "}&[aria-haspopup='true']{", "}}&:focus{box-shadow:", ";color:", ";}" ], P.variables.contentColorDefault, P.variables.spacingXSmall, P.variables.inputHeight, (function(e) {
152
155
  var t = e.$maxTabWidth;
153
- return t && (0, u.css)([ "max-width:", "px;" ], t);
156
+ return t && (0, O.css)([ "max-width:", "px;" ], t);
154
157
  }), (function(e) {
155
158
  var t = e.$hasIcon, n = e.$hasMenu, r = e.$iconPosition, a = e.$layout;
156
159
  if (a === "vertical") {
157
- return $({
160
+ return M({
158
161
  $hasIcon: t,
159
162
  $iconPosition: r
160
163
  });
161
164
  }
162
- return T({
165
+ return E({
163
166
  $hasIcon: t,
164
167
  $hasMenu: n,
165
168
  $iconPosition: r
166
169
  });
167
- }), s.variables.fontWeightBold, (0, s.pickVariant)("$layout", {
168
- horizontal: (0, u.css)([ "margin-bottom:1px;" ]),
169
- vertical: (0, u.css)([ "align-items:center;right:1px;" ])
170
- }), s.variables.contentColorActive, s.variables.fontWeightBold, s.variables.fontWeightSemiBold, I, I, s.variables.focusShadow, s.variables.contentColorActive);
171
- var M = c().div.withConfig({
170
+ }), P.variables.fontWeightBold, (0, P.pickVariant)("$layout", {
171
+ horizontal: (0, O.css)([ "margin-bottom:1px;" ]),
172
+ vertical: (0, O.css)([ "align-items:center;right:1px;" ])
173
+ }), P.variables.contentColorActive, P.variables.fontWeightBold, P.variables.fontWeightSemiBold, j, j, P.variables.focusShadow, P.variables.contentColorActive);
174
+ var z = x().div.withConfig({
172
175
  displayName: "TabStyles__StyledUnderline",
173
176
  componentId: "sc-1ry8mzj-1"
174
177
  })([ "grid-area:underline;position:absolute;", ";[aria-selected='true'] > &&{background-color:", ";", ";}", ":hover:not([disabled]):not([aria-selected='true']) > &&{", ";}[aria-selected='false'][aria-haspopup='true'] > &&{", "}" ], (0,
175
- s.pickVariant)("$layout", {
176
- horizontal: (0, u.css)([ "bottom:-1px;height:0;width:100%;transition:height 0.2s;" ]),
177
- vertical: (0, u.css)([ "width:1px;height:100%;right:-1px;transition:width 0.2s;" ])
178
- }), s.variables.contentColorAccent, (0, s.pickVariant)("$layout", {
179
- horizontal: (0, u.css)([ "height:", ";" ], P),
180
- vertical: (0, u.css)([ "width:", ";" ], P)
181
- }), /* sc-sel */ E, j, j);
182
- var A = c().span.withConfig({
178
+ P.pickVariant)("$layout", {
179
+ horizontal: (0, O.css)([ "bottom:-1px;height:0;width:100%;transition:height 0.2s;" ]),
180
+ vertical: (0, O.css)([ "width:1px;height:100%;right:-1px;transition:width 0.2s;" ])
181
+ }), P.variables.contentColorAccent, (0, P.pickVariant)("$layout", {
182
+ horizontal: (0, O.css)([ "height:", ";" ], T),
183
+ vertical: (0, O.css)([ "width:", ";" ], T)
184
+ }), /* sc-sel */ A, $, $);
185
+ var D = x().span.withConfig({
183
186
  displayName: "TabStyles__StyledMenu",
184
187
  componentId: "sc-1ry8mzj-2"
185
- })([ "display:inline-block;grid-area:menu;margin-left:4px;> svg{transform:translateY(-1px);}border-radius:", ";cursor:pointer;", " &:hover{background-color:", ";border-color:", ";}", "[aria-haspopup='true'] &,", ":hover &,", ":focus &{visibility:visible;}" ], s.variables.borderRadius, (0,
186
- s.pickVariant)("$active", {
187
- false: (0, u.css)([ "visibility:hidden;" ])
188
- }), s.variables.interactiveColorOverlayHover, s.variables.interactiveColorBorderHover, /* sc-sel */ E, /* sc-sel */ E, /* sc-sel */ E);
189
- var z = c().span.withConfig({
188
+ })([ "display:inline-block;grid-area:menu;margin-left:4px;> svg{transform:translateY(-1px);}border-radius:", ";cursor:pointer;", " &:hover{background-color:", ";border-color:", ";}", "[aria-haspopup='true'] &,", ":hover &,", ":focus &{visibility:visible;}" ], P.variables.borderRadius, (0,
189
+ P.pickVariant)("$active", {
190
+ false: (0, O.css)([ "visibility:hidden;" ])
191
+ }), P.variables.interactiveColorOverlayHover, P.variables.interactiveColorBorderHover, /* sc-sel */ A, /* sc-sel */ A, /* sc-sel */ A);
192
+ var _ = x().span.withConfig({
190
193
  displayName: "TabStyles__StyledIcon",
191
194
  componentId: "sc-1ry8mzj-3"
192
- })([ "grid-area:icon;", "" ], (0, s.pickVariant)("$iconPosition", {
193
- above: (0, u.css)([ "display:flex;justify-content:center;" ]),
194
- left: (0, u.css)([ "> svg{transform:translateY(-1px);}" ])
195
+ })([ "grid-area:icon;", "" ], (0, P.pickVariant)("$iconPosition", {
196
+ above: (0, O.css)([ "display:flex;justify-content:center;" ]),
197
+ left: (0, O.css)([ "> svg{transform:translateY(-1px);}" ])
195
198
  }));
196
- var D = c().div.withConfig({
199
+ var R = x().div.withConfig({
197
200
  displayName: "TabStyles__StyledLabel",
198
201
  componentId: "sc-1ry8mzj-4"
199
202
  })([ "grid-area:label;min-width:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;", "" ], (function(e) {
200
203
  var t = e.$iconPosition;
201
- return t === "above" && (0, u.css)([ "text-align:center;" ]);
204
+ return t === "above" && (0, O.css)([ "text-align:center;" ]);
202
205
  }));
203
- var _ = c().span.withConfig({
206
+ var q = x().span.withConfig({
204
207
  displayName: "TabStyles__StyledCount",
205
208
  componentId: "sc-1ry8mzj-5"
206
- })([ "background:", ";border-radius:18px;color:", ";display:inline-block;font-size:", ";line-height:10px;margin-inline-start:0.3em;padding:0.4em 0.6em;&[disabled]{color:", ";}" ], s.variables.neutral100, s.variables.contentColorDefault, s.variables.fontSizeSmall, s.variables.contentColorDisabled);
207
- var R = c().div.withConfig({
209
+ })([ "background:", ";border-radius:18px;color:", ";display:inline-block;font-size:", ";line-height:10px;margin-inline-start:0.3em;padding:0.4em 0.6em;&[disabled]{color:", ";}" ], P.variables.neutral100, P.variables.contentColorDefault, P.variables.fontSizeSmall, P.variables.contentColorDisabled);
210
+ var W = x().div.withConfig({
208
211
  displayName: "TabStyles__StyledTooltipContent",
209
212
  componentId: "sc-1ry8mzj-6"
210
- })([ "padding:8px;font-size:", ";" ], s.variables.fontSizeSmall);
211
- // CONCATENATED MODULE: ./src/TabBar/TabBarContext.tsx
212
- var q = function e() {
213
- return undefined;
214
- };
215
- var W = (0, n.createContext)({
216
- isMenuOpen: false,
217
- onMenuOpen: q,
218
- onMenuClose: q,
219
- registerTab: q
220
- });
221
- W.displayName = "TabBar";
222
- /* harmony default export */ const X = W;
213
+ })([ "padding:8px;font-size:", ";" ], P.variables.fontSizeSmall);
223
214
  // CONCATENATED MODULE: ./src/utils/getCountValue.ts
224
215
  // A utility for max count
225
- var N = function e(t, n) {
216
+ var X = function e(t, n) {
226
217
  if (t > n) {
227
218
  return "".concat(n, "+");
228
219
  }
@@ -235,7 +226,7 @@
235
226
  * @param ref - The React callback or object ref. Can be `null` or `undefined`.
236
227
  * @param current - The new value of the ref.
237
228
  */
238
- function V(e, t) {
229
+ function N(e, t) {
239
230
  if (e) {
240
231
  if (typeof e === "function") {
241
232
  e(t);
@@ -248,8 +239,8 @@
248
239
  }
249
240
  }
250
241
  // CONCATENATED MODULE: ./src/TabBar/Tab.tsx
251
- function F() {
252
- return F = Object.assign ? Object.assign.bind() : function(e) {
242
+ function V() {
243
+ return V = Object.assign ? Object.assign.bind() : function(e) {
253
244
  for (var t = 1; t < arguments.length; t++) {
254
245
  var n = arguments[t];
255
246
  for (var r in n) {
@@ -257,29 +248,29 @@
257
248
  }
258
249
  }
259
250
  return e;
260
- }, F.apply(null, arguments);
251
+ }, V.apply(null, arguments);
261
252
  }
262
- function B(e, t) {
263
- return Y(e) || K(e, t) || U(e, t) || L();
253
+ function F(e, t) {
254
+ return K(e) || H(e, t) || L(e, t) || B();
264
255
  }
265
- function L() {
256
+ function B() {
266
257
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
267
258
  }
268
- function U(e, t) {
259
+ function L(e, t) {
269
260
  if (e) {
270
- if ("string" == typeof e) return H(e, t);
261
+ if ("string" == typeof e) return U(e, t);
271
262
  var n = {}.toString.call(e).slice(8, -1);
272
- return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? H(e, t) : void 0;
263
+ return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? U(e, t) : void 0;
273
264
  }
274
265
  }
275
- function H(e, t) {
266
+ function U(e, t) {
276
267
  (null == t || t > e.length) && (t = e.length);
277
268
  for (var n = 0, r = Array(t); n < t; n++) {
278
269
  r[n] = e[n];
279
270
  }
280
271
  return r;
281
272
  }
282
- function K(e, t) {
273
+ function H(e, t) {
283
274
  var n = null == e ? null : "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"];
284
275
  if (null != n) {
285
276
  var r, a, i, o, l = [], u = !0, c = !1;
@@ -301,12 +292,12 @@
301
292
  return l;
302
293
  }
303
294
  }
304
- function Y(e) {
295
+ function K(e) {
305
296
  if (Array.isArray(e)) return e;
306
297
  }
307
- function G(e, t) {
298
+ function Y(e, t) {
308
299
  if (null == e) return {};
309
- var n, r, a = J(e, t);
300
+ var n, r, a = G(e, t);
310
301
  if (Object.getOwnPropertySymbols) {
311
302
  var i = Object.getOwnPropertySymbols(e);
312
303
  for (r = 0; r < i.length; r++) {
@@ -315,7 +306,7 @@
315
306
  }
316
307
  return a;
317
308
  }
318
- function J(e, t) {
309
+ function G(e, t) {
319
310
  if (null == e) return {};
320
311
  var n = {};
321
312
  for (var r in e) {
@@ -326,7 +317,7 @@
326
317
  }
327
318
  return n;
328
319
  }
329
- var Q = {
320
+ var J = {
330
321
  ariaControls: i().string,
331
322
  count: i().number,
332
323
  disabled: i().bool,
@@ -352,49 +343,49 @@
352
343
  */
353
344
  index: i().number
354
345
  };
355
- var Z = {
346
+ var Q = {
356
347
  tension: 400
357
348
  };
358
- var ee = [ "offScreen", "escapeKey" ];
359
- var te = function e(t) {
360
- var a = t.ariaControls, i = t.count, o = t.disabled, l = t.elementRef, u = t.icon, c = t.label, s = t.maxCount, d = t.tabId, f = t.to, b = t.tooltip, m = t.menu, y = t.index, S = G(t, [ "ariaControls", "count", "disabled", "elementRef", "icon", "label", "maxCount", "tabId", "to", "tooltip", "menu", "index" ]);
349
+ var Z = [ "offScreen", "escapeKey" ];
350
+ var ee = function e(t) {
351
+ var a = t.ariaControls, i = t.count, o = t.disabled, l = t.elementRef, u = t.icon, s = t.label, f = t.maxCount, b = t.tabId, m = t.to, S = t.tooltip, w = t.menu, O = t.index, x = Y(t, [ "ariaControls", "count", "disabled", "elementRef", "icon", "label", "maxCount", "tabId", "to", "tooltip", "menu", "index" ]);
361
352
  // @docs-props-type TabPropsBase
362
- var x = (0, n.useState)(false), k = B(x, 2), I = k[0], P = k[1];
363
- var j = (0, n.useState)(null), T = B(j, 2), $ = T[0], q = T[1];
364
- var W = (0, n.useContext)(X), L = W.activeTabId, U = W.disabled, H = W.focusedTabId, K = W.iconPosition, Y = K === void 0 ? "above" : K, J = W.isMenuOpen, Q = W.layout, te = Q === void 0 ? "horizontal" : Q, ne = W.maxTabWidth, re = W.onClick, ae = W.onFocus, ie = W.onMenuOpen, oe = W.onMenuClose, le = W.registerTab;
365
- var ue = (0, n.useState)((0, O.createDOMID)("aria-id")), ce = B(ue, 1), se = ce[0];
366
- var de = (0, n.useState)((0, O.createDOMID)("menu-description")), fe = B(de, 1), ve = fe[0];
367
- var be = (0, n.useState)((0, O.createDOMID)("popover")), pe = B(be, 1), me = pe[0];
353
+ var k = (0, n.useState)(false), I = F(k, 2), P = I[0], j = I[1];
354
+ var T = (0, n.useState)(null), $ = F(T, 2), E = $[0], M = $[1];
355
+ var B = (0, n.useContext)(C), L = B.activeTabId, U = B.disabled, H = B.focusedTabId, K = B.iconPosition, G = K === void 0 ? "above" : K, J = B.isMenuOpen, ee = B.layout, te = ee === void 0 ? "horizontal" : ee, ne = B.maxTabWidth, re = B.onClick, ae = B.onFocus, ie = B.onMenuOpen, oe = B.onMenuClose, le = B.registerTab;
356
+ var ue = (0, n.useState)((0, h.createDOMID)("aria-id")), ce = F(ue, 1), se = ce[0];
357
+ var de = (0, n.useState)((0, h.createDOMID)("menu-description")), fe = F(de, 1), ve = fe[0];
358
+ var be = (0, n.useState)((0, h.createDOMID)("popover")), pe = F(be, 1), me = pe[0];
368
359
  var ge = (0, n.useMemo)((function() {
369
- return d || (0, O.createGUID)();
370
- }), [ d ]);
360
+ return b || (0, h.createGUID)();
361
+ }), [ b ]);
371
362
  var ye = U || o ? "disabled" : false;
372
- var he = c ? c.toString() : "";
363
+ var he = s ? s.toString() : "";
373
364
  var Se = i === 0 || i ? "".concat(i === null || i === void 0 ? void 0 : i.toString()) : "";
374
365
  var we = L === ge;
375
366
  // title is used for CSS styling in TabStyles. labelValue and countValue needs to be included in the title.
376
367
  var Ce = (0, n.useMemo)((function() {
377
368
  // SUI-6877: if the label isn't a string, don't attempt to do this since it'll just be wrong
378
- return c && typeof c === "string" ? "".concat(he, "    ").concat(Se) : "";
379
- }), [ Se, c, he ]);
369
+ return s && typeof s === "string" ? "".concat(he, "    ").concat(Se) : "";
370
+ }), [ Se, s, he ]);
380
371
  var Oe = (0, n.useCallback)((function() {
381
- $ === null || $ === void 0 ? void 0 : $.focus();
382
- }), [ $ ]);
372
+ E === null || E === void 0 ? void 0 : E.focus();
373
+ }), [ E ]);
383
374
  var xe = (0, n.useCallback)((function(e) {
384
- q(e);
385
- V(l, e);
375
+ M(e);
376
+ N(l, e);
386
377
  // Register with index, assert index is defined as it's injected by TabBar
387
378
  le({
388
379
  tabId: ge,
389
380
  element: e,
390
- index: y
381
+ index: O
391
382
  });
392
- }), [ l, le, ge, y ]);
383
+ }), [ l, le, ge, O ]);
393
384
  var ke = (0, n.useCallback)((function() {
394
- P(true);
385
+ j(true);
395
386
  }), []);
396
387
  var Ie = (0, n.useCallback)((function() {
397
- P(false);
388
+ j(false);
398
389
  }), []);
399
390
  var Pe = (0, n.useCallback)((function(e) {
400
391
  // preserve the previous behaviour from 2ad8e7eaf47 to avoid firing unnecessary onChange events
@@ -404,10 +395,10 @@
404
395
  tabId: ge
405
396
  });
406
397
  }
407
- if (f == null || f != null && we) {
398
+ if (m == null || m != null && we) {
408
399
  e.preventDefault();
409
400
  }
410
- }), [ we, re, ge, f ]);
401
+ }), [ we, re, ge, m ]);
411
402
  var je = (0, n.useCallback)((function(e) {
412
403
  ke();
413
404
  ae === null || ae === void 0 ? void 0 : ae(e, {
@@ -425,51 +416,51 @@
425
416
  e.stopPropagation();
426
417
  ie(ge);
427
418
  }), [ ie, ge ]);
428
- var Me = H === ge && J && !!m;
429
- var Ae = r().createElement(A, {
419
+ var Me = H === ge && J && !!w;
420
+ var Ae = r().createElement(D, {
430
421
  $active: we,
431
422
  "data-test": "menu-toggle",
432
423
  tabIndex: -1,
433
424
  onFocus: Te
434
- }, r().createElement(p(), null));
425
+ }, r().createElement(d(), null));
435
426
  var ze = function e(t) {
436
427
 
437
- return r().createElement(r().Fragment, null, t, r().createElement(g(), {
428
+ return r().createElement(r().Fragment, null, t, r().createElement(v(), {
438
429
  toggle: Ae,
439
430
  align: "center",
440
431
  onRequestOpen: Ee,
441
432
  onRequestClose: oe,
442
433
  open: Me
443
- }, m));
434
+ }, w));
444
435
  };
445
- var De = r().createElement(D, {
436
+ var De = r().createElement(R, {
446
437
  "data-test": "label",
447
- $iconPosition: Y
448
- }, c, !m && (i === 0 || i) && r().createElement(r().Fragment, null, r().createElement(w(), null, " "), r().createElement(_, {
438
+ $iconPosition: G
439
+ }, s, !w && (i === 0 || i) && r().createElement(r().Fragment, null, r().createElement(g(), null, " "), r().createElement(q, {
449
440
  "data-test": "count",
450
441
  disabled: !!ye
451
- }, s ? N(i, s) : i)), !!m && r().createElement(w(), {
442
+ }, f ? X(i, f) : i)), !!w && r().createElement(g(), {
452
443
  "aria-hidden": true,
453
444
  id: ve
454
- }, (0, C._)("Press Shift + F10 to open the tab’s menu")));
445
+ }, (0, y._)("Press Shift + F10 to open the tab’s menu")));
455
446
 
456
447
  // TODO: Fix the ts error: https://splunk.atlassian.net/browse/SUI-5569
457
448
  // eslint-disable-next-line
458
449
  // @ts-ignore-next-line
459
- return r().createElement(E, F({
450
+ return r().createElement(A, V({
460
451
  $hasIcon: !!u,
461
- $hasMenu: !!m,
462
- $iconPosition: Y,
452
+ $hasMenu: !!w,
453
+ $iconPosition: G,
463
454
  $layout: te,
464
455
  $maxTabWidth: ne,
465
456
  "aria-controls": a,
466
457
  "aria-selected": we,
467
458
  "aria-labelledby": se,
468
- "aria-describedby": m ? ve : undefined,
459
+ "aria-describedby": w ? ve : undefined,
469
460
  "aria-haspopup": Me,
470
461
  "data-test": "tab",
471
462
  "data-test-tab-id": ge,
472
- "data-test-popover-id": b ? me : undefined,
463
+ "data-test-popover-id": S ? me : undefined,
473
464
  "data-title": Ce,
474
465
  "data-test-disabled": ye || undefined,
475
466
  disabled: ye,
@@ -481,29 +472,38 @@
481
472
  onMouseLeave: Ie,
482
473
  role: "tab",
483
474
  tabIndex: we ? undefined : -1,
484
- to: f,
475
+ to: m,
485
476
  id: ge
486
- }, v()(S, "elementRef")), u && r().createElement(z, {
487
- $iconPosition: Y
488
- }, u), m && te === "horizontal" ? ze(De) : De, r().createElement(M, {
477
+ }, c()(x, "elementRef")), u && r().createElement(_, {
478
+ $iconPosition: G
479
+ }, u), w && te === "horizontal" ? ze(De) : De, r().createElement(z, {
489
480
  $layout: te
490
- }), !o && b && r().createElement(h(), {
481
+ }), !o && S && r().createElement(p(), {
491
482
  role: "tooltip",
492
- anchor: $,
493
- animationConfig: Z,
494
- closeReasons: ee,
483
+ anchor: E,
484
+ animationConfig: Q,
485
+ closeReasons: Z,
495
486
  defaultPlacement: te === "vertical" ? "right" : "above",
496
487
  id: me,
497
- open: !!$ && I,
488
+ open: !!E && P,
498
489
  align: "center"
499
- }, r().createElement(R, null, b)), b && r().createElement(w(), {
490
+ }, r().createElement(W, null, S)), S && r().createElement(g(), {
500
491
  "aria-hidden": "true",
501
492
  id: se
502
- }, b));
493
+ }, S));
503
494
  };
504
- te.propTypes = Q;
505
- te.as = "Tab";
506
- /* harmony default export */ const ne = te;
495
+ ee.propTypes = J;
496
+ ee.as = "Tab";
497
+ /* harmony default export */ const te = ee;
498
+ // CONCATENATED MODULE: ./src/TabBar/TabBarStyles.ts
499
+ var ne = x().div.withConfig({
500
+ displayName: "TabBarStyles__Styled",
501
+ componentId: "sc-1t85fen-0"
502
+ })([ "", " position:relative;&::before{content:'';display:block;position:absolute;left:0;top:0;right:0;bottom:0;border:0 solid ", ";}", ";" ], P.mixins.reset("flex"), P.variables.neutral300, (0,
503
+ P.pickVariant)("$layout", {
504
+ horizontal: (0, O.css)([ "column-gap:", ";&::before{border-bottom-width:1px;}" ], P.variables.spacingXLarge),
505
+ vertical: (0, O.css)([ "display:inline-flex;flex-direction:column;row-gap:", ";&::before{border-right-width:1px;}" ], P.variables.spacingXLarge)
506
+ }));
507
507
  // CONCATENATED MODULE: ./src/utils/navigateList.ts
508
508
  // A utility for keyboard navigation of lists
509
509
  function re(e, t) {
@@ -686,14 +686,14 @@
686
686
  };
687
687
  function Oe(e) {
688
688
  var t;
689
- var a = e.activeTabId, i = e.autoActivate, o = e.children, u = e.disabled, c = u === void 0 ? false : u, s = e.elementRef, f = e.iconPosition, v = f === void 0 ? "left" : f, b = e.layout, p = b === void 0 ? "horizontal" : b, m = e.maxTabWidth, g = e.onChange, y = ue(e, [ "activeTabId", "autoActivate", "children", "disabled", "elementRef", "iconPosition", "layout", "maxTabWidth", "onChange" ]);
689
+ var a = e.activeTabId, i = e.autoActivate, o = e.children, u = e.disabled, c = u === void 0 ? false : u, s = e.elementRef, d = e.iconPosition, f = d === void 0 ? "left" : d, v = e.layout, b = v === void 0 ? "horizontal" : v, p = e.maxTabWidth, m = e.onChange, g = ue(e, [ "activeTabId", "autoActivate", "children", "disabled", "elementRef", "iconPosition", "layout", "maxTabWidth", "onChange" ]);
690
690
  // @docs-props-type TabBarPropsBase
691
691
  // eslint-disable-next-line prefer-rest-params
692
- var h = (t = arguments[0]) === null || t === void 0 ? void 0 : t.iconPosition;
692
+ var y = (t = arguments[0]) === null || t === void 0 ? void 0 : t.iconPosition;
693
693
  (0, n.useEffect)((function() {
694
694
  if (false) {}
695
- }), [ h ]);
696
- var S = (0, n.useState)(false), w = pe(S, 2), C = w[0], O = w[1];
695
+ }), [ y ]);
696
+ var h = (0, n.useState)(false), S = pe(h, 2), w = S[0], O = S[1];
697
697
  var x = (0, n.useState)(a), k = pe(x, 2), I = k[0], P = k[1];
698
698
  // need to keep track of the focused tab id in a ref to avoid re-generating registerTab
699
699
  // because every time `registerTab` changes, it calls `ref` on all tabs
@@ -707,8 +707,8 @@
707
707
  if (!E.current) {
708
708
  E.current = new Map;
709
709
  }
710
- var M = p === "vertical" ? "ArrowDown" : "ArrowRight";
711
- var A = p === "vertical" ? "ArrowUp" : "ArrowLeft";
710
+ var M = b === "vertical" ? "ArrowDown" : "ArrowRight";
711
+ var A = b === "vertical" ? "ArrowUp" : "ArrowLeft";
712
712
  // focus the tab belonging to the given tabId
713
713
  var z = (0, n.useCallback)((function(e) {
714
714
  var t;
@@ -748,7 +748,7 @@
748
748
  }), []);
749
749
  var _ = (0, n.useCallback)((function(e) {
750
750
  $.current = e;
751
- V(s, e);
751
+ N(s, e);
752
752
  }), [ s, $ ]);
753
753
  // callback to handle focus event sent from a Tab
754
754
  var R = (0, n.useCallback)((function(e, t) {
@@ -759,18 +759,18 @@
759
759
  }
760
760
  z(n);
761
761
  if (i && a !== n) {
762
- g === null || g === void 0 ? void 0 : g(e, {
762
+ m === null || m === void 0 ? void 0 : m(e, {
763
763
  selectedTabId: n
764
764
  });
765
765
  }
766
- }), [ a, i, I, z, g ]);
766
+ }), [ a, i, I, z, m ]);
767
767
  var q = (0, n.useCallback)((function(e, t) {
768
768
  var n = t.tabId;
769
769
  z(n);
770
- g === null || g === void 0 ? void 0 : g(e, {
770
+ m === null || m === void 0 ? void 0 : m(e, {
771
771
  selectedTabId: n
772
772
  });
773
- }), [ z, g ]);
773
+ }), [ z, m ]);
774
774
  var W = (0, n.useCallback)((function(e) {
775
775
  // if command key on Mac was pressed ignore
776
776
  if (e.nativeEvent.metaKey) {
@@ -794,7 +794,7 @@
794
794
  o = ae(r, a, 0);
795
795
  } else if (i === "End") {
796
796
  o = ie(r, a, r.length - 1);
797
- } else if (p === "horizontal" && e.shiftKey && i === "F10") {
797
+ } else if (b === "horizontal" && e.shiftKey && i === "F10") {
798
798
  O((function(e) {
799
799
  if (e) {
800
800
  var t = r[a];
@@ -802,42 +802,42 @@
802
802
  }
803
803
  return !e;
804
804
  }));
805
- } else if (p === "horizontal" && i === "ArrowDown") {
805
+ } else if (b === "horizontal" && i === "ArrowDown") {
806
806
  O(true);
807
807
  }
808
808
  if (o) {
809
809
  z(o.id);
810
810
  e.preventDefault();
811
811
  }
812
- }), [ I, z, p, M, A ]);
813
- var N = (0, n.useCallback)((function(e) {
812
+ }), [ I, z, b, M, A ]);
813
+ var X = (0, n.useCallback)((function(e) {
814
814
  z(e);
815
815
  // in case they clicked on a menu of tab they were not even focused on yet
816
816
  O(true);
817
817
  }), [ z ]);
818
- var F = (0, n.useCallback)((function(e) {
818
+ var V = (0, n.useCallback)((function(e) {
819
819
  var t = e.event;
820
820
  // prevent content clicks/enter key from changing the active tab
821
821
  t === null || t === void 0 ? void 0 : t.stopPropagation();
822
822
  O(false);
823
823
  }), []);
824
- var B = (0, n.useMemo)((function() {
824
+ var F = (0, n.useMemo)((function() {
825
825
  return {
826
826
  disabled: c,
827
827
  focusedTabId: I,
828
- iconPosition: v,
829
- layout: p,
830
- maxTabWidth: m,
828
+ iconPosition: f,
829
+ layout: b,
830
+ maxTabWidth: p,
831
831
  onClick: q,
832
832
  onFocus: R,
833
- onMenuOpen: N,
834
- onMenuClose: F,
835
- isMenuOpen: C,
833
+ onMenuOpen: X,
834
+ onMenuClose: V,
835
+ isMenuOpen: w,
836
836
  registerTab: D,
837
837
  activeTabId: a
838
838
  };
839
- }), [ c, I, v, p, q, R, m, N, F, C, D, a ]);
840
- var L = (0, n.useMemo)((function() {
839
+ }), [ c, I, f, b, q, R, p, X, V, w, D, a ]);
840
+ var B = (0, n.useMemo)((function() {
841
841
  return n.Children.toArray(o).filter(n.isValidElement).map((function(e, t) {
842
842
  if (e.type.as === "Tab") {
843
843
 
@@ -848,10 +848,10 @@
848
848
  return e;
849
849
  }));
850
850
  }), [ o ]);
851
- var U = l()(L);
851
+ var L = l()(B);
852
852
  (0, n.useEffect)((function() {
853
853
  // if the focused tab is removed, focus the next tab
854
- if (U !== L) {
854
+ if (L !== B) {
855
855
  var e;
856
856
  var t = Ce(E.current);
857
857
  if (t.find((function(e) {
@@ -866,22 +866,22 @@
866
866
  z(r.id);
867
867
  }
868
868
  }
869
- }), [ L, z, U ]);
869
+ }), [ B, z, L ]);
870
870
 
871
- return r().createElement(d, le({
872
- "data-tab-layout": p,
871
+ return r().createElement(ne, le({
872
+ "data-tab-layout": b,
873
873
  "data-test-active-tab-id": a,
874
874
  "data-test": "tab-bar",
875
875
  role: "tablist",
876
876
  ref: _,
877
- $layout: p,
877
+ $layout: b,
878
878
  onKeyDown: W
879
- }, y), r().createElement(X.Provider, {
880
- value: B
881
- }, L));
879
+ }, g), r().createElement(C.Provider, {
880
+ value: F
881
+ }, B));
882
882
  }
883
883
  Oe.propTypes = we;
884
- Oe.Tab = ne;
884
+ Oe.Tab = te;
885
885
  /* harmony default export */ const xe = Oe;
886
886
  // CONCATENATED MODULE: ./src/TabBar/index.ts
887
887
  module.exports = t;