@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
@@ -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 {};
@@ -17,6 +17,7 @@ import { CoachmarkStackHome } from './CoachmarkStackHome.js';
17
17
  import { CoachmarkTagline } from '../Coachmark/CoachmarkTagline.js';
18
18
  import { CoachmarkContext } from '../Coachmark/utils/context.js';
19
19
  import { COACHMARK_OVERLAY_KIND } from '../Coachmark/utils/enums.js';
20
+ import { useIsomorphicEffect } from '../../global/js/hooks/useIsomorphicEffect.js';
20
21
 
21
22
  var _excluded = ["children", "className", "onClose", "description", "media", "navLinkLabels", "portalTarget", "closeButtonLabel", "tagline", "theme", "title"];
22
23
 
@@ -30,7 +31,8 @@ var elementBlockClass = "".concat(pkg.prefix, "--coachmark-stack-element");
30
31
  var defaults = {
31
32
  onClose: function onClose() {},
32
33
  // Pass through to CoachmarkStackHome
33
- theme: 'light'
34
+ theme: 'light',
35
+ portalTarget: 'body'
34
36
  };
35
37
 
36
38
  // NOTE
@@ -47,7 +49,6 @@ var defaults = {
47
49
  * This variant allows the stacking of multiple coachmark overlays to be displayed by interacting with the tagline.
48
50
  */
49
51
  var CoachmarkStack = /*#__PURE__*/React__default.forwardRef(function (_ref, ref) {
50
- var _document$querySelect;
51
52
  var children = _ref.children,
52
53
  className = _ref.className,
53
54
  _ref$onClose = _ref.onClose,
@@ -63,8 +64,12 @@ var CoachmarkStack = /*#__PURE__*/React__default.forwardRef(function (_ref, ref)
63
64
  theme = _ref$theme === void 0 ? defaults.theme : _ref$theme,
64
65
  title = _ref.title,
65
66
  rest = _objectWithoutProperties(_ref, _excluded);
66
- var portalNode = portalTarget ? (_document$querySelect = document.querySelector(portalTarget)) !== null && _document$querySelect !== void 0 ? _document$querySelect : document.querySelector('body') : document.querySelector('body');
67
- var stackHomeRef = useRef();
67
+ var portalNode = useRef(null);
68
+ useIsomorphicEffect(function () {
69
+ var _document$querySelect, _document, _document2, _document3;
70
+ 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');
71
+ }, [portalTarget]);
72
+ var stackHomeRef = useRef(null);
68
73
  var stackedCoachmarkRefs = useRef([]);
69
74
  var _useState = useState(false),
70
75
  _useState2 = _slicedToArray(_useState, 2),
@@ -78,7 +83,7 @@ var CoachmarkStack = /*#__PURE__*/React__default.forwardRef(function (_ref, ref)
78
83
  selectedItemNumber = _useState4[0],
79
84
  setSelectedItemNumber = _useState4[1];
80
85
  // // The parent height and width values to return to after unstacked
81
- var _useState5 = useState(null),
86
+ var _useState5 = useState(),
82
87
  _useState6 = _slicedToArray(_useState5, 2),
83
88
  parentHeight = _useState6[0],
84
89
  setParentHeight = _useState6[1];
@@ -159,14 +164,20 @@ var CoachmarkStack = /*#__PURE__*/React__default.forwardRef(function (_ref, ref)
159
164
  if (!parentHeight) {
160
165
  return;
161
166
  }
162
- stackHomeRef.current.style.height = "".concat(parentHeight, "px");
167
+ if (stackHomeRef.current) {
168
+ stackHomeRef.current.style.height = "".concat(parentHeight, "px");
169
+ }
163
170
  if (!isOpen || targetSelectedItem < 0) {
164
- stackHomeRef.current.focus();
171
+ if (stackHomeRef.current) {
172
+ stackHomeRef.current.focus();
173
+ }
165
174
  return;
166
175
  }
167
176
  var targetHomeHeight = stackedCoachmarkRefs.current[targetSelectedItem].clientHeight;
168
- stackHomeRef.current.style.height = "".concat(targetHomeHeight, "px");
169
- stackedCoachmarkRefs.current[targetSelectedItem].focus();
177
+ if (stackHomeRef.current) {
178
+ stackHomeRef.current.style.height = "".concat(targetHomeHeight, "px");
179
+ stackedCoachmarkRefs.current[targetSelectedItem].focus();
180
+ }
170
181
  }, [selectedItemNumber, isOpen, parentHeight]);
171
182
  var wrappedChildren = Children.map(childArray, function (child, idx) {
172
183
  var mountedClass = mountedRef.current ? "".concat(elementBlockClass, "--is-mounted") : '';
@@ -206,7 +217,7 @@ var CoachmarkStack = /*#__PURE__*/React__default.forwardRef(function (_ref, ref)
206
217
  portalTarget: portalTarget,
207
218
  closeButtonLabel: closeButtonLabel,
208
219
  title: title
209
- }), /*#__PURE__*/createPortal(wrappedChildren, portalNode)));
220
+ }), portalNode !== null && portalNode !== void 0 && portalNode.current ? /*#__PURE__*/createPortal(wrappedChildren, portalNode === null || portalNode === void 0 ? void 0 : portalNode.current) : null));
210
221
  });
