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

Sign up to get free protection for your applications and to get access to all the features.
Files changed (369) hide show
  1. package/css/index-full-carbon.css +1780 -443
  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 +219 -9
  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 +1439 -244
  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 +1490 -218
  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/ActionBar.d.ts +58 -2
  18. package/es/components/ActionBar/ActionBar.js +14 -9
  19. package/es/components/ActionBar/ActionBarItem.d.ts +36 -2
  20. package/es/components/ActionBar/ActionBarItem.js +8 -5
  21. package/es/components/ActionBar/ActionBarOverflowItems.d.ts +55 -16
  22. package/es/components/ActionBar/ActionBarOverflowItems.js +8 -4
  23. package/es/components/Card/Card.d.ts +68 -2
  24. package/es/components/Card/Card.js +28 -35
  25. package/es/components/Card/CardFooter.d.ts +51 -48
  26. package/es/components/Card/CardFooter.js +4 -2
  27. package/es/components/Card/CardHeader.d.ts +67 -49
  28. package/es/components/Card/CardHeader.js +4 -2
  29. package/es/components/Coachmark/Coachmark.d.ts +6 -1
  30. package/es/components/Coachmark/Coachmark.js +47 -11
  31. package/es/components/Coachmark/CoachmarkOverlay.js +2 -4
  32. package/es/components/CoachmarkBeacon/CoachmarkBeacon.js +1 -7
  33. package/es/components/CoachmarkFixed/CoachmarkFixed.js +13 -11
  34. package/es/components/CoachmarkStack/CoachmarkStack.js +7 -3
  35. package/es/components/CoachmarkStack/CoachmarkStackHome.js +8 -4
  36. package/es/components/ConditionBuilder/ConditionBlock/ConditionBlock.d.ts +1 -0
  37. package/es/components/ConditionBuilder/ConditionBlock/ConditionBlock.js +90 -56
  38. package/es/components/ConditionBuilder/ConditionBuilder.js +82 -25
  39. package/es/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.d.ts +15 -0
  40. package/es/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.js +154 -0
  41. package/es/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.d.ts +3 -1
  42. package/es/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +29 -13
  43. package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +8 -1
  44. package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +35 -11
  45. package/es/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.js +18 -10
  46. package/es/components/ConditionBuilder/ConditionBuilderConnector/GroupConnector.js +19 -11
  47. package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +9 -13
  48. package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +83 -64
  49. package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts +13 -7
  50. package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +31 -8
  51. package/es/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.d.ts +8 -2
  52. package/es/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.js +35 -24
  53. package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +43 -36
  54. package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +43 -36
  55. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.d.ts +6 -2
  56. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +114 -40
  57. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.d.ts +3 -1
  58. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.js +24 -9
  59. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js +27 -9
  60. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.d.ts +13 -0
  61. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js +114 -0
  62. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.d.ts → ItemOptionForValueField.d.ts} +2 -2
  63. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.js → ItemOptionForValueField.js} +71 -38
  64. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.d.ts +5 -1
  65. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.js +22 -9
  66. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemTime/ConditionBuilderItemTime.js +1 -1
  67. package/es/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.d.ts +1 -3
  68. package/es/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +131 -42
  69. package/es/components/ConditionBuilder/ConditionPreview/ConditionPreview.d.ts +5 -1
  70. package/es/components/ConditionBuilder/ConditionPreview/ConditionPreview.js +51 -19
  71. package/es/components/ConditionBuilder/utils/handleKeyboardEvents.d.ts +2 -1
  72. package/es/components/ConditionBuilder/utils/handleKeyboardEvents.js +152 -42
  73. package/es/components/ConditionBuilder/utils/useTranslations.d.ts +1 -0
  74. package/es/components/ConditionBuilder/utils/useTranslations.js +26 -0
  75. package/es/components/ConditionBuilder/utils/util.d.ts +6 -4
  76. package/es/components/ConditionBuilder/utils/util.js +42 -17
  77. package/es/components/CreateFullPage/CreateFullPage.js +2 -2
  78. package/es/components/DataSpreadsheet/DataSpreadsheet.d.ts +26 -0
  79. package/es/components/DataSpreadsheet/DataSpreadsheet.js +129 -53
  80. package/es/components/DataSpreadsheet/DataSpreadsheetBody.d.ts +16 -0
  81. package/es/components/DataSpreadsheet/DataSpreadsheetBody.js +32 -7
  82. package/es/components/DataSpreadsheet/DataSpreadsheetHeader.d.ts +8 -0
  83. package/es/components/DataSpreadsheet/DataSpreadsheetHeader.js +16 -3
  84. package/es/components/DataSpreadsheet/types/index.d.ts +1 -0
  85. package/es/components/Datagrid/Datagrid/Datagrid.d.ts +0 -4
  86. package/es/components/Datagrid/Datagrid/Datagrid.js +4 -9
  87. package/es/components/Datagrid/Datagrid/DatagridContent.js +4 -3
  88. package/es/components/Datagrid/Datagrid/DatagridHeaderRow.js +23 -8
  89. package/es/components/Datagrid/Datagrid/DatagridRow.js +21 -8
  90. package/es/components/Datagrid/Datagrid/DatagridSelectAll.js +6 -6
  91. package/es/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +3 -2
  92. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +34 -10
  93. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +6 -1
  94. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +6 -1
  95. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.d.ts +6 -3
  96. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +20 -12
  97. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.d.ts +1 -1
  98. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +54 -17
  99. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +2 -3
  100. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +75 -12
  101. package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +10 -2
  102. package/es/components/Datagrid/types/index.d.ts +57 -9
  103. package/es/components/Datagrid/useActionsColumn.d.ts +8 -1
  104. package/es/components/Datagrid/useActionsColumn.js +7 -6
  105. package/es/components/Datagrid/useColumnRightAlign.d.ts +8 -1
  106. package/es/components/Datagrid/useColumnRightAlign.js +4 -3
  107. package/es/components/Datagrid/useCustomizeColumns.d.ts +8 -1
  108. package/es/components/Datagrid/useCustomizeColumns.js +4 -3
  109. package/es/components/Datagrid/useDefaultStringRenderer.js +0 -1
  110. package/es/components/Datagrid/useDisableSelectRows.d.ts +2 -1
  111. package/es/components/Datagrid/useDisableSelectRows.js +27 -22
  112. package/es/components/Datagrid/useInlineEdit.js +12 -2
  113. package/es/components/Datagrid/useNestedRowExpander.js +1 -3
  114. package/es/components/Datagrid/useNestedRows.js +32 -13
  115. package/es/components/Datagrid/useRowExpander.js +1 -3
  116. package/es/components/Datagrid/useSelectRows.js +2 -1
  117. package/es/components/Datagrid/useStickyColumn.d.ts +8 -1
  118. package/es/components/Datagrid/useStickyColumn.js +12 -9
  119. package/es/components/EditInPlace/EditInPlace.d.ts +4 -0
  120. package/es/components/EditInPlace/EditInPlace.js +21 -10
  121. package/es/components/EditTearsheet/EditTearsheet.d.ts +7 -2
  122. package/es/components/EditTearsheet/EditTearsheet.js +44 -10
  123. package/es/components/EditTearsheet/EditTearsheetForm.d.ts +45 -2
  124. package/es/components/EditTearsheet/EditTearsheetForm.js +3 -0
  125. package/es/components/EmptyStates/EmptyState.d.ts +72 -5
  126. package/es/components/EmptyStates/EmptyState.js +8 -5
  127. package/es/components/EmptyStates/EmptyStateV2.d.ts +63 -2
  128. package/es/components/EmptyStates/EmptyStateV2.js +3 -2
  129. package/es/components/FullPageError/FullPageError.d.ts +36 -2
  130. package/es/components/FullPageError/FullPageError.js +0 -3
  131. package/es/components/GetStartedCard/GetStartedCard.d.ts +60 -2
  132. package/es/components/GetStartedCard/GetStartedCard.js +11 -10
  133. package/es/components/HTTPErrors/HTTPError403/HTTPError403.js +6 -0
  134. package/es/components/HTTPErrors/HTTPError404/HTTPError404.js +6 -0
  135. package/es/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +6 -0
  136. package/es/components/HTTPErrors/assets/HTTPErrorSvg403.js +204 -200
  137. package/es/components/HTTPErrors/assets/HTTPErrorSvg404.js +116 -112
  138. package/es/components/HTTPErrors/assets/HTTPErrorSvgOther.js +110 -106
  139. package/es/components/Nav/NavItem.js +12 -3
  140. package/es/components/OptionsTile/OptionsTile.js +11 -6
  141. package/es/components/PageHeader/PageHeader.js +1 -0
  142. package/es/components/PageHeader/PageHeaderUtils.js +1 -1
  143. package/es/components/RemoveModal/RemoveModal.d.ts +4 -0
  144. package/es/components/RemoveModal/RemoveModal.js +7 -1
  145. package/es/components/SearchBar/SearchBar.d.ts +1 -1
  146. package/es/components/SearchBar/SearchBar.js +2 -2
  147. package/es/components/SidePanel/SidePanel.js +17 -21
  148. package/es/components/SidePanel/motion/variants.d.ts +4 -6
  149. package/es/components/SidePanel/motion/variants.js +10 -11
  150. package/es/components/StatusIndicator/StatusIndicatorStep.js +87 -0
  151. package/es/components/StringFormatter/StringFormatter.js +14 -3
  152. package/es/components/StringFormatter/utils/enums.d.ts +20 -1
  153. package/es/components/StringFormatter/utils/enums.js +22 -2
  154. package/es/components/TagOverflow/TagOverflow.d.ts +35 -4
  155. package/es/components/TagOverflow/TagOverflow.js +47 -64
  156. package/es/components/TagOverflow/TagOverflowModal.js +4 -6
  157. package/es/components/TagOverflow/TagOverflowPopover.d.ts +13 -1
  158. package/es/components/TagOverflow/TagOverflowPopover.js +38 -41
  159. package/es/components/Tearsheet/Tearsheet.d.ts +8 -1
  160. package/es/components/Tearsheet/Tearsheet.js +9 -1
  161. package/es/components/Tearsheet/TearsheetNarrow.d.ts +11 -0
  162. package/es/components/Tearsheet/TearsheetNarrow.js +12 -0
  163. package/es/components/Tearsheet/TearsheetShell.d.ts +11 -1
  164. package/es/components/Tearsheet/TearsheetShell.js +28 -7
  165. package/es/components/Toolbar/ToolbarButton.js +1 -1
  166. package/es/components/UserAvatar/UserAvatar.d.ts +59 -1
  167. package/es/components/UserAvatar/UserAvatar.js +7 -23
  168. package/es/components/WebTerminal/WebTerminal.js +10 -12
  169. package/es/components/index.d.ts +1 -1
  170. package/es/global/js/hooks/useFocus.d.ts +1 -0
  171. package/es/global/js/hooks/useFocus.js +5 -2
  172. package/es/global/js/hooks/usePrefersReducedMotion.js +14 -8
  173. package/es/global/js/package-settings.d.ts +1 -1
  174. package/es/global/js/package-settings.js +1 -1
  175. package/es/index.js +1 -0
  176. package/es/node_modules/@carbon/icon-helpers/es/index.js +49 -62
  177. package/es/node_modules/@carbon/icons-react/es/generated/bucket-2.js +1020 -1058
  178. package/es/node_modules/@carbon/icons-react/es/generated/bucket-9.js +881 -758
  179. package/es/settings.d.ts +1 -1
  180. package/lib/components/ActionBar/ActionBar.d.ts +58 -2
  181. package/lib/components/ActionBar/ActionBar.js +14 -9
  182. package/lib/components/ActionBar/ActionBarItem.d.ts +36 -2
  183. package/lib/components/ActionBar/ActionBarItem.js +7 -4
  184. package/lib/components/ActionBar/ActionBarOverflowItems.d.ts +55 -16
  185. package/lib/components/ActionBar/ActionBarOverflowItems.js +8 -4
  186. package/lib/components/Card/Card.d.ts +68 -2
  187. package/lib/components/Card/Card.js +28 -35
  188. package/lib/components/Card/CardFooter.d.ts +51 -48
  189. package/lib/components/Card/CardFooter.js +4 -2
  190. package/lib/components/Card/CardHeader.d.ts +67 -49
  191. package/lib/components/Card/CardHeader.js +4 -2
  192. package/lib/components/Coachmark/Coachmark.d.ts +6 -1
  193. package/lib/components/Coachmark/Coachmark.js +46 -10
  194. package/lib/components/Coachmark/CoachmarkOverlay.js +2 -4
  195. package/lib/components/CoachmarkBeacon/CoachmarkBeacon.js +1 -7
  196. package/lib/components/CoachmarkFixed/CoachmarkFixed.js +13 -11
  197. package/lib/components/CoachmarkStack/CoachmarkStack.js +7 -3
  198. package/lib/components/CoachmarkStack/CoachmarkStackHome.js +8 -4
  199. package/lib/components/ConditionBuilder/ConditionBlock/ConditionBlock.d.ts +1 -0
  200. package/lib/components/ConditionBuilder/ConditionBlock/ConditionBlock.js +87 -53
  201. package/lib/components/ConditionBuilder/ConditionBuilder.js +82 -25
  202. package/lib/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.d.ts +15 -0
  203. package/lib/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.js +163 -0
  204. package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.d.ts +3 -1
  205. package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +28 -11
  206. package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +8 -1
  207. package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +33 -9
  208. package/lib/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.js +16 -8
  209. package/lib/components/ConditionBuilder/ConditionBuilderConnector/GroupConnector.js +18 -10
  210. package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +9 -13
  211. package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +81 -62
  212. package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts +13 -7
  213. package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +31 -8
  214. package/lib/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.d.ts +8 -2
  215. package/lib/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.js +34 -24
  216. package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +43 -36
  217. package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +43 -36
  218. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.d.ts +6 -2
  219. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +112 -38
  220. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.d.ts +3 -1
  221. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.js +24 -9
  222. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js +28 -10
  223. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.d.ts +13 -0
  224. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js +122 -0
  225. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.d.ts → ItemOptionForValueField.d.ts} +2 -2
  226. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.js → ItemOptionForValueField.js} +68 -35
  227. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.d.ts +5 -1
  228. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.js +21 -8
  229. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemTime/ConditionBuilderItemTime.js +1 -1
  230. package/lib/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.d.ts +1 -3
  231. package/lib/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +128 -39
  232. package/lib/components/ConditionBuilder/ConditionPreview/ConditionPreview.d.ts +5 -1
  233. package/lib/components/ConditionBuilder/ConditionPreview/ConditionPreview.js +50 -17
  234. package/lib/components/ConditionBuilder/utils/handleKeyboardEvents.d.ts +2 -1
  235. package/lib/components/ConditionBuilder/utils/handleKeyboardEvents.js +152 -41
  236. package/lib/components/ConditionBuilder/utils/useTranslations.d.ts +1 -0
  237. package/lib/components/ConditionBuilder/utils/useTranslations.js +30 -0
  238. package/lib/components/ConditionBuilder/utils/util.d.ts +6 -4
  239. package/lib/components/ConditionBuilder/utils/util.js +44 -16
  240. package/lib/components/CreateFullPage/CreateFullPage.js +2 -2
  241. package/lib/components/DataSpreadsheet/DataSpreadsheet.d.ts +26 -0
  242. package/lib/components/DataSpreadsheet/DataSpreadsheet.js +129 -53
  243. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.d.ts +16 -0
  244. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +32 -7
  245. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.d.ts +8 -0
  246. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.js +16 -3
  247. package/lib/components/DataSpreadsheet/types/index.d.ts +1 -0
  248. package/lib/components/Datagrid/Datagrid/Datagrid.d.ts +0 -4
  249. package/lib/components/Datagrid/Datagrid/Datagrid.js +4 -9
  250. package/lib/components/Datagrid/Datagrid/DatagridContent.js +4 -3
  251. package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +23 -8
  252. package/lib/components/Datagrid/Datagrid/DatagridRow.js +21 -8
  253. package/lib/components/Datagrid/Datagrid/DatagridSelectAll.js +6 -6
  254. package/lib/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +3 -2
  255. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +34 -10
  256. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +6 -1
  257. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +6 -1
  258. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.d.ts +6 -3
  259. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +20 -12
  260. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.d.ts +1 -1
  261. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +53 -16
  262. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +2 -3
  263. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +74 -11
  264. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +10 -2
  265. package/lib/components/Datagrid/types/index.d.ts +57 -9
  266. package/lib/components/Datagrid/useActionsColumn.d.ts +8 -1
  267. package/lib/components/Datagrid/useActionsColumn.js +7 -6
  268. package/lib/components/Datagrid/useColumnRightAlign.d.ts +8 -1
  269. package/lib/components/Datagrid/useColumnRightAlign.js +4 -3
  270. package/lib/components/Datagrid/useCustomizeColumns.d.ts +8 -1
  271. package/lib/components/Datagrid/useCustomizeColumns.js +4 -3
  272. package/lib/components/Datagrid/useDefaultStringRenderer.js +0 -1
  273. package/lib/components/Datagrid/useDisableSelectRows.d.ts +2 -1
  274. package/lib/components/Datagrid/useDisableSelectRows.js +27 -22
  275. package/lib/components/Datagrid/useInlineEdit.js +12 -2
  276. package/lib/components/Datagrid/useNestedRowExpander.js +1 -3
  277. package/lib/components/Datagrid/useNestedRows.js +32 -13
  278. package/lib/components/Datagrid/useRowExpander.js +1 -3
  279. package/lib/components/Datagrid/useSelectRows.js +2 -1
  280. package/lib/components/Datagrid/useStickyColumn.d.ts +8 -1
  281. package/lib/components/Datagrid/useStickyColumn.js +12 -9
  282. package/lib/components/EditInPlace/EditInPlace.d.ts +4 -0
  283. package/lib/components/EditInPlace/EditInPlace.js +21 -10
  284. package/lib/components/EditTearsheet/EditTearsheet.d.ts +7 -2
  285. package/lib/components/EditTearsheet/EditTearsheet.js +43 -9
  286. package/lib/components/EditTearsheet/EditTearsheetForm.d.ts +45 -2
  287. package/lib/components/EditTearsheet/EditTearsheetForm.js +3 -0
  288. package/lib/components/EmptyStates/EmptyState.d.ts +72 -5
  289. package/lib/components/EmptyStates/EmptyState.js +8 -5
  290. package/lib/components/EmptyStates/EmptyStateV2.d.ts +63 -2
  291. package/lib/components/EmptyStates/EmptyStateV2.js +3 -2
  292. package/lib/components/FullPageError/FullPageError.d.ts +36 -2
  293. package/lib/components/FullPageError/FullPageError.js +0 -3
  294. package/lib/components/GetStartedCard/GetStartedCard.d.ts +60 -2
  295. package/lib/components/GetStartedCard/GetStartedCard.js +10 -9
  296. package/lib/components/HTTPErrors/HTTPError403/HTTPError403.js +6 -0
  297. package/lib/components/HTTPErrors/HTTPError404/HTTPError404.js +6 -0
  298. package/lib/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +6 -0
  299. package/lib/components/HTTPErrors/assets/HTTPErrorSvg403.js +204 -200
  300. package/lib/components/HTTPErrors/assets/HTTPErrorSvg404.js +116 -112
  301. package/lib/components/HTTPErrors/assets/HTTPErrorSvgOther.js +110 -106
  302. package/lib/components/Nav/NavItem.js +10 -1
  303. package/lib/components/OptionsTile/OptionsTile.js +11 -6
  304. package/lib/components/PageHeader/PageHeader.js +1 -0
  305. package/lib/components/PageHeader/PageHeaderUtils.js +1 -1
  306. package/lib/components/RemoveModal/RemoveModal.d.ts +4 -0
  307. package/lib/components/RemoveModal/RemoveModal.js +7 -1
  308. package/lib/components/SearchBar/SearchBar.d.ts +1 -1
  309. package/lib/components/SearchBar/SearchBar.js +2 -2
  310. package/lib/components/SidePanel/SidePanel.js +16 -20
  311. package/lib/components/SidePanel/motion/variants.d.ts +4 -6
  312. package/lib/components/SidePanel/motion/variants.js +10 -11
  313. package/lib/components/StatusIndicator/StatusIndicatorStep.js +94 -0
  314. package/lib/components/StringFormatter/StringFormatter.js +13 -2
  315. package/lib/components/StringFormatter/utils/enums.d.ts +20 -1
  316. package/lib/components/StringFormatter/utils/enums.js +23 -1
  317. package/lib/components/TagOverflow/TagOverflow.d.ts +35 -4
  318. package/lib/components/TagOverflow/TagOverflow.js +46 -63
  319. package/lib/components/TagOverflow/TagOverflowModal.js +4 -6
  320. package/lib/components/TagOverflow/TagOverflowPopover.d.ts +13 -1
  321. package/lib/components/TagOverflow/TagOverflowPopover.js +37 -40
  322. package/lib/components/Tearsheet/Tearsheet.d.ts +8 -1
  323. package/lib/components/Tearsheet/Tearsheet.js +9 -1
  324. package/lib/components/Tearsheet/TearsheetNarrow.d.ts +11 -0
  325. package/lib/components/Tearsheet/TearsheetNarrow.js +12 -0
  326. package/lib/components/Tearsheet/TearsheetShell.d.ts +11 -1
  327. package/lib/components/Tearsheet/TearsheetShell.js +26 -5
  328. package/lib/components/Toolbar/ToolbarButton.js +1 -1
  329. package/lib/components/UserAvatar/UserAvatar.d.ts +59 -1
  330. package/lib/components/UserAvatar/UserAvatar.js +7 -23
  331. package/lib/components/WebTerminal/WebTerminal.js +10 -12
  332. package/lib/components/index.d.ts +1 -1
  333. package/lib/global/js/hooks/useFocus.d.ts +1 -0
  334. package/lib/global/js/hooks/useFocus.js +5 -1
  335. package/lib/global/js/hooks/usePrefersReducedMotion.js +13 -7
  336. package/lib/global/js/package-settings.d.ts +1 -1
  337. package/lib/global/js/package-settings.js +1 -1
  338. package/lib/index.js +5 -0
  339. package/lib/node_modules/@carbon/icon-helpers/es/index.js +49 -62
  340. package/lib/node_modules/@carbon/icons-react/es/generated/bucket-2.js +1036 -1074
  341. package/lib/node_modules/@carbon/icons-react/es/generated/bucket-9.js +946 -823
  342. package/lib/settings.d.ts +1 -1
  343. package/package.json +8 -7
  344. package/scss/components/Coachmark/_coachmark-overlay.scss +6 -70
  345. package/scss/components/Coachmark/_coachmark.scss +5 -4
  346. package/scss/components/CoachmarkBeacon/_coachmark-beacon.scss +1 -3
  347. package/scss/components/ConditionBuilder/_condition-builder.scss +8 -1
  348. package/scss/components/ConditionBuilder/styles/_conditionBuilderCondition.scss +31 -5
  349. package/scss/components/ConditionBuilder/styles/_conditionBuilderItem.scss +61 -22
  350. package/scss/components/CreateModal/_create-modal.scss +0 -4
  351. package/scss/components/DataSpreadsheet/_data-spreadsheet.scss +16 -2
  352. package/scss/components/Datagrid/_datagrid.scss +0 -4
  353. package/scss/components/Datagrid/styles/_datagrid.scss +1 -0
  354. package/scss/components/Datagrid/styles/_useInlineEdit.scss +13 -0
  355. package/scss/components/Datagrid/styles/addons/_CustomizeColumnsTearsheet.scss +7 -5
  356. package/scss/components/Datagrid/styles/addons/_FilterFlyout.scss +5 -4
  357. package/scss/components/HTTPErrors/_http-errors.scss +77 -0
  358. package/scss/components/OptionsTile/_options-tile.scss +6 -6
  359. package/scss/components/SidePanel/_side-panel.scss +1 -1
  360. package/scss/components/_index-released-only.scss +1 -0
  361. package/telemetry.yml +32 -19
  362. package/es/components/ConditionBuilder/utils/checkForHoldingKey.d.ts +0 -1
  363. package/es/components/ConditionBuilder/utils/checkForHoldingKey.js +0 -16
  364. package/es/global/js/utils/window.d.ts +0 -2
  365. package/es/global/js/utils/window.js +0 -12
  366. package/lib/components/ConditionBuilder/utils/checkForHoldingKey.d.ts +0 -1
  367. package/lib/components/ConditionBuilder/utils/checkForHoldingKey.js +0 -20
  368. package/lib/global/js/utils/window.d.ts +0 -2
  369. package/lib/global/js/utils/window.js +0 -16
