@carbon/ibm-products 2.43.2-canary.12 → 2.43.2-canary.123

Sign up to get free protection for your applications and to get access to all the features.
Files changed (428) hide show
  1. package/css/config-dev.css +6 -1
  2. package/css/config-dev.css.map +1 -1
  3. package/css/config.css +6 -1
  4. package/css/config.css.map +1 -1
  5. package/css/index-full-carbon.css +1854 -499
  6. package/css/index-full-carbon.css.map +1 -1
  7. package/css/index-full-carbon.min.css +1 -1
  8. package/css/index-full-carbon.min.css.map +1 -1
  9. package/css/index-without-carbon-released-only.css +267 -65
  10. package/css/index-without-carbon-released-only.css.map +1 -1
  11. package/css/index-without-carbon-released-only.min.css +1 -1
  12. package/css/index-without-carbon-released-only.min.css.map +1 -1
  13. package/css/index-without-carbon.css +1463 -250
  14. package/css/index-without-carbon.css.map +1 -1
  15. package/css/index-without-carbon.min.css +1 -1
  16. package/css/index-without-carbon.min.css.map +1 -1
  17. package/css/index.css +1659 -369
  18. package/css/index.css.map +1 -1
  19. package/css/index.min.css +1 -1
  20. package/css/index.min.css.map +1 -1
  21. package/es/components/APIKeyModal/APIKeyModal.types.d.ts +6 -0
  22. package/es/components/ActionBar/ActionBar.d.ts +58 -2
  23. package/es/components/ActionBar/ActionBar.js +14 -9
  24. package/es/components/ActionBar/ActionBarItem.d.ts +36 -2
  25. package/es/components/ActionBar/ActionBarItem.js +8 -5
  26. package/es/components/ActionBar/ActionBarOverflowItems.d.ts +55 -16
  27. package/es/components/ActionBar/ActionBarOverflowItems.js +8 -4
  28. package/es/components/AddSelect/types/index.d.ts +6 -0
  29. package/es/components/Card/Card.d.ts +69 -2
  30. package/es/components/Card/Card.js +33 -37
  31. package/es/components/Card/CardFooter.d.ts +51 -48
  32. package/es/components/Card/CardFooter.js +4 -2
  33. package/es/components/Card/CardHeader.d.ts +67 -49
  34. package/es/components/Card/CardHeader.js +4 -2
  35. package/es/components/Coachmark/Coachmark.d.ts +6 -1
  36. package/es/components/Coachmark/Coachmark.js +47 -11
  37. package/es/components/Coachmark/CoachmarkOverlay.js +2 -4
  38. package/es/components/Coachmark/utils/enums.d.ts +6 -0
  39. package/es/components/CoachmarkBeacon/CoachmarkBeacon.js +1 -7
  40. package/es/components/CoachmarkFixed/CoachmarkFixed.js +13 -11
  41. package/es/components/CoachmarkOverlayElements/CoachmarkOverlayElements.js +2 -1
  42. package/es/components/CoachmarkStack/CoachmarkStack.d.ts +67 -2
  43. package/es/components/CoachmarkStack/CoachmarkStack.js +22 -11
  44. package/es/components/CoachmarkStack/CoachmarkStackHome.d.ts +71 -2
  45. package/es/components/CoachmarkStack/CoachmarkStackHome.js +25 -23
  46. package/es/components/ConditionBuilder/ConditionBlock/ConditionBlock.js +100 -58
  47. package/es/components/ConditionBuilder/ConditionBuilder.js +82 -25
  48. package/es/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.d.ts +15 -0
  49. package/es/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.js +154 -0
  50. package/es/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.d.ts +3 -1
  51. package/es/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +30 -27
  52. package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +8 -1
  53. package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +35 -11
  54. package/es/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.js +18 -10
  55. package/es/components/ConditionBuilder/ConditionBuilderConnector/GroupConnector.js +19 -11
  56. package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +9 -13
  57. package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +83 -64
  58. package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts +13 -7
  59. package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +31 -8
  60. package/es/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.d.ts +8 -2
  61. package/es/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.js +35 -24
  62. package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +43 -36
  63. package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +43 -36
  64. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.d.ts +6 -2
  65. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +114 -40
  66. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.d.ts +3 -1
  67. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.js +24 -9
  68. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js +27 -9
  69. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.d.ts +13 -0
  70. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js +114 -0
  71. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.d.ts → ItemOptionForValueField.d.ts} +2 -2
  72. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.js → ItemOptionForValueField.js} +71 -38
  73. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.d.ts +5 -1
  74. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.js +22 -9
  75. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemTime/ConditionBuilderItemTime.js +1 -1
  76. package/es/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.d.ts +1 -3
  77. package/es/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +122 -40
  78. package/es/components/ConditionBuilder/ConditionPreview/ConditionPreview.d.ts +5 -1
  79. package/es/components/ConditionBuilder/ConditionPreview/ConditionPreview.js +51 -19
  80. package/es/components/ConditionBuilder/utils/handleKeyboardEvents.d.ts +2 -1
  81. package/es/components/ConditionBuilder/utils/handleKeyboardEvents.js +152 -42
  82. package/es/components/ConditionBuilder/utils/useTranslations.d.ts +1 -0
  83. package/es/components/ConditionBuilder/utils/useTranslations.js +26 -0
  84. package/es/components/ConditionBuilder/utils/util.d.ts +6 -4
  85. package/es/components/ConditionBuilder/utils/util.js +42 -17
  86. package/es/components/CreateFullPage/CreateFullPage.js +2 -2
  87. package/es/components/DataSpreadsheet/DataSpreadsheet.d.ts +26 -0
  88. package/es/components/DataSpreadsheet/DataSpreadsheet.js +129 -53
  89. package/es/components/DataSpreadsheet/DataSpreadsheetBody.d.ts +16 -0
  90. package/es/components/DataSpreadsheet/DataSpreadsheetBody.js +32 -7
  91. package/es/components/DataSpreadsheet/DataSpreadsheetHeader.d.ts +8 -0
  92. package/es/components/DataSpreadsheet/DataSpreadsheetHeader.js +16 -3
  93. package/es/components/DataSpreadsheet/types/index.d.ts +7 -0
  94. package/es/components/Datagrid/Datagrid/Datagrid.d.ts +0 -4
  95. package/es/components/Datagrid/Datagrid/Datagrid.js +4 -9
  96. package/es/components/Datagrid/Datagrid/DatagridBody.d.ts +6 -0
  97. package/es/components/Datagrid/Datagrid/DatagridContent.js +4 -3
  98. package/es/components/Datagrid/Datagrid/DatagridHeaderRow.js +23 -8
  99. package/es/components/Datagrid/Datagrid/DatagridRefBody.d.ts +6 -0
  100. package/es/components/Datagrid/Datagrid/DatagridRow.js +21 -8
  101. package/es/components/Datagrid/Datagrid/DatagridSelectAll.js +6 -6
  102. package/es/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +3 -2
  103. package/es/components/Datagrid/Datagrid/DatagridSimpleBody.d.ts +6 -0
  104. package/es/components/Datagrid/Datagrid/DatagridVirtualBody.js +3 -1
  105. package/es/components/Datagrid/Datagrid/DraggableElement.d.ts +6 -0
  106. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +34 -10
  107. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +6 -1
  108. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +6 -1
  109. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.d.ts +6 -3
  110. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +20 -12
  111. package/es/components/Datagrid/Datagrid/addons/Filtering/handleCheckboxChange.js +7 -0
  112. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.d.ts +1 -1
  113. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +54 -17
  114. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +2 -3
  115. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +75 -12
  116. package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +10 -2
  117. package/es/components/Datagrid/common-column-ids.d.ts +6 -0
  118. package/es/components/Datagrid/types/index.d.ts +60 -9
  119. package/es/components/Datagrid/useActionsColumn.d.ts +8 -1
  120. package/es/components/Datagrid/useActionsColumn.js +7 -6
  121. package/es/components/Datagrid/useCustomizeColumns.d.ts +8 -1
  122. package/es/components/Datagrid/useCustomizeColumns.js +4 -3
  123. package/es/components/Datagrid/useDatagrid.d.ts +6 -0
  124. package/es/components/Datagrid/useDefaultStringRenderer.js +0 -1
  125. package/es/components/Datagrid/useDisableSelectRows.d.ts +8 -1
  126. package/es/components/Datagrid/useDisableSelectRows.js +27 -22
  127. package/es/components/Datagrid/useInitialColumnSort.js +4 -0
  128. package/es/components/Datagrid/useInlineEdit.js +12 -2
  129. package/es/components/Datagrid/useNestedRowExpander.js +1 -3
  130. package/es/components/Datagrid/useNestedRows.js +5 -4
  131. package/es/components/Datagrid/useRowExpander.js +1 -3
  132. package/es/components/Datagrid/useRowIsMouseOver.d.ts +6 -0
  133. package/es/components/Datagrid/useSelectRows.js +2 -1
  134. package/es/components/Datagrid/useSortableColumns.d.ts +5 -4
  135. package/es/components/Datagrid/useSortableColumns.js +18 -13
  136. package/es/components/Datagrid/useStickyColumn.d.ts +8 -1
  137. package/es/components/Datagrid/useStickyColumn.js +12 -9
  138. package/es/components/EditInPlace/EditInPlace.d.ts +4 -0
  139. package/es/components/EditInPlace/EditInPlace.js +21 -10
  140. package/es/components/EditTearsheet/EditTearsheet.d.ts +7 -2
  141. package/es/components/EditTearsheet/EditTearsheet.js +44 -10
  142. package/es/components/EditTearsheet/EditTearsheetForm.d.ts +45 -2
  143. package/es/components/EditTearsheet/EditTearsheetForm.js +3 -0
  144. package/es/components/EmptyStates/EmptyState.d.ts +72 -5
  145. package/es/components/EmptyStates/EmptyState.js +8 -5
  146. package/es/components/EmptyStates/EmptyStateV2.d.ts +63 -2
  147. package/es/components/EmptyStates/EmptyStateV2.js +3 -2
  148. package/es/components/FullPageError/FullPageError.d.ts +36 -2
  149. package/es/components/FullPageError/FullPageError.js +0 -3
  150. package/es/components/GetStartedCard/GetStartedCard.d.ts +60 -2
  151. package/es/components/GetStartedCard/GetStartedCard.js +11 -10
  152. package/es/components/HTTPErrors/HTTPError403/HTTPError403.js +6 -0
  153. package/es/components/HTTPErrors/HTTPError404/HTTPError404.js +6 -0
  154. package/es/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +6 -0
  155. package/es/components/HTTPErrors/assets/HTTPErrorSvg403.js +204 -200
  156. package/es/components/HTTPErrors/assets/HTTPErrorSvg404.js +116 -112
  157. package/es/components/HTTPErrors/assets/HTTPErrorSvgOther.js +110 -106
  158. package/es/components/Nav/NavItem.js +12 -3
  159. package/es/components/OptionsTile/OptionsTile.js +11 -6
  160. package/es/components/PageHeader/PageHeader.js +1 -0
  161. package/es/components/PageHeader/PageHeaderUtils.js +1 -1
  162. package/es/components/ProductiveCard/ProductiveCard.d.ts +4 -0
  163. package/es/components/ProductiveCard/ProductiveCard.js +7 -1
  164. package/es/components/RemoveModal/RemoveModal.d.ts +4 -0
  165. package/es/components/RemoveModal/RemoveModal.js +7 -1
  166. package/es/components/SearchBar/SearchBar.d.ts +1 -1
  167. package/es/components/SearchBar/SearchBar.js +2 -2
  168. package/es/components/SidePanel/SidePanel.js +17 -21
  169. package/es/components/SidePanel/motion/variants.d.ts +4 -6
  170. package/es/components/SidePanel/motion/variants.js +10 -11
  171. package/es/components/StatusIndicator/StatusIndicatorStep.js +87 -0
  172. package/es/components/StringFormatter/StringFormatter.js +14 -3
  173. package/es/components/StringFormatter/utils/enums.d.ts +20 -1
  174. package/es/components/StringFormatter/utils/enums.js +29 -2
  175. package/es/components/TagOverflow/TagOverflow.d.ts +35 -4
  176. package/es/components/TagOverflow/TagOverflow.js +47 -64
  177. package/es/components/TagOverflow/TagOverflowModal.js +4 -6
  178. package/es/components/TagOverflow/TagOverflowPopover.d.ts +13 -1
  179. package/es/components/TagOverflow/TagOverflowPopover.js +38 -41
  180. package/es/components/Tearsheet/Tearsheet.d.ts +8 -1
  181. package/es/components/Tearsheet/Tearsheet.js +9 -1
  182. package/es/components/Tearsheet/TearsheetNarrow.d.ts +11 -0
  183. package/es/components/Tearsheet/TearsheetNarrow.js +12 -0
  184. package/es/components/Tearsheet/TearsheetShell.d.ts +11 -1
  185. package/es/components/Tearsheet/TearsheetShell.js +28 -7
  186. package/es/components/Toolbar/ToolbarButton.js +1 -1
  187. package/es/components/UserAvatar/UserAvatar.d.ts +59 -1
  188. package/es/components/UserAvatar/UserAvatar.js +7 -23
  189. package/es/components/WebTerminal/WebTerminal.js +10 -12
  190. package/es/components/index.d.ts +1 -1
  191. package/es/global/js/hooks/useFocus.d.ts +1 -0
  192. package/es/global/js/hooks/useFocus.js +5 -2
  193. package/es/global/js/hooks/usePrefersReducedMotion.js +14 -8
  194. package/es/global/js/package-settings.d.ts +1 -1
  195. package/es/global/js/package-settings.js +1 -1
  196. package/es/global/js/utils/scrollableAncestor.js +7 -0
  197. package/es/global/js/utils/uuidv4.d.ts +6 -0
  198. package/es/global/js/utils/uuidv4.js +2 -0
  199. package/es/global/js/utils/wait.d.ts +6 -0
  200. package/es/global/js/utils/wait.js +2 -0
  201. package/es/index.js +1 -0
  202. package/es/node_modules/@carbon/icon-helpers/es/index.js +49 -62
  203. package/es/node_modules/@carbon/icons-react/es/generated/bucket-2.js +1020 -1058
  204. package/es/node_modules/@carbon/icons-react/es/generated/bucket-9.js +881 -758
  205. package/es/settings.d.ts +1 -1
  206. package/flags.js +7 -0
  207. package/lib/components/APIKeyModal/APIKeyModal.types.d.ts +6 -0
  208. package/lib/components/ActionBar/ActionBar.d.ts +58 -2
  209. package/lib/components/ActionBar/ActionBar.js +14 -9
  210. package/lib/components/ActionBar/ActionBarItem.d.ts +36 -2
  211. package/lib/components/ActionBar/ActionBarItem.js +7 -4
  212. package/lib/components/ActionBar/ActionBarOverflowItems.d.ts +55 -16
  213. package/lib/components/ActionBar/ActionBarOverflowItems.js +8 -4
  214. package/lib/components/AddSelect/types/index.d.ts +6 -0
  215. package/lib/components/Card/Card.d.ts +69 -2
  216. package/lib/components/Card/Card.js +33 -37
  217. package/lib/components/Card/CardFooter.d.ts +51 -48
  218. package/lib/components/Card/CardFooter.js +4 -2
  219. package/lib/components/Card/CardHeader.d.ts +67 -49
  220. package/lib/components/Card/CardHeader.js +4 -2
  221. package/lib/components/Coachmark/Coachmark.d.ts +6 -1
  222. package/lib/components/Coachmark/Coachmark.js +46 -10
  223. package/lib/components/Coachmark/CoachmarkOverlay.js +2 -4
  224. package/lib/components/Coachmark/utils/enums.d.ts +6 -0
  225. package/lib/components/CoachmarkBeacon/CoachmarkBeacon.js +1 -7
  226. package/lib/components/CoachmarkFixed/CoachmarkFixed.js +13 -11
  227. package/lib/components/CoachmarkOverlayElements/CoachmarkOverlayElements.js +2 -1
  228. package/lib/components/CoachmarkStack/CoachmarkStack.d.ts +67 -2
  229. package/lib/components/CoachmarkStack/CoachmarkStack.js +22 -11
  230. package/lib/components/CoachmarkStack/CoachmarkStackHome.d.ts +71 -2
  231. package/lib/components/CoachmarkStack/CoachmarkStackHome.js +25 -23
  232. package/lib/components/ConditionBuilder/ConditionBlock/ConditionBlock.js +98 -56
  233. package/lib/components/ConditionBuilder/ConditionBuilder.js +82 -25
  234. package/lib/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.d.ts +15 -0
  235. package/lib/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.js +163 -0
  236. package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.d.ts +3 -1
  237. package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +29 -25
  238. package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +8 -1
  239. package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +33 -9
  240. package/lib/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.js +16 -8
  241. package/lib/components/ConditionBuilder/ConditionBuilderConnector/GroupConnector.js +18 -10
  242. package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +9 -13
  243. package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +81 -62
  244. package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts +13 -7
  245. package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +31 -8
  246. package/lib/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.d.ts +8 -2
  247. package/lib/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.js +34 -24
  248. package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +43 -36
  249. package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +43 -36
  250. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.d.ts +6 -2
  251. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +112 -38
  252. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.d.ts +3 -1
  253. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.js +24 -9
  254. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js +28 -10
  255. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.d.ts +13 -0
  256. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js +122 -0
  257. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.d.ts → ItemOptionForValueField.d.ts} +2 -2
  258. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.js → ItemOptionForValueField.js} +68 -35
  259. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.d.ts +5 -1
  260. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.js +21 -8
  261. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemTime/ConditionBuilderItemTime.js +1 -1
  262. package/lib/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.d.ts +1 -3
  263. package/lib/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +119 -37
  264. package/lib/components/ConditionBuilder/ConditionPreview/ConditionPreview.d.ts +5 -1
  265. package/lib/components/ConditionBuilder/ConditionPreview/ConditionPreview.js +50 -17
  266. package/lib/components/ConditionBuilder/utils/handleKeyboardEvents.d.ts +2 -1
  267. package/lib/components/ConditionBuilder/utils/handleKeyboardEvents.js +152 -41
  268. package/lib/components/ConditionBuilder/utils/useTranslations.d.ts +1 -0
  269. package/lib/components/ConditionBuilder/utils/useTranslations.js +30 -0
  270. package/lib/components/ConditionBuilder/utils/util.d.ts +6 -4
  271. package/lib/components/ConditionBuilder/utils/util.js +44 -16
  272. package/lib/components/CreateFullPage/CreateFullPage.js +2 -2
  273. package/lib/components/DataSpreadsheet/DataSpreadsheet.d.ts +26 -0
  274. package/lib/components/DataSpreadsheet/DataSpreadsheet.js +129 -53
  275. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.d.ts +16 -0
  276. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +32 -7
  277. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.d.ts +8 -0
  278. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.js +16 -3
  279. package/lib/components/DataSpreadsheet/types/index.d.ts +7 -0
  280. package/lib/components/Datagrid/Datagrid/Datagrid.d.ts +0 -4
  281. package/lib/components/Datagrid/Datagrid/Datagrid.js +4 -9
  282. package/lib/components/Datagrid/Datagrid/DatagridBody.d.ts +6 -0
  283. package/lib/components/Datagrid/Datagrid/DatagridContent.js +4 -3
  284. package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +23 -8
  285. package/lib/components/Datagrid/Datagrid/DatagridRefBody.d.ts +6 -0
  286. package/lib/components/Datagrid/Datagrid/DatagridRow.js +21 -8
  287. package/lib/components/Datagrid/Datagrid/DatagridSelectAll.js +6 -6
  288. package/lib/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +3 -2
  289. package/lib/components/Datagrid/Datagrid/DatagridSimpleBody.d.ts +6 -0
  290. package/lib/components/Datagrid/Datagrid/DatagridVirtualBody.js +3 -1
  291. package/lib/components/Datagrid/Datagrid/DraggableElement.d.ts +6 -0
  292. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +34 -10
  293. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +6 -1
  294. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +6 -1
  295. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.d.ts +6 -3
  296. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +20 -12
  297. package/lib/components/Datagrid/Datagrid/addons/Filtering/handleCheckboxChange.js +7 -0
  298. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.d.ts +1 -1
  299. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +53 -16
  300. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +2 -3
  301. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +74 -11
  302. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +10 -2
  303. package/lib/components/Datagrid/common-column-ids.d.ts +6 -0
  304. package/lib/components/Datagrid/types/index.d.ts +60 -9
  305. package/lib/components/Datagrid/useActionsColumn.d.ts +8 -1
  306. package/lib/components/Datagrid/useActionsColumn.js +7 -6
  307. package/lib/components/Datagrid/useCustomizeColumns.d.ts +8 -1
  308. package/lib/components/Datagrid/useCustomizeColumns.js +4 -3
  309. package/lib/components/Datagrid/useDatagrid.d.ts +6 -0
  310. package/lib/components/Datagrid/useDefaultStringRenderer.js +0 -1
  311. package/lib/components/Datagrid/useDisableSelectRows.d.ts +8 -1
  312. package/lib/components/Datagrid/useDisableSelectRows.js +27 -22
  313. package/lib/components/Datagrid/useInitialColumnSort.js +4 -0
  314. package/lib/components/Datagrid/useInlineEdit.js +12 -2
  315. package/lib/components/Datagrid/useNestedRowExpander.js +1 -3
  316. package/lib/components/Datagrid/useNestedRows.js +5 -4
  317. package/lib/components/Datagrid/useRowExpander.js +1 -3
  318. package/lib/components/Datagrid/useRowIsMouseOver.d.ts +6 -0
  319. package/lib/components/Datagrid/useSelectRows.js +2 -1
  320. package/lib/components/Datagrid/useSortableColumns.d.ts +5 -4
  321. package/lib/components/Datagrid/useSortableColumns.js +18 -13
  322. package/lib/components/Datagrid/useStickyColumn.d.ts +8 -1
  323. package/lib/components/Datagrid/useStickyColumn.js +12 -9
  324. package/lib/components/EditInPlace/EditInPlace.d.ts +4 -0
  325. package/lib/components/EditInPlace/EditInPlace.js +21 -10
  326. package/lib/components/EditTearsheet/EditTearsheet.d.ts +7 -2
  327. package/lib/components/EditTearsheet/EditTearsheet.js +43 -9
  328. package/lib/components/EditTearsheet/EditTearsheetForm.d.ts +45 -2
  329. package/lib/components/EditTearsheet/EditTearsheetForm.js +3 -0
  330. package/lib/components/EmptyStates/EmptyState.d.ts +72 -5
  331. package/lib/components/EmptyStates/EmptyState.js +8 -5
  332. package/lib/components/EmptyStates/EmptyStateV2.d.ts +63 -2
  333. package/lib/components/EmptyStates/EmptyStateV2.js +3 -2
  334. package/lib/components/FullPageError/FullPageError.d.ts +36 -2
  335. package/lib/components/FullPageError/FullPageError.js +0 -3
  336. package/lib/components/GetStartedCard/GetStartedCard.d.ts +60 -2
  337. package/lib/components/GetStartedCard/GetStartedCard.js +10 -9
  338. package/lib/components/HTTPErrors/HTTPError403/HTTPError403.js +6 -0
  339. package/lib/components/HTTPErrors/HTTPError404/HTTPError404.js +6 -0
  340. package/lib/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +6 -0
  341. package/lib/components/HTTPErrors/assets/HTTPErrorSvg403.js +204 -200
  342. package/lib/components/HTTPErrors/assets/HTTPErrorSvg404.js +116 -112
  343. package/lib/components/HTTPErrors/assets/HTTPErrorSvgOther.js +110 -106
  344. package/lib/components/Nav/NavItem.js +10 -1
  345. package/lib/components/OptionsTile/OptionsTile.js +11 -6
  346. package/lib/components/PageHeader/PageHeader.js +1 -0
  347. package/lib/components/PageHeader/PageHeaderUtils.js +1 -1
  348. package/lib/components/ProductiveCard/ProductiveCard.d.ts +4 -0
  349. package/lib/components/ProductiveCard/ProductiveCard.js +7 -1
  350. package/lib/components/RemoveModal/RemoveModal.d.ts +4 -0
  351. package/lib/components/RemoveModal/RemoveModal.js +7 -1
  352. package/lib/components/SearchBar/SearchBar.d.ts +1 -1
  353. package/lib/components/SearchBar/SearchBar.js +2 -2
  354. package/lib/components/SidePanel/SidePanel.js +16 -20
  355. package/lib/components/SidePanel/motion/variants.d.ts +4 -6
  356. package/lib/components/SidePanel/motion/variants.js +10 -11
  357. package/lib/components/StatusIndicator/StatusIndicatorStep.js +94 -0
  358. package/lib/components/StringFormatter/StringFormatter.js +13 -2
  359. package/lib/components/StringFormatter/utils/enums.d.ts +20 -1
  360. package/lib/components/StringFormatter/utils/enums.js +30 -1
  361. package/lib/components/TagOverflow/TagOverflow.d.ts +35 -4
  362. package/lib/components/TagOverflow/TagOverflow.js +46 -63
  363. package/lib/components/TagOverflow/TagOverflowModal.js +4 -6
  364. package/lib/components/TagOverflow/TagOverflowPopover.d.ts +13 -1
  365. package/lib/components/TagOverflow/TagOverflowPopover.js +37 -40
  366. package/lib/components/Tearsheet/Tearsheet.d.ts +8 -1
  367. package/lib/components/Tearsheet/Tearsheet.js +9 -1
  368. package/lib/components/Tearsheet/TearsheetNarrow.d.ts +11 -0
  369. package/lib/components/Tearsheet/TearsheetNarrow.js +12 -0
  370. package/lib/components/Tearsheet/TearsheetShell.d.ts +11 -1
  371. package/lib/components/Tearsheet/TearsheetShell.js +26 -5
  372. package/lib/components/Toolbar/ToolbarButton.js +1 -1
  373. package/lib/components/UserAvatar/UserAvatar.d.ts +59 -1
  374. package/lib/components/UserAvatar/UserAvatar.js +7 -23
  375. package/lib/components/WebTerminal/WebTerminal.js +10 -12
  376. package/lib/components/index.d.ts +1 -1
  377. package/lib/global/js/hooks/useFocus.d.ts +1 -0
  378. package/lib/global/js/hooks/useFocus.js +5 -1
  379. package/lib/global/js/hooks/usePrefersReducedMotion.js +13 -7
  380. package/lib/global/js/package-settings.d.ts +1 -1
  381. package/lib/global/js/package-settings.js +1 -1
  382. package/lib/global/js/utils/scrollableAncestor.js +7 -0
  383. package/lib/global/js/utils/uuidv4.d.ts +6 -0
  384. package/lib/global/js/utils/uuidv4.js +2 -0
  385. package/lib/global/js/utils/wait.d.ts +6 -0
  386. package/lib/global/js/utils/wait.js +2 -0
  387. package/lib/index.js +5 -0
  388. package/lib/node_modules/@carbon/icon-helpers/es/index.js +49 -62
  389. package/lib/node_modules/@carbon/icons-react/es/generated/bucket-2.js +1036 -1074
  390. package/lib/node_modules/@carbon/icons-react/es/generated/bucket-9.js +946 -823
  391. package/lib/settings.d.ts +1 -1
  392. package/package.json +8 -7
  393. package/scss/components/Coachmark/_coachmark-overlay.scss +6 -70
  394. package/scss/components/Coachmark/_coachmark.scss +5 -4
  395. package/scss/components/CoachmarkBeacon/_coachmark-beacon.scss +1 -3
  396. package/scss/components/ConditionBuilder/_condition-builder.scss +8 -1
  397. package/scss/components/ConditionBuilder/styles/_conditionBuilderCondition.scss +30 -5
  398. package/scss/components/ConditionBuilder/styles/_conditionBuilderItem.scss +88 -22
  399. package/scss/components/ConditionBuilder/styles/_index.scss +7 -0
  400. package/scss/components/CreateModal/_create-modal.scss +0 -4
  401. package/scss/components/DataSpreadsheet/_data-spreadsheet.scss +16 -2
  402. package/scss/components/Datagrid/_datagrid.scss +0 -4
  403. package/scss/components/Datagrid/styles/_datagrid.scss +1 -0
  404. package/scss/components/Datagrid/styles/_useActionsColumn.scss +6 -7
  405. package/scss/components/Datagrid/styles/_useColumnRightAlign.scss +6 -7
  406. package/scss/components/Datagrid/styles/_useExpandedRow.scss +6 -7
  407. package/scss/components/Datagrid/styles/_useInlineEdit.scss +19 -7
  408. package/scss/components/Datagrid/styles/_useNestedRows.scss +6 -7
  409. package/scss/components/Datagrid/styles/_useNestedTable.scss +6 -7
  410. package/scss/components/Datagrid/styles/_useStickyColumn.scss +6 -7
  411. package/scss/components/Datagrid/styles/addons/_CustomizeColumnsTearsheet.scss +7 -5
  412. package/scss/components/Datagrid/styles/addons/_FilterFlyout.scss +5 -4
  413. package/scss/components/Datagrid/styles/addons/_RowSizeDropdown.scss +6 -7
  414. package/scss/components/HTTPErrors/_http-errors.scss +77 -0
  415. package/scss/components/OptionsTile/_options-tile.scss +6 -6
  416. package/scss/components/SidePanel/_side-panel.scss +1 -1
  417. package/scss/components/_index-released-only.scss +1 -0
  418. package/scss/config-dev.scss +7 -0
  419. package/scss/config.scss +7 -0
  420. package/telemetry.yml +34 -19
  421. package/es/components/ConditionBuilder/utils/checkForHoldingKey.d.ts +0 -1
  422. package/es/components/ConditionBuilder/utils/checkForHoldingKey.js +0 -16
  423. package/es/global/js/utils/window.d.ts +0 -2
  424. package/es/global/js/utils/window.js +0 -12
  425. package/lib/components/ConditionBuilder/utils/checkForHoldingKey.d.ts +0 -1
  426. package/lib/components/ConditionBuilder/utils/checkForHoldingKey.js +0 -20
  427. package/lib/global/js/utils/window.d.ts +0 -2
  428. package/lib/global/js/utils/window.js +0 -16
