@carbon/ibm-products 2.43.2-canary.11 → 2.43.2-canary.112

Sign up to get free protection for your applications and to get access to all the features.
Files changed (416) 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 +1846 -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 +1455 -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 +1651 -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 +68 -2
  30. package/es/components/Card/Card.js +28 -35
  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/CoachmarkStack/CoachmarkStack.js +7 -3
  42. package/es/components/CoachmarkStack/CoachmarkStackHome.js +8 -4
  43. package/es/components/ConditionBuilder/ConditionBlock/ConditionBlock.d.ts +1 -0
  44. package/es/components/ConditionBuilder/ConditionBlock/ConditionBlock.js +90 -56
  45. package/es/components/ConditionBuilder/ConditionBuilder.js +82 -25
  46. package/es/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.d.ts +15 -0
  47. package/es/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.js +154 -0
  48. package/es/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.d.ts +3 -1
  49. package/es/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +29 -13
  50. package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +8 -1
  51. package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +35 -11
  52. package/es/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.js +18 -10
  53. package/es/components/ConditionBuilder/ConditionBuilderConnector/GroupConnector.js +19 -11
  54. package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +9 -13
  55. package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +83 -64
  56. package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts +13 -7
  57. package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +31 -8
  58. package/es/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.d.ts +8 -2
  59. package/es/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.js +35 -24
  60. package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +43 -36
  61. package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +43 -36
  62. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.d.ts +6 -2
  63. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +114 -40
  64. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.d.ts +3 -1
  65. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.js +24 -9
  66. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js +27 -9
  67. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.d.ts +13 -0
  68. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js +114 -0
  69. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.d.ts → ItemOptionForValueField.d.ts} +2 -2
  70. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.js → ItemOptionForValueField.js} +71 -38
  71. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.d.ts +5 -1
  72. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.js +22 -9
  73. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemTime/ConditionBuilderItemTime.js +1 -1
  74. package/es/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.d.ts +1 -3
  75. package/es/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +131 -42
  76. package/es/components/ConditionBuilder/ConditionPreview/ConditionPreview.d.ts +5 -1
  77. package/es/components/ConditionBuilder/ConditionPreview/ConditionPreview.js +51 -19
  78. package/es/components/ConditionBuilder/utils/handleKeyboardEvents.d.ts +2 -1
  79. package/es/components/ConditionBuilder/utils/handleKeyboardEvents.js +152 -42
  80. package/es/components/ConditionBuilder/utils/useTranslations.d.ts +1 -0
  81. package/es/components/ConditionBuilder/utils/useTranslations.js +26 -0
  82. package/es/components/ConditionBuilder/utils/util.d.ts +6 -4
  83. package/es/components/ConditionBuilder/utils/util.js +42 -17
  84. package/es/components/CreateFullPage/CreateFullPage.js +2 -2
  85. package/es/components/DataSpreadsheet/DataSpreadsheet.d.ts +26 -0
  86. package/es/components/DataSpreadsheet/DataSpreadsheet.js +129 -53
  87. package/es/components/DataSpreadsheet/DataSpreadsheetBody.d.ts +16 -0
  88. package/es/components/DataSpreadsheet/DataSpreadsheetBody.js +32 -7
  89. package/es/components/DataSpreadsheet/DataSpreadsheetHeader.d.ts +8 -0
  90. package/es/components/DataSpreadsheet/DataSpreadsheetHeader.js +16 -3
  91. package/es/components/DataSpreadsheet/types/index.d.ts +7 -0
  92. package/es/components/Datagrid/Datagrid/Datagrid.d.ts +0 -4
  93. package/es/components/Datagrid/Datagrid/Datagrid.js +4 -9
  94. package/es/components/Datagrid/Datagrid/DatagridBody.d.ts +6 -0
  95. package/es/components/Datagrid/Datagrid/DatagridContent.js +4 -3
  96. package/es/components/Datagrid/Datagrid/DatagridHeaderRow.js +23 -8
  97. package/es/components/Datagrid/Datagrid/DatagridRefBody.d.ts +6 -0
  98. package/es/components/Datagrid/Datagrid/DatagridRow.js +21 -8
  99. package/es/components/Datagrid/Datagrid/DatagridSelectAll.js +6 -6
  100. package/es/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +3 -2
  101. package/es/components/Datagrid/Datagrid/DatagridSimpleBody.d.ts +6 -0
  102. package/es/components/Datagrid/Datagrid/DraggableElement.d.ts +6 -0
  103. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +34 -10
  104. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +6 -1
  105. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +6 -1
  106. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.d.ts +6 -3
  107. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +20 -12
  108. package/es/components/Datagrid/Datagrid/addons/Filtering/handleCheckboxChange.js +7 -0
  109. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.d.ts +1 -1
  110. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +54 -17
  111. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +2 -3
  112. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +75 -12
  113. package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +10 -2
  114. package/es/components/Datagrid/common-column-ids.d.ts +6 -0
  115. package/es/components/Datagrid/types/index.d.ts +63 -9
  116. package/es/components/Datagrid/useActionsColumn.d.ts +8 -1
  117. package/es/components/Datagrid/useActionsColumn.js +7 -6
  118. package/es/components/Datagrid/useColumnRightAlign.d.ts +8 -1
  119. package/es/components/Datagrid/useColumnRightAlign.js +4 -3
  120. package/es/components/Datagrid/useCustomizeColumns.d.ts +8 -1
  121. package/es/components/Datagrid/useCustomizeColumns.js +4 -3
  122. package/es/components/Datagrid/useDatagrid.d.ts +6 -0
  123. package/es/components/Datagrid/useDefaultStringRenderer.js +0 -1
  124. package/es/components/Datagrid/useDisableSelectRows.d.ts +8 -1
  125. package/es/components/Datagrid/useDisableSelectRows.js +27 -22
  126. package/es/components/Datagrid/useInlineEdit.js +12 -2
  127. package/es/components/Datagrid/useNestedRowExpander.js +1 -3
  128. package/es/components/Datagrid/useNestedRows.js +32 -13
  129. package/es/components/Datagrid/useRowExpander.js +1 -3
  130. package/es/components/Datagrid/useRowIsMouseOver.d.ts +6 -0
  131. package/es/components/Datagrid/useSelectRows.js +2 -1
  132. package/es/components/Datagrid/useStickyColumn.d.ts +8 -1
  133. package/es/components/Datagrid/useStickyColumn.js +12 -9
  134. package/es/components/EditInPlace/EditInPlace.d.ts +4 -0
  135. package/es/components/EditInPlace/EditInPlace.js +21 -10
  136. package/es/components/EditTearsheet/EditTearsheet.d.ts +7 -2
  137. package/es/components/EditTearsheet/EditTearsheet.js +44 -10
  138. package/es/components/EditTearsheet/EditTearsheetForm.d.ts +45 -2
  139. package/es/components/EditTearsheet/EditTearsheetForm.js +3 -0
  140. package/es/components/EmptyStates/EmptyState.d.ts +72 -5
  141. package/es/components/EmptyStates/EmptyState.js +8 -5
  142. package/es/components/EmptyStates/EmptyStateV2.d.ts +63 -2
  143. package/es/components/EmptyStates/EmptyStateV2.js +3 -2
  144. package/es/components/FullPageError/FullPageError.d.ts +36 -2
  145. package/es/components/FullPageError/FullPageError.js +0 -3
  146. package/es/components/GetStartedCard/GetStartedCard.d.ts +60 -2
  147. package/es/components/GetStartedCard/GetStartedCard.js +11 -10
  148. package/es/components/HTTPErrors/HTTPError403/HTTPError403.js +6 -0
  149. package/es/components/HTTPErrors/HTTPError404/HTTPError404.js +6 -0
  150. package/es/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +6 -0
  151. package/es/components/HTTPErrors/assets/HTTPErrorSvg403.js +204 -200
  152. package/es/components/HTTPErrors/assets/HTTPErrorSvg404.js +116 -112
  153. package/es/components/HTTPErrors/assets/HTTPErrorSvgOther.js +110 -106
  154. package/es/components/Nav/NavItem.js +12 -3
  155. package/es/components/OptionsTile/OptionsTile.js +11 -6
  156. package/es/components/PageHeader/PageHeader.js +1 -0
  157. package/es/components/PageHeader/PageHeaderUtils.js +1 -1
  158. package/es/components/RemoveModal/RemoveModal.d.ts +4 -0
  159. package/es/components/RemoveModal/RemoveModal.js +7 -1
  160. package/es/components/SearchBar/SearchBar.d.ts +1 -1
  161. package/es/components/SearchBar/SearchBar.js +2 -2
  162. package/es/components/SidePanel/SidePanel.js +17 -21
  163. package/es/components/SidePanel/motion/variants.d.ts +4 -6
  164. package/es/components/SidePanel/motion/variants.js +10 -11
  165. package/es/components/StatusIndicator/StatusIndicatorStep.js +87 -0
  166. package/es/components/StringFormatter/StringFormatter.js +14 -3
  167. package/es/components/StringFormatter/utils/enums.d.ts +20 -1
  168. package/es/components/StringFormatter/utils/enums.js +29 -2
  169. package/es/components/TagOverflow/TagOverflow.d.ts +35 -4
  170. package/es/components/TagOverflow/TagOverflow.js +47 -64
  171. package/es/components/TagOverflow/TagOverflowModal.js +4 -6
  172. package/es/components/TagOverflow/TagOverflowPopover.d.ts +13 -1
  173. package/es/components/TagOverflow/TagOverflowPopover.js +38 -41
  174. package/es/components/Tearsheet/Tearsheet.d.ts +8 -1
  175. package/es/components/Tearsheet/Tearsheet.js +9 -1
  176. package/es/components/Tearsheet/TearsheetNarrow.d.ts +11 -0
  177. package/es/components/Tearsheet/TearsheetNarrow.js +12 -0
  178. package/es/components/Tearsheet/TearsheetShell.d.ts +11 -1
  179. package/es/components/Tearsheet/TearsheetShell.js +28 -7
  180. package/es/components/Toolbar/ToolbarButton.js +1 -1
  181. package/es/components/UserAvatar/UserAvatar.d.ts +59 -1
  182. package/es/components/UserAvatar/UserAvatar.js +7 -23
  183. package/es/components/WebTerminal/WebTerminal.js +10 -12
  184. package/es/components/index.d.ts +1 -1
  185. package/es/global/js/hooks/useFocus.d.ts +1 -0
  186. package/es/global/js/hooks/useFocus.js +5 -2
  187. package/es/global/js/hooks/usePrefersReducedMotion.js +14 -8
  188. package/es/global/js/package-settings.d.ts +1 -1
  189. package/es/global/js/package-settings.js +1 -1
  190. package/es/global/js/utils/scrollableAncestor.js +7 -0
  191. package/es/global/js/utils/uuidv4.d.ts +6 -0
  192. package/es/global/js/utils/uuidv4.js +2 -0
  193. package/es/global/js/utils/wait.d.ts +6 -0
  194. package/es/global/js/utils/wait.js +2 -0
  195. package/es/index.js +1 -0
  196. package/es/node_modules/@carbon/icon-helpers/es/index.js +49 -62
  197. package/es/node_modules/@carbon/icons-react/es/generated/bucket-2.js +1020 -1058
  198. package/es/node_modules/@carbon/icons-react/es/generated/bucket-9.js +881 -758
  199. package/es/settings.d.ts +1 -1
  200. package/flags.js +7 -0
  201. package/lib/components/APIKeyModal/APIKeyModal.types.d.ts +6 -0
  202. package/lib/components/ActionBar/ActionBar.d.ts +58 -2
  203. package/lib/components/ActionBar/ActionBar.js +14 -9
  204. package/lib/components/ActionBar/ActionBarItem.d.ts +36 -2
  205. package/lib/components/ActionBar/ActionBarItem.js +7 -4
  206. package/lib/components/ActionBar/ActionBarOverflowItems.d.ts +55 -16
  207. package/lib/components/ActionBar/ActionBarOverflowItems.js +8 -4
  208. package/lib/components/AddSelect/types/index.d.ts +6 -0
  209. package/lib/components/Card/Card.d.ts +68 -2
  210. package/lib/components/Card/Card.js +28 -35
  211. package/lib/components/Card/CardFooter.d.ts +51 -48
  212. package/lib/components/Card/CardFooter.js +4 -2
  213. package/lib/components/Card/CardHeader.d.ts +67 -49
  214. package/lib/components/Card/CardHeader.js +4 -2
  215. package/lib/components/Coachmark/Coachmark.d.ts +6 -1
  216. package/lib/components/Coachmark/Coachmark.js +46 -10
  217. package/lib/components/Coachmark/CoachmarkOverlay.js +2 -4
  218. package/lib/components/Coachmark/utils/enums.d.ts +6 -0
  219. package/lib/components/CoachmarkBeacon/CoachmarkBeacon.js +1 -7
  220. package/lib/components/CoachmarkFixed/CoachmarkFixed.js +13 -11
  221. package/lib/components/CoachmarkStack/CoachmarkStack.js +7 -3
  222. package/lib/components/CoachmarkStack/CoachmarkStackHome.js +8 -4
  223. package/lib/components/ConditionBuilder/ConditionBlock/ConditionBlock.d.ts +1 -0
  224. package/lib/components/ConditionBuilder/ConditionBlock/ConditionBlock.js +87 -53
  225. package/lib/components/ConditionBuilder/ConditionBuilder.js +82 -25
  226. package/lib/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.d.ts +15 -0
  227. package/lib/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.js +163 -0
  228. package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.d.ts +3 -1
  229. package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +28 -11
  230. package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +8 -1
  231. package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +33 -9
  232. package/lib/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.js +16 -8
  233. package/lib/components/ConditionBuilder/ConditionBuilderConnector/GroupConnector.js +18 -10
  234. package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +9 -13
  235. package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +81 -62
  236. package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts +13 -7
  237. package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +31 -8
  238. package/lib/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.d.ts +8 -2
  239. package/lib/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.js +34 -24
  240. package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +43 -36
  241. package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +43 -36
  242. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.d.ts +6 -2
  243. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +112 -38
  244. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.d.ts +3 -1
  245. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.js +24 -9
  246. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js +28 -10
  247. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.d.ts +13 -0
  248. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js +122 -0
  249. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.d.ts → ItemOptionForValueField.d.ts} +2 -2
  250. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.js → ItemOptionForValueField.js} +68 -35
  251. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.d.ts +5 -1
  252. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.js +21 -8
  253. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemTime/ConditionBuilderItemTime.js +1 -1
  254. package/lib/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.d.ts +1 -3
  255. package/lib/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +128 -39
  256. package/lib/components/ConditionBuilder/ConditionPreview/ConditionPreview.d.ts +5 -1
  257. package/lib/components/ConditionBuilder/ConditionPreview/ConditionPreview.js +50 -17
  258. package/lib/components/ConditionBuilder/utils/handleKeyboardEvents.d.ts +2 -1
  259. package/lib/components/ConditionBuilder/utils/handleKeyboardEvents.js +152 -41
  260. package/lib/components/ConditionBuilder/utils/useTranslations.d.ts +1 -0
  261. package/lib/components/ConditionBuilder/utils/useTranslations.js +30 -0
  262. package/lib/components/ConditionBuilder/utils/util.d.ts +6 -4
  263. package/lib/components/ConditionBuilder/utils/util.js +44 -16
  264. package/lib/components/CreateFullPage/CreateFullPage.js +2 -2
  265. package/lib/components/DataSpreadsheet/DataSpreadsheet.d.ts +26 -0
  266. package/lib/components/DataSpreadsheet/DataSpreadsheet.js +129 -53
  267. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.d.ts +16 -0
  268. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +32 -7
  269. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.d.ts +8 -0
  270. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.js +16 -3
  271. package/lib/components/DataSpreadsheet/types/index.d.ts +7 -0
  272. package/lib/components/Datagrid/Datagrid/Datagrid.d.ts +0 -4
  273. package/lib/components/Datagrid/Datagrid/Datagrid.js +4 -9
  274. package/lib/components/Datagrid/Datagrid/DatagridBody.d.ts +6 -0
  275. package/lib/components/Datagrid/Datagrid/DatagridContent.js +4 -3
  276. package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +23 -8
  277. package/lib/components/Datagrid/Datagrid/DatagridRefBody.d.ts +6 -0
  278. package/lib/components/Datagrid/Datagrid/DatagridRow.js +21 -8
  279. package/lib/components/Datagrid/Datagrid/DatagridSelectAll.js +6 -6
  280. package/lib/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +3 -2
  281. package/lib/components/Datagrid/Datagrid/DatagridSimpleBody.d.ts +6 -0
  282. package/lib/components/Datagrid/Datagrid/DraggableElement.d.ts +6 -0
  283. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +34 -10
  284. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +6 -1
  285. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +6 -1
  286. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.d.ts +6 -3
  287. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +20 -12
  288. package/lib/components/Datagrid/Datagrid/addons/Filtering/handleCheckboxChange.js +7 -0
  289. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.d.ts +1 -1
  290. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +53 -16
  291. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +2 -3
  292. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +74 -11
  293. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +10 -2
  294. package/lib/components/Datagrid/common-column-ids.d.ts +6 -0
  295. package/lib/components/Datagrid/types/index.d.ts +63 -9
  296. package/lib/components/Datagrid/useActionsColumn.d.ts +8 -1
  297. package/lib/components/Datagrid/useActionsColumn.js +7 -6
  298. package/lib/components/Datagrid/useColumnRightAlign.d.ts +8 -1
  299. package/lib/components/Datagrid/useColumnRightAlign.js +4 -3
  300. package/lib/components/Datagrid/useCustomizeColumns.d.ts +8 -1
  301. package/lib/components/Datagrid/useCustomizeColumns.js +4 -3
  302. package/lib/components/Datagrid/useDatagrid.d.ts +6 -0
  303. package/lib/components/Datagrid/useDefaultStringRenderer.js +0 -1
  304. package/lib/components/Datagrid/useDisableSelectRows.d.ts +8 -1
  305. package/lib/components/Datagrid/useDisableSelectRows.js +27 -22
  306. package/lib/components/Datagrid/useInlineEdit.js +12 -2
  307. package/lib/components/Datagrid/useNestedRowExpander.js +1 -3
  308. package/lib/components/Datagrid/useNestedRows.js +32 -13
  309. package/lib/components/Datagrid/useRowExpander.js +1 -3
  310. package/lib/components/Datagrid/useRowIsMouseOver.d.ts +6 -0
  311. package/lib/components/Datagrid/useSelectRows.js +2 -1
  312. package/lib/components/Datagrid/useStickyColumn.d.ts +8 -1
  313. package/lib/components/Datagrid/useStickyColumn.js +12 -9
  314. package/lib/components/EditInPlace/EditInPlace.d.ts +4 -0
  315. package/lib/components/EditInPlace/EditInPlace.js +21 -10
  316. package/lib/components/EditTearsheet/EditTearsheet.d.ts +7 -2
  317. package/lib/components/EditTearsheet/EditTearsheet.js +43 -9
  318. package/lib/components/EditTearsheet/EditTearsheetForm.d.ts +45 -2
  319. package/lib/components/EditTearsheet/EditTearsheetForm.js +3 -0
  320. package/lib/components/EmptyStates/EmptyState.d.ts +72 -5
  321. package/lib/components/EmptyStates/EmptyState.js +8 -5
  322. package/lib/components/EmptyStates/EmptyStateV2.d.ts +63 -2
  323. package/lib/components/EmptyStates/EmptyStateV2.js +3 -2
  324. package/lib/components/FullPageError/FullPageError.d.ts +36 -2
  325. package/lib/components/FullPageError/FullPageError.js +0 -3
  326. package/lib/components/GetStartedCard/GetStartedCard.d.ts +60 -2
  327. package/lib/components/GetStartedCard/GetStartedCard.js +10 -9
  328. package/lib/components/HTTPErrors/HTTPError403/HTTPError403.js +6 -0
  329. package/lib/components/HTTPErrors/HTTPError404/HTTPError404.js +6 -0
  330. package/lib/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +6 -0
  331. package/lib/components/HTTPErrors/assets/HTTPErrorSvg403.js +204 -200
  332. package/lib/components/HTTPErrors/assets/HTTPErrorSvg404.js +116 -112
  333. package/lib/components/HTTPErrors/assets/HTTPErrorSvgOther.js +110 -106
  334. package/lib/components/Nav/NavItem.js +10 -1
  335. package/lib/components/OptionsTile/OptionsTile.js +11 -6
  336. package/lib/components/PageHeader/PageHeader.js +1 -0
  337. package/lib/components/PageHeader/PageHeaderUtils.js +1 -1
  338. package/lib/components/RemoveModal/RemoveModal.d.ts +4 -0
  339. package/lib/components/RemoveModal/RemoveModal.js +7 -1
  340. package/lib/components/SearchBar/SearchBar.d.ts +1 -1
  341. package/lib/components/SearchBar/SearchBar.js +2 -2
  342. package/lib/components/SidePanel/SidePanel.js +16 -20
  343. package/lib/components/SidePanel/motion/variants.d.ts +4 -6
  344. package/lib/components/SidePanel/motion/variants.js +10 -11
  345. package/lib/components/StatusIndicator/StatusIndicatorStep.js +94 -0
  346. package/lib/components/StringFormatter/StringFormatter.js +13 -2
  347. package/lib/components/StringFormatter/utils/enums.d.ts +20 -1
  348. package/lib/components/StringFormatter/utils/enums.js +30 -1
  349. package/lib/components/TagOverflow/TagOverflow.d.ts +35 -4
  350. package/lib/components/TagOverflow/TagOverflow.js +46 -63
  351. package/lib/components/TagOverflow/TagOverflowModal.js +4 -6
  352. package/lib/components/TagOverflow/TagOverflowPopover.d.ts +13 -1
  353. package/lib/components/TagOverflow/TagOverflowPopover.js +37 -40
  354. package/lib/components/Tearsheet/Tearsheet.d.ts +8 -1
  355. package/lib/components/Tearsheet/Tearsheet.js +9 -1
  356. package/lib/components/Tearsheet/TearsheetNarrow.d.ts +11 -0
  357. package/lib/components/Tearsheet/TearsheetNarrow.js +12 -0
  358. package/lib/components/Tearsheet/TearsheetShell.d.ts +11 -1
  359. package/lib/components/Tearsheet/TearsheetShell.js +26 -5
  360. package/lib/components/Toolbar/ToolbarButton.js +1 -1
  361. package/lib/components/UserAvatar/UserAvatar.d.ts +59 -1
  362. package/lib/components/UserAvatar/UserAvatar.js +7 -23
  363. package/lib/components/WebTerminal/WebTerminal.js +10 -12
  364. package/lib/components/index.d.ts +1 -1
  365. package/lib/global/js/hooks/useFocus.d.ts +1 -0
  366. package/lib/global/js/hooks/useFocus.js +5 -1
  367. package/lib/global/js/hooks/usePrefersReducedMotion.js +13 -7
  368. package/lib/global/js/package-settings.d.ts +1 -1
  369. package/lib/global/js/package-settings.js +1 -1
  370. package/lib/global/js/utils/scrollableAncestor.js +7 -0
  371. package/lib/global/js/utils/uuidv4.d.ts +6 -0
  372. package/lib/global/js/utils/uuidv4.js +2 -0
  373. package/lib/global/js/utils/wait.d.ts +6 -0
  374. package/lib/global/js/utils/wait.js +2 -0
  375. package/lib/index.js +5 -0
  376. package/lib/node_modules/@carbon/icon-helpers/es/index.js +49 -62
  377. package/lib/node_modules/@carbon/icons-react/es/generated/bucket-2.js +1036 -1074
  378. package/lib/node_modules/@carbon/icons-react/es/generated/bucket-9.js +946 -823
  379. package/lib/settings.d.ts +1 -1
  380. package/package.json +8 -7
  381. package/scss/components/Coachmark/_coachmark-overlay.scss +6 -70
  382. package/scss/components/Coachmark/_coachmark.scss +5 -4
  383. package/scss/components/CoachmarkBeacon/_coachmark-beacon.scss +1 -3
  384. package/scss/components/ConditionBuilder/_condition-builder.scss +8 -1
  385. package/scss/components/ConditionBuilder/styles/_conditionBuilderCondition.scss +38 -5
  386. package/scss/components/ConditionBuilder/styles/_conditionBuilderItem.scss +68 -22
  387. package/scss/components/ConditionBuilder/styles/_index.scss +7 -0
  388. package/scss/components/CreateModal/_create-modal.scss +0 -4
  389. package/scss/components/DataSpreadsheet/_data-spreadsheet.scss +16 -2
  390. package/scss/components/Datagrid/_datagrid.scss +0 -4
  391. package/scss/components/Datagrid/styles/_datagrid.scss +1 -0
  392. package/scss/components/Datagrid/styles/_useActionsColumn.scss +6 -7
  393. package/scss/components/Datagrid/styles/_useColumnRightAlign.scss +6 -7
  394. package/scss/components/Datagrid/styles/_useExpandedRow.scss +6 -7
  395. package/scss/components/Datagrid/styles/_useInlineEdit.scss +19 -7
  396. package/scss/components/Datagrid/styles/_useNestedRows.scss +6 -7
  397. package/scss/components/Datagrid/styles/_useNestedTable.scss +6 -7
  398. package/scss/components/Datagrid/styles/_useStickyColumn.scss +6 -7
  399. package/scss/components/Datagrid/styles/addons/_CustomizeColumnsTearsheet.scss +7 -5
  400. package/scss/components/Datagrid/styles/addons/_FilterFlyout.scss +5 -4
  401. package/scss/components/Datagrid/styles/addons/_RowSizeDropdown.scss +6 -7
  402. package/scss/components/HTTPErrors/_http-errors.scss +77 -0
  403. package/scss/components/OptionsTile/_options-tile.scss +6 -6
  404. package/scss/components/SidePanel/_side-panel.scss +1 -1
  405. package/scss/components/_index-released-only.scss +1 -0
  406. package/scss/config-dev.scss +7 -0
  407. package/scss/config.scss +7 -0
  408. package/telemetry.yml +32 -19
  409. package/es/components/ConditionBuilder/utils/checkForHoldingKey.d.ts +0 -1
  410. package/es/components/ConditionBuilder/utils/checkForHoldingKey.js +0 -16
  411. package/es/global/js/utils/window.d.ts +0 -2
  412. package/es/global/js/utils/window.js +0 -12
  413. package/lib/components/ConditionBuilder/utils/checkForHoldingKey.d.ts +0 -1
  414. package/lib/components/ConditionBuilder/utils/checkForHoldingKey.js +0 -20
  415. package/lib/global/js/utils/window.d.ts +0 -2
  416. package/lib/global/js/utils/window.js +0 -16
