@carbon/ibm-products 2.43.2-canary.9 → 2.43.2-canary.92

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 (324) hide show
  1. package/css/index-full-carbon.css +427 -139
  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 +218 -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 +247 -101
  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 +348 -125
  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/ActionBar/ActionBarItem.js +1 -1
  18. package/es/components/Coachmark/Coachmark.d.ts +6 -1
  19. package/es/components/Coachmark/Coachmark.js +47 -11
  20. package/es/components/Coachmark/CoachmarkOverlay.js +2 -4
  21. package/es/components/CoachmarkBeacon/CoachmarkBeacon.js +1 -7
  22. package/es/components/CoachmarkFixed/CoachmarkFixed.js +13 -11
  23. package/es/components/CoachmarkStack/CoachmarkStack.js +7 -3
  24. package/es/components/CoachmarkStack/CoachmarkStackHome.js +8 -4
  25. package/es/components/ConditionBuilder/ConditionBlock/ConditionBlock.js +76 -55
  26. package/es/components/ConditionBuilder/ConditionBuilder.js +82 -25
  27. package/es/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.d.ts +15 -0
  28. package/es/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.js +154 -0
  29. package/es/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.d.ts +3 -1
  30. package/es/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +29 -13
  31. package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +8 -1
  32. package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +30 -8
  33. package/es/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.js +14 -9
  34. package/es/components/ConditionBuilder/ConditionBuilderConnector/GroupConnector.js +19 -11
  35. package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +9 -13
  36. package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +75 -62
  37. package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts +13 -7
  38. package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +31 -8
  39. package/es/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.d.ts +8 -2
  40. package/es/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.js +35 -24
  41. package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +40 -36
  42. package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +40 -36
  43. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.d.ts +6 -2
  44. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +98 -40
  45. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.d.ts +3 -1
  46. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.js +24 -9
  47. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js +27 -9
  48. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.d.ts +13 -0
  49. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js +114 -0
  50. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.d.ts → ItemOptionForValueField.d.ts} +2 -2
  51. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.js → ItemOptionForValueField.js} +71 -38
  52. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.d.ts +5 -1
  53. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.js +22 -9
  54. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemTime/ConditionBuilderItemTime.js +1 -1
  55. package/es/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.d.ts +1 -3
  56. package/es/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +121 -40
  57. package/es/components/ConditionBuilder/ConditionPreview/ConditionPreview.d.ts +3 -1
  58. package/es/components/ConditionBuilder/ConditionPreview/ConditionPreview.js +45 -19
  59. package/es/components/ConditionBuilder/utils/handleKeyboardEvents.d.ts +2 -1
  60. package/es/components/ConditionBuilder/utils/handleKeyboardEvents.js +137 -40
  61. package/es/components/ConditionBuilder/utils/useTranslations.d.ts +1 -0
  62. package/es/components/ConditionBuilder/utils/useTranslations.js +26 -0
  63. package/es/components/ConditionBuilder/utils/util.d.ts +6 -4
  64. package/es/components/ConditionBuilder/utils/util.js +42 -17
  65. package/es/components/CreateFullPage/CreateFullPage.js +2 -2
  66. package/es/components/DataSpreadsheet/DataSpreadsheet.d.ts +26 -0
  67. package/es/components/DataSpreadsheet/DataSpreadsheet.js +129 -53
  68. package/es/components/DataSpreadsheet/DataSpreadsheetBody.d.ts +16 -0
  69. package/es/components/DataSpreadsheet/DataSpreadsheetBody.js +32 -7
  70. package/es/components/DataSpreadsheet/DataSpreadsheetHeader.d.ts +8 -0
  71. package/es/components/DataSpreadsheet/DataSpreadsheetHeader.js +16 -3
  72. package/es/components/DataSpreadsheet/types/index.d.ts +1 -0
  73. package/es/components/Datagrid/Datagrid/Datagrid.d.ts +0 -4
  74. package/es/components/Datagrid/Datagrid/Datagrid.js +4 -9
  75. package/es/components/Datagrid/Datagrid/DatagridContent.js +1 -1
  76. package/es/components/Datagrid/Datagrid/DatagridHeaderRow.js +23 -8
  77. package/es/components/Datagrid/Datagrid/DatagridRow.js +21 -8
  78. package/es/components/Datagrid/Datagrid/DatagridSelectAll.js +2 -1
  79. package/es/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +3 -2
  80. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +34 -10
  81. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +6 -1
  82. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +6 -1
  83. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.d.ts +3 -1
  84. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +7 -4
  85. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.d.ts +1 -1
  86. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +54 -17
  87. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +2 -3
  88. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +74 -11
  89. package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +10 -2
  90. package/es/components/Datagrid/types/index.d.ts +57 -9
  91. package/es/components/Datagrid/useActionsColumn.d.ts +8 -1
  92. package/es/components/Datagrid/useActionsColumn.js +7 -6
  93. package/es/components/Datagrid/useColumnRightAlign.d.ts +8 -1
  94. package/es/components/Datagrid/useColumnRightAlign.js +4 -3
  95. package/es/components/Datagrid/useCustomizeColumns.d.ts +8 -1
  96. package/es/components/Datagrid/useCustomizeColumns.js +4 -3
  97. package/es/components/Datagrid/useDefaultStringRenderer.js +0 -1
  98. package/es/components/Datagrid/useDisableSelectRows.d.ts +2 -1
  99. package/es/components/Datagrid/useDisableSelectRows.js +27 -22
  100. package/es/components/Datagrid/useInlineEdit.js +12 -2
  101. package/es/components/Datagrid/useNestedRowExpander.js +1 -3
  102. package/es/components/Datagrid/useNestedRows.js +32 -13
  103. package/es/components/Datagrid/useRowExpander.js +1 -3
  104. package/es/components/Datagrid/useSelectRows.js +2 -1
  105. package/es/components/Datagrid/useStickyColumn.d.ts +8 -1
  106. package/es/components/Datagrid/useStickyColumn.js +12 -9
  107. package/es/components/Decorator/Decorator.js +2 -1
  108. package/es/components/DecoratorBase/DecoratorBase.js +3 -5
  109. package/es/components/DecoratorDualButton/DecoratorDualButton.js +2 -1
  110. package/es/components/DecoratorLink/DecoratorLink.js +2 -1
  111. package/es/components/DecoratorSingleButton/DecoratorSingleButton.js +2 -1
  112. package/es/components/EditInPlace/EditInPlace.d.ts +4 -0
  113. package/es/components/EditInPlace/EditInPlace.js +21 -10
  114. package/es/components/EditTearsheet/EditTearsheet.d.ts +7 -2
  115. package/es/components/EditTearsheet/EditTearsheet.js +44 -10
  116. package/es/components/EditTearsheet/EditTearsheetForm.d.ts +45 -2
  117. package/es/components/EditTearsheet/EditTearsheetForm.js +3 -0
  118. package/es/components/HTTPErrors/HTTPError403/HTTPError403.js +6 -0
  119. package/es/components/HTTPErrors/HTTPError404/HTTPError404.js +6 -0
  120. package/es/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +6 -0
  121. package/es/components/HTTPErrors/assets/HTTPErrorSvg403.js +204 -200
  122. package/es/components/HTTPErrors/assets/HTTPErrorSvg404.js +116 -112
  123. package/es/components/HTTPErrors/assets/HTTPErrorSvgOther.js +110 -106
  124. package/es/components/Nav/NavItem.js +12 -3
  125. package/es/components/OptionsTile/OptionsTile.js +11 -6
  126. package/es/components/PageHeader/PageHeader.js +1 -0
  127. package/es/components/RemoveModal/RemoveModal.d.ts +4 -0
  128. package/es/components/RemoveModal/RemoveModal.js +7 -1
  129. package/es/components/SearchBar/SearchBar.d.ts +1 -1
  130. package/es/components/SearchBar/SearchBar.js +2 -2
  131. package/es/components/SidePanel/SidePanel.js +17 -21
  132. package/es/components/SidePanel/motion/variants.d.ts +4 -6
  133. package/es/components/SidePanel/motion/variants.js +10 -11
  134. package/es/components/StatusIndicator/StatusIndicatorStep.js +87 -0
  135. package/es/components/StringFormatter/StringFormatter.js +14 -3
  136. package/es/components/StringFormatter/utils/enums.d.ts +20 -1
  137. package/es/components/StringFormatter/utils/enums.js +22 -2
  138. package/es/components/Tearsheet/Tearsheet.d.ts +8 -1
  139. package/es/components/Tearsheet/Tearsheet.js +9 -1
  140. package/es/components/Tearsheet/TearsheetNarrow.d.ts +11 -0
  141. package/es/components/Tearsheet/TearsheetNarrow.js +12 -0
  142. package/es/components/Tearsheet/TearsheetShell.d.ts +11 -1
  143. package/es/components/Tearsheet/TearsheetShell.js +28 -7
  144. package/es/components/Toolbar/ToolbarButton.js +1 -1
  145. package/es/components/WebTerminal/WebTerminal.js +10 -12
  146. package/es/components/index.d.ts +1 -1
  147. package/es/global/js/hooks/useFocus.d.ts +1 -0
  148. package/es/global/js/hooks/useFocus.js +5 -2
  149. package/es/global/js/hooks/usePrefersReducedMotion.js +14 -8
  150. package/es/global/js/package-settings.d.ts +1 -1
  151. package/es/global/js/package-settings.js +1 -1
  152. package/es/index.js +1 -0
  153. package/es/node_modules/@carbon/icon-helpers/es/index.js +49 -62
  154. package/es/node_modules/@carbon/icons-react/es/generated/bucket-2.js +1020 -1058
  155. package/es/node_modules/@carbon/icons-react/es/generated/bucket-9.js +881 -758
  156. package/es/settings.d.ts +1 -1
  157. package/lib/components/ActionBar/ActionBarItem.js +1 -1
  158. package/lib/components/Coachmark/Coachmark.d.ts +6 -1
  159. package/lib/components/Coachmark/Coachmark.js +46 -10
  160. package/lib/components/Coachmark/CoachmarkOverlay.js +2 -4
  161. package/lib/components/CoachmarkBeacon/CoachmarkBeacon.js +1 -7
  162. package/lib/components/CoachmarkFixed/CoachmarkFixed.js +13 -11
  163. package/lib/components/CoachmarkStack/CoachmarkStack.js +7 -3
  164. package/lib/components/CoachmarkStack/CoachmarkStackHome.js +8 -4
  165. package/lib/components/ConditionBuilder/ConditionBlock/ConditionBlock.js +74 -53
  166. package/lib/components/ConditionBuilder/ConditionBuilder.js +82 -25
  167. package/lib/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.d.ts +15 -0
  168. package/lib/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.js +163 -0
  169. package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.d.ts +3 -1
  170. package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +28 -11
  171. package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +8 -1
  172. package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +29 -7
  173. package/lib/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.js +12 -7
  174. package/lib/components/ConditionBuilder/ConditionBuilderConnector/GroupConnector.js +18 -10
  175. package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +9 -13
  176. package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +73 -60
  177. package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts +13 -7
  178. package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +31 -8
  179. package/lib/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.d.ts +8 -2
  180. package/lib/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.js +34 -24
  181. package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +40 -36
  182. package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +40 -36
  183. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.d.ts +6 -2
  184. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +96 -38
  185. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.d.ts +3 -1
  186. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.js +24 -9
  187. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js +28 -10
  188. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.d.ts +13 -0
  189. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js +122 -0
  190. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.d.ts → ItemOptionForValueField.d.ts} +2 -2
  191. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.js → ItemOptionForValueField.js} +68 -35
  192. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.d.ts +5 -1
  193. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.js +21 -8
  194. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemTime/ConditionBuilderItemTime.js +1 -1
  195. package/lib/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.d.ts +1 -3
  196. package/lib/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +118 -37
  197. package/lib/components/ConditionBuilder/ConditionPreview/ConditionPreview.d.ts +3 -1
  198. package/lib/components/ConditionBuilder/ConditionPreview/ConditionPreview.js +44 -17
  199. package/lib/components/ConditionBuilder/utils/handleKeyboardEvents.d.ts +2 -1
  200. package/lib/components/ConditionBuilder/utils/handleKeyboardEvents.js +137 -39
  201. package/lib/components/ConditionBuilder/utils/useTranslations.d.ts +1 -0
  202. package/lib/components/ConditionBuilder/utils/useTranslations.js +30 -0
  203. package/lib/components/ConditionBuilder/utils/util.d.ts +6 -4
  204. package/lib/components/ConditionBuilder/utils/util.js +44 -16
  205. package/lib/components/CreateFullPage/CreateFullPage.js +2 -2
  206. package/lib/components/DataSpreadsheet/DataSpreadsheet.d.ts +26 -0
  207. package/lib/components/DataSpreadsheet/DataSpreadsheet.js +129 -53
  208. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.d.ts +16 -0
  209. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +32 -7
  210. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.d.ts +8 -0
  211. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.js +16 -3
  212. package/lib/components/DataSpreadsheet/types/index.d.ts +1 -0
  213. package/lib/components/Datagrid/Datagrid/Datagrid.d.ts +0 -4
  214. package/lib/components/Datagrid/Datagrid/Datagrid.js +4 -9
  215. package/lib/components/Datagrid/Datagrid/DatagridContent.js +1 -1
  216. package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +23 -8
  217. package/lib/components/Datagrid/Datagrid/DatagridRow.js +21 -8
  218. package/lib/components/Datagrid/Datagrid/DatagridSelectAll.js +2 -1
  219. package/lib/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +3 -2
  220. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +34 -10
  221. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +6 -1
  222. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +6 -1
  223. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.d.ts +3 -1
  224. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +7 -4
  225. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.d.ts +1 -1
  226. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +53 -16
  227. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +2 -3
  228. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +73 -10
  229. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +10 -2
  230. package/lib/components/Datagrid/types/index.d.ts +57 -9
  231. package/lib/components/Datagrid/useActionsColumn.d.ts +8 -1
  232. package/lib/components/Datagrid/useActionsColumn.js +7 -6
  233. package/lib/components/Datagrid/useColumnRightAlign.d.ts +8 -1
  234. package/lib/components/Datagrid/useColumnRightAlign.js +4 -3
  235. package/lib/components/Datagrid/useCustomizeColumns.d.ts +8 -1
  236. package/lib/components/Datagrid/useCustomizeColumns.js +4 -3
  237. package/lib/components/Datagrid/useDefaultStringRenderer.js +0 -1
  238. package/lib/components/Datagrid/useDisableSelectRows.d.ts +2 -1
  239. package/lib/components/Datagrid/useDisableSelectRows.js +27 -22
  240. package/lib/components/Datagrid/useInlineEdit.js +12 -2
  241. package/lib/components/Datagrid/useNestedRowExpander.js +1 -3
  242. package/lib/components/Datagrid/useNestedRows.js +32 -13
  243. package/lib/components/Datagrid/useRowExpander.js +1 -3
  244. package/lib/components/Datagrid/useSelectRows.js +2 -1
  245. package/lib/components/Datagrid/useStickyColumn.d.ts +8 -1
  246. package/lib/components/Datagrid/useStickyColumn.js +12 -9
  247. package/lib/components/Decorator/Decorator.js +2 -1
  248. package/lib/components/DecoratorBase/DecoratorBase.js +3 -5
  249. package/lib/components/DecoratorDualButton/DecoratorDualButton.js +2 -1
  250. package/lib/components/DecoratorLink/DecoratorLink.js +2 -1
  251. package/lib/components/DecoratorSingleButton/DecoratorSingleButton.js +2 -1
  252. package/lib/components/EditInPlace/EditInPlace.d.ts +4 -0
  253. package/lib/components/EditInPlace/EditInPlace.js +21 -10
  254. package/lib/components/EditTearsheet/EditTearsheet.d.ts +7 -2
  255. package/lib/components/EditTearsheet/EditTearsheet.js +43 -9
  256. package/lib/components/EditTearsheet/EditTearsheetForm.d.ts +45 -2
  257. package/lib/components/EditTearsheet/EditTearsheetForm.js +3 -0
  258. package/lib/components/HTTPErrors/HTTPError403/HTTPError403.js +6 -0
  259. package/lib/components/HTTPErrors/HTTPError404/HTTPError404.js +6 -0
  260. package/lib/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +6 -0
  261. package/lib/components/HTTPErrors/assets/HTTPErrorSvg403.js +204 -200
  262. package/lib/components/HTTPErrors/assets/HTTPErrorSvg404.js +116 -112
  263. package/lib/components/HTTPErrors/assets/HTTPErrorSvgOther.js +110 -106
  264. package/lib/components/Nav/NavItem.js +10 -1
  265. package/lib/components/OptionsTile/OptionsTile.js +11 -6
  266. package/lib/components/PageHeader/PageHeader.js +1 -0
  267. package/lib/components/RemoveModal/RemoveModal.d.ts +4 -0
  268. package/lib/components/RemoveModal/RemoveModal.js +7 -1
  269. package/lib/components/SearchBar/SearchBar.d.ts +1 -1
  270. package/lib/components/SearchBar/SearchBar.js +2 -2
  271. package/lib/components/SidePanel/SidePanel.js +16 -20
  272. package/lib/components/SidePanel/motion/variants.d.ts +4 -6
  273. package/lib/components/SidePanel/motion/variants.js +10 -11
  274. package/lib/components/StatusIndicator/StatusIndicatorStep.js +94 -0
  275. package/lib/components/StringFormatter/StringFormatter.js +13 -2
  276. package/lib/components/StringFormatter/utils/enums.d.ts +20 -1
  277. package/lib/components/StringFormatter/utils/enums.js +23 -1
  278. package/lib/components/Tearsheet/Tearsheet.d.ts +8 -1
  279. package/lib/components/Tearsheet/Tearsheet.js +9 -1
  280. package/lib/components/Tearsheet/TearsheetNarrow.d.ts +11 -0
  281. package/lib/components/Tearsheet/TearsheetNarrow.js +12 -0
  282. package/lib/components/Tearsheet/TearsheetShell.d.ts +11 -1
  283. package/lib/components/Tearsheet/TearsheetShell.js +26 -5
  284. package/lib/components/Toolbar/ToolbarButton.js +1 -1
  285. package/lib/components/WebTerminal/WebTerminal.js +10 -12
  286. package/lib/components/index.d.ts +1 -1
  287. package/lib/global/js/hooks/useFocus.d.ts +1 -0
  288. package/lib/global/js/hooks/useFocus.js +5 -1
  289. package/lib/global/js/hooks/usePrefersReducedMotion.js +13 -7
  290. package/lib/global/js/package-settings.d.ts +1 -1
  291. package/lib/global/js/package-settings.js +1 -1
  292. package/lib/index.js +5 -0
  293. package/lib/node_modules/@carbon/icon-helpers/es/index.js +49 -62
  294. package/lib/node_modules/@carbon/icons-react/es/generated/bucket-2.js +1036 -1074
  295. package/lib/node_modules/@carbon/icons-react/es/generated/bucket-9.js +946 -823
  296. package/lib/settings.d.ts +1 -1
  297. package/package.json +9 -8
  298. package/scss/components/Coachmark/_coachmark-overlay.scss +6 -70
  299. package/scss/components/Coachmark/_coachmark.scss +5 -4
  300. package/scss/components/CoachmarkBeacon/_coachmark-beacon.scss +1 -3
  301. package/scss/components/ConditionBuilder/_condition-builder.scss +5 -1
  302. package/scss/components/ConditionBuilder/styles/_conditionBuilderCondition.scss +20 -3
  303. package/scss/components/ConditionBuilder/styles/_conditionBuilderItem.scss +32 -3
  304. package/scss/components/DataSpreadsheet/_data-spreadsheet.scss +16 -2
  305. package/scss/components/Datagrid/_datagrid.scss +0 -4
  306. package/scss/components/Datagrid/styles/_useInlineEdit.scss +13 -0
  307. package/scss/components/Datagrid/styles/addons/_CustomizeColumnsTearsheet.scss +7 -5
  308. package/scss/components/Datagrid/styles/addons/_FilterFlyout.scss +5 -4
  309. package/scss/components/HTTPErrors/_http-errors.scss +77 -0
  310. package/scss/components/OptionsTile/_options-tile.scss +6 -6
  311. package/scss/components/SidePanel/_side-panel.scss +1 -1
  312. package/scss/components/StatusIcon/_status-icon.scss +4 -4
  313. package/scss/components/StringFormatter/_string-formatter.scss +2 -2
  314. package/scss/components/UserProfileImage/_user-profile-image.scss +6 -2
  315. package/scss/components/_index-released-only.scss +1 -0
  316. package/telemetry.yml +32 -19
  317. package/es/components/ConditionBuilder/utils/checkForHoldingKey.d.ts +0 -1
  318. package/es/components/ConditionBuilder/utils/checkForHoldingKey.js +0 -16
  319. package/es/global/js/utils/window.d.ts +0 -2
  320. package/es/global/js/utils/window.js +0 -12
  321. package/lib/components/ConditionBuilder/utils/checkForHoldingKey.d.ts +0 -1
  322. package/lib/components/ConditionBuilder/utils/checkForHoldingKey.js +0 -20
  323. package/lib/global/js/utils/window.d.ts +0 -2
  324. package/lib/global/js/utils/window.js +0 -16
