@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
@@ -15,7 +15,6 @@ var icons = require('@carbon/react/icons');
15
15
  var ConditionBuilderItem = require('../ConditionBuilderItem/ConditionBuilderItem.js');
16
16
  var index = require('../../../node_modules/prop-types/index.js');
17
17
  var DataConfigs = require('../ConditionBuilderContext/DataConfigs.js');
18
- var ConditionBuilderItemOption = require('../ConditionBuilderItem/ConditionBuilderItemOption/ConditionBuilderItemOption.js');
19
18
  var cx = require('classnames');
20
19
  var ConditionConnector = require('../ConditionBuilderConnector/ConditionConnector.js');
21
20
  var ConditionBuilderItemNumber = require('../ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js');
@@ -26,6 +25,9 @@ var ConditionBuilderButton = require('../ConditionBuilderButton/ConditionBuilder
26
25
  var util = require('../utils/util.js');
27
26
  var ConditionBuilderItemTime = require('../ConditionBuilderItem/ConditionBuilderItemTime/ConditionBuilderItemTime.js');
28
27
  var ConditionBuilderAdd = require('../ConditionBuilderAdd/ConditionBuilderAdd.js');
28
+ var ItemOption = require('../ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js');
29
+ var ItemOptionForValueField = require('../ConditionBuilderItem/ConditionBuilderItemOption/ItemOptionForValueField.js');
30
+ var useTranslations = require('../utils/useTranslations.js');
29
31
 
30
32
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
31
33
 
@@ -33,6 +35,7 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
33
35
  var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
34
36
 
35
37
  var _div;
38
+
36
39
  /**
37
40
  * This component build each block of condition consisting of property, operator value and close button.
38
41
  */
@@ -61,41 +64,56 @@ var ConditionBlock = function ConditionBlock(props) {
61
64
  isLastCondition = props.isLastCondition;
62
65
  var _useContext = React.useContext(ConditionBuilderProvider.ConditionBuilderContext),
63
66
  inputConfig = _useContext.inputConfig,
64
- variant = _useContext.variant;
65
- //Below possible input types expected for value field.
66
- var itemComponents = {
67
- option: ConditionBuilderItemOption.ConditionBuilderItemOption,
68
- text: ConditionBuilderItemText.ConditionBuilderItemText,
69
- number: ConditionBuilderItemNumber.ConditionBuilderItemNumber,
70
- date: ConditionBuilderItemDate.ConditionBuilderItemDate,
71
- time: ConditionBuilderItemTime.ConditionBuilderItemTime
72
- };
67
+ variant = _useContext.variant,
68
+ conditionBuilderRef = _useContext.conditionBuilderRef;
73
69
  var _useState = React.useState(false),
74
70
  _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
75
71
  showDeletionPreview = _useState2[0],
76
72
  setShowDeletionPreview = _useState2[1];
73
+ var _useState3 = React.useState(false),
74
+ _useState4 = _rollupPluginBabelHelpers.slicedToArray(_useState3, 2),
75
+ showAllActions = _useState4[0],
76
+ setShowAllActions = _useState4[1];
77
+ var _useTranslations = useTranslations.useTranslations(['conditionRowText', 'conditionText', 'propertyText', 'operatorText', 'removeConditionText']),
78
+ _useTranslations2 = _rollupPluginBabelHelpers.slicedToArray(_useTranslations, 5),
79
+ conditionRowText = _useTranslations2[0],
80
+ conditionText = _useTranslations2[1],
81
+ propertyText = _useTranslations2[2],
82
+ operatorText = _useTranslations2[3],
83
+ removeConditionText = _useTranslations2[4];
77
84
 
78
85
  //filtering the current property to access its properties and config options
79
86
  var getCurrentConfig = function getCurrentConfig(property) {
80
87
  var _inputConfig$properti, _inputConfig$properti2;
81
- return (_inputConfig$properti = (_inputConfig$properti2 = inputConfig.properties) === null || _inputConfig$properti2 === void 0 ? void 0 : _inputConfig$properti2.filter(function (eachProperty) {
88
+ return (_inputConfig$properti = (_inputConfig$properti2 = inputConfig.properties) === null || _inputConfig$properti2 === void 0 ? void 0 : _inputConfig$properti2.find(function (eachProperty) {
82
89
  return eachProperty.id == property;
83
- })[0]) !== null && _inputConfig$properti !== void 0 ? _inputConfig$properti : {};
90
+ })) !== null && _inputConfig$properti !== void 0 ? _inputConfig$properti : {};
84
91
  };
85
92
  var _getCurrentConfig = getCurrentConfig(property),
86
93
  icon = _getCurrentConfig.icon,
87
94
  type = _getCurrentConfig.type,
88
95
  config = _getCurrentConfig.config,
89
96
  label = _getCurrentConfig.label;
90
- var ItemComponent;
91
- // if (type == 'custom') {
92
- // ItemComponent = config.component;
93
- // } else {
94
- ItemComponent = property ? itemComponents[type] : null;
95
- //}
96
97
 
98
+ //Below possible input types expected for value field.
99
+ var itemComponents = {
100
+ text: ConditionBuilderItemText.ConditionBuilderItemText,
101
+ number: ConditionBuilderItemNumber.ConditionBuilderItemNumber,
102
+ date: ConditionBuilderItemDate.ConditionBuilderItemDate,
103
+ time: ConditionBuilderItemTime.ConditionBuilderItemTime,
104
+ option: ItemOptionForValueField.ItemOptionForValueField,
105
+ custom: config === null || config === void 0 ? void 0 : config.component,
106
+ textarea: ConditionBuilderItemText.ConditionBuilderItemText
107
+ };
108
+ var ItemComponent = property ? itemComponents[type] : null;
109
+ var showAllActionsHandler = function showAllActionsHandler() {
110
+ setShowAllActions(true);
111
+ };
112
+ var hideAllActionsHandler = function hideAllActionsHandler() {
113
+ setShowAllActions(false);
114
+ };
97
115
  var onStatementChangeHandler = function onStatementChangeHandler(v, evt) {
98
- util.focusThisField(evt);
116
+ util.focusThisField(evt, conditionBuilderRef);
99
117
  onStatementChange(v);
100
118
  };
101
119
  var onPropertyChangeHandler = function onPropertyChangeHandler(newProperty) {
@@ -103,20 +121,21 @@ var ConditionBlock = function ConditionBlock(props) {
103
121
  property: newProperty,
104
122
  operator: undefined,
105
123
  value: '',
106
- popoverToOpen: 'operatorField'
124
+ popoverToOpen: util.checkIsValid(newProperty) ? 'operatorField' : ''
107
125
  }));
108
126
  };