211
222
 
212
223
  // Return a placeholder if not released and not enabled by feature flag
@@ -254,7 +265,7 @@ CoachmarkStack.propTypes = {
254
265
  /**
255
266
  * The labels used to link to the stackable Coachmarks.
256
267
  */
257
- navLinkLabels: PropTypes.arrayOf(PropTypes.string).isRequired,
268
+ navLinkLabels: PropTypes.arrayOf(PropTypes.string.isRequired).isRequired,
258
269
  /**
259
270
  * Function to call when the CoachmarkStack closes.
260
271
  */
@@ -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 {};
@@ -16,10 +16,10 @@ import { getDevtoolsProps } from '../../global/js/utils/devtools.js';
16
16
  import { pkg } from '../../settings.js';
17
17
  import { createPortal } from 'react-dom';
18
18
  import { CoachmarkHeader } from '../Coachmark/CoachmarkHeader.js';
19
+ import { useIsomorphicEffect } from '../../global/js/hooks/useIsomorphicEffect.js';
19
20
  import { SteppedAnimatedMedia } from '../SteppedAnimatedMedia/SteppedAnimatedMedia.js';
20
21
 
21
22
  var _excluded = ["className", "description", "isOpen", "media", "navLinkLabels", "onClickNavItem", "onClose", "portalTarget", "closeButtonLabel", "title"];
22
-
23
23
  // Carbon and package components we use.
24
24
  /* TODO: @import(s) of carbon components and other package components. */
25
25
 
@@ -33,7 +33,6 @@ var componentName = 'CoachmarkStackHome';
33
33
  * of other Onboarding components.
34
34
  */
35
35
  var CoachmarkStackHome = /*#__PURE__*/forwardRef(function (_ref, ref) {
36
- var _document$querySelect;
37
36
  var className = _ref.className,
38
37
  description = _ref.description,
39
38
  isOpen = _ref.isOpen,
@@ -45,7 +44,7 @@ var CoachmarkStackHome = /*#__PURE__*/forwardRef(function (_ref, ref) {
45
44
  closeButtonLabel = _ref.closeButtonLabel,
46
45
  title = _ref.title,
47
46
  rest = _objectWithoutProperties(_ref, _excluded);
48
- var buttonFocusRef = useRef();
47
+ var buttonFocusRef = useRef(null);
49
48
  var _useState = useState(0),
50
49
  _useState2 = _slicedToArray(_useState, 2),
51
50
  linkFocusIndex = _useState2[0],
@@ -57,11 +56,29 @@ var CoachmarkStackHome = /*#__PURE__*/forwardRef(function (_ref, ref) {
57
56
  }
58
57
  }, 100);
59
58
  }, [isOpen]);
59
+ var portalNode = useRef(null);
60
+ useIsomorphicEffect(function () {
61
+ var _document$querySelect, _document, _document2, _document3;
62
+ 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');
63
+ }, [portalTarget]);
60
64
  if (!navLinkLabels) {
61
65
  return pconsole.warn("".concat(componentName, " is an Onboarding internal component and is not intended for general use."));
62
66
  }
63
- var portalNode = portalTarget ? (_document$querySelect = document.querySelector(portalTarget)) !== null && _document$querySelect !== void 0 ? _document$querySelect : document.querySelector('body') : document.querySelector('body');
64
- return /*#__PURE__*/createPortal( /*#__PURE__*/React__default.createElement("div", _extends({}, rest, {
67
+ function renderNavLink(index, label) {
68
+ var ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
69
+ return /*#__PURE__*/React__default.createElement("li", {
70
+ key: index
71
+ }, /*#__PURE__*/React__default.createElement(Button, {
72
+ kind: "ghost",
73
+ size: "sm",
74
+ onClick: function onClick() {
75
+ setLinkFocusIndex(index);
76
+ onClickNavItem(index + 1);
77
+ },
78
+ ref: ref
79
+ }, label));
80
+ }
81
+ return portalNode !== null && portalNode !== void 0 && portalNode.current ? /*#__PURE__*/createPortal( /*#__PURE__*/React__default.createElement("div", _extends({}, rest, {
65
82
  className: cx(blockClass, className),
66
83
  ref: ref,
67
84
  role: "main"
@@ -92,9 +109,8 @@ var CoachmarkStackHome = /*#__PURE__*/forwardRef(function (_ref, ref) {
92
109
  }, navLinkLabels.map(function (label, index) {
93
110
  if (index === linkFocusIndex) {
94
111
  return renderNavLink(index, label, buttonFocusRef);
95
- } else {
96
- return renderNavLink(index, label);
97
112
  }
113
+ return renderNavLink(index, label);
98
114
  })), closeButtonLabel && /*#__PURE__*/React__default.createElement("div", {
99
115
  className: "".concat(overlayClass, "__footer")
100
116
  }, /*#__PURE__*/React__default.createElement(Button, {
@@ -103,21 +119,7 @@ var CoachmarkStackHome = /*#__PURE__*/forwardRef(function (_ref, ref) {
103
119
  setLinkFocusIndex(0);
104
120
  _onClose();
105
121
  }
106
- }, closeButtonLabel))))), portalNode);
107
- function renderNavLink(index, label) {
108
- var ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
109
- return /*#__PURE__*/React__default.createElement("li", {
110
- key: index
111
- }, /*#__PURE__*/React__default.createElement(Button, {
112
- kind: "ghost",
113
- size: "sm",
114
- onClick: function onClick() {
115
- setLinkFocusIndex(index);
116
- onClickNavItem(index + 1);
117
- },
118
- ref: ref
119
- }, label));
120
- }
122
+ }, closeButtonLabel))))), portalNode === null || portalNode === void 0 ? void 0 : portalNode.current) : null;
121
123
  });
