@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,14 +6,17 @@
6
6
  */
7
7
 
8
8
  import { objectWithoutProperties as _objectWithoutProperties, slicedToArray as _slicedToArray, extends as _extends } from '../../../_virtual/_rollupPluginBabelHelpers.js';
9
- import React__default, { useRef, useState, useEffect } from 'react';
9
+ import React__default, { useRef, useState, useContext, useEffect } from 'react';
10
10
  import { Popover, PopoverContent, Layer } from '@carbon/react';
11
11
  import PropTypes from '../../../node_modules/prop-types/index.js';
12
12
  import { Add } from '@carbon/react/icons';
13
- import { valueRenderers, translateWithId, blockClass } from '../ConditionBuilderContext/DataConfigs.js';
13
+ import { blockClass, valueRenderers } from '../ConditionBuilderContext/DataConfigs.js';
14
14
  import { ConditionBuilderButton } from '../ConditionBuilderButton/ConditionBuilderButton.js';
15
+ import { useTranslations } from '../utils/useTranslations.js';
16
+ import { ConditionBuilderContext } from '../ConditionBuilderContext/ConditionBuilderProvider.js';
17
+ import { handleKeyDownForPopover } from '../utils/handleKeyboardEvents.js';
15
18
 
16
- var _excluded = ["children", "className", "label", "renderIcon", "title", "type", "showToolTip", "condition", "popOverClassName", "config"];
19
+ var _excluded = ["children", "className", "label", "renderIcon", "title", "type", "showToolTip", "condition", "popOverClassName", "config", "renderChildren", "onChange"];
17
20
  var ConditionBuilderItem = function ConditionBuilderItem(_ref) {
18
21
  var children = _ref.children,
19
22
  className = _ref.className,
@@ -25,21 +28,43 @@ var ConditionBuilderItem = function ConditionBuilderItem(_ref) {
25
28
  condition = _ref.condition,
26
29
  popOverClassName = _ref.popOverClassName,
27
30
  config = _ref.config,
31
+ renderChildren = _ref.renderChildren,
32
+ onChange = _ref.onChange,
28
33
  rest = _objectWithoutProperties(_ref, _excluded);
29
- var contentRef = useRef(null);
30
- var _useState = useState(label),
34
+ var popoverRef = useRef(null);
35
+ var _useState = useState(false),
31
36
  _useState2 = _slicedToArray(_useState, 2),
32
- propertyLabel = _useState2[0],
33
- setPropertyLabel = _useState2[1];
34
- var _useState3 = useState(false),
35
- _useState4 = _slicedToArray(_useState3, 2),
36
- open = _useState4[0],
37
- setOpen = _useState4[1];
38
- useEffect(function () {
39
- var propertyId = rest['data-name'] == 'valueField' && type ? valueRenderers[type](label, config) : label;
40
- setPropertyLabel(translateWithId(propertyId));
41
- // eslint-disable-next-line react-hooks/exhaustive-deps
42
- }, [label]);
37
+ open = _useState2[0],
38
+ setOpen = _useState2[1];
39
+ var _useTranslations = useTranslations(['invalidText', 'addConditionText', 'addPropertyText', 'addOperatorText', 'addValueText', label]),
40
+ _useTranslations2 = _slicedToArray(_useTranslations, 6),
41
+ invalidText = _useTranslations2[0],
42
+ addConditionText = _useTranslations2[1],
43
+ addPropertyText = _useTranslations2[2],
44
+ addOperatorText = _useTranslations2[3],
45
+ addValueText = _useTranslations2[4],
46
+ labelText = _useTranslations2[5];
47
+ var _useContext = useContext(ConditionBuilderContext),
48
+ conditionBuilderRef = _useContext.conditionBuilderRef;
49
+ var getPropertyDetails = function getPropertyDetails() {
50
+ var _ref2 = condition || {},
51
+ property = _ref2.property,
52
+ operator = _ref2.operator;
53
+ if (label === 'INVALID' || rest['data-name'] === 'propertyField' && property === 'INVALID' || rest['data-name'] === 'operatorField' && operator === 'INVALID') {
54
+ return {
55
+ propertyLabel: invalidText,
56
+ isInvalid: true
57
+ };
58
+ }
59
+ var propertyId = rest['data-name'] == 'valueField' && type ? valueRenderers[type](label, config) : labelText;
60
+ return {
61
+ isInvalid: false,
62
+ propertyLabel: propertyId
63
+ };
64
+ };
65
+ var _getPropertyDetails = getPropertyDetails(),
66
+ propertyLabel = _getPropertyDetails.propertyLabel,
67
+ isInvalid = _getPropertyDetails.isInvalid;
43
68
  useEffect(function () {
44
69
  /**
45
70
  * rest['data-name'] holds the current field name
@@ -50,59 +75,100 @@ var ConditionBuilderItem = function ConditionBuilderItem(_ref) {
50
75
  //if any condition is changed, state prop is triggered
51
76
  if (condition.popoverToOpen && currentField !== condition.popoverToOpen) {
52
77
  // close the previous popover
53
- setOpen(false);
54
- } else if (currentField == 'valueField' && type == 'option' && condition.operator !== 'one-of') {
78
+ closePopover();
79
+ } else if (currentField == 'valueField' && type == 'option' && condition.operator !== 'oneOf') {
55
80
  //close the current popover if the field is valueField and is a single select dropdown. For all other inputs ,popover need to be open on value changes.
56
- setOpen(false);
81
+ closePopover();
57
82
  }
58
83
  if (condition.popoverToOpen == currentField) {
59
84
  //current popover need to be opened
60
- setOpen(true);
85
+ openPopOver();
61
86
  }
62
87
  } else {
63
88
  // when we change any statement(if/ excl.if) which is not part of condition state, label change is triggered.
64
89
  //close popOver when statement is changed.
65
- setOpen(false);
90
+ closePopover();
66
91
  }
67
92
  // eslint-disable-next-line react-hooks/exhaustive-deps
68
93
  }, [condition, label]);
69
94
  useEffect(function () {
70
95
  //this will focus the first input field in the popover
71
- if (open && contentRef.current) {
72
- var firstFocusableElement = contentRef.current.querySelector('input');
96
+ if (open && popoverRef.current) {
97
+ var firstFocusableElement = popoverRef.current.querySelector('input,textarea');
73
98
  if (firstFocusableElement) {
74
- firstFocusableElement.focus();
99
+ setTimeout(function () {
100
+ return firstFocusableElement.focus();
101
+ }, 0);
75
102
  }
76
103
  }
77
- }, [contentRef, open]);
104
+ }, [popoverRef, open]);
105
+ var manageInvalidSelection = function manageInvalidSelection() {
106
+ //when the user didn't select any value , we need to show as incomplete
107
+ if (rest['data-name'] === 'propertyField' && !(condition !== null && condition !== void 0 && condition.property) || rest['data-name'] === 'operatorField' && !(condition !== null && condition !== void 0 && condition.operator) || rest['data-name'] === 'valueField' && !(condition !== null && condition !== void 0 && condition.value)) {
108
+ onChange === null || onChange === void 0 || onChange('INVALID');
109
+ }
110
+ };
111
+ var closePopover = function closePopover() {
112
+ if (open) {
113
+ manageInvalidSelection();
114
+ }
115
+ setOpen(false);
116
+ };
117
+ var openPopOver = function openPopOver() {
118
+ return setOpen(true);
119
+ };
120
+ var togglePopover = function togglePopover() {
121
+ if (children || renderChildren) {
122
+ setOpen(!open);
123
+ }
124
+ };
125
+ var handleKeyDownHandler = function handleKeyDownHandler(evt) {
126
+ handleKeyDownForPopover(evt, conditionBuilderRef, popoverRef);
127
+ if (evt.key === 'Escape') {
128
+ manageInvalidSelection();
129
+ }
130
+ };
131
+ var getLabel = function getLabel() {
132
+ if (propertyLabel) {
133
+ return propertyLabel;
134
+ } else if (rest['data-name'] === 'propertyField') {
135
+ return addPropertyText;
136
+ } else if (rest['data-name'] === 'operatorField') {
137
+ return addOperatorText;
138
+ } else if (rest['data-name'] === 'valueField') {
139
+ return addValueText;
140
+ } else {
141
+ return addConditionText;
142
+ }
143
+ };
78
144
  return /*#__PURE__*/React__default.createElement(Popover, {
79
145
  open: open,
80
146
  isTabTip: true,
81
147
  role: "gridcell",
82
- className: popOverClassName,
83
- onRequestClose: function onRequestClose() {
84
- setOpen(false);
85
- }
148
+ className: "".concat(popOverClassName, " ").concat(blockClass, "__popover"),
149
+ ref: popoverRef,
150
+ onRequestClose: closePopover
86
151
  }, /*#__PURE__*/React__default.createElement(ConditionBuilderButton, _extends({
87
- label: propertyLabel !== null && propertyLabel !== void 0 ? propertyLabel : translateWithId('add-condition'),
152
+ label: getLabel(),
88
153
  hideLabel: !label ? true : false,
89
- onClick: function onClick() {
90
- children ? setOpen(!open) : null;
91
- },
154
+ onClick: togglePopover,
92
155
  className: className,
93
156
  "aria-haspopup": true,
94
157
  "aria-expanded": open,
95
158
  renderIcon: renderIcon ? renderIcon : label == undefined ? Add : null,
96
- showToolTip: showToolTip
97
- }, rest)), /*#__PURE__*/React__default.createElement(PopoverContent, {
98
- className: "".concat(blockClass, "__item__content"),
159
+ showToolTip: showToolTip,
160
+ isInvalid: isInvalid,
161
+ condition: condition
162
+ }, rest)), open && /*#__PURE__*/React__default.createElement(PopoverContent, {
163
+ className: "".concat(blockClass, "__popover-content-wrapper"),
99
164
  role: "dialog",
100
- "aria-label": "".concat(title)
165
+ "aria-label": title,
166
+ onKeyDown: handleKeyDownHandler
101
167
  }, /*#__PURE__*/React__default.createElement(Layer, null, /*#__PURE__*/React__default.createElement("h1", {
102
168
  className: "".concat(blockClass, "__item__title")
103
169
  }, title), /*#__PURE__*/React__default.createElement("div", {
104
- ref: contentRef
105
- }, open && children))));
170
+ className: "".concat(blockClass, "__popover-content")
171
+ }, renderChildren ? renderChildren(popoverRef) : children))));
106
172
  };
