@carbon/ibm-products 2.96.0 → 2.97.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.
- package/.playwright/INTERNAL_AVT_REPORT_DO_NOT_USE.json +6383 -0
- package/css/index-full-carbon.css +72 -20
- package/css/index-full-carbon.css.map +1 -1
- package/css/index-full-carbon.min.css +1 -1
- package/css/index-full-carbon.min.css.map +1 -1
- package/css/index-without-carbon-released-only.css +5 -1
- package/css/index-without-carbon-released-only.css.map +1 -1
- package/css/index-without-carbon-released-only.min.css +1 -1
- package/css/index-without-carbon-released-only.min.css.map +1 -1
- package/css/index-without-carbon.css +72 -20
- package/css/index-without-carbon.css.map +1 -1
- package/css/index-without-carbon.min.css +1 -1
- package/css/index-without-carbon.min.css.map +1 -1
- package/css/index.css +72 -20
- package/css/index.css.map +1 -1
- package/css/index.min.css +1 -1
- package/css/index.min.css.map +1 -1
- package/es/components/AddSelect/next/AddSelectBody.d.ts +3 -1
- package/es/components/AddSelect/next/AddSelectBody.d.ts.map +1 -1
- package/es/components/AddSelect/next/AddSelectBody.js +14 -10
- package/es/components/AddSelect/next/AddSelectColumn.d.ts +3 -2
- package/es/components/AddSelect/next/AddSelectColumn.d.ts.map +1 -1
- package/es/components/AddSelect/next/AddSelectColumn.js +10 -5
- package/es/components/AddSelect/next/AddSelectItemPanel.d.ts +7 -0
- package/es/components/AddSelect/next/AddSelectItemPanel.d.ts.map +1 -1
- package/es/components/AddSelect/next/AddSelectItemPanel.js +7 -7
- package/es/components/AddSelect/next/AddSelectRow.d.ts +6 -0
- package/es/components/AddSelect/next/AddSelectRow.d.ts.map +1 -1
- package/es/components/AddSelect/next/AddSelectRow.js +4 -2
- package/es/components/AddSelect/next/AddSelectSelectionSummary.d.ts +34 -45
- package/es/components/AddSelect/next/AddSelectSelectionSummary.d.ts.map +1 -1
- package/es/components/AddSelect/next/AddSelectSelectionSummary.js +33 -45
- package/es/components/AddSelect/next/AddSelectSelectionSummaryItem.d.ts.map +1 -1
- package/es/components/AddSelect/next/AddSelectSelectionSummaryItem.js +5 -7
- package/es/components/AddSelect/next/context.d.ts +10 -2
- package/es/components/AddSelect/next/context.d.ts.map +1 -1
- package/es/components/AddSelect/next/context.js +1 -4
- package/es/components/Card/next/Card.stories.internal.d.ts +114 -0
- package/es/components/Card/next/Card.stories.internal.d.ts.map +1 -0
- package/es/components/CreateModal/CreateModal.d.ts +3 -0
- package/es/components/CreateModal/CreateModal.d.ts.map +1 -1
- package/es/components/CreateModal/CreateModal.js +8 -0
- package/es/components/CreateSidePanel/CreateSidePanel.d.ts +1 -0
- package/es/components/CreateSidePanel/CreateSidePanel.d.ts.map +1 -1
- package/es/components/CreateSidePanel/CreateSidePanel.js +6 -0
- package/es/components/ExpressiveCard/ExpressiveCard.d.ts +1 -2
- package/es/components/ExpressiveCard/ExpressiveCard.d.ts.map +1 -1
- package/es/components/ExpressiveCard/ExpressiveCard.js +1 -2
- package/es/components/PageHeader/next/PageHeaderContent.d.ts +4 -0
- package/es/components/PageHeader/next/PageHeaderContent.d.ts.map +1 -1
- package/es/components/PageHeader/next/PageHeaderContent.js +19 -20
- package/es/components/RemoveModal/RemoveModal.d.ts +3 -0
- package/es/components/RemoveModal/RemoveModal.d.ts.map +1 -1
- package/es/components/RemoveModal/RemoveModal.js +8 -0
- package/es/components/UserAvatar/UserAvatar.d.ts +2 -3
- package/es/components/UserAvatar/UserAvatar.d.ts.map +1 -1
- package/es/components/UserAvatar/UserAvatar.js +13 -2
- package/es/components/index.d.ts +1 -1
- package/es/components/index.d.ts.map +1 -1
- package/lib/components/AddSelect/next/AddSelectBody.d.ts +3 -1
- package/lib/components/AddSelect/next/AddSelectBody.d.ts.map +1 -1
- package/lib/components/AddSelect/next/AddSelectBody.js +12 -8
- package/lib/components/AddSelect/next/AddSelectColumn.d.ts +3 -2
- package/lib/components/AddSelect/next/AddSelectColumn.d.ts.map +1 -1
- package/lib/components/AddSelect/next/AddSelectColumn.js +10 -5
- package/lib/components/AddSelect/next/AddSelectItemPanel.d.ts +7 -0
- package/lib/components/AddSelect/next/AddSelectItemPanel.d.ts.map +1 -1
- package/lib/components/AddSelect/next/AddSelectItemPanel.js +7 -7
- package/lib/components/AddSelect/next/AddSelectRow.d.ts +6 -0
- package/lib/components/AddSelect/next/AddSelectRow.d.ts.map +1 -1
- package/lib/components/AddSelect/next/AddSelectRow.js +6 -2
- package/lib/components/AddSelect/next/AddSelectSelectionSummary.d.ts +34 -45
- package/lib/components/AddSelect/next/AddSelectSelectionSummary.d.ts.map +1 -1
- package/lib/components/AddSelect/next/AddSelectSelectionSummary.js +33 -45
- package/lib/components/AddSelect/next/AddSelectSelectionSummaryItem.d.ts.map +1 -1
- package/lib/components/AddSelect/next/AddSelectSelectionSummaryItem.js +5 -7
- package/lib/components/AddSelect/next/context.d.ts +10 -2
- package/lib/components/AddSelect/next/context.d.ts.map +1 -1
- package/lib/components/AddSelect/next/context.js +1 -4
- package/lib/components/Card/next/Card.stories.internal.d.ts +114 -0
- package/lib/components/Card/next/Card.stories.internal.d.ts.map +1 -0
- package/lib/components/CreateModal/CreateModal.d.ts +3 -0
- package/lib/components/CreateModal/CreateModal.d.ts.map +1 -1
- package/lib/components/CreateModal/CreateModal.js +8 -0
- package/lib/components/CreateSidePanel/CreateSidePanel.d.ts +1 -0
- package/lib/components/CreateSidePanel/CreateSidePanel.d.ts.map +1 -1
- package/lib/components/CreateSidePanel/CreateSidePanel.js +6 -0
- package/lib/components/ExpressiveCard/ExpressiveCard.d.ts +1 -2
- package/lib/components/ExpressiveCard/ExpressiveCard.d.ts.map +1 -1
- package/lib/components/ExpressiveCard/ExpressiveCard.js +1 -2
- package/lib/components/PageHeader/next/PageHeaderContent.d.ts +4 -0
- package/lib/components/PageHeader/next/PageHeaderContent.d.ts.map +1 -1
- package/lib/components/PageHeader/next/PageHeaderContent.js +17 -18
- package/lib/components/RemoveModal/RemoveModal.d.ts +3 -0
- package/lib/components/RemoveModal/RemoveModal.d.ts.map +1 -1
- package/lib/components/RemoveModal/RemoveModal.js +8 -0
- package/lib/components/UserAvatar/UserAvatar.d.ts +2 -3
- package/lib/components/UserAvatar/UserAvatar.d.ts.map +1 -1
- package/lib/components/UserAvatar/UserAvatar.js +13 -2
- package/lib/components/index.d.ts +1 -1
- package/lib/components/index.d.ts.map +1 -1
- package/package.json +6 -6
- package/scss/components/AddSelect/_add-select_next.scss +81 -18
- package/scss/components/PageHeader/_page-header.scss +2 -1
- package/scss/components/Tearsheet/_tearsheet.scss +3 -0
- package/telemetry.yml +16 -3
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
const require_runtime = require("../../../_virtual/_rolldown/runtime.js");
|
|
9
9
|
const require_index = require("../../../node_modules/classnames/index.js");
|
|
10
|
+
const require_useId = require("../../../global/js/utils/useId.js");
|
|
10
11
|
const require_context = require("./context.js");
|
|
11
12
|
let react = require("react");
|
|
12
13
|
react = require_runtime.__toESM(react);
|
|
@@ -23,10 +24,11 @@ let _carbon_react = require("@carbon/react");
|
|
|
23
24
|
var import_classnames = /* @__PURE__ */ require_runtime.__toESM(require_index.default);
|
|
24
25
|
const AddSelectColumn = (0, react.forwardRef)(({ children, title = "", searchLabel = "Search", searchPlaceholder = "Search", onSearch, actionsSlot, hideSearch = false, multi = false, showSelectAll = false, itemCount = 0, allSelected = false, allIndeterminate = false, onSelectAll, onNavigate, className, searchProps, tagProps, selectAllCheckboxProps, ...rest }, ref) => {
|
|
25
26
|
const parentContext = react.default.useContext(require_context.AddSelectContext);
|
|
26
|
-
const
|
|
27
|
+
const uid = require_useId.useId();
|
|
28
|
+
const [columnSearchTerm, setColumnSearchTerm] = (0, react.useState)("");
|
|
27
29
|
const handleSearch = (e) => {
|
|
28
30
|
const value = e.target.value;
|
|
29
|
-
|
|
31
|
+
setColumnSearchTerm(value);
|
|
30
32
|
onSearch?.(value);
|
|
31
33
|
};
|
|
32
34
|
const handleSelectAll = (_event, { checked }) => {
|
|
@@ -47,10 +49,10 @@ const AddSelectColumn = (0, react.forwardRef)(({ children, title = "", searchLab
|
|
|
47
49
|
placeholder: searchPlaceholder,
|
|
48
50
|
size: "md",
|
|
49
51
|
onChange: handleSearch,
|
|
50
|
-
value:
|
|
52
|
+
value: columnSearchTerm,
|
|
51
53
|
...searchProps
|
|
52
54
|
})), actionsSlot && /* @__PURE__ */ react.default.createElement("div", { className: `${require_context.blockClass}-column__actions` }, actionsSlot)), (showSelectAll || title) && /* @__PURE__ */ react.default.createElement("div", { className: `${require_context.blockClass}-column__header` }, showSelectAll && multi ? /* @__PURE__ */ react.default.createElement(_carbon_react.Checkbox, {
|
|
53
|
-
id:
|
|
55
|
+
id: `${require_context.blockClass}-select-all-${uid}`,
|
|
54
56
|
className: `${require_context.blockClass}-column__select-all`,
|
|
55
57
|
checked: allSelected,
|
|
56
58
|
indeterminate: allIndeterminate,
|
|
@@ -65,7 +67,10 @@ const AddSelectColumn = (0, react.forwardRef)(({ children, title = "", searchLab
|
|
|
65
67
|
type: "gray",
|
|
66
68
|
size: "sm",
|
|
67
69
|
...tagProps
|
|
68
|
-
}, itemCount))), /* @__PURE__ */ react.default.createElement("div", {
|
|
70
|
+
}, itemCount))), /* @__PURE__ */ react.default.createElement("div", {
|
|
71
|
+
className: `${require_context.blockClass}-column__rows`,
|
|
72
|
+
role: "rowgroup"
|
|
73
|
+
}, children)));
|
|
69
74
|
});
|
|
70
75
|
AddSelectColumn.propTypes = {
|
|
71
76
|
actionsSlot: prop_types.default.node,
|
|
@@ -42,6 +42,13 @@ export interface AddSelectItemPanelProps {
|
|
|
42
42
|
* Optional class name
|
|
43
43
|
*/
|
|
44
44
|
className?: string;
|
|
45
|
+
/**
|
|
46
|
+
* Controls visibility of the panel by toggling the
|
|
47
|
+
* `${blockClass}__item-summary-panel--open` CSS modifier class.
|
|
48
|
+
* Use this instead of conditional rendering when you need CSS-driven
|
|
49
|
+
* slide-in/out transitions.
|
|
50
|
+
*/
|
|
51
|
+
open?: boolean;
|
|
45
52
|
/**
|
|
46
53
|
* Additional props to pass to the close IconButton
|
|
47
54
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddSelectItemPanel.d.ts","sourceRoot":"","sources":["../../../../src/components/AddSelect/next/AddSelectItemPanel.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,EAGZ,SAAS,EAEV,MAAM,OAAO,CAAC;AAGf,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAEjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D;;;;GAIG;AAEH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,SAAS,CAAC;IAChD;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,oBAAoB,CAAC,EAAE,IAAI,CACzB,eAAe,EACf,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,WAAW,GAAG,UAAU,CACjE,CAAC;CACH;AAED;;;;;;;;;;;GAWG;AACH,QAAA,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"AddSelectItemPanel.d.ts","sourceRoot":"","sources":["../../../../src/components/AddSelect/next/AddSelectItemPanel.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,EAGZ,SAAS,EAEV,MAAM,OAAO,CAAC;AAGf,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAEjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D;;;;GAIG;AAEH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,SAAS,CAAC;IAChD;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;OAEG;IACH,oBAAoB,CAAC,EAAE,IAAI,CACzB,eAAe,EACf,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,WAAW,GAAG,UAAU,CACjE,CAAC;CACH;AAED;;;;;;;;;;;GAWG;AACH,QAAA,MAAM,kBAAkB,gGAqGvB,CAAC;AAoBF,eAAe,kBAAkB,CAAC"}
|
|
@@ -34,17 +34,16 @@ var import_classnames = /* @__PURE__ */ require_runtime.__toESM(require_index.de
|
|
|
34
34
|
* />
|
|
35
35
|
* ```
|
|
36
36
|
*/
|
|
37
|
-
const AddSelectItemPanel = (0, react.forwardRef)(({ title = "Item details", item, onClose, closeIconDescription = "Close", children, renderItem, className, closeIconButtonProps, ...rest }, ref) => {
|
|
38
|
-
const panelClasses = (0, import_classnames.default)(`${require_context.blockClass}__item-summary-panel`, className);
|
|
37
|
+
const AddSelectItemPanel = (0, react.forwardRef)(({ title = "Item details", item, onClose, closeIconDescription = "Close", children, renderItem, className, open, closeIconButtonProps, ...rest }, ref) => {
|
|
38
|
+
const panelClasses = (0, import_classnames.default)(`${require_context.blockClass}__item-summary-panel`, className, { [`${require_context.blockClass}__item-summary-panel--open`]: open });
|
|
39
39
|
const defaultContent = () => {
|
|
40
40
|
if (!item) return null;
|
|
41
41
|
const { itemDetails } = item;
|
|
42
|
-
if (!itemDetails ||
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
key,
|
|
42
|
+
if (!itemDetails || !Array.isArray(itemDetails) || itemDetails.length === 0) return null;
|
|
43
|
+
return /* @__PURE__ */ react.default.createElement(react.default.Fragment, null, itemDetails.map(({ label, value: val }) => /* @__PURE__ */ react.default.createElement("div", {
|
|
44
|
+
key: label,
|
|
46
45
|
className: `${require_context.blockClass}__item-summary-panel-entry`
|
|
47
|
-
}, /* @__PURE__ */ react.default.createElement("p", { className: `${require_context.blockClass}__item-summary-panel-entry-title` },
|
|
46
|
+
}, /* @__PURE__ */ react.default.createElement("p", { className: `${require_context.blockClass}__item-summary-panel-entry-title` }, label), /* @__PURE__ */ react.default.createElement("p", { className: `${require_context.blockClass}__item-summary-panel-entry-body` }, String(val)))));
|
|
48
47
|
};
|
|
49
48
|
const renderItemContent = () => {
|
|
50
49
|
if (children) return children;
|
|
@@ -75,6 +74,7 @@ AddSelectItemPanel.propTypes = {
|
|
|
75
74
|
item: prop_types.default.object,
|
|
76
75
|
/**@ts-ignore */
|
|
77
76
|
onClose: prop_types.default.func,
|
|
77
|
+
open: prop_types.default.bool,
|
|
78
78
|
/**@ts-ignore */
|
|
79
79
|
renderItem: prop_types.default.func,
|
|
80
80
|
title: prop_types.default.string
|
|
@@ -97,6 +97,12 @@ export interface AddSelectRowProps {
|
|
|
97
97
|
* Additional props to pass to the RadioButton component (when multi=false)
|
|
98
98
|
*/
|
|
99
99
|
radioButtonProps?: Omit<RadioButtonProps, 'id' | 'className' | 'checked' | 'disabled' | 'labelText' | 'hideLabel' | 'value' | 'onChange'>;
|
|
100
|
+
/**
|
|
101
|
+
* Accessible label for the navigation indicator button.
|
|
102
|
+
* Defaults to `Navigate into <title>` when not provided.
|
|
103
|
+
* Override this prop to localize the label.
|
|
104
|
+
*/
|
|
105
|
+
navIndicatorLabel?: string;
|
|
100
106
|
/**
|
|
101
107
|
* Additional props to pass to the IconButton component (info panel)
|
|
102
108
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddSelectRow.d.ts","sourceRoot":"","sources":["../../../../src/components/AddSelect/next/AddSelectRow.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,EAGZ,SAAS,EAGV,MAAM,OAAO,CAAC;AAGf,OAAO,EAML,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACrB,MAAM,eAAe,CAAC;AAIvB;;;;GAIG;AAEH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;OAGG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;;OAIG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C;;OAEG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,aAAa,CAAC,EAAE,IAAI,CAClB,aAAa,EACX,IAAI,GACJ,WAAW,GACX,SAAS,GACT,UAAU,GACV,WAAW,GACX,WAAW,GACX,UAAU,CACb,CAAC;IACF;;OAEG;IACH,gBAAgB,CAAC,EAAE,IAAI,CACrB,gBAAgB,EACd,IAAI,GACJ,WAAW,GACX,SAAS,GACT,UAAU,GACV,WAAW,GACX,WAAW,GACX,OAAO,GACP,UAAU,CACb,CAAC;IACF;;OAEG;IACH,wBAAwB,CAAC,EAAE,IAAI,CAC7B,eAAe,EACf,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,WAAW,GAAG,UAAU,CACjE,CAAC;CACH;AAED,QAAA,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"AddSelectRow.d.ts","sourceRoot":"","sources":["../../../../src/components/AddSelect/next/AddSelectRow.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,EAGZ,SAAS,EAGV,MAAM,OAAO,CAAC;AAGf,OAAO,EAML,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACrB,MAAM,eAAe,CAAC;AAIvB;;;;GAIG;AAEH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;OAGG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;;OAIG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C;;OAEG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,aAAa,CAAC,EAAE,IAAI,CAClB,aAAa,EACX,IAAI,GACJ,WAAW,GACX,SAAS,GACT,UAAU,GACV,WAAW,GACX,WAAW,GACX,UAAU,CACb,CAAC;IACF;;OAEG;IACH,gBAAgB,CAAC,EAAE,IAAI,CACrB,gBAAgB,EACd,IAAI,GACJ,WAAW,GACX,SAAS,GACT,UAAU,GACV,WAAW,GACX,WAAW,GACX,OAAO,GACP,UAAU,CACb,CAAC;IACF;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,wBAAwB,CAAC,EAAE,IAAI,CAC7B,eAAe,EACf,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,WAAW,GAAG,UAAU,CACjE,CAAC;CACH;AAED,QAAA,MAAM,YAAY,0FAqMjB,CAAC;AAiCF,eAAe,YAAY,CAAC"}
|
|
@@ -22,9 +22,12 @@ let _carbon_react_icons = require("@carbon/react/icons");
|
|
|
22
22
|
* LICENSE file in the root directory of this source tree.
|
|
23
23
|
*/
|
|
24
24
|
var import_classnames = /* @__PURE__ */ require_runtime.__toESM(require_index.default);
|
|
25
|
-
const AddSelectRow = (0, react.forwardRef)(({ itemId, title, subtitle, value, selected = false, indeterminate = false, disabled = false, hasChildren = false, parentId = "", icon, children, rowContent, hasItemPanel = false, onItemPanelClick, itemPanelIconDescription = "View details", itemPanelOpen = false, skeleton = false, className, checkboxProps, radioButtonProps, itemPanelIconButtonProps, ...rest }, ref) => {
|
|
25
|
+
const AddSelectRow = (0, react.forwardRef)(({ itemId, title, subtitle, value, selected = false, indeterminate = false, disabled = false, hasChildren = false, parentId = "", icon, children, rowContent, hasItemPanel = false, onItemPanelClick, itemPanelIconDescription = "View details", itemPanelOpen = false, skeleton = false, className, checkboxProps, radioButtonProps, navIndicatorLabel, itemPanelIconButtonProps, ...rest }, ref) => {
|
|
26
26
|
const { multi, onItemSelect, onNavigate, selectedItems } = (0, react.useContext)(require_context.AddSelectContext);
|
|
27
27
|
const isSelected = selectedItems?.has(itemId) ?? selected;
|
|
28
|
+
if (process.env.NODE_ENV !== "production") {
|
|
29
|
+
if (selectedItems !== void 0 && selected !== false) console.warn(`[AddSelectRow] Both the \`selected\` prop and \`selectedItems\` context are set on row "${itemId}". The context value takes precedence. Remove the \`selected\` prop when using controlled mode via AddSelect.`);
|
|
30
|
+
}
|
|
28
31
|
const handleSelect = () => {
|
|
29
32
|
if (disabled) return;
|
|
30
33
|
onItemSelect?.(itemId, !isSelected, value);
|
|
@@ -100,7 +103,7 @@ const AddSelectRow = (0, react.forwardRef)(({ itemId, title, subtitle, value, se
|
|
|
100
103
|
},
|
|
101
104
|
role: "button",
|
|
102
105
|
tabIndex: -1,
|
|
103
|
-
"aria-label":
|
|
106
|
+
"aria-label": navIndicatorLabel ?? `Navigate into ${title}`
|
|
104
107
|
}, /* @__PURE__ */ react.default.createElement(_carbon_react_icons.ChevronRight, { size: 16 })))));
|
|
105
108
|
});
|
|
106
109
|
AddSelectRow.propTypes = {
|
|
@@ -119,6 +122,7 @@ AddSelectRow.propTypes = {
|
|
|
119
122
|
itemPanelIconButtonProps: prop_types.default.object,
|
|
120
123
|
itemPanelIconDescription: prop_types.default.string,
|
|
121
124
|
itemPanelOpen: prop_types.default.bool,
|
|
125
|
+
navIndicatorLabel: prop_types.default.string,
|
|
122
126
|
/**@ts-ignore */
|
|
123
127
|
onItemPanelClick: prop_types.default.func,
|
|
124
128
|
parentId: prop_types.default.string,
|
|
@@ -6,7 +6,6 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import React, { ReactNode } from 'react';
|
|
8
8
|
import { type TagProps, type IconButtonProps } from '@carbon/react';
|
|
9
|
-
import type { AddSelectItem } from '@carbon/ibm-products';
|
|
10
9
|
/**
|
|
11
10
|
* ----------------
|
|
12
11
|
* AddSelectSelectionSummary
|
|
@@ -18,21 +17,19 @@ export interface AddSelectSelectionSummaryProps {
|
|
|
18
17
|
*/
|
|
19
18
|
title?: string;
|
|
20
19
|
/**
|
|
21
|
-
*
|
|
20
|
+
* Number of selected items — shown as a badge next to the title when
|
|
21
|
+
* provided. The badge is hidden when `selectedItemCount` is omitted.
|
|
22
22
|
*/
|
|
23
|
-
|
|
23
|
+
selectedItemCount?: number;
|
|
24
24
|
/**
|
|
25
|
-
* Custom content or
|
|
25
|
+
* Custom content or SelectionSummaryItem components
|
|
26
26
|
*/
|
|
27
27
|
children?: ReactNode;
|
|
28
28
|
/**
|
|
29
|
-
* Custom empty state component
|
|
29
|
+
* Custom empty state component — shown when `selectedItemCount` is `0` or
|
|
30
|
+
* not provided.
|
|
30
31
|
*/
|
|
31
32
|
emptyState?: ReactNode;
|
|
32
|
-
/**
|
|
33
|
-
* Show count badge
|
|
34
|
-
*/
|
|
35
|
-
showCount?: boolean;
|
|
36
33
|
/**
|
|
37
34
|
* Show edit icon next to count
|
|
38
35
|
*/
|
|
@@ -49,10 +46,6 @@ export interface AddSelectSelectionSummaryProps {
|
|
|
49
46
|
* Optional class name
|
|
50
47
|
*/
|
|
51
48
|
className?: string;
|
|
52
|
-
/**
|
|
53
|
-
* Custom item renderer
|
|
54
|
-
*/
|
|
55
|
-
renderItem?: (item: AddSelectItem) => ReactNode;
|
|
56
49
|
/**
|
|
57
50
|
* Custom header content (slot) - replaces entire header section
|
|
58
51
|
*/
|
|
@@ -71,49 +64,45 @@ export interface AddSelectSelectionSummaryProps {
|
|
|
71
64
|
editIconButtonProps?: Omit<IconButtonProps, 'label' | 'onClick' | 'kind' | 'size' | 'className' | 'children'>;
|
|
72
65
|
}
|
|
73
66
|
/**
|
|
74
|
-
* AddSelectSelectionSummary - Displays list of selected items
|
|
67
|
+
* AddSelectSelectionSummary - Displays list of selected items.
|
|
68
|
+
*
|
|
69
|
+
* - Pass `selectedItemCount` to show a numeric badge next to the title; omit it to hide the badge.
|
|
70
|
+
* - Pass `emptyState` to show a placeholder when `selectedItemCount` is `0` or not provided.
|
|
75
71
|
* @example
|
|
76
|
-
*
|
|
72
|
+
* With count badge:
|
|
77
73
|
* ```jsx
|
|
78
|
-
* <AddSelect.
|
|
74
|
+
* <AddSelect.SelectionSummary
|
|
79
75
|
* title="Selected items"
|
|
80
|
-
*
|
|
81
|
-
* showCount
|
|
76
|
+
* selectedItemCount={selectedItemsArray.length}
|
|
82
77
|
* showEditIcon
|
|
83
78
|
* onEdit={handleEdit}
|
|
84
|
-
*
|
|
79
|
+
* >
|
|
80
|
+
* {selectedItemsArray.map((item) => (
|
|
81
|
+
* <AddSelect.SelectionSummaryItem key={item.id} item={item} onRemove={handleRemove} />
|
|
82
|
+
* ))}
|
|
83
|
+
* </AddSelect.SelectionSummary>
|
|
85
84
|
* ```
|
|
86
85
|
*
|
|
87
|
-
*
|
|
86
|
+
* Without badge (omit `selectedItemCount`):
|
|
88
87
|
* ```jsx
|
|
89
|
-
* <AddSelect.
|
|
90
|
-
*
|
|
91
|
-
*
|
|
92
|
-
*
|
|
93
|
-
*
|
|
94
|
-
* <>
|
|
95
|
-
* <IconButton label="Filter" kind="ghost" size="sm">
|
|
96
|
-
* <Filter />
|
|
97
|
-
* </IconButton>
|
|
98
|
-
* <IconButton label="Sort" kind="ghost" size="sm">
|
|
99
|
-
* <Sort />
|
|
100
|
-
* </IconButton>
|
|
101
|
-
* </>
|
|
102
|
-
* }
|
|
103
|
-
* />
|
|
88
|
+
* <AddSelect.SelectionSummary title="Selected items">
|
|
89
|
+
* {selectedItemsArray.map((item) => (
|
|
90
|
+
* <AddSelect.SelectionSummaryItem key={item.id} item={item} onRemove={handleRemove} />
|
|
91
|
+
* ))}
|
|
92
|
+
* </AddSelect.SelectionSummary>
|
|
104
93
|
* ```
|
|
105
94
|
*
|
|
106
|
-
* With
|
|
95
|
+
* With empty state (shown when `selectedItemCount` is `0` or not provided):
|
|
107
96
|
* ```jsx
|
|
108
|
-
* <AddSelect.
|
|
109
|
-
*
|
|
110
|
-
*
|
|
111
|
-
*
|
|
112
|
-
*
|
|
113
|
-
*
|
|
114
|
-
*
|
|
115
|
-
* }
|
|
116
|
-
*
|
|
97
|
+
* <AddSelect.SelectionSummary
|
|
98
|
+
* title="Selected items"
|
|
99
|
+
* selectedItemCount={selectedItemsArray.length}
|
|
100
|
+
* emptyState={<NoDataEmptyState />}
|
|
101
|
+
* >
|
|
102
|
+
* {selectedItemsArray.map((item) => (
|
|
103
|
+
* <AddSelect.SelectionSummaryItem key={item.id} item={item} onRemove={handleRemove} />
|
|
104
|
+
* ))}
|
|
105
|
+
* </AddSelect.SelectionSummary>
|
|
117
106
|
* ```
|
|
118
107
|
*/
|
|
119
108
|
declare const AddSelectSelectionSummary: React.ForwardRefExoticComponent<AddSelectSelectionSummaryProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddSelectSelectionSummary.d.ts","sourceRoot":"","sources":["../../../../src/components/AddSelect/next/AddSelectSelectionSummary.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,EAA4B,SAAS,EAAE,MAAM,OAAO,CAAC;AAGnE,OAAO,EAGL,KAAK,QAAQ,EACb,KAAK,eAAe,EACrB,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"AddSelectSelectionSummary.d.ts","sourceRoot":"","sources":["../../../../src/components/AddSelect/next/AddSelectSelectionSummary.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,EAA4B,SAAS,EAAE,MAAM,OAAO,CAAC;AAGnE,OAAO,EAGL,KAAK,QAAQ,EACb,KAAK,eAAe,EACrB,MAAM,eAAe,CAAC;AAIvB;;;;GAIG;AAEH,MAAM,WAAW,8BAA8B;IAC7C;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB;;OAEG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B;;OAEG;IACH,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B;;OAEG;IACH,QAAQ,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC,CAAC;IAC/D;;OAEG;IACH,mBAAmB,CAAC,EAAE,IAAI,CACxB,eAAe,EACf,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,WAAW,GAAG,UAAU,CACjE,CAAC;CACH;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,QAAA,MAAM,yBAAyB,uGAqE9B,CAAC;AAsBF,eAAe,yBAAyB,CAAC"}
|
|
@@ -23,63 +23,58 @@ let _carbon_react_icons = require("@carbon/react/icons");
|
|
|
23
23
|
*/
|
|
24
24
|
var import_classnames = /* @__PURE__ */ require_runtime.__toESM(require_index.default);
|
|
25
25
|
/**
|
|
26
|
-
* AddSelectSelectionSummary - Displays list of selected items
|
|
26
|
+
* AddSelectSelectionSummary - Displays list of selected items.
|
|
27
|
+
*
|
|
28
|
+
* - Pass `selectedItemCount` to show a numeric badge next to the title; omit it to hide the badge.
|
|
29
|
+
* - Pass `emptyState` to show a placeholder when `selectedItemCount` is `0` or not provided.
|
|
27
30
|
* @example
|
|
28
|
-
*
|
|
31
|
+
* With count badge:
|
|
29
32
|
* ```jsx
|
|
30
|
-
* <AddSelect.
|
|
33
|
+
* <AddSelect.SelectionSummary
|
|
31
34
|
* title="Selected items"
|
|
32
|
-
*
|
|
33
|
-
* showCount
|
|
35
|
+
* selectedItemCount={selectedItemsArray.length}
|
|
34
36
|
* showEditIcon
|
|
35
37
|
* onEdit={handleEdit}
|
|
36
|
-
*
|
|
38
|
+
* >
|
|
39
|
+
* {selectedItemsArray.map((item) => (
|
|
40
|
+
* <AddSelect.SelectionSummaryItem key={item.id} item={item} onRemove={handleRemove} />
|
|
41
|
+
* ))}
|
|
42
|
+
* </AddSelect.SelectionSummary>
|
|
37
43
|
* ```
|
|
38
44
|
*
|
|
39
|
-
*
|
|
45
|
+
* Without badge (omit `selectedItemCount`):
|
|
40
46
|
* ```jsx
|
|
41
|
-
* <AddSelect.
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
* <>
|
|
47
|
-
* <IconButton label="Filter" kind="ghost" size="sm">
|
|
48
|
-
* <Filter />
|
|
49
|
-
* </IconButton>
|
|
50
|
-
* <IconButton label="Sort" kind="ghost" size="sm">
|
|
51
|
-
* <Sort />
|
|
52
|
-
* </IconButton>
|
|
53
|
-
* </>
|
|
54
|
-
* }
|
|
55
|
-
* />
|
|
47
|
+
* <AddSelect.SelectionSummary title="Selected items">
|
|
48
|
+
* {selectedItemsArray.map((item) => (
|
|
49
|
+
* <AddSelect.SelectionSummaryItem key={item.id} item={item} onRemove={handleRemove} />
|
|
50
|
+
* ))}
|
|
51
|
+
* </AddSelect.SelectionSummary>
|
|
56
52
|
* ```
|
|
57
53
|
*
|
|
58
|
-
* With
|
|
54
|
+
* With empty state (shown when `selectedItemCount` is `0` or not provided):
|
|
59
55
|
* ```jsx
|
|
60
|
-
* <AddSelect.
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
* }
|
|
68
|
-
*
|
|
56
|
+
* <AddSelect.SelectionSummary
|
|
57
|
+
* title="Selected items"
|
|
58
|
+
* selectedItemCount={selectedItemsArray.length}
|
|
59
|
+
* emptyState={<NoDataEmptyState />}
|
|
60
|
+
* >
|
|
61
|
+
* {selectedItemsArray.map((item) => (
|
|
62
|
+
* <AddSelect.SelectionSummaryItem key={item.id} item={item} onRemove={handleRemove} />
|
|
63
|
+
* ))}
|
|
64
|
+
* </AddSelect.SelectionSummary>
|
|
69
65
|
* ```
|
|
70
66
|
*/
|
|
71
|
-
const AddSelectSelectionSummary = (0, react.forwardRef)(({ title = "Selected items",
|
|
67
|
+
const AddSelectSelectionSummary = (0, react.forwardRef)(({ title = "Selected items", selectedItemCount, children, emptyState, showEditIcon = false, onEdit, editIconDescription = "Edit selections", className, headerContent, headerActions, tagProps, editIconButtonProps, ...rest }, ref) => {
|
|
72
68
|
const panelClasses = (0, import_classnames.default)(`${require_context.blockClass}__selection-summary`, className);
|
|
73
|
-
const hasSelections = selectedItems.length > 0;
|
|
74
69
|
return /* @__PURE__ */ react.default.createElement("div", {
|
|
75
70
|
className: panelClasses,
|
|
76
71
|
ref,
|
|
77
72
|
...rest
|
|
78
|
-
}, /* @__PURE__ */ react.default.createElement("div", { className: `${require_context.blockClass}__selection-summary-header` }, headerContent || /* @__PURE__ */ react.default.createElement(react.default.Fragment, null, /* @__PURE__ */ react.default.createElement("p", { className: `${require_context.blockClass}__selection-summary-title` }, title),
|
|
73
|
+
}, /* @__PURE__ */ react.default.createElement("div", { className: `${require_context.blockClass}__selection-summary-header` }, headerContent || /* @__PURE__ */ react.default.createElement(react.default.Fragment, null, /* @__PURE__ */ react.default.createElement("p", { className: `${require_context.blockClass}__selection-summary-title` }, title), selectedItemCount !== void 0 && /* @__PURE__ */ react.default.createElement(_carbon_react.Tag, {
|
|
79
74
|
type: "gray",
|
|
80
75
|
size: "sm",
|
|
81
76
|
...tagProps
|
|
82
|
-
},
|
|
77
|
+
}, selectedItemCount), (showEditIcon || headerActions) && /* @__PURE__ */ react.default.createElement("div", { className: `${require_context.blockClass}__selection-summary-header-actions` }, headerActions, showEditIcon && /* @__PURE__ */ react.default.createElement(_carbon_react.IconButton, {
|
|
83
78
|
label: editIconDescription,
|
|
84
79
|
onClick: onEdit,
|
|
85
80
|
kind: "ghost",
|
|
@@ -87,10 +82,7 @@ const AddSelectSelectionSummary = (0, react.forwardRef)(({ title = "Selected ite
|
|
|
87
82
|
autoAlign: true,
|
|
88
83
|
className: `${require_context.blockClass}__selection-summary-edit-button`,
|
|
89
84
|
...editIconButtonProps
|
|
90
|
-
}, /* @__PURE__ */ react.default.createElement(_carbon_react_icons.Edit, { size: 16 }))))), /* @__PURE__ */ react.default.createElement("div", { className: `${require_context.blockClass}__selection-summary-body` },
|
|
91
|
-
key: item.id,
|
|
92
|
-
className: `${require_context.blockClass}__selection-summary-item-default`
|
|
93
|
-
}, /* @__PURE__ */ react.default.createElement("div", { className: `${require_context.blockClass}__selection-summary-item-default-title` }, item.title), item.subtitle && /* @__PURE__ */ react.default.createElement("div", { className: `${require_context.blockClass}__selection-summary-item-default-subtitle` }, item.subtitle)))) : emptyState));
|
|
85
|
+
}, /* @__PURE__ */ react.default.createElement(_carbon_react_icons.Edit, { size: 16 }))))), /* @__PURE__ */ react.default.createElement("div", { className: `${require_context.blockClass}__selection-summary-body` }, !selectedItemCount ? emptyState : children));
|
|
94
86
|
});
|
|
95
87
|
AddSelectSelectionSummary.propTypes = {
|
|
96
88
|
children: prop_types.default.node,
|
|
@@ -103,11 +95,7 @@ AddSelectSelectionSummary.propTypes = {
|
|
|
103
95
|
headerContent: prop_types.default.node,
|
|
104
96
|
/**@ts-ignore */
|
|
105
97
|
onEdit: prop_types.default.func,
|
|
106
|
-
|
|
107
|
-
renderItem: prop_types.default.func,
|
|
108
|
-
/**@ts-ignore */
|
|
109
|
-
selectedItems: prop_types.default.arrayOf(prop_types.default.object),
|
|
110
|
-
showCount: prop_types.default.bool,
|
|
98
|
+
selectedItemCount: prop_types.default.number,
|
|
111
99
|
showEditIcon: prop_types.default.bool,
|
|
112
100
|
/**@ts-ignore */
|
|
113
101
|
tagProps: prop_types.default.object,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddSelectSelectionSummaryItem.d.ts","sourceRoot":"","sources":["../../../../src/components/AddSelect/next/AddSelectSelectionSummaryItem.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,EAAsC,SAAS,EAAE,MAAM,OAAO,CAAC;AAG7E,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACrB,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D;;;;GAIG;AAEH,MAAM,WAAW,kCAAkC;IACjD;;OAEG;IACH,IAAI,EAAE,aAAa,CAAC;IACpB;;OAEG;IACH,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,SAAS,CAAC;IAC1D;;OAEG;IACH,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,SAAS,CAAC;IACzD;;;OAGG;IACH,UAAU,CAAC,EAAE,CACX,IAAI,EAAE,aAAa,EACnB,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,KAC5B,SAAS,CAAC;IACf;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,cAAc,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,UAAU,CAAC,CAAC;IAC5D;;OAEG;IACH,kBAAkB,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,OAAO,GAAG,UAAU,CAAC,CAAC;IACpE;;OAEG;IACH,qBAAqB,CAAC,EAAE,IAAI,CAC1B,eAAe,EACf,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,WAAW,GAAG,UAAU,CACxD,CAAC;CACH;AAED;;;;;;;;;;GAUG;AACH,QAAA,MAAM,6BAA6B,
|
|
1
|
+
{"version":3,"file":"AddSelectSelectionSummaryItem.d.ts","sourceRoot":"","sources":["../../../../src/components/AddSelect/next/AddSelectSelectionSummaryItem.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,EAAsC,SAAS,EAAE,MAAM,OAAO,CAAC;AAG7E,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACrB,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D;;;;GAIG;AAEH,MAAM,WAAW,kCAAkC;IACjD;;OAEG;IACH,IAAI,EAAE,aAAa,CAAC;IACpB;;OAEG;IACH,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,SAAS,CAAC;IAC1D;;OAEG;IACH,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,SAAS,CAAC;IACzD;;;OAGG;IACH,UAAU,CAAC,EAAE,CACX,IAAI,EAAE,aAAa,EACnB,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,KAC5B,SAAS,CAAC;IACf;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,cAAc,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,UAAU,CAAC,CAAC;IAC5D;;OAEG;IACH,kBAAkB,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,OAAO,GAAG,UAAU,CAAC,CAAC;IACpE;;OAEG;IACH,qBAAqB,CAAC,EAAE,IAAI,CAC1B,eAAe,EACf,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,WAAW,GAAG,UAAU,CACxD,CAAC;CACH;AAED;;;;;;;;;;GAUG;AACH,QAAA,MAAM,6BAA6B,2GAgLlC,CAAC;AA4BF,eAAe,6BAA6B,CAAC"}
|
|
@@ -54,14 +54,12 @@ const AddSelectSelectionSummaryItem = (0, react.forwardRef)(({ item, renderAccor
|
|
|
54
54
|
const defaultTitle = /* @__PURE__ */ react.default.createElement("div", { className: `${require_context.blockClass}__selection-summary-item-selected-item` }, /* @__PURE__ */ react.default.createElement("p", { className: `${require_context.blockClass}__selection-summary-item-title` }, item.title), item.subtitle && /* @__PURE__ */ react.default.createElement("p", { className: `${require_context.blockClass}__selection-summary-item-subtitle` }, item.subtitle));
|
|
55
55
|
const defaultTitleRow = /* @__PURE__ */ react.default.createElement("div", { className: `${require_context.blockClass}__selection-summary-item-title-wrapper` }, defaultTitle, onRemove && /* @__PURE__ */ react.default.createElement("div", { className: `${require_context.blockClass}__selection-summary-item-remove-button-container` }, RemoveButton));
|
|
56
56
|
const defaultContent = () => {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
return /* @__PURE__ */ react.default.createElement(react.default.Fragment, null, allEntries.map(([key, val]) => /* @__PURE__ */ react.default.createElement("div", {
|
|
62
|
-
key,
|
|
57
|
+
if (!item?.itemDetails || !Array.isArray(item.itemDetails)) return null;
|
|
58
|
+
if (item.itemDetails.length === 0) return null;
|
|
59
|
+
return /* @__PURE__ */ react.default.createElement(react.default.Fragment, null, item.itemDetails.map(({ label, value: val }) => /* @__PURE__ */ react.default.createElement("div", {
|
|
60
|
+
key: label,
|
|
63
61
|
className: `${require_context.blockClass}__selection-summary-item-entry`
|
|
64
|
-
}, /* @__PURE__ */ react.default.createElement("p", { className: `${require_context.blockClass}__selection-summary-item-header` },
|
|
62
|
+
}, /* @__PURE__ */ react.default.createElement("p", { className: `${require_context.blockClass}__selection-summary-item-header` }, label), /* @__PURE__ */ react.default.createElement("p", { className: `${require_context.blockClass}__selection-summary-item-body` }, String(val)))));
|
|
65
63
|
};
|
|
66
64
|
if (react.Children.count(children) > 0) return /* @__PURE__ */ react.default.createElement("div", {
|
|
67
65
|
className: itemClasses,
|
|
@@ -6,10 +6,18 @@
|
|
|
6
6
|
*/
|
|
7
7
|
export declare const blockClass: string;
|
|
8
8
|
export interface AddSelectContextType {
|
|
9
|
-
multi?: boolean;
|
|
10
9
|
onItemSelect?: (itemId: string, selected: boolean, value: string) => void;
|
|
11
|
-
onNavigate?: (itemId: string, title: string, parentId: string) => void;
|
|
12
10
|
selectedItems?: Set<string>;
|
|
11
|
+
/**
|
|
12
|
+
* Column-scoped: injected by AddSelectColumn, not by the root AddSelect.
|
|
13
|
+
* Determines whether rows use checkboxes (true) or radio buttons (false).
|
|
14
|
+
*/
|
|
15
|
+
multi?: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Column-scoped: injected by AddSelectColumn, not by the root AddSelect.
|
|
18
|
+
* Called when a row's navigation indicator is clicked.
|
|
19
|
+
*/
|
|
20
|
+
onNavigate?: (itemId: string, title: string, parentId: string) => void;
|
|
13
21
|
}
|
|
14
22
|
export declare const AddSelectContext: import("react").Context<AddSelectContextType>;
|
|
15
23
|
//# sourceMappingURL=context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/components/AddSelect/next/context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,eAAO,MAAM,UAAU,QAAoC,CAAC;AAE5D,MAAM,WAAW,oBAAoB;IACnC,
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/components/AddSelect/next/context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,eAAO,MAAM,UAAU,QAAoC,CAAC;AAE5D,MAAM,WAAW,oBAAoB;IACnC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1E,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CACxE;AAED,eAAO,MAAM,gBAAgB,+CAE3B,CAAC"}
|
|
@@ -16,10 +16,7 @@ let react = require("react");
|
|
|
16
16
|
* LICENSE file in the root directory of this source tree.
|
|
17
17
|
*/
|
|
18
18
|
const blockClass = `${require_settings.pkg.prefix}--add-select__next`;
|
|
19
|
-
const AddSelectContext = (0, react.createContext)({
|
|
20
|
-
multi: false,
|
|
21
|
-
selectedItems: void 0
|
|
22
|
-
});
|
|
19
|
+
const AddSelectContext = (0, react.createContext)({ selectedItems: void 0 });
|
|
23
20
|
//#endregion
|
|
24
21
|
exports.AddSelectContext = AddSelectContext;
|
|
25
22
|
exports.blockClass = blockClass;
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright IBM Corp. 2026
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
import React from 'react';
|
|
8
|
+
import './_storybook-styles.scss';
|
|
9
|
+
import '@carbon/charts-react/styles.css';
|
|
10
|
+
declare const _default: {
|
|
11
|
+
title: string;
|
|
12
|
+
component: React.ForwardRefExoticComponent<import("./Card.types").CardProps & React.RefAttributes<HTMLDivElement>> & {
|
|
13
|
+
Header: React.ForwardRefExoticComponent<import("./Card.types").CardBaseProps & React.RefAttributes<HTMLDivElement>>;
|
|
14
|
+
Body: React.ForwardRefExoticComponent<import("./Card.types").CardBaseProps & React.RefAttributes<HTMLDivElement>>;
|
|
15
|
+
Footer: React.ForwardRefExoticComponent<import("./Card.types").CardBaseProps & React.RefAttributes<HTMLDivElement>>;
|
|
16
|
+
HeaderMedia: React.ForwardRefExoticComponent<import("./CardHeaderMedia").CardHeaderMediaProps & React.RefAttributes<HTMLDivElement>>;
|
|
17
|
+
Media: React.ForwardRefExoticComponent<import("./CardMedia").CardMediaProps & React.RefAttributes<HTMLDivElement>>;
|
|
18
|
+
Title: React.ForwardRefExoticComponent<import("./CardTitle").CardTitleProps & React.RefAttributes<HTMLDivElement>>;
|
|
19
|
+
TitleMedia: React.ForwardRefExoticComponent<import("./CardTitleMedia").CardTitleMediaProps & React.RefAttributes<HTMLDivElement>>;
|
|
20
|
+
Actions: React.ForwardRefExoticComponent<import("./CardActions").CardActionsProps & React.RefAttributes<HTMLDivElement>>;
|
|
21
|
+
Action: React.ForwardRefExoticComponent<import("./CardAction").CardActionProps & React.RefAttributes<HTMLDivElement>>;
|
|
22
|
+
};
|
|
23
|
+
subcomponents: {
|
|
24
|
+
CardHeader: React.ForwardRefExoticComponent<import("./Card.types").CardBaseProps & React.RefAttributes<HTMLDivElement>>;
|
|
25
|
+
CardBody: React.ForwardRefExoticComponent<import("./Card.types").CardBaseProps & React.RefAttributes<HTMLDivElement>>;
|
|
26
|
+
CardFooter: React.ForwardRefExoticComponent<import("./Card.types").CardBaseProps & React.RefAttributes<HTMLDivElement>>;
|
|
27
|
+
CardHeaderMedia: React.ForwardRefExoticComponent<import("./CardHeaderMedia").CardHeaderMediaProps & React.RefAttributes<HTMLDivElement>>;
|
|
28
|
+
CardMedia: React.ForwardRefExoticComponent<import("./CardMedia").CardMediaProps & React.RefAttributes<HTMLDivElement>>;
|
|
29
|
+
CardTitle: React.ForwardRefExoticComponent<import("./CardTitle").CardTitleProps & React.RefAttributes<HTMLDivElement>>;
|
|
30
|
+
CardTitleMedia: React.ForwardRefExoticComponent<import("./CardTitleMedia").CardTitleMediaProps & React.RefAttributes<HTMLDivElement>>;
|
|
31
|
+
CardActions: React.ForwardRefExoticComponent<import("./CardActions").CardActionsProps & React.RefAttributes<HTMLDivElement>>;
|
|
32
|
+
CardAction: React.ForwardRefExoticComponent<import("./CardAction").CardActionProps & React.RefAttributes<HTMLDivElement>>;
|
|
33
|
+
};
|
|
34
|
+
tags: string[];
|
|
35
|
+
parameters: {
|
|
36
|
+
layout: string;
|
|
37
|
+
};
|
|
38
|
+
argTypes: {
|
|
39
|
+
density: {
|
|
40
|
+
control: {
|
|
41
|
+
type: string;
|
|
42
|
+
};
|
|
43
|
+
options: string[];
|
|
44
|
+
description: string;
|
|
45
|
+
};
|
|
46
|
+
clickable: {
|
|
47
|
+
control: {
|
|
48
|
+
type: string;
|
|
49
|
+
};
|
|
50
|
+
description: string;
|
|
51
|
+
};
|
|
52
|
+
disabled: {
|
|
53
|
+
control: {
|
|
54
|
+
type: string;
|
|
55
|
+
};
|
|
56
|
+
description: string;
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
export default _default;
|
|
61
|
+
export declare const Minimal: () => React.JSX.Element;
|
|
62
|
+
export declare const Disabled: () => React.JSX.Element;
|
|
63
|
+
export declare const ProductiveAndExpressive: () => React.JSX.Element;
|
|
64
|
+
export declare const WithIcon: () => React.JSX.Element;
|
|
65
|
+
export declare const WithMedia: () => React.JSX.Element;
|
|
66
|
+
export declare const WithHeaderActions: () => React.JSX.Element;
|
|
67
|
+
export declare const WithHeaderMedia: () => React.JSX.Element;
|
|
68
|
+
export declare const WithTruncatedTitle: () => React.JSX.Element;
|
|
69
|
+
export declare const WithAILabel: () => React.JSX.Element;
|
|
70
|
+
/**
|
|
71
|
+
* Title Media Story
|
|
72
|
+
* Demonstrates CardTitleMedia component for icons alongside label+title+caption block
|
|
73
|
+
*/
|
|
74
|
+
export declare const WithTitleMedia: () => React.JSX.Element;
|
|
75
|
+
/**
|
|
76
|
+
* Title leading icon story demonstrating the titleStart prop
|
|
77
|
+
* with both productive and expressive densities
|
|
78
|
+
*/
|
|
79
|
+
export declare const WithTitleLeadingIcon: () => React.JSX.Element;
|
|
80
|
+
/**
|
|
81
|
+
* Title trailing icon story demonstrating the titleEnd prop
|
|
82
|
+
* with both productive and expressive densities
|
|
83
|
+
*/
|
|
84
|
+
export declare const WithTitleTrailingIcon: () => React.JSX.Element;
|
|
85
|
+
/**
|
|
86
|
+
* Video card story demonstrating video content inside Card.Media
|
|
87
|
+
* Uses a sample video to show how video elements work within cards
|
|
88
|
+
*/
|
|
89
|
+
export declare const WithVideo: () => React.JSX.Element;
|
|
90
|
+
/**
|
|
91
|
+
* Horizontal layout: Card.Media on the left, Header/Body/Footer stacked on the right.
|
|
92
|
+
*
|
|
93
|
+
* Usage notes:
|
|
94
|
+
* - Card.Media must be a direct child of Card (not inside Card.Header).
|
|
95
|
+
* - mediaWidth controls the media column width (default: 33.33%).
|
|
96
|
+
* - Content inside Card.Media should fill it: width/height 100% + object-fit: cover.
|
|
97
|
+
*/
|
|
98
|
+
export declare const WithHorizontalMedia: () => React.JSX.Element;
|
|
99
|
+
/**
|
|
100
|
+
* Recreates the GetStartedCard pattern using composable Card primitives.
|
|
101
|
+
*
|
|
102
|
+
* The existing GetStartedCard wraps the legacy Card internally. This story
|
|
103
|
+
* demonstrates the same four variants using the new composable Card, showing
|
|
104
|
+
* that the pattern is achievable without a dedicated wrapper component.
|
|
105
|
+
*
|
|
106
|
+
* Variants:
|
|
107
|
+
* 1. Default — vertical card, pictogram + label + title + metadata footer
|
|
108
|
+
* 2. withSequence — same but a sequence number replaces the pictogram
|
|
109
|
+
* 3. withMedia — horizontal card, content left + image media right
|
|
110
|
+
* 4. withDisabled — disabled state
|
|
111
|
+
*/
|
|
112
|
+
export declare const GetStartedCard: () => React.JSX.Element;
|
|
113
|
+
export declare const WithChart: () => React.JSX.Element;
|
|
114
|
+
//# sourceMappingURL=Card.stories.internal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Card.stories.internal.d.ts","sourceRoot":"","sources":["../../../../src/components/Card/next/Card.stories.internal.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AA0C1B,OAAO,0BAA0B,CAAC;AAClC,OAAO,iCAAiC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIzC,wBAkCE;AAEF,eAAO,MAAM,OAAO,yBA4BnB,CAAC;AAEF,eAAO,MAAM,QAAQ,yBA6CpB,CAAC;AAEF,eAAO,MAAM,uBAAuB,yBA2CnC,CAAC;AAEF,eAAO,MAAM,QAAQ,yBAgFpB,CAAC;AAEF,eAAO,MAAM,SAAS,yBAoErB,CAAC;AAEF,eAAO,MAAM,iBAAiB,yBAgO7B,CAAC;AAEF,eAAO,MAAM,eAAe,yBA0H3B,CAAC;AAEF,eAAO,MAAM,kBAAkB,yBA+D9B,CAAC;AAEF,eAAO,MAAM,WAAW,yBAwIvB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,yBAiL1B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,yBAkDhC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,yBAkDjC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,SAAS,yBA+ErB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,yBAgI/B,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,cAAc,yBAiF1B,CAAC;AAQF,eAAO,MAAM,SAAS,yBAyHrB,CAAC"}
|
|
@@ -64,5 +64,8 @@ resource. It is triggered by a user’s action, appears on top of the main page
|
|
|
64
64
|
content, and is persistent until dismissed. The purpose of this modal should be
|
|
65
65
|
immediately apparent to the user, with a clear and obvious path to completion.
|
|
66
66
|
*/
|
|
67
|
+
/**
|
|
68
|
+
* @deprecated This component is deprecated.
|
|
69
|
+
*/
|
|
67
70
|
export declare const CreateModal: React.ForwardRefExoticComponent<CreateModalProps & React.RefAttributes<HTMLDivElement>>;
|
|
68
71
|
//# sourceMappingURL=CreateModal.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateModal.d.ts","sourceRoot":"","sources":["../../../src/components/CreateModal/CreateModal.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAYH,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAE,SAAS,EAAO,MAAM,OAAO,CAAC;AAWjE,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IACzD;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,cAAc,CAAC,IAAI,IAAI,CAAC;IACxB;;;OAGG;IACH,eAAe,CAAC,IAAI,IAAI,CAAC;IACzB;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;OAEG;IACH,KAAK,EAAE,SAAS,CAAC;IACjB;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;OAEG;IACH,WAAW,EAAE,SAAS,CAAC;IACvB;;OAEG;IACH,mBAAmB,EAAE,MAAM,CAAC;IAC5B;;OAEG;IACH,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB;;OAEG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;GAKG;AACH,eAAO,MAAM,WAAW,yFAoEvB,CAAC"}
|
|
1
|
+
{"version":3,"file":"CreateModal.d.ts","sourceRoot":"","sources":["../../../src/components/CreateModal/CreateModal.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAYH,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAE,SAAS,EAAO,MAAM,OAAO,CAAC;AAWjE,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IACzD;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,cAAc,CAAC,IAAI,IAAI,CAAC;IACxB;;;OAGG;IACH,eAAe,CAAC,IAAI,IAAI,CAAC;IACzB;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;OAEG;IACH,KAAK,EAAE,SAAS,CAAC;IACjB;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;OAEG;IACH,WAAW,EAAE,SAAS,CAAC;IACvB;;OAEG;IACH,mBAAmB,EAAE,MAAM,CAAC;IAC5B;;OAEG;IACH,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB;;OAEG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;GAKG;AACH;;GAEG;AACH,eAAO,MAAM,WAAW,yFAoEvB,CAAC"}
|