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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (293) hide show
  1. package/css/index-full-carbon.css +167 -15
  2. package/css/index-full-carbon.css.map +1 -1
  3. package/css/index-full-carbon.min.css +1 -1
  4. package/css/index-full-carbon.min.css.map +1 -1
  5. package/css/index-without-carbon-released-only.css +215 -5
  6. package/css/index-without-carbon-released-only.css.map +1 -1
  7. package/css/index-without-carbon-released-only.min.css +1 -1
  8. package/css/index-without-carbon-released-only.min.css.map +1 -1
  9. package/css/index-without-carbon.css +167 -15
  10. package/css/index-without-carbon.css.map +1 -1
  11. package/css/index-without-carbon.min.css +1 -1
  12. package/css/index-without-carbon.min.css.map +1 -1
  13. package/css/index.css +167 -15
  14. package/css/index.css.map +1 -1
  15. package/css/index.min.css +1 -1
  16. package/css/index.min.css.map +1 -1
  17. package/es/components/Coachmark/Coachmark.js +12 -7
  18. package/es/components/CoachmarkFixed/CoachmarkFixed.js +13 -11
  19. package/es/components/CoachmarkStack/CoachmarkStack.js +7 -3
  20. package/es/components/CoachmarkStack/CoachmarkStackHome.js +8 -4
  21. package/es/components/ConditionBuilder/ConditionBlock/ConditionBlock.js +57 -42
  22. package/es/components/ConditionBuilder/ConditionBuilder.js +81 -24
  23. package/es/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.d.ts +15 -0
  24. package/es/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.js +151 -0
  25. package/es/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.d.ts +3 -1
  26. package/es/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +27 -13
  27. package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +8 -1
  28. package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +29 -7
  29. package/es/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.js +10 -6
  30. package/es/components/ConditionBuilder/ConditionBuilderConnector/GroupConnector.js +19 -11
  31. package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +9 -11
  32. package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +58 -41
  33. package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts +12 -7
  34. package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +26 -8
  35. package/es/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.d.ts +8 -2
  36. package/es/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.js +35 -24
  37. package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +37 -36
  38. package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +37 -36
  39. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.d.ts +4 -2
  40. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +67 -33
  41. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.d.ts +3 -1
  42. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.js +24 -9
  43. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js +27 -9
  44. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.d.ts +13 -0
  45. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js +114 -0
  46. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.d.ts → ItemOptionForValueField.d.ts} +2 -2
  47. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.js → ItemOptionForValueField.js} +66 -36
  48. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.d.ts +5 -1
  49. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.js +19 -7
  50. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemTime/ConditionBuilderItemTime.js +1 -1
  51. package/es/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +74 -23
  52. package/es/components/ConditionBuilder/ConditionPreview/ConditionPreview.d.ts +3 -1
  53. package/es/components/ConditionBuilder/ConditionPreview/ConditionPreview.js +45 -19
  54. package/es/components/ConditionBuilder/utils/handleKeyboardEvents.d.ts +1 -1
  55. package/es/components/ConditionBuilder/utils/handleKeyboardEvents.js +120 -29
  56. package/es/components/ConditionBuilder/utils/useTranslations.d.ts +1 -0
  57. package/es/components/ConditionBuilder/utils/useTranslations.js +26 -0
  58. package/es/components/ConditionBuilder/utils/util.d.ts +1 -0
  59. package/es/components/ConditionBuilder/utils/util.js +8 -1
  60. package/es/components/CreateFullPage/CreateFullPage.js +2 -2
  61. package/es/components/DataSpreadsheet/DataSpreadsheet.d.ts +20 -0
  62. package/es/components/DataSpreadsheet/DataSpreadsheet.js +58 -19
  63. package/es/components/DataSpreadsheet/DataSpreadsheetBody.d.ts +12 -0
  64. package/es/components/DataSpreadsheet/DataSpreadsheetBody.js +22 -6
  65. package/es/components/DataSpreadsheet/DataSpreadsheetHeader.d.ts +8 -0
  66. package/es/components/DataSpreadsheet/DataSpreadsheetHeader.js +16 -3
  67. package/es/components/DataSpreadsheet/hooks/useSpreadsheetMouseMove.js +4 -1
  68. package/es/components/DataSpreadsheet/utils/moveColumnIndicatorLine.js +34 -2
  69. package/es/components/Datagrid/Datagrid/Datagrid.d.ts +0 -4
  70. package/es/components/Datagrid/Datagrid/Datagrid.js +4 -9
  71. package/es/components/Datagrid/Datagrid/DatagridContent.js +1 -1
  72. package/es/components/Datagrid/Datagrid/DatagridHeaderRow.js +23 -8
  73. package/es/components/Datagrid/Datagrid/DatagridRow.js +21 -8
  74. package/es/components/Datagrid/Datagrid/DatagridSelectAll.js +2 -1
  75. package/es/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +3 -2
  76. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +6 -1
  77. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +6 -1
  78. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.d.ts +3 -1
  79. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +7 -4
  80. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.d.ts +1 -1
  81. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +21 -16
  82. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +2 -3
  83. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +74 -11
  84. package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +10 -2
  85. package/es/components/Datagrid/types/index.d.ts +44 -8
  86. package/es/components/Datagrid/useActionsColumn.d.ts +8 -1
  87. package/es/components/Datagrid/useActionsColumn.js +7 -6
  88. package/es/components/Datagrid/useColumnRightAlign.d.ts +8 -1
  89. package/es/components/Datagrid/useColumnRightAlign.js +4 -3
  90. package/es/components/Datagrid/useCustomizeColumns.d.ts +8 -1
  91. package/es/components/Datagrid/useCustomizeColumns.js +4 -3
  92. package/es/components/Datagrid/useDefaultStringRenderer.js +0 -1
  93. package/es/components/Datagrid/useInlineEdit.js +12 -2
  94. package/es/components/Datagrid/useNestedRowExpander.js +1 -3
  95. package/es/components/Datagrid/useNestedRows.js +32 -13
  96. package/es/components/Datagrid/useRowExpander.js +1 -3
  97. package/es/components/Datagrid/useSelectRows.js +2 -1
  98. package/es/components/Datagrid/useStickyColumn.d.ts +8 -1
  99. package/es/components/Datagrid/useStickyColumn.js +12 -9
  100. package/es/components/Decorator/Decorator.js +2 -1
  101. package/es/components/DecoratorBase/DecoratorBase.js +3 -5
  102. package/es/components/DecoratorDualButton/DecoratorDualButton.js +2 -1
  103. package/es/components/DecoratorLink/DecoratorLink.js +2 -1
  104. package/es/components/DecoratorSingleButton/DecoratorSingleButton.js +2 -1
  105. package/es/components/EditInPlace/EditInPlace.d.ts +4 -0
  106. package/es/components/EditInPlace/EditInPlace.js +21 -10
  107. package/es/components/EditTearsheet/EditTearsheet.d.ts +7 -2
  108. package/es/components/EditTearsheet/EditTearsheet.js +44 -10
  109. package/es/components/EditTearsheet/EditTearsheetForm.d.ts +45 -2
  110. package/es/components/EditTearsheet/EditTearsheetForm.js +3 -0
  111. package/es/components/HTTPErrors/HTTPError403/HTTPError403.js +6 -0
  112. package/es/components/HTTPErrors/HTTPError404/HTTPError404.js +6 -0
  113. package/es/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +6 -0
  114. package/es/components/HTTPErrors/assets/HTTPErrorSvg403.js +204 -200
  115. package/es/components/HTTPErrors/assets/HTTPErrorSvg404.js +116 -112
  116. package/es/components/HTTPErrors/assets/HTTPErrorSvgOther.js +110 -106
  117. package/es/components/Nav/NavItem.js +12 -3
  118. package/es/components/OptionsTile/OptionsTile.js +11 -6
  119. package/es/components/PageHeader/PageHeader.js +1 -0
  120. package/es/components/RemoveModal/RemoveModal.d.ts +4 -0
  121. package/es/components/RemoveModal/RemoveModal.js +7 -1
  122. package/es/components/SearchBar/SearchBar.d.ts +1 -1
  123. package/es/components/SearchBar/SearchBar.js +2 -2
  124. package/es/components/SidePanel/SidePanel.js +17 -21
  125. package/es/components/SidePanel/motion/variants.d.ts +4 -6
  126. package/es/components/SidePanel/motion/variants.js +10 -11
  127. package/es/components/StatusIndicator/StatusIndicatorStep.js +87 -0
  128. package/es/components/Tearsheet/Tearsheet.d.ts +8 -1
  129. package/es/components/Tearsheet/Tearsheet.js +9 -1
  130. package/es/components/Tearsheet/TearsheetNarrow.d.ts +11 -0
  131. package/es/components/Tearsheet/TearsheetNarrow.js +12 -0
  132. package/es/components/Tearsheet/TearsheetShell.d.ts +11 -1
  133. package/es/components/Tearsheet/TearsheetShell.js +24 -6
  134. package/es/components/Toolbar/ToolbarButton.js +1 -1
  135. package/es/components/WebTerminal/WebTerminal.js +10 -12
  136. package/es/components/index.d.ts +1 -1
  137. package/es/global/js/hooks/useFocus.d.ts +1 -0
  138. package/es/global/js/hooks/useFocus.js +5 -2
  139. package/es/global/js/hooks/usePrefersReducedMotion.js +14 -8
  140. package/es/global/js/package-settings.d.ts +1 -1
  141. package/es/global/js/package-settings.js +1 -1
  142. package/es/index.js +1 -0
  143. package/es/settings.d.ts +1 -1
  144. package/lib/components/Coachmark/Coachmark.js +12 -7
  145. package/lib/components/CoachmarkFixed/CoachmarkFixed.js +13 -11
  146. package/lib/components/CoachmarkStack/CoachmarkStack.js +7 -3
  147. package/lib/components/CoachmarkStack/CoachmarkStackHome.js +8 -4
  148. package/lib/components/ConditionBuilder/ConditionBlock/ConditionBlock.js +56 -41
  149. package/lib/components/ConditionBuilder/ConditionBuilder.js +81 -24
  150. package/lib/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.d.ts +15 -0
  151. package/lib/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.js +160 -0
  152. package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.d.ts +3 -1
  153. package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +26 -11
  154. package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +8 -1
  155. package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +28 -6
  156. package/lib/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.js +8 -4
  157. package/lib/components/ConditionBuilder/ConditionBuilderConnector/GroupConnector.js +18 -10
  158. package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +9 -11
  159. package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +57 -40
  160. package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts +12 -7
  161. package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +26 -8
  162. package/lib/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.d.ts +8 -2
  163. package/lib/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.js +34 -24
  164. package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +37 -36
  165. package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +37 -36
  166. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.d.ts +4 -2
  167. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +66 -32
  168. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.d.ts +3 -1
  169. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.js +24 -9
  170. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js +28 -10
  171. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.d.ts +13 -0
  172. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js +122 -0
  173. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.d.ts → ItemOptionForValueField.d.ts} +2 -2
  174. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.js → ItemOptionForValueField.js} +63 -33
  175. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.d.ts +5 -1
  176. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.js +18 -6
  177. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemTime/ConditionBuilderItemTime.js +1 -1
  178. package/lib/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +72 -21
  179. package/lib/components/ConditionBuilder/ConditionPreview/ConditionPreview.d.ts +3 -1
  180. package/lib/components/ConditionBuilder/ConditionPreview/ConditionPreview.js +44 -17
  181. package/lib/components/ConditionBuilder/utils/handleKeyboardEvents.d.ts +1 -1
  182. package/lib/components/ConditionBuilder/utils/handleKeyboardEvents.js +120 -29
  183. package/lib/components/ConditionBuilder/utils/useTranslations.d.ts +1 -0
  184. package/lib/components/ConditionBuilder/utils/useTranslations.js +30 -0
  185. package/lib/components/ConditionBuilder/utils/util.d.ts +1 -0
  186. package/lib/components/ConditionBuilder/utils/util.js +8 -0
  187. package/lib/components/CreateFullPage/CreateFullPage.js +2 -2
  188. package/lib/components/DataSpreadsheet/DataSpreadsheet.d.ts +20 -0
  189. package/lib/components/DataSpreadsheet/DataSpreadsheet.js +58 -19
  190. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.d.ts +12 -0
  191. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +22 -6
  192. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.d.ts +8 -0
  193. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.js +16 -3
  194. package/lib/components/DataSpreadsheet/hooks/useSpreadsheetMouseMove.js +4 -1
  195. package/lib/components/DataSpreadsheet/utils/moveColumnIndicatorLine.js +34 -2
  196. package/lib/components/Datagrid/Datagrid/Datagrid.d.ts +0 -4
  197. package/lib/components/Datagrid/Datagrid/Datagrid.js +4 -9
  198. package/lib/components/Datagrid/Datagrid/DatagridContent.js +1 -1
  199. package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +23 -8
  200. package/lib/components/Datagrid/Datagrid/DatagridRow.js +21 -8
  201. package/lib/components/Datagrid/Datagrid/DatagridSelectAll.js +2 -1
  202. package/lib/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +3 -2
  203. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +6 -1
  204. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +6 -1
  205. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.d.ts +3 -1
  206. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +7 -4
  207. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.d.ts +1 -1
  208. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +21 -16
  209. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +2 -3
  210. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +73 -10
  211. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +10 -2
  212. package/lib/components/Datagrid/types/index.d.ts +44 -8
  213. package/lib/components/Datagrid/useActionsColumn.d.ts +8 -1
  214. package/lib/components/Datagrid/useActionsColumn.js +7 -6
  215. package/lib/components/Datagrid/useColumnRightAlign.d.ts +8 -1
  216. package/lib/components/Datagrid/useColumnRightAlign.js +4 -3
  217. package/lib/components/Datagrid/useCustomizeColumns.d.ts +8 -1
  218. package/lib/components/Datagrid/useCustomizeColumns.js +4 -3
  219. package/lib/components/Datagrid/useDefaultStringRenderer.js +0 -1
  220. package/lib/components/Datagrid/useInlineEdit.js +12 -2
  221. package/lib/components/Datagrid/useNestedRowExpander.js +1 -3
  222. package/lib/components/Datagrid/useNestedRows.js +32 -13
  223. package/lib/components/Datagrid/useRowExpander.js +1 -3
  224. package/lib/components/Datagrid/useSelectRows.js +2 -1
  225. package/lib/components/Datagrid/useStickyColumn.d.ts +8 -1
  226. package/lib/components/Datagrid/useStickyColumn.js +12 -9
  227. package/lib/components/Decorator/Decorator.js +2 -1
  228. package/lib/components/DecoratorBase/DecoratorBase.js +3 -5
  229. package/lib/components/DecoratorDualButton/DecoratorDualButton.js +2 -1
  230. package/lib/components/DecoratorLink/DecoratorLink.js +2 -1
  231. package/lib/components/DecoratorSingleButton/DecoratorSingleButton.js +2 -1
  232. package/lib/components/EditInPlace/EditInPlace.d.ts +4 -0
  233. package/lib/components/EditInPlace/EditInPlace.js +21 -10
  234. package/lib/components/EditTearsheet/EditTearsheet.d.ts +7 -2
  235. package/lib/components/EditTearsheet/EditTearsheet.js +43 -9
  236. package/lib/components/EditTearsheet/EditTearsheetForm.d.ts +45 -2
  237. package/lib/components/EditTearsheet/EditTearsheetForm.js +3 -0
  238. package/lib/components/HTTPErrors/HTTPError403/HTTPError403.js +6 -0
  239. package/lib/components/HTTPErrors/HTTPError404/HTTPError404.js +6 -0
  240. package/lib/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +6 -0
  241. package/lib/components/HTTPErrors/assets/HTTPErrorSvg403.js +204 -200
  242. package/lib/components/HTTPErrors/assets/HTTPErrorSvg404.js +116 -112
  243. package/lib/components/HTTPErrors/assets/HTTPErrorSvgOther.js +110 -106
  244. package/lib/components/Nav/NavItem.js +10 -1
  245. package/lib/components/OptionsTile/OptionsTile.js +11 -6
  246. package/lib/components/PageHeader/PageHeader.js +1 -0
  247. package/lib/components/RemoveModal/RemoveModal.d.ts +4 -0
  248. package/lib/components/RemoveModal/RemoveModal.js +7 -1
  249. package/lib/components/SearchBar/SearchBar.d.ts +1 -1
  250. package/lib/components/SearchBar/SearchBar.js +2 -2
  251. package/lib/components/SidePanel/SidePanel.js +16 -20
  252. package/lib/components/SidePanel/motion/variants.d.ts +4 -6
  253. package/lib/components/SidePanel/motion/variants.js +10 -11
  254. package/lib/components/StatusIndicator/StatusIndicatorStep.js +94 -0
  255. package/lib/components/Tearsheet/Tearsheet.d.ts +8 -1
  256. package/lib/components/Tearsheet/Tearsheet.js +9 -1
  257. package/lib/components/Tearsheet/TearsheetNarrow.d.ts +11 -0
  258. package/lib/components/Tearsheet/TearsheetNarrow.js +12 -0
  259. package/lib/components/Tearsheet/TearsheetShell.d.ts +11 -1
  260. package/lib/components/Tearsheet/TearsheetShell.js +22 -4
  261. package/lib/components/Toolbar/ToolbarButton.js +1 -1
  262. package/lib/components/WebTerminal/WebTerminal.js +10 -12
  263. package/lib/components/index.d.ts +1 -1
  264. package/lib/global/js/hooks/useFocus.d.ts +1 -0
  265. package/lib/global/js/hooks/useFocus.js +5 -1
  266. package/lib/global/js/hooks/usePrefersReducedMotion.js +13 -7
  267. package/lib/global/js/package-settings.d.ts +1 -1
  268. package/lib/global/js/package-settings.js +1 -1
  269. package/lib/index.js +5 -0
  270. package/lib/settings.d.ts +1 -1
  271. package/package.json +7 -6
  272. package/scss/components/ConditionBuilder/_condition-builder.scss +1 -1
  273. package/scss/components/ConditionBuilder/styles/_conditionBuilderCondition.scss +14 -2
  274. package/scss/components/ConditionBuilder/styles/_conditionBuilderItem.scss +31 -2
  275. package/scss/components/DataSpreadsheet/_data-spreadsheet.scss +17 -2
  276. package/scss/components/Datagrid/_datagrid.scss +0 -4
  277. package/scss/components/Datagrid/styles/_useInlineEdit.scss +13 -0
  278. package/scss/components/HTTPErrors/_http-errors.scss +77 -0
  279. package/scss/components/OptionsTile/_options-tile.scss +6 -6
  280. package/scss/components/SidePanel/_side-panel.scss +1 -1
  281. package/scss/components/StatusIcon/_status-icon.scss +4 -4
  282. package/scss/components/StringFormatter/_string-formatter.scss +2 -2
  283. package/scss/components/UserProfileImage/_user-profile-image.scss +6 -2
  284. package/scss/components/_index-released-only.scss +1 -0
  285. package/telemetry.yml +27 -5
  286. package/es/components/ConditionBuilder/utils/checkForHoldingKey.d.ts +0 -1
  287. package/es/components/ConditionBuilder/utils/checkForHoldingKey.js +0 -16
  288. package/es/global/js/utils/window.d.ts +0 -2
  289. package/es/global/js/utils/window.js +0 -12
  290. package/lib/components/ConditionBuilder/utils/checkForHoldingKey.d.ts +0 -1
  291. package/lib/components/ConditionBuilder/utils/checkForHoldingKey.js +0 -20
  292. package/lib/global/js/utils/window.d.ts +0 -2
  293. package/lib/global/js/utils/window.js +0 -16