@@ -64,7 +64,7 @@ exports.CoachmarkOverlay = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
64
64
  var coachmark = context.useCoachmark();
65
65
  var isBeacon = kind === enums.COACHMARK_OVERLAY_KIND.TOOLTIP;
66
66
  var isDraggable = kind === enums.COACHMARK_OVERLAY_KIND.FLOATING;
67
- var isVisible = className && className.includes('is-visible');
67
+ var isVisible = className === null || className === void 0 ? void 0 : className.includes('is-visible');
68
68
  var handleKeyPress = function handleKeyPress(event) {
69
69
  var shiftKey = event.shiftKey,
70
70
  key = event.key;
@@ -172,9 +172,7 @@ exports.CoachmarkOverlay = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
172
172
  return /*#__PURE__*/React__default["default"].cloneElement(child, {
173
173
  isVisible: isVisible
174
174
  });
175
- })), isBeacon && /*#__PURE__*/React__default["default"].createElement("span", {
176
- className: "".concat(blockClass, "__caret")
177
- }));
175
+ })));
178
176
  });
179
177
  function getWindowDimensions() {
180
178
  var _window = window,
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Copyright IBM Corp. 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
+ */
1
7
  /**
2
8
  * Reserved for future expansion, i.e. "RING".
3
9
  */
@@ -35,7 +35,6 @@ var defaults = {
35
35
  * Use beacon for the target prop of a Coachmark component.
36
36
  */
37
37
  exports.CoachmarkBeacon = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, ref) {
38
- var _coachmark$positionTu, _coachmark$positionTu2, _coachmark$positionTu3, _coachmark$positionTu4;
39
38
  var label = _ref.label,
40
39
  className = _ref.className,
41
40
  _ref$kind = _ref.kind,
@@ -45,14 +44,9 @@ exports.CoachmarkBeacon = /*#__PURE__*/React__default["default"].forwardRef(func
45
44
  if (!coachmark) {
46
45
  return _div || (_div = /*#__PURE__*/React__default["default"].createElement("div", null, "CoachmarkBeacon is to be use exclusively within the target prop of Coachmark"));
47
46
  }
48
- var overlayPositionStyle = {
49
- top: (_coachmark$positionTu = (_coachmark$positionTu2 = coachmark.positionTune) === null || _coachmark$positionTu2 === void 0 ? void 0 : _coachmark$positionTu2.y) !== null && _coachmark$positionTu !== void 0 ? _coachmark$positionTu : 0,
50
- left: (_coachmark$positionTu3 = (_coachmark$positionTu4 = coachmark.positionTune) === null || _coachmark$positionTu4 === void 0 ? void 0 : _coachmark$positionTu4.x) !== null && _coachmark$positionTu3 !== void 0 ? _coachmark$positionTu3 : 0
51
- };
52
47
  return /*#__PURE__*/React__default["default"].createElement("span", _rollupPluginBabelHelpers["extends"]({}, rest, {
53
48
  className: cx__default["default"](blockClass, "".concat(blockClass, "-").concat(kind), className),
54
- ref: ref,
55
- style: overlayPositionStyle
49
+ ref: ref
56
50
  }, devtools.getDevtoolsProps(componentName), {
57
51
  role: "tooltip"
58
52
  }), /*#__PURE__*/React__default["default"].createElement("button", _rollupPluginBabelHelpers["extends"]({
@@ -20,6 +20,8 @@ var CoachmarkOverlay = require('../Coachmark/CoachmarkOverlay.js');
20
20
  var CoachmarkTagline = require('../Coachmark/CoachmarkTagline.js');
21
21
  var context = require('../Coachmark/utils/context.js');
22
22
  var enums = require('../Coachmark/utils/enums.js');
23
+ var framerMotion = require('framer-motion');
24
+ var useIsomorphicEffect = require('../../global/js/hooks/useIsomorphicEffect.js');
23
25
 
24
26
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
25
27
 
@@ -48,7 +50,6 @@ var defaults = {
48
50
  * This variant allows the a coachmark overlay to be displayed by interacting with the tagline.
49
51
  */
50
52
  exports.CoachmarkFixed = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, ref) {
51
- var _document$querySelect;
52
53
  var children = _ref.children,
53
54
  className = _ref.className,
54
55
  _ref$onClose = _ref.onClose,
@@ -60,7 +61,7 @@ exports.CoachmarkFixed = /*#__PURE__*/React__default["default"].forwardRef(funct
60
61
  theme = _ref$theme === void 0 ? defaults.theme : _ref$theme,
61
62
  rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
62
63
  var overlayRef = React.useRef(null);
63
- var portalNode = portalTarget ? (_document$querySelect = document.querySelector(portalTarget)) !== null && _document$querySelect !== void 0 ? _document$querySelect : document.querySelector('body') : document.querySelector('body');
64
+ var portalNode = React.useRef(null);
64
65
  var _useState = React.useState(false),
65
66
  _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
66
67
  isOpen = _useState2[0],
@@ -84,17 +85,19 @@ exports.CoachmarkFixed = /*#__PURE__*/React__default["default"].forwardRef(funct
84
85
  _useState10 = _rollupPluginBabelHelpers.slicedToArray(_useState9, 2),
85
86
  fixedIsVisible = _useState10[0],
86
87
  setFixedIsVisible = _useState10[1];
87
- var prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)');
88
+ var shouldReduceMotion = framerMotion.useReducedMotion();
89
+ useIsomorphicEffect.useIsomorphicEffect(function () {
90
+ var _document$querySelect, _document, _document2, _document3;
91
+ portalNode.current = portalTarget ? (_document$querySelect = (_document = document) === null || _document === void 0 ? void 0 : _document.querySelector(portalTarget)) !== null && _document$querySelect !== void 0 ? _document$querySelect : (_document2 = document) === null || _document2 === void 0 ? void 0 : _document2.querySelector('body') : (_document3 = document) === null || _document3 === void 0 ? void 0 : _document3.querySelector('body');
92
+ }, [portalTarget]);
88
93
  var handleClose = React.useCallback(function () {
89
- console.log('HANDLING CLOSE HERE...');
90
- if (prefersReducedMotion.matches) {
94
+ if (shouldReduceMotion) {
91
95
  setIsOpen(false);
92
96
  } else {
93
97
  setFixedIsVisible(false);
94
98
  }
95
- }, [prefersReducedMotion.matches]);
99
+ }, [shouldReduceMotion]);
96
100
  var handleTransitionEnd = function handleTransitionEnd(e) {
97
- console.log('Here at transition end... ', e.propertyName === 'transform' && !fixedIsVisible);
98
101
  if (e.propertyName === 'transform' && !fixedIsVisible) {
99
102
  setIsOpen(false);
100
103
  onClose();
@@ -173,7 +176,7 @@ exports.CoachmarkFixed = /*#__PURE__*/React__default["default"].forwardRef(funct
173
176
  }, devtools.getDevtoolsProps(componentName)), /*#__PURE__*/React__default["default"].createElement(CoachmarkTagline.CoachmarkTagline, {
174
177
  title: tagline,
175
178
  onClose: onClose
176
- }), isOpen && /*#__PURE__*/reactDom.createPortal( /*#__PURE__*/React__default["default"].createElement(CoachmarkOverlay.CoachmarkOverlay, {
179
+ }), isOpen && (portalNode === null || portalNode === void 0 ? void 0 : portalNode.current) && /*#__PURE__*/reactDom.createPortal( /*#__PURE__*/React__default["default"].createElement(CoachmarkOverlay.CoachmarkOverlay, {
177
180
  ref: overlayRef,
178
181
  fixedIsVisible: fixedIsVisible,
179
182
  kind: enums.COACHMARK_OVERLAY_KIND.FIXED,
@@ -181,9 +184,8 @@ exports.CoachmarkFixed = /*#__PURE__*/React__default["default"].forwardRef(funct
181
184
  onTransitionEnd: handleTransitionEnd,
182
185
  theme: theme,
183
186
  className: cx__default["default"](fixedIsVisible && "".concat(overlayBlockClass, "--is-visible"), overlayBlockClass)
184
- }, children),
185
- // Default to `document.body` when `portalNode` is `null`
186
- portalNode || document.body)));
187
+ }, children), // Default to `document.body` when `portalNode` is `null`
188
+ portalNode === null || portalNode === void 0 ? void 0 : portalNode.current)));
187
189
  });
188
190
 
189
191
  // Return a placeholder if not released and not enabled by feature flag
@@ -80,7 +80,8 @@ exports.CoachmarkOverlayElements = /*#__PURE__*/React__default["default"].forwar
80
80
  var setCurrentProgStep = function setCurrentProgStep(value) {
81
81
  if (currentProgStep > 0 && value === 0 && buttonFocusRef.current) {
82
82
  setTimeout(function () {
83
- buttonFocusRef.current.focus();
83
+ var _buttonFocusRef$curre;
84
+ (_buttonFocusRef$curre = buttonFocusRef.current) === null || _buttonFocusRef$curre === void 0 || _buttonFocusRef$curre.focus();
84
85
  }, 1000);
85
86
  }
86
87
  _setCurrentProgStep(value);
@@ -1,8 +1,73 @@
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
+ import React, { ReactNode } from 'react';
8
+ type Media = {
9
+ render?: () => ReactNode;
10
+ } | {
11
+ filePaths?: string[];
12
+ };
13
+ interface CoachmarkStackProps {
14
+ /**
15
+ * CoachmarkStack should use a single CoachmarkOverlayElements component as a child.
16
+ */
17
+ children: ReactNode;
18
+ /**
19
+ * Provide an optional class to be applied to the containing node.
20
+ */
21
+ className?: string;
22
+ /**
23
+ * The label for the button that will close the Stack
24
+ */
25
+ closeButtonLabel?: string;
26
+ /**
27
+ * The description of the Coachmark.
28
+ */
29
+ description: ReactNode;
30
+ /**
31
+ * The object describing an image in one of two shapes.
32
+ *
33
+ * If a single media element is required, use `{render}`.
34
+ *
35
+ * If a stepped animation is required, use `{filePaths}`.
36
+ *
37
+ * @see {@link MEDIA_PROP_TYPE}.
38
+ */
39
+ media?: Media;
40
+ /**
41
+ * The labels used to link to the stackable Coachmarks.
42
+ */
43
+ navLinkLabels: string[];
44
+ /**
45
+ * Function to call when the CoachmarkStack closes.
46
+ */
47
+ onClose?: () => void;
48
+ /**
49
+ * Where in the DOM to render the stack.
50
+ * The default is `document.body`.
51
+ */
52
+ portalTarget?: string;
53
+ /**
54
+ * The tagline title which will be fixed to the bottom right of the window and will serve as the display trigger.
55
+ */
56
+ tagline: string;
57
+ /**
58
+ * Determines the theme of the component.
59
+ */
60
+ theme?: 'light' | 'dark';
61
+ /**
62
+ * The title of the Coachmark.
63
+ */
64
+ title: string;
65
+ }
1
66
  /**
2
67
  * Stacked coachmarks are used to call out specific functionality or concepts
3
68
  * within the UI that may not be intuitive but are important for the
4
69
  * user to gain understanding of the product's main value and discover new use cases.
5
70
  * This variant allows the stacking of multiple coachmark overlays to be displayed by interacting with the tagline.
6
71
  */
7
- export let CoachmarkStack: React.ForwardRefExoticComponent<React.RefAttributes<any>>;
8
- import React from 'react';
72
+ export declare let CoachmarkStack: React.ForwardRefExoticComponent<CoachmarkStackProps & React.RefAttributes<HTMLDivElement>>;
73
+ export {};
@@ -21,6 +21,7 @@ var CoachmarkStackHome = require('./CoachmarkStackHome.js');
21
21
  var CoachmarkTagline = require('../Coachmark/CoachmarkTagline.js');
22
22
  var context = require('../Coachmark/utils/context.js');
23
23
  var enums = require('../Coachmark/utils/enums.js');
24
+ var useIsomorphicEffect = require('../../global/js/hooks/useIsomorphicEffect.js');
24
25
 
25
26
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
26
27
 
@@ -39,7 +40,8 @@ var elementBlockClass = "".concat(settings.pkg.prefix, "--coachmark-stack-elemen
39
40
  var defaults = {
40
41
  onClose: function onClose() {},
41
42
  // Pass through to CoachmarkStackHome
42
- theme: 'light'
43
+ theme: 'light',
44
+ portalTarget: 'body'
43
45
  };
44
46
 
45
47
  // NOTE
@@ -56,7 +58,6 @@ var defaults = {
56
58
  * This variant allows the stacking of multiple coachmark overlays to be displayed by interacting with the tagline.
57
59
  */
58
60
  exports.CoachmarkStack = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, ref) {
59
- var _document$querySelect;
60
61
  var children = _ref.children,
61
62
  className = _ref.className,
62
63
  _ref$onClose = _ref.onClose,
@@ -72,8 +73,12 @@ exports.CoachmarkStack = /*#__PURE__*/React__default["default"].forwardRef(funct
72
73
  theme = _ref$theme === void 0 ? defaults.theme : _ref$theme,
73
74
  title = _ref.title,
74
75
  rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
75
- var portalNode = portalTarget ? (_document$querySelect = document.querySelector(portalTarget)) !== null && _document$querySelect !== void 0 ? _document$querySelect : document.querySelector('body') : document.querySelector('body');
76
- var stackHomeRef = React.useRef();
76
+ var portalNode = React.useRef(null);
77
+ useIsomorphicEffect.useIsomorphicEffect(function () {
78
+ var _document$querySelect, _document, _document2, _document3;
79
+ portalNode.current = portalTarget ? (_document$querySelect = (_document = document) === null || _document === void 0 ? void 0 : _document.querySelector(portalTarget)) !== null && _document$querySelect !== void 0 ? _document$querySelect : (_document2 = document) === null || _document2 === void 0 ? void 0 : _document2.querySelector('body') : (_document3 = document) === null || _document3 === void 0 ? void 0 : _document3.querySelector('body');
80
+ }, [portalTarget]);
81
+ var stackHomeRef = React.useRef(null);
77
82
  var stackedCoachmarkRefs = React.useRef([]);
78
83
  var _useState = React.useState(false),
79
84
  _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
@@ -87,7 +92,7 @@ exports.CoachmarkStack = /*#__PURE__*/React__default["default"].forwardRef(funct
87
92
  selectedItemNumber = _useState4[0],
88
93
  setSelectedItemNumber = _useState4[1];
89
94
  // // The parent height and width values to return to after unstacked
90
- var _useState5 = React.useState(null),
95
+ var _useState5 = React.useState(),
91
96
  _useState6 = _rollupPluginBabelHelpers.slicedToArray(_useState5, 2),
92
97
  parentHeight = _useState6[0],
93
98
  setParentHeight = _useState6[1];
@@ -168,14 +173,20 @@ exports.CoachmarkStack = /*#__PURE__*/React__default["default"].forwardRef(funct
168
173
  if (!parentHeight) {
169
174
  return;
170
175
  }
171
- stackHomeRef.current.style.height = "".concat(parentHeight, "px");
176
+ if (stackHomeRef.current) {
177
+ stackHomeRef.current.style.height = "".concat(parentHeight, "px");
178
+ }
172
179
  if (!isOpen || targetSelectedItem < 0) {
173
- stackHomeRef.current.focus();
180
+ if (stackHomeRef.current) {
181
+ stackHomeRef.current.focus();
182
+ }
174
183
  return;
175
184
  }
176
185
  var targetHomeHeight = stackedCoachmarkRefs.current[targetSelectedItem].clientHeight;
177
- stackHomeRef.current.style.height = "".concat(targetHomeHeight, "px");
178
- stackedCoachmarkRefs.current[targetSelectedItem].focus();
186
+ if (stackHomeRef.current) {
187
+ stackHomeRef.current.style.height = "".concat(targetHomeHeight, "px");
188
+ stackedCoachmarkRefs.current[targetSelectedItem].focus();
189
+ }
179
190
  }, [selectedItemNumber, isOpen, parentHeight]);
180
191
  var wrappedChildren = React.Children.map(childArray, function (child, idx) {
181
192
  var mountedClass = mountedRef.current ? "".concat(elementBlockClass, "--is-mounted") : '';
@@ -215,7 +226,7 @@ exports.CoachmarkStack = /*#__PURE__*/React__default["default"].forwardRef(funct
215
226
  portalTarget: portalTarget,
216
227
  closeButtonLabel: closeButtonLabel,
217
228
  title: title
218
- }), /*#__PURE__*/reactDom.createPortal(wrappedChildren, portalNode)));
229
+ }), portalNode !== null && portalNode !== void 0 && portalNode.current ? /*#__PURE__*/reactDom.createPortal(wrappedChildren, portalNode === null || portalNode === void 0 ? void 0 : portalNode.current) : null));
219
230
  });
