@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.
Files changed (106) hide show
  1. package/.playwright/INTERNAL_AVT_REPORT_DO_NOT_USE.json +6383 -0
  2. package/css/index-full-carbon.css +72 -20
  3. package/css/index-full-carbon.css.map +1 -1
  4. package/css/index-full-carbon.min.css +1 -1
  5. package/css/index-full-carbon.min.css.map +1 -1
  6. package/css/index-without-carbon-released-only.css +5 -1
  7. package/css/index-without-carbon-released-only.css.map +1 -1
  8. package/css/index-without-carbon-released-only.min.css +1 -1
  9. package/css/index-without-carbon-released-only.min.css.map +1 -1
  10. package/css/index-without-carbon.css +72 -20
  11. package/css/index-without-carbon.css.map +1 -1
  12. package/css/index-without-carbon.min.css +1 -1
  13. package/css/index-without-carbon.min.css.map +1 -1
  14. package/css/index.css +72 -20
  15. package/css/index.css.map +1 -1
  16. package/css/index.min.css +1 -1
  17. package/css/index.min.css.map +1 -1
  18. package/es/components/AddSelect/next/AddSelectBody.d.ts +3 -1
  19. package/es/components/AddSelect/next/AddSelectBody.d.ts.map +1 -1
  20. package/es/components/AddSelect/next/AddSelectBody.js +14 -10
  21. package/es/components/AddSelect/next/AddSelectColumn.d.ts +3 -2
  22. package/es/components/AddSelect/next/AddSelectColumn.d.ts.map +1 -1
  23. package/es/components/AddSelect/next/AddSelectColumn.js +10 -5
  24. package/es/components/AddSelect/next/AddSelectItemPanel.d.ts +7 -0
  25. package/es/components/AddSelect/next/AddSelectItemPanel.d.ts.map +1 -1
  26. package/es/components/AddSelect/next/AddSelectItemPanel.js +7 -7
  27. package/es/components/AddSelect/next/AddSelectRow.d.ts +6 -0
  28. package/es/components/AddSelect/next/AddSelectRow.d.ts.map +1 -1
  29. package/es/components/AddSelect/next/AddSelectRow.js +4 -2
  30. package/es/components/AddSelect/next/AddSelectSelectionSummary.d.ts +34 -45
  31. package/es/components/AddSelect/next/AddSelectSelectionSummary.d.ts.map +1 -1
  32. package/es/components/AddSelect/next/AddSelectSelectionSummary.js +33 -45
  33. package/es/components/AddSelect/next/AddSelectSelectionSummaryItem.d.ts.map +1 -1
  34. package/es/components/AddSelect/next/AddSelectSelectionSummaryItem.js +5 -7
  35. package/es/components/AddSelect/next/context.d.ts +10 -2
  36. package/es/components/AddSelect/next/context.d.ts.map +1 -1
  37. package/es/components/AddSelect/next/context.js +1 -4
  38. package/es/components/Card/next/Card.stories.internal.d.ts +114 -0
  39. package/es/components/Card/next/Card.stories.internal.d.ts.map +1 -0
  40. package/es/components/CreateModal/CreateModal.d.ts +3 -0
  41. package/es/components/CreateModal/CreateModal.d.ts.map +1 -1
  42. package/es/components/CreateModal/CreateModal.js +8 -0
  43. package/es/components/CreateSidePanel/CreateSidePanel.d.ts +1 -0
  44. package/es/components/CreateSidePanel/CreateSidePanel.d.ts.map +1 -1
  45. package/es/components/CreateSidePanel/CreateSidePanel.js +6 -0
  46. package/es/components/ExpressiveCard/ExpressiveCard.d.ts +1 -2
  47. package/es/components/ExpressiveCard/ExpressiveCard.d.ts.map +1 -1
  48. package/es/components/ExpressiveCard/ExpressiveCard.js +1 -2
  49. package/es/components/PageHeader/next/PageHeaderContent.d.ts +4 -0
  50. package/es/components/PageHeader/next/PageHeaderContent.d.ts.map +1 -1
  51. package/es/components/PageHeader/next/PageHeaderContent.js +19 -20
  52. package/es/components/RemoveModal/RemoveModal.d.ts +3 -0
  53. package/es/components/RemoveModal/RemoveModal.d.ts.map +1 -1
  54. package/es/components/RemoveModal/RemoveModal.js +8 -0
  55. package/es/components/UserAvatar/UserAvatar.d.ts +2 -3
  56. package/es/components/UserAvatar/UserAvatar.d.ts.map +1 -1
  57. package/es/components/UserAvatar/UserAvatar.js +13 -2
  58. package/es/components/index.d.ts +1 -1
  59. package/es/components/index.d.ts.map +1 -1
  60. package/lib/components/AddSelect/next/AddSelectBody.d.ts +3 -1
  61. package/lib/components/AddSelect/next/AddSelectBody.d.ts.map +1 -1
  62. package/lib/components/AddSelect/next/AddSelectBody.js +12 -8
  63. package/lib/components/AddSelect/next/AddSelectColumn.d.ts +3 -2
  64. package/lib/components/AddSelect/next/AddSelectColumn.d.ts.map +1 -1
  65. package/lib/components/AddSelect/next/AddSelectColumn.js +10 -5
  66. package/lib/components/AddSelect/next/AddSelectItemPanel.d.ts +7 -0
  67. package/lib/components/AddSelect/next/AddSelectItemPanel.d.ts.map +1 -1
  68. package/lib/components/AddSelect/next/AddSelectItemPanel.js +7 -7
  69. package/lib/components/AddSelect/next/AddSelectRow.d.ts +6 -0
  70. package/lib/components/AddSelect/next/AddSelectRow.d.ts.map +1 -1
  71. package/lib/components/AddSelect/next/AddSelectRow.js +6 -2
  72. package/lib/components/AddSelect/next/AddSelectSelectionSummary.d.ts +34 -45
  73. package/lib/components/AddSelect/next/AddSelectSelectionSummary.d.ts.map +1 -1
  74. package/lib/components/AddSelect/next/AddSelectSelectionSummary.js +33 -45
  75. package/lib/components/AddSelect/next/AddSelectSelectionSummaryItem.d.ts.map +1 -1
  76. package/lib/components/AddSelect/next/AddSelectSelectionSummaryItem.js +5 -7
  77. package/lib/components/AddSelect/next/context.d.ts +10 -2
  78. package/lib/components/AddSelect/next/context.d.ts.map +1 -1
  79. package/lib/components/AddSelect/next/context.js +1 -4
  80. package/lib/components/Card/next/Card.stories.internal.d.ts +114 -0
  81. package/lib/components/Card/next/Card.stories.internal.d.ts.map +1 -0
  82. package/lib/components/CreateModal/CreateModal.d.ts +3 -0
  83. package/lib/components/CreateModal/CreateModal.d.ts.map +1 -1
  84. package/lib/components/CreateModal/CreateModal.js +8 -0
  85. package/lib/components/CreateSidePanel/CreateSidePanel.d.ts +1 -0
  86. package/lib/components/CreateSidePanel/CreateSidePanel.d.ts.map +1 -1
  87. package/lib/components/CreateSidePanel/CreateSidePanel.js +6 -0
  88. package/lib/components/ExpressiveCard/ExpressiveCard.d.ts +1 -2
  89. package/lib/components/ExpressiveCard/ExpressiveCard.d.ts.map +1 -1
  90. package/lib/components/ExpressiveCard/ExpressiveCard.js +1 -2
  91. package/lib/components/PageHeader/next/PageHeaderContent.d.ts +4 -0
  92. package/lib/components/PageHeader/next/PageHeaderContent.d.ts.map +1 -1
  93. package/lib/components/PageHeader/next/PageHeaderContent.js +17 -18
  94. package/lib/components/RemoveModal/RemoveModal.d.ts +3 -0
  95. package/lib/components/RemoveModal/RemoveModal.d.ts.map +1 -1
  96. package/lib/components/RemoveModal/RemoveModal.js +8 -0
  97. package/lib/components/UserAvatar/UserAvatar.d.ts +2 -3
  98. package/lib/components/UserAvatar/UserAvatar.d.ts.map +1 -1
  99. package/lib/components/UserAvatar/UserAvatar.js +13 -2
  100. package/lib/components/index.d.ts +1 -1
  101. package/lib/components/index.d.ts.map +1 -1
  102. package/package.json +6 -6
  103. package/scss/components/AddSelect/_add-select_next.scss +81 -18
  104. package/scss/components/PageHeader/_page-header.scss +2 -1
  105. package/scss/components/Tearsheet/_tearsheet.scss +3 -0
  106. 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 [searchTerm, setSearchTerm] = (0, react.useState)("");
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
- setSearchTerm(value);
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: searchTerm,
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: `select-all-${title}`,
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", { className: `${require_context.blockClass}-column__rows` }, children)));
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,gGA6FvB,CAAC;AAmBF,eAAe,kBAAkB,CAAC"}
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 || Object.keys(itemDetails).length === 0) return null;
43
- const entries = Object.entries(itemDetails);
44
- return /* @__PURE__ */ react.default.createElement(react.default.Fragment, null, entries.map(([key, val]) => /* @__PURE__ */ react.default.createElement("div", {
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` }, key), /* @__PURE__ */ react.default.createElement("p", { className: `${require_context.blockClass}__item-summary-panel-entry-body` }, String(val)))));
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,0FA0LjB,CAAC;AAgCF,eAAe,YAAY,CAAC"}
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": "Navigate to children"
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
- * Array of selected items
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
- selectedItems?: AddSelectItem[];
23
+ selectedItemCount?: number;
24
24
  /**
25
- * Custom content or SelectionSummaryPanelItem components
25
+ * Custom content or SelectionSummaryItem components
26
26
  */
27
27
  children?: ReactNode;
28
28
  /**
29
- * Custom empty state component (user provides)
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
- * Basic usage:
72
+ * With count badge:
77
73
  * ```jsx
78
- * <AddSelect.SelectionSummaryPanel
74
+ * <AddSelect.SelectionSummary
79
75
  * title="Selected items"
80
- * selectedItems={items}
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
- * With custom header actions:
86
+ * Without badge (omit `selectedItemCount`):
88
87
  * ```jsx
89
- * <AddSelect.SelectionSummaryPanel
90
- * title="Selected items"
91
- * selectedItems={items}
92
- * showCount
93
- * headerActions={
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 fully custom header:
95
+ * With empty state (shown when `selectedItemCount` is `0` or not provided):
107
96
  * ```jsx
108
- * <AddSelect.SelectionSummaryPanel
109
- * selectedItems={items}
110
- * headerContent={
111
- * <div className="custom-header">
112
- * <h3>My Custom Header</h3>
113
- * <Button>Custom Action</Button>
114
- * </div>
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;AAEvB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D;;;;GAIG;AAEH,MAAM,WAAW,8BAA8B;IAC7C;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,aAAa,CAAC,EAAE,aAAa,EAAE,CAAC;IAChC;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;OAEG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;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,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,SAAS,CAAC;IAChD;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,QAAA,MAAM,yBAAyB,uGA0G9B,CAAC;AA0BF,eAAe,yBAAyB,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
- * Basic usage:
31
+ * With count badge:
29
32
  * ```jsx
30
- * <AddSelect.SelectionSummaryPanel
33
+ * <AddSelect.SelectionSummary
31
34
  * title="Selected items"
32
- * selectedItems={items}
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
- * With custom header actions:
45
+ * Without badge (omit `selectedItemCount`):
40
46
  * ```jsx
41
- * <AddSelect.SelectionSummaryPanel
42
- * title="Selected items"
43
- * selectedItems={items}
44
- * showCount
45
- * headerActions={
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 fully custom header:
54
+ * With empty state (shown when `selectedItemCount` is `0` or not provided):
59
55
  * ```jsx
60
- * <AddSelect.SelectionSummaryPanel
61
- * selectedItems={items}
62
- * headerContent={
63
- * <div className="custom-header">
64
- * <h3>My Custom Header</h3>
65
- * <Button>Custom Action</Button>
66
- * </div>
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", selectedItems = [], children, emptyState, showCount = true, showEditIcon = false, onEdit, editIconDescription = "Edit selections", className, renderItem, headerContent, headerActions, tagProps, editIconButtonProps, ...rest }, ref) => {
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), showCount && /* @__PURE__ */ react.default.createElement(_carbon_react.Tag, {
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
- }, selectedItems.length), (showEditIcon || headerActions) && /* @__PURE__ */ react.default.createElement("div", { className: `${require_context.blockClass}__selection-summary-header-actions` }, headerActions, showEditIcon && /* @__PURE__ */ react.default.createElement(_carbon_react.IconButton, {
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` }, hasSelections ? children ? children : renderItem ? selectedItems.map((item) => /* @__PURE__ */ react.default.createElement("div", { key: item.id }, renderItem(item))) : /* @__PURE__ */ react.default.createElement("div", null, selectedItems.map((item) => /* @__PURE__ */ react.default.createElement("div", {
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
- /**@ts-ignore */
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,2GAiMlC,CAAC;AA4BF,eAAe,6BAA6B,CAAC"}
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
- const itemProps = Object.entries(item).filter(([key]) => key !== "title" && key !== "subtitle" && key !== "icon" && key !== "id" && key !== "children" && key !== "selected" && key !== "status" && key !== "disabled" && key !== "itemDetails");
58
- const itemDetailsProps = item.itemDetails ? Object.entries(item.itemDetails) : [];
59
- const allEntries = [...itemProps, ...itemDetailsProps];
60
- if (allEntries.length === 0) return null;
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` }, key), /* @__PURE__ */ react.default.createElement("p", { className: `${require_context.blockClass}__selection-summary-item-body` }, String(val)))));
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,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1E,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACvE,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC7B;AAED,eAAO,MAAM,gBAAgB,+CAG3B,CAAC"}
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"}