@@ -10,10 +10,11 @@ import React__default, { useRef, useState, 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';
15
16
 
16
- var _excluded = ["children", "className", "label", "renderIcon", "title", "type", "showToolTip", "condition", "popOverClassName", "config"];
17
+ var _excluded = ["children", "className", "label", "renderIcon", "title", "type", "showToolTip", "condition", "popOverClassName", "config", "renderChildren"];
17
18
  var ConditionBuilderItem = function ConditionBuilderItem(_ref) {
18
19
  var children = _ref.children,
19
20
  className = _ref.className,
@@ -25,21 +26,41 @@ var ConditionBuilderItem = function ConditionBuilderItem(_ref) {
25
26
  condition = _ref.condition,
26
27
  popOverClassName = _ref.popOverClassName,
27
28
  config = _ref.config,
29
+ renderChildren = _ref.renderChildren,
28
30
  rest = _objectWithoutProperties(_ref, _excluded);
29
31
  var contentRef = useRef(null);
30
- var _useState = useState(label),
32
+ var popoverRef = useRef(null);
33
+ var _useState = useState(false),
31
34
  _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]);
35
+ open = _useState2[0],
36
+ setOpen = _useState2[1];
37
+ var _useTranslations = useTranslations(['invalidText', 'addConditionText', label, 'invalidDateText']),
38
+ _useTranslations2 = _slicedToArray(_useTranslations, 4),
39
+ invalidText = _useTranslations2[0],
40
+ addConditionText = _useTranslations2[1],
41
+ labelText = _useTranslations2[2],
42
+ invalidDateText = _useTranslations2[3];
43
+ var getPropertyDetails = function getPropertyDetails() {
44
+ if (label === 'INVALID') {
45
+ return {
46
+ propertyLabel: invalidText,
47
+ isInvalid: true
48
+ };
49
+ } else if (label === 'INVALID_DATE') {
50
+ return {
51
+ propertyLabel: invalidDateText,
52
+ isInvalid: true
53
+ };
54
+ }
55
+ var propertyId = rest['data-name'] == 'valueField' && type ? valueRenderers[type](label, config) : labelText;
56
+ return {
57
+ isInvalid: false,
58
+ propertyLabel: propertyId
59
+ };
60
+ };
61
+ var _getPropertyDetails = getPropertyDetails(),
62
+ propertyLabel = _getPropertyDetails.propertyLabel,
63
+ isInvalid = _getPropertyDetails.isInvalid;
43
64
  useEffect(function () {
44
65
  /**
45
66
  * rest['data-name'] holds the current field name
@@ -50,59 +71,68 @@ var ConditionBuilderItem = function ConditionBuilderItem(_ref) {
50
71
  //if any condition is changed, state prop is triggered
51
72
  if (condition.popoverToOpen && currentField !== condition.popoverToOpen) {
52
73
  // close the previous popover
53
- setOpen(false);
54
- } else if (currentField == 'valueField' && type == 'option' && condition.operator !== 'one-of') {
74
+ closePopover();
75
+ } else if (currentField == 'valueField' && type == 'option' && condition.operator !== 'oneOf') {
55
76
  //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);
77
+ closePopover();
57
78
  }
58
79
  if (condition.popoverToOpen == currentField) {
59
80
  //current popover need to be opened
60
- setOpen(true);
81
+ openPopOver();
61
82
  }
62
83
  } else {
63
84
  // when we change any statement(if/ excl.if) which is not part of condition state, label change is triggered.
64
85
  //close popOver when statement is changed.
65
- setOpen(false);
86
+ closePopover();
66
87
  }
67
88
  // eslint-disable-next-line react-hooks/exhaustive-deps
68
89
  }, [condition, label]);
69
90
  useEffect(function () {
70
91
  //this will focus the first input field in the popover
71
92
  if (open && contentRef.current) {
72
- var firstFocusableElement = contentRef.current.querySelector('input');
93
+ var firstFocusableElement = contentRef.current.querySelector('input,textarea');
73
94
  if (firstFocusableElement) {
74
95
  firstFocusableElement.focus();
75
96
  }
76
97
  }
77
98
  }, [contentRef, open]);
99
+ var closePopover = function closePopover() {
100
+ return setOpen(false);
101
+ };
102
+ var openPopOver = function openPopOver() {
103
+ return setOpen(true);
104
+ };
105
+ var togglePopover = function togglePopover() {
106
+ return setOpen(!open);
107
+ };
78
108
  return /*#__PURE__*/React__default.createElement(Popover, {
79
109
  open: open,
80
110
  isTabTip: true,
81
111
  role: "gridcell",
82
112
  className: popOverClassName,
83
- onRequestClose: function onRequestClose() {
84
- setOpen(false);
85
- }
113
+ ref: popoverRef,
114
+ onRequestClose: closePopover
86
115
  }, /*#__PURE__*/React__default.createElement(ConditionBuilderButton, _extends({
87
- label: propertyLabel !== null && propertyLabel !== void 0 ? propertyLabel : translateWithId('add-condition'),
116
+ label: propertyLabel !== null && propertyLabel !== void 0 ? propertyLabel : addConditionText,
88
117
  hideLabel: !label ? true : false,
89
- onClick: function onClick() {
90
- children ? setOpen(!open) : null;
91
- },
118
+ onClick: togglePopover,
92
119
  className: className,
93
120
  "aria-haspopup": true,
94
121
  "aria-expanded": open,
95
122
  renderIcon: renderIcon ? renderIcon : label == undefined ? Add : null,
96
- showToolTip: showToolTip
97
- }, rest)), /*#__PURE__*/React__default.createElement(PopoverContent, {
123
+ showToolTip: showToolTip,
124
+ isInvalid: isInvalid,
125
+ condition: condition
126
+ }, rest)), open && /*#__PURE__*/React__default.createElement(PopoverContent, {
98
127
  className: "".concat(blockClass, "__item__content"),
99
128
  role: "dialog",
100
- "aria-label": "".concat(title)
129
+ "aria-label": title
101
130
  }, /*#__PURE__*/React__default.createElement(Layer, null, /*#__PURE__*/React__default.createElement("h1", {
102
131
  className: "".concat(blockClass, "__item__title")
103
132
  }, title), /*#__PURE__*/React__default.createElement("div", {
104
- ref: contentRef
105
- }, open && children))));
133
+ ref: contentRef,
134
+ className: "".concat(blockClass, "__popover-content")
135
+ }, renderChildren ? renderChildren(popoverRef) : children))));
106
136
  };
