@carbon/ibm-products 2.43.2-canary.7 → 2.43.2-canary.72

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (293) hide show
  1. package/css/index-full-carbon.css +167 -15
  2. package/css/index-full-carbon.css.map +1 -1
  3. package/css/index-full-carbon.min.css +1 -1
  4. package/css/index-full-carbon.min.css.map +1 -1
  5. package/css/index-without-carbon-released-only.css +215 -5
  6. package/css/index-without-carbon-released-only.css.map +1 -1
  7. package/css/index-without-carbon-released-only.min.css +1 -1
  8. package/css/index-without-carbon-released-only.min.css.map +1 -1
  9. package/css/index-without-carbon.css +167 -15
  10. package/css/index-without-carbon.css.map +1 -1
  11. package/css/index-without-carbon.min.css +1 -1
  12. package/css/index-without-carbon.min.css.map +1 -1
  13. package/css/index.css +167 -15
  14. package/css/index.css.map +1 -1
  15. package/css/index.min.css +1 -1
  16. package/css/index.min.css.map +1 -1
  17. package/es/components/Coachmark/Coachmark.js +12 -7
  18. package/es/components/CoachmarkFixed/CoachmarkFixed.js +13 -11
  19. package/es/components/CoachmarkStack/CoachmarkStack.js +7 -3
  20. package/es/components/CoachmarkStack/CoachmarkStackHome.js +8 -4
  21. package/es/components/ConditionBuilder/ConditionBlock/ConditionBlock.js +57 -42
  22. package/es/components/ConditionBuilder/ConditionBuilder.js +81 -24
  23. package/es/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.d.ts +15 -0
  24. package/es/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.js +151 -0
  25. package/es/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.d.ts +3 -1
  26. package/es/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +27 -13
  27. package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +8 -1
  28. package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +29 -7
  29. package/es/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.js +10 -6
  30. package/es/components/ConditionBuilder/ConditionBuilderConnector/GroupConnector.js +19 -11
  31. package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +9 -11
  32. package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +58 -41
  33. package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts +12 -7
  34. package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +26 -8
  35. package/es/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.d.ts +8 -2
  36. package/es/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.js +35 -24
  37. package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +37 -36
  38. package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +37 -36
  39. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.d.ts +4 -2
  40. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +67 -33
  41. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.d.ts +3 -1
  42. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.js +24 -9
  43. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js +27 -9
  44. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.d.ts +13 -0
  45. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js +114 -0
  46. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.d.ts → ItemOptionForValueField.d.ts} +2 -2
  47. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.js → ItemOptionForValueField.js} +66 -36
  48. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.d.ts +5 -1
  49. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.js +19 -7
  50. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemTime/ConditionBuilderItemTime.js +1 -1
  51. package/es/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +74 -23
  52. package/es/components/ConditionBuilder/ConditionPreview/ConditionPreview.d.ts +3 -1
  53. package/es/components/ConditionBuilder/ConditionPreview/ConditionPreview.js +45 -19
  54. package/es/components/ConditionBuilder/utils/handleKeyboardEvents.d.ts +1 -1
  55. package/es/components/ConditionBuilder/utils/handleKeyboardEvents.js +120 -29
  56. package/es/components/ConditionBuilder/utils/useTranslations.d.ts +1 -0
  57. package/es/components/ConditionBuilder/utils/useTranslations.js +26 -0
  58. package/es/components/ConditionBuilder/utils/util.d.ts +1 -0
  59. package/es/components/ConditionBuilder/utils/util.js +8 -1
  60. package/es/components/CreateFullPage/CreateFullPage.js +2 -2
  61. package/es/components/DataSpreadsheet/DataSpreadsheet.d.ts +20 -0
  62. package/es/components/DataSpreadsheet/DataSpreadsheet.js +58 -19
  63. package/es/components/DataSpreadsheet/DataSpreadsheetBody.d.ts +12 -0
  64. package/es/components/DataSpreadsheet/DataSpreadsheetBody.js +22 -6
  65. package/es/components/DataSpreadsheet/DataSpreadsheetHeader.d.ts +8 -0
  66. package/es/components/DataSpreadsheet/DataSpreadsheetHeader.js +16 -3
  67. package/es/components/DataSpreadsheet/hooks/useSpreadsheetMouseMove.js +4 -1
  68. package/es/components/DataSpreadsheet/utils/moveColumnIndicatorLine.js +34 -2
  69. package/es/components/Datagrid/Datagrid/Datagrid.d.ts +0 -4
  70. package/es/components/Datagrid/Datagrid/Datagrid.js +4 -9
  71. package/es/components/Datagrid/Datagrid/DatagridContent.js +1 -1
  72. package/es/components/Datagrid/Datagrid/DatagridHeaderRow.js +23 -8
  73. package/es/components/Datagrid/Datagrid/DatagridRow.js +21 -8
  74. package/es/components/Datagrid/Datagrid/DatagridSelectAll.js +2 -1
  75. package/es/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +3 -2
  76. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +6 -1
  77. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +6 -1
  78. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.d.ts +3 -1
  79. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +7 -4
  80. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.d.ts +1 -1
  81. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +21 -16
  82. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +2 -3
  83. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +74 -11
  84. package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +10 -2
  85. package/es/components/Datagrid/types/index.d.ts +44 -8
  86. package/es/components/Datagrid/useActionsColumn.d.ts +8 -1
  87. package/es/components/Datagrid/useActionsColumn.js +7 -6
  88. package/es/components/Datagrid/useColumnRightAlign.d.ts +8 -1
  89. package/es/components/Datagrid/useColumnRightAlign.js +4 -3
  90. package/es/components/Datagrid/useCustomizeColumns.d.ts +8 -1
  91. package/es/components/Datagrid/useCustomizeColumns.js +4 -3
  92. package/es/components/Datagrid/useDefaultStringRenderer.js +0 -1
  93. package/es/components/Datagrid/useInlineEdit.js +12 -2
  94. package/es/components/Datagrid/useNestedRowExpander.js +1 -3
  95. package/es/components/Datagrid/useNestedRows.js +32 -13
  96. package/es/components/Datagrid/useRowExpander.js +1 -3
  97. package/es/components/Datagrid/useSelectRows.js +2 -1
  98. package/es/components/Datagrid/useStickyColumn.d.ts +8 -1
  99. package/es/components/Datagrid/useStickyColumn.js +12 -9
  100. package/es/components/Decorator/Decorator.js +2 -1
  101. package/es/components/DecoratorBase/DecoratorBase.js +3 -5
  102. package/es/components/DecoratorDualButton/DecoratorDualButton.js +2 -1
  103. package/es/components/DecoratorLink/DecoratorLink.js +2 -1
  104. package/es/components/DecoratorSingleButton/DecoratorSingleButton.js +2 -1
  105. package/es/components/EditInPlace/EditInPlace.d.ts +4 -0
  106. package/es/components/EditInPlace/EditInPlace.js +21 -10
  107. package/es/components/EditTearsheet/EditTearsheet.d.ts +7 -2
  108. package/es/components/EditTearsheet/EditTearsheet.js +44 -10
  109. package/es/components/EditTearsheet/EditTearsheetForm.d.ts +45 -2
  110. package/es/components/EditTearsheet/EditTearsheetForm.js +3 -0
  111. package/es/components/HTTPErrors/HTTPError403/HTTPError403.js +6 -0
  112. package/es/components/HTTPErrors/HTTPError404/HTTPError404.js +6 -0
  113. package/es/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +6 -0
  114. package/es/components/HTTPErrors/assets/HTTPErrorSvg403.js +204 -200
  115. package/es/components/HTTPErrors/assets/HTTPErrorSvg404.js +116 -112
  116. package/es/components/HTTPErrors/assets/HTTPErrorSvgOther.js +110 -106
  117. package/es/components/Nav/NavItem.js +12 -3
  118. package/es/components/OptionsTile/OptionsTile.js +11 -6
  119. package/es/components/PageHeader/PageHeader.js +1 -0
  120. package/es/components/RemoveModal/RemoveModal.d.ts +4 -0
  121. package/es/components/RemoveModal/RemoveModal.js +7 -1
  122. package/es/components/SearchBar/SearchBar.d.ts +1 -1
  123. package/es/components/SearchBar/SearchBar.js +2 -2
  124. package/es/components/SidePanel/SidePanel.js +17 -21
  125. package/es/components/SidePanel/motion/variants.d.ts +4 -6
  126. package/es/components/SidePanel/motion/variants.js +10 -11
  127. package/es/components/StatusIndicator/StatusIndicatorStep.js +87 -0
  128. package/es/components/Tearsheet/Tearsheet.d.ts +8 -1
  129. package/es/components/Tearsheet/Tearsheet.js +9 -1
  130. package/es/components/Tearsheet/TearsheetNarrow.d.ts +11 -0
  131. package/es/components/Tearsheet/TearsheetNarrow.js +12 -0
  132. package/es/components/Tearsheet/TearsheetShell.d.ts +11 -1
  133. package/es/components/Tearsheet/TearsheetShell.js +24 -6
  134. package/es/components/Toolbar/ToolbarButton.js +1 -1
  135. package/es/components/WebTerminal/WebTerminal.js +10 -12
  136. package/es/components/index.d.ts +1 -1
  137. package/es/global/js/hooks/useFocus.d.ts +1 -0
  138. package/es/global/js/hooks/useFocus.js +5 -2
  139. package/es/global/js/hooks/usePrefersReducedMotion.js +14 -8
  140. package/es/global/js/package-settings.d.ts +1 -1
  141. package/es/global/js/package-settings.js +1 -1
  142. package/es/index.js +1 -0
  143. package/es/settings.d.ts +1 -1
  144. package/lib/components/Coachmark/Coachmark.js +12 -7
  145. package/lib/components/CoachmarkFixed/CoachmarkFixed.js +13 -11
  146. package/lib/components/CoachmarkStack/CoachmarkStack.js +7 -3
  147. package/lib/components/CoachmarkStack/CoachmarkStackHome.js +8 -4
  148. package/lib/components/ConditionBuilder/ConditionBlock/ConditionBlock.js +56 -41
  149. package/lib/components/ConditionBuilder/ConditionBuilder.js +81 -24
  150. package/lib/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.d.ts +15 -0
  151. package/lib/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.js +160 -0
  152. package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.d.ts +3 -1
  153. package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +26 -11
  154. package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +8 -1
  155. package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +28 -6
  156. package/lib/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.js +8 -4
  157. package/lib/components/ConditionBuilder/ConditionBuilderConnector/GroupConnector.js +18 -10
  158. package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +9 -11
  159. package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +57 -40
  160. package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts +12 -7
  161. package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +26 -8
  162. package/lib/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.d.ts +8 -2
  163. package/lib/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.js +34 -24
  164. package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +37 -36
  165. package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +37 -36
  166. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.d.ts +4 -2
  167. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +66 -32
  168. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.d.ts +3 -1
  169. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.js +24 -9
  170. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js +28 -10
  171. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.d.ts +13 -0
  172. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js +122 -0
  173. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.d.ts → ItemOptionForValueField.d.ts} +2 -2
  174. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.js → ItemOptionForValueField.js} +63 -33
  175. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.d.ts +5 -1
  176. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.js +18 -6
  177. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemTime/ConditionBuilderItemTime.js +1 -1
  178. package/lib/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +72 -21
  179. package/lib/components/ConditionBuilder/ConditionPreview/ConditionPreview.d.ts +3 -1
  180. package/lib/components/ConditionBuilder/ConditionPreview/ConditionPreview.js +44 -17
  181. package/lib/components/ConditionBuilder/utils/handleKeyboardEvents.d.ts +1 -1
  182. package/lib/components/ConditionBuilder/utils/handleKeyboardEvents.js +120 -29
  183. package/lib/components/ConditionBuilder/utils/useTranslations.d.ts +1 -0
  184. package/lib/components/ConditionBuilder/utils/useTranslations.js +30 -0
  185. package/lib/components/ConditionBuilder/utils/util.d.ts +1 -0
  186. package/lib/components/ConditionBuilder/utils/util.js +8 -0
  187. package/lib/components/CreateFullPage/CreateFullPage.js +2 -2
  188. package/lib/components/DataSpreadsheet/DataSpreadsheet.d.ts +20 -0
  189. package/lib/components/DataSpreadsheet/DataSpreadsheet.js +58 -19
  190. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.d.ts +12 -0
  191. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +22 -6
  192. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.d.ts +8 -0
  193. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.js +16 -3
  194. package/lib/components/DataSpreadsheet/hooks/useSpreadsheetMouseMove.js +4 -1
  195. package/lib/components/DataSpreadsheet/utils/moveColumnIndicatorLine.js +34 -2
  196. package/lib/components/Datagrid/Datagrid/Datagrid.d.ts +0 -4
  197. package/lib/components/Datagrid/Datagrid/Datagrid.js +4 -9
  198. package/lib/components/Datagrid/Datagrid/DatagridContent.js +1 -1
  199. package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +23 -8
  200. package/lib/components/Datagrid/Datagrid/DatagridRow.js +21 -8
  201. package/lib/components/Datagrid/Datagrid/DatagridSelectAll.js +2 -1
  202. package/lib/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +3 -2
  203. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +6 -1
  204. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +6 -1
  205. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.d.ts +3 -1
  206. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +7 -4
  207. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.d.ts +1 -1
  208. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +21 -16
  209. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +2 -3
  210. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +73 -10
  211. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +10 -2
  212. package/lib/components/Datagrid/types/index.d.ts +44 -8
  213. package/lib/components/Datagrid/useActionsColumn.d.ts +8 -1
  214. package/lib/components/Datagrid/useActionsColumn.js +7 -6
  215. package/lib/components/Datagrid/useColumnRightAlign.d.ts +8 -1
  216. package/lib/components/Datagrid/useColumnRightAlign.js +4 -3
  217. package/lib/components/Datagrid/useCustomizeColumns.d.ts +8 -1
  218. package/lib/components/Datagrid/useCustomizeColumns.js +4 -3
  219. package/lib/components/Datagrid/useDefaultStringRenderer.js +0 -1
  220. package/lib/components/Datagrid/useInlineEdit.js +12 -2
  221. package/lib/components/Datagrid/useNestedRowExpander.js +1 -3
  222. package/lib/components/Datagrid/useNestedRows.js +32 -13
  223. package/lib/components/Datagrid/useRowExpander.js +1 -3
  224. package/lib/components/Datagrid/useSelectRows.js +2 -1
  225. package/lib/components/Datagrid/useStickyColumn.d.ts +8 -1
  226. package/lib/components/Datagrid/useStickyColumn.js +12 -9
  227. package/lib/components/Decorator/Decorator.js +2 -1
  228. package/lib/components/DecoratorBase/DecoratorBase.js +3 -5
  229. package/lib/components/DecoratorDualButton/DecoratorDualButton.js +2 -1
  230. package/lib/components/DecoratorLink/DecoratorLink.js +2 -1
  231. package/lib/components/DecoratorSingleButton/DecoratorSingleButton.js +2 -1
  232. package/lib/components/EditInPlace/EditInPlace.d.ts +4 -0
  233. package/lib/components/EditInPlace/EditInPlace.js +21 -10
  234. package/lib/components/EditTearsheet/EditTearsheet.d.ts +7 -2
  235. package/lib/components/EditTearsheet/EditTearsheet.js +43 -9
  236. package/lib/components/EditTearsheet/EditTearsheetForm.d.ts +45 -2
  237. package/lib/components/EditTearsheet/EditTearsheetForm.js +3 -0
  238. package/lib/components/HTTPErrors/HTTPError403/HTTPError403.js +6 -0
  239. package/lib/components/HTTPErrors/HTTPError404/HTTPError404.js +6 -0
  240. package/lib/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +6 -0
  241. package/lib/components/HTTPErrors/assets/HTTPErrorSvg403.js +204 -200
  242. package/lib/components/HTTPErrors/assets/HTTPErrorSvg404.js +116 -112
  243. package/lib/components/HTTPErrors/assets/HTTPErrorSvgOther.js +110 -106
  244. package/lib/components/Nav/NavItem.js +10 -1
  245. package/lib/components/OptionsTile/OptionsTile.js +11 -6
  246. package/lib/components/PageHeader/PageHeader.js +1 -0
  247. package/lib/components/RemoveModal/RemoveModal.d.ts +4 -0
  248. package/lib/components/RemoveModal/RemoveModal.js +7 -1
  249. package/lib/components/SearchBar/SearchBar.d.ts +1 -1
  250. package/lib/components/SearchBar/SearchBar.js +2 -2
  251. package/lib/components/SidePanel/SidePanel.js +16 -20
  252. package/lib/components/SidePanel/motion/variants.d.ts +4 -6
  253. package/lib/components/SidePanel/motion/variants.js +10 -11
  254. package/lib/components/StatusIndicator/StatusIndicatorStep.js +94 -0
  255. package/lib/components/Tearsheet/Tearsheet.d.ts +8 -1
  256. package/lib/components/Tearsheet/Tearsheet.js +9 -1
  257. package/lib/components/Tearsheet/TearsheetNarrow.d.ts +11 -0
  258. package/lib/components/Tearsheet/TearsheetNarrow.js +12 -0
  259. package/lib/components/Tearsheet/TearsheetShell.d.ts +11 -1
  260. package/lib/components/Tearsheet/TearsheetShell.js +22 -4
  261. package/lib/components/Toolbar/ToolbarButton.js +1 -1
  262. package/lib/components/WebTerminal/WebTerminal.js +10 -12
  263. package/lib/components/index.d.ts +1 -1
  264. package/lib/global/js/hooks/useFocus.d.ts +1 -0
  265. package/lib/global/js/hooks/useFocus.js +5 -1
  266. package/lib/global/js/hooks/usePrefersReducedMotion.js +13 -7
  267. package/lib/global/js/package-settings.d.ts +1 -1
  268. package/lib/global/js/package-settings.js +1 -1
  269. package/lib/index.js +5 -0
  270. package/lib/settings.d.ts +1 -1
  271. package/package.json +7 -6
  272. package/scss/components/ConditionBuilder/_condition-builder.scss +1 -1
  273. package/scss/components/ConditionBuilder/styles/_conditionBuilderCondition.scss +14 -2
  274. package/scss/components/ConditionBuilder/styles/_conditionBuilderItem.scss +31 -2
  275. package/scss/components/DataSpreadsheet/_data-spreadsheet.scss +17 -2
  276. package/scss/components/Datagrid/_datagrid.scss +0 -4
  277. package/scss/components/Datagrid/styles/_useInlineEdit.scss +13 -0
  278. package/scss/components/HTTPErrors/_http-errors.scss +77 -0
  279. package/scss/components/OptionsTile/_options-tile.scss +6 -6
  280. package/scss/components/SidePanel/_side-panel.scss +1 -1
  281. package/scss/components/StatusIcon/_status-icon.scss +4 -4
  282. package/scss/components/StringFormatter/_string-formatter.scss +2 -2
  283. package/scss/components/UserProfileImage/_user-profile-image.scss +6 -2
  284. package/scss/components/_index-released-only.scss +1 -0
  285. package/telemetry.yml +27 -5
  286. package/es/components/ConditionBuilder/utils/checkForHoldingKey.d.ts +0 -1
  287. package/es/components/ConditionBuilder/utils/checkForHoldingKey.js +0 -16
  288. package/es/global/js/utils/window.d.ts +0 -2
  289. package/es/global/js/utils/window.js +0 -12
  290. package/lib/components/ConditionBuilder/utils/checkForHoldingKey.d.ts +0 -1
  291. package/lib/components/ConditionBuilder/utils/checkForHoldingKey.js +0 -20
  292. package/lib/global/js/utils/window.d.ts +0 -2
  293. 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
  */