109
127
  var onOperatorChangeHandler = function onOperatorChangeHandler(newOperator) {
110
128
  onChange(_rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, condition), {}, {
111
129
  operator: newOperator,
112
130
  value: undefined,
113
- popoverToOpen: 'valueField'
131
+ popoverToOpen: util.checkIsValid(newOperator) ? 'valueField' : ''
114
132
  }));
115
133
  };
116
134
  var onValueChangeHandler = function onValueChangeHandler(newValue) {
117
- onChange(_rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, condition), {}, {
118
- value: newValue,
119
- popoverToOpen: ''
135
+ var currentCondition = _rollupPluginBabelHelpers.objectSpread2({}, condition);
136
+ delete currentCondition.popoverToOpen;
137
+ onChange(_rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, currentCondition), {}, {
138
+ value: newValue
120
139
  }));
121
140
  };
122
141
  var handleShowDeletionPreview = function handleShowDeletionPreview() {
@@ -125,7 +144,16 @@ var ConditionBlock = function ConditionBlock(props) {
125
144
  var handleHideDeletionPreview = function handleHideDeletionPreview() {
126
145
  setShowDeletionPreview(false);
127
146
  };
147
+ var manageActionButtons = function manageActionButtons(conditionIndex, conditions) {
148
+ if (variant === 'tree') {
149
+ return true;
150
+ }
151
+ return isLastCondition(conditionIndex, conditions);
152
+ };
128
153
  var getOperators = function getOperators() {
154
+ if (config !== null && config !== void 0 && config.operators) {
155
+ return config.operators;
156
+ }
129
157
  return DataConfigs.operatorConfig.filter(function (operator) {
130
158
  return operator.type.indexOf(type) != -1 || operator.type == 'all';
131
159
  });
@@ -137,12 +165,30 @@ var ConditionBlock = function ConditionBlock(props) {
137
165
  'aria-setsize': aria.setsize
138
166
  } : {};
139
167
  };
168
+ var renderChildren = function renderChildren(popoverRef) {
169
+ return /*#__PURE__*/React__default["default"].createElement(ItemComponent, {
170
+ conditionState: {
171
+ property: property,
172
+ operator: operator,
173
+ value: value
174
+ },
175
+ onChange: onValueChangeHandler,
176
+ config: config,
177
+ "data-name": "valueField",
178
+ parentRef: popoverRef,
179
+ type: type
180
+ });
181
+ };
140
182
  return /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({
141
- className: cx__default["default"]("".concat(DataConfigs.blockClass, "__condition-block"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(DataConfigs.blockClass, "__condition__deletion-preview"), showDeletionPreview), _rollupPluginBabelHelpers.defineProperty({}, "".concat(DataConfigs.blockClass, "__gap-bottom"), variant == 'tree' && !(conditionIndex + 1 >= group.conditions.length)), _rollupPluginBabelHelpers.defineProperty({}, "".concat(DataConfigs.blockClass, "__gap ").concat(DataConfigs.blockClass, "__gap-bottom"), variant == 'sentence')),
183
+ className: cx__default["default"]("".concat(DataConfigs.blockClass, "__condition-block"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(DataConfigs.blockClass, "__condition__deletion-preview"), showDeletionPreview), _rollupPluginBabelHelpers.defineProperty({}, "".concat(DataConfigs.blockClass, "__gap-bottom"), variant == 'tree'), _rollupPluginBabelHelpers.defineProperty({}, "".concat(DataConfigs.blockClass, "__gap ").concat(DataConfigs.blockClass, "__gap-bottom"), variant == 'sentence'), _rollupPluginBabelHelpers.defineProperty({}, "".concat(DataConfigs.blockClass, "__condition--interacting"), showAllActions)),
142
184
  role: "row",
143
- "aria-label": DataConfigs.translateWithId('condition_row'),
144
- tabIndex: -1
145
- }, getAriaAttributes()), conjunction ? /*#__PURE__*/React__default["default"].createElement(ConditionConnector["default"], {
185
+ "aria-label": conditionRowText
186
+ }, getAriaAttributes(), {
187
+ tabIndex: -1,
188
+ onMouseEnter: showAllActionsHandler,
189
+ onMouseLeave: hideAllActionsHandler,
190
+ onBlur: hideAllActionsHandler
191
+ }), conjunction ? /*#__PURE__*/React__default["default"].createElement(ConditionConnector["default"], {
146
192
  className: "".concat(DataConfigs.blockClass, "__gap"),
147
193
  operator: conjunction,
148
194
  onChange: function onChange(op) {
@@ -152,74 +198,70 @@ var ConditionBlock = function ConditionBlock(props) {
152
198
  role: "gridcell"
153
199
  })), isStatement && /*#__PURE__*/React__default["default"].createElement(ConditionBuilderItem.ConditionBuilderItem, {
154
200
  label: group.statement,
155
- title: DataConfigs.translateWithId('condition'),
201
+ title: conditionText,
156
202
  "data-name": "connectorField",
157
203
  popOverClassName: "".concat(DataConfigs.blockClass, "__gap"),
158
- className: "".concat(DataConfigs.blockClass, "__statement-button")
159
- }, /*#__PURE__*/React__default["default"].createElement(ConditionBuilderItemOption.ConditionBuilderItemOption, {
204
+ className: "".concat(DataConfigs.blockClass, "__statement-button"),
205
+ tabIndex: 0
206
+ }, /*#__PURE__*/React__default["default"].createElement(ItemOption.ItemOption, {
160
207
  conditionState: {
161
208
  value: group.statement,
162
- label: DataConfigs.translateWithId('condition')
209
+ label: conditionText
163
210
  },
164
211
  onChange: onStatementChangeHandler,
165
212
  config: {
166
213
  options: DataConfigs.statementConfig
167
214
  }
168
215
  })), /*#__PURE__*/React__default["default"].createElement(ConditionBuilderItem.ConditionBuilderItem, {
169
- label: label,
170
- title: DataConfigs.translateWithId('property'),
216
+ label: label !== null && label !== void 0 ? label : condition === null || condition === void 0 ? void 0 : condition.property,
217
+ title: propertyText,
171
218
  renderIcon: icon !== null && icon !== void 0 ? icon : null,
172
219
  className: "".concat(DataConfigs.blockClass, "__property-field"),
173
220
  "data-name": "propertyField",
174
221
  condition: condition,
175
- type: type
176
- }, /*#__PURE__*/React__default["default"].createElement(ConditionBuilderItemOption.ConditionBuilderItemOption, {
222
+ type: type,
223
+ onChange: onPropertyChangeHandler
224
+ }, /*#__PURE__*/React__default["default"].createElement(ItemOption.ItemOption, {
177
225
  conditionState: {
178
226
  value: property,
179
- label: DataConfigs.translateWithId('property')
227
+ label: propertyText
180
228
  },
181
229
  onChange: onPropertyChangeHandler,
182
230
  config: {
183
231
  options: inputConfig.properties
184
232
  }
185
- })), property && /*#__PURE__*/React__default["default"].createElement(ConditionBuilderItem.ConditionBuilderItem, {
233
+ })), util.checkIsValid(property) && /*#__PURE__*/React__default["default"].createElement(ConditionBuilderItem.ConditionBuilderItem, {
186
234
  label: operator,
187
- title: DataConfigs.translateWithId('operator'),
235
+ title: operatorText,
188
236
  "data-name": "operatorField",
189
237
  condition: condition,
190
- type: type
191
- }, /*#__PURE__*/React__default["default"].createElement(ConditionBuilderItemOption.ConditionBuilderItemOption, {
238
+ type: type,
239
+ onChange: onOperatorChangeHandler
240
+ }, /*#__PURE__*/React__default["default"].createElement(ItemOption.ItemOption, {
192
241
  config: {
193
242
  options: getOperators()
194
243
  },
195
244
  conditionState: {
196
245
  value: operator,
197
- label: DataConfigs.translateWithId('operator')
246
+ label: operatorText
198
247
  },
199
248
  onChange: onOperatorChangeHandler
200
- })), property && operator && /*#__PURE__*/React__default["default"].createElement(ConditionBuilderItem.ConditionBuilderItem, {
249
+ })), util.checkIsValid(property) && util.checkIsValid(operator) && /*#__PURE__*/React__default["default"].createElement(ConditionBuilderItem.ConditionBuilderItem, {
201
250
  label: value,
202
251
  type: type,
203
252
  title: label,
204
253
  showToolTip: true,
205
254
  "data-name": "valueField",
206
255
  condition: condition,
207
- config: config
208
- }, /*#__PURE__*/React__default["default"].createElement(ItemComponent, {
209
- conditionState: {
210
- property: property,
211
- operator: operator,
212
- value: value
213
- },
214
- onChange: onValueChangeHandler,
215
256
  config: config,
216
- "data-name": "valueField"
217
- })), /*#__PURE__*/React__default["default"].createElement("span", {
257
+ onChange: onValueChangeHandler,
258
+ renderChildren: renderChildren
259
+ }), /*#__PURE__*/React__default["default"].createElement("span", {
218
260
  role: "gridcell",
219
- "aria-label": DataConfigs.translateWithId('remove_condition')
261
+ "aria-label": removeConditionText
220
262
  }, /*#__PURE__*/React__default["default"].createElement(ConditionBuilderButton.ConditionBuilderButton, {
221
263
  hideLabel: true,
222
- label: DataConfigs.translateWithId('remove_condition'),
264
+ label: removeConditionText,
223
265
  onClick: onRemove,
224
266
  onMouseEnter: handleShowDeletionPreview,
225
267
  onMouseLeave: handleHideDeletionPreview,
@@ -228,7 +270,7 @@ var ConditionBlock = function ConditionBlock(props) {
228
270
  renderIcon: icons.Close,
229
271
  className: "".concat(DataConfigs.blockClass, "__close-condition"),
230
272
  "data-name": "closeCondition"
231
- })), isLastCondition(conditionIndex, group.conditions) && /*#__PURE__*/React__default["default"].createElement(ConditionBuilderAdd["default"], {
273
+ })), manageActionButtons(conditionIndex, group.conditions) && /*#__PURE__*/React__default["default"].createElement(ConditionBuilderAdd["default"], {
232
274
  onClick: function onClick() {
233
275
  addConditionHandler(conditionIndex);
234
276
  },
@@ -26,7 +26,7 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
26
26
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
27
27
  var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
28
28
 
29
- var _excluded = ["className", "inputConfig", "startConditionLabel", "popOverSearchThreshold", "getOptions", "initialState", "getConditionState", "variant"];
29
+ var _excluded = ["className", "inputConfig", "startConditionLabel", "popOverSearchThreshold", "getOptions", "initialState", "getConditionState", "getActionsState", "variant", "actions", "translateWithId"];
30
30
 
31
31
  // Carbon and package components we use.
32
32
  /* TODO: @import(s) of carbon components and other package components. */
@@ -61,18 +61,24 @@ exports.ConditionBuilder = /*#__PURE__*/React__default["default"].forwardRef(fun
61
61
  getOptions = _ref.getOptions,
62
62
  initialState = _ref.initialState,
63
63
  getConditionState = _ref.getConditionState,
64
- variant = _ref.variant,
64
+ getActionsState = _ref.getActionsState,
65
+ _ref$variant = _ref.variant,
66
+ variant = _ref$variant === void 0 ? 'sentence' : _ref$variant,
67
+ actions = _ref.actions,
68
+ translateWithId = _ref.translateWithId,
65
69
  rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
66
70
  var localRef = React.useRef();
67
71
  var conditionBuilderRef = ref || localRef;
68
72
  var handleKeyDownHandler = function handleKeyDownHandler(evt) {
69
- handleKeyboardEvents.handleKeyDown(evt, conditionBuilderRef);
73
+ handleKeyboardEvents.handleKeyDown(evt, conditionBuilderRef, variant);
70
74
  };
71
75
  return /*#__PURE__*/React__default["default"].createElement(ConditionBuilderProvider.ConditionBuilderProvider, {
72
76
  inputConfig: inputConfig,
73
77
  popOverSearchThreshold: popOverSearchThreshold,
74
78
  getOptions: getOptions,
75
- variant: variant
79
+ variant: variant,
80
+ translateWithId: translateWithId,
81
+ conditionBuilderRef: conditionBuilderRef
76
82
  }, /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({}, rest, {
77
83
  className: cx__default["default"](DataConfigs.blockClass,
78
84
  // Apply the block class to the main HTML element
@@ -90,9 +96,10 @@ exports.ConditionBuilder = /*#__PURE__*/React__default["default"].forwardRef(fun
90
96
  onKeyDown: handleKeyDownHandler
91
97
  }, /*#__PURE__*/React__default["default"].createElement(ConditionBuilderContent["default"], {
92
98
  startConditionLabel: startConditionLabel,
93
- conditionBuilderRef: conditionBuilderRef,
94
99
  getConditionState: getConditionState,
95
- initialState: initialState
100
+ getActionsState: getActionsState,
101
+ initialState: initialState,
102
+ actions: actions
96
103
  }))));
97
104
  });
98
105
 
@@ -108,27 +115,66 @@ exports.ConditionBuilder.displayName = componentName;
108
115
  // See https://www.npmjs.com/package/prop-types#usage.
109
116
  exports.ConditionBuilder.propTypes = {
110
117
  /**
111
- * Provide the contents of the ConditionBuilder.
118
+ * optional array of actions
112
119
  */
113
- //children: PropTypes.node.isRequired,
114
-
120
+ actions: index["default"].arrayOf(index["default"].shape({
121
+ id: index["default"].oneOfType([index["default"].string, index["default"].number]).isRequired,
122
+ label: index["default"].string.isRequired
123
+ })),
115
124
  /**
116
125
  * Provide an optional class to be applied to the containing node.
117
126
  */
118
127
  className: index["default"].string,
128
+ /**
129
+ * This is a callback that gives back the updated action state
130
+ */
131
+ getActionsState: index["default"].func,
132
+ /**
133
+ * This is a callback that gives back updated condition state
134
+ */
119
135
  getConditionState: index["default"].func.isRequired,
136
+ /**
137
+ * This is a callback that get triggered when you want to dynamically fetch options.
138
+ * Component call this when the option array is not passed against a property with type as option in the input config.
139
+ * This is an asynchronous callback that can return a promise , and you need to resolve the promise with options array in the valid format.
140
+ * You will receive the root condition state and current condition as the 2 arguments.
141
+ * eg: const getOptions = async (conditionState,condition) => {
142
+ switch (condition.property) {
143
+ case 'continent':
144
+ return new Promise((resolve) => {
145
+ const continents=[{
146
+ label: 'Africa',
147
+ id: 'Africa',
148
+ },...]
149
+ resolve(continents);
150
+ });
151
+ default:
152
+ return [];
153
+ }
154
+ };
155
+ */
120
156
  getOptions: index["default"].func,
157
+ /**
158
+ * Optional prop if you want to pass a saved condition state.
159
+ * This object should respect the structure of condition state that is available in getConditionState callback
160
+ */
121
161
  initialState: index["default"].shape({
122
162
  groups: index["default"].arrayOf(index["default"].shape({
123
- groupSeparateOperator: index["default"].string,
124
- groupOperator: index["default"].string,
125
- statement: index["default"].string,
126
- conditions: index["default"].arrayOf(index["default"].shape({
127
- property: index["default"].string,
128
- operator: index["default"].string,
129
- value: index["default"].string
130
- }))
131
- }))
163
+ groupOperator: index["default"].string.isRequired,
164
+ statement: index["default"].string.isRequired,
165
+ conditions: index["default"].arrayOf(index["default"].oneOfType([index["default"].shape({
166
+ property: index["default"].string.isRequired,
167
+ operator: index["default"].string.isRequired,
168
+ value: index["default"].oneOfType([index["default"].string, index["default"].arrayOf(index["default"].shape({
169
+ id: index["default"].string,
170
+ label: index["default"].string
171
+ })), index["default"].shape({
172
+ id: index["default"].string,
173
+ label: index["default"].string
174
+ })])
175
+ }), index["default"].object]))
176
+ })),
177
+ operator: index["default"].string
132
178
  }),
133
179
  /**
134
180
  * This is a mandatory prop that defines the input to the condition builder.
@@ -136,17 +182,21 @@ exports.ConditionBuilder.propTypes = {
136
182
  */
137
183
  inputConfig: index["default"].shape({
138
184
  properties: index["default"].arrayOf(index["default"].shape({
139
- id: index["default"].string,
140
- label: index["default"].string,
185
+ id: index["default"].string.isRequired,
186
+ label: index["default"].string.isRequired,
141
187
  icon: index["default"].oneOfType([index["default"].func, index["default"].object]),
142
- type: index["default"].oneOf(['text', 'number', 'date', 'option', 'time']),
188
+ type: index["default"].oneOf(['text', 'textarea', 'number', 'date', 'option', 'time', 'custom']).isRequired,
143
189
  config: index["default"].shape({
144
190
  options: index["default"].arrayOf(index["default"].shape({
145
- id: index["default"].string,
146
- label: index["default"].string,
191
+ id: index["default"].string.isRequired,
192
+ label: index["default"].string.isRequired,
147
193
  icon: index["default"].oneOfType([index["default"].func, index["default"].object])
148
194
  })),
149
- includeSearch: index["default"].bool
195
+ component: index["default"].func,
196
+ operators: index["default"].arrayOf(index["default"].shape({
197
+ id: index["default"].string.isRequired,
198
+ label: index["default"].string.isRequired
199
+ }))
150
200
  })
151
201
  }))
152
202
  }).isRequired,
@@ -158,9 +208,16 @@ exports.ConditionBuilder.propTypes = {
158
208
  * Provide a label to the button that starts condition builder
159
209
  */
160
210
  startConditionLabel: index["default"].string.isRequired,
211
+ /**
212
+ * Optional prop, if you need to pass translations to the texts on the component instead of the defined defaults.
213
+ * This callback function will receive the message id and you need to return the corresponding text for that id.
214
+ * 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"]
215
+ ]
216
+ */
217
+ translateWithId: index["default"].func,
161
218
  /* TODO: add types and DocGen for all props. */
162
219
  /**
163
220
  * Provide the condition builder variant: sentence/ tree
164
221
  */
165
- variant: index["default"].string.isRequired
222
+ variant: index["default"].oneOf(['tree', 'sentence'])
166
223
  };
@@ -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';
@@ -0,0 +1,163 @@
1
+ /**
2
+ * Copyright IBM Corp. 2020, 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
+
8
+ 'use strict';
9
+
10
+ Object.defineProperty(exports, '__esModule', { value: true });
11
+
12
+ var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHelpers.js');
13
+ var React = require('react');
14
+ var index = require('../../../node_modules/prop-types/index.js');
15
+ var cx = require('classnames');
16
+ var icons = require('@carbon/react/icons');
17
+ var react = require('@carbon/react');
18
+ var ConditionBuilderItem = require('../ConditionBuilderItem/ConditionBuilderItem.js');
19
+ var DataConfigs = require('../ConditionBuilderContext/DataConfigs.js');
20
+ var ConditionBuilderProvider = require('../ConditionBuilderContext/ConditionBuilderProvider.js');
21
+ var ConditionBuilderAdd = require('../ConditionBuilderAdd/ConditionBuilderAdd.js');
22
+ var uuidv4 = require('../../../global/js/utils/uuidv4.js');
23
+ var ConditionBuilderButton = require('../ConditionBuilderButton/ConditionBuilderButton.js');
24
+ var useTranslations = require('../utils/useTranslations.js');
25
+ var ItemOptionForValueField = require('../ConditionBuilderItem/ConditionBuilderItemOption/ItemOptionForValueField.js');
26
+
27
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
28
+
29
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
30
+ var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
31
+
32
+ var ConditionBuilderActions = function ConditionBuilderActions(_ref) {
33
+ var actions = _ref.actions,
34
+ className = _ref.className;
35
+ var _useContext = React.useContext(ConditionBuilderProvider.ConditionBuilderContext),
36
+ actionState = _useContext.actionState,
37
+ setActionState = _useContext.setActionState;
38
+ var _useState = React.useState(-1),
39
+ _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
40
+ showDeletionPreview = _useState2[0],
41
+ setShowDeletionPreview = _useState2[1];
42
+ var _useTranslations = useTranslations.useTranslations(['actionsText', 'then', 'and', 'removeActionText', 'addActionText', 'actionSectionText']),
43
+ _useTranslations2 = _rollupPluginBabelHelpers.slicedToArray(_useTranslations, 6),
44
+ actionsText = _useTranslations2[0],
45
+ thenText = _useTranslations2[1],
46
+ andText = _useTranslations2[2],
47
+ removeActionText = _useTranslations2[3],
48
+ addActionText = _useTranslations2[4],
49
+ actionSectionText = _useTranslations2[5];
50
+ var addActionHandler = function addActionHandler() {
51
+ var action = {
52
+ id: uuidv4["default"](),
53
+ label: undefined,
54
+ popoverToOpen: 'valueField'
55
+ };
56
+ setActionState([].concat(_rollupPluginBabelHelpers.toConsumableArray(actionState), [action]));
57
+ };
58
+ var onchangeHandler = function onchangeHandler(selectedId, actionIndex) {
59
+ var action = actions.find(function (action) {
60
+ return action.id === selectedId;
61
+ }); //fetch the selected action from the input action array
62
+
63
+ // same actions can be added multiple times
64
+ var newAction = _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, action), {}, {
65
+ id: actionState[actionIndex].id
66
+ });
67
+ setActionState([].concat(_rollupPluginBabelHelpers.toConsumableArray(actionState.slice(0, actionIndex)), [newAction], _rollupPluginBabelHelpers.toConsumableArray(actionState.slice(actionIndex + 1))));
68
+ };
69
+ var onRemove = function onRemove(selectedId) {
70
+ setActionState(actionState.filter(function (action) {
71
+ return action.id !== selectedId;
72
+ }));
73
+ };
74
+ var handleShowDeletionPreview = function handleShowDeletionPreview(index) {
75
+ setShowDeletionPreview(index);
76
+ };
77
+ var handleHideDeletionPreview = function handleHideDeletionPreview() {
78
+ setShowDeletionPreview(-1);
79
+ };
80
+ return /*#__PURE__*/React__default["default"].createElement("div", {
81
+ className: className
82
+ }, /*#__PURE__*/React__default["default"].createElement(react.Section, {
83
+ className: "".concat(DataConfigs.blockClass, "__heading"),
84
+ level: 4
85
+ }, /*#__PURE__*/React__default["default"].createElement(react.Heading, null, actionsText)), /*#__PURE__*/React__default["default"].createElement("div", {
86
+ className: "".concat(DataConfigs.blockClass, "__condition-wrapper"),
87
+ role: "grid",
88
+ "aria-label": actionSectionText
89
+ }, actionState === null || actionState === void 0 ? void 0 : actionState.map(function (action, index) {
90
+ return /*#__PURE__*/React__default["default"].createElement("div", {
91
+ key: action.id,
92
+ role: "row",
93
+ className: cx__default["default"]("".concat(DataConfigs.blockClass, "__condition-block ").concat(DataConfigs.blockClass, "__gap ").concat(DataConfigs.blockClass, "__gap-bottom"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(DataConfigs.blockClass, "__condition__deletion-preview"), showDeletionPreview == index))
94
+ }, /*#__PURE__*/React__default["default"].createElement(ConditionBuilderItem.ConditionBuilderItem, {
95
+ className: "".concat(DataConfigs.blockClass, "__statement-button"),
96
+ tabIndex: 0,
97
+ popOverClassName: "".concat(DataConfigs.blockClass, "__gap"),
98
+ label: index === 0 ? thenText : andText
99
+ }), /*#__PURE__*/React__default["default"].createElement(ConditionBuilderItem.ConditionBuilderItem, {
100
+ label: action.label,
101
+ title: actionsText,
102
+ condition: action,
103
+ "data-name": "valueField",
104
+ type: "option"
105
+ }, /*#__PURE__*/React__default["default"].createElement(ItemOptionForValueField.ItemOptionForValueField, {
106
+ conditionState: {
107
+ value: action.label
108
+ },
109
+ onChange: function onChange(selection) {
110
+ return onchangeHandler(selection.id, index);
111
+ },
112
+ config: {
113
+ options: actions
114
+ }
115
+ })), /*#__PURE__*/React__default["default"].createElement("span", {
116
+ role: "gridcell",
117
+ "aria-label": removeActionText
118
+ }, /*#__PURE__*/React__default["default"].createElement(ConditionBuilderButton.ConditionBuilderButton, {
119
+ hideLabel: true,
120
+ label: removeActionText,
121
+ onClick: function onClick() {
122
+ return onRemove(action.id);
123
+ },
124
+ onMouseEnter: function onMouseEnter() {
125
+ return handleShowDeletionPreview(index);
126
+ },
127
+ onMouseLeave: handleHideDeletionPreview,
128
+ onFocus: function onFocus() {
129
+ return handleShowDeletionPreview(index);
130
+ },
131
+ onBlur: handleHideDeletionPreview,
132
+ renderIcon: icons.Close,
133
+ className: "".concat(DataConfigs.blockClass, "__close-condition"),
134
+ "data-name": "closeCondition"
135
+ })), actionState.length === index + 1 && /*#__PURE__*/React__default["default"].createElement(ConditionBuilderAdd["default"], {
136
+ onClick: addActionHandler,
137
+ className: "".concat(DataConfigs.blockClass, "__gap ").concat(DataConfigs.blockClass, "__gap-left"),
138
+ buttonLabel: addActionText,
139
+ tabIndex: 0
140
+ }));
141
+ }), actionState.length === 0 && /*#__PURE__*/React__default["default"].createElement(ConditionBuilderAdd["default"], {
142
+ onClick: addActionHandler,
143
+ className: "".concat(DataConfigs.blockClass, "__gap ").concat(DataConfigs.blockClass, "__gap-left"),
144
+ buttonLabel: addActionText,
145
+ tabIndex: 0
146
+ })));
147
+ };
148
+ var ConditionBuilderActions$1 = ConditionBuilderActions;
149
+ ConditionBuilderActions.propTypes = {
150
+ /**
151
+ * optional array of object that give the list of actions.
152
+ */
153
+ actions: index["default"].arrayOf(index["default"].shape({
154
+ id: index["default"].oneOfType([index["default"].string, index["default"].number]).isRequired,
155
+ label: index["default"].string.isRequired
156
+ })),
157
+ /**
158
+ * Provide an optional class to be applied to the containing node.
159
+ */
160
+ className: index["default"].string
161
+ };
162
+
163
+ exports["default"] = ConditionBuilderActions$1;