107
137
  ConditionBuilderItem.propTypes = {
108
138
  /**
@@ -125,11 +155,15 @@ ConditionBuilderItem.propTypes = {
125
155
  /**
126
156
  * text to be displayed in the field
127
157
  */
128
- label: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),
158
+ label: PropTypes.oneOfType([PropTypes.string, PropTypes.array, PropTypes.object]),
129
159
  /**
130
160
  * class name for popover
131
161
  */
132
162
  popOverClassName: PropTypes.string,
163
+ /**
164
+ * callback prop that returns the jsx for children
165
+ */
166
+ renderChildren: PropTypes.func,
133
167
  /**
134
168
  * Optional prop to allow overriding the icon rendering.
135
169
  */
@@ -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_DATE');
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 (!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;
40
+ return (_conditionState$value = conditionState.value) === null || _conditionState$value === void 0 || (_conditionState$value = _conditionState$value.split(' ')) === null || _conditionState$value === void 0 ? void 0 : _conditionState$value[0];
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>;
@@ -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,52 @@ 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) {
94
116
  if (multiSelectable) {
95
117
  if (isSelected) {
96
118
  var items = selection.filter(function (v) {
97
- return v !== option.id;
119
+ return v.id !== option.id;
98
120
  });
99
121
  onChange(items.length > 0 ? items : undefined, evt);
100
122
  } else {
101
- onChange([].concat(_toConsumableArray(selection), [option.id]), evt);
123
+ onChange([].concat(_toConsumableArray(selection), [option]), evt);
102
124
  }
103
125
  } else {
104
- onChange(option.id, evt);
126
+ onChange(option, evt);
105
127
  }
106
128
  };