@@ -62,18 +65,17 @@ var ConditionBlock = function ConditionBlock(props) {
62
65
  var _useContext = React.useContext(ConditionBuilderProvider.ConditionBuilderContext),
63
66
  inputConfig = _useContext.inputConfig,
64
67
  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
- };
73
68
  var _useState = React.useState(false),
74
69
  _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
75
70
  showDeletionPreview = _useState2[0],
76
71
  setShowDeletionPreview = _useState2[1];
72
+ var _useTranslations = useTranslations.useTranslations(['conditionRowText', 'conditionText', 'propertyText', 'operatorText', 'removeConditionText']),
73
+ _useTranslations2 = _rollupPluginBabelHelpers.slicedToArray(_useTranslations, 5),
74
+ conditionRowText = _useTranslations2[0],
75
+ conditionText = _useTranslations2[1],
76
+ propertyText = _useTranslations2[2],
77
+ operatorText = _useTranslations2[3],
78
+ removeConditionText = _useTranslations2[4];
77
79
 
78
80
  //filtering the current property to access its properties and config options
79
81
  var getCurrentConfig = function getCurrentConfig(property) {
@@ -87,13 +89,18 @@ var ConditionBlock = function ConditionBlock(props) {
87
89
  type = _getCurrentConfig.type,
88
90
  config = _getCurrentConfig.config,
89
91
  label = _getCurrentConfig.label;
90
- var ItemComponent;
91
- // if (type == 'custom') {
92
- // ItemComponent = config.component;
93
- // } else {
94
- ItemComponent = property ? itemComponents[type] : null;
95
- //}
96
92
 
93
+ //Below possible input types expected for value field.
94
+ var itemComponents = {
95
+ text: ConditionBuilderItemText.ConditionBuilderItemText,
96
+ number: ConditionBuilderItemNumber.ConditionBuilderItemNumber,
97
+ date: ConditionBuilderItemDate.ConditionBuilderItemDate,
98
+ time: ConditionBuilderItemTime.ConditionBuilderItemTime,
99
+ option: ItemOptionForValueField.ItemOptionForValueField,
100
+ custom: config === null || config === void 0 ? void 0 : config.component,
101
+ textarea: ConditionBuilderItemText.ConditionBuilderItemText
102
+ };
103
+ var ItemComponent = property ? itemComponents[type] : null;
97
104
  var onStatementChangeHandler = function onStatementChangeHandler(v, evt) {
98
105
  util.focusThisField(evt);
99
106
  onStatementChange(v);
@@ -114,9 +121,10 @@ var ConditionBlock = function ConditionBlock(props) {
114
121
  }));
115
122
  };