122
124
 
123
125
  // Return a placeholder if not released and not enabled by feature flag
@@ -164,7 +166,7 @@ CoachmarkStackHome.propTypes = {
164
166
  /**
165
167
  * The labels used to link to the stackable Coachmarks.
166
168
  */
167
- navLinkLabels: PropTypes.arrayOf(PropTypes.string).isRequired,
169
+ navLinkLabels: PropTypes.arrayOf(PropTypes.string.isRequired).isRequired,
168
170
  /**
169
171
  * For internal use only by CoachmarkStack and CoachmarkStackHome.
170
172
  */
@@ -10,8 +10,7 @@ import React__default, { useContext, useState } from 'react';
10
10
  import { Close } from '@carbon/react/icons';
11
11
  import { ConditionBuilderItem } from '../ConditionBuilderItem/ConditionBuilderItem.js';
12
12
  import PropTypes from '../../../node_modules/prop-types/index.js';
13
- import { blockClass, translateWithId, statementConfig, operatorConfig } from '../ConditionBuilderContext/DataConfigs.js';
14
- import { ConditionBuilderItemOption } from '../ConditionBuilderItem/ConditionBuilderItemOption/ConditionBuilderItemOption.js';
13
+ import { blockClass, statementConfig, operatorConfig } from '../ConditionBuilderContext/DataConfigs.js';
15
14
  import cx from 'classnames';
16
15
  import ConditionConnector from '../ConditionBuilderConnector/ConditionConnector.js';
17
16
  import { ConditionBuilderItemNumber } from '../ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js';
@@ -19,11 +18,15 @@ import { ConditionBuilderItemText } from '../ConditionBuilderItem/ConditionBuild
19
18
  import { ConditionBuilderItemDate } from '../ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.js';
20
19
  import { ConditionBuilderContext } from '../ConditionBuilderContext/ConditionBuilderProvider.js';
21
20
  import { ConditionBuilderButton } from '../ConditionBuilderButton/ConditionBuilderButton.js';
22
- import { focusThisField } from '../utils/util.js';
21
+ import { checkIsValid, focusThisField } from '../utils/util.js';
23
22
  import { ConditionBuilderItemTime } from '../ConditionBuilderItem/ConditionBuilderItemTime/ConditionBuilderItemTime.js';
24
23
  import ConditionBuilderAdd from '../ConditionBuilderAdd/ConditionBuilderAdd.js';
24
+ import { ItemOption } from '../ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js';
25
+ import { ItemOptionForValueField } from '../ConditionBuilderItem/ConditionBuilderItemOption/ItemOptionForValueField.js';
26
+ import { useTranslations } from '../utils/useTranslations.js';
25
27
 
26
28
  var _div;
29
+
27
30
  /**
28
31
  * This component build each block of condition consisting of property, operator value and close button.
29
32
  */
@@ -52,41 +55,56 @@ var ConditionBlock = function ConditionBlock(props) {
52
55
  isLastCondition = props.isLastCondition;
53
56
  var _useContext = useContext(ConditionBuilderContext),
54
57
  inputConfig = _useContext.inputConfig,
55
- variant = _useContext.variant;
56
- //Below possible input types expected for value field.
57
- var itemComponents = {
58
- option: ConditionBuilderItemOption,
59
- text: ConditionBuilderItemText,
60
- number: ConditionBuilderItemNumber,
61
- date: ConditionBuilderItemDate,
62
- time: ConditionBuilderItemTime
63
- };
58
+ variant = _useContext.variant,
59
+ conditionBuilderRef = _useContext.conditionBuilderRef;
64
60
  var _useState = useState(false),
65
61
  _useState2 = _slicedToArray(_useState, 2),
66
62
  showDeletionPreview = _useState2[0],
67
63
  setShowDeletionPreview = _useState2[1];
64
+ var _useState3 = useState(false),
65
+ _useState4 = _slicedToArray(_useState3, 2),
66
+ showAllActions = _useState4[0],
67
+ setShowAllActions = _useState4[1];
68
+ var _useTranslations = useTranslations(['conditionRowText', 'conditionText', 'propertyText', 'operatorText', 'removeConditionText']),
69
+ _useTranslations2 = _slicedToArray(_useTranslations, 5),
70
+ conditionRowText = _useTranslations2[0],
71
+ conditionText = _useTranslations2[1],
72
+ propertyText = _useTranslations2[2],
73
+ operatorText = _useTranslations2[3],
74
+ removeConditionText = _useTranslations2[4];
68
75
 
69
76
  //filtering the current property to access its properties and config options
70
77
  var getCurrentConfig = function getCurrentConfig(property) {
71
78
  var _inputConfig$properti, _inputConfig$properti2;
72
- return (_inputConfig$properti = (_inputConfig$properti2 = inputConfig.properties) === null || _inputConfig$properti2 === void 0 ? void 0 : _inputConfig$properti2.filter(function (eachProperty) {
79
+ return (_inputConfig$properti = (_inputConfig$properti2 = inputConfig.properties) === null || _inputConfig$properti2 === void 0 ? void 0 : _inputConfig$properti2.find(function (eachProperty) {
73
80
  return eachProperty.id == property;
74
- })[0]) !== null && _inputConfig$properti !== void 0 ? _inputConfig$properti : {};
81
+ })) !== null && _inputConfig$properti !== void 0 ? _inputConfig$properti : {};
75
82
  };
76
83
  var _getCurrentConfig = getCurrentConfig(property),
77
84
  icon = _getCurrentConfig.icon,
78
85
  type = _getCurrentConfig.type,
79
86
  config = _getCurrentConfig.config,
80
87
  label = _getCurrentConfig.label;
81
- var ItemComponent;
82
- // if (type == 'custom') {
83
- // ItemComponent = config.component;
84
- // } else {
85
- ItemComponent = property ? itemComponents[type] : null;
86
- //}
87
88
 
89
+ //Below possible input types expected for value field.
90
+ var itemComponents = {
91
+ text: ConditionBuilderItemText,
92
+ number: ConditionBuilderItemNumber,
93
+ date: ConditionBuilderItemDate,
94
+ time: ConditionBuilderItemTime,
95
+ option: ItemOptionForValueField,
96
+ custom: config === null || config === void 0 ? void 0 : config.component,
97
+ textarea: ConditionBuilderItemText
98
+ };
99
+ var ItemComponent = property ? itemComponents[type] : null;
100
+ var showAllActionsHandler = function showAllActionsHandler() {
101
+ setShowAllActions(true);
102
+ };
103
+ var hideAllActionsHandler = function hideAllActionsHandler() {
104
+ setShowAllActions(false);
105
+ };
88
106
  var onStatementChangeHandler = function onStatementChangeHandler(v, evt) {
89
- focusThisField(evt);
107
+ focusThisField(evt, conditionBuilderRef);
90
108
  onStatementChange(v);
91
109
  };
92
110
  var onPropertyChangeHandler = function onPropertyChangeHandler(newProperty) {
@@ -94,20 +112,21 @@ var ConditionBlock = function ConditionBlock(props) {
94
112
  property: newProperty,
95
113
  operator: undefined,
96
114
  value: '',
97
- popoverToOpen: 'operatorField'
115
+ popoverToOpen: checkIsValid(newProperty) ? 'operatorField' : ''
98
116
  }));
99
117
  };