@@ -6,20 +6,19 @@
6
6
  */
7
7
 
8
8
  import { slicedToArray as _slicedToArray, defineProperty as _defineProperty, objectSpread2 as _objectSpread2, toConsumableArray as _toConsumableArray } from '../../../_virtual/_rollupPluginBabelHelpers.js';
9
- import React__default, { useContext, useState, Fragment } from 'react';
9
+ import React__default, { useContext, useState, useRef, Fragment } from 'react';
10
10
  import ConditionBlock from '../ConditionBlock/ConditionBlock.js';
11
11
  import PropTypes from '../../../node_modules/prop-types/index.js';
12
12
  import cx from 'classnames';
13
- import { blockClass, translateWithId, statementConfig } from '../ConditionBuilderContext/DataConfigs.js';
13
+ import { blockClass, statementConfig } from '../ConditionBuilderContext/DataConfigs.js';
14
14
  import { ConditionBuilderItem } from '../ConditionBuilderItem/ConditionBuilderItem.js';
15
- import { ConditionBuilderItemOption } from '../ConditionBuilderItem/ConditionBuilderItemOption/ConditionBuilderItemOption.js';
16
- import { focusThisField } from '../utils/util.js';
15
+ import { focusThisField, manageTabIndexAndFocus } from '../utils/util.js';
17
16
  import ConditionConnector from '../ConditionBuilderConnector/ConditionConnector.js';