220
231
 
221
232
  // Return a placeholder if not released and not enabled by feature flag
@@ -263,7 +274,7 @@ exports.CoachmarkStack.propTypes = {
263
274
  /**
264
275
  * The labels used to link to the stackable Coachmarks.
265
276
  */
266
- navLinkLabels: index["default"].arrayOf(index["default"].string).isRequired,
277
+ navLinkLabels: index["default"].arrayOf(index["default"].string.isRequired).isRequired,
267
278
  /**
268
279
  * Function to call when the CoachmarkStack closes.
269
280
  */
@@ -1,6 +1,75 @@
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
+ import React, { ReactNode } from 'react';
8
+ type Media = {
9
+ render?: () => ReactNode;
10
+ filePaths?: never;
11
+ } | {
12
+ render?: never;
13
+ filePaths?: string[];
14
+ };
15
+ interface CoachmarkStackHomeProps {
16
+ /**
17
+ * Optional class name for this component.
18
+ */
19
+ className?: string;
20
+ /**
21
+ * The label for the button that will close the stack
22
+ */
23
+ closeButtonLabel?: string;
24
+ /**
25
+ * The description of the Coachmark.
26
+ */
27
+ description: React.ReactNode;
28
+ /**
29
+ * If the stack home is open.
30
+ */
31
+ isOpen: boolean;
32
+ /**
33
+ * The object describing an image in one of two shapes.
34
+ *
35
+ * If a single media element is required, use `{render}`.
36
+ *
37
+ * If a stepped animation is required, use `{filePaths}`.
38
+ *
39
+ * @see {@link MEDIA_PROP_TYPE}.
40
+ */
41
+ media?: Media;
42
+ /**
43
+ * The labels used to link to the stackable Coachmarks.
44
+ */
45
+ navLinkLabels: string[];
46
+ /**
47
+ * For internal use only by CoachmarkStack and CoachmarkStackHome.
48
+ */
49
+ onClickNavItem: (index: number) => void;
50
+ /**
51
+ * Function to call when the stack closes.
52
+ */
53
+ onClose: () => void;
54
+ /**
55
+ * By default, the CoachmarkStackHome will be appended to the end of `document.body`.
56
+ * The CoachmarkStackHome will remain persistent as the user navigates the app until
57
+ * the user closes the CoachmarkStackHome.
58
+ *
59
+ * Alternatively, the app developer can tightly couple the CoachmarkStackHome to a DOM
60
+ * element or other component by specifying a CSS selector. The CoachmarkStackHome will
61
+ * remain visible as long as that element remains visible or mounted. When the
62
+ * element is hidden or component is unmounted, the CoachmarkStackHome will disappear.
63
+ */
64
+ portalTarget?: string;
65
+ /**
66
+ * The title of the Coachmark.
67
+ */
68
+ title: string;
69
+ }
1
70
  /**
2
71
  * DO NOT USE. This component is for the exclusive use
3
72
  * of other Onboarding components.
4
73
  */
5
- export let CoachmarkStackHome: React.ForwardRefExoticComponent<React.RefAttributes<any>>;
6
- import React from 'react';
74
+ export declare let CoachmarkStackHome: React.ForwardRefExoticComponent<CoachmarkStackHomeProps & React.RefAttributes<HTMLDivElement>>;
75
+ export {};
@@ -20,6 +20,7 @@ var devtools = require('../../global/js/utils/devtools.js');
20
20
  var settings = require('../../settings.js');
21
21
  var reactDom = require('react-dom');
22
22
  var CoachmarkHeader = require('../Coachmark/CoachmarkHeader.js');
23
+ var useIsomorphicEffect = require('../../global/js/hooks/useIsomorphicEffect.js');
23
24
  var SteppedAnimatedMedia = require('../SteppedAnimatedMedia/SteppedAnimatedMedia.js');
24
25
 
25
26
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -28,7 +29,6 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
28
29
  var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
29
30
 
30
31
  var _excluded = ["className", "description", "isOpen", "media", "navLinkLabels", "onClickNavItem", "onClose", "portalTarget", "closeButtonLabel", "title"];
31
-
32
32
  // Carbon and package components we use.
33
33
  /* TODO: @import(s) of carbon components and other package components. */
34
34
 
@@ -42,7 +42,6 @@ var componentName = 'CoachmarkStackHome';
42
42
  * of other Onboarding components.
43
43
  */
44
44
  exports.CoachmarkStackHome = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
45
- var _document$querySelect;
46
45
  var className = _ref.className,
47
46
  description = _ref.description,
48
47
  isOpen = _ref.isOpen,
@@ -54,7 +53,7 @@ exports.CoachmarkStackHome = /*#__PURE__*/React.forwardRef(function (_ref, ref)
54
53
  closeButtonLabel = _ref.closeButtonLabel,
55
54
  title = _ref.title,
56
55
  rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
57
- var buttonFocusRef = React.useRef();
56
+ var buttonFocusRef = React.useRef(null);
58
57
  var _useState = React.useState(0),
59
58
  _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
60
59
  linkFocusIndex = _useState2[0],
@@ -66,11 +65,29 @@ exports.CoachmarkStackHome = /*#__PURE__*/React.forwardRef(function (_ref, ref)
66
65
  }
67
66
  }, 100);