107
173
  ConditionBuilderItem.propTypes = {
108
174
  /**
@@ -125,11 +191,19 @@ ConditionBuilderItem.propTypes = {
125
191
  /**
126
192
  * text to be displayed in the field
127
193
  */
128
- label: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),
194
+ label: PropTypes.oneOfType([PropTypes.string, PropTypes.array, PropTypes.object]),
195
+ /**
196
+ * callback to update the current condition of the state tree
197
+ */
198
+ onChange: PropTypes.func,
129
199
  /**
130
200
  * class name for popover
131
201
  */
132
202
  popOverClassName: PropTypes.string,
203
+ /**
204
+ * callback prop that returns the jsx for children
205
+ */
206
+ renderChildren: PropTypes.func,
133
207
  /**
134
208
  * Optional prop to allow overriding the icon rendering.
135
209
  */
@@ -1,11 +1,13 @@
1
- export function ConditionBuilderItemDate({ conditionState, onChange }: {
1
+ export function ConditionBuilderItemDate({ conditionState, onChange, parentRef, }: {
2
2
  conditionState: any;
3
3
  onChange: any;
4
+ parentRef: any;
4
5
  }): import("react/jsx-runtime").JSX.Element;
5
6
  export namespace ConditionBuilderItemDate {
6
7
  namespace propTypes {
7
8
  let conditionState: PropTypes.Requireable<object>;
8
9
  let onChange: PropTypes.Requireable<(...args: any[]) => any>;
10
+ let parentRef: PropTypes.Requireable<object>;
9
11
  }
10
12
  }
11
13
  import PropTypes from 'prop-types';
@@ -5,26 +5,36 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
+ import { slicedToArray as _slicedToArray } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
8
9
  import React__default, { useRef } from 'react';
9
10
  import { DatePicker, DatePickerInput } from '@carbon/react';
10
11
  import { pkg } from '../../../../settings.js';
11
12
  import PropTypes from '../../../../node_modules/prop-types/index.js';
12
- import { translateWithId } from '../../ConditionBuilderContext/DataConfigs.js';
13
+ import { useTranslations } from '../../utils/useTranslations.js';
13
14
 
14
15
  var blockClass = "".concat(pkg.prefix, "--condition-builder");
15
16
  var ConditionBuilderItemDate = function ConditionBuilderItemDate(_ref) {
16
17
  var conditionState = _ref.conditionState,
17
- onChange = _ref.onChange;
18
+ onChange = _ref.onChange,
19
+ parentRef = _ref.parentRef;
18
20
  var DatePickerInputRef = useRef();
21
+ var _useTranslations = useTranslations(['startText', 'endText']),
22
+ _useTranslations2 = _slicedToArray(_useTranslations, 2),
23
+ startText = _useTranslations2[0],
24
+ endText = _useTranslations2[1];
19
25
  var datePickerType = conditionState.operator == 'between' ? 'range' : 'single';
26
+ var onCloseHandler = function onCloseHandler(selectedDate) {
27
+ onChange(selectedDate && selectedDate.length > 0 ? selectedDate : 'INVALID');
28
+ };
20
29
  return /*#__PURE__*/React__default.createElement("div", {
21
30
  className: "".concat(blockClass, "__item-date ")
22
31
  }, datePickerType == 'single' && /*#__PURE__*/React__default.createElement(DatePicker, {
23
32
  ref: DatePickerInputRef,
24
33
  dateFormat: "d/m/Y",
25
34
  datePickerType: "single",
26
- onClose: onChange,
27
- value: conditionState.value
35
+ value: conditionState.value,
36
+ onClose: onCloseHandler,
37
+ appendTo: parentRef === null || parentRef === void 0 ? void 0 : parentRef.current
28
38
  }, /*#__PURE__*/React__default.createElement(DatePickerInput, {
29
39
  id: "datePicker",
30
40
  placeholder: "dd/mm/yyyy",
@@ -33,16 +43,17 @@ var ConditionBuilderItemDate = function ConditionBuilderItemDate(_ref) {
33
43
  ref: DatePickerInputRef,
34
44
  dateFormat: "d/m/Y",
35
45
  datePickerType: datePickerType,
36
- onClose: onChange,
37
- value: conditionState.value
46
+ onClose: onCloseHandler,
47
+ value: conditionState.value,
48
+ appendTo: parentRef === null || parentRef === void 0 ? void 0 : parentRef.current
38
49
  }, /*#__PURE__*/React__default.createElement(DatePickerInput, {
39
50
  id: "datePickerStart",
40
51
  placeholder: "dd/mm/yyyy",
41
- labelText: translateWithId('start')
52
+ labelText: startText
42
53
  }), /*#__PURE__*/React__default.createElement(DatePickerInput, {
43
54
  id: "datePickerEnd",
44
55
  placeholder: "dd/mm/yyyy",
45
- labelText: translateWithId('end')
56
+ labelText: endText
46
57
  })));
47
58
  };
48
59
  ConditionBuilderItemDate.propTypes = {
@@ -53,7 +64,11 @@ ConditionBuilderItemDate.propTypes = {
53
64
  /**
54
65
  * callback to update state oin date change
55
66
  */
56
- onChange: PropTypes.func
67
+ onChange: PropTypes.func,
68
+ /**
69
+ * reference to the popover node
70
+ */
71
+ parentRef: PropTypes.object
57
72
  };
58
73
 
59
74
  export { ConditionBuilderItemDate };
@@ -5,34 +5,52 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
+ import { slicedToArray as _slicedToArray, extends as _extends } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
8
9
  import React__default from 'react';
9
10
  import { NumberInput } from '@carbon/react';
10
- import { pkg } from '../../../../settings.js';
11
11
  import PropTypes from '../../../../node_modules/prop-types/index.js';
12
+ import { blockClass } from '../../ConditionBuilderContext/DataConfigs.js';
13
+ import { useTranslations } from '../../utils/useTranslations.js';
12
14
 
13
- var blockClass = "".concat(pkg.prefix, "--condition-builder");
14
15
  var ConditionBuilderItemNumber = function ConditionBuilderItemNumber(_ref) {
15
16
  var _conditionState$prope;
16
17
  var conditionState = _ref.conditionState,
17
18
  config = _ref.config,
18
19
  onChange = _ref.onChange;
20
+ var _useTranslations = useTranslations(['invalidNumberWarnText']),
21
+ _useTranslations2 = _slicedToArray(_useTranslations, 1),
22
+ invalidNumberWarnText = _useTranslations2[0];
19
23
  var onChangeHandler = function onChangeHandler(e, _ref2) {
20
24
  var value = _ref2.value;
21
- onChange(value + '');
25
+ if (value !== '' && !isNaN(value) && checkIfValid(value)) {
26
+ var _config$unit;
27
+ onChange("".concat(value, " ").concat((_config$unit = config.unit) !== null && _config$unit !== void 0 ? _config$unit : ''));
28
+ } else {
29
+ onChange('INVALID');
30
+ }
31
+ };
32
+ var checkIfValid = function checkIfValid(value) {
33
+ if (value > config.max || value < config.min) {
34
+ return false;
35
+ }
36
+ return true;
37
+ };
38
+ var getDefaultValue = function getDefaultValue() {
39
+ var _conditionState$value, _conditionState$value2;
40
+ return (_conditionState$value = (_conditionState$value2 = conditionState.value) === null || _conditionState$value2 === void 0 || (_conditionState$value2 = _conditionState$value2.split(' ')) === null || _conditionState$value2 === void 0 ? void 0 : _conditionState$value2[0]) !== null && _conditionState$value !== void 0 ? _conditionState$value : '';
22
41
  };
23
42
  return /*#__PURE__*/React__default.createElement("div", {
24
43
  className: "".concat(blockClass, "__item-number")
25
- }, /*#__PURE__*/React__default.createElement(NumberInput, {
44
+ }, /*#__PURE__*/React__default.createElement(NumberInput, _extends({
26
45
  label: conditionState.property,
27
46
  hideLabel: true,
28
47
  id: (_conditionState$prope = conditionState.property) === null || _conditionState$prope === void 0 ? void 0 : _conditionState$prope.replace(/\s/g, ''),
29
- value: conditionState.value ? conditionState.value.split(' ')[0] : conditionState.value,
30
- min: config.min,
31
- max: config.max,
32
- step: config.step,
48
+ invalidText: invalidNumberWarnText,
33
49
  allowEmpty: true,
34
50
  onChange: onChangeHandler
35
- }));
51
+ }, config, {
52
+ defaultValue: getDefaultValue()
53
+ })));
36
54
  };
37
55
  ConditionBuilderItemNumber.propTypes = {
38
56
  /**
@@ -0,0 +1,13 @@
1
+ export function ItemOption({ conditionState, config, onChange }: {
2
+ conditionState?: {} | undefined;
3
+ config?: {} | undefined;
4
+ onChange: any;
5
+ }): import("react/jsx-runtime").JSX.Element | undefined;
6
+ export namespace ItemOption {
7
+ namespace propTypes {
8
+ let conditionState: PropTypes.Requireable<object>;
9
+ let config: PropTypes.Requireable<object>;
10
+ let onChange: PropTypes.Requireable<(...args: any[]) => any>;
11
+ }
12
+ }
13
+ import PropTypes from 'prop-types';
@@ -0,0 +1,114 @@
1
+ /**
2
+ * Copyright IBM Corp. 2020, 2024
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ import { slicedToArray as _slicedToArray } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
9
+ import React__default, { useContext, useRef, useState, useEffect } from 'react';
10
+ import { Search } from '@carbon/react';
11
+ import { Checkmark } from '@carbon/react/icons';
12
+ import PropTypes from '../../../../node_modules/prop-types/index.js';
13
+ import { ConditionBuilderContext } from '../../ConditionBuilderContext/ConditionBuilderProvider.js';
14
+ import { blockClass } from '../../ConditionBuilderContext/DataConfigs.js';
15
+ import { useTranslations } from '../../utils/useTranslations.js';
16
+
17
+ var ItemOption = function ItemOption(_ref) {
18
+ var _ref$conditionState = _ref.conditionState,
19
+ conditionState = _ref$conditionState === void 0 ? {} : _ref$conditionState,
20
+ _ref$config = _ref.config,
21
+ config = _ref$config === void 0 ? {} : _ref$config,
22
+ onChange = _ref.onChange;
23
+ var _useContext = useContext(ConditionBuilderContext),
24
+ popOverSearchThreshold = _useContext.popOverSearchThreshold;
25
+ var contentRef = useRef();
26
+ var _useTranslations = useTranslations(['propertyText', 'clearSearchText']),
27
+ _useTranslations2 = _slicedToArray(_useTranslations, 2),
28
+ propertyText = _useTranslations2[0],
29
+ clearSearchText = _useTranslations2[1];
30
+ var allOptions = config.options;
31
+ var _useState = useState(''),
32
+ _useState2 = _slicedToArray(_useState, 2),
33
+ searchValue = _useState2[0],
34
+ setSearchValue = _useState2[1];
35
+ var selection = conditionState.value;
36
+ var filteredItems = allOptions === null || allOptions === void 0 ? void 0 : allOptions.filter(function (opt) {
37
+ return opt.label.toLowerCase().includes(searchValue.toLowerCase());
38
+ });
39
+ useEffect(function () {
40
+ //this will focus the first input field in the popover
41
+
42
+ if (contentRef.current) {
43
+ var firstFocusableElement = contentRef.current.querySelector('input, button,li');
44
+ if (firstFocusableElement) {
45
+ firstFocusableElement.focus();
46
+ }
47
+ }
48
+ }, [allOptions]);
49
+ var onClickHandler = function onClickHandler(evt, option) {
50
+ onChange(option.id, evt);
51
+ };
52
+ var onSearchChangeHandler = function onSearchChangeHandler(evt) {
53
+ var value = evt.target.value;
54
+ setSearchValue(value);
55
+ };
56
+ var getAriaLabel = function getAriaLabel() {
57
+ return conditionState.label ? conditionState.label : conditionState.property ? conditionState.property : propertyText;
58
+ };
59
+ if (!allOptions) {
60
+ return;
61
+ }
62
+ return /*#__PURE__*/React__default.createElement("div", {
63
+ className: "".concat(blockClass, "__item-option"),
64
+ ref: contentRef
65
+ }, allOptions.length > popOverSearchThreshold && /*#__PURE__*/React__default.createElement("div", {
66
+ className: "".concat(blockClass, "__item-option__search")
67
+ }, /*#__PURE__*/React__default.createElement(Search, {
68
+ size: "sm",
69
+ labelText: clearSearchText,
70
+ closeButtonLabelText: clearSearchText,
71
+ onChange: onSearchChangeHandler
72
+ })), /*#__PURE__*/React__default.createElement("ul", {
73
+ "aria-label": getAriaLabel(),
74
+ role: "listbox"
75
+ }, filteredItems === null || filteredItems === void 0 ? void 0 : filteredItems.map(function (option) {
76
+ var isSelected = selection === option.id;
77
+ var Icon = option.icon;
78
+ return /*#__PURE__*/React__default.createElement("li", {
79
+ tabIndex: 0,
80
+ key: option.id,
81
+ role: "option",
82
+ "aria-selected": isSelected,
83
+ className: "".concat(blockClass, "__item-option__option"),
84
+ onKeyUp: function onKeyUp() {
85
+ return false;
86
+ },
87
+ onClick: function onClick(evt) {
88
+ return onClickHandler(evt, option);
89
+ }
90
+ }, /*#__PURE__*/React__default.createElement("div", {
91
+ className: "".concat(blockClass, "__item-option__option-content")
92
+ }, /*#__PURE__*/React__default.createElement("span", {
93
+ className: "".concat(blockClass, "__item-option__option-label")
94
+ }, Icon && /*#__PURE__*/React__default.createElement(Icon, null), option.label), isSelected && /*#__PURE__*/React__default.createElement(Checkmark, {
95
+ className: "".concat(blockClass, "__checkmark")
96
+ })));
97
+ })));
98
+ };
99
+ ItemOption.propTypes = {
100
+ /**
101
+ * current condition object
102
+ */
103
+ conditionState: PropTypes.object,
104
+ /**
105
+ * current config object that this property is part of
106
+ */
107
+ config: PropTypes.object,
108
+ /**
109
+ * callback to update state oin date change
110
+ */
111
+ onChange: PropTypes.func
112
+ };
113
+
114
+ export { ItemOption };
@@ -1,9 +1,9 @@
1
- export function ConditionBuilderItemOption({ conditionState, config, onChange, }: {
1
+ export function ItemOptionForValueField({ conditionState, config, onChange, }: {
2
2
  conditionState?: {} | undefined;
3
3
  config?: {} | undefined;
4
4
  onChange: any;
5
5
  }): import("react/jsx-runtime").JSX.Element;
6
- export namespace ConditionBuilderItemOption {
6
+ export namespace ItemOptionForValueField {
7
7
  namespace propTypes {
8
8
  let conditionState: PropTypes.Requireable<object>;
9
9
  let config: PropTypes.Requireable<object>;