18
17
  import { ConditionBuilderContext } from '../ConditionBuilderContext/ConditionBuilderProvider.js';
19
18
  import uuidv4 from '../../../global/js/utils/uuidv4.js';
20
19
  import ConditionPreview from '../ConditionPreview/ConditionPreview.js';
21
-
22
- var _ConditionPreview, _ConditionPreview2;
20
+ import { ItemOption } from '../ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js';
21
+ import { useTranslations } from '../utils/useTranslations.js';
23
22
 
24
23
  /**
25
24
  *
@@ -29,14 +28,20 @@ var _ConditionPreview, _ConditionPreview2;
29
28
  */
30
29
 
31
30
  var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
31
+ var _ConditionPreview, _ConditionPreview2;
32
32
  var group = _ref.group,
33
33
  aria = _ref.aria,
34
34
  onRemove = _ref.onRemove,
35
35
  onChange = _ref.onChange,
36
- conditionBuilderRef = _ref.conditionBuilderRef,
37
36
  className = _ref.className;
37
+ var _useTranslations = useTranslations(['conditionBuilderGroupText', 'conditionText', 'conditionBuilderText']),
38
+ _useTranslations2 = _slicedToArray(_useTranslations, 3),
39
+ conditionBuilderGroupText = _useTranslations2[0],
40
+ conditionText = _useTranslations2[1],
41
+ conditionBuilderText = _useTranslations2[2];
38
42
  var _useContext = useContext(ConditionBuilderContext),
