@carbon/ibm-products 2.38.0 → 2.40.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (196) hide show
  1. package/css/index-full-carbon.css +236 -3
  2. package/css/index-full-carbon.css.map +1 -1
  3. package/css/index-full-carbon.min.css +1 -1
  4. package/css/index-full-carbon.min.css.map +1 -1
  5. package/css/index-without-carbon-released-only.css +5 -0
  6. package/css/index-without-carbon-released-only.css.map +1 -1
  7. package/css/index-without-carbon-released-only.min.css +1 -1
  8. package/css/index-without-carbon-released-only.min.css.map +1 -1
  9. package/css/index-without-carbon.css +236 -3
  10. package/css/index-without-carbon.css.map +1 -1
  11. package/css/index-without-carbon.min.css +1 -1
  12. package/css/index-without-carbon.min.css.map +1 -1
  13. package/css/index.css +236 -3
  14. package/css/index.css.map +1 -1
  15. package/css/index.min.css +1 -1
  16. package/css/index.min.css.map +1 -1
  17. package/es/components/AddSelect/AddSelect.d.ts +44 -2
  18. package/es/components/AddSelect/AddSelect.js +8 -4
  19. package/es/components/AddSelect/AddSelectBody.d.ts +44 -2
  20. package/es/components/AddSelect/AddSelectBody.js +10 -12
  21. package/es/components/AddSelect/AddSelectSort.d.ts +16 -17
  22. package/es/components/AddSelect/AddSelectSort.js +5 -5
  23. package/es/components/AddSelect/types/index.d.ts +44 -0
  24. package/es/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.d.ts +5 -1
  25. package/es/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +12 -6
  26. package/es/components/Card/Card.js +50 -9
  27. package/es/components/Card/CardFooter.d.ts +5 -1
  28. package/es/components/Card/CardFooter.js +11 -1
  29. package/es/components/Carousel/Carousel.d.ts +6 -2
  30. package/es/components/Checklist/Checklist.d.ts +100 -2
  31. package/es/components/Checklist/Checklist.js +9 -5
  32. package/es/components/Checklist/Checklist.types.d.ts +19 -0
  33. package/es/components/Checklist/Checklist.types.js +22 -0
  34. package/es/components/Checklist/ChecklistChart.d.ts +5 -1
  35. package/es/components/Checklist/ChecklistChart.js +9 -4
  36. package/es/components/Checklist/ChecklistIcon.d.ts +5 -1
  37. package/es/components/Checklist/ChecklistIcon.js +9 -4
  38. package/es/components/CoachmarkButton/CoachmarkButton.d.ts +19 -2
  39. package/es/components/CoachmarkOverlayElements/CoachmarkOverlayElements.d.ts +46 -2
  40. package/es/components/CoachmarkOverlayElements/CoachmarkOverlayElements.js +5 -4
  41. package/es/components/CreateInfluencer/CreateInfluencer.d.ts +55 -17
  42. package/es/components/CreateInfluencer/CreateInfluencer.js +1 -1
  43. package/es/components/CreateTearsheet/CreateTearsheetStep.d.ts +95 -2
  44. package/es/components/CreateTearsheet/CreateTearsheetStep.js +7 -5
  45. package/es/components/DataSpreadsheet/DataSpreadsheet.d.ts +67 -2
  46. package/es/components/DataSpreadsheet/DataSpreadsheet.js +50 -28
  47. package/es/components/DataSpreadsheet/DataSpreadsheetBody.d.ts +139 -2
  48. package/es/components/DataSpreadsheet/DataSpreadsheetBody.js +46 -31
  49. package/es/components/DataSpreadsheet/DataSpreadsheetHeader.d.ts +89 -2
  50. package/es/components/DataSpreadsheet/DataSpreadsheetHeader.js +39 -25
  51. package/es/components/DataSpreadsheet/types/index.d.ts +30 -0
  52. package/es/components/Datagrid/Datagrid/DatagridVirtualBody.js +5 -1
  53. package/es/components/ExpressiveCard/ExpressiveCard.d.ts +2 -1
  54. package/es/components/GetStartedCard/GetStartedCard.d.ts +5 -0
  55. package/es/components/GetStartedCard/GetStartedCard.js +82 -0
  56. package/es/components/GetStartedCard/index.d.ts +1 -0
  57. package/es/components/Guidebanner/Guidebanner.d.ts +62 -2
  58. package/es/components/Guidebanner/Guidebanner.js +6 -5
  59. package/es/components/Guidebanner/GuidebannerElement.d.ts +30 -17
  60. package/es/components/Guidebanner/GuidebannerElement.js +4 -4
  61. package/es/components/Guidebanner/GuidebannerElementButton.d.ts +29 -15
  62. package/es/components/Guidebanner/GuidebannerElementButton.js +10 -4
  63. package/es/components/Guidebanner/GuidebannerElementLink.d.ts +20 -13
  64. package/es/components/Guidebanner/GuidebannerElementLink.js +3 -3
  65. package/es/components/InterstitialScreen/InterstitialScreen.js +3 -1
  66. package/es/components/MultiAddSelect/MultiAddSelect.d.ts +134 -2
  67. package/es/components/MultiAddSelect/MultiAddSelect.js +2 -1
  68. package/es/components/NotificationsPanel/NotificationsPanel.d.ts +162 -1
  69. package/es/components/NotificationsPanel/NotificationsPanel.js +10 -11
  70. package/es/components/PageHeader/PageHeader.d.ts +298 -5
  71. package/es/components/PageHeader/PageHeader.js +98 -47
  72. package/es/components/PageHeader/PageHeaderUtils.d.ts +1 -1
  73. package/es/components/PageHeader/PageHeaderUtils.js +4 -1
  74. package/es/components/SidePanel/SidePanel.d.ts +6 -2
  75. package/es/components/SidePanel/SidePanel.js +18 -3
  76. package/es/components/SidePanel/constants.d.ts +1 -0
  77. package/es/components/SidePanel/constants.js +1 -0
  78. package/es/components/SingleAddSelect/SingleAddSelect.d.ts +69 -2
  79. package/es/components/SingleAddSelect/SingleAddSelect.js +2 -1
  80. package/es/components/TagOverflow/TagOverflow.d.ts +5 -0
  81. package/es/components/TagOverflow/TagOverflow.js +153 -29
  82. package/es/components/TagOverflow/TagOverflowModal.d.ts +29 -0
  83. package/es/components/TagOverflow/TagOverflowModal.js +112 -0
  84. package/es/components/TagOverflow/TagOverflowPopover.d.ts +2 -0
  85. package/es/components/TagOverflow/TagOverflowPopover.js +135 -0
  86. package/es/components/Tearsheet/Tearsheet.d.ts +132 -6
  87. package/es/components/Tearsheet/Tearsheet.js +25 -13
  88. package/es/components/Tearsheet/TearsheetShell.d.ts +5 -1
  89. package/es/components/Tearsheet/TearsheetShell.js +26 -4
  90. package/es/components/WebTerminal/WebTerminal.d.ts +4 -0
  91. package/es/components/WebTerminal/WebTerminal.js +11 -3
  92. package/es/components/index.d.ts +1 -0
  93. package/es/global/js/hooks/useFocus.d.ts +3 -1
  94. package/es/global/js/hooks/useFocus.js +6 -3
  95. package/es/global/js/hooks/useRetrieveStepData.d.ts +1 -1
  96. package/es/global/js/hooks/useRetrieveStepData.js +1 -1
  97. package/es/global/js/package-settings.d.ts +1 -0
  98. package/es/global/js/package-settings.js +1 -0
  99. package/es/index.js +1 -0
  100. package/es/settings.d.ts +1 -0
  101. package/lib/components/AddSelect/AddSelect.d.ts +44 -2
  102. package/lib/components/AddSelect/AddSelect.js +7 -3
  103. package/lib/components/AddSelect/AddSelectBody.d.ts +44 -2
  104. package/lib/components/AddSelect/AddSelectBody.js +10 -12
  105. package/lib/components/AddSelect/AddSelectSort.d.ts +16 -17
  106. package/lib/components/AddSelect/AddSelectSort.js +5 -5
  107. package/lib/components/AddSelect/types/index.d.ts +44 -0
  108. package/lib/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.d.ts +5 -1
  109. package/lib/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +12 -6
  110. package/lib/components/Card/Card.js +50 -9
  111. package/lib/components/Card/CardFooter.d.ts +5 -1
  112. package/lib/components/Card/CardFooter.js +11 -1
  113. package/lib/components/Carousel/Carousel.d.ts +6 -2
  114. package/lib/components/Checklist/Checklist.d.ts +100 -2
  115. package/lib/components/Checklist/Checklist.js +9 -5
  116. package/lib/components/Checklist/Checklist.types.d.ts +19 -0
  117. package/lib/components/Checklist/Checklist.types.js +27 -0
  118. package/lib/components/Checklist/ChecklistChart.d.ts +5 -1
  119. package/lib/components/Checklist/ChecklistChart.js +14 -9
  120. package/lib/components/Checklist/ChecklistIcon.d.ts +5 -1
  121. package/lib/components/Checklist/ChecklistIcon.js +9 -4
  122. package/lib/components/CoachmarkButton/CoachmarkButton.d.ts +19 -2
  123. package/lib/components/CoachmarkOverlayElements/CoachmarkOverlayElements.d.ts +46 -2
  124. package/lib/components/CoachmarkOverlayElements/CoachmarkOverlayElements.js +5 -4
  125. package/lib/components/CreateInfluencer/CreateInfluencer.d.ts +55 -17
  126. package/lib/components/CreateInfluencer/CreateInfluencer.js +1 -1
  127. package/lib/components/CreateTearsheet/CreateTearsheetStep.d.ts +95 -2
  128. package/lib/components/CreateTearsheet/CreateTearsheetStep.js +7 -5
  129. package/lib/components/DataSpreadsheet/DataSpreadsheet.d.ts +67 -2
  130. package/lib/components/DataSpreadsheet/DataSpreadsheet.js +50 -28
  131. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.d.ts +139 -2
  132. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +46 -31
  133. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.d.ts +89 -2
  134. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.js +39 -25
  135. package/lib/components/DataSpreadsheet/types/index.d.ts +30 -0
  136. package/lib/components/Datagrid/Datagrid/DatagridVirtualBody.js +5 -1
  137. package/lib/components/ExpressiveCard/ExpressiveCard.d.ts +2 -1
  138. package/lib/components/GetStartedCard/GetStartedCard.d.ts +5 -0
  139. package/lib/components/GetStartedCard/GetStartedCard.js +88 -0
  140. package/lib/components/GetStartedCard/index.d.ts +1 -0
  141. package/lib/components/Guidebanner/Guidebanner.d.ts +62 -2
  142. package/lib/components/Guidebanner/Guidebanner.js +6 -5
  143. package/lib/components/Guidebanner/GuidebannerElement.d.ts +30 -17
  144. package/lib/components/Guidebanner/GuidebannerElement.js +4 -4
  145. package/lib/components/Guidebanner/GuidebannerElementButton.d.ts +29 -15
  146. package/lib/components/Guidebanner/GuidebannerElementButton.js +10 -4
  147. package/lib/components/Guidebanner/GuidebannerElementLink.d.ts +20 -13
  148. package/lib/components/Guidebanner/GuidebannerElementLink.js +3 -3
  149. package/lib/components/InterstitialScreen/InterstitialScreen.js +3 -1
  150. package/lib/components/MultiAddSelect/MultiAddSelect.d.ts +134 -2
  151. package/lib/components/MultiAddSelect/MultiAddSelect.js +2 -1
  152. package/lib/components/NotificationsPanel/NotificationsPanel.d.ts +162 -1
  153. package/lib/components/NotificationsPanel/NotificationsPanel.js +10 -11
  154. package/lib/components/PageHeader/PageHeader.d.ts +298 -5
  155. package/lib/components/PageHeader/PageHeader.js +98 -47
  156. package/lib/components/PageHeader/PageHeaderUtils.d.ts +1 -1
  157. package/lib/components/PageHeader/PageHeaderUtils.js +4 -1
  158. package/lib/components/SidePanel/SidePanel.d.ts +6 -2
  159. package/lib/components/SidePanel/SidePanel.js +18 -3
  160. package/lib/components/SidePanel/constants.d.ts +1 -0
  161. package/lib/components/SidePanel/constants.js +1 -0
  162. package/lib/components/SingleAddSelect/SingleAddSelect.d.ts +69 -2
  163. package/lib/components/SingleAddSelect/SingleAddSelect.js +2 -1
  164. package/lib/components/TagOverflow/TagOverflow.d.ts +5 -0
  165. package/lib/components/TagOverflow/TagOverflow.js +154 -28
  166. package/lib/components/TagOverflow/TagOverflowModal.d.ts +29 -0
  167. package/lib/components/TagOverflow/TagOverflowModal.js +121 -0
  168. package/lib/components/TagOverflow/TagOverflowPopover.d.ts +2 -0
  169. package/lib/components/TagOverflow/TagOverflowPopover.js +144 -0
  170. package/lib/components/Tearsheet/Tearsheet.d.ts +132 -6
  171. package/lib/components/Tearsheet/Tearsheet.js +25 -13
  172. package/lib/components/Tearsheet/TearsheetShell.d.ts +5 -1
  173. package/lib/components/Tearsheet/TearsheetShell.js +26 -4
  174. package/lib/components/WebTerminal/WebTerminal.d.ts +4 -0
  175. package/lib/components/WebTerminal/WebTerminal.js +11 -3
  176. package/lib/components/index.d.ts +1 -0
  177. package/lib/global/js/hooks/useFocus.d.ts +3 -1
  178. package/lib/global/js/hooks/useFocus.js +6 -3
  179. package/lib/global/js/hooks/useRetrieveStepData.d.ts +1 -1
  180. package/lib/global/js/hooks/useRetrieveStepData.js +1 -1
  181. package/lib/global/js/package-settings.d.ts +1 -0
  182. package/lib/global/js/package-settings.js +1 -0
  183. package/lib/index.js +5 -0
  184. package/lib/settings.d.ts +1 -0
  185. package/package.json +3 -3
  186. package/scss/components/CoachmarkStack/_coachmark-stack.scss +4 -2
  187. package/scss/components/GetStartedCard/_carbon-imports.scss +9 -0
  188. package/scss/components/GetStartedCard/_get-started-card.scss +135 -0
  189. package/scss/components/GetStartedCard/_index-with-carbon.scss +9 -0
  190. package/scss/components/GetStartedCard/_index.scss +8 -0
  191. package/scss/components/SidePanel/_side-panel-variables.scss +1 -0
  192. package/scss/components/StringFormatter/_string-formatter.scss +1 -1
  193. package/scss/components/TagOverflow/_tag-overflow.scss +157 -0
  194. package/scss/components/_index-with-carbon.scss +1 -0
  195. package/scss/components/_index.scss +1 -0
  196. package/telemetry.yml +25 -16
