@splunk/react-ui 5.9.0 → 5.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ButtonSimple.js +1 -1
- package/CHANGELOG.md +16 -0
- package/Code.js +177 -170
- package/ColumnLayout.js +69 -45
- package/Dropdown.js +74 -68
- package/LICENSE +1 -1
- package/MIGRATION.md +40 -0
- package/Markdown.js +331 -306
- package/Menu.js +2 -2
- package/Multiselect.js +59 -59
- package/Number.js +236 -242
- package/SimpleTable.d.ts +2 -0
- package/SimpleTable.js +433 -0
- package/SlidingPanels.js +224 -153
- package/SpotLight.d.ts +2 -0
- package/SpotLight.js +687 -0
- package/Table.js +1230 -1233
- package/docker-compose.yml +12 -18
- package/docs-llm/Avatar.md +2 -2
- package/docs-llm/Collapsible Panel.md +11 -57
- package/docs-llm/Column Layout.md +2 -2
- package/docs-llm/Divider.md +33 -0
- package/docs-llm/Message Bar.md +4 -1
- package/docs-llm/Multiselect.md +180 -159
- package/docs-llm/Table.md +7 -7
- package/docs-llm/Typography.md +1 -1
- package/docs-llm/llms.txt +1 -1
- package/package.json +9 -11
- package/test-runner-jest.config.js +4 -53
- package/types/src/CollapsiblePanel/docs/examples/Actions.d.ts +1 -1
- package/types/src/ColumnLayout/ColumnLayout.d.ts +2 -2
- package/types/src/Divider/docs/examples/VerticalWithAlignItems.d.ts +8 -0
- package/types/src/Markdown/Markdown.d.ts +14 -2
- package/types/src/Markdown/renderers/MarkdownTable.d.ts +2 -22
- package/types/src/Markdown/renderers/MarkdownWrapper.d.ts +11 -0
- package/types/src/Markdown/renderers/index.d.ts +3 -1
- package/types/src/Multiselect/Compact.d.ts +4 -0
- package/types/src/Multiselect/Multiselect.d.ts +4 -0
- package/types/src/Multiselect/docs/examples/LoadMoreWithSelectAll.d.ts +9 -0
- package/types/src/SelectBase/SelectBase.d.ts +4 -0
- package/types/src/SimpleTable/Body.d.ts +25 -0
- package/types/src/SimpleTable/Cell.d.ts +20 -0
- package/types/src/SimpleTable/Head.d.ts +20 -0
- package/types/src/SimpleTable/HeadCell.d.ts +20 -0
- package/types/src/SimpleTable/Row.d.ts +20 -0
- package/types/src/SimpleTable/SimpleTable.d.ts +37 -0
- package/types/src/SimpleTable/index.d.ts +3 -0
- package/types/src/SpotLight/SpotLight.d.ts +88 -0
- package/types/src/SpotLight/index.d.ts +2 -0
- package/types/src/Table/Row.d.ts +1 -1
- package/types/src/Table/Table.d.ts +1 -1
- package/types/src/Typography/Typography.d.ts +1 -1
- package/types/src/Multiselect/docs/examples/LoadMoreOnScrollBottom.d.ts +0 -7
package/ColumnLayout.js
CHANGED
|
@@ -62,8 +62,8 @@
|
|
|
62
62
|
// EXPORTS
|
|
63
63
|
e.d(r, {
|
|
64
64
|
Column: () => /* reexport */ m,
|
|
65
|
-
Row: () => /* reexport */
|
|
66
|
-
default: () => /* reexport */
|
|
65
|
+
Row: () => /* reexport */ E,
|
|
66
|
+
default: () => /* reexport */ z
|
|
67
67
|
});
|
|
68
68
|
// CONCATENATED MODULE: external "react"
|
|
69
69
|
const t = require("react");
|
|
@@ -72,12 +72,12 @@
|
|
|
72
72
|
const a = require("prop-types");
|
|
73
73
|
var i = e.n(a);
|
|
74
74
|
// CONCATENATED MODULE: external "styled-components"
|
|
75
|
-
const
|
|
76
|
-
var
|
|
75
|
+
const o = require("styled-components");
|
|
76
|
+
var l = e.n(o);
|
|
77
77
|
// CONCATENATED MODULE: external "@splunk/themes"
|
|
78
78
|
const c = require("@splunk/themes");
|
|
79
79
|
// CONCATENATED MODULE: ./src/ColumnLayout/ColumnStyles.ts
|
|
80
|
-
var u =
|
|
80
|
+
var u = l().div.withConfig({
|
|
81
81
|
displayName: "ColumnStyles__Styled",
|
|
82
82
|
componentId: "sc-1pchz98-0"
|
|
83
83
|
})([ "", " flex:", ";", "" ], c.mixins.reset("block"), (function(e) {
|
|
@@ -86,10 +86,10 @@
|
|
|
86
86
|
}), (function(e) {
|
|
87
87
|
var r = e.$gutter, t = e.$span;
|
|
88
88
|
if (r === 0) {
|
|
89
|
-
return (0,
|
|
89
|
+
return (0, o.css)([ "width:", "%;" ], 100 / 12 * t);
|
|
90
90
|
}
|
|
91
91
|
var n = r !== undefined ? "".concat(r, "px") : c.variables.spacingXLarge;
|
|
92
|
-
return (0,
|
|
92
|
+
return (0, o.css)([ "width:calc( (100% - 11 * ", ") * ", " + (", " * ", ") );" ], n, t / 12, n, t - 1);
|
|
93
93
|
}));
|
|
94
94
|
// CONCATENATED MODULE: ./src/ColumnLayout/Column.tsx
|
|
95
95
|
function s() {
|
|
@@ -133,15 +133,15 @@
|
|
|
133
133
|
span: i().number
|
|
134
134
|
};
|
|
135
135
|
function p(e) {
|
|
136
|
-
var r = e.children, t = e.elementRef, a = e.gutter, i = e.span,
|
|
136
|
+
var r = e.children, t = e.elementRef, a = e.gutter, i = e.span, o = i === void 0 ? 1 : i, l = d(e, [ "children", "elementRef", "gutter", "span" ]);
|
|
137
137
|
// @docs-props-type ColumnPropsBase
|
|
138
138
|
|
|
139
139
|
return n().createElement(u, s({
|
|
140
140
|
"data-test": "column",
|
|
141
141
|
ref: t,
|
|
142
142
|
$gutter: a,
|
|
143
|
-
$span:
|
|
144
|
-
},
|
|
143
|
+
$span: o
|
|
144
|
+
}, l), r);
|
|
145
145
|
}
|
|
146
146
|
p.propTypes = v;
|
|
147
147
|
/* harmony default export */ const m = p;
|
|
@@ -149,34 +149,34 @@
|
|
|
149
149
|
const g = require("@splunk/react-ui/Divider");
|
|
150
150
|
var y = e.n(g);
|
|
151
151
|
// CONCATENATED MODULE: ./src/ColumnLayout/ColumnLayoutStyles.ts
|
|
152
|
-
var b =
|
|
152
|
+
var b = l().div.withConfig({
|
|
153
153
|
displayName: "ColumnLayoutStyles__Styled",
|
|
154
154
|
componentId: "sc-3eatxz-0"
|
|
155
155
|
})([ "", ";flex-direction:column;", ";" ], c.mixins.reset("flex"), (function(e) {
|
|
156
156
|
var r = e.$hasDivider, t = e.$gutter;
|
|
157
157
|
var n = t !== undefined ? "".concat(t, "px") : c.variables.spacingXLarge;
|
|
158
158
|
if (r) {
|
|
159
|
-
return (0,
|
|
159
|
+
return (0, o.css)([ "gap:calc(", " / 2);" ], n);
|
|
160
160
|
}
|
|
161
|
-
return (0,
|
|
161
|
+
return (0, o.css)([ "gap:", ";" ], n);
|
|
162
162
|
}));
|
|
163
|
-
var h =
|
|
163
|
+
var h = l()(y()).withConfig({
|
|
164
164
|
displayName: "ColumnLayoutStyles__StyledDivider",
|
|
165
165
|
componentId: "sc-3eatxz-1"
|
|
166
166
|
})([ "border-color:", ";height:0;" ], c.variables.borderColorWeak);
|
|
167
167
|
// CONCATENATED MODULE: ./src/ColumnLayout/RowStyles.ts
|
|
168
|
-
var O =
|
|
168
|
+
var O = l().div.withConfig({
|
|
169
169
|
displayName: "RowStyles__Styled",
|
|
170
170
|
componentId: "sc-121ntds-0"
|
|
171
171
|
})([ "", ";flex-flow:row nowrap;", ";&[data-align-items='start']{align-items:flex-start;}&[data-align-items='end']{align-items:flex-end;}&[data-align-items='center']{align-items:center;}&[data-align-items='stretch']{align-items:stretch;}" ], c.mixins.reset("flex"), (function(e) {
|
|
172
172
|
var r = e.$hasDivider, t = e.$gutter;
|
|
173
173
|
var n = t !== undefined ? "".concat(t, "px") : c.variables.spacingXLarge;
|
|
174
174
|
if (r) {
|
|
175
|
-
return (0,
|
|
175
|
+
return (0, o.css)([ "gap:calc(", " / 2);" ], n);
|
|
176
176
|
}
|
|
177
|
-
return (0,
|
|
177
|
+
return (0, o.css)([ "gap:", ";" ], n);
|
|
178
178
|
}));
|
|
179
|
-
var w =
|
|
179
|
+
var w = l()(y()).withConfig({
|
|
180
180
|
displayName: "RowStyles__StyledDivider",
|
|
181
181
|
componentId: "sc-121ntds-1"
|
|
182
182
|
})([ "border-color:", ";flex:0 0 1;" ], c.variables.borderColorWeak);
|
|
@@ -224,7 +224,7 @@
|
|
|
224
224
|
gutter: i().number
|
|
225
225
|
};
|
|
226
226
|
function P(e) {
|
|
227
|
-
var r = e.alignItems, a = r === void 0 ? "stretch" : r, i = e.children,
|
|
227
|
+
var r = e.alignItems, a = r === void 0 ? "stretch" : r, i = e.children, o = e.divider, l = e.elementRef, c = e.gutter, u = S(e, [ "alignItems", "children", "divider", "elementRef", "gutter" ]);
|
|
228
228
|
// @docs-props-type RowPropsBase
|
|
229
229
|
if (false) {
|
|
230
230
|
var s;
|
|
@@ -237,7 +237,7 @@
|
|
|
237
237
|
}), [ c ]);
|
|
238
238
|
var f = (0, t.useCallback)((function(e, r, t, a) {
|
|
239
239
|
e.push(r);
|
|
240
|
-
if (
|
|
240
|
+
if (o && t < a.length - 1) {
|
|
241
241
|
e.push( n().createElement(w, {
|
|
242
242
|
orientation: "vertical",
|
|
243
243
|
decorative: true,
|
|
@@ -245,22 +245,42 @@
|
|
|
245
245
|
}));
|
|
246
246
|
}
|
|
247
247
|
return e;
|
|
248
|
-
}), [
|
|
248
|
+
}), [ o ]);
|
|
249
249
|
var v = t.Children.toArray(i).filter(t.isValidElement).map(d).reduce(f, []);
|
|
250
250
|
|
|
251
251
|
return n().createElement(O, x({
|
|
252
252
|
"data-align-items": a,
|
|
253
253
|
"data-test": "row",
|
|
254
|
-
$hasDivider:
|
|
254
|
+
$hasDivider: o,
|
|
255
255
|
$gutter: c,
|
|
256
|
-
ref:
|
|
256
|
+
ref: l
|
|
257
257
|
}, u), v);
|
|
258
258
|
}
|
|
259
259
|
P.propTypes = C;
|
|
260
|
-
/* harmony default export */ const
|
|
260
|
+
/* harmony default export */ const E = P;
|
|
261
|
+
// CONCATENATED MODULE: ./src/utils/useDeprecate.tsx
|
|
262
|
+
var _ = "is deprecated and will be removed in the next major version.";
|
|
263
|
+
var R = function e(r) {
|
|
264
|
+
var n = r.additionalMessage, a = n === void 0 ? "" : n, i = r.componentName;
|
|
265
|
+
(0, t.useEffect)((function() {
|
|
266
|
+
if (false) {}
|
|
267
|
+
}), [ a, i ]);
|
|
268
|
+
};
|
|
269
|
+
var $ = function e(r) {
|
|
270
|
+
var t = r.additionalMessage, n = t === void 0 ? "" : t, a = r.componentName, i = r.propName, o = r.propValue;
|
|
271
|
+
useEffect((function() {
|
|
272
|
+
if (false) {}
|
|
273
|
+
}), [ n, a, i, o ]);
|
|
274
|
+
};
|
|
275
|
+
var k = function e(r) {
|
|
276
|
+
var t = r.additionalMessage, n = t === void 0 ? "" : t, a = r.componentName, i = r.deprecatedPropValue, o = r.propName, l = r.propValue;
|
|
277
|
+
useEffect((function() {
|
|
278
|
+
if (false) {}
|
|
279
|
+
}), [ n, a, o, l, i ]);
|
|
280
|
+
};
|
|
261
281
|
// CONCATENATED MODULE: ./src/ColumnLayout/ColumnLayout.tsx
|
|
262
|
-
function
|
|
263
|
-
return
|
|
282
|
+
function I() {
|
|
283
|
+
return I = Object.assign ? Object.assign.bind() : function(e) {
|
|
264
284
|
for (var r = 1; r < arguments.length; r++) {
|
|
265
285
|
var t = arguments[r];
|
|
266
286
|
for (var n in t) {
|
|
@@ -268,11 +288,11 @@
|
|
|
268
288
|
}
|
|
269
289
|
}
|
|
270
290
|
return e;
|
|
271
|
-
},
|
|
291
|
+
}, I.apply(null, arguments);
|
|
272
292
|
}
|
|
273
|
-
function
|
|
293
|
+
function N(e, r) {
|
|
274
294
|
if (null == e) return {};
|
|
275
|
-
var t, n, a =
|
|
295
|
+
var t, n, a = T(e, r);
|
|
276
296
|
if (Object.getOwnPropertySymbols) {
|
|
277
297
|
var i = Object.getOwnPropertySymbols(e);
|
|
278
298
|
for (n = 0; n < i.length; n++) {
|
|
@@ -281,7 +301,7 @@
|
|
|
281
301
|
}
|
|
282
302
|
return a;
|
|
283
303
|
}
|
|
284
|
-
function
|
|
304
|
+
function T(e, r) {
|
|
285
305
|
if (null == e) return {};
|
|
286
306
|
var t = {};
|
|
287
307
|
for (var n in e) {
|
|
@@ -292,25 +312,29 @@
|
|
|
292
312
|
}
|
|
293
313
|
return t;
|
|
294
314
|
}
|
|
295
|
-
var
|
|
315
|
+
var D = {
|
|
296
316
|
children: i().node,
|
|
297
317
|
divider: i().oneOf([ "none", "vertical", "horizontal" ]),
|
|
298
318
|
elementRef: i().oneOfType([ i().func, i().object ]),
|
|
299
319
|
gutter: i().number
|
|
300
320
|
};
|
|
301
321
|
/**
|
|
302
|
-
*
|
|
303
|
-
*
|
|
304
|
-
*/ function
|
|
305
|
-
var r = e.children, a = e.divider, i = a === void 0 ? "none" : a,
|
|
322
|
+
* @deprecated
|
|
323
|
+
* ColumnLayout has been deprecated and will be removed in a future major version. Use CSS `grid` or `flex` instead.
|
|
324
|
+
*/ function M(e) {
|
|
325
|
+
var r = e.children, a = e.divider, i = a === void 0 ? "none" : a, o = e.elementRef, l = e.gutter, c = N(e, [ "children", "divider", "elementRef", "gutter" ]);
|
|
306
326
|
// @docs-props-type ColumnLayoutPropsBase
|
|
307
|
-
|
|
327
|
+
R({
|
|
328
|
+
additionalMessage: "Use CSS grid or flexbox instead.",
|
|
329
|
+
componentName: "ColumnLayout"
|
|
330
|
+
});
|
|
331
|
+
var u = (0, t.useCallback)((function(e) {
|
|
308
332
|
|
|
309
333
|
return (0, t.cloneElement)(e, {
|
|
310
334
|
divider: i === "vertical",
|
|
311
|
-
gutter:
|
|
335
|
+
gutter: l
|
|
312
336
|
});
|
|
313
|
-
}), [ i,
|
|
337
|
+
}), [ i, l ]);
|
|
314
338
|
var s = (0, t.useCallback)((function(e, r, t, a) {
|
|
315
339
|
e.push(r);
|
|
316
340
|
if (i === "horizontal" && t < a.length - 1) {
|
|
@@ -323,17 +347,17 @@
|
|
|
323
347
|
}), [ i ]);
|
|
324
348
|
var d = t.Children.toArray(r).filter(t.isValidElement).map(u).reduce(s, []);
|
|
325
349
|
|
|
326
|
-
return n().createElement(b,
|
|
350
|
+
return n().createElement(b, I({
|
|
327
351
|
"data-test": "column-layout",
|
|
328
|
-
$gutter:
|
|
352
|
+
$gutter: l,
|
|
329
353
|
$hasDivider: i === "horizontal",
|
|
330
|
-
ref:
|
|
354
|
+
ref: o
|
|
331
355
|
}, c), d);
|
|
332
356
|
}
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
/* harmony default export */ const
|
|
357
|
+
M.propTypes = D;
|
|
358
|
+
M.Row = E;
|
|
359
|
+
M.Column = m;
|
|
360
|
+
/* harmony default export */ const z = M;
|
|
337
361
|
// CONCATENATED MODULE: ./src/ColumnLayout/index.ts
|
|
338
362
|
module.exports = r;
|
|
339
363
|
/******/})();
|
package/Dropdown.js
CHANGED
|
@@ -9,26 +9,26 @@
|
|
|
9
9
|
/******/ (() => {
|
|
10
10
|
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
|
11
11
|
/******/ e.n = o => {
|
|
12
|
-
/******/ var
|
|
12
|
+
/******/ var r = o && o.__esModule ?
|
|
13
13
|
/******/ () => o["default"]
|
|
14
14
|
/******/ : () => o
|
|
15
15
|
/******/;
|
|
16
|
-
e.d(
|
|
17
|
-
a:
|
|
16
|
+
e.d(r, {
|
|
17
|
+
a: r
|
|
18
18
|
});
|
|
19
|
-
/******/ return
|
|
19
|
+
/******/ return r;
|
|
20
20
|
/******/ };
|
|
21
21
|
/******/ })();
|
|
22
22
|
/******/
|
|
23
23
|
/******/ /* webpack/runtime/define property getters */
|
|
24
24
|
/******/ (() => {
|
|
25
25
|
/******/ // define getter functions for harmony exports
|
|
26
|
-
/******/ e.d = (o,
|
|
27
|
-
/******/ for (var
|
|
28
|
-
/******/ if (e.o(
|
|
29
|
-
/******/ Object.defineProperty(o,
|
|
26
|
+
/******/ e.d = (o, r) => {
|
|
27
|
+
/******/ for (var n in r) {
|
|
28
|
+
/******/ if (e.o(r, n) && !e.o(o, n)) {
|
|
29
|
+
/******/ Object.defineProperty(o, n, {
|
|
30
30
|
enumerable: true,
|
|
31
|
-
get: n
|
|
31
|
+
get: r[n]
|
|
32
32
|
});
|
|
33
33
|
/******/ }
|
|
34
34
|
/******/ }
|
|
@@ -64,8 +64,8 @@
|
|
|
64
64
|
default: () => /* reexport */ w
|
|
65
65
|
});
|
|
66
66
|
// CONCATENATED MODULE: external "react"
|
|
67
|
-
const
|
|
68
|
-
var
|
|
67
|
+
const r = require("react");
|
|
68
|
+
var n = e.n(r);
|
|
69
69
|
// CONCATENATED MODULE: external "prop-types"
|
|
70
70
|
const t = require("prop-types");
|
|
71
71
|
var a = e.n(t);
|
|
@@ -84,7 +84,7 @@
|
|
|
84
84
|
* @param ref - The React callback or object ref. Can be `null` or `undefined`.
|
|
85
85
|
* @param current - The new value of the ref.
|
|
86
86
|
*/
|
|
87
|
-
function
|
|
87
|
+
function d(e, o) {
|
|
88
88
|
if (e) {
|
|
89
89
|
if (typeof e === "function") {
|
|
90
90
|
e(o);
|
|
@@ -97,41 +97,41 @@
|
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
99
|
// CONCATENATED MODULE: ./src/Dropdown/Dropdown.tsx
|
|
100
|
-
function
|
|
101
|
-
return b(e) ||
|
|
100
|
+
function f(e, o) {
|
|
101
|
+
return b(e) || y(e, o) || v(e, o) || p();
|
|
102
102
|
}
|
|
103
103
|
function p() {
|
|
104
104
|
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
105
105
|
}
|
|
106
106
|
function v(e, o) {
|
|
107
107
|
if (e) {
|
|
108
|
-
if ("string" == typeof e) return
|
|
109
|
-
var
|
|
110
|
-
return "Object" ===
|
|
108
|
+
if ("string" == typeof e) return g(e, o);
|
|
109
|
+
var r = {}.toString.call(e).slice(8, -1);
|
|
110
|
+
return "Object" === r && e.constructor && (r = e.constructor.name), "Map" === r || "Set" === r ? Array.from(e) : "Arguments" === r || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r) ? g(e, o) : void 0;
|
|
111
111
|
}
|
|
112
112
|
}
|
|
113
|
-
function
|
|
113
|
+
function g(e, o) {
|
|
114
114
|
(null == o || o > e.length) && (o = e.length);
|
|
115
|
-
for (var
|
|
116
|
-
r
|
|
115
|
+
for (var r = 0, n = Array(o); r < o; r++) {
|
|
116
|
+
n[r] = e[r];
|
|
117
117
|
}
|
|
118
|
-
return
|
|
118
|
+
return n;
|
|
119
119
|
}
|
|
120
|
-
function
|
|
121
|
-
var
|
|
122
|
-
if (null !=
|
|
123
|
-
var
|
|
120
|
+
function y(e, o) {
|
|
121
|
+
var r = null == e ? null : "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"];
|
|
122
|
+
if (null != r) {
|
|
123
|
+
var n, t, a, l, i = [], u = !0, c = !1;
|
|
124
124
|
try {
|
|
125
|
-
if (a = (
|
|
126
|
-
if (Object(
|
|
125
|
+
if (a = (r = r.call(e)).next, 0 === o) {
|
|
126
|
+
if (Object(r) !== r) return;
|
|
127
127
|
u = !1;
|
|
128
|
-
} else for (;!(u = (
|
|
128
|
+
} else for (;!(u = (n = a.call(r)).done) && (i.push(n.value), i.length !== o); u = !0) {
|
|
129
129
|
}
|
|
130
130
|
} catch (e) {
|
|
131
131
|
c = !0, t = e;
|
|
132
132
|
} finally {
|
|
133
133
|
try {
|
|
134
|
-
if (!u && null !=
|
|
134
|
+
if (!u && null != r["return"] && (l = r["return"](), Object(l) !== l)) return;
|
|
135
135
|
} finally {
|
|
136
136
|
if (c) throw t;
|
|
137
137
|
}
|
|
@@ -171,11 +171,11 @@
|
|
|
171
171
|
toggle: a().element.isRequired
|
|
172
172
|
};
|
|
173
173
|
function O(e) {
|
|
174
|
-
var o = e["aria-labelledby"], t = e.align, a = t === void 0 ? "center" : t, l = e.canCoverAnchor, u = l === void 0 ? true : l, p = e.children, v = e.closeReasons,
|
|
174
|
+
var o = e["aria-labelledby"], t = e.align, a = t === void 0 ? "center" : t, l = e.canCoverAnchor, u = l === void 0 ? true : l, p = e.children, v = e.closeReasons, g = v === void 0 ? C : v, y = e.defaultPlacement, b = y === void 0 ? "below" : y, m = e.elementRef, h = e.focusToggleReasons, O = h === void 0 ? k : h, w = e.inputId, R = e.open, S = e.openWithArrowKeys, A = e.onRequestClose, I = e.onRequestOpen, q = e.repositionMode, P = q === void 0 ? "flip" : q, D = e.retainFocus, K = D === void 0 ? false : D, j = e.takeFocus, M = j === void 0 ? true : j, T = e.toggle;
|
|
175
175
|
// @docs-props-type DropdownPropsBase
|
|
176
|
-
var F = (0,
|
|
177
|
-
var x = (0,
|
|
178
|
-
var V = (0,
|
|
176
|
+
var F = (0, r.useState)(null), E = f(F, 2), N = E[0], _ = E[1];
|
|
177
|
+
var x = (0, r.useState)(false), W = f(x, 2), U = W[0], z = W[1];
|
|
178
|
+
var V = (0, r.useRef)(null);
|
|
179
179
|
var $ = c()({
|
|
180
180
|
componentName: "Dropdown",
|
|
181
181
|
/* eslint-disable-next-line prefer-rest-params */
|
|
@@ -185,32 +185,32 @@
|
|
|
185
185
|
valuePropName: "open"
|
|
186
186
|
});
|
|
187
187
|
var B = $ ? R : U;
|
|
188
|
-
var G = (0,
|
|
188
|
+
var G = (0, r.useState)((function() {
|
|
189
189
|
return {
|
|
190
190
|
popoverId: (0, s.createDOMID)("popover"),
|
|
191
191
|
toggleId: (0, s.createDOMID)("toggle")
|
|
192
192
|
};
|
|
193
|
-
})), H =
|
|
193
|
+
})), H = f(G, 1), J = H[0], L = J.popoverId, Q = J.toggleId;
|
|
194
194
|
var X = w || T.props.id || Q;
|
|
195
|
-
var Y = (0,
|
|
195
|
+
var Y = (0, r.useCallback)((function(e) {
|
|
196
196
|
V.current = e;
|
|
197
197
|
_(e);
|
|
198
198
|
// TS: ref does not exist on React.ReactElement - technically, this is undocumented API
|
|
199
|
-
|
|
199
|
+
d(T.ref, e);
|
|
200
200
|
}), [ T ]);
|
|
201
201
|
var Z = T.props.disabled;
|
|
202
202
|
var ee = Z === true || Z === "disabled" || Z === "dimmed";
|
|
203
|
-
var oe = (0,
|
|
204
|
-
var o,
|
|
203
|
+
var oe = (0, r.useCallback)((function(e) {
|
|
204
|
+
var o, r;
|
|
205
205
|
if (ee) {
|
|
206
206
|
return;
|
|
207
207
|
}
|
|
208
|
-
(o = (
|
|
208
|
+
(o = (r = T.props).onKeyDown) === null || o === void 0 ? void 0 : o.call(r, e);
|
|
209
209
|
if (!S) {
|
|
210
210
|
return;
|
|
211
211
|
}
|
|
212
|
-
var
|
|
213
|
-
if (
|
|
212
|
+
var n = e.key;
|
|
213
|
+
if (n === "ArrowUp" || n === "ArrowDown") {
|
|
214
214
|
e.preventDefault();
|
|
215
215
|
I === null || I === void 0 ? void 0 : I(e, {
|
|
216
216
|
reason: "toggleKeydown"
|
|
@@ -220,20 +220,20 @@
|
|
|
220
220
|
}
|
|
221
221
|
}
|
|
222
222
|
}), [ $, ee, S, I, T ]);
|
|
223
|
-
var
|
|
224
|
-
var o = e.event,
|
|
225
|
-
if (o &&
|
|
226
|
-
var
|
|
227
|
-
while (
|
|
223
|
+
var re = (0, r.useCallback)((function(e) {
|
|
224
|
+
var o = e.event, r = e.reason;
|
|
225
|
+
if (o && r === "clickAway") {
|
|
226
|
+
var n = o.target;
|
|
227
|
+
while (n) {
|
|
228
228
|
// Ignore clicks on toggle.
|
|
229
|
-
if (V.current ===
|
|
229
|
+
if (V.current === n) {
|
|
230
230
|
return;
|
|
231
231
|
}
|
|
232
|
-
|
|
232
|
+
n = n.parentNode;
|
|
233
233
|
}
|
|
234
234
|
}
|
|
235
|
-
if (B &&
|
|
236
|
-
if (O.includes(
|
|
235
|
+
if (B && g.includes(r)) {
|
|
236
|
+
if (O.includes(r)) {
|
|
237
237
|
var t;
|
|
238
238
|
(t = V.current) === null || t === void 0 ? void 0 : t.focus();
|
|
239
239
|
}
|
|
@@ -242,22 +242,28 @@
|
|
|
242
242
|
}
|
|
243
243
|
A === null || A === void 0 ? void 0 : A(e);
|
|
244
244
|
}
|
|
245
|
-
}), [
|
|
246
|
-
var
|
|
247
|
-
|
|
245
|
+
}), [ g, O, $, B, A ]);
|
|
246
|
+
var ne = (0, r.useCallback)((function(e) {
|
|
247
|
+
var o, r;
|
|
248
|
+
// Don't close the dropdown when clicking a disabled item.
|
|
249
|
+
var n = (o = (r = e.target).closest) === null || o === void 0 ? void 0 : o.call(r, '[aria-disabled="true"]');
|
|
250
|
+
if (n && e.currentTarget.contains(n)) {
|
|
251
|
+
return;
|
|
252
|
+
}
|
|
253
|
+
re({
|
|
248
254
|
reason: "contentClick",
|
|
249
255
|
event: e
|
|
250
256
|
});
|
|
251
|
-
}), [
|
|
252
|
-
var te = (0,
|
|
253
|
-
var o,
|
|
257
|
+
}), [ re ]);
|
|
258
|
+
var te = (0, r.useCallback)((function(e) {
|
|
259
|
+
var o, r;
|
|
254
260
|
if (ee) {
|
|
255
261
|
e.preventDefault();
|
|
256
262
|
return;
|
|
257
263
|
}
|
|
258
|
-
(o = (
|
|
264
|
+
(o = (r = T.props).onClick) === null || o === void 0 ? void 0 : o.call(r, e);
|
|
259
265
|
if (B) {
|
|
260
|
-
|
|
266
|
+
re({
|
|
261
267
|
reason: "toggleClick",
|
|
262
268
|
event: e
|
|
263
269
|
});
|
|
@@ -269,8 +275,8 @@
|
|
|
269
275
|
z(true);
|
|
270
276
|
}
|
|
271
277
|
}
|
|
272
|
-
}), [
|
|
273
|
-
var ae = (0,
|
|
278
|
+
}), [ re, $, B, ee, I, T ]);
|
|
279
|
+
var ae = (0, r.cloneElement)(T, {
|
|
274
280
|
onClick: te,
|
|
275
281
|
onKeyDown: oe,
|
|
276
282
|
ref: Y,
|
|
@@ -282,16 +288,16 @@
|
|
|
282
288
|
id: X
|
|
283
289
|
});
|
|
284
290
|
|
|
285
|
-
return
|
|
291
|
+
return n().createElement(n().Fragment, null, ae, n().createElement(i(), {
|
|
286
292
|
align: a,
|
|
287
293
|
open: !!N && B,
|
|
288
|
-
autoCloseWhenOffScreen:
|
|
294
|
+
autoCloseWhenOffScreen: g.includes("offScreen"),
|
|
289
295
|
anchor: N,
|
|
290
296
|
canCoverAnchor: u,
|
|
291
297
|
elementRef: m,
|
|
292
298
|
retainFocus: K,
|
|
293
299
|
defaultPlacement: b,
|
|
294
|
-
onRequestClose:
|
|
300
|
+
onRequestClose: re,
|
|
295
301
|
repositionMode: P,
|
|
296
302
|
id: L,
|
|
297
303
|
"aria-labelledby": "".concat(o !== null && o !== void 0 ? o : "", " ").concat(X).trim(),
|
|
@@ -300,14 +306,14 @@
|
|
|
300
306
|
}, typeof p === "function" ? function() {
|
|
301
307
|
|
|
302
308
|
// eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions
|
|
303
|
-
return
|
|
304
|
-
onClick:
|
|
309
|
+
return n().createElement("div", {
|
|
310
|
+
onClick: ne
|
|
305
311
|
}, p.apply(void 0, arguments));
|
|
306
312
|
} :
|
|
307
313
|
|
|
308
314
|
// eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions
|
|
309
|
-
|
|
310
|
-
onClick:
|
|
315
|
+
n().createElement("div", {
|
|
316
|
+
onClick: ne
|
|
311
317
|
}, p)));
|
|
312
318
|
}
|
|
313
319
|
O.propTypes = h;
|
package/LICENSE
CHANGED
|
@@ -187,7 +187,7 @@
|
|
|
187
187
|
same "printed page" as the copyright notice for easier
|
|
188
188
|
identification within third-party archives.
|
|
189
189
|
|
|
190
|
-
Copyright
|
|
190
|
+
Copyright 2026 Cisco Systems, Inc.
|
|
191
191
|
|
|
192
192
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
193
193
|
you may not use this file except in compliance with the License.
|
package/MIGRATION.md
CHANGED
|
@@ -2,6 +2,46 @@
|
|
|
2
2
|
|
|
3
3
|
This document lists migration guidance for new features and breaking changes.
|
|
4
4
|
|
|
5
|
+
## 5.10.0
|
|
6
|
+
|
|
7
|
+
### Deprecated `ColumnLayout`
|
|
8
|
+
|
|
9
|
+
#### Change
|
|
10
|
+
`ColumnLayout` has been deprecated and will be removed in a future major version.
|
|
11
|
+
|
|
12
|
+
#### Context
|
|
13
|
+
`ColumnLayout` is a flexbox-based component that provides a 12-column grid abstraction. It exists for historical and backwards-compatibility reasons. We recommend migrating to CSS `grid` directly, which provides better styling control, supports intrinsic sizing, allows the use of design tokens for spacing, and avoids the overhead of a React component.
|
|
14
|
+
|
|
15
|
+
#### Migration steps
|
|
16
|
+
If you aren't familiar with CSS grid layout, explore some of the following resources before migrating:
|
|
17
|
+
- [CSS grid layout guide](https://developer.mozilla.org/en-US/docs/Web/CSS/Guides/Grid_layout)
|
|
18
|
+
- [Basic concepts of grid layout](https://developer.mozilla.org/en-US/docs/Web/CSS/Guides/Grid_layout/Basic_concepts)
|
|
19
|
+
- [CSS grid property reference](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/grid)
|
|
20
|
+
|
|
21
|
+
Replace `ColumnLayout`, `ColumnLayout.Row`, and `ColumnLayout.Column` with CSS `grid`. Use `gridColumn` with `span` for column widths, and replace the `gutter` prop with `gap`:
|
|
22
|
+
|
|
23
|
+
```jsx
|
|
24
|
+
// Before
|
|
25
|
+
<ColumnLayout gutter={8}>
|
|
26
|
+
<ColumnLayout.Row>
|
|
27
|
+
<ColumnLayout.Column span={3}>Column</ColumnLayout.Column>
|
|
28
|
+
<ColumnLayout.Column span={9}>Content</ColumnLayout.Column>
|
|
29
|
+
</ColumnLayout.Row>
|
|
30
|
+
</ColumnLayout>
|
|
31
|
+
|
|
32
|
+
// After
|
|
33
|
+
const StyledGrid = styled.div`
|
|
34
|
+
display: grid;
|
|
35
|
+
grid-template-columns: repeat(12, 1fr);
|
|
36
|
+
gap: ${variables.spacingSmall};
|
|
37
|
+
`;
|
|
38
|
+
|
|
39
|
+
<StyledGrid>
|
|
40
|
+
<div style={{ gridColumn: 'span 3' }}>Column</div>
|
|
41
|
+
<div style={{ gridColumn: 'span 9' }}>Content</div>
|
|
42
|
+
</StyledGrid>
|
|
43
|
+
```
|
|
44
|
+
|
|
5
45
|
## 5.5.0
|
|
6
46
|
|
|
7
47
|
### Deprecated `Switch`'s `selectedLabel`, `someSelectedLabel`, and `unselectedLabel` props
|