39
- variant = _useContext.variant;
43
+ variant = _useContext.variant,
44
+ conditionBuilderRef = _useContext.conditionBuilderRef;
40
45
  var _useState = useState(-1),
41
46
  _useState2 = _slicedToArray(_useState, 2),
42
47
  showConditionPreview = _useState2[0],
@@ -45,14 +50,46 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
45
50
  _useState4 = _slicedToArray(_useState3, 2),
46
51
  showConditionSubGroupPreview = _useState4[0],
47
52
  setShowConditionSubGroupPreview = _useState4[1];
48
- var onRemoveHandler = function onRemoveHandler(conditionId, evt) {
53
+ var conditionBuilderContentRef = useRef();
54
+ var onRemoveHandler = function onRemoveHandler(conditionId, evt, conditionIndex) {
49
55
  if (group.conditions.length > 1) {
50
- onChange(_objectSpread2(_objectSpread2({}, group), {}, {
51
- conditions: group.conditions.filter(function (condition) {
52
- return conditionId !== condition.id;
53
- })
54
- }));
55
- handleFocusOnClose(evt);
56
+ variant == 'tree' ? handleFocusOnCloseTree(evt) : handleFocusOnClose(evt, conditionIndex);
57
+ if (group.conditions[1].conditions && group.conditions[1].id !== conditionId) {
58
+ //when we remove every plain conditions of a group without deleting the subgroup, we need to restructure the group
59
+ //the inner group become outer group and same level subgroups become plain conditions
60
+
61
+ //ensure we are deleting last condition , not the subgroup
62
+
63
+ //spreading out the condition inside the subgroup
64
+ var allConditions = group.conditions.reduce(function (acc, item) {
65
+ if (item.conditions) {
66
+ return acc.concat(item.conditions);
67
+ }
68
+ return acc;
69
+ }, []);
70
+
71
+ //we always have conditions first and then subgroups, so ordering accordingly
72
+ var groupedItems = {
73
+ groups: [],
74
+ conditions: []
75
+ };
76
+ allConditions.forEach(function (item) {
77
+ if (item.conditions) {
78
+ groupedItems.groups.push(item);
79
+ } else {
80
+ groupedItems.conditions.push(item);
81
+ }
82
+ });
83
+ onChange(_objectSpread2(_objectSpread2({}, group), {}, {
84
+ conditions: [].concat(_toConsumableArray(groupedItems.conditions), _toConsumableArray(groupedItems.groups))
85
+ }));
86
+ } else {
87
+ onChange(_objectSpread2(_objectSpread2({}, group), {}, {
88
+ conditions: group.conditions.filter(function (condition) {
89
+ return conditionId !== condition.id;
90
+ })
91
+ }));
92
+ }
56
93
  } else {
57
94
  onRemove(evt);
58
95
  }
@@ -75,17 +112,59 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
75
112
  conditions: [].concat(_toConsumableArray(group.conditions.slice(0, conditionIndex + 1)), [newCondition], _toConsumableArray(group.conditions.slice(conditionIndex + 1)))
76
113
  }));
77
114
  };