107
- return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, allOptions && /*#__PURE__*/React__default.createElement("div", {
129
+ var getAriaLabel = function getAriaLabel() {
130
+ return conditionState.label ? conditionState.label : conditionState.property ? conditionState.property : propertyText;
131
+ };
132
+ if (!allOptions) {
133
+ return _SelectSkeleton || (_SelectSkeleton = /*#__PURE__*/React__default.createElement(SelectSkeleton, null));
134
+ }
135
+ return /*#__PURE__*/React__default.createElement("div", {
108
136
  className: "".concat(blockClass, "__item-option"),
109
137
  ref: contentRef
110
- }, (config.includeSearch || allOptions.length > popOverSearchThreshold) && /*#__PURE__*/React__default.createElement("div", {
138
+ }, allOptions.length > popOverSearchThreshold && /*#__PURE__*/React__default.createElement("div", {
111
139
  className: "".concat(blockClass, "__item-option__search")
112
140
  }, /*#__PURE__*/React__default.createElement(Search, {
113
141
  size: "sm",
114
- labelText: translateWithId('clear_search'),
115
- closeButtonLabelText: translateWithId('clear_search'),
142
+ labelText: clearSearchText,
143
+ closeButtonLabelText: clearSearchText,
116
144
  onChange: onSearchChangeHandler
117
145
  })), multiSelectable && /*#__PURE__*/React__default.createElement("div", {
118
146
  className: "".concat(blockClass, "__multiselectSelectionStatusContainer")
@@ -123,11 +151,13 @@ var ConditionBuilderItemOption = function ConditionBuilderItemOption(_ref) {
123
151
  onClick: handleSelectAll,
124
152
  className: "".concat(blockClass, "__selectAll-button")
125
153
  }, 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'),
154
+ "aria-label": getAriaLabel(),
127
155
  role: "listbox",
128
156
  "data-multi-select": multiSelectable
129
157
  }, filteredItems === null || filteredItems === void 0 ? void 0 : filteredItems.map(function (option) {
130
- var isSelected = selection.includes(option.id);
158
+ var isSelected = selection.map(function (option) {
159
+ return option.id;
160
+ }).includes(option.id);
131
161
  var Icon = option.icon;
132
162
  return /*#__PURE__*/React__default.createElement("li", {
133
163
  tabIndex: 0,
@@ -154,9 +184,9 @@ var ConditionBuilderItemOption = function ConditionBuilderItemOption(_ref) {
154
184
  }, Icon && /*#__PURE__*/React__default.createElement(Icon, null), option.label), isSelected && /*#__PURE__*/React__default.createElement(Checkmark, {
155
185
  className: "".concat(blockClass, "__checkmark")
156
186
  }))));
157
- }))), !allOptions && (_SelectSkeleton || (_SelectSkeleton = /*#__PURE__*/React__default.createElement(SelectSkeleton, null))));
187
+ })));
158
188
  };
159
- ConditionBuilderItemOption.propTypes = {
189
+ ItemOptionForValueField.propTypes = {
160
190
  /**
161
191
  * current condition object
162
192
  */
@@ -171,4 +201,4 @@ ConditionBuilderItemOption.propTypes = {
171
201
  onChange: PropTypes.func
172
202
  };
173
203
 
174
- export { ConditionBuilderItemOption };
204
+ export { ItemOptionForValueField };