116
123
  var onValueChangeHandler = function onValueChangeHandler(newValue) {
117
- onChange(_rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, condition), {}, {
118
- value: newValue,
119
- popoverToOpen: ''
124
+ var currentCondition = _rollupPluginBabelHelpers.objectSpread2({}, condition);
125
+ delete currentCondition.popoverToOpen;
126
+ onChange(_rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, currentCondition), {}, {
127
+ value: newValue
120
128
  }));
121
129
  };
122
130
  var handleShowDeletionPreview = function handleShowDeletionPreview() {
@@ -126,6 +134,9 @@ var ConditionBlock = function ConditionBlock(props) {
126
134
  setShowDeletionPreview(false);
127
135
  };
128
136
  var getOperators = function getOperators() {
137
+ if (config !== null && config !== void 0 && config.operators) {
138
+ return config.operators;
139
+ }
129
140
  return DataConfigs.operatorConfig.filter(function (operator) {
130
141
  return operator.type.indexOf(type) != -1 || operator.type == 'all';
131
142
  });
@@ -137,11 +148,23 @@ var ConditionBlock = function ConditionBlock(props) {
137
148
  'aria-setsize': aria.setsize
138
149
  } : {};
139
150
  };
151
+ var renderChildren = function renderChildren(popoverRef) {
152
+ return /*#__PURE__*/React__default["default"].createElement(ItemComponent, {
153
+ conditionState: {
154
+ property: property,
155
+ operator: operator,
156
+ value: value
157
+ },
158
+ onChange: onValueChangeHandler,
159
+ config: config,
160
+ "data-name": "valueField",
161
+ parentRef: popoverRef
162
+ });
163
+ };
140
164
  return /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({
141
165
  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')),
142
166
  role: "row",
143
- "aria-label": DataConfigs.translateWithId('condition_row'),
144
- tabIndex: -1
167
+ "aria-label": conditionRowText
145
168
  }, getAriaAttributes()), conjunction ? /*#__PURE__*/React__default["default"].createElement(ConditionConnector["default"], {
146
169
  className: "".concat(DataConfigs.blockClass, "__gap"),
147
170
  operator: conjunction,
@@ -152,14 +175,14 @@ var ConditionBlock = function ConditionBlock(props) {
152
175
  role: "gridcell"
153
176
  })), isStatement && /*#__PURE__*/React__default["default"].createElement(ConditionBuilderItem.ConditionBuilderItem, {
154
177
  label: group.statement,
155
- title: DataConfigs.translateWithId('condition'),
178
+ title: conditionText,
156
179
  "data-name": "connectorField",
157
180
  popOverClassName: "".concat(DataConfigs.blockClass, "__gap"),
158
181
  className: "".concat(DataConfigs.blockClass, "__statement-button")
159
- }, /*#__PURE__*/React__default["default"].createElement(ConditionBuilderItemOption.ConditionBuilderItemOption, {
182
+ }, /*#__PURE__*/React__default["default"].createElement(ItemOption.ItemOption, {
160
183
  conditionState: {
161
184
  value: group.statement,
162
- label: DataConfigs.translateWithId('condition')
185
+ label: conditionText
163
186
  },
164
187
  onChange: onStatementChangeHandler,
165
188
  config: {
@@ -167,16 +190,16 @@ var ConditionBlock = function ConditionBlock(props) {
167
190
  }
168
191
  })), /*#__PURE__*/React__default["default"].createElement(ConditionBuilderItem.ConditionBuilderItem, {
169
192
  label: label,
170
- title: DataConfigs.translateWithId('property'),
193
+ title: propertyText,
171
194
  renderIcon: icon !== null && icon !== void 0 ? icon : null,
172
195
  className: "".concat(DataConfigs.blockClass, "__property-field"),
173
196
  "data-name": "propertyField",
174
197
  condition: condition,
175
198
  type: type
176
- }, /*#__PURE__*/React__default["default"].createElement(ConditionBuilderItemOption.ConditionBuilderItemOption, {
199
+ }, /*#__PURE__*/React__default["default"].createElement(ItemOption.ItemOption, {
177
200
  conditionState: {
178
201
  value: property,
179
- label: DataConfigs.translateWithId('property')
202
+ label: propertyText
180
203
  },
181
204
  onChange: onPropertyChangeHandler,
182
205
  config: {
@@ -184,17 +207,17 @@ var ConditionBlock = function ConditionBlock(props) {
184
207
  }
185
208
  })), property && /*#__PURE__*/React__default["default"].createElement(ConditionBuilderItem.ConditionBuilderItem, {
186
209
  label: operator,
187
- title: DataConfigs.translateWithId('operator'),
210
+ title: operatorText,
188
211
  "data-name": "operatorField",
189
212
  condition: condition,
190
213
  type: type
191
- }, /*#__PURE__*/React__default["default"].createElement(ConditionBuilderItemOption.ConditionBuilderItemOption, {
214
+ }, /*#__PURE__*/React__default["default"].createElement(ItemOption.ItemOption, {
192
215
  config: {
193
216
  options: getOperators()
194
217
  },
195
218
  conditionState: {
196
219
  value: operator,
197
- label: DataConfigs.translateWithId('operator')
220
+ label: operatorText
198
221
  },
199
222
  onChange: onOperatorChangeHandler
200
223
  })), property && operator && /*#__PURE__*/React__default["default"].createElement(ConditionBuilderItem.ConditionBuilderItem, {
@@ -204,22 +227,14 @@ var ConditionBlock = function ConditionBlock(props) {
204
227
  showToolTip: true,
205
228
  "data-name": "valueField",
206
229
  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
230
  config: config,
216
- "data-name": "valueField"
217
- })), /*#__PURE__*/React__default["default"].createElement("span", {
231
+ renderChildren: renderChildren
232
+ }), /*#__PURE__*/React__default["default"].createElement("span", {
218
233
  role: "gridcell",
219
- "aria-label": DataConfigs.translateWithId('remove_condition')
234
+ "aria-label": removeConditionText
220
235
  }, /*#__PURE__*/React__default["default"].createElement(ConditionBuilderButton.ConditionBuilderButton, {
221
236
  hideLabel: true,
222
- label: DataConfigs.translateWithId('remove_condition'),
237
+ label: removeConditionText,
223
238
  onClick: onRemove,
224
239
  onMouseEnter: handleShowDeletionPreview,
225
240
  onMouseLeave: handleHideDeletionPreview,
@@ -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,23 @@ 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
76
81
  }, /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({}, rest, {
77
82
  className: cx__default["default"](DataConfigs.blockClass,
78
83
  // Apply the block class to the main HTML element
@@ -92,7 +97,9 @@ exports.ConditionBuilder = /*#__PURE__*/React__default["default"].forwardRef(fun
92
97
  startConditionLabel: startConditionLabel,
93
98
  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", "removeConditionText", "addConditionRowText", "startText", "endText", "clearSearchText", "actionsText", "then", "removeActionText", "addActionText", "invalidText", "invalidDateText", "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,160 @@
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']),
43
+ _useTranslations2 = _rollupPluginBabelHelpers.slicedToArray(_useTranslations, 5),
44
+ actionsText = _useTranslations2[0],
45
+ thenText = _useTranslations2[1],
46
+ andText = _useTranslations2[2],
47
+ removeActionText = _useTranslations2[3],
48
+ addActionText = _useTranslations2[4];
49
+ var addActionHandler = function addActionHandler() {
50
+ var action = {
51
+ id: uuidv4["default"](),
52
+ label: undefined,
53
+ popoverToOpen: 'valueField'
54
+ };
55
+ setActionState([].concat(_rollupPluginBabelHelpers.toConsumableArray(actionState), [action]));
56
+ };
57
+ var onchangeHandler = function onchangeHandler(selectedId, actionIndex) {
58
+ var action = actions.find(function (action) {
59
+ return action.id === selectedId;
60
+ }); //fetch the selected action from the input action array
61
+
62
+ // same actions can be added multiple times
63
+ var newAction = _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, action), {}, {
64
+ id: actionState[actionIndex].id
65
+ });
66
+ setActionState([].concat(_rollupPluginBabelHelpers.toConsumableArray(actionState.slice(0, actionIndex)), [newAction], _rollupPluginBabelHelpers.toConsumableArray(actionState.slice(actionIndex + 1))));
67
+ };
68
+ var onRemove = function onRemove(selectedId) {
69
+ setActionState(actionState.filter(function (action) {
70
+ return action.id !== selectedId;
71
+ }));
72
+ };
73
+ var handleShowDeletionPreview = function handleShowDeletionPreview(index) {
74
+ setShowDeletionPreview(index);
75
+ };
76
+ var handleHideDeletionPreview = function handleHideDeletionPreview() {
77
+ setShowDeletionPreview(-1);
78
+ };
79
+ return /*#__PURE__*/React__default["default"].createElement("div", {
80
+ className: className
81
+ }, /*#__PURE__*/React__default["default"].createElement(react.Section, {
82
+ className: "".concat(DataConfigs.blockClass, "__heading"),
83
+ level: 4
84
+ }, /*#__PURE__*/React__default["default"].createElement(react.Heading, null, actionsText)), /*#__PURE__*/React__default["default"].createElement("div", {
85
+ className: "".concat(DataConfigs.blockClass, "__condition-wrapper"),
86
+ role: "grid"
87
+ }, actionState === null || actionState === void 0 ? void 0 : actionState.map(function (action, index) {
88
+ return /*#__PURE__*/React__default["default"].createElement("div", {
89
+ key: action.id,
90
+ role: "row",
91
+ 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))
92
+ }, /*#__PURE__*/React__default["default"].createElement(ConditionBuilderItem.ConditionBuilderItem, {
93
+ className: "".concat(DataConfigs.blockClass, "__statement-button"),
94
+ tabIndex: 0,
95
+ popOverClassName: "".concat(DataConfigs.blockClass, "__gap"),
96
+ label: index === 0 ? thenText : andText
97
+ }), /*#__PURE__*/React__default["default"].createElement(ConditionBuilderItem.ConditionBuilderItem, {
98
+ label: action.label,
99
+ title: actionsText,
100
+ condition: action,
101
+ "data-name": "valueField",
102
+ type: "option"
103
+ }, /*#__PURE__*/React__default["default"].createElement(ItemOptionForValueField.ItemOptionForValueField, {
104
+ conditionState: {
105
+ value: action.label
106
+ },
107
+ onChange: function onChange(selection) {
108
+ return onchangeHandler(selection.id, index);
109
+ },
110
+ config: {
111
+ options: actions
112
+ }
113
+ })), /*#__PURE__*/React__default["default"].createElement("span", {
114
+ role: "gridcell",
115
+ "aria-label": removeActionText
116
+ }, /*#__PURE__*/React__default["default"].createElement(ConditionBuilderButton.ConditionBuilderButton, {
117
+ hideLabel: true,
118
+ label: removeActionText,
119
+ onClick: function onClick() {
120
+ return onRemove(action.id);
121
+ },
122
+ onMouseEnter: function onMouseEnter() {
123
+ return handleShowDeletionPreview(index);
124
+ },
125
+ onMouseLeave: handleHideDeletionPreview,
126
+ onFocus: function onFocus() {
127
+ return handleShowDeletionPreview(index);
128
+ },
129
+ onBlur: handleHideDeletionPreview,
130
+ renderIcon: icons.Close,
131
+ className: "".concat(DataConfigs.blockClass, "__close-condition"),
132
+ "data-name": "closeCondition"
133
+ })), actionState.length === index + 1 && /*#__PURE__*/React__default["default"].createElement(ConditionBuilderAdd["default"], {
134
+ onClick: addActionHandler,
135
+ className: "".concat(DataConfigs.blockClass, "__gap ").concat(DataConfigs.blockClass, "__gap-left"),
136
+ buttonLabel: addActionText
137
+ }));
138
+ }), actionState.length === 0 && /*#__PURE__*/React__default["default"].createElement(ConditionBuilderAdd["default"], {
139
+ onClick: addActionHandler,
140
+ className: "".concat(DataConfigs.blockClass, "__gap ").concat(DataConfigs.blockClass, "__gap-left"),
141
+ buttonLabel: addActionText,
142
+ tabIndex: 0
143
+ })));
144
+ };
145
+ var ConditionBuilderActions$1 = ConditionBuilderActions;
146
+ ConditionBuilderActions.propTypes = {
147
+ /**
148
+ * optional array of object that give the list of actions.
149
+ */
150
+ actions: index["default"].arrayOf(index["default"].shape({
151
+ id: index["default"].oneOfType([index["default"].string, index["default"].number]).isRequired,
152
+ label: index["default"].string.isRequired
153
+ })),
154
+ /**
155
+ * Provide an optional class to be applied to the containing node.
156
+ */
157
+ className: index["default"].string
158
+ };
159
+
160
+ exports["default"] = ConditionBuilderActions$1;
@@ -1,5 +1,5 @@
1
1
  export default ConditionBuilderAdd;
2
- declare function ConditionBuilderAdd({ className, onClick, addConditionSubGroupHandler, showConditionSubGroupPreviewHandler, hideConditionSubGroupPreviewHandler, showConditionPreviewHandler, hideConditionPreviewHandler, enableSubGroup, buttonLabel, }: {
2
+ declare function ConditionBuilderAdd({ className, onClick, addConditionSubGroupHandler, showConditionSubGroupPreviewHandler, hideConditionSubGroupPreviewHandler, showConditionPreviewHandler, hideConditionPreviewHandler, enableSubGroup, buttonLabel, tabIndex, }: {
3
3
  className: any;
4
4
  onClick: any;
5
5
  addConditionSubGroupHandler: any;
@@ -9,6 +9,7 @@ declare function ConditionBuilderAdd({ className, onClick, addConditionSubGroupH
9
9
  hideConditionPreviewHandler: any;
10
10
  enableSubGroup: any;
11
11
  buttonLabel: any;
12
+ tabIndex: any;
12
13
  }): import("react/jsx-runtime").JSX.Element;
13
14
  declare namespace ConditionBuilderAdd {
14
15
  namespace propTypes {
@@ -21,6 +22,7 @@ declare namespace ConditionBuilderAdd {
21
22
  let onClick: PropTypes.Requireable<(...args: any[]) => any>;
22
23
  let showConditionPreviewHandler: PropTypes.Requireable<(...args: any[]) => any>;
23
24
  let showConditionSubGroupPreviewHandler: PropTypes.Requireable<(...args: any[]) => any>;
25
+ let tabIndex: PropTypes.Requireable<number>;
24
26
  }
25
27
  }
26
28
  import PropTypes from 'prop-types';