68
67
  }, [isOpen]);
68
+ var portalNode = React.useRef(null);
69
+ useIsomorphicEffect.useIsomorphicEffect(function () {
70
+ var _document$querySelect, _document, _document2, _document3;
71
+ portalNode.current = portalTarget ? (_document$querySelect = (_document = document) === null || _document === void 0 ? void 0 : _document.querySelector(portalTarget)) !== null && _document$querySelect !== void 0 ? _document$querySelect : (_document2 = document) === null || _document2 === void 0 ? void 0 : _document2.querySelector('body') : (_document3 = document) === null || _document3 === void 0 ? void 0 : _document3.querySelector('body');
72
+ }, [portalTarget]);
69
73
  if (!navLinkLabels) {
70
74
  return pconsole["default"].warn("".concat(componentName, " is an Onboarding internal component and is not intended for general use."));
71
75
  }
72
- var portalNode = portalTarget ? (_document$querySelect = document.querySelector(portalTarget)) !== null && _document$querySelect !== void 0 ? _document$querySelect : document.querySelector('body') : document.querySelector('body');
73
- return /*#__PURE__*/reactDom.createPortal( /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({}, rest, {
76
+ function renderNavLink(index, label) {
77
+ var ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
78
+ return /*#__PURE__*/React__default["default"].createElement("li", {
79
+ key: index
80
+ }, /*#__PURE__*/React__default["default"].createElement(react.Button, {
81
+ kind: "ghost",
82
+ size: "sm",
83
+ onClick: function onClick() {
84
+ setLinkFocusIndex(index);
85
+ onClickNavItem(index + 1);
86
+ },
87
+ ref: ref
88
+ }, label));
89
+ }
90
+ return portalNode !== null && portalNode !== void 0 && portalNode.current ? /*#__PURE__*/reactDom.createPortal( /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({}, rest, {
74
91
  className: cx__default["default"](blockClass, className),
75
92
  ref: ref,
76
93
  role: "main"
@@ -101,9 +118,8 @@ exports.CoachmarkStackHome = /*#__PURE__*/React.forwardRef(function (_ref, ref)
101
118
  }, navLinkLabels.map(function (label, index) {
102
119
  if (index === linkFocusIndex) {
103
120
  return renderNavLink(index, label, buttonFocusRef);
104
- } else {
105
- return renderNavLink(index, label);
106
121
  }
122
+ return renderNavLink(index, label);
107
123
  })), closeButtonLabel && /*#__PURE__*/React__default["default"].createElement("div", {
108
124
  className: "".concat(overlayClass, "__footer")
109
125
  }, /*#__PURE__*/React__default["default"].createElement(react.Button, {
@@ -112,21 +128,7 @@ exports.CoachmarkStackHome = /*#__PURE__*/React.forwardRef(function (_ref, ref)
112
128
  setLinkFocusIndex(0);
113
129
  _onClose();
114
130
  }
115
- }, closeButtonLabel))))), portalNode);
116
- function renderNavLink(index, label) {
117
- var ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
118
- return /*#__PURE__*/React__default["default"].createElement("li", {
119
- key: index
120
- }, /*#__PURE__*/React__default["default"].createElement(react.Button, {
121
- kind: "ghost",
122
- size: "sm",
123
- onClick: function onClick() {
124
- setLinkFocusIndex(index);
125
- onClickNavItem(index + 1);
126
- },
127
- ref: ref
128
- }, label));
129
- }
131
+ }, closeButtonLabel))))), portalNode === null || portalNode === void 0 ? void 0 : portalNode.current) : null;
130
132
  });
131
133
 
132
134
  // Return a placeholder if not released and not enabled by feature flag
@@ -173,7 +175,7 @@ exports.CoachmarkStackHome.propTypes = {
173
175
  /**
174
176
  * The labels used to link to the stackable Coachmarks.
175
177
  */
176
- navLinkLabels: index["default"].arrayOf(index["default"].string).isRequired,
178
+ navLinkLabels: index["default"].arrayOf(index["default"].string.isRequired).isRequired,
177
179
  /**
178
180
  * For internal use only by CoachmarkStack and CoachmarkStackHome.
179
181
  */