@splunk/react-ui 5.8.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/Anchor.js +2 -1
- package/ButtonSimple.js +1 -1
- package/CHANGELOG.md +38 -0
- package/Calendar.js +134 -134
- package/Clickable.js +131 -94
- package/Code.js +177 -170
- package/CollapsiblePanel.js +173 -135
- package/ColumnLayout.js +69 -45
- package/ComboBox.js +1 -0
- package/Dropdown.js +87 -72
- package/File.js +35 -35
- package/LICENSE +1 -1
- package/MIGRATION.md +40 -0
- package/Markdown.js +331 -306
- package/Menu.js +259 -215
- package/Modal.js +174 -181
- package/Monogram.js +2 -2
- package/Multiselect.js +414 -334
- package/Number.js +237 -242
- package/Search.js +15 -14
- package/SelectBase.js +777 -719
- 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 +1232 -1238
- package/Text.js +26 -26
- package/docker-compose.yml +12 -18
- package/docs-llm/Avatar.md +2 -8
- 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 +185 -162
- package/docs-llm/Notifications.md +46 -0
- package/docs-llm/Table.md +7 -7
- package/docs-llm/Tree.md +7 -2
- package/docs-llm/Typography.md +1 -1
- package/docs-llm/llms.txt +7 -3
- 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 +12 -3
- package/types/src/Multiselect/Multiselect.d.ts +12 -3
- package/types/src/Multiselect/Normal.d.ts +8 -3
- package/types/src/Multiselect/Option.d.ts +6 -3
- package/types/src/Multiselect/docs/examples/Disabled.d.ts +1 -0
- package/types/src/Multiselect/docs/examples/LoadMoreWithSelectAll.d.ts +9 -0
- package/types/src/SelectBase/SelectBase.d.ts +5 -1
- 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/Text.js
CHANGED
|
@@ -89,9 +89,9 @@
|
|
|
89
89
|
var m = e.n(y);
|
|
90
90
|
// CONCATENATED MODULE: external "@splunk/react-ui/Button"
|
|
91
91
|
const g = require("@splunk/react-ui/Button");
|
|
92
|
-
var
|
|
92
|
+
var h = e.n(g);
|
|
93
93
|
// CONCATENATED MODULE: external "@splunk/react-ui/ControlGroup"
|
|
94
|
-
const
|
|
94
|
+
const C = require("@splunk/react-ui/ControlGroup");
|
|
95
95
|
// CONCATENATED MODULE: external "@splunk/react-ui/useControlled"
|
|
96
96
|
const x = require("@splunk/react-ui/useControlled");
|
|
97
97
|
var k = e.n(x);
|
|
@@ -109,7 +109,7 @@
|
|
|
109
109
|
const B = require("@splunk/themes");
|
|
110
110
|
// CONCATENATED MODULE: ./src/Text/TextStyles.ts
|
|
111
111
|
var I = "230px";
|
|
112
|
-
var P = O()(
|
|
112
|
+
var P = O()(h()).withConfig({
|
|
113
113
|
displayName: "TextStyles__StyledClearButton",
|
|
114
114
|
componentId: "eg7n6t-0"
|
|
115
115
|
})([ "display:none;visibility:hidden;" ]);
|
|
@@ -142,7 +142,7 @@
|
|
|
142
142
|
displayName: "TextStyles__StyledAdornment",
|
|
143
143
|
componentId: "eg7n6t-3"
|
|
144
144
|
})([ "display:inline-flex;align-items:center;justify-content:center;pointer-events:none;z-index:1;color:", ";", " ", ";& > button{", "}& > button:focus,& > a:focus{box-shadow:", ";}" ], B.variables.contentColorMuted, (function() {
|
|
145
|
-
return (0, S.css)([ "height:calc(", " -
|
|
145
|
+
return (0, S.css)([ "height:calc(", " - ", " * 2);" ], B.variables.inputHeight, B.variables.inputBorderWidth);
|
|
146
146
|
}), (function(e) {
|
|
147
147
|
var r = e.$disabled;
|
|
148
148
|
return r && (0, S.css)([ "color:", ";" ], B.variables.contentColorDisabled);
|
|
@@ -237,8 +237,8 @@
|
|
|
237
237
|
}
|
|
238
238
|
return ("string" === r ? String : Number)(e);
|
|
239
239
|
}
|
|
240
|
-
function
|
|
241
|
-
return
|
|
240
|
+
function W() {
|
|
241
|
+
return W = Object.assign ? Object.assign.bind() : function(e) {
|
|
242
242
|
for (var r = 1; r < arguments.length; r++) {
|
|
243
243
|
var t = arguments[r];
|
|
244
244
|
for (var n in t) {
|
|
@@ -246,9 +246,9 @@
|
|
|
246
246
|
}
|
|
247
247
|
}
|
|
248
248
|
return e;
|
|
249
|
-
},
|
|
249
|
+
}, W.apply(null, arguments);
|
|
250
250
|
}
|
|
251
|
-
function
|
|
251
|
+
function G(e, r) {
|
|
252
252
|
return Y(e) || Q(e, r) || X(e, r) || U();
|
|
253
253
|
}
|
|
254
254
|
function U() {
|
|
@@ -366,15 +366,15 @@
|
|
|
366
366
|
var r;
|
|
367
367
|
var o = e.append, i = o === void 0 ? false : o, u = e.autoCapitalize, c = e.autoComplete, d = e.autoCorrect, v = e.autoFocus, b = v === void 0 ? false : v, p = e.canClear, y = p === void 0 ? false : p, g = e.children, x = e.defaultValue, S = e.disabled, O = S === void 0 ? false : S, j = e.describedBy, E = e.elementRef, A = e.endAdornment, B = e.error, I = B === void 0 ? false : B, _ = e.inline, F = _ === void 0 ? false : _, H = e.inputClassName, M = e.inputId, R = e.inputRef, V = e.labelledBy, K = e.maxLength, L = e.name, U = e.onBlur, X = e.onChange, J = e.onClick, Q = e.onFocus, Y = e.onKeyDown, ee = e.onSelect, re = e.passwordVisibilityToggle, ne = re === void 0 ? false : re, oe = e.placeholder, ae = e.prepend, ie = ae === void 0 ? false : ae, le = e.required, ue = e.spellCheck, se = e.startAdornment, ce = e.tabIndex, de = ce === void 0 ? 0 : ce, ve = e.title, be = e.type, pe = be === void 0 ? "text" : be, fe = e.value, ye = Z(e, [ "append", "autoCapitalize", "autoComplete", "autoCorrect", "autoFocus", "canClear", "children", "defaultValue", "disabled", "describedBy", "elementRef", "endAdornment", "error", "inline", "inputClassName", "inputId", "inputRef", "labelledBy", "maxLength", "name", "onBlur", "onChange", "onClick", "onFocus", "onKeyDown", "onSelect", "passwordVisibilityToggle", "placeholder", "prepend", "required", "spellCheck", "startAdornment", "tabIndex", "title", "type", "value" ]);
|
|
368
368
|
// @docs-props-type TextPropsBase
|
|
369
|
-
var me = (0, t.useContext)(
|
|
369
|
+
var me = (0, t.useContext)(C.ControlGroupContext);
|
|
370
370
|
var ge = k()({
|
|
371
371
|
componentName: "Text",
|
|
372
372
|
/* eslint-disable-next-line prefer-rest-params */
|
|
373
373
|
componentProps: arguments[0]
|
|
374
374
|
});
|
|
375
|
-
var
|
|
376
|
-
var
|
|
377
|
-
var Se = (0, t.useState)(true), Oe =
|
|
375
|
+
var he = (0, t.useRef)(null);
|
|
376
|
+
var Ce = (0, t.useState)(x || ""), xe = G(Ce, 2), ke = xe[0], we = xe[1];
|
|
377
|
+
var Se = (0, t.useState)(true), Oe = G(Se, 2), je = Oe[0], Ee = Oe[1];
|
|
378
378
|
var Ae = (0, t.useMemo)((function() {
|
|
379
379
|
return ge ? fe : ke;
|
|
380
380
|
}), [ ge, fe, ke ]);
|
|
@@ -402,7 +402,7 @@
|
|
|
402
402
|
if (!ge) {
|
|
403
403
|
we(t);
|
|
404
404
|
}
|
|
405
|
-
|
|
405
|
+
he === null || he === void 0 ? void 0 : (r = he.current) === null || r === void 0 ? void 0 : r.focus();
|
|
406
406
|
X === null || X === void 0 ? void 0 : X(e, {
|
|
407
407
|
value: t,
|
|
408
408
|
name: L
|
|
@@ -413,9 +413,9 @@
|
|
|
413
413
|
e.stopPropagation();
|
|
414
414
|
}), [ J ]);
|
|
415
415
|
var qe = (0, t.useCallback)((function(e) {
|
|
416
|
-
if (document.activeElement !==
|
|
416
|
+
if (document.activeElement !== he.current) {
|
|
417
417
|
var r;
|
|
418
|
-
(r =
|
|
418
|
+
(r = he.current) === null || r === void 0 ? void 0 : r.focus();
|
|
419
419
|
}
|
|
420
420
|
J === null || J === void 0 ? void 0 : J(e);
|
|
421
421
|
}), [ J ]);
|
|
@@ -433,9 +433,9 @@
|
|
|
433
433
|
Y === null || Y === void 0 ? void 0 : Y(e);
|
|
434
434
|
}), [ Y ]);
|
|
435
435
|
var Ne = (0, t.useCallback)((function(e) {
|
|
436
|
-
|
|
436
|
+
he.current = e;
|
|
437
437
|
D(R, e);
|
|
438
|
-
}), [ R,
|
|
438
|
+
}), [ R, he ]);
|
|
439
439
|
var Fe = (0, t.useCallback)((function(e) {
|
|
440
440
|
ee === null || ee === void 0 ? void 0 : ee(e);
|
|
441
441
|
}), [ ee ]);
|
|
@@ -450,7 +450,7 @@
|
|
|
450
450
|
};
|
|
451
451
|
if (A) {
|
|
452
452
|
|
|
453
|
-
return n().createElement($,
|
|
453
|
+
return n().createElement($, W({
|
|
454
454
|
"data-test": "end-adornment",
|
|
455
455
|
onClick: $e
|
|
456
456
|
}, r), A);
|
|
@@ -459,7 +459,7 @@
|
|
|
459
459
|
var t = je ? n().createElement(f(), null) : n().createElement(m(), null);
|
|
460
460
|
var o = je ? (0, w._)("Show password") : (0, w._)("Hide password");
|
|
461
461
|
|
|
462
|
-
return n().createElement($, r, n().createElement(
|
|
462
|
+
return n().createElement($, r, n().createElement(h(), {
|
|
463
463
|
appearance: "secondary",
|
|
464
464
|
"data-test": "password-toggle",
|
|
465
465
|
inline: false,
|
|
@@ -490,7 +490,7 @@
|
|
|
490
490
|
};
|
|
491
491
|
if (se) {
|
|
492
492
|
|
|
493
|
-
return n().createElement($,
|
|
493
|
+
return n().createElement($, W({
|
|
494
494
|
"data-test": "start-adornment",
|
|
495
495
|
onClick: $e
|
|
496
496
|
}, e), se);
|
|
@@ -519,7 +519,7 @@
|
|
|
519
519
|
}, l()(ye, [ "inputRef", "onBlur", "onClick", "onChange", "onFocus", "onKeyDown", "onSelect" ].concat(N(a()(ze)))));
|
|
520
520
|
var Ke = je ? "password" : "text";
|
|
521
521
|
var Le = ne ? Ke : pe;
|
|
522
|
-
var
|
|
522
|
+
var We = z(z({}, ze), {}, {
|
|
523
523
|
"data-test": "textbox",
|
|
524
524
|
autoCapitalize: u,
|
|
525
525
|
autoComplete: c,
|
|
@@ -546,22 +546,22 @@
|
|
|
546
546
|
$error: I
|
|
547
547
|
});
|
|
548
548
|
// Do not render value in DOM when type is password, or passwordVisibilityToggle is enabled
|
|
549
|
-
var
|
|
549
|
+
var Ge = pe === "password" || ne ? undefined : Ae;
|
|
550
550
|
// Firefox hack (SUI-2716). Remove when fixed: https://bugzilla.mozilla.org/show_bug.cgi?id=1427173
|
|
551
551
|
var Ue = pe === "time";
|
|
552
552
|
|
|
553
|
-
return n().createElement(T,
|
|
553
|
+
return n().createElement(T, W({
|
|
554
554
|
tabIndex: -1,
|
|
555
555
|
$isTimeInput: Ue,
|
|
556
556
|
"data-test": "text",
|
|
557
|
-
"data-test-value":
|
|
557
|
+
"data-test-value": Ge,
|
|
558
558
|
"data-test-disabled": O === "dimmed" && "dimmed" || O && "disabled" || undefined,
|
|
559
559
|
ref: E,
|
|
560
560
|
flex: true,
|
|
561
561
|
inline: F,
|
|
562
562
|
onClick: qe,
|
|
563
563
|
$disabled: !!O
|
|
564
|
-
}, Ve), Re(), O ? n().createElement(q,
|
|
564
|
+
}, Ve), Re(), O ? n().createElement(q, W({
|
|
565
565
|
className: H,
|
|
566
566
|
"data-test": "textbox",
|
|
567
567
|
disabled: O === true,
|
|
@@ -569,7 +569,7 @@
|
|
|
569
569
|
readOnly: true,
|
|
570
570
|
type: Le,
|
|
571
571
|
value: Ae
|
|
572
|
-
}, ze)) : n().createElement(q,
|
|
572
|
+
}, ze)) : n().createElement(q, W({}, We, {
|
|
573
573
|
onClick: Te
|
|
574
574
|
})), g, Me());
|
|
575
575
|
}
|
package/docker-compose.yml
CHANGED
|
@@ -9,7 +9,7 @@ services:
|
|
|
9
9
|
workdir: /react-ui
|
|
10
10
|
command: npx http-server storybook-static-visual-prisma --port 6007
|
|
11
11
|
ports:
|
|
12
|
-
-
|
|
12
|
+
- "6007:6007"
|
|
13
13
|
enterprise-storybook:
|
|
14
14
|
build:
|
|
15
15
|
context: .
|
|
@@ -20,7 +20,7 @@ services:
|
|
|
20
20
|
workdir: /react-ui
|
|
21
21
|
command: npx http-server storybook-static-visual-enterprise --port 6008
|
|
22
22
|
ports:
|
|
23
|
-
-
|
|
23
|
+
- "6008:6008"
|
|
24
24
|
splunk-magnetic-storybook:
|
|
25
25
|
build:
|
|
26
26
|
context: .
|
|
@@ -31,7 +31,7 @@ services:
|
|
|
31
31
|
workdir: /react-ui
|
|
32
32
|
command: npx http-server storybook-static-visual-splunk-magnetic --port 6009
|
|
33
33
|
ports:
|
|
34
|
-
-
|
|
34
|
+
- "6009:6009"
|
|
35
35
|
prisma-visual-test:
|
|
36
36
|
build:
|
|
37
37
|
context: .
|
|
@@ -45,12 +45,10 @@ services:
|
|
|
45
45
|
- JOB_BROWSER=${JOB_BROWSER}
|
|
46
46
|
working_dir: /react-ui
|
|
47
47
|
volumes:
|
|
48
|
-
-
|
|
49
|
-
-
|
|
48
|
+
- "./src:/react-ui/src"
|
|
49
|
+
- "./test-reports:/react-ui/test-reports"
|
|
50
50
|
# TODO(SUI-8236): can remove once webpack.test.config.js imports of infra/.config.js are removed as this won't be needed any longer (verify with no cache docker build something else didn't start using it though)
|
|
51
|
-
-
|
|
52
|
-
- '../../infra/storybook/utils.js:/infra/storybook/utils.js:ro'
|
|
53
|
-
- '../../infra/visual-tests/orphaned-snapshot-check-reporter.js:/infra/visual-tests/orphaned-snapshot-check-reporter.js:ro'
|
|
51
|
+
- "../../infra:/infra:ro"
|
|
54
52
|
depends_on:
|
|
55
53
|
- prisma-storybook
|
|
56
54
|
command: /bin/sh -c "npx wait-on http://prisma-storybook:6007 && yarn cache clean && yarn test-storybook -c .storybook-visual --browsers $${STORYBOOK_BROWSER} $${STORYBOOK_UPDATE_SNAPSHOT} $${STORYBOOK_MAX_WORKERS} --url http://prisma-storybook:6007 --no-index-json"
|
|
@@ -67,12 +65,10 @@ services:
|
|
|
67
65
|
- JOB_BROWSER=${JOB_BROWSER}
|
|
68
66
|
working_dir: /react-ui
|
|
69
67
|
volumes:
|
|
70
|
-
-
|
|
71
|
-
-
|
|
68
|
+
- "./src:/react-ui/src"
|
|
69
|
+
- "./test-reports:/react-ui/test-reports"
|
|
72
70
|
# TODO(SUI-8236): can remove once webpack.test.config.js imports of infra/.config.js are removed as this won't be needed any longer (verify with no cache docker build something else didn't start using it though)
|
|
73
|
-
-
|
|
74
|
-
- '../../infra/storybook/utils.js:/infra/storybook/utils.js:ro'
|
|
75
|
-
- '../../infra/visual-tests/orphaned-snapshot-check-reporter.js:/infra/visual-tests/orphaned-snapshot-check-reporter.js:ro'
|
|
71
|
+
- "../../infra:/infra:ro"
|
|
76
72
|
depends_on:
|
|
77
73
|
- enterprise-storybook
|
|
78
74
|
command: /bin/sh -c "npx wait-on http://enterprise-storybook:6008 && yarn cache clean && yarn test-storybook -c .storybook-visual --browsers $${STORYBOOK_BROWSER} $${STORYBOOK_UPDATE_SNAPSHOT} $${STORYBOOK_MAX_WORKERS} --url http://enterprise-storybook:6008 --no-index-json"
|
|
@@ -89,12 +85,10 @@ services:
|
|
|
89
85
|
- JOB_BROWSER=${JOB_BROWSER}
|
|
90
86
|
working_dir: /react-ui
|
|
91
87
|
volumes:
|
|
92
|
-
-
|
|
93
|
-
-
|
|
88
|
+
- "./src:/react-ui/src"
|
|
89
|
+
- "./test-reports:/react-ui/test-reports"
|
|
94
90
|
# TODO(SUI-8236): can remove once webpack.test.config.js imports of infra/.config.js are removed as this won't be needed any longer (verify with no cache docker build something else didn't start using it though)
|
|
95
|
-
-
|
|
96
|
-
- '../../infra/storybook/utils.js:/infra/storybook/utils.js:ro'
|
|
97
|
-
- '../../infra/visual-tests/orphaned-snapshot-check-reporter.js:/infra/visual-tests/orphaned-snapshot-check-reporter.js:ro'
|
|
91
|
+
- "../../infra:/infra:ro"
|
|
98
92
|
depends_on:
|
|
99
93
|
- splunk-magnetic-storybook
|
|
100
94
|
command: /bin/sh -c "npx wait-on http://splunk-magnetic-storybook:6009 && yarn cache clean && yarn test-storybook -c .storybook-visual --browsers $${STORYBOOK_BROWSER} $${STORYBOOK_UPDATE_SNAPSHOT} $${STORYBOOK_MAX_WORKERS} --url http://splunk-magnetic-storybook:6009 --no-index-json"
|
package/docs-llm/Avatar.md
CHANGED
|
@@ -160,14 +160,8 @@ import Layout from '@splunk/react-ui/Layout';
|
|
|
160
160
|
import { pick, variables } from '@splunk/themes';
|
|
161
161
|
|
|
162
162
|
const avatarColor = pick({
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
dark: variables.diverging1ColorA,
|
|
166
|
-
},
|
|
167
|
-
prisma: {
|
|
168
|
-
light: variables.sequential6D7,
|
|
169
|
-
dark: variables.sequential6D3,
|
|
170
|
-
},
|
|
163
|
+
light: variables.staticA1,
|
|
164
|
+
dark: variables.staticA1,
|
|
171
165
|
});
|
|
172
166
|
|
|
173
167
|
|
|
@@ -58,6 +58,10 @@ Order panels logically, according to the specific reading order.
|
|
|
58
58
|
> Image: Heart eye example with Collapsible panel label in sequential order 1 - 4 next to a grimacing face example where the Collapsible panel are out of order 2, 1, 4, 3
|
|
59
59
|
|
|
60
60
|
|
|
61
|
+
|
|
62
|
+
### Keep headers consistent
|
|
63
|
+
Stacked `CollapsiblePanels` must share an identical header structure to prevent jarring alignment shifts and layout "jumping." It is recommended to extend this uniformity across an entire page section to keep the user’s mental model predictable for a specific task or context. Across a full page, consistency is contextual; while a uniform layout is ideal, variations are permissible between distinct, visually separated sections that serve different functional purposes.
|
|
64
|
+
|
|
61
65
|
## Content guidelines
|
|
62
66
|
|
|
63
67
|
### Panel title:
|
|
@@ -73,6 +77,7 @@ Order panels logically, according to the specific reading order.
|
|
|
73
77
|
[2]: ./Table
|
|
74
78
|
[3]: ./TabBar
|
|
75
79
|
|
|
80
|
+
|
|
76
81
|
## Examples
|
|
77
82
|
|
|
78
83
|
|
|
@@ -156,14 +161,9 @@ If a CollapsiblePanel is passed disabled the default behavior is to render as "d
|
|
|
156
161
|
```typescript
|
|
157
162
|
import React from 'react';
|
|
158
163
|
|
|
159
|
-
import Clone from '@splunk/react-icons/enterprise/Clone';
|
|
160
164
|
import MoreVertical from '@splunk/react-icons/enterprise/MoreVertical';
|
|
161
|
-
import Refresh from '@splunk/react-icons/enterprise/Refresh';
|
|
162
|
-
import Remove from '@splunk/react-icons/enterprise/Remove';
|
|
163
165
|
import Button from '@splunk/react-ui/Button';
|
|
164
166
|
import CollapsiblePanel from '@splunk/react-ui/CollapsiblePanel';
|
|
165
|
-
import Dropdown from '@splunk/react-ui/Dropdown';
|
|
166
|
-
import Menu from '@splunk/react-ui/Menu';
|
|
167
167
|
import P from '@splunk/react-ui/Paragraph';
|
|
168
168
|
import { _ } from '@splunk/ui-utils/i18n';
|
|
169
169
|
|
|
@@ -173,51 +173,20 @@ function Dimmed() {
|
|
|
173
173
|
<div style={{ display: 'flex', width: 140, alignItems: 'center' }}>Splunk products</div>
|
|
174
174
|
);
|
|
175
175
|
|
|
176
|
-
|
|
176
|
+
// In real usage, each CollapsiblePanel can provide its own `actions`.
|
|
177
|
+
// This example reuses one for brevity.
|
|
178
|
+
const actions = (
|
|
177
179
|
<Button
|
|
178
180
|
disabled="dimmed"
|
|
179
181
|
appearance="secondary"
|
|
180
182
|
data-test="actions-toggle"
|
|
181
183
|
icon={<MoreVertical width="16px" height="16px" screenReaderText={_('Actions')} />}
|
|
182
|
-
style={{ marginLeft: 10 }}
|
|
183
184
|
/>
|
|
184
185
|
);
|
|
185
186
|
|
|
186
|
-
const actions = (
|
|
187
|
-
<div
|
|
188
|
-
style={{
|
|
189
|
-
position: 'relative',
|
|
190
|
-
width: '100%',
|
|
191
|
-
display: 'flex',
|
|
192
|
-
justifyContent: 'flex-end',
|
|
193
|
-
}}
|
|
194
|
-
>
|
|
195
|
-
<div style={{ flex: '0 0 auto' }}>
|
|
196
|
-
<Dropdown defaultPlacement="right" toggle={actionsToggle}>
|
|
197
|
-
<Menu>
|
|
198
|
-
<Menu.Item startAdornment={<Refresh width="16px" height="16px" />}>
|
|
199
|
-
Refresh
|
|
200
|
-
</Menu.Item>
|
|
201
|
-
<Menu.Divider />
|
|
202
|
-
<Menu.Item startAdornment={<Clone width="16px" height="16px" />}>
|
|
203
|
-
Duplicate
|
|
204
|
-
</Menu.Item>
|
|
205
|
-
<Menu.Item startAdornment={<Remove width="16px" height="16px" />}>
|
|
206
|
-
Delete
|
|
207
|
-
</Menu.Item>
|
|
208
|
-
</Menu>
|
|
209
|
-
</Dropdown>
|
|
210
|
-
</div>
|
|
211
|
-
</div>
|
|
212
|
-
);
|
|
213
|
-
|
|
214
187
|
return (
|
|
215
188
|
<>
|
|
216
|
-
<CollapsiblePanel
|
|
217
|
-
panelId={1}
|
|
218
|
-
disabled="dimmed"
|
|
219
|
-
title="Introduction to Splunk Enterprise"
|
|
220
|
-
>
|
|
189
|
+
<CollapsiblePanel disabled="dimmed" title={title} actions={actions}>
|
|
221
190
|
<P>
|
|
222
191
|
Splunk Enterprise makes it simple to collect, analyze and act upon the untapped
|
|
223
192
|
value of the big data generated by your technology infrastructure, security
|
|
@@ -230,12 +199,7 @@ function Dimmed() {
|
|
|
230
199
|
analytics backbone.
|
|
231
200
|
</P>
|
|
232
201
|
</CollapsiblePanel>
|
|
233
|
-
<CollapsiblePanel
|
|
234
|
-
panelId={2}
|
|
235
|
-
disabled="dimmed"
|
|
236
|
-
defaultOpen
|
|
237
|
-
title="Introduction to Splunk Enterprise"
|
|
238
|
-
>
|
|
202
|
+
<CollapsiblePanel defaultOpen disabled="dimmed" title={title} actions={actions}>
|
|
239
203
|
<P>
|
|
240
204
|
Splunk Enterprise makes it simple to collect, analyze and act upon the untapped
|
|
241
205
|
value of the big data generated by your technology infrastructure, security
|
|
@@ -248,16 +212,6 @@ function Dimmed() {
|
|
|
248
212
|
analytics backbone.
|
|
249
213
|
</P>
|
|
250
214
|
</CollapsiblePanel>
|
|
251
|
-
<CollapsiblePanel disabled="dimmed" title={title} actions={actions}>
|
|
252
|
-
<P>
|
|
253
|
-
Splunk Security modernizes security operations and protects businesses with
|
|
254
|
-
data, analytics, automation and end-to-end integrations. Splunk Observability
|
|
255
|
-
solves problems in seconds with end-to-end visibility across infrastructure,
|
|
256
|
-
applications and digital customer experience. Splunk Cloud provides
|
|
257
|
-
cloud-powered insights for petabyte-scale data analytics across the hybrid cloud
|
|
258
|
-
with Splunk as a service.
|
|
259
|
-
</P>
|
|
260
|
-
</CollapsiblePanel>
|
|
261
215
|
</>
|
|
262
216
|
);
|
|
263
217
|
}
|
|
@@ -376,7 +330,7 @@ export default MultiControlled;
|
|
|
376
330
|
|
|
377
331
|
### Actions
|
|
378
332
|
|
|
379
|
-
Adding clickable items in the header.
|
|
333
|
+
Adding clickable items in the header. Within a set of panels, keep headers consistent by either including `actions` on all panels or on none.
|
|
380
334
|
|
|
381
335
|
```typescript
|
|
382
336
|
import React, { useState } from 'react';
|
|
@@ -349,8 +349,8 @@ export default AlignItems;
|
|
|
349
349
|
|
|
350
350
|
### ColumnLayout API
|
|
351
351
|
|
|
352
|
-
|
|
353
|
-
|
|
352
|
+
@deprecated
|
|
353
|
+
ColumnLayout has been deprecated and will be removed in a future major version. Use CSS `grid` or `flex` instead.
|
|
354
354
|
|
|
355
355
|
#### Props
|
|
356
356
|
|
package/docs-llm/Divider.md
CHANGED
|
@@ -83,6 +83,39 @@ export default Vertical;
|
|
|
83
83
|
|
|
84
84
|
|
|
85
85
|
|
|
86
|
+
### Vertical with align-items
|
|
87
|
+
|
|
88
|
+
```typescript
|
|
89
|
+
import React from 'react';
|
|
90
|
+
|
|
91
|
+
import styled from 'styled-components';
|
|
92
|
+
|
|
93
|
+
import Portrait from '@splunk/react-icons/Portrait';
|
|
94
|
+
import QuestionCircle from '@splunk/react-icons/QuestionCircle';
|
|
95
|
+
import Button from '@splunk/react-ui/Button';
|
|
96
|
+
import Divider from '@splunk/react-ui/Divider';
|
|
97
|
+
import Layout from '@splunk/react-ui/Layout';
|
|
98
|
+
|
|
99
|
+
const StyledDivider = styled(Divider)`
|
|
100
|
+
align-self: stretch;
|
|
101
|
+
`;
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
function VerticalWithAlignItems() {
|
|
105
|
+
return (
|
|
106
|
+
<Layout>
|
|
107
|
+
<Button icon={<QuestionCircle />} />
|
|
108
|
+
<StyledDivider orientation="vertical" />
|
|
109
|
+
<Button icon={<Portrait />} />
|
|
110
|
+
</Layout>
|
|
111
|
+
);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
export default VerticalWithAlignItems;
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
|
|
86
119
|
### StyledContainer
|
|
87
120
|
|
|
88
121
|
```typescript
|
package/docs-llm/Message Bar.md
CHANGED
|
@@ -116,6 +116,7 @@ Message Bar can have one of four types: "info", "warning", "error" or "success".
|
|
|
116
116
|
```typescript
|
|
117
117
|
import React from 'react';
|
|
118
118
|
|
|
119
|
+
import Heading from '@splunk/react-ui/Heading';
|
|
119
120
|
import Layout from '@splunk/react-ui/Layout';
|
|
120
121
|
import Link from '@splunk/react-ui/Link';
|
|
121
122
|
import MessageBar from '@splunk/react-ui/MessageBar';
|
|
@@ -129,7 +130,9 @@ function Types() {
|
|
|
129
130
|
return (
|
|
130
131
|
<section>
|
|
131
132
|
<Layout style={{ display: 'flex', flexDirection: 'column', gap: '12px' }}>
|
|
132
|
-
<
|
|
133
|
+
<Heading level={2} id={headingId}>
|
|
134
|
+
Account notifications
|
|
135
|
+
</Heading>
|
|
133
136
|
<MessageBar
|
|
134
137
|
type="info"
|
|
135
138
|
aria-labelledby={headingId}
|