@@ -16,6 +16,7 @@ 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"];
@@ -33,7 +34,6 @@ var componentName = 'CoachmarkStackHome';
33
34
  * of other Onboarding components.
34
35
  */
35
36
  var CoachmarkStackHome = /*#__PURE__*/forwardRef(function (_ref, ref) {
36
- var _document$querySelect;
37
37
  var className = _ref.className,
38
38
  description = _ref.description,
39
39
  isOpen = _ref.isOpen,
@@ -57,11 +57,15 @@ var CoachmarkStackHome = /*#__PURE__*/forwardRef(function (_ref, ref) {
57
57
  }
58
58
  }, 100);
59
59
  }, [isOpen]);
60
+ var portalNode = useRef();
61
+ useIsomorphicEffect(function () {
62
+ var _document$querySelect, _document, _document2, _document3;
63
+ 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');
64
+ }, [portalTarget]);
60
65
  if (!navLinkLabels) {
61
66
  return pconsole.warn("".concat(componentName, " is an Onboarding internal component and is not intended for general use."));
62
67
  }
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, {
68
+ return portalNode !== null && portalNode !== void 0 && portalNode.current ? /*#__PURE__*/createPortal( /*#__PURE__*/React__default.createElement("div", _extends({}, rest, {
65
69
  className: cx(blockClass, className),
66
70
  ref: ref,
67
71
  role: "main"
@@ -103,7 +107,7 @@ var CoachmarkStackHome = /*#__PURE__*/forwardRef(function (_ref, ref) {
103
107
  setLinkFocusIndex(0);
104
108
  _onClose();
105
109
  }
106
- }, closeButtonLabel))))), portalNode);
110
+ }, closeButtonLabel))))), portalNode === null || portalNode === void 0 ? void 0 : portalNode.current) : null;
107
111
  function renderNavLink(index, label) {
108
112
  var ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
109
113
  return /*#__PURE__*/React__default.createElement("li", {
@@ -20,6 +20,7 @@ declare namespace ConditionBlock {
20
20
  let onConnectorOperatorChange: PropTypes.Requireable<(...args: any[]) => any>;
21
21
  let onRemove: PropTypes.Requireable<(...args: any[]) => any>;
22
22
  let onStatementChange: PropTypes.Requireable<(...args: any[]) => any>;
23
+ let setShowDeletionPreviewForSubgroups: PropTypes.Requireable<(...args: any[]) => any>;
23
24
  let showConditionPreviewHandler: PropTypes.Requireable<(...args: any[]) => any>;
24
25
  let showConditionSubGroupPreviewHandler: PropTypes.Requireable<(...args: any[]) => any>;
25
26
  let state: PropTypes.Requireable<object>;
@@ -6,12 +6,11 @@
6
6
  */
7
7
 
8
8
  import { slicedToArray as _slicedToArray, extends as _extends, defineProperty as _defineProperty, objectSpread2 as _objectSpread2 } from '../../../_virtual/_rollupPluginBabelHelpers.js';
9
- import React__default, { useContext, useState } from 'react';
9
+ import React__default, { useContext, useState, useEffect } 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
  */
@@ -49,44 +52,59 @@ var ConditionBlock = function ConditionBlock(props) {
49
52
  showConditionSubGroupPreviewHandler = props.showConditionSubGroupPreviewHandler,
50
53
  hideConditionPreviewHandler = props.hideConditionPreviewHandler,
51
54
  showConditionPreviewHandler = props.showConditionPreviewHandler,
52
- isLastCondition = props.isLastCondition;
55
+ isLastCondition = props.isLastCondition,
56
+ setShowDeletionPreviewForSubgroups = props.setShowDeletionPreviewForSubgroups;
53
57
  var _useContext = useContext(ConditionBuilderContext),
54
58
  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
- };
59
+ variant = _useContext.variant,
60
+ conditionBuilderRef = _useContext.conditionBuilderRef;
64
61
  var _useState = useState(false),
65
62
  _useState2 = _slicedToArray(_useState, 2),
66
63
  showDeletionPreview = _useState2[0],
67
64
  setShowDeletionPreview = _useState2[1];
65
+ var _useTranslations = useTranslations(['conditionRowText', 'conditionText', 'propertyText', 'operatorText', 'removeConditionText']),
66
+ _useTranslations2 = _slicedToArray(_useTranslations, 5),
67
+ conditionRowText = _useTranslations2[0],
68
+ conditionText = _useTranslations2[1],
69
+ propertyText = _useTranslations2[2],
70
+ operatorText = _useTranslations2[3],
71
+ removeConditionText = _useTranslations2[4];
68
72
 
69
73
  //filtering the current property to access its properties and config options
70
74
  var getCurrentConfig = function getCurrentConfig(property) {
71
75
  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) {
76
+ return (_inputConfig$properti = (_inputConfig$properti2 = inputConfig.properties) === null || _inputConfig$properti2 === void 0 ? void 0 : _inputConfig$properti2.find(function (eachProperty) {
73
77
  return eachProperty.id == property;
74
- })[0]) !== null && _inputConfig$properti !== void 0 ? _inputConfig$properti : {};
78
+ })) !== null && _inputConfig$properti !== void 0 ? _inputConfig$properti : {};
75
79
  };
76
80
  var _getCurrentConfig = getCurrentConfig(property),
77
81
  icon = _getCurrentConfig.icon,
78
82
  type = _getCurrentConfig.type,
79
83
  config = _getCurrentConfig.config,
80
84
  label = _getCurrentConfig.label;
81
- var ItemComponent;
82
- // if (type == 'custom') {
83
- // ItemComponent = config.component;
84
- // } else {
85
- ItemComponent = property ? itemComponents[type] : null;
86
- //}
87
85
 
86
+ //Below possible input types expected for value field.
87
+ var itemComponents = {
88
+ text: ConditionBuilderItemText,
89
+ number: ConditionBuilderItemNumber,
90
+ date: ConditionBuilderItemDate,
91
+ time: ConditionBuilderItemTime,
92
+ option: ItemOptionForValueField,
93
+ custom: config === null || config === void 0 ? void 0 : config.component,
94
+ textarea: ConditionBuilderItemText
95
+ };
96
+ var ItemComponent = property ? itemComponents[type] : null;
97
+ useEffect(function () {
98
+ var _group$conditions, _group$conditions2;
99
+ if (showDeletionPreview && (group === null || group === void 0 || (_group$conditions = group.conditions) === null || _group$conditions === void 0 ? void 0 : _group$conditions.length) > 1 && group !== null && group !== void 0 && (_group$conditions2 = group.conditions) !== null && _group$conditions2 !== void 0 && _group$conditions2[1].conditions && group.conditions[1].id !== condition.id) {
100
+ setShowDeletionPreviewForSubgroups === null || setShowDeletionPreviewForSubgroups === void 0 || setShowDeletionPreviewForSubgroups(true);
101
+ } else {
102
+ setShowDeletionPreviewForSubgroups === null || setShowDeletionPreviewForSubgroups === void 0 || setShowDeletionPreviewForSubgroups(false);
103
+ }
104
+ // eslint-disable-next-line react-hooks/exhaustive-deps
105
+ }, [showDeletionPreview]);
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() {
@@ -117,6 +136,9 @@ var ConditionBlock = function ConditionBlock(props) {
117
136
  setShowDeletionPreview(false);
118
137
  };
119
138
  var getOperators = function getOperators() {
139
+ if (config !== null && config !== void 0 && config.operators) {
140
+ return config.operators;
141
+ }
120
142
  return operatorConfig.filter(function (operator) {
121
143
  return operator.type.indexOf(type) != -1 || operator.type == 'all';
122
144
  });
@@ -128,11 +150,24 @@ var ConditionBlock = function ConditionBlock(props) {
128
150
  'aria-setsize': aria.setsize
129
151
  } : {};
130
152
  };
153
+ var renderChildren = function renderChildren(popoverRef) {
154
+ return /*#__PURE__*/React__default.createElement(ItemComponent, {
155
+ conditionState: {
156
+ property: property,
157
+ operator: operator,
158
+ value: value
159
+ },
160
+ onChange: onValueChangeHandler,
161
+ config: config,
162
+ "data-name": "valueField",
163
+ parentRef: popoverRef,
164
+ type: type
165
+ });
166
+ };
131
167
  return /*#__PURE__*/React__default.createElement("div", _extends({
132
168
  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')),
133
169
  role: "row",
134
- "aria-label": translateWithId('condition_row'),
135
- tabIndex: -1
170
+ "aria-label": conditionRowText
136
171
  }, getAriaAttributes()), conjunction ? /*#__PURE__*/React__default.createElement(ConditionConnector, {
137
172
  className: "".concat(blockClass, "__gap"),
138
173
  operator: conjunction,
@@ -143,74 +178,69 @@ var ConditionBlock = function ConditionBlock(props) {
143
178
  role: "gridcell"
144
179
  })), isStatement && /*#__PURE__*/React__default.createElement(ConditionBuilderItem, {
145
180
  label: group.statement,
146
- title: translateWithId('condition'),
181
+ title: conditionText,
147
182
  "data-name": "connectorField",
148
183
  popOverClassName: "".concat(blockClass, "__gap"),
149
184
  className: "".concat(blockClass, "__statement-button")
150
- }, /*#__PURE__*/React__default.createElement(ConditionBuilderItemOption, {
185
+ }, /*#__PURE__*/React__default.createElement(ItemOption, {
151
186
  conditionState: {
152
187
  value: group.statement,
153
- label: translateWithId('condition')
188
+ label: conditionText
154
189
  },
155
190
  onChange: onStatementChangeHandler,
156
191
  config: {
157
192
  options: statementConfig
158
193
  }
159
194
  })), /*#__PURE__*/React__default.createElement(ConditionBuilderItem, {
160
- label: label,
161
- title: translateWithId('property'),
195
+ label: label !== null && label !== void 0 ? label : condition === null || condition === void 0 ? void 0 : condition.property,
196
+ title: propertyText,
162
197
  renderIcon: icon !== null && icon !== void 0 ? icon : null,
163
198
  className: "".concat(blockClass, "__property-field"),
164
199
  "data-name": "propertyField",
165
200
  condition: condition,
166
- type: type
167
- }, /*#__PURE__*/React__default.createElement(ConditionBuilderItemOption, {
201
+ type: type,
202
+ onChange: onPropertyChangeHandler
203
+ }, /*#__PURE__*/React__default.createElement(ItemOption, {
168
204
  conditionState: {
169
205
  value: property,
170
- label: translateWithId('property')
206
+ label: propertyText
171
207
  },
172
208
  onChange: onPropertyChangeHandler,
173
209
  config: {
174
210
  options: inputConfig.properties
175
211
  }
176
- })), property && /*#__PURE__*/React__default.createElement(ConditionBuilderItem, {
212
+ })), checkIsValid(property) && /*#__PURE__*/React__default.createElement(ConditionBuilderItem, {
177
213
  label: operator,
178
- title: translateWithId('operator'),
214
+ title: operatorText,
179
215
  "data-name": "operatorField",
180
216
  condition: condition,
181
- type: type
182
- }, /*#__PURE__*/React__default.createElement(ConditionBuilderItemOption, {
217
+ type: type,
218
+ onChange: onOperatorChangeHandler
219
+ }, /*#__PURE__*/React__default.createElement(ItemOption, {
183
220
  config: {
184
221
  options: getOperators()
185
222
  },
186
223
  conditionState: {
187
224
  value: operator,
188
- label: translateWithId('operator')
225
+ label: operatorText
189
226
  },
190
227
  onChange: onOperatorChangeHandler
191
- })), property && operator && /*#__PURE__*/React__default.createElement(ConditionBuilderItem, {
228
+ })), checkIsValid(property) && checkIsValid(operator) && /*#__PURE__*/React__default.createElement(ConditionBuilderItem, {
192
229
  label: value,
193
230
  type: type,
194
231
  title: label,
195
232
  showToolTip: true,
196
233
  "data-name": "valueField",
197
234
  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
235
  config: config,
207
- "data-name": "valueField"
208
- })), /*#__PURE__*/React__default.createElement("span", {
236
+ onChange: onValueChangeHandler,
237
+ renderChildren: renderChildren
238
+ }), /*#__PURE__*/React__default.createElement("span", {
209
239
  role: "gridcell",
210
- "aria-label": translateWithId('remove_condition')
240
+ "aria-label": removeConditionText
211
241
  }, /*#__PURE__*/React__default.createElement(ConditionBuilderButton, {
212
242
  hideLabel: true,
213
- label: translateWithId('remove_condition'),
243
+ label: removeConditionText,
214
244
  onClick: onRemove,
215
245
  onMouseEnter: handleShowDeletionPreview,
216
246
  onMouseLeave: handleHideDeletionPreview,
@@ -287,6 +317,10 @@ ConditionBlock.propTypes = {
287
317
  * callback to handle the statement(if/ excl.if) change
288
318
  */
289
319
  onStatementChange: PropTypes.func,
320
+ /**
321
+ * method to set ShowDeletionPreviewForSubgroups
322
+ */
323
+ setShowDeletionPreviewForSubgroups: PropTypes.func,
290
324
  /**
291
325
  * handler for showing add condition preview
292
326
  */
@@ -17,7 +17,7 @@ import { pkg } from '../../settings.js';
17
17
  import { blockClass } from './ConditionBuilderContext/DataConfigs.js';
18
18
  import { handleKeyDown } from './utils/handleKeyboardEvents.js';
19
19
 
20
- var _excluded = ["className", "inputConfig", "startConditionLabel", "popOverSearchThreshold", "getOptions", "initialState", "getConditionState", "variant"];
20
+ var _excluded = ["className", "inputConfig", "startConditionLabel", "popOverSearchThreshold", "getOptions", "initialState", "getConditionState", "getActionsState", "variant", "actions", "translateWithId"];
21
21
 
22
22
  // Carbon and package components we use.
23
23
  /* TODO: @import(s) of carbon components and other package components. */
@@ -52,18 +52,24 @@ var ConditionBuilder = /*#__PURE__*/React__default.forwardRef(function (_ref, re
52
52
  getOptions = _ref.getOptions,
53
53
  initialState = _ref.initialState,
54
54
  getConditionState = _ref.getConditionState,
55
- variant = _ref.variant,
55
+ getActionsState = _ref.getActionsState,
56
+ _ref$variant = _ref.variant,
57
+ variant = _ref$variant === void 0 ? 'sentence' : _ref$variant,
58
+ actions = _ref.actions,
59
+ translateWithId = _ref.translateWithId,
56
60
  rest = _objectWithoutProperties(_ref, _excluded);
57
61
  var localRef = useRef();
58
62
  var conditionBuilderRef = ref || localRef;
59
63
  var handleKeyDownHandler = function handleKeyDownHandler(evt) {
60
- handleKeyDown(evt, conditionBuilderRef);
64
+ handleKeyDown(evt, conditionBuilderRef, variant);
61
65
  };
62
66
  return /*#__PURE__*/React__default.createElement(ConditionBuilderProvider, {
63
67
  inputConfig: inputConfig,
64
68
  popOverSearchThreshold: popOverSearchThreshold,
65
69
  getOptions: getOptions,
66
- variant: variant
70
+ variant: variant,
71
+ translateWithId: translateWithId,
72
+ conditionBuilderRef: conditionBuilderRef
67
73
  }, /*#__PURE__*/React__default.createElement("div", _extends({}, rest, {
68
74
  className: cx(blockClass,
69
75
  // Apply the block class to the main HTML element
@@ -81,9 +87,10 @@ var ConditionBuilder = /*#__PURE__*/React__default.forwardRef(function (_ref, re
81
87
  onKeyDown: handleKeyDownHandler
82
88
  }, /*#__PURE__*/React__default.createElement(ConditionBuilderContent, {
83
89
  startConditionLabel: startConditionLabel,
84
- conditionBuilderRef: conditionBuilderRef,
85
90
  getConditionState: getConditionState,
86
- initialState: initialState
91
+ getActionsState: getActionsState,
92
+ initialState: initialState,
93
+ actions: actions
87
94
  }))));
88
95
  });
89
96
 
@@ -99,27 +106,66 @@ ConditionBuilder.displayName = componentName;
99
106
  // See https://www.npmjs.com/package/prop-types#usage.
100
107
  ConditionBuilder.propTypes = {
101
108
  /**
102
- * Provide the contents of the ConditionBuilder.
109
+ * optional array of actions
103
110
  */
104
- //children: PropTypes.node.isRequired,
105
-
111
+ actions: PropTypes.arrayOf(PropTypes.shape({
112
+ id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,
113
+ label: PropTypes.string.isRequired
114
+ })),
106
115
  /**
107
116
  * Provide an optional class to be applied to the containing node.
108
117
  */
109
118
  className: PropTypes.string,
119
+ /**
120
+ * This is a callback that gives back the updated action state
121
+ */
122
+ getActionsState: PropTypes.func,
123
+ /**
124
+ * This is a callback that gives back updated condition state
125
+ */
110
126
  getConditionState: PropTypes.func.isRequired,
127
+ /**
128
+ * This is a callback that get triggered when you want to dynamically fetch options.
129
+ * Component call this when the option array is not passed against a property with type as option in the input config.
130
+ * This is an asynchronous callback that can return a promise , and you need to resolve the promise with options array in the valid format.
131
+ * You will receive the root condition state and current condition as the 2 arguments.
132
+ * eg: const getOptions = async (conditionState,condition) => {
133
+ switch (condition.property) {
134
+ case 'continent':
135
+ return new Promise((resolve) => {
136
+ const continents=[{
137
+ label: 'Africa',
138
+ id: 'Africa',
139
+ },...]
140
+ resolve(continents);
141
+ });
142
+ default:
143
+ return [];
144
+ }
145
+ };
146
+ */
111
147
  getOptions: PropTypes.func,
148
+ /**
149
+ * Optional prop if you want to pass a saved condition state.
150
+ * This object should respect the structure of condition state that is available in getConditionState callback
151
+ */
112
152
  initialState: PropTypes.shape({
113
153
  groups: PropTypes.arrayOf(PropTypes.shape({
114
- groupSeparateOperator: PropTypes.string,
115
- groupOperator: PropTypes.string,
116
- statement: PropTypes.string,
117
- conditions: PropTypes.arrayOf(PropTypes.shape({
118
- property: PropTypes.string,
119
- operator: PropTypes.string,
120
- value: PropTypes.string
121
- }))
122
- }))
154
+ groupOperator: PropTypes.string.isRequired,
155
+ statement: PropTypes.string.isRequired,
156
+ conditions: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.shape({
157
+ property: PropTypes.string.isRequired,
158
+ operator: PropTypes.string.isRequired,
159
+ value: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.shape({
160
+ id: PropTypes.string,
161
+ label: PropTypes.string
162
+ })), PropTypes.shape({
163
+ id: PropTypes.string,
164
+ label: PropTypes.string
165
+ })])
166
+ }), PropTypes.object]))
167
+ })),
168
+ operator: PropTypes.string
123
169
  }),
124
170
  /**
125
171
  * This is a mandatory prop that defines the input to the condition builder.
@@ -127,17 +173,21 @@ ConditionBuilder.propTypes = {
127
173
  */
128
174
  inputConfig: PropTypes.shape({
129
175
  properties: PropTypes.arrayOf(PropTypes.shape({
130
- id: PropTypes.string,
131
- label: PropTypes.string,
176
+ id: PropTypes.string.isRequired,
177
+ label: PropTypes.string.isRequired,
132
178
  icon: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
133
- type: PropTypes.oneOf(['text', 'number', 'date', 'option', 'time']),
179
+ type: PropTypes.oneOf(['text', 'textarea', 'number', 'date', 'option', 'time', 'custom']).isRequired,
134
180
  config: PropTypes.shape({
135
181
  options: PropTypes.arrayOf(PropTypes.shape({
136
- id: PropTypes.string,
137
- label: PropTypes.string,
182
+ id: PropTypes.string.isRequired,
183
+ label: PropTypes.string.isRequired,
138
184
  icon: PropTypes.oneOfType([PropTypes.func, PropTypes.object])
139
185
  })),
140
- includeSearch: PropTypes.bool
186
+ component: PropTypes.func,
187
+ operators: PropTypes.arrayOf(PropTypes.shape({
188
+ id: PropTypes.string.isRequired,
189
+ label: PropTypes.string.isRequired
190
+ }))
141
191
  })
142
192
  }))
143
193
  }).isRequired,
@@ -149,11 +199,18 @@ ConditionBuilder.propTypes = {
149
199
  * Provide a label to the button that starts condition builder
150
200
  */
151
201
  startConditionLabel: PropTypes.string.isRequired,
202
+ /**
203
+ * Optional prop, if you need to pass translations to the texts on the component instead of the defined defaults.
204
+ * This callback function will receive the message id and you need to return the corresponding text for that id.
205
+ * The message id will be one of [ "ifText","addConditionText", "addConditionGroupText", "addSubgroupText", "conditionText", "propertyText", "operatorText", "valueText", "connectorText", "conditionRowText","conditionRowGroupText","conditionBuilderText","actionSectionText", "removeConditionText", "addConditionRowText", "startText", "endText", "clearSearchText", "actionsText", "then", "removeActionText", "addActionText", "invalidText", "invalidNumberWarnText"]
206
+ ]
207
+ */
208
+ translateWithId: PropTypes.func,
152
209
  /* TODO: add types and DocGen for all props. */
153
210
  /**
154
211
  * Provide the condition builder variant: sentence/ tree
155
212
  */
156
- variant: PropTypes.string.isRequired
213
+ variant: PropTypes.oneOf(['tree', 'sentence'])
157
214
  };
158
215
 
159
216
  export { ConditionBuilder };
@@ -0,0 +1,15 @@
1
+ export default ConditionBuilderActions;
2
+ declare function ConditionBuilderActions({ actions, className }: {
3
+ actions: any;
4
+ className: any;
5
+ }): import("react/jsx-runtime").JSX.Element;
6
+ declare namespace ConditionBuilderActions {
7
+ namespace propTypes {
8
+ let actions: PropTypes.Requireable<(PropTypes.InferProps<{
9
+ id: PropTypes.Validator<NonNullable<NonNullable<string | number | null | undefined>>>;
10
+ label: PropTypes.Validator<string>;
11
+ }> | null | undefined)[]>;
12
+ let className: PropTypes.Requireable<string>;
13
+ }
14
+ }
15
+ import PropTypes from 'prop-types';