@@ -6,35 +6,63 @@
6
6
  */
7
7
 
8
8
  import { slicedToArray as _slicedToArray, toConsumableArray as _toConsumableArray, asyncToGenerator as _asyncToGenerator, regeneratorRuntime as _regeneratorRuntime } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
9
- import React__default, { useContext, useState, useRef, useEffect } from 'react';
10
- import { Search, Button, SelectSkeleton } from '@carbon/react';
9
+ import React__default, { useContext, useRef, useState, useEffect } from 'react';
10
+ import { SelectSkeleton, Search, Button } from '@carbon/react';
11
11
  import { CheckboxCheckedFilled, Checkbox, Checkmark } from '@carbon/react/icons';
12
12
  import PropTypes from '../../../../node_modules/prop-types/index.js';
13
13
  import { ConditionBuilderContext } from '../../ConditionBuilderContext/ConditionBuilderProvider.js';
14
- import { blockClass, translateWithId } from '../../ConditionBuilderContext/DataConfigs.js';
14
+ import { blockClass } from '../../ConditionBuilderContext/DataConfigs.js';
15
+ import { useTranslations } from '../../utils/useTranslations.js';
15
16
 
16
- var _CheckboxCheckedFille, _Checkbox, _SelectSkeleton;
17
- var ConditionBuilderItemOption = function ConditionBuilderItemOption(_ref) {
17
+ var _SelectSkeleton, _CheckboxCheckedFille, _Checkbox;
18
+ var ItemOptionForValueField = function ItemOptionForValueField(_ref) {
18
19
  var _ref$conditionState = _ref.conditionState,
19
20
  conditionState = _ref$conditionState === void 0 ? {} : _ref$conditionState,
20
21
  _ref$config = _ref.config,
21
22
  config = _ref$config === void 0 ? {} : _ref$config,
22
23
  onChange = _ref.onChange;
23
- var multiSelectable = conditionState.operator === 'one-of';
24
+ var multiSelectable = conditionState.operator === 'oneOf';
24
25
  var _useContext = useContext(ConditionBuilderContext),
25
26
  popOverSearchThreshold = _useContext.popOverSearchThreshold,
26
- getOptions = _useContext.getOptions;
27
+ getOptions = _useContext.getOptions,
28
+ rootState = _useContext.rootState;
29
+ var _useTranslations = useTranslations(['propertyText', 'clearSearchText']),
30
+ _useTranslations2 = _slicedToArray(_useTranslations, 2),
31
+ propertyText = _useTranslations2[0],
32
+ clearSearchText = _useTranslations2[1];
33
+ var contentRef = useRef();
27
34
  var _useState = useState(config.options),
28
35
  _useState2 = _slicedToArray(_useState, 2),
29
36
  allOptions = _useState2[0],
30
37
  setAllOptions = _useState2[1];
31
- var _useState3 = useState(config.options),
38
+ var _useState3 = useState(''),
32
39
  _useState4 = _slicedToArray(_useState3, 2),
33
- filteredItems = _useState4[0],
34
- setFilteredItems = _useState4[1];
40
+ searchValue = _useState4[0],
41
+ setSearchValue = _useState4[1];
42
+ var filteredItems = allOptions === null || allOptions === void 0 ? void 0 : allOptions.filter(function (opt) {
43
+ return opt.label.toLowerCase().includes(searchValue.toLowerCase());
44
+ });
35
45
  var selection = Array.isArray(conditionState.value) ? conditionState.value : conditionState.value !== undefined ? [conditionState.value] : [];
36
- var contentRef = useRef();
37
46
  useEffect(function () {
47
+ // if(rest['data-name'] == 'valueField'){
48
+ // const fetchData = async () => {
49
+ // const response = await config.options(conditionState);
50
+ // if (
51
+ // response?.length > 0 &&
52
+ // Object.keys(response[0]).includes('label') &&
53
+ // Object.keys(response[0]).includes('id')
54
+ // ) {
55
+ // setAllOptions(response);
56
+ // setFilteredItems(response);
57
+ // }
58
+ // };
59
+
60
+ // fetchData(); // Call the async method
61
+ // }else{
62
+ // setAllOptions(config.options);
63
+ // setFilteredItems(config.options);
64
+ // }
65
+
38
66
  if (!allOptions && getOptions) {
39
67
  var fetchData = /*#__PURE__*/function () {
40
68
  var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
@@ -43,12 +71,11 @@ var ConditionBuilderItemOption = function ConditionBuilderItemOption(_ref) {
43
71
  while (1) switch (_context.prev = _context.next) {
44
72
  case 0:
45
73
  _context.next = 2;
46
- return getOptions(conditionState);
74
+ return getOptions(rootState, conditionState);
47
75
  case 2:
48
76
  response = _context.sent;
49
77
  if ((response === null || response === void 0 ? void 0 : response.length) > 0 && Object.keys(response[0]).includes('label') && Object.keys(response[0]).includes('id')) {
50
78
  setAllOptions(response);
51
- setFilteredItems(response);
52
79
  }
53
80
  case 4:
54
81
  case "end":
@@ -68,51 +95,55 @@ var ConditionBuilderItemOption = function ConditionBuilderItemOption(_ref) {
68
95
  //this will focus the first input field in the popover
69
96
 
70
97
  if (contentRef.current) {
71
- var _contentRef$current;
72
- var firstFocusableElement = (_contentRef$current = contentRef.current) === null || _contentRef$current === void 0 ? void 0 : _contentRef$current.querySelector('input, button,li');
73
- firstFocusableElement === null || firstFocusableElement === void 0 || firstFocusableElement.focus();
98
+ var firstFocusableElement = contentRef.current.querySelector('input, button,li');
99
+ if (firstFocusableElement) {
100
+ firstFocusableElement.focus();
101
+ }
74
102
  }
75
- // eslint-disable-next-line react-hooks/exhaustive-deps
76
103
  }, [allOptions]);
77
104
  var handleSelectAll = function handleSelectAll(evt) {
78
105
  if (evt.currentTarget.dataset.selectedAll == 'false') {
79
106
  onChange(undefined);
80
107
  } else {
81
- onChange(allOptions.map(function (op) {
82
- return op.id;
83
- }));
108
+ onChange(allOptions);
84
109
  }
85
110
  };
86
111
  var onSearchChangeHandler = function onSearchChangeHandler(evt) {
87
112
  var value = evt.target.value;
88
- var _filteredItems = allOptions.filter(function (opt) {
89
- return opt.label.toLowerCase().includes(value.toLowerCase());
90
- });
91
- setFilteredItems(_filteredItems);
113
+ setSearchValue(value);
92
114
  };
93
115
  var onClickHandler = function onClickHandler(evt, option, isSelected) {
116
+ var updatedSelections = selection.filter(function (item) {
117
+ return item !== 'INVALID';
118
+ });
94
119
  if (multiSelectable) {
95
120
  if (isSelected) {
96
- var items = selection.filter(function (v) {
97
- return v !== option.id;
121
+ var items = updatedSelections.filter(function (v) {
122
+ return v.id !== option.id;
98
123
  });
99
- onChange(items.length > 0 ? items : undefined, evt);
124
+ onChange(items.length > 0 ? items : undefined);
100
125
  } else {
101
- onChange([].concat(_toConsumableArray(selection), [option.id]), evt);
126
+ onChange([].concat(_toConsumableArray(updatedSelections), [option]));
102
127
  }
103
128
  } else {
104
- onChange(option.id, evt);
129
+ onChange(option, evt);
105
130
  }
106
131
  };
107
- return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, allOptions && /*#__PURE__*/React__default.createElement("div", {
132
+ var getAriaLabel = function getAriaLabel() {
133
+ return conditionState.label ? conditionState.label : conditionState.property ? conditionState.property : propertyText;
134
+ };
135
+ if (!allOptions) {
136
+ return _SelectSkeleton || (_SelectSkeleton = /*#__PURE__*/React__default.createElement(SelectSkeleton, null));
137
+ }
138
+ return /*#__PURE__*/React__default.createElement("div", {
108
139
  className: "".concat(blockClass, "__item-option"),
109
140
  ref: contentRef
110
- }, (config.includeSearch || allOptions.length > popOverSearchThreshold) && /*#__PURE__*/React__default.createElement("div", {
141
+ }, allOptions.length > popOverSearchThreshold && /*#__PURE__*/React__default.createElement("div", {
111
142
  className: "".concat(blockClass, "__item-option__search")
112
143
  }, /*#__PURE__*/React__default.createElement(Search, {
113
144
  size: "sm",
114
- labelText: translateWithId('clear_search'),
115
- closeButtonLabelText: translateWithId('clear_search'),
145
+ labelText: clearSearchText,
146
+ closeButtonLabelText: clearSearchText,
116
147
  onChange: onSearchChangeHandler
117
148
  })), multiSelectable && /*#__PURE__*/React__default.createElement("div", {
118
149
  className: "".concat(blockClass, "__multiselectSelectionStatusContainer")
@@ -123,11 +154,13 @@ var ConditionBuilderItemOption = function ConditionBuilderItemOption(_ref) {
123
154
  onClick: handleSelectAll,
124
155
  className: "".concat(blockClass, "__selectAll-button")
125
156
  }, selection.length == 0 ? 'Select all' : 'Deselect all')), /*#__PURE__*/React__default.createElement("ul", {
126
- "aria-label": conditionState.label ? conditionState.label : conditionState.property ? conditionState.property : translateWithId('property'),
157
+ "aria-label": getAriaLabel(),
127
158
  role: "listbox",
128
159
  "data-multi-select": multiSelectable
129
160
  }, filteredItems === null || filteredItems === void 0 ? void 0 : filteredItems.map(function (option) {
130
- var isSelected = selection.includes(option.id);
161
+ var isSelected = selection.map(function (option) {
162
+ return option.id;
163
+ }).includes(option.id);
131
164
  var Icon = option.icon;
132
165
  return /*#__PURE__*/React__default.createElement("li", {
133
166
  tabIndex: 0,
@@ -154,9 +187,9 @@ var ConditionBuilderItemOption = function ConditionBuilderItemOption(_ref) {
154
187
  }, Icon && /*#__PURE__*/React__default.createElement(Icon, null), option.label), isSelected && /*#__PURE__*/React__default.createElement(Checkmark, {
155
188
  className: "".concat(blockClass, "__checkmark")
156
189
  }))));
157
- }))), !allOptions && (_SelectSkeleton || (_SelectSkeleton = /*#__PURE__*/React__default.createElement(SelectSkeleton, null))));
190
+ })));
158
191
  };
159
- ConditionBuilderItemOption.propTypes = {
192
+ ItemOptionForValueField.propTypes = {
160
193
  /**
161
194
  * current condition object
162
195
  */
@@ -171,4 +204,4 @@ ConditionBuilderItemOption.propTypes = {
171
204
  onChange: PropTypes.func
172
205
  };
173
206
 
174
- export { ConditionBuilderItemOption };
207
+ export { ItemOptionForValueField };
@@ -1,11 +1,15 @@
1
- export function ConditionBuilderItemText({ conditionState, onChange }: {
1
+ export function ConditionBuilderItemText({ conditionState, onChange, config, type, }: {
2
2
  conditionState: any;
3
3
  onChange: any;
4
+ config: any;
5
+ type: any;
4
6
  }): import("react/jsx-runtime").JSX.Element;
5
7
  export namespace ConditionBuilderItemText {
6
8
  namespace propTypes {
7
9
  let conditionState: PropTypes.Requireable<object>;
10
+ let config: PropTypes.Requireable<object>;
8
11
  let onChange: PropTypes.Requireable<(...args: any[]) => any>;
12
+ let type: PropTypes.Requireable<string>;
9
13
  }
10
14
  }
11
15
  import PropTypes from 'prop-types';
@@ -5,36 +5,49 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
+ import { objectSpread2 as _objectSpread2 } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
8
9
  import React__default from 'react';
9
- import { TextInput } from '@carbon/react';
10
+ import { TextArea, TextInput } from '@carbon/react';
10
11
  import PropTypes from '../../../../node_modules/prop-types/index.js';
11
12
  import { blockClass } from '../../ConditionBuilderContext/DataConfigs.js';
13
+ import { checkIsValid } from '../../utils/util.js';
12
14
 
13
15
  var ConditionBuilderItemText = function ConditionBuilderItemText(_ref) {
14
- var _conditionState$value, _conditionState$prope;
16
+ var _conditionState$prope;
15
17
  var conditionState = _ref.conditionState,
16
- _onChange = _ref.onChange;
17
- return /*#__PURE__*/React__default.createElement("div", {
18
- className: "".concat(blockClass, "__item-text")
19
- }, /*#__PURE__*/React__default.createElement(TextInput, {
18
+ _onChange = _ref.onChange,
19
+ config = _ref.config,
20
+ type = _ref.type;
21
+ var inputProps = _objectSpread2({
20
22
  labelText: conditionState.property,
21
23
  hideLabel: true,
22
- value: (_conditionState$value = conditionState.value) !== null && _conditionState$value !== void 0 ? _conditionState$value : '',
24
+ value: checkIsValid(conditionState.value) ? conditionState.value : '',
23
25
  id: (_conditionState$prope = conditionState.property) === null || _conditionState$prope === void 0 ? void 0 : _conditionState$prope.replace(/\s/g, ''),
24
26
  onChange: function onChange(evt) {
25
27
  _onChange(evt.target.value);
26
28
  }
27
- }));
29
+ }, config);
30
+ return /*#__PURE__*/React__default.createElement("div", {
31
+ className: "".concat(blockClass, "__item-text")
32
+ }, type == 'textarea' ? /*#__PURE__*/React__default.createElement(TextArea, inputProps) : /*#__PURE__*/React__default.createElement(TextInput, inputProps));
28
33
  };
29
34
  ConditionBuilderItemText.propTypes = {
30
35
  /**
31
36
  * current condition object
32
37
  */
33
38
  conditionState: PropTypes.object,
39
+ /**
40
+ * config of the current property
41
+ */
42
+ config: PropTypes.object,
34
43
  /**
35
44
  * callback to update state oin date change
36
45
  */
37
- onChange: PropTypes.func
46
+ onChange: PropTypes.func,
47
+ /**
48
+ * current input type
49
+ */
50
+ type: PropTypes.string
38
51
  };
39
52
 
40
53
  export { ConditionBuilderItemText };
@@ -58,7 +58,7 @@ var ConditionBuilderItemTime = function ConditionBuilderItemTime(_ref) {
58
58
  value: "PM",
59
59
  text: "PM"
60
60
  }))), /*#__PURE__*/React__default.createElement(TimePickerSelect, {
61
- id: "time-picker-select-2",
61
+ id: "time-picker-time-zone",
62
62
  onChange: setTimeZone
63
63
  }, config === null || config === void 0 || (_config$timeZones2 = config.timeZones) === null || _config$timeZones2 === void 0 ? void 0 : _config$timeZones2.map(function (timeZone, index) {
64
64
  return /*#__PURE__*/React__default.createElement(SelectItem, {
@@ -5,19 +5,17 @@ export default ConditionGroupBuilder;
5
5
  * All the inner components of group are called from here.
6
6
  * @returns
7
7
  */
8
- declare function ConditionGroupBuilder({ group, aria, onRemove, onChange, conditionBuilderRef, className, }: {
8
+ declare function ConditionGroupBuilder({ group, aria, onRemove, onChange, className, }: {
9
9
  group: any;
10
10
  aria: any;
11
11
  onRemove: any;
12
12
  onChange: any;
13
- conditionBuilderRef: any;
14
13
  className: any;
15
14
  }): import("react/jsx-runtime").JSX.Element;
16
15
  declare namespace ConditionGroupBuilder {
17
16
  namespace propTypes {
18
17
  let aria: PropTypes.Requireable<object>;
19
18
  let className: PropTypes.Requireable<string>;
20
- let conditionBuilderRef: PropTypes.Requireable<object>;
21
19
  let group: PropTypes.Requireable<object>;
22
20
  let onChange: PropTypes.Requireable<(...args: any[]) => any>;
23
21
  let onRemove: PropTypes.Requireable<(...args: any[]) => any>;
@@ -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,52 @@ 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 _useState5 = useState(false),
54
+ _useState6 = _slicedToArray(_useState5, 2),
55
+ showDeletionPreviewForSubgroups = _useState6[0],
56
+ setShowDeletionPreviewForSubgroups = _useState6[1];
57
+ var conditionBuilderContentRef = useRef();
58
+ var onRemoveHandler = function onRemoveHandler(conditionId, evt, conditionIndex) {
49
59
  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);
60
+ variant == 'tree' ? handleFocusOnCloseTree(evt) : handleFocusOnClose(evt, conditionIndex);
61
+ if (group.conditions[1].conditions && group.conditions[1].id !== conditionId) {
62
+ //when we remove every plain conditions of a group without deleting the subgroup, we need to restructure the group
63
+ //the inner group become outer group and same level subgroups become plain conditions
64
+
65
+ //ensure we are deleting last condition , not the subgroup
66
+
67
+ //spreading out the condition inside the subgroup
68
+ var allConditions = group.conditions.reduce(function (acc, item) {
69
+ if (item.conditions) {
70
+ return acc.concat(item.conditions);
71
+ }
72
+ return acc;
73
+ }, []);
74
+
75
+ //we always have conditions first and then subgroups, so ordering accordingly
76
+ var groupedItems = {
77
+ groups: [],
78
+ conditions: []
79
+ };
80
+ allConditions.forEach(function (item) {
81
+ if (item.conditions) {
82
+ groupedItems.groups.push(item);
83
+ } else {
84
+ groupedItems.conditions.push(item);
85
+ }
86
+ });
87
+ onRemove(evt);
88
+ // onChange({
89
+ // ...group,
90
+ // conditions: [...groupedItems.conditions, ...groupedItems.groups],
91
+ // });
92
+ } else {
93
+ onChange(_objectSpread2(_objectSpread2({}, group), {}, {
94
+ conditions: group.conditions.filter(function (condition) {
95
+ return conditionId !== condition.id;
96
+ })
97
+ }));
98
+ }
56
99
  } else {
57
100
  onRemove(evt);
58
101
  }
@@ -75,17 +118,60 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
75
118
  conditions: [].concat(_toConsumableArray(group.conditions.slice(0, conditionIndex + 1)), [newCondition], _toConsumableArray(group.conditions.slice(conditionIndex + 1)))
76
119
  }));
77
120
  };
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();
121
+ var handleFocusOnClose = function handleFocusOnClose(e, conditionIndex) {
122
+ var _e$currentTarget$clos;
123
+ //get all close buttons.
124
+ //if the last condition is closing, focus the second last one.
125
+ //or focus the next one.
126
+ 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"]');
127
+ if (conditionIndex == currentGroupCloseButtons.length - 1) {
128
+ manageTabIndexAndFocus(currentGroupCloseButtons[conditionIndex - 1], conditionBuilderRef);
129
+ } else {
130
+ manageTabIndexAndFocus(currentGroupCloseButtons[conditionIndex + 1], conditionBuilderRef);
131
+ }
132
+ };
133
+ var handleFocusOnCloseTree = function handleFocusOnCloseTree(evt) {
134
+ var _evt$currentTarget, _evt$currentTarget2, _conditionBuilderCont, _conditionBuilderCont2;
135
+ //getting the current aria-level and aria-posinset.
136
+ 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');
137
+ 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');
138
+
139
+ //finding the next and previous items in same level
140
+ var nextElement = (_conditionBuilderCont = conditionBuilderContentRef.current) === null || _conditionBuilderCont === void 0 ? void 0 : _conditionBuilderCont.querySelector("[aria-level=\"".concat(currentLevel, "\"][aria-posinset=\"").concat(Number(currentPos) + 1, "\"]"));
141
+ var prevElement = (_conditionBuilderCont2 = conditionBuilderContentRef.current) === null || _conditionBuilderCont2 === void 0 ? void 0 : _conditionBuilderCont2.querySelector("[aria-level=\"".concat(currentLevel, "\"][aria-posinset=\"").concat(Number(currentPos) - 1, "\"]"));
142
+ //checking if next level is a valid condition. If then, focus the close button inside that condition
143
+ //Otherwise , check the previous item is a valid condition
144
+
145
+ if (nextElement !== null && nextElement !== void 0 && nextElement.classList.contains("".concat(blockClass, "__condition-block"))) {
146
+ manageTabIndexAndFocus(nextElement === null || nextElement === void 0 ? void 0 : nextElement.querySelector('[data-name="closeCondition"]'), conditionBuilderRef);
147
+ } else if (prevElement !== null && prevElement !== void 0 && prevElement.classList.contains("".concat(blockClass, "__condition-block"))) {
148
+ manageTabIndexAndFocus(prevElement === null || prevElement === void 0 ? void 0 : prevElement.querySelector('[data-name="closeCondition"]'), conditionBuilderRef);
149
+ }
150
+ //If there are no valid condition in this group, focus next or previous row
151
+ else {
152
+ var _conditionBuilderCont3, _conditionBuilderCont4;
153
+ var prevRows = (_conditionBuilderCont3 = conditionBuilderContentRef.current) === null || _conditionBuilderCont3 === void 0 ? void 0 : _conditionBuilderCont3.querySelectorAll("[aria-level=\"".concat(Number(currentLevel) - 1, "\"][role=\"row\"]"));
154
+ var nextRow = (_conditionBuilderCont4 = conditionBuilderContentRef.current) === null || _conditionBuilderCont4 === void 0 ? void 0 : _conditionBuilderCont4.querySelector("[aria-level=\"".concat(Number(currentLevel) + 1, "\"][role=\"row\"]"));
155
+ if (nextRow) {
156
+ //since there are no condition in current group, this group will move one level up
157
+
158
+ var rowIdentity = {
159
+ ariaLevel: Number(nextRow.ariaLevel) - 1,
160
+ ariaPosInSet: nextRow.ariaPosInSet
161
+ };
162
+ setTimeout(function () {
163
+ var currentRowToFocus = conditionBuilderContentRef.current.querySelector("[role=\"row\"][aria-level=\"".concat(rowIdentity.ariaLevel, "\"][aria-posinset=\"").concat(rowIdentity.ariaPosInSet, "\"]"));
164
+ manageTabIndexAndFocus(currentRowToFocus === null || currentRowToFocus === void 0 ? void 0 : currentRowToFocus.querySelector('[data-name="closeCondition"]'), conditionBuilderRef);
165
+ }, 0);
166
+ } else if ((prevRows === null || prevRows === void 0 ? void 0 : prevRows.length) > 1) {
167
+ var _prevRows;
168
+ manageTabIndexAndFocus((_prevRows = prevRows[prevRows.length - 2]) === null || _prevRows === void 0 ? void 0 : _prevRows.querySelector('[data-name="closeCondition"]'), conditionBuilderRef);
169
+ }
83
170
  }
84
171
  };
85
172
  var addConditionSubGroupHandler = function addConditionSubGroupHandler(conditionIndex) {
86
173
  onChange(_objectSpread2(_objectSpread2({}, group), {}, {
87
174
  conditions: [].concat(_toConsumableArray(group.conditions.slice(0, conditionIndex + 1)), [{
88
- groupSeparateOperator: null,
89
175
  groupOperator: 'and',
90
176
  statement: 'if',
91
177
  conditions: [{
@@ -115,7 +201,12 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
115
201
  setShowConditionPreview(-1);
116
202
  };
117
203
  var onStatementChangeHandler = function onStatementChangeHandler(updatedStatement) {
204
+ var _statementConfig$find;
205
+ var groupOperator = (_statementConfig$find = statementConfig.find(function (statement) {
206
+ return statement.id == updatedStatement;
207
+ })) === null || _statementConfig$find === void 0 ? void 0 : _statementConfig$find.connector;
118
208
  onChange(_objectSpread2(_objectSpread2({}, group), {}, {
209
+ groupOperator: groupOperator,
119
210
  statement: updatedStatement
120
211
  }));
121
212
  };
@@ -131,7 +222,7 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
131
222
  }, /*#__PURE__*/React__default.createElement("div", {
132
223
  className: "".concat(blockClass, "__condition-wrapper"),
133
224
  role: "grid",
134
- "aria-label": translateWithId('condition_builder_group')
225
+ "aria-label": conditionBuilderText
135
226
  }, group === null || group === void 0 || (_group$conditions = group.conditions) === null || _group$conditions === void 0 ? void 0 : _group$conditions.map(function (eachCondition, conditionIndex) {
136
227
  return /*#__PURE__*/React__default.createElement("div", {
137
228
  key: eachCondition.id,
@@ -152,7 +243,7 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
152
243
  },
153
244
  addConditionHandler: addConditionHandler,
154
245
  onRemove: function onRemove(e) {
155
- onRemoveHandler(eachCondition.id, e);
246
+ onRemoveHandler(eachCondition.id, e, conditionIndex);
156
247
  },
157
248
  onConnectorOperatorChange: onConnectorOperatorChange,
158
249
  onStatementChange: onStatementChangeHandler,
@@ -165,7 +256,8 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
165
256
  return /*#__PURE__*/React__default.createElement("div", {
166
257
  className: "".concat(className, " ").concat(blockClass, "__condition-wrapper"),
167
258
  role: aria.level === 1 ? 'rowgroup' : undefined,
168
- "aria-label": aria.level == 1 ? translateWithId('condition_builder_group') : undefined
259
+ "aria-label": aria.level == 1 ? conditionBuilderGroupText : undefined,
260
+ ref: conditionBuilderContentRef
169
261
  }, /*#__PURE__*/React__default.createElement("div", {
170
262
  tabIndex: 0,
171
263
  role: "row",
@@ -174,17 +266,17 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
174
266
  "aria-setsize": aria.setsize
175
267
  }, /*#__PURE__*/React__default.createElement(ConditionBuilderItem, {
176
268
  label: group.statement,
177
- title: translateWithId('condition'),
269
+ title: conditionText,
178
270
  "data-name": "connectorField",
179
271
  popOverClassName: "".concat(blockClass, "__gap"),
180
272
  className: "".concat(blockClass, "__statement-button")
181
- }, /*#__PURE__*/React__default.createElement(ConditionBuilderItemOption, {
273
+ }, /*#__PURE__*/React__default.createElement(ItemOption, {
182
274
  conditionState: {
183
275
  value: group.statement,
184
- label: translateWithId('condition')
276
+ label: conditionText
185
277
  },
186
278
  onChange: function onChange(v, evt) {
187
- focusThisField(evt);
279
+ focusThisField(evt, conditionBuilderRef);
188
280
  onStatementChangeHandler(v);
189
281
  },
190
282
  config: {
@@ -194,9 +286,9 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
194
286
  return /*#__PURE__*/React__default.createElement(Fragment, {
195
287
  key: eachCondition.id
196
288
  }, eachCondition.conditions ? /*#__PURE__*/React__default.createElement("div", {
197
- className: cx("".concat(blockClass, "__condition-block subgroup ").concat(blockClass, "__gap"), _defineProperty({}, "".concat(blockClass, "__gap-bottom"), group.conditions.length < conditionIndex + 1))
289
+ className: cx("".concat(blockClass, "__condition-block subgroup ").concat(blockClass, "__gap"), _defineProperty(_defineProperty({}, "".concat(blockClass, "__gap-bottom"), group.conditions.length < conditionIndex + 1), "".concat(blockClass, "__subgroup_deletionPreview"), showDeletionPreviewForSubgroups), {})
198
290
  }, /*#__PURE__*/React__default.createElement(ConditionConnector, {
199
- className: "".concat(blockClass, "__gap ").concat(blockClass, "__groupConnector"),
291
+ className: "".concat(blockClass, "__gap ").concat(blockClass, "__gap-bottom ").concat(blockClass, "__groupConnector"),
200
292
  operator: group.groupOperator,
201
293
  "aria-hidden": true
202
294
  }), /*#__PURE__*/React__default.createElement(ConditionGroupBuilder, {
@@ -212,9 +304,8 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
212
304
  },
213
305
  onRemove: function onRemove(e) {
214
306
  onRemoveHandler(eachCondition.id, e);
215
- },
216
- conditionBuilderRef: conditionBuilderRef
217
- })) : /*#__PURE__*/React__default.createElement(ConditionBlock, {
307
+ }
308
+ })) : /*#__PURE__*/React__default.createElement("div", null, /*#__PURE__*/React__default.createElement(ConditionBlock, {
218
309
  conjunction: conditionIndex > 0 ? group.groupOperator : undefined,
219
310
  aria: {
220
311
  level: aria.level + 1,
@@ -243,11 +334,14 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
243
334
  _showConditionPreviewHandler(conditionIndex);
244
335
  },
245
336
  hideConditionPreviewHandler: hideConditionPreviewHandler,
246
- isLastCondition: isLastCondition
247
- }), conditionIndex == showConditionSubGroupPreview && (_ConditionPreview || (_ConditionPreview = /*#__PURE__*/React__default.createElement(ConditionPreview, {
248
- previewType: "subGroup"
337
+ isLastCondition: isLastCondition,
338
+ setShowDeletionPreviewForSubgroups: setShowDeletionPreviewForSubgroups
339
+ })), conditionIndex == showConditionSubGroupPreview && (_ConditionPreview || (_ConditionPreview = /*#__PURE__*/React__default.createElement(ConditionPreview, {
340
+ previewType: "subGroup",
341
+ group: group
249
342
  }))), conditionIndex == showConditionPreview && (_ConditionPreview2 || (_ConditionPreview2 = /*#__PURE__*/React__default.createElement(ConditionPreview, {
250
- previewType: "condition"
343
+ previewType: "condition",
344
+ group: group
251
345
  }))));
252
346
  }));
253
347
  };
@@ -266,11 +360,6 @@ ConditionGroupBuilder.propTypes = {
266
360
  * Provide an optional class to be applied to the containing node.
267
361
  */
268
362
  className: PropTypes.string,
269
- /**
270
- className: PropTypes.string,
271
- * ref of condition builder
272
- */
273
- conditionBuilderRef: PropTypes.object,
274
363
  group: PropTypes.object,
275
364
  /**
276
365
  * callback to update the current condition of the state tree
@@ -1,9 +1,13 @@
1
1
  export default ConditionPreview;
2
- declare function ConditionPreview({ previewType }: {
2
+ declare function ConditionPreview({ previewType, group, colorIndex }: {
3
3
  previewType: any;
4
+ group: any;
5
+ colorIndex: any;
4
6
  }): import("react/jsx-runtime").JSX.Element;
5
7
  declare namespace ConditionPreview {
6
8
  namespace propTypes {
9
+ let colorIndex: PropTypes.Requireable<number>;
10
+ let group: PropTypes.Requireable<object>;
7
11
  let previewType: PropTypes.Requireable<string>;
8
12
  }
9
13
  }