78
- var handleFocusOnClose = function handleFocusOnClose(e) {
79
- var _e$currentTarget;
80
- var previousClose = (_e$currentTarget = e.currentTarget) === null || _e$currentTarget === void 0 || (_e$currentTarget = _e$currentTarget.closest('[role="row"]')) === null || _e$currentTarget === void 0 || (_e$currentTarget = _e$currentTarget.previousSibling) === null || _e$currentTarget === void 0 ? void 0 : _e$currentTarget.querySelector('[data-name="closeCondition"]');
81
- if (previousClose) {
82
- previousClose.focus();
115
+ var handleFocusOnClose = function handleFocusOnClose(e, conditionIndex) {
116
+ var _e$currentTarget$clos;
117
+ //get all close buttons.
118
+ //if the last condition is closing, focus the second last one.
119
+ //or focus the next one.
120
+ var currentGroupCloseButtons = (_e$currentTarget$clos = e.currentTarget.closest(".".concat(blockClass, "__group"))) === null || _e$currentTarget$clos === void 0 ? void 0 : _e$currentTarget$clos.querySelectorAll('[data-name="closeCondition"]');
121
+ if (conditionIndex == currentGroupCloseButtons.length - 1) {
122
+ manageTabIndexAndFocus(currentGroupCloseButtons[conditionIndex - 1], conditionBuilderRef);
123
+ } else {
124
+ manageTabIndexAndFocus(currentGroupCloseButtons[conditionIndex + 1], conditionBuilderRef);
125
+ }
126
+ };
127
+ var handleFocusOnCloseTree = function handleFocusOnCloseTree(evt) {
128
+ var _evt$currentTarget, _evt$currentTarget2, _conditionBuilderCont, _conditionBuilderCont2;
129
+ //getting the current aria-level and aria-posinset.
130
+ var currentLevel = (_evt$currentTarget = evt.currentTarget) === null || _evt$currentTarget === void 0 || (_evt$currentTarget = _evt$currentTarget.closest('[role="row"]')) === null || _evt$currentTarget === void 0 ? void 0 : _evt$currentTarget.getAttribute('aria-level');
131
+ var currentPos = (_evt$currentTarget2 = evt.currentTarget) === null || _evt$currentTarget2 === void 0 || (_evt$currentTarget2 = _evt$currentTarget2.closest('[role="row"]')) === null || _evt$currentTarget2 === void 0 ? void 0 : _evt$currentTarget2.getAttribute('aria-posinset');
132
+
133
+ //finding the next and previous items in same level
134
+ var nextElement = (_conditionBuilderCont = conditionBuilderContentRef.current) === null || _conditionBuilderCont === void 0 ? void 0 : _conditionBuilderCont.querySelector("[aria-level=\"".concat(currentLevel, "\"][aria-posinset=\"").concat(Number(currentPos) + 1, "\"]"));
135
+ var prevElement = (_conditionBuilderCont2 = conditionBuilderContentRef.current) === null || _conditionBuilderCont2 === void 0 ? void 0 : _conditionBuilderCont2.querySelector("[aria-level=\"".concat(currentLevel, "\"][aria-posinset=\"").concat(Number(currentPos) - 1, "\"]"));
136
+ //checking if next level is a valid condition. If then, focus the close button inside that condition
137
+ //Otherwise , check the previous item is a valid condition
138
+
139
+ if (nextElement !== null && nextElement !== void 0 && nextElement.classList.contains("".concat(blockClass, "__condition-block"))) {
140
+ manageTabIndexAndFocus(nextElement === null || nextElement === void 0 ? void 0 : nextElement.querySelector('[data-name="closeCondition"]'), conditionBuilderRef);
141
+ } else if (prevElement !== null && prevElement !== void 0 && prevElement.classList.contains("".concat(blockClass, "__condition-block"))) {
142
+ manageTabIndexAndFocus(prevElement === null || prevElement === void 0 ? void 0 : prevElement.querySelector('[data-name="closeCondition"]'), conditionBuilderRef);
143
+ }
144
+ //If there are no valid condition in this group, focus next or previous row
145
+ else {
146
+ var _conditionBuilderCont3, _conditionBuilderCont4;
147
+ var prevRows = (_conditionBuilderCont3 = conditionBuilderContentRef.current) === null || _conditionBuilderCont3 === void 0 ? void 0 : _conditionBuilderCont3.querySelectorAll("[aria-level=\"".concat(Number(currentLevel) - 1, "\"][role=\"row\"]"));
148
+ var nextRow = (_conditionBuilderCont4 = conditionBuilderContentRef.current) === null || _conditionBuilderCont4 === void 0 ? void 0 : _conditionBuilderCont4.querySelector("[aria-level=\"".concat(Number(currentLevel) + 1, "\"][role=\"row\"]"));
149
+ if (nextRow) {
150
+ //since there are no condition in current group, this group will move one level up
151
+
152
+ var rowIdentity = {
153
+ ariaLevel: Number(nextRow.ariaLevel) - 1,
154
+ ariaPosInSet: nextRow.ariaPosInSet
155
+ };
156
+ setTimeout(function () {
157
+ var currentRowToFocus = conditionBuilderContentRef.current.querySelector("[role=\"row\"][aria-level=\"".concat(rowIdentity.ariaLevel, "\"][aria-posinset=\"").concat(rowIdentity.ariaPosInSet, "\"]"));
158
+ manageTabIndexAndFocus(currentRowToFocus, conditionBuilderRef);
159
+ }, 0);
160
+ } else if ((prevRows === null || prevRows === void 0 ? void 0 : prevRows.length) > 1) {
161
+ manageTabIndexAndFocus(prevRows[prevRows.length - 2], conditionBuilderRef);
162
+ }
83
163
  }
84
164
  };
85
165
  var addConditionSubGroupHandler = function addConditionSubGroupHandler(conditionIndex) {
86
166
  onChange(_objectSpread2(_objectSpread2({}, group), {}, {
87
167
  conditions: [].concat(_toConsumableArray(group.conditions.slice(0, conditionIndex + 1)), [{
88
- groupSeparateOperator: null,
89
168
  groupOperator: 'and',
90
169
  statement: 'if',
91
170
  conditions: [{
@@ -115,7 +194,12 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
115
194
  setShowConditionPreview(-1);
116
195
  };
117
196
  var onStatementChangeHandler = function onStatementChangeHandler(updatedStatement) {
197
+ var _statementConfig$find;
198
+ var groupOperator = (_statementConfig$find = statementConfig.find(function (statement) {
199
+ return statement.id == updatedStatement;
200
+ })) === null || _statementConfig$find === void 0 ? void 0 : _statementConfig$find.connector;
118
201
  onChange(_objectSpread2(_objectSpread2({}, group), {}, {
202
+ groupOperator: groupOperator,
119
203
  statement: updatedStatement
120
204
  }));
121
205
  };
@@ -131,7 +215,7 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
131
215
  }, /*#__PURE__*/React__default.createElement("div", {
132
216
  className: "".concat(blockClass, "__condition-wrapper"),
133
217
  role: "grid",
134
- "aria-label": translateWithId('condition_builder_group')
218
+ "aria-label": conditionBuilderText
135
219
  }, group === null || group === void 0 || (_group$conditions = group.conditions) === null || _group$conditions === void 0 ? void 0 : _group$conditions.map(function (eachCondition, conditionIndex) {
136
220
  return /*#__PURE__*/React__default.createElement("div", {
137
221
  key: eachCondition.id,
@@ -152,7 +236,7 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
152
236
  },
153
237
  addConditionHandler: addConditionHandler,
154
238
  onRemove: function onRemove(e) {
155
- onRemoveHandler(eachCondition.id, e);
239
+ onRemoveHandler(eachCondition.id, e, conditionIndex);
156
240
  },
157
241
  onConnectorOperatorChange: onConnectorOperatorChange,
158
242
  onStatementChange: onStatementChangeHandler,
@@ -165,7 +249,8 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
165
249
  return /*#__PURE__*/React__default.createElement("div", {
166
250
  className: "".concat(className, " ").concat(blockClass, "__condition-wrapper"),
167
251
  role: aria.level === 1 ? 'rowgroup' : undefined,
168
- "aria-label": aria.level == 1 ? translateWithId('condition_builder_group') : undefined
252
+ "aria-label": aria.level == 1 ? conditionBuilderGroupText : undefined,
253
+ ref: conditionBuilderContentRef
169
254
  }, /*#__PURE__*/React__default.createElement("div", {
170
255
  tabIndex: 0,
171
256
  role: "row",
@@ -174,17 +259,17 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
174
259
  "aria-setsize": aria.setsize
175
260
  }, /*#__PURE__*/React__default.createElement(ConditionBuilderItem, {
176
261
  label: group.statement,
177
- title: translateWithId('condition'),
262
+ title: conditionText,
178
263
  "data-name": "connectorField",
179
264
  popOverClassName: "".concat(blockClass, "__gap"),
180
265
  className: "".concat(blockClass, "__statement-button")
181
- }, /*#__PURE__*/React__default.createElement(ConditionBuilderItemOption, {
266
+ }, /*#__PURE__*/React__default.createElement(ItemOption, {
182
267
  conditionState: {
183
268
  value: group.statement,
184
- label: translateWithId('condition')
269
+ label: conditionText
185
270
  },
186
271
  onChange: function onChange(v, evt) {
187
- focusThisField(evt);
272
+ focusThisField(evt, conditionBuilderRef);
188
273
  onStatementChangeHandler(v);
189
274
  },
190
275
  config: {
@@ -196,7 +281,7 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
196
281
  }, eachCondition.conditions ? /*#__PURE__*/React__default.createElement("div", {
197
282
  className: cx("".concat(blockClass, "__condition-block subgroup ").concat(blockClass, "__gap"), _defineProperty({}, "".concat(blockClass, "__gap-bottom"), group.conditions.length < conditionIndex + 1))
198
283
  }, /*#__PURE__*/React__default.createElement(ConditionConnector, {
199
- className: "".concat(blockClass, "__gap ").concat(blockClass, "__groupConnector"),
284
+ className: "".concat(blockClass, "__gap ").concat(blockClass, "__gap-bottom ").concat(blockClass, "__groupConnector"),
200
285
  operator: group.groupOperator,
201
286
  "aria-hidden": true
202
287
  }), /*#__PURE__*/React__default.createElement(ConditionGroupBuilder, {
@@ -212,9 +297,8 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
212
297
  },
213
298
  onRemove: function onRemove(e) {
214
299
  onRemoveHandler(eachCondition.id, e);
215
- },
216
- conditionBuilderRef: conditionBuilderRef
217
- })) : /*#__PURE__*/React__default.createElement(ConditionBlock, {
300
+ }
301
+ })) : /*#__PURE__*/React__default.createElement("div", null, /*#__PURE__*/React__default.createElement(ConditionBlock, {
218
302
  conjunction: conditionIndex > 0 ? group.groupOperator : undefined,
219
303
  aria: {
220
304
  level: aria.level + 1,
@@ -244,10 +328,12 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
244
328
  },
245
329
  hideConditionPreviewHandler: hideConditionPreviewHandler,
246
330
  isLastCondition: isLastCondition
247
- }), conditionIndex == showConditionSubGroupPreview && (_ConditionPreview || (_ConditionPreview = /*#__PURE__*/React__default.createElement(ConditionPreview, {
248
- previewType: "subGroup"
331
+ })), conditionIndex == showConditionSubGroupPreview && (_ConditionPreview || (_ConditionPreview = /*#__PURE__*/React__default.createElement(ConditionPreview, {
332
+ previewType: "subGroup",
333
+ group: group
249
334
  }))), conditionIndex == showConditionPreview && (_ConditionPreview2 || (_ConditionPreview2 = /*#__PURE__*/React__default.createElement(ConditionPreview, {
250
- previewType: "condition"
335
+ previewType: "condition",
336
+ group: group
251
337
  }))));
252
338
  }));
253
339
  };
@@ -266,11 +352,6 @@ ConditionGroupBuilder.propTypes = {
266
352
  * Provide an optional class to be applied to the containing node.
267
353
  */
268
354
  className: PropTypes.string,
269
- /**
270
- className: PropTypes.string,
271
- * ref of condition builder
272
- */
273
- conditionBuilderRef: PropTypes.object,
274
355
  group: PropTypes.object,
275
356
  /**
276
357
  * callback to update the current condition of the state tree
@@ -1,9 +1,11 @@
1
1
  export default ConditionPreview;
2
- declare function ConditionPreview({ previewType }: {
2
+ declare function ConditionPreview({ previewType, group }: {
3
3
  previewType: any;
4
+ group: any;
4
5
  }): import("react/jsx-runtime").JSX.Element;
5
6
  declare namespace ConditionPreview {
6
7
  namespace propTypes {
8
+ let group: PropTypes.Requireable<object>;
7
9
  let previewType: PropTypes.Requireable<string>;
8
10
  }
9
11
  }
@@ -5,61 +5,87 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import React__default from 'react';
8
+ import { slicedToArray as _slicedToArray, defineProperty as _defineProperty } from '../../../_virtual/_rollupPluginBabelHelpers.js';
9
+ import React__default, { useState, useEffect } from 'react';
10
+ import cx from 'classnames';
9
11
  import PropTypes from '../../../node_modules/prop-types/index.js';
10
- import { blockClass, translateWithId } from '../ConditionBuilderContext/DataConfigs.js';
12
+ import { blockClass } from '../ConditionBuilderContext/DataConfigs.js';
11
13
  import { ConditionBuilderItem } from '../ConditionBuilderItem/ConditionBuilderItem.js';
12
14
  import ConditionConnector from '../ConditionBuilderConnector/ConditionConnector.js';
15
+ import { useTranslations } from '../utils/useTranslations.js';
16
+ import { Bee } from '@carbon/react/icons';
13
17
 
14
18
  var ConditionPreview = function ConditionPreview(_ref) {
15
- var previewType = _ref.previewType;
19
+ var _ConditionBuilderItem, _ConditionBuilderItem2, _ConditionBuilderItem3;
20
+ var previewType = _ref.previewType,
21
+ group = _ref.group;
22
+ var _useState = useState(false),
23
+ _useState2 = _slicedToArray(_useState, 2),
24
+ animate = _useState2[0],
25
+ setAnimate = _useState2[1];
26
+ var _useTranslations = useTranslations(['valueText', 'operatorText', 'propertyText', 'ifText']),
27
+ _useTranslations2 = _slicedToArray(_useTranslations, 4),
28
+ propertyText = _useTranslations2[0],
29
+ operatorText = _useTranslations2[1],
30
+ valueText = _useTranslations2[2],
31
+ ifText = _useTranslations2[3];
32
+ useEffect(function () {
33
+ setAnimate(true);
34
+ }, []);
16
35
  var getConditionSection = function getConditionSection() {
17
- return /*#__PURE__*/React__default.createElement("div", null, /*#__PURE__*/React__default.createElement(ConditionBuilderItem, {
18
- label: translateWithId('property')
19
- }), /*#__PURE__*/React__default.createElement(ConditionBuilderItem, {
20
- label: translateWithId('operator')
21
- }), /*#__PURE__*/React__default.createElement(ConditionBuilderItem, {
22
- label: translateWithId('value')
23
- }));
36
+ return /*#__PURE__*/React__default.createElement("div", {
37
+ className: "".concat(blockClass, "__preview-condition")
38
+ }, _ConditionBuilderItem || (_ConditionBuilderItem = /*#__PURE__*/React__default.createElement(ConditionBuilderItem, {
39
+ label: propertyText,
40
+ renderIcon: Bee
41
+ })), _ConditionBuilderItem2 || (_ConditionBuilderItem2 = /*#__PURE__*/React__default.createElement(ConditionBuilderItem, {
42
+ label: operatorText
43
+ })), _ConditionBuilderItem3 || (_ConditionBuilderItem3 = /*#__PURE__*/React__default.createElement(ConditionBuilderItem, {
44
+ label: valueText
45
+ })));
24
46
  };
25
47
  return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, previewType == 'newGroup' && /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
26
- className: "".concat(blockClass, "__group__row ").concat(blockClass, "__group-preview ")
48
+ className: cx(["".concat(blockClass, "__group__row ").concat(blockClass, "__group-preview "), _defineProperty({}, "".concat(blockClass, "__group-preview-animate"), animate)])
27
49
  }, /*#__PURE__*/React__default.createElement(ConditionBuilderItem, {
28
50
  className: "".concat(blockClass, "__statement-button"),
29
- label: translateWithId('and')
51
+ label: group.groupOperator
30
52
  })), /*#__PURE__*/React__default.createElement("div", {
31
53
  "aria-hidden": true,
32
- className: "".concat(blockClass, "__group ").concat(blockClass, "__condition-wrapper ").concat(blockClass, "__group-preview ").concat(blockClass, "__group-wrapper")
54
+ className: cx(["".concat(blockClass, "__group ").concat(blockClass, "__condition-wrapper ").concat(blockClass, "__group-preview ").concat(blockClass, "__group-wrapper "), _defineProperty({}, "".concat(blockClass, "__group-preview-animate"), animate)])
33
55
  }, /*#__PURE__*/React__default.createElement("div", {
34
56
  className: "".concat(blockClass, "__gap")
35
57
  }, /*#__PURE__*/React__default.createElement(ConditionBuilderItem, {
36
58
  className: "".concat(blockClass, "__statement-button"),
37
- label: translateWithId('if')
59
+ label: ifText
38
60
  })), getConditionSection())), previewType == 'subGroup' && /*#__PURE__*/React__default.createElement("div", {
39
- className: "".concat(blockClass, "__group-preview")
61
+ className: cx(["".concat(blockClass, "__group__row ").concat(blockClass, "__group-preview "), _defineProperty({}, "".concat(blockClass, "__group-preview-animate"), animate)])
40
62
  }, /*#__PURE__*/React__default.createElement("div", {
41
63
  className: "".concat(blockClass, "__condition-block ").concat(blockClass, "__gap")
42
64
  }, /*#__PURE__*/React__default.createElement(ConditionBuilderItem, {
43
- label: translateWithId('and'),
65
+ label: group.groupOperator,
44
66
  className: "".concat(blockClass, "__statement-button"),
45
67
  popOverClassName: "".concat(blockClass, "__gap")
46
68
  }), /*#__PURE__*/React__default.createElement("div", {
47
69
  className: "".concat(blockClass, "__group ").concat(blockClass, "__condition-wrapper")
48
70
  }, /*#__PURE__*/React__default.createElement(ConditionConnector, {
49
71
  className: "".concat(blockClass, "__gap ").concat(blockClass, "__groupConnector"),
50
- operator: translateWithId('if')
72
+ operator: ifText
51
73
  }), getConditionSection()))), previewType == 'condition' && /*#__PURE__*/React__default.createElement("div", {
52
- className: "".concat(blockClass, "__group-preview")
74
+ className: cx(["".concat(blockClass, "__group__row ").concat(blockClass, "__group-preview "), _defineProperty({}, "".concat(blockClass, "__group-preview-animate"), animate)])
53
75
  }, /*#__PURE__*/React__default.createElement("div", {
54
76
  className: "".concat(blockClass, "__condition-block ").concat(blockClass, "__gap")
55
77
  }, /*#__PURE__*/React__default.createElement(ConditionBuilderItem, {
56
- label: translateWithId('and'),
78
+ label: group.groupOperator,
57
79
  className: "".concat(blockClass, "__statement-button"),
58
80
  popOverClassName: "".concat(blockClass, "__gap")
59
81
  }), getConditionSection())));
60
82
  };
61
83
  var ConditionPreview$1 = ConditionPreview;
62
84
  ConditionPreview.propTypes = {
85
+ /**
86
+ * current conditional group
87
+ */
88
+ group: PropTypes.object,
63
89
  /**
64
90
  * type of review to be displayed
65
91
  */
@@ -1 +1,2 @@
1
- export function handleKeyDown(evt: any, conditionBuilderRef: any): void;
1
+ export function handleKeyDown(evt: any, conditionBuilderRef: any, variant: any): void;
2
+ export function handleKeyDownForPopover(evt: any, conditionBuilderRef: any, popoverRef: any): void;
@@ -7,18 +7,27 @@
7
7
 
8
8
  import { toConsumableArray as _toConsumableArray } from '../../../_virtual/_rollupPluginBabelHelpers.js';
9
9
  import { blockClass } from '../ConditionBuilderContext/DataConfigs.js';
10
- import { checkForHoldingKey } from './checkForHoldingKey.js';
11
- import { focusThisField, traverseReverse, traverseClockVise } from './util.js';
10
+ import { focusThisItem, manageTabIndexAndFocus, traverseClockVise, traverseReverse, checkForHoldingKey, focusThisField } from './util.js';
12
11
 
13
- var handleKeyDown = function handleKeyDown(evt, conditionBuilderRef) {
12
+ var handleKeyDown = function handleKeyDown(evt, conditionBuilderRef, variant) {
13
+ var _activeElement$closes;
14
14
  var activeElement = document.activeElement;
15
- if (activeElement.closest("[role=\"dialog\"]")) {
16
- handleKeyPressForPopover(evt, activeElement.closest("[role=\"dialog\"]"));
17
- } else {
18
- handleKeyPressForMainContent(evt, conditionBuilderRef);
15
+ if (!((_activeElement$closes = activeElement.closest(".".concat(blockClass, "__popover"))) !== null && _activeElement$closes !== void 0 && _activeElement$closes.querySelector('[role="dialog"]'))) {
16
+ handleKeyPressForMainContent(evt, conditionBuilderRef, variant);
17
+ }
18
+ };
19
+ var handleKeyDownForPopover = function handleKeyDownForPopover(evt, conditionBuilderRef, popoverRef) {
20
+ if (excludeKeyPress(evt)) {
21
+ return;
19
22
  }
23
+ handleKeyPressForPopover(evt, popoverRef === null || popoverRef === void 0 ? void 0 : popoverRef.current, conditionBuilderRef);
20
24
  };
21
- var handleKeyPressForPopover = function handleKeyPressForPopover(evt, parentContainer) {
25
+
26
+ //skipping keyboard handling for date and time fields to get take carbon's
27
+ var excludeKeyPress = function excludeKeyPress(evt) {
28
+ return !['Escape'].includes(evt.key) && (evt.target.closest(".".concat(blockClass, "__item-date")) || evt.target.closest(".".concat(blockClass, "__item-time")));
29
+ };
30
+ var handleKeyPressForPopover = function handleKeyPressForPopover(evt, parentContainer, conditionBuilderRef) {
22
31
  var _parentContainer$quer;
23
32
  var key = evt.key;
24
33
  var isHoldingShiftKey = checkForHoldingKey(evt, 'shiftKey');
@@ -28,22 +37,22 @@ var handleKeyPressForPopover = function handleKeyPressForPopover(evt, parentCont
28
37
  case 'ArrowUp':
29
38
  //traverse through the popover options, search box, selectAll button
30
39
  parentContainer.querySelectorAll("[role=\"option\"]").forEach(function (eachElem, index, allElements) {
31
- traverseReverse(eachElem, index, allElements);
40
+ traverseReverse(eachElem, index, allElements, null, null, conditionBuilderRef);
32
41
  });
33
42
  break;
34
43
  case 'ArrowDown':
35
44
  //traverse through the popover options, search box, selectAll button
36
45
  parentContainer.querySelectorAll("[role=\"option\"]").forEach(function (eachElem, index, allElements) {
37
- traverseClockVise(eachElem, index, allElements);
46
+ traverseClockVise(eachElem, index, allElements, null, null, conditionBuilderRef);
38
47
  });
39
48
  break;
40
49
  case 'Tab':
41
50
  allItems = [].concat(_toConsumableArray(Array.from(parentContainer.querySelectorAll(".".concat(blockClass, "__selectAll-button,[role=\"searchbox\"]")))), [parentContainer.querySelector("[role=\"option\"]")]);
42
51
  allItems.forEach(function (eachElem, index, allElements) {
43
52
  if (isHoldingShiftKey) {
44
- traverseReverse(eachElem, index, allElements, true, true);
53
+ traverseReverse(eachElem, index, allElements, true, true, conditionBuilderRef);
45
54
  } else {
46
- traverseClockVise(eachElem, index, allElements, true, true);
55
+ traverseClockVise(eachElem, index, allElements, true, true, conditionBuilderRef);
47
56
  }
48
57
  });
49
58
  evt.preventDefault();
@@ -63,19 +72,88 @@ var handleKeyPressForPopover = function handleKeyPressForPopover(evt, parentCont
63
72
  if (document.activeElement.type !== 'button') {
64
73
  var _document$activeEleme2;
65
74
  //for button , enter key is click which already handled by framework, else trigger click
75
+ focusThisField(evt, conditionBuilderRef);
66
76
  (_document$activeEleme2 = document.activeElement) === null || _document$activeEleme2 === void 0 || _document$activeEleme2.click();
67
- focusThisField(evt);
68
77
  }
69
78
  }
70
79
  break;
71
80
  case 'Escape':
72
- //focus the corresponding field in which the popover is triggered
73
- focusThisField(evt);
81
+ //focus the corresponding field in which the popover is triggered\
82
+ focusThisField(evt, conditionBuilderRef);
83
+ break;
84
+ }
85
+ };
86
+ var handleKeyPressForMainContent = function handleKeyPressForMainContent(evt, conditionBuilderRef, variant) {
87
+ var _document$activeEleme3;
88
+ switch (evt.key) {
89
+ case 'ArrowRight':
90
+ evt.preventDefault();
91
+ if (variant == 'tree') {
92
+ var _evt$target$closest;
93
+ var allCellsInRow = Array.from((_evt$target$closest = evt.target.closest('[role="row"]')) === null || _evt$target$closest === void 0 ? void 0 : _evt$target$closest.querySelectorAll('[role="gridcell"] button'));
94
+ if (allCellsInRow.length === 1) {
95
+ evt.target = evt.target.closest('[role="row"]');
96
+ handleRowNavigationTree(evt, conditionBuilderRef, variant);
97
+ //focus next row
98
+ } else if (evt.target.getAttribute('role') == 'row') {
99
+ //when current focus is on a row, then we need to enter inside and focus the first cell of that row
100
+
101
+ //focus first cell
102
+ manageTabIndexAndFocus(allCellsInRow[0], conditionBuilderRef);
103
+ } else {
104
+ //finding the next cell to be focussed
105
+ //next cell = current cell index + 1
106
+
107
+ var currentItemIndex = allCellsInRow.indexOf(evt.target);
108
+ if (currentItemIndex < allCellsInRow.length - 1) {
109
+ focusThisItem(allCellsInRow[currentItemIndex + 1], conditionBuilderRef);
110
+ }
111
+ }
112
+ } else {
113
+ handleCellNavigation(evt, conditionBuilderRef);
114
+ }
115
+ break;
116
+ case 'ArrowLeft':
117
+ evt.preventDefault();
118
+ if (variant == 'tree') {
119
+ if (evt.target.getAttribute('role') !== 'row') {
120
+ var _evt$target$closest2;
121
+ //when any cell is focussed, arrow left will select the previous cell or current row
122
+
123
+ var _allCellsInRow = Array.from((_evt$target$closest2 = evt.target.closest('[role="row"]')) === null || _evt$target$closest2 === void 0 ? void 0 : _evt$target$closest2.querySelectorAll('[role="gridcell"] button'));
124
+ var _currentItemIndex = _allCellsInRow.indexOf(evt.target);
125
+ if (_currentItemIndex > 0) {
126
+ focusThisItem(_allCellsInRow[_currentItemIndex - 1], conditionBuilderRef);
127
+ } else {
128
+ //focus the row
129
+ var wrapper = evt.target.closest("[role=\"row\"]");
130
+ manageTabIndexAndFocus(wrapper, conditionBuilderRef);
131
+ }
132
+ }
133
+ } else {
134
+ handleCellNavigation(evt, conditionBuilderRef);
135
+ }
136
+ break;
137
+ case 'ArrowUp':
138
+ case 'ArrowDown':
139
+ evt.preventDefault();
140
+ if (variant == 'tree') {
141
+ handleRowNavigationTree(evt, conditionBuilderRef, variant);
142
+ } else {
143
+ handleRowNavigation(evt, conditionBuilderRef, variant);
144
+ }
145
+ break;
146
+ case 'Enter':
147
+ if (((_document$activeEleme3 = document.activeElement) === null || _document$activeEleme3 === void 0 || (_document$activeEleme3 = _document$activeEleme3.querySelectorAll("button")) === null || _document$activeEleme3 === void 0 ? void 0 : _document$activeEleme3.length) === 1) {
148
+ var _document$activeEleme4;
149
+ (_document$activeEleme4 = document.activeElement) === null || _document$activeEleme4 === void 0 || (_document$activeEleme4 = _document$activeEleme4.querySelectorAll("button")[0]) === null || _document$activeEleme4 === void 0 || _document$activeEleme4.click();
150
+ }
74
151
  break;
75
152
  }
76
153
  };
77
154
  var getRows = function getRows(conditionBuilderRef) {
78
- return Array.from(conditionBuilderRef.current.querySelectorAll('[role="row"]'));
155
+ var _conditionBuilderRef$;
156
+ return Array.from((_conditionBuilderRef$ = conditionBuilderRef.current) === null || _conditionBuilderRef$ === void 0 ? void 0 : _conditionBuilderRef$.querySelectorAll('[role="row"]'));
79
157
  };
80
158
  var getRowIndex = function getRowIndex(element, conditionBuilderRef) {
81
159
  var rows = getRows(conditionBuilderRef);
@@ -83,14 +161,37 @@ var getRowIndex = function getRowIndex(element, conditionBuilderRef) {
83
161
  return row.contains(element);
84
162
  });
85
163
  };
86
- var handleRowNavigation = function handleRowNavigation(evt, conditionBuilderRef) {
164
+ var handleRowNavigation = function handleRowNavigation(evt, conditionBuilderRef, variant) {
87
165
  var rows = getRows(conditionBuilderRef);
88
166
  var currentRowIndex = getRowIndex(evt.target, conditionBuilderRef);
89
- navigateToNextRowCell(evt, currentRowIndex, rows);
167
+ navigateToNextRowCell(evt, currentRowIndex, rows, variant, conditionBuilderRef);
90
168
  };
91
- var navigateToNextRowCell = function navigateToNextRowCell(evt, currentRowIndex, rows) {
92
- var _nextRow$querySelecto;
93
- //when the focussed element is a cell of the row which has only 1 cell (connector or statement) , focus the next row
169
+ var handleRowNavigationTree = function handleRowNavigationTree(evt, conditionBuilderRef, variant) {
170
+ var rows = getRows(conditionBuilderRef);
171
+ var currentRowIndex = getRowIndex(evt.target, conditionBuilderRef);
172
+ var nextRowIndex = currentRowIndex;
173
+ if (evt.target.getAttribute('role') == 'row') {
174
+ if (['ArrowDown', 'ArrowRight'].includes(evt.key)) {
175
+ nextRowIndex += 1;
176
+ } else if (evt.key === 'ArrowUp') {
177
+ nextRowIndex -= 1;
178
+ }
179
+
180
+ //maintaining selection for first and last rows
181
+ if (nextRowIndex < 0) {
182
+ nextRowIndex = 0;
183
+ } else if (nextRowIndex >= rows.length) {
184
+ nextRowIndex = rows.length - 1;
185
+ }
186
+ if (nextRowIndex !== currentRowIndex) {
187
+ manageTabIndexAndFocus(rows[nextRowIndex], conditionBuilderRef);
188
+ }
189
+ } else {
190
+ navigateToNextRowCell(evt, currentRowIndex, rows, variant, conditionBuilderRef);
191
+ }
192
+ };
193
+ var navigateToNextRowCell = function navigateToNextRowCell(evt, currentRowIndex, rows, variant, conditionBuilderRef) {
194
+ //when the current focussed element is a cell of any row, arrow up/down will focus the next row same cell.
94
195
 
95
196
  var nextRowIndex = currentRowIndex;
96
197
  if (evt.key === 'ArrowUp') {
@@ -101,25 +202,21 @@ var navigateToNextRowCell = function navigateToNextRowCell(evt, currentRowIndex,
101
202
  }
102
203
  var nextRow = rows[nextRowIndex];
103
204
  var itemName = evt.target.dataset.name;
104
- nextRow === null || nextRow === void 0 || (_nextRow$querySelecto = nextRow.querySelector("[data-name=\"".concat(itemName, "\"]"))) === null || _nextRow$querySelecto === void 0 || _nextRow$querySelecto.focus();
105
- };
106
- var handleKeyPressForMainContent = function handleKeyPressForMainContent(evt, conditionBuilderRef) {
107
- switch (evt.key) {
108
- case 'ArrowRight':
109
- case 'ArrowLeft':
110
- conditionBuilderRef.current.querySelectorAll("[role=\"gridcell\"] button").forEach(function (eachElem, index, allElements) {
111
- if (evt.key === 'ArrowRight') {
112
- traverseClockVise(eachElem, index, allElements);
113
- } else {
114
- traverseReverse(eachElem, index, allElements);
115
- }
116
- });
117
- break;
118
- case 'ArrowUp':
119
- case 'ArrowDown':
120
- handleRowNavigation(evt, conditionBuilderRef);
121
- break;
205
+ if (nextRow !== null && nextRow !== void 0 && nextRow.querySelector("[data-name=\"".concat(itemName, "\"]"))) {
206
+ manageTabIndexAndFocus(nextRow === null || nextRow === void 0 ? void 0 : nextRow.querySelector("[data-name=\"".concat(itemName, "\"]")), conditionBuilderRef);
207
+ } else if (variant === 'tree') {
208
+ //when the next row is a if statement , then that row is focused. From any cell of last row of an group , arrow down select the next row (if)
209
+ manageTabIndexAndFocus(nextRow, conditionBuilderRef);
122
210
  }
123
211
  };
212
+ var handleCellNavigation = function handleCellNavigation(evt, conditionBuilderRef) {
213
+ conditionBuilderRef.current.querySelectorAll("[role=\"gridcell\"] button").forEach(function (eachElem, index, allElements) {
214
+ if (evt.key === 'ArrowRight') {
215
+ traverseClockVise(eachElem, index, allElements, null, null, conditionBuilderRef);
216
+ } else {
217
+ traverseReverse(eachElem, index, allElements, null, null, conditionBuilderRef);
218
+ }
219
+ });
220
+ };
124
221
 
125
- export { handleKeyDown };
222
+ export { handleKeyDown, handleKeyDownForPopover };
@@ -0,0 +1 @@
1
+ export function useTranslations(translationKeys: any): any;