@@ -1,2 +1,44 @@
1
- export let AddSelectBody: React.ForwardRefExoticComponent<React.RefAttributes<any>>;
2
- import React from 'react';
1
+ import React, { ReactNode } from 'react';
2
+ import { Item, Theme } from './types';
3
+ export interface AddSelectBodyProps {
4
+ className?: string;
5
+ clearFiltersText?: string;
6
+ closeIconDescription?: string;
7
+ columnInputPlaceholder?: string;
8
+ defaultModifiers?: Array<any>;
9
+ description?: string;
10
+ filterByLabel?: string;
11
+ globalFilterOpts?: Array<any>;
12
+ globalFiltersIconDescription?: string;
13
+ globalFiltersLabel?: string;
14
+ globalFiltersPlaceholderText?: string;
15
+ globalFiltersPrimaryButtonText?: string;
16
+ globalFiltersSecondaryButtonText?: string;
17
+ globalSearchLabel: string;
18
+ globalSearchPlaceholder?: string;
19
+ globalSortBy?: Array<any>;
20
+ illustrationTheme?: Theme;
21
+ influencerTitle?: string;
22
+ items?: Item;
23
+ itemsLabel?: string;
24
+ metaIconDescription?: string;
25
+ metaPanelTitle?: string;
26
+ multi?: boolean;
27
+ navIconDescription?: string;
28
+ noResultsDescription?: string;
29
+ noResultsTitle?: string;
30
+ noSelectionDescription?: string;
31
+ noSelectionTitle?: string;
32
+ normalizedItems?: object;
33
+ onClose?: () => void;
34
+ onCloseButtonText?: string;
35
+ onSubmit?: (selection: any) => void;
36
+ onSubmitButtonText?: string;
37
+ open?: boolean;
38
+ portalTarget?: ReactNode;
39
+ searchResultsTitle?: string;
40
+ sortByLabel?: string;
41
+ title?: string;
42
+ useNormalizedItems?: boolean;
43
+ }
44
+ export declare const AddSelectBody: React.ForwardRefExoticComponent<AddSelectBodyProps & React.RefAttributes<HTMLDivElement>>;
@@ -122,7 +122,7 @@ var AddSelectBody = /*#__PURE__*/forwardRef(function (_ref, ref) {
122
122
  };
123
123
  var onCloseHandler = function onCloseHandler() {
124
124
  resetState();
125
- onClose();
125
+ onClose === null || onClose === void 0 || onClose();
126
126
  };
127
127
  var tearsheetClassnames = cx(className, blockClass, _defineProperty(_defineProperty({}, "".concat(blockClass, "__single"), !multi), "".concat(blockClass, "__multi"), multi));
128
128
  var globalFilterKeys = Object.keys(appliedGlobalFilters);
@@ -136,17 +136,17 @@ var AddSelectBody = /*#__PURE__*/forwardRef(function (_ref, ref) {
136
136
  setAppliedGlobalFilters(filters);
137
137
  };
138
138
  var submitHandler = function submitHandler() {
139
- if (multi && appliedModifiers.length > 0) {
139
+ if (multi && appliedModifiers && (appliedModifiers === null || appliedModifiers === void 0 ? void 0 : appliedModifiers.length) > 0) {
140
140
  var selections = multiSelection.map(function (item) {
141
141
  return appliedModifiers.find(function (mod) {
142
142
  return mod.id === item;
143
143
  });
144
144
  });
145
- onSubmit(selections);
146
- } else if (multi && appliedModifiers.length === 0) {
147
- onSubmit(multiSelection);
145
+ onSubmit === null || onSubmit === void 0 || onSubmit(selections);
146
+ } else if (multi && (appliedModifiers === null || appliedModifiers === void 0 ? void 0 : appliedModifiers.length) === 0) {
147
+ onSubmit === null || onSubmit === void 0 || onSubmit(multiSelection);
148
148
  } else {
149
- onSubmit(singleSelection);
149
+ onSubmit === null || onSubmit === void 0 || onSubmit(singleSelection);
150
150
  }
151
151
  onCloseHandler();
152
152
  };
@@ -213,9 +213,9 @@ var AddSelectBody = /*#__PURE__*/forwardRef(function (_ref, ref) {
213
213
  displayMetalPanel: displayMetalPanel,
214
214
  illustrationTheme: illustrationTheme,
215
215
  influencerTitle: influencerTitle,
216
- items: useNormalizedItems ? normalizedItems : items.entries,
216
+ items: useNormalizedItems ? normalizedItems : items === null || items === void 0 ? void 0 : items.entries,
217
217
  metaPanelTitle: metaPanelTitle,
218
- modifiers: items.modifiers,
218
+ modifiers: items === null || items === void 0 ? void 0 : items.modifiers,
219
219
  multiSelection: multiSelection,
220
220
  noSelectionDescription: noSelectionDescription,
221
221
  noSelectionTitle: noSelectionTitle,
@@ -257,11 +257,8 @@ var AddSelectBody = /*#__PURE__*/forwardRef(function (_ref, ref) {
257
257
  type: "gray",
258
258
  size: "sm"
259
259
  }, itemsToDisplay.length)), showSort && /*#__PURE__*/React__default.createElement(AddSelectSort, {
260
- items: itemsToDisplay,
261
260
  setSortAttribute: setSortAttribute,
262
261
  setSortDirection: setSortDirection,
263
- sortAttribute: sortAttribute,
264
- sortDirection: sortDirection,
265
262
  sortBy: globalSortBy
266
263
  }))), displayColumnView ? /*#__PURE__*/React__default.createElement("div", {
267
264
  className: "".concat(blockClass, "__columns")
@@ -273,7 +270,7 @@ var AddSelectBody = /*#__PURE__*/forwardRef(function (_ref, ref) {
273
270
  sortByLabel: sortByLabel
274
271
  }))) : /*#__PURE__*/React__default.createElement("div", null, hasResults ? /*#__PURE__*/React__default.createElement(AddSelectList, _extends({}, commonListProps, {
275
272
  filteredItems: itemsToDisplay,
276
- modifiers: items.modifiers,
273
+ modifiers: items === null || items === void 0 ? void 0 : items.modifiers,
277
274
  appliedModifiers: appliedModifiers,
278
275
  setAppliedModifiers: setAppliedModifiers,
279
276
  setParentSelected: parentSelectionHandler,
@@ -313,6 +310,7 @@ AddSelectBody.propTypes = {
313
310
  globalSortBy: PropTypes.array,
314
311
  illustrationTheme: PropTypes.oneOf(['light', 'dark']),
315
312
  influencerTitle: PropTypes.string,
313
+ /**@ts-ignore */
316
314
  items: PropTypes.shape({
317
315
  modifiers: PropTypes.shape({
318
316
  id: PropTypes.string,
@@ -1,18 +1,17 @@
1
- export function AddSelectSort({ setSortAttribute, setSortDirection, sortBy, sortByLabel, }: {
2
- setSortAttribute: any;
3
- setSortDirection: any;
4
- sortBy: any;
5
- sortByLabel: any;
6
- }): import("react/jsx-runtime").JSX.Element;
7
- export namespace AddSelectSort {
8
- export namespace propTypes {
9
- let setSortAttribute: PropTypes.Requireable<(...args: any[]) => any>;
10
- let setSortDirection: PropTypes.Requireable<(...args: any[]) => any>;
11
- let sortBy: PropTypes.Requireable<any[]>;
12
- let sortByLabel: PropTypes.Requireable<string>;
13
- }
14
- export { componentName as displayName };
15
- }
16
1
  import PropTypes from 'prop-types';
17
- declare const componentName: "AddSelectSort";
18
- export {};
2
+ export interface AddSelectSortProps {
3
+ setSortAttribute?: (attribute: any) => void;
4
+ setSortDirection?: (direction: any) => void;
5
+ sortBy?: Array<string>;
6
+ sortByLabel?: string;
7
+ }
8
+ export declare const AddSelectSort: {
9
+ ({ setSortAttribute, setSortDirection, sortBy, sortByLabel, }: AddSelectSortProps): import("react/jsx-runtime").JSX.Element;
10
+ propTypes: {
11
+ setSortAttribute: PropTypes.Requireable<(...args: any[]) => any>;
12
+ setSortDirection: PropTypes.Requireable<(...args: any[]) => any>;
13
+ sortBy: PropTypes.Requireable<any[]>;
14
+ sortByLabel: PropTypes.Requireable<string>;
15
+ };
16
+ displayName: string;
17
+ };
@@ -20,7 +20,7 @@ var AddSelectSort = function AddSelectSort(_ref) {
20
20
  setSortDirection = _ref.setSortDirection,
21
21
  sortBy = _ref.sortBy,
22
22
  sortByLabel = _ref.sortByLabel;
23
- var sortByOpts = sortBy ? sortBy.reduce(function (acc, cur) {
23
+ var sortByOpts = sortBy ? sortBy === null || sortBy === void 0 ? void 0 : sortBy.reduce(function (acc, cur) {
24
24
  var opts = [{
25
25
  id: "".concat(cur, "-asc"),
26
26
  itemText: /*#__PURE__*/React__default.createElement(React__default.Fragment, null, _ArrowUp || (_ArrowUp = /*#__PURE__*/React__default.createElement(ArrowUp, {
@@ -43,8 +43,8 @@ var AddSelectSort = function AddSelectSort(_ref) {
43
43
  var sortHandler = function sortHandler(_ref2) {
44
44
  var direction = _ref2.direction,
45
45
  attribute = _ref2.attribute;
46
- setSortAttribute(attribute);
47
- setSortDirection(direction);
46
+ setSortAttribute === null || setSortAttribute === void 0 || setSortAttribute(attribute);
47
+ setSortDirection === null || setSortDirection === void 0 || setSortDirection(direction);
48
48
  };
49
49
  return /*#__PURE__*/React__default.createElement("div", {
50
50
  className: blockClass
@@ -61,8 +61,8 @@ var AddSelectSort = function AddSelectSort(_ref) {
61
61
  }, sortByOpts.map(function (opt) {
62
62
  return /*#__PURE__*/React__default.createElement(OverflowMenuItem, {
63
63
  className: "".concat(blockClass, "_overflow-item"),
64
- key: opt.id,
65
- itemText: opt.itemText,
64
+ key: opt === null || opt === void 0 ? void 0 : opt.id,
65
+ itemText: opt === null || opt === void 0 ? void 0 : opt.itemText,
66
66
  onClick: function onClick() {
67
67
  return sortHandler(opt);
68
68
  }
@@ -0,0 +1,44 @@
1
+ import { ReactNode } from 'react';
2
+ export type Theme = 'light' | 'dark';
3
+ export interface Filter {
4
+ id?: string;
5
+ label?: string;
6
+ }
7
+ export interface Modifier {
8
+ id?: string;
9
+ label?: string;
10
+ options?: string[];
11
+ }
12
+ export interface Avatar {
13
+ alt?: string;
14
+ icon?: () => void;
15
+ src?: string;
16
+ theme?: Theme;
17
+ }
18
+ export interface Meta {
19
+ id?: string;
20
+ title?: string;
21
+ value?: string;
22
+ }
23
+ export interface Entry {
24
+ id: string;
25
+ title: string;
26
+ value: string;
27
+ avatar?: Avatar;
28
+ children?: ReactNode;
29
+ icon?: () => void | object;
30
+ meta?: Meta[] | ReactNode;
31
+ subtitle?: string;
32
+ }
33
+ export interface Item {
34
+ entries: Entry[];
35
+ modifiers?: Modifier;
36
+ sortBy?: string[];
37
+ filterBy?: string[];
38
+ }
39
+ export interface SortOption {
40
+ id?: string;
41
+ direction?: string;
42
+ attribute?: string;
43
+ itemText?: object;
44
+ }
@@ -27,7 +27,11 @@ export namespace BreadcrumbWithOverflow {
27
27
  */
28
28
  label: PropTypes.Requireable<PropTypes.ReactNodeLike>;
29
29
  /**
30
- * A string based alternative to the children, required only if children is not of type string.
30
+ * An optional title label for extra long breadcrumb
31
+ */
32
+ shortTitle: PropTypes.Requireable<string>;
33
+ /**
34
+ * A string based alternative to the children, required only if children is not of type string
31
35
  */
32
36
  title: any;
33
37
  }> | null | undefined)[]>;
@@ -19,8 +19,8 @@ import { TooltipTrigger } from '../TooltipTrigger/TooltipTrigger.js';
19
19
 
20
20
  var _TooltipTrigger;
21
21
  var _excluded = ["breadcrumbs", "className", "maxVisible", "noTrailingSlash", "overflowAriaLabel", "overflowTooltipAlign"],
22
- _excluded2 = ["label", "key", "title", "id"],
23
- _excluded3 = ["className", "key", "label", "title"];
22
+ _excluded2 = ["label", "key", "title", "id", "shortTitle"],
23
+ _excluded3 = ["className", "key", "label", "shortTitle", "title"];
24
24
 
25
25
  // The block part of our conventional BEM class names (blockClass__E--M).
26
26
  var blockClass = "".concat(pkg.prefix, "--breadcrumb-with-overflow");
@@ -106,8 +106,9 @@ var BreadcrumbWithOverflow = function BreadcrumbWithOverflow(_ref) {
106
106
  var label = _ref3.label,
107
107
  key = _ref3.key,
108
108
  title = _ref3.title,
109
- id = _ref3.id,
110
- rest = _objectWithoutProperties(_ref3, _excluded2);
109
+ id = _ref3.id;
110
+ _ref3.shortTitle;
111
+ var rest = _objectWithoutProperties(_ref3, _excluded2);
111
112
  return /*#__PURE__*/React__default.createElement(BreadcrumbItem, _extends({
112
113
  key: key
113
114
  }, rest, {
@@ -128,13 +129,14 @@ var BreadcrumbWithOverflow = function BreadcrumbWithOverflow(_ref) {
128
129
  var className = _ref4.className,
129
130
  key = _ref4.key,
130
131
  label = _ref4.label,
132
+ shortTitle = _ref4.shortTitle,
131
133
  title = _ref4.title,
132
134
  rest = _objectWithoutProperties(_ref4, _excluded3);
133
135
  return /*#__PURE__*/React__default.createElement(BreadcrumbItem, _extends({
134
136
  key: key,
135
137
  className: index > 0 || displayCount > 1 ? cx([className, "".concat(blockClass, "__displayed-breadcrumb")]) : className,
136
138
  title: index + 1 === breadcrumbs.length ? title : null
137
- }, rest), label);
139
+ }, rest), shortTitle || label);
138
140
  });
139
141
 
140
142
  // The breadcrumb has the form [first item] [overflow] [items 2...(n-1)] [last item].
@@ -296,7 +298,11 @@ BreadcrumbWithOverflow.propTypes = {
296
298
  */
297
299
  label: PropTypes.node,
298
300
  /**
299
- * A string based alternative to the children, required only if children is not of type string.
301
+ * An optional title label for extra long breadcrumb
302
+ */
303
+ shortTitle: PropTypes.string,
304
+ /**
305
+ * A string based alternative to the children, required only if children is not of type string
300
306
  */
301
307
  title: PropTypes.string.isRequired.if(function (_ref5) {
302
308
  var label = _ref5.label;
@@ -9,12 +9,14 @@ import { objectWithoutProperties as _objectWithoutProperties, objectSpread2 as _
9
9
  import React__default, { forwardRef } from 'react';
10
10
  import cx from 'classnames';
11
11
  import { Layer, OverflowMenu, OverflowMenuItem, Button, IconButton } from '@carbon/react';
12
+ import { Incomplete, CheckmarkOutline } from '@carbon/react/icons';
12
13
  import PropTypes from '../../node_modules/prop-types/index.js';
13
14
  import { CardHeader } from './CardHeader.js';
14
15
  import { CardFooter } from './CardFooter.js';
15
16
  import { pkg } from '../../settings.js';
16
17
 
17
- var _excluded = ["actionIcons", "actionsPlacement", "children", "className", "clickZone", "description", "label", "media", "mediaPosition", "onClick", "onKeyDown", "onPrimaryButtonClick", "overflowActions", "overflowAriaLabel", "onSecondaryButtonClick", "pictogram", "primaryButtonDisabled", "primaryButtonHref", "primaryButtonIcon", "primaryButtonKind", "primaryButtonPlacement", "primaryButtonText", "productive", "secondaryButtonDisabled", "secondaryButtonHref", "secondaryButtonIcon", "secondaryButtonKind", "secondaryButtonPlacement", "secondaryButtonText", "slug", "title", "titleSize"],
18
+ var _Incomplete, _CheckmarkOutline;
19
+ var _excluded = ["actionIcons", "actionsPlacement", "metadata", "children", "className", "clickZone", "description", "disabled", "footerActionIcon", "getStarted", "label", "media", "mediaPosition", "onClick", "onKeyDown", "onPrimaryButtonClick", "overflowActions", "overflowAriaLabel", "onSecondaryButtonClick", "pictogram", "primaryButtonDisabled", "primaryButtonHref", "primaryButtonIcon", "primaryButtonKind", "primaryButtonPlacement", "primaryButtonText", "productive", "secondaryButtonDisabled", "secondaryButtonHref", "secondaryButtonIcon", "secondaryButtonKind", "secondaryButtonPlacement", "secondaryButtonText", "slug", "status", "sequence", "title", "titleSize"],
18
20
  _excluded2 = ["id"],
19
21
  _excluded3 = ["id", "icon", "onClick", "iconDescription", "href"];
20
22
  var componentName = 'Card';
@@ -38,11 +40,16 @@ var Card = /*#__PURE__*/forwardRef(function (_ref, ref) {
38
40
  actionIcons = _ref$actionIcons === void 0 ? defaults.actionIcons : _ref$actionIcons,
39
41
  _ref$actionsPlacement = _ref.actionsPlacement,
40
42
  actionsPlacement = _ref$actionsPlacement === void 0 ? defaults.actionsPlacement : _ref$actionsPlacement,
43
+ _ref$metadata = _ref.metadata,
44
+ metadata = _ref$metadata === void 0 ? defaults.actionIcons : _ref$metadata,
41
45
  children = _ref.children,
42
46
  className = _ref.className,
43
47
  _ref$clickZone = _ref.clickZone,
44
48
  clickZone = _ref$clickZone === void 0 ? defaults.clickZone : _ref$clickZone,
45
49
  description = _ref.description,
50
+ disabled = _ref.disabled,
51
+ footerActionIcon = _ref.footerActionIcon,
52
+ getStarted = _ref.getStarted,
46
53
  label = _ref.label,
47
54
  media = _ref.media,
48
55
  _ref$mediaPosition = _ref.mediaPosition,
@@ -74,12 +81,18 @@ var Card = /*#__PURE__*/forwardRef(function (_ref, ref) {
74
81
  secondaryButtonPlacement = _ref$secondaryButtonP === void 0 ? defaults.secondaryButtonPlacement : _ref$secondaryButtonP,
75
82
  secondaryButtonText = _ref.secondaryButtonText,
76
83
  slug = _ref.slug,
84
+ status = _ref.status,
85
+ sequence = _ref.sequence,
77
86
  title = _ref.title,
78
87
  _ref$titleSize = _ref.titleSize,
79
88
  titleSize = _ref$titleSize === void 0 ? defaults.titleSize : _ref$titleSize,
80
89
  rest = _objectWithoutProperties(_ref, _excluded);
90
+ var getIcons = function getIcons() {
91
+ return getStarted ? metadata : actionIcons;
92
+ };
81
93
  var blockClass = "".concat(pkg.prefix, "--card");
82
- var hasActions = actionIcons.length > 0 || overflowActions.length > 0 || !!primaryButtonText && primaryButtonPlacement === 'top';
94
+ var hasActions = getIcons().length > 0 || overflowActions.length > 0 || !!primaryButtonText && primaryButtonPlacement === 'top';
95
+ var hasHeaderActions = hasActions && actionsPlacement === 'top';
83
96
  var hasFooterActions = hasActions && actionsPlacement === 'bottom';
84
97
  var hasFooterButton = !!secondaryButtonText || !!primaryButtonText && primaryButtonPlacement === 'bottom';
85
98
  var hasBottomBar = hasFooterActions || hasFooterButton;
@@ -111,13 +124,21 @@ var Card = /*#__PURE__*/forwardRef(function (_ref, ref) {
111
124
  }, rest));
112
125
  })));
113
126
  }
114
- var icons = actionIcons.map(function (_ref3) {
127
+ var icons = getIcons().map(function (_ref3) {
115
128
  var id = _ref3.id,
116
129
  Icon = _ref3.icon,
117
130
  onClick = _ref3.onClick,
118
131
  iconDescription = _ref3.iconDescription,
119
132
  href = _ref3.href,
120
133
  rest = _objectWithoutProperties(_ref3, _excluded3);
134
+ if (getStarted) {
135
+ return /*#__PURE__*/React__default.createElement("span", {
136
+ key: id,
137
+ className: "".concat(blockClass, "__icon")
138
+ }, /*#__PURE__*/React__default.createElement(Icon, {
139
+ "aria-label": iconDescription
140
+ }), iconDescription);
141
+ }
121
142
  if (productive) {
122
143
  return /*#__PURE__*/React__default.createElement(Button, _extends({}, rest, {
123
144
  key: id,
@@ -157,7 +178,7 @@ var Card = /*#__PURE__*/forwardRef(function (_ref, ref) {
157
178
  var clickable = hasClickEvent && !productive || hasClickEvent && productive && clickZone === 'one';
158
179
  var cardProps = _objectSpread2(_objectSpread2({}, rest), {}, {
159
180
  ref: ref,
160
- className: cx(blockClass, _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "".concat(blockClass, "__productive"), productive), "".concat(blockClass, "__clickable"), clickable), "".concat(blockClass, "__media-left"), mediaPosition === 'left'), "".concat(blockClass, "--has-slug"), !!slug), className)
181
+ className: cx(blockClass, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "".concat(blockClass, "__disabled"), disabled), "".concat(blockClass, "__get-started"), getStarted), "".concat(blockClass, "__productive"), productive), "".concat(blockClass, "__clickable"), clickable), "".concat(blockClass, "__media-left"), mediaPosition === 'left'), "".concat(blockClass, "--has-slug"), !!slug), className)
161
182
  }, clickable && clickableProps);
162
183
  return cardProps;
163
184
  };
@@ -173,7 +194,7 @@ var Card = /*#__PURE__*/forwardRef(function (_ref, ref) {
173
194
  var getHeaderProps = function getHeaderProps() {
174
195
  return {
175
196
  actions: actionsPlacement === 'top' ? getActions() : '',
176
- noActionIcons: actionIcons.length > 0 && actionsPlacement === 'top' ? false : true,
197
+ noActionIcons: getIcons().length > 0 && actionsPlacement === 'top' ? false : true,
177
198
  actionsPlacement: actionsPlacement,
178
199
  onPrimaryButtonClick: onPrimaryButtonClick,
179
200
  onSecondaryButtonClick: onSecondaryButtonClick,
@@ -182,7 +203,7 @@ var Card = /*#__PURE__*/forwardRef(function (_ref, ref) {
182
203
  primaryButtonText: primaryButtonText,
183
204
  primaryButtonDisabled: primaryButtonDisabled,
184
205
  description: description,
185
- hasActions: hasActions,
206
+ hasActions: hasHeaderActions,
186
207
  inClickableCard: hasClickEvent,
187
208
  label: label,
188
209
  secondaryButtonDisabled: secondaryButtonDisabled,
@@ -206,6 +227,8 @@ var Card = /*#__PURE__*/forwardRef(function (_ref, ref) {
206
227
  return {
207
228
  actions: actionsPlacement === 'bottom' ? getActions() : '',
208
229
  actionsPlacement: actionsPlacement,
230
+ disabled: disabled,
231
+ footerActionIcon: footerActionIcon,
209
232
  hasActions: hasFooterActions,
210
233
  hasButton: hasFooterButton,
211
234
  onPrimaryButtonClick: onPrimaryButtonClick,
@@ -225,13 +248,21 @@ var Card = /*#__PURE__*/forwardRef(function (_ref, ref) {
225
248
  secondaryButtonText: secondaryButtonText
226
249
  };
227
250
  };
228
- return /*#__PURE__*/React__default.createElement("div", getCardProps(), media && /*#__PURE__*/React__default.createElement("div", {
251
+ return /*#__PURE__*/React__default.createElement("div", getCardProps(), !getStarted && media && /*#__PURE__*/React__default.createElement("div", {
229
252
  className: "".concat(blockClass, "__media")
230
253
  }, media), Pictogram && /*#__PURE__*/React__default.createElement("div", {
231
254
  className: "".concat(blockClass, "__pictogram")
232
- }, /*#__PURE__*/React__default.createElement(Pictogram, null)), /*#__PURE__*/React__default.createElement("div", {
255
+ }, /*#__PURE__*/React__default.createElement(Pictogram, null)), getStarted && sequence && /*#__PURE__*/React__default.createElement("div", {
256
+ className: "".concat(blockClass, "__sequence")
257
+ }, sequence), getStarted && status && /*#__PURE__*/React__default.createElement("div", {
258
+ className: "".concat(blockClass, "__status")
259
+ }, status === 'incomplete' && (_Incomplete || (_Incomplete = /*#__PURE__*/React__default.createElement(Incomplete, null))), status === 'complete' && (_CheckmarkOutline || (_CheckmarkOutline = /*#__PURE__*/React__default.createElement(CheckmarkOutline, null)))), /*#__PURE__*/React__default.createElement("div", {
233
260
  className: "".concat(blockClass, "__content-container")
234
- }, /*#__PURE__*/React__default.createElement("div", getHeaderBodyProps(), /*#__PURE__*/React__default.createElement(CardHeader, getHeaderProps()), /*#__PURE__*/React__default.createElement("div", getBodyProps(), children)), hasBottomBar && /*#__PURE__*/React__default.createElement(CardFooter, getFooterProps())));
261
+ }, /*#__PURE__*/React__default.createElement("div", getHeaderBodyProps(), /*#__PURE__*/React__default.createElement("div", {
262
+ className: "".concat(blockClass, "__header-wrapper")
263
+ }, /*#__PURE__*/React__default.createElement(CardHeader, getHeaderProps()), /*#__PURE__*/React__default.createElement("div", getBodyProps(), children)), getStarted && media && /*#__PURE__*/React__default.createElement("div", {
264
+ className: "".concat(blockClass, "__media")
265
+ }, media)), hasBottomBar && /*#__PURE__*/React__default.createElement(CardFooter, getFooterProps())));
235
266
  });
236
267
  Card.propTypes = {
237
268
  actionIcons: PropTypes.arrayOf(PropTypes.shape({
@@ -247,9 +278,17 @@ Card.propTypes = {
247
278
  className: PropTypes.string,
248
279
  clickZone: PropTypes.oneOf(['one', 'two', 'three']),
249
280
  description: PropTypes.oneOfType([PropTypes.string, PropTypes.object, PropTypes.node]),
281
+ disabled: PropTypes.bool,
282
+ footerActionIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
283
+ getStarted: PropTypes.bool,
250
284
  label: PropTypes.oneOfType([PropTypes.string, PropTypes.object, PropTypes.node]),
251
285
  media: PropTypes.node,
252
286
  mediaPosition: PropTypes.oneOf(['top', 'left']),
287
+ metadata: PropTypes.arrayOf(PropTypes.shape({
288
+ id: PropTypes.string,
289
+ icon: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
290
+ iconDescription: PropTypes.string
291
+ })),
253
292
  onClick: PropTypes.func,
254
293
  onKeyDown: PropTypes.func,
255
294
  onPrimaryButtonClick: PropTypes.func,
@@ -275,11 +314,13 @@ Card.propTypes = {
275
314
  secondaryButtonKind: PropTypes.oneOf(['secondary', 'ghost']),
276
315
  secondaryButtonPlacement: PropTypes.oneOf(['top', 'bottom']),
277
316
  secondaryButtonText: PropTypes.string,
317
+ sequence: PropTypes.number,
278
318
  /**
279
319
  * **Experimental:** For all cases a `Slug` component can be provided.
280
320
  * Clickable tiles only accept a boolean value of true and display a hollow slug.
281
321
  */
282
322
  slug: PropTypes.oneOfType([PropTypes.node, PropTypes.bool]),
323
+ status: PropTypes.oneOf(['complete', 'incomplete']),
283
324
  title: PropTypes.oneOfType([PropTypes.string, PropTypes.object, PropTypes.node]),
284
325
  titleSize: PropTypes.oneOf(['default', 'large'])
285
326
  };
@@ -1,5 +1,7 @@
1
- export function CardFooter({ actions, hasActions, hasButton, onPrimaryButtonClick, onSecondaryButtonClick, primaryButtonDisabled, primaryButtonHref, primaryButtonIcon, primaryButtonKind, primaryButtonPlacement, primaryButtonText, productive, secondaryButtonDisabled, secondaryButtonHref, secondaryButtonIcon, secondaryButtonKind, secondaryButtonPlacement, secondaryButtonText, }: {
1
+ export function CardFooter({ actions, disabled, footerActionIcon: FooterActionIcon, hasActions, hasButton, onPrimaryButtonClick, onSecondaryButtonClick, primaryButtonDisabled, primaryButtonHref, primaryButtonIcon, primaryButtonKind, primaryButtonPlacement, primaryButtonText, productive, secondaryButtonDisabled, secondaryButtonHref, secondaryButtonIcon, secondaryButtonKind, secondaryButtonPlacement, secondaryButtonText, }: {
2
2
  actions?: any[] | undefined;
3
+ disabled: any;
4
+ footerActionIcon: any;
3
5
  hasActions: any;
4
6
  hasButton: any;
5
7
  onPrimaryButtonClick: any;
@@ -21,6 +23,8 @@ export function CardFooter({ actions, hasActions, hasButton, onPrimaryButtonClic
21
23
  export namespace CardFooter {
22
24
  export namespace propTypes {
23
25
  let actions: PropTypes.Requireable<NonNullable<any[] | PropTypes.ReactNodeLike>>;
26
+ let disabled: PropTypes.Requireable<boolean>;
27
+ let footerActionIcon: PropTypes.Requireable<object>;
24
28
  let hasActions: PropTypes.Requireable<boolean>;
25
29
  let hasButton: PropTypes.Requireable<boolean>;
26
30
  let onPrimaryButtonClick: PropTypes.Requireable<(...args: any[]) => any>;
@@ -11,7 +11,9 @@ import cx from 'classnames';
11
11
  import { Button } from '@carbon/react';
12
12
  import PropTypes from '../../node_modules/prop-types/index.js';
13
13
  import { pkg } from '../../settings.js';
14
+ import { Error } from '@carbon/react/icons';
14
15
 
16
+ var _Error;
15
17
  var componentName = 'CardFooter';
16
18
  var defaults = {
17
19
  actions: Object.freeze([]),
@@ -22,6 +24,8 @@ var defaults = {
22
24
  var CardFooter = function CardFooter(_ref) {
23
25
  var _ref$actions = _ref.actions,
24
26
  actions = _ref$actions === void 0 ? defaults.actions : _ref$actions,
27
+ disabled = _ref.disabled,
28
+ FooterActionIcon = _ref.footerActionIcon,
25
29
  hasActions = _ref.hasActions,
26
30
  hasButton = _ref.hasButton,
27
31
  onPrimaryButtonClick = _ref.onPrimaryButtonClick,
@@ -63,10 +67,16 @@ var CardFooter = function CardFooter(_ref) {
63
67
  disabled: primaryButtonDisabled
64
68
  }, primaryButtonText), hasActions && /*#__PURE__*/React__default.createElement("div", {
65
69
  className: "".concat(blockClass, "__actions")
66
- }, actions));
70
+ }, actions), FooterActionIcon && /*#__PURE__*/React__default.createElement("div", {
71
+ className: "".concat(blockClass, "__action-icon")
72
+ }, disabled ? _Error || (_Error = /*#__PURE__*/React__default.createElement(Error, {
73
+ size: 16
74
+ })) : /*#__PURE__*/React__default.createElement(FooterActionIcon, null)));
67
75
  };
68
76
  CardFooter.propTypes = {
69
77
  actions: PropTypes.oneOfType([PropTypes.array, PropTypes.node]),
78
+ disabled: PropTypes.bool,
79
+ footerActionIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
70
80
  hasActions: PropTypes.bool,
71
81
  hasButton: PropTypes.bool,
72
82
  onPrimaryButtonClick: PropTypes.func,
@@ -5,7 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  import React, { ReactNode } from 'react';
8
- interface CarouselProps {
8
+ export interface CarouselProps {
9
9
  /**
10
10
  * Provide the contents of the Carousel.
11
11
  */
@@ -41,6 +41,10 @@ interface CarouselProps {
41
41
  * a value between 0 and 1.
42
42
  */
43
43
  onScroll?: (scrollPercent: number) => void;
44
+ /**
45
+ * Additional props passed to the component.
46
+ */
47
+ [key: string]: any;
44
48
  }
45
49
  /**
46
50
  * The Carousel acts as a scaffold for other Novice to Pro content.
@@ -58,5 +62,5 @@ interface CarouselProps {
58
62
  * 2. From the right-aligned position, when scrolling left,
59
63
  * the left-most item should again be left-aligned.
60
64
  */
61
- declare const Carousel: React.ForwardRefExoticComponent<CarouselProps & React.RefAttributes<HTMLDivElement>>;
65
+ declare const Carousel: React.ForwardRefExoticComponent<Omit<CarouselProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
62
66
  export { Carousel };
@@ -1,8 +1,106 @@
1
+ /**
2
+ * Copyright IBM Corp. 2023, 2024
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
+ /// <reference path="../../../src/custom-typings/index.d.ts" />
8
+ /**
9
+ * TODO: Breakdown titles, icons, clickable items into sub-components
10
+ * See
11
+ * ModifiedTabs (ModifiedTabLabelNew, ModifiedTabLabelWithClose)
12
+ * PageHeader (PageHeaderTitle, PageHeaderUtils)
13
+ */
14
+ import React, { ReactNode } from 'react';
15
+ import { IconButton } from '@carbon/react';
16
+ import { Kind, Theme } from './Checklist.types';
17
+ type Task = {
18
+ kind: Kind;
19
+ label: string;
20
+ onClick?(task?: Task): void;
21
+ };
22
+ type TaskList = {
23
+ title?: string;
24
+ tasks: Array<Task>;
25
+ };
26
+ interface ChecklistProps {
27
+ /**
28
+ * Define both `chartLabel` and `chartValue` to show the chart and its label together.
29
+ */
30
+ chartLabel?: string;
31
+ /**
32
+ * A number between 0 and 1.
33
+ *
34
+ * Define both `chartLabel` and `chartValue` to show the chart and its label together.
35
+ */
36
+ chartValue?: number;
37
+ /**
38
+ * Aria-label for the Checklist component.
39
+ */
40
+ checklistAriaLabel?: string;
41
+ /**
42
+ * Aria-label for the Checklist's toggle component.
43
+ */
44
+ checklistToggleAriaLabel?: string;
45
+ /**
46
+ * Provide an optional class to be applied to the containing node.
47
+ */
48
+ className?: string;
49
+ /**
50
+ * Whether or not to show the open/close toggle.
51
+ */
52
+ enableToggle?: boolean;
53
+ /**
54
+ * Callback for the "View all" button. See also `viewAllLabel`.
55
+ */
56
+ onClickViewAll?(): void;
57
+ /**
58
+ * Optional callback for when the list is opened/closed.
59
+ */
60
+ onToggle?(isOpen?: boolean): void;
61
+ /**
62
+ * Specifies whether the component is opened or closed.
63
+ * This can be set during initialization, or changed after being rendered.
64
+ */
65
+ open?: boolean;
66
+ /**
67
+ * The task list can be broken down into sub-lists.
68
+ *
69
+ * Each sub-list can include an optional `title`.
70
+ *
71
+ * Each task must specify the appropriate icon (`kind`) and `label`.
72
+ *
73
+ * If any task has an `onClick` callback function defined,
74
+ * then the `label` will be rendered as a button,
75
+ * else the `label` will be rendered as plain text.
76
+ */
77
+ taskLists: Array<TaskList>;
78
+ /**
79
+ * Determines the theme of the component.
80
+ */
81
+ theme?: Theme;
82
+ /**
83
+ * The title of the component.
84
+ */
85
+ title?: ReactNode;
86
+ /**
87
+ * The label for the toggle's tooltip.
88
+ */
89
+ toggleLabel?: string;
90
+ /**
91
+ * The alignment of the toggle's tooltip.
92
+ */
93
+ toggleLabelAlign?: React.ComponentProps<typeof IconButton>['align'];
94
+ /**
95
+ * If defined, will show and enable the "View all (#)" button at the bottom of the list.
96
+ */
97
+ viewAllLabel?: string;
98
+ }
1
99
  /**
2
100
  * The Checklist tracks a user's progress much like Your Learning or
3
101
  * WalkMe. Each item in the list can be clickable, and each item has
4
102
  * an icon that defines the item's state as "not started", "in progress",
5
103
  * and "complete".
6
104
  */
7
- export let Checklist: React.ForwardRefExoticComponent<React.RefAttributes<any>>;
8
- import React from 'react';
105
+ export declare let Checklist: React.ForwardRefExoticComponent<ChecklistProps & React.RefAttributes<HTMLElement>>;
106
+ export {};