@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
@@ -25,7 +25,7 @@ var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
25
25
 
26
26
  var _SkeletonText;
27
27
  var _excluded = ["className"],
28
- _excluded2 = ["children"];
28
+ _excluded2 = ["style", "children"];
29
29
  var blockClass = "".concat(settings.pkg.prefix, "--datagrid");
30
30
  var rowHeights = {
31
31
  xs: 24,
@@ -48,7 +48,8 @@ var DatagridRow = function DatagridRow(datagridState) {
48
48
  withExpandedRows = datagridState.withExpandedRows,
49
49
  withMouseHover = datagridState.withMouseHover,
50
50
  setMouseOverRowIndex = datagridState.setMouseOverRowIndex,
51
- headers = datagridState.headers;
51
+ headers = datagridState.headers,
52
+ visibleColumns = datagridState.visibleColumns;
52
53
  var getVisibleNestedRowCount = function getVisibleNestedRowCount(_ref) {
53
54
  var isExpanded = _ref.isExpanded,
54
55
  subRows = _ref.subRows;
@@ -116,7 +117,9 @@ var DatagridRow = function DatagridRow(datagridState) {
116
117
  }
117
118
  return {};
118
119
  };
119
- var _row$getRowProps = row.getRowProps(),
120
+ var _row$getRowProps = row.getRowProps({
121
+ role: undefined
122
+ }),
120
123
  className = _row$getRowProps.className,
121
124
  rowProps = _rollupPluginBabelHelpers.objectWithoutProperties(_row$getRowProps, _excluded);
122
125
  var foundAIRow = rows.some(function (r) {
@@ -124,6 +127,9 @@ var DatagridRow = function DatagridRow(datagridState) {
124
127
  return /*#__PURE__*/React.isValidElement(r === null || r === void 0 || (_r$original = r.original) === null || _r$original === void 0 ? void 0 : _r$original.slug);
125
128
  });
126
129
  var rowClassNames = cx__default["default"]("".concat(blockClass, "__carbon-row"), _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__carbon-row-expanded"), row.isExpanded), "".concat(blockClass, "__carbon-row-expandable"), row.canExpand), "".concat(settings.carbon.prefix, "--data-table--selected"), row.isSelected), "".concat(blockClass, "__slug--row"), /*#__PURE__*/React.isValidElement(row === null || row === void 0 || (_row$original = row.original) === null || _row$original === void 0 ? void 0 : _row$original.slug)));
130
+ var withActionsColumn = headers ? !!headers.filter(function (header) {
131
+ return header.isAction;
132
+ }).length : false;
127
133
  return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, {
128
134
  key: key
129
135
  }, /*#__PURE__*/React__default["default"].createElement(react.TableRow, _rollupPluginBabelHelpers["extends"]({}, rowProps, {
@@ -141,10 +147,13 @@ var DatagridRow = function DatagridRow(datagridState) {
141
147
  })) : /*#__PURE__*/React__default["default"].createElement("td", {
142
148
  className: "".concat(blockClass, "__table-row-ai-spacer")
143
149
  }) : null, row.cells.map(function (cell, index) {
144
- var _cell$column, _cell$column2, _content$props, _associatedHeader$;
145
- var cellProps = cell.getCellProps();
150
+ var _cell$column, _cell$column2, _associatedHeader$;
151
+ var cellProps = cell.getCellProps({
152
+ role: undefined
153
+ });
146
154
  // eslint-disable-next-line no-unused-vars
147
155
  var _ref2 = cellProps,
156
+ style = _ref2.style,
148
157
  children = _ref2.children,
149
158
  restProps = _rollupPluginBabelHelpers.objectWithoutProperties(_ref2, _excluded2);
150
159
  var columnClassname = cell === null || cell === void 0 || (_cell$column = cell.column) === null || _cell$column === void 0 ? void 0 : _cell$column.className;
@@ -155,15 +164,19 @@ var DatagridRow = function DatagridRow(datagridState) {
155
164
  key: cell.column.id
156
165
  });
157
166
  }
158
- var title = content === null || content === void 0 || (_content$props = content.props) === null || _content$props === void 0 || (_content$props = _content$props.children[0]) === null || _content$props === void 0 || (_content$props = _content$props.props) === null || _content$props === void 0 ? void 0 : _content$props.value;
159
167
  var associatedHeader = headers === null || headers === void 0 ? void 0 : headers.filter(function (h) {
160
168
  return h.id === cell.column.id;
161
169
  });
170
+ var lastVisibleIndex = withActionsColumn ? 2 : 1;
171
+ var lastVisibleFlexStyle = index === visibleColumns.length - lastVisibleIndex ? '1 1 0' : '0 0 auto';
172
+ if (style) {
173
+ style.flex = lastVisibleFlexStyle;
174
+ }
162
175
  return /*#__PURE__*/React__default["default"].createElement(react.TableCell, _rollupPluginBabelHelpers["extends"]({
163
176
  className: cx__default["default"]("".concat(blockClass, "__cell"), _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__expandable-row-cell"), row.canExpand && index === 0), "".concat(blockClass, "__expandable-row-cell--is-expanded"), row.isExpanded && index === 0), "".concat(blockClass, "__slug--cell"), associatedHeader && associatedHeader.length && /*#__PURE__*/React.isValidElement((_associatedHeader$ = associatedHeader[0]) === null || _associatedHeader$ === void 0 ? void 0 : _associatedHeader$.slug)), columnClassname)
164
177
  }, restProps, {
165
- key: cell.column.id,
166
- title: title
178
+ style: style,
179
+ key: cell.column.id
167
180
  }), content);
168
181
  })), (renderExpandedRow === null || renderExpandedRow === void 0 ? void 0 : renderExpandedRow()) || undefined);
169
182
  };
@@ -25,11 +25,12 @@ var _excluded = ["onChange"];
25
25
  var blockClass = "".concat(settings.pkg.prefix, "--datagrid");
26
26
  var SelectAll = function SelectAll(datagridState) {
27
27
  var _columns$;
28
- var _useState = React.useState(typeof window !== 'undefined' ? window.innerWidth : ''),
28
+ var _useState = React.useState(),
29
29
  _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
30
30
  windowSize = _useState2[0],
31
31
  setWindowSize = _useState2[1];
32
32
  React.useLayoutEffect(function () {
33
+ setWindowSize(window.innerWidth);
33
34
  /* istanbul ignore next */
34
35
  function updateSize() {
35
36
  setWindowSize(window.innerWidth);
@@ -52,11 +52,12 @@ var SelectAllWithToggle = function SelectAllWithToggle(_ref) {
52
52
  onSelectAllRows(isAllRowsSelected && selectAllMode === SELECT_ALL_ROWS);
53
53
  }
54
54
  }, [isAllRowsSelected, selectAllMode, onSelectAllRows]);
55
- var _useState3 = React.useState(window.innerWidth),
55
+ var _useState3 = React.useState(),
56
56
  _useState4 = _rollupPluginBabelHelpers.slicedToArray(_useState3, 2),
57
57
  windowSize = _useState4[0],
58
58
  setWindowSize = _useState4[1];
59
59
  React.useLayoutEffect(function () {
60
+ setWindowSize(window.innerWidth);
60
61
  function updateSize() {
61
62
  setWindowSize(window.innerWidth);
62
63
  }
@@ -77,7 +78,7 @@ var SelectAllWithToggle = function SelectAllWithToggle(_ref) {
77
78
  var isFirstColumnStickyLeft = (columns === null || columns === void 0 || (_columns$ = columns[0]) === null || _columns$ === void 0 ? void 0 : _columns$.sticky) === 'left' && withStickyColumn;
78
79
  return /*#__PURE__*/React__default["default"].createElement("th", {
79
80
  scope: "col",
80
- className: cx__default["default"]("".concat(blockClass, "__select-all-toggle-on"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__select-all-sticky-left"), isFirstColumnStickyLeft && windowSize > 671))
81
+ className: cx__default["default"]("".concat(blockClass, "__select-all-toggle-on"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__select-all-sticky-left"), isFirstColumnStickyLeft && (windowSize !== null && windowSize !== void 0 ? windowSize : 0) > 671))
81
82
  }, /*#__PURE__*/React__default["default"].createElement("span", null, /*#__PURE__*/React__default["default"].createElement(react.Checkbox, _rollupPluginBabelHelpers["extends"]({}, selectProps, {
82
83
  name: "".concat(tableId, "-select-all-checkbox-name"),
83
84
  onClick: function onClick(e) {
@@ -218,7 +218,12 @@ var FilterFlyout = function FilterFlyout(_ref) {
218
218
  closeFlyout();
219
219
  cancel();
220
220
  });
221
- useSubscribeToEventEmitter["default"](constants.CLEAR_FILTERS, reset);
221
+
222
+ // tableId is passed in from the event emitter from the FilterSummary component
223
+ // in DatagridContent
224
+ useSubscribeToEventEmitter["default"](constants.CLEAR_FILTERS, function (tableId) {
225
+ reset(tableId);
226
+ });
222
227
  React.useEffect(function reflectLastAppliedFiltersWhenReactTableUpdates() {
223
228
  lastAppliedFilters.current = JSON.stringify(reactTableFiltersState);
224
229
  }, [reactTableFiltersState, lastAppliedFilters]);
@@ -192,7 +192,12 @@ var FilterPanel = function FilterPanel(_ref) {
192
192
  var _filterPanelRef$curre;
193
193
  (_filterPanelRef$curre = filterPanelRef.current) === null || _filterPanelRef$curre === void 0 || _filterPanelRef$curre.style.setProperty('--filter-panel-min-height', layout.rem(filterPanelMinHeight));
194
194
  }, [filterPanelMinHeight]);
195
- useSubscribeToEventEmitter["default"](constants.CLEAR_FILTERS, reset);
195
+
196
+ // tableId is passed in from the event emitter from the FilterSummary component
197
+ // in DatagridContent
198
+ useSubscribeToEventEmitter["default"](constants.CLEAR_FILTERS, function (tableId) {
199
+ reset(tableId);
200
+ });
196
201
  var getScrollableContainerHeight = function getScrollableContainerHeight() {
197
202
  var _filterHeadingRef$cur, _filterSearchRef$curr, _actionSetRef$current;
198
203
  var filterHeadingHeight = (_filterHeadingRef$cur = filterHeadingRef.current) === null || _filterHeadingRef$cur === void 0 ? void 0 : _filterHeadingRef$cur.getBoundingClientRect().height;
@@ -3,16 +3,18 @@ export function clearSingleFilter({ key, value }: {
3
3
  key: any;
4
4
  value: any;
5
5
  }, setAllFilters: any, state: any): void;
6
- export function FilterProvider({ children, filters, filterProps }: {
6
+ export function FilterProvider({ children, filters, filterProps, tableId }: {
7
7
  children: any;
8
8
  filters: any;
9
9
  filterProps: any;
10
+ tableId: any;
10
11
  }): import("react/jsx-runtime").JSX.Element;
11
12
  export namespace FilterProvider {
12
13
  namespace propTypes {
13
14
  let children: PropTypes.Validator<NonNullable<NonNullable<PropTypes.ReactNodeLike>>>;
14
15
  let filterProps: PropTypes.Requireable<object>;
15
16
  let filters: PropTypes.Validator<(object | null | undefined)[]>;
17
+ let tableId: PropTypes.Requireable<string>;
16
18
  }
17
19
  }
18
20
  import React from 'react';
@@ -70,7 +70,7 @@ var clearSingleFilter = function clearSingleFilter(_ref, setAllFilters, state) {
70
70
  This checks if all the checkboxes are selected = false and removes it from the array
71
71
  */
72
72
  var valueIndex = filterValues.findIndex(function (val) {
73
- return val.id === value;
73
+ return val.value === value;
74
74
  });
75
75
  filterValues[valueIndex].selected = false;
76
76
  var updatedFilterObject = _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, f), {}, {
@@ -164,7 +164,8 @@ var filteringReducer = function filteringReducer(state, action) {
164
164
  var FilterProvider = function FilterProvider(_ref4) {
165
165
  var children = _ref4.children,
166
166
  filters = _ref4.filters,
167
- filterProps = _ref4.filterProps;
167
+ filterProps = _ref4.filterProps,
168
+ tableId = _ref4.tableId;
168
169
  var _ref5 = filterProps || {},
169
170
  renderDateLabel = _ref5.renderDateLabel;
170
171
  var filterTags = prepareFiltersForTags(filters, renderDateLabel);
@@ -185,7 +186,8 @@ var FilterProvider = function FilterProvider(_ref4) {
185
186
  panelOpen: panelOpen,
186
187
  setPanelOpen: setPanelOpen,
187
188
  state: state,
188
- dispatch: dispatch
189
+ dispatch: dispatch,
190
+ tableId: tableId
189
191
  };
190
192
  return /*#__PURE__*/React__default["default"].createElement(FilterContext.Provider, {
191
193
  value: value
@@ -194,7 +196,8 @@ var FilterProvider = function FilterProvider(_ref4) {
194
196
  FilterProvider.propTypes = {
195
197
  children: index["default"].oneOfType([index["default"].arrayOf(index["default"].node), index["default"].node]).isRequired,
196
198
  filterProps: index["default"].object,
197
- filters: index["default"].arrayOf(index["default"].object).isRequired
199
+ filters: index["default"].arrayOf(index["default"].object).isRequired,
200
+ tableId: index["default"].string
198
201
  };
199
202
 
200
203
  exports.FilterContext = FilterContext;
@@ -15,7 +15,7 @@ declare function useFilters({ updateMethod, filters, setAllFilters, variation, r
15
15
  prevFiltersObjectArrayRef: React.MutableRefObject<string>;
16
16
  prevFiltersRef: React.MutableRefObject<string>;
17
17
  revertToPreviousFilters: () => void;
18
- reset: () => void;
18
+ reset: (tableId: any) => void;
19
19
  renderFilter: ({ type, column, props: components }: {
20
20
  type: any;
21
21
  column: any;
@@ -36,7 +36,8 @@ var useFilters = function useFilters(_ref) {
36
36
  isFetching = _ref.isFetching;
37
37
  var _useContext = React.useContext(FilterProvider.FilterContext),
38
38
  state = _useContext.state,
39
- localDispatch = _useContext.dispatch;
39
+ localDispatch = _useContext.dispatch,
40
+ contextTableId = _useContext.tableId;
40
41
  var savedFilters = state.savedFilters;
41
42
  /** State */
42
43
  var _useState = React.useState(utils.getInitialStateFromFilters(filters, variation, reactTableFiltersState)),
@@ -77,24 +78,28 @@ var useFilters = function useFilters(_ref) {
77
78
  holdingLastAppliedFiltersRef.current = JSON.parse(prevFiltersObjectArrayRef.current);
78
79
  holdingPrevFiltersObjectArrayRef.current = JSON.parse(lastAppliedFilters.current);
79
80
  }, [setAllFilters]);
80
- var reset = React.useCallback(function () {
81
- // When we reset we want the "initialFilters" to be an empty array
82
- var resetFiltersArray = [];
81
+ var reset = React.useCallback(function (tableId) {
82
+ // only reset filters if tableid of the datagrid that triggered "clear filters"
83
+ // matches the table id stored in its context instance
84
+ if (tableId === contextTableId) {
85
+ // When we reset we want the "initialFilters" to be an empty array
86
+ var resetFiltersArray = [];
83
87
 
84
- // Get the initial values for the filters
85
- var initialFiltersState = utils.getInitialStateFromFilters(filters, variation, resetFiltersArray);
86
- var initialFiltersObjectArray = [];
88
+ // Get the initial values for the filters
89
+ var initialFiltersState = utils.getInitialStateFromFilters(filters, variation, resetFiltersArray);
90
+ var initialFiltersObjectArray = [];
87
91
 
88
- // Set the state to the initial values
89
- setFiltersState(initialFiltersState);
90
- setFiltersObjectArray(initialFiltersObjectArray);
91
- setAllFilters([]);
92
+ // Set the state to the initial values
93
+ setFiltersState(initialFiltersState);
94
+ setFiltersObjectArray(initialFiltersObjectArray);
95
+ setAllFilters([]);
92
96
 
93
- // Update their respective refs so everything is in sync
94
- prevFiltersRef.current = JSON.stringify(initialFiltersState);
95
- prevFiltersObjectArrayRef.current = JSON.stringify(initialFiltersObjectArray);
96
- lastAppliedFilters.current = JSON.stringify([]);
97
- }, [filters, setAllFilters, variation]);
97
+ // Update their respective refs so everything is in sync
98
+ prevFiltersRef.current = JSON.stringify(initialFiltersState);
99
+ prevFiltersObjectArrayRef.current = JSON.stringify(initialFiltersObjectArray);
100
+ lastAppliedFilters.current = JSON.stringify([]);
101
+ }
102
+ }, [filters, setAllFilters, variation, contextTableId]);
98
103
  var applyFilters = function applyFilters(_ref2) {
99
104
  var column = _ref2.column,
100
105
  value = _ref2.value,
@@ -36,8 +36,7 @@ var InlineEditButton = function InlineEditButton(_ref) {
36
36
  tabIndex: isActiveCell ? 0 : -1,
37
37
  "data-disabled": disabledCell,
38
38
  "aria-disabled": disabledCell,
39
- role: "button",
40
- title: label
39
+ role: "button"
41
40
  }, LabelIcon && /*#__PURE__*/React__default["default"].createElement("div", {
42
41
  className: "".concat(blockClass, "__label-icon")
43
42
  }, /*#__PURE__*/React__default["default"].createElement(LabelIcon, null)), label !== '' ? /*#__PURE__*/React__default["default"].createElement("span", {
@@ -57,7 +56,7 @@ InlineEditButton.propTypes = {
57
56
  nonEditCell: index["default"].bool,
58
57
  placeholder: index["default"].string,
59
58
  renderIcon: index["default"].oneOfType([index["default"].func, index["default"].object]),
60
- type: index["default"].oneOf(['text', 'number', 'selection', 'date']),
59
+ type: index["default"].oneOf(['text', 'number', 'selection', 'date', 'checkbox']),
61
60
  value: index["default"].oneOfType([index["default"].string, index["default"].node])
62
61
  };
63
62
 
@@ -28,7 +28,7 @@ var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
28
28
 
29
29
  var blockClass = "".concat(settings.pkg.prefix, "--datagrid");
30
30
  var InlineEditCell = function InlineEditCell(_ref) {
31
- var _config$validator, _value$text;
31
+ var _config$validator;
32
32
  var cell = _ref.cell,
33
33
  config = _ref.config,
34
34
  _ref$disabledCell = _ref.disabledCell,
@@ -75,6 +75,7 @@ var InlineEditCell = function InlineEditCell(_ref) {
75
75
  var _ref2 = config || {},
76
76
  inputProps = _ref2.inputProps;
77
77
  var textInputRef = React.useRef();
78
+ var checkboxRef = React.useRef();
78
79
  var numberInputRef = React.useRef();
79
80
  var dropdownRef = React.useRef();
80
81
  var datePickerRef = React.useRef();
@@ -217,10 +218,36 @@ var InlineEditCell = function InlineEditCell(_ref) {
217
218
  var handleKeyDown = function handleKeyDown(event) {
218
219
  var key = event.key;
219
220
  switch (key) {
221
+ case 'ArrowRight':
222
+ case 'ArrowLeft':
223
+ case 'ArrowUp':
224
+ case 'ArrowDown':
225
+ if (inEditMode && event.target.type === 'checkbox') {
226
+ var newCellId = getNewCellId(key);
227
+ saveCellData(cellValue);
228
+ setInitialValue(cellValue);
229
+ dispatch({
230
+ type: 'EXIT_EDIT_MODE',
231
+ payload: newCellId
232
+ });
233
+ setInEditMode(false);
234
+ sendFocusBackToGrid();
235
+ }
236
+ break;
220
237
  // Save cell contents to data
221
238
  case 'Tab':
222
239
  case 'Enter':
223
240
  {
241
+ if (type === 'checkbox') {
242
+ // Since checkbox doesn't need to click into it to enter `inEditMode` we don't need to check for it
243
+ var _newCellId = getNewCellId(key);
244
+ dispatch({
245
+ type: 'EXIT_EDIT_MODE',
246
+ payload: _newCellId
247
+ });
248
+ setInEditMode(false);
249
+ sendFocusBackToGrid();
250
+ }
224
251
  if (inEditMode) {
225
252
  // Dropdown saves are handled in the Dropdown's/DatePicker's onChange prop
226
253
  if (type === 'selection' || type === 'date') {
@@ -234,12 +261,12 @@ var InlineEditCell = function InlineEditCell(_ref) {
234
261
  if (isInvalid) {
235
262
  return;
236
263
  }
237
- var newCellId = getNewCellId(key);
264
+ var _newCellId2 = getNewCellId(key);
238
265
  saveCellData(cellValue);
239
266
  setInitialValue(cellValue);
240
267
  dispatch({
241
268
  type: 'EXIT_EDIT_MODE',
242
- payload: newCellId
269
+ payload: _newCellId2
243
270
  });
244
271
  setInEditMode(false);
245
272
  sendFocusBackToGrid();
@@ -434,9 +461,27 @@ var InlineEditCell = function InlineEditCell(_ref) {
434
461
  ref: numberInputRef
435
462
  }));
436
463
  };
464
+ var renderCheckBoxCell = function renderCheckBoxCell() {
465
+ return /*#__PURE__*/React__default["default"].createElement(react.Checkbox, _rollupPluginBabelHelpers["extends"]({
466
+ labelText: cellLabel || 'Checkbox'
467
+ }, inputProps, {
468
+ className: cx__default["default"]("".concat(blockClass, "__inline-edit--outer-cell-checkbox"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__inline-edit--outer-cell-checkbox-focus"), activeCellId === cellId)),
469
+ id: cellId,
470
+ hideLabel: true,
471
+ checked: cellValue,
472
+ onChange: function onChange(event, _ref10) {
473
+ var checked = _ref10.checked;
474
+ setCellValue(checked);
475
+ if (inputProps.onChange) {
476
+ inputProps.onChange(checked);
477
+ }
478
+ },
479
+ ref: checkboxRef
480
+ }));
481
+ };
437
482
  var renderTextInput = function renderTextInput() {
438
- var _ref10 = config || {},
439
- validator = _ref10.validator;
483
+ var _ref11 = config || {},
484
+ validator = _ref11.validator;
440
485
  var isInvalid = validator === null || validator === void 0 ? void 0 : validator(cellValue);
441
486
  return /*#__PURE__*/React__default["default"].createElement(react.TextInput, _rollupPluginBabelHelpers["extends"]({
442
487
  labelText: cellLabel,
@@ -456,6 +501,24 @@ var InlineEditCell = function InlineEditCell(_ref) {
456
501
  ref: textInputRef
457
502
  }));
458
503
  };
504
+ var getLabel = function getLabel() {
505
+ var _value$text, _checkStaticCell;
506
+ var checkStaticCell = function checkStaticCell(val) {
507
+ if (_rollupPluginBabelHelpers["typeof"](val) === 'object' && val !== null && val !== void 0 && val.isStaticCell) {
508
+ return val === null || val === void 0 ? void 0 : val.value;
509
+ }
510
+ };
511
+ switch (type) {
512
+ case 'selection':
513
+ checkStaticCell(value);
514
+ return (_value$text = value === null || value === void 0 ? void 0 : value.text) !== null && _value$text !== void 0 ? _value$text : value;
515
+ case 'date':
516
+ checkStaticCell(value);
517
+ return buildDate(value);
518
+ default:
519
+ return (_checkStaticCell = checkStaticCell(value)) !== null && _checkStaticCell !== void 0 ? _checkStaticCell : value;
520
+ }
521
+ };
459
522
  return (
460
523
  /*#__PURE__*/
461
524
  // eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions
@@ -464,15 +527,15 @@ var InlineEditCell = function InlineEditCell(_ref) {
464
527
  "data-cell-id": cellId,
465
528
  "data-column-index": columnIndex,
466
529
  "data-row-index": cell.row.index,
467
- "data-disabled": disabledCell,
530
+ "data-disabled": disabledCell || nonEditCell,
468
531
  "data-inline-type": type,
469
532
  onClick: !nonEditCell ? handleInlineCellClick : addActiveState,
470
533
  onKeyDown: !nonEditCell ? handleKeyDown : null,
471
534
  className: cx__default["default"]("".concat(blockClass, "__inline-edit--outer-cell-button"), _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__inline-edit--outer-cell-button--").concat(rowSize), rowSize), "".concat(blockClass, "__inline-edit--outer-cell-button--lg"), !rowSize), "".concat(blockClass, "__inline-edit--outer-cell-button--invalid"), inEditMode && (config === null || config === void 0 || (_config$validator = config.validator) === null || _config$validator === void 0 ? void 0 : _config$validator.call(config, cellValue))), "".concat(blockClass, "__static--outer-cell"), !disabledCell))
472
- }, !nonEditCell && !disabledCell && renderRegularCell(), (!inEditMode || disabledCell) && /*#__PURE__*/React__default["default"].createElement(InlineEditButton.InlineEditButton, {
535
+ }, !nonEditCell && !disabledCell && type !== 'checkbox' && renderRegularCell(), (!inEditMode || disabledCell) && type !== 'checkbox' && /*#__PURE__*/React__default["default"].createElement(InlineEditButton.InlineEditButton, {
473
536
  isActiveCell: cellId === activeCellId,
474
537
  renderIcon: setRenderIcon(),
475
- label: type === 'selection' ? (_value$text = value === null || value === void 0 ? void 0 : value.text) !== null && _value$text !== void 0 ? _value$text : value : type === 'date' ? buildDate(value) : value,
538
+ label: getLabel(),
476
539
  disabledCell: disabledCell,
477
540
  labelIcon: (value === null || value === void 0 ? void 0 : value.icon) || null,
478
541
  placeholder: placeholder,
@@ -480,7 +543,7 @@ var InlineEditCell = function InlineEditCell(_ref) {
480
543
  nonEditCell: nonEditCell,
481
544
  columnConfig: cell.column,
482
545
  type: type
483
- }), !nonEditCell && inEditMode && cellId === activeCellId && /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, type === 'text' && renderTextInput(), type === 'number' && renderNumberInput(), type === 'selection' && renderSelectCell(), type === 'date' && renderDateCell()))
546
+ }), type === 'checkbox' && renderCheckBoxCell(), !nonEditCell && inEditMode && cellId === activeCellId && /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, type === 'text' && renderTextInput(), type === 'number' && renderNumberInput(), type === 'selection' && renderSelectCell(), type === 'date' && renderDateCell()))
484
547
  );
485
548
  };
486
549
  InlineEditCell.propTypes = {
@@ -498,7 +561,7 @@ InlineEditCell.propTypes = {
498
561
  nonEditCell: index["default"].bool,
499
562
  placeholder: index["default"].string,
500
563
  tabIndex: index["default"].number,
501
- type: index["default"].oneOf(['text', 'number', 'selection', 'date']),
564
+ type: index["default"].oneOf(['text', 'number', 'selection', 'date', 'checkbox']),
502
565
  value: index["default"].oneOfType([index["default"].string, index["default"].node, index["default"].object])
503
566
  };
504
567
 
@@ -78,7 +78,7 @@ var handleGridKeyPress = function handleGridKeyPress(_ref) {
78
78
  };
79
79
 
80
80
  // Stop grid key listener when in edit mode
81
- var isEditing = document.activeElement.id === activeCellId && document.activeElement.id === editId || dropdownIsActive() || datePickerIsActive();
81
+ var isEditing = focusedCell.getAttribute('data-inline-type') !== 'checkbox' && document.activeElement.id === activeCellId && document.activeElement.id === editId || dropdownIsActive() || datePickerIsActive();
82
82
  if (isEditing || !gridActive) {
83
83
  return;
84
84
  }
@@ -91,6 +91,7 @@ var handleGridKeyPress = function handleGridKeyPress(_ref) {
91
91
  event.preventDefault();
92
92
  }
93
93
  var isDisabledCell = focusedCell.getAttribute('data-disabled') === 'false' ? false : true;
94
+ var isEditableCell = !event.target.classList.contains("".concat(blockClass, "__inline-edit-button--non-edit"));
94
95
  var sharedUpdateParams = {
95
96
  oldId: activeCellId,
96
97
  instance: instance
@@ -198,7 +199,7 @@ var handleGridKeyPress = function handleGridKeyPress(_ref) {
198
199
  case 'Enter':
199
200
  {
200
201
  // Disabled cells are not allowed to go into edit mode
201
- if (isDisabledCell) {
202
+ if (isDisabledCell || !isEditableCell) {
202
203
  return;
203
204
  }
204
205
  // Only go into edit mode if there is no editId, meaning that we're not already in edit mode
@@ -211,6 +212,13 @@ var handleGridKeyPress = function handleGridKeyPress(_ref) {
211
212
  dropdownTrigger === null || dropdownTrigger === void 0 || dropdownTrigger.click();
212
213
  }, 1);
213
214
  }
215
+ if (focusedType === 'checkbox') {
216
+ setTimeout(function () {
217
+ var checkboxTrigger = focusedCell.querySelector('input');
218
+ checkboxTrigger === null || checkboxTrigger === void 0 || checkboxTrigger.click();
219
+ checkboxTrigger === null || checkboxTrigger === void 0 || checkboxTrigger.focus();
220
+ }, 1);
221
+ }
214
222
  if (focusedType === 'date') {
215
223
  setTimeout(function () {
216
224
  var dateInputTrigger = focusedCell.querySelector('input');
@@ -5,10 +5,10 @@ import { RadioButtonProps } from '@carbon/react/lib/components/RadioButton/Radio
5
5
  import { RadioButtonGroupProps } from '@carbon/react/lib/components/RadioButtonGroup/RadioButtonGroup';
6
6
  import { CheckboxProps } from '@carbon/react/lib/components/Checkbox';
7
7
  import { NumberInputProps } from '@carbon/react/lib/components/NumberInput/NumberInput';
8
- import { CSSProperties, JSXElementConstructor, MutableRefObject, ReactNode, TouchEventHandler } from 'react';
9
- import { Cell, Column, ColumnInstance, FilterValue, Filters, HeaderGroup, Meta, Row, TableCommonProps, TableDispatch, TableInstance, TableToggleAllRowsSelectedProps, UseExpandedRowProps, UseFiltersInstanceProps, UsePaginationInstanceProps, UseResizeColumnsColumnProps, UseResizeColumnsState, UseRowSelectInstanceProps, UseRowSelectRowProps, UseRowSelectState, UseSortByColumnProps, UseTableHooks } from 'react-table';
8
+ import React, { CSSProperties, ComponentType, FunctionComponent, JSXElementConstructor, MutableRefObject, ReactNode, TouchEventHandler } from 'react';
9
+ import { Cell, Column, ColumnInstance, FilterValue, Filters, HeaderGroup, Meta, Row, TableCommonProps, TableDispatch, TableInstance, TableToggleAllRowsSelectedProps, UseExpandedRowProps, UseFiltersInstanceProps, UsePaginationInstanceProps, UseResizeColumnsColumnProps, UseResizeColumnsOptions, UseResizeColumnsState, UseRowSelectInstanceProps, UseRowSelectRowProps, UseRowSelectState, UseSortByColumnProps, UseSortByOptions, UseTableHooks } from 'react-table';
10
10
  import { CarbonIconType } from '@carbon/react/icons';
11
- import { type ButtonProps } from '@carbon/react';
11
+ import { IconButton, type ButtonProps } from '@carbon/react';
12
12
  import { TableBatchActionsProps } from '@carbon/react/lib/components/DataTable/TableBatchActions';
13
13
  export type Size = 'xs' | 'sm' | 'md' | 'lg';
14
14
  export interface ResizerProps {
@@ -59,6 +59,18 @@ interface Labels {
59
59
  allPageRows?: object;
60
60
  allRows?: object;
61
61
  }
62
+ interface ColumnLabels {
63
+ findColumnPlaceholderLabel?: string;
64
+ resetToDefaultLabel?: string;
65
+ customizeTearsheetHeadingLabel?: string;
66
+ primaryButtonTextLabel?: string;
67
+ secondaryButtonTextLabel?: string;
68
+ instructionsLabel?: string;
69
+ iconTooltipLabel?: string;
70
+ assistiveTextInstructionsLabel?: string;
71
+ assistiveTextDisabledInstructionsLabel?: string;
72
+ selectAllLabel?: string;
73
+ }
62
74
  interface Section {
63
75
  categoryTitle?: string;
64
76
  filters?: DataGridFilter[];
@@ -85,9 +97,10 @@ export interface DataGridToggleAllRowsProps extends TableToggleAllRowsSelectedPr
85
97
  }
86
98
  export interface DatagridTableHooks<T extends object = any> extends UseTableHooks<T> {
87
99
  }
88
- export interface DatagridColumn<T extends object = any> extends ColumnInstance<T> {
100
+ export interface DatagridColumn<T extends object = any> extends ColumnInstance<T>, UseSortByOptions<T>, Partial<UseResizeColumnsColumnProps<T>>, UseResizeColumnsOptions<T> {
89
101
  sticky?: 'left' | 'right';
90
102
  className?: string;
103
+ rightAlignedColumn?: boolean;
91
104
  disableSortBy?: boolean;
92
105
  centerAlignedColumn?: boolean;
93
106
  }
@@ -100,6 +113,7 @@ export interface DatagridRow<T extends object = any> extends Omit<Row<T>, 'cells
100
113
  RowExpansionRenderer?: (state?: DataGridState) => void;
101
114
  cells: Array<DataGridCell>;
102
115
  isSkeleton?: boolean;
116
+ hasExpanded?: boolean;
103
117
  }
104
118
  export interface DataGridHeader<T extends object = any> extends ColumnInstance, UseResizeColumnsColumnProps<T>, UseSortByColumnProps<T> {
105
119
  className(className: any, arg1: {
@@ -110,15 +124,23 @@ export interface DataGridHeader<T extends object = any> extends ColumnInstance,
110
124
  }
111
125
  export interface DataGridHeaderGroup<T extends object = any> extends HeaderGroup<T>, UseResizeColumnsColumnProps<T> {
112
126
  }
113
- export interface TableProps {
114
- className?: string;
115
- role?: string;
116
- style?: CSSStyleDeclaration;
127
+ export interface DataGridTableProps extends TableCommonProps {
117
128
  }
118
129
  interface DataGridTableState extends UseResizeColumnsState<any>, UseRowSelectState<any> {
119
130
  filters: Filters<DataGridFilter>;
120
131
  }
121
132
  export interface DataGridTableInstance<T extends object = any> extends TableInstance<T> {
133
+ withSelectRows?: boolean;
134
+ }
135
+ export interface RowAction {
136
+ id?: string;
137
+ itemText?: string;
138
+ icon?: ComponentType | FunctionComponent;
139
+ align?: React.ComponentProps<typeof IconButton>['align'];
140
+ shouldHideMenuItem?: (...args: any[]) => void;
141
+ shouldDisableMenuItem?: (...args: any[]) => void;
142
+ disabled?: boolean;
143
+ onClick?: (...args: any[]) => void;
122
144
  }
123
145
  export interface DataGridState<T extends object = any> extends TableCommonProps, UsePaginationInstanceProps<T>, Omit<TableInstance<T>, 'state' | 'headers' | 'rows' | 'columns'>, Omit<UseFiltersInstanceProps<T>, 'rows'>, UseRowSelectInstanceProps<T>, Pick<UseRowSelectInstanceProps<T>, 'toggleAllRowsSelected'> {
124
146
  withVirtualScroll?: boolean;
@@ -142,6 +164,7 @@ export interface DataGridState<T extends object = any> extends TableCommonProps,
142
164
  batchActions?: boolean;
143
165
  row: DatagridRow;
144
166
  rows: Array<DatagridRow<any>>;
167
+ rowActions?: RowAction[];
145
168
  columns: Array<DatagridColumn>;
146
169
  key?: any;
147
170
  rowSize?: Size;
@@ -197,11 +220,23 @@ export interface DataGridState<T extends object = any> extends TableCommonProps,
197
220
  expandedRowIds?: object;
198
221
  onRowClick?: (row: any, event: any) => void;
199
222
  onSort?: boolean;
223
+ customizeColumnsProps?: {
224
+ onSaveColumnPrefs?: (args: any) => void;
225
+ labels?: ColumnLabels;
226
+ isTearsheetOpen?: boolean;
227
+ setIsTearsheetOpen?: (args: boolean) => void;
228
+ };
229
+ CustomizeColumnsButton?: (args: any) => ReactNode;
200
230
  column?: DatagridColumn;
201
231
  expandedContentHeight?: number;
202
232
  onRowExpand?: (row: DatagridRow, event: React.MouseEvent<HTMLElement>) => void;
203
233
  ExpandedRowContentComponent?: JSXElementConstructor<any>;
204
234
  }
235
+ export interface DataGridData {
236
+ instance?: DataGridTableInstance;
237
+ column?: DatagridColumn;
238
+ cell?: DataGridCell;
239
+ }
205
240
  export interface ResizeHeaderProps {
206
241
  resizerProps?: ResizerProps;
207
242
  header: DataGridHeader;
@@ -217,4 +252,5 @@ export interface ResizeHeaderProps {
217
252
  isFetching?: boolean;
218
253
  }
219
254
  export type VisibleColumns<T extends object = {}> = (allColumns: Array<ColumnInstance<T>>, meta: Meta<T>) => Array<Column<T>>;
255
+ export type NodeFuncType = (props: any) => ReactNode;
220
256
  export {};
@@ -1,2 +1,9 @@
1
+ /**
2
+ * Copyright IBM Corp. 2021, 2023
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
+ import { Hooks } from 'react-table';
8
+ declare const useActionsColumn: (hooks: Hooks) => void;
1
9
  export default useActionsColumn;
2
- declare function useActionsColumn(hooks: any): void;