100
118
  var onOperatorChangeHandler = function onOperatorChangeHandler(newOperator) {
101
119
  onChange(_objectSpread2(_objectSpread2({}, condition), {}, {
102
120
  operator: newOperator,
103
121
  value: undefined,
104
- popoverToOpen: 'valueField'
122
+ popoverToOpen: checkIsValid(newOperator) ? 'valueField' : ''
105
123
  }));
106
124
  };
107
125
  var onValueChangeHandler = function onValueChangeHandler(newValue) {
108
- onChange(_objectSpread2(_objectSpread2({}, condition), {}, {
109
- value: newValue,
110
- popoverToOpen: ''
126
+ var currentCondition = _objectSpread2({}, condition);
127
+ delete currentCondition.popoverToOpen;
128
+ onChange(_objectSpread2(_objectSpread2({}, currentCondition), {}, {
129
+ value: newValue
111
130
  }));
112
131
  };
113
132
  var handleShowDeletionPreview = function handleShowDeletionPreview() {
@@ -116,7 +135,16 @@ var ConditionBlock = function ConditionBlock(props) {
116
135
  var handleHideDeletionPreview = function handleHideDeletionPreview() {
117
136
  setShowDeletionPreview(false);
118
137
  };
138
+ var manageActionButtons = function manageActionButtons(conditionIndex, conditions) {
139
+ if (variant === 'tree') {
140
+ return true;
141
+ }
142
+ return isLastCondition(conditionIndex, conditions);
143
+ };
119
144
  var getOperators = function getOperators() {
145
+ if (config !== null && config !== void 0 && config.operators) {
146
+ return config.operators;
147
+ }
120
148
  return operatorConfig.filter(function (operator) {
121
149
  return operator.type.indexOf(type) != -1 || operator.type == 'all';
122
150
  });
@@ -128,12 +156,30 @@ var ConditionBlock = function ConditionBlock(props) {
128
156
  'aria-setsize': aria.setsize
129
157
  } : {};
130
158
  };
159
+ var renderChildren = function renderChildren(popoverRef) {
160
+ return /*#__PURE__*/React__default.createElement(ItemComponent, {
161
+ conditionState: {
162
+ property: property,
163
+ operator: operator,
164
+ value: value
165
+ },
166
+ onChange: onValueChangeHandler,
167
+ config: config,
168
+ "data-name": "valueField",
169
+ parentRef: popoverRef,
170
+ type: type
171
+ });
172
+ };
131
173
  return /*#__PURE__*/React__default.createElement("div", _extends({
132
- className: cx("".concat(blockClass, "__condition-block"), _defineProperty({}, "".concat(blockClass, "__condition__deletion-preview"), showDeletionPreview), _defineProperty({}, "".concat(blockClass, "__gap-bottom"), variant == 'tree' && !(conditionIndex + 1 >= group.conditions.length)), _defineProperty({}, "".concat(blockClass, "__gap ").concat(blockClass, "__gap-bottom"), variant == 'sentence')),
174
+ className: cx("".concat(blockClass, "__condition-block"), _defineProperty({}, "".concat(blockClass, "__condition__deletion-preview"), showDeletionPreview), _defineProperty({}, "".concat(blockClass, "__gap-bottom"), variant == 'tree'), _defineProperty({}, "".concat(blockClass, "__gap ").concat(blockClass, "__gap-bottom"), variant == 'sentence'), _defineProperty({}, "".concat(blockClass, "__condition--interacting"), showAllActions)),
133
175
  role: "row",
134
- "aria-label": translateWithId('condition_row'),
135
- tabIndex: -1
136
- }, getAriaAttributes()), conjunction ? /*#__PURE__*/React__default.createElement(ConditionConnector, {
176
+ "aria-label": conditionRowText
177
+ }, getAriaAttributes(), {
178
+ tabIndex: -1,
179
+ onMouseEnter: showAllActionsHandler,
180
+ onMouseLeave: hideAllActionsHandler,
181
+ onBlur: hideAllActionsHandler
182
+ }), conjunction ? /*#__PURE__*/React__default.createElement(ConditionConnector, {
137
183
  className: "".concat(blockClass, "__gap"),
138
184
  operator: conjunction,
139
185
  onChange: function onChange(op) {
@@ -143,74 +189,70 @@ var ConditionBlock = function ConditionBlock(props) {
143
189
  role: "gridcell"
144
190
  })), isStatement && /*#__PURE__*/React__default.createElement(ConditionBuilderItem, {
145
191
  label: group.statement,
146
- title: translateWithId('condition'),
192
+ title: conditionText,
147
193
  "data-name": "connectorField",
148
194
  popOverClassName: "".concat(blockClass, "__gap"),
149
- className: "".concat(blockClass, "__statement-button")
150
- }, /*#__PURE__*/React__default.createElement(ConditionBuilderItemOption, {
195
+ className: "".concat(blockClass, "__statement-button"),
196
+ tabIndex: 0
197
+ }, /*#__PURE__*/React__default.createElement(ItemOption, {
151
198
  conditionState: {
152
199
  value: group.statement,
153
- label: translateWithId('condition')
200
+ label: conditionText
154
201
  },
155
202
  onChange: onStatementChangeHandler,
156
203
  config: {
157
204
  options: statementConfig
158
205
  }
159
206
  })), /*#__PURE__*/React__default.createElement(ConditionBuilderItem, {
160
- label: label,
161
- title: translateWithId('property'),
207
+ label: label !== null && label !== void 0 ? label : condition === null || condition === void 0 ? void 0 : condition.property,
208
+ title: propertyText,
162
209
  renderIcon: icon !== null && icon !== void 0 ? icon : null,
163
210
  className: "".concat(blockClass, "__property-field"),
164
211
  "data-name": "propertyField",
165
212
  condition: condition,
166
- type: type
167
- }, /*#__PURE__*/React__default.createElement(ConditionBuilderItemOption, {
213
+ type: type,
214
+ onChange: onPropertyChangeHandler
215
+ }, /*#__PURE__*/React__default.createElement(ItemOption, {
168
216
  conditionState: {
169
217
  value: property,
170
- label: translateWithId('property')
218
+ label: propertyText
171
219
  },
172
220
  onChange: onPropertyChangeHandler,
173
221
  config: {
174
222
  options: inputConfig.properties
175
223
  }
176
- })), property && /*#__PURE__*/React__default.createElement(ConditionBuilderItem, {
224
+ })), checkIsValid(property) && /*#__PURE__*/React__default.createElement(ConditionBuilderItem, {
177
225
  label: operator,
178
- title: translateWithId('operator'),
226
+ title: operatorText,
179
227
  "data-name": "operatorField",
180
228
  condition: condition,
181
- type: type
182
- }, /*#__PURE__*/React__default.createElement(ConditionBuilderItemOption, {
229
+ type: type,
230
+ onChange: onOperatorChangeHandler
231
+ }, /*#__PURE__*/React__default.createElement(ItemOption, {
183
232
  config: {
184
233
  options: getOperators()
185
234
  },
186
235
  conditionState: {
187
236
  value: operator,
188
- label: translateWithId('operator')
237
+ label: operatorText
189
238
  },
190
239
  onChange: onOperatorChangeHandler
191
- })), property && operator && /*#__PURE__*/React__default.createElement(ConditionBuilderItem, {
240
+ })), checkIsValid(property) && checkIsValid(operator) && /*#__PURE__*/React__default.createElement(ConditionBuilderItem, {
192
241
  label: value,
193
242
  type: type,
194
243
  title: label,
195
244
  showToolTip: true,
196
245
  "data-name": "valueField",
197
246
  condition: condition,
198
- config: config
199
- }, /*#__PURE__*/React__default.createElement(ItemComponent, {
200
- conditionState: {
201
- property: property,
202
- operator: operator,
203
- value: value
204
- },
205
- onChange: onValueChangeHandler,
206
247
  config: config,
207
- "data-name": "valueField"
208
- })), /*#__PURE__*/React__default.createElement("span", {
248
+ onChange: onValueChangeHandler,
249
+ renderChildren: renderChildren
250
+ }), /*#__PURE__*/React__default.createElement("span", {
209
251
  role: "gridcell",
210
- "aria-label": translateWithId('remove_condition')
252
+ "aria-label": removeConditionText
211
253
  }, /*#__PURE__*/React__default.createElement(ConditionBuilderButton, {
212
254
  hideLabel: true,
213
- label: translateWithId('remove_condition'),
255
+ label: removeConditionText,
214
256
  onClick: onRemove,
215
257
  onMouseEnter: handleShowDeletionPreview,
216
258
  onMouseLeave: handleHideDeletionPreview,
@@ -219,7 +261,7 @@ var ConditionBlock = function ConditionBlock(props) {
219
261
  renderIcon: Close,
220
262
  className: "".concat(blockClass, "__close-condition"),
221
263
  "data-name": "closeCondition"
222
- })), isLastCondition(conditionIndex, group.conditions) && /*#__PURE__*/React__default.createElement(ConditionBuilderAdd, {
264
+ })), manageActionButtons(conditionIndex, group.conditions) && /*#__PURE__*/React__default.createElement(ConditionBuilderAdd, {
223
265
  onClick: function onClick() {
224
266
  addConditionHandler(conditionIndex);
225
267
  },