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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (324) hide show
  1. package/css/index-full-carbon.css +427 -139
  2. package/css/index-full-carbon.css.map +1 -1
  3. package/css/index-full-carbon.min.css +1 -1
  4. package/css/index-full-carbon.min.css.map +1 -1
  5. package/css/index-without-carbon-released-only.css +218 -5
  6. package/css/index-without-carbon-released-only.css.map +1 -1
  7. package/css/index-without-carbon-released-only.min.css +1 -1
  8. package/css/index-without-carbon-released-only.min.css.map +1 -1
  9. package/css/index-without-carbon.css +247 -101
  10. package/css/index-without-carbon.css.map +1 -1
  11. package/css/index-without-carbon.min.css +1 -1
  12. package/css/index-without-carbon.min.css.map +1 -1
  13. package/css/index.css +348 -125
  14. package/css/index.css.map +1 -1
  15. package/css/index.min.css +1 -1
  16. package/css/index.min.css.map +1 -1
  17. package/es/components/ActionBar/ActionBarItem.js +1 -1
  18. package/es/components/Coachmark/Coachmark.d.ts +6 -1
  19. package/es/components/Coachmark/Coachmark.js +47 -11
  20. package/es/components/Coachmark/CoachmarkOverlay.js +2 -4
  21. package/es/components/CoachmarkBeacon/CoachmarkBeacon.js +1 -7
  22. package/es/components/CoachmarkFixed/CoachmarkFixed.js +13 -11
  23. package/es/components/CoachmarkStack/CoachmarkStack.js +7 -3
  24. package/es/components/CoachmarkStack/CoachmarkStackHome.js +8 -4
  25. package/es/components/ConditionBuilder/ConditionBlock/ConditionBlock.js +76 -55
  26. package/es/components/ConditionBuilder/ConditionBuilder.js +82 -25
  27. package/es/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.d.ts +15 -0
  28. package/es/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.js +154 -0
  29. package/es/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.d.ts +3 -1
  30. package/es/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +29 -13
  31. package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +8 -1
  32. package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +30 -8
  33. package/es/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.js +14 -9
  34. package/es/components/ConditionBuilder/ConditionBuilderConnector/GroupConnector.js +19 -11
  35. package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +9 -13
  36. package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +75 -62
  37. package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts +13 -7
  38. package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +31 -8
  39. package/es/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.d.ts +8 -2
  40. package/es/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.js +35 -24
  41. package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +40 -36
  42. package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +40 -36
  43. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.d.ts +6 -2
  44. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +98 -40
  45. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.d.ts +3 -1
  46. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.js +24 -9
  47. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js +27 -9
  48. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.d.ts +13 -0
  49. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js +114 -0
  50. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.d.ts → ItemOptionForValueField.d.ts} +2 -2
  51. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.js → ItemOptionForValueField.js} +71 -38
  52. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.d.ts +5 -1
  53. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.js +22 -9
  54. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemTime/ConditionBuilderItemTime.js +1 -1
  55. package/es/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.d.ts +1 -3
  56. package/es/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +121 -40
  57. package/es/components/ConditionBuilder/ConditionPreview/ConditionPreview.d.ts +3 -1
  58. package/es/components/ConditionBuilder/ConditionPreview/ConditionPreview.js +45 -19
  59. package/es/components/ConditionBuilder/utils/handleKeyboardEvents.d.ts +2 -1
  60. package/es/components/ConditionBuilder/utils/handleKeyboardEvents.js +137 -40
  61. package/es/components/ConditionBuilder/utils/useTranslations.d.ts +1 -0
  62. package/es/components/ConditionBuilder/utils/useTranslations.js +26 -0
  63. package/es/components/ConditionBuilder/utils/util.d.ts +6 -4
  64. package/es/components/ConditionBuilder/utils/util.js +42 -17
  65. package/es/components/CreateFullPage/CreateFullPage.js +2 -2
  66. package/es/components/DataSpreadsheet/DataSpreadsheet.d.ts +26 -0
  67. package/es/components/DataSpreadsheet/DataSpreadsheet.js +129 -53
  68. package/es/components/DataSpreadsheet/DataSpreadsheetBody.d.ts +16 -0
  69. package/es/components/DataSpreadsheet/DataSpreadsheetBody.js +32 -7
  70. package/es/components/DataSpreadsheet/DataSpreadsheetHeader.d.ts +8 -0
  71. package/es/components/DataSpreadsheet/DataSpreadsheetHeader.js +16 -3
  72. package/es/components/DataSpreadsheet/types/index.d.ts +1 -0
  73. package/es/components/Datagrid/Datagrid/Datagrid.d.ts +0 -4
  74. package/es/components/Datagrid/Datagrid/Datagrid.js +4 -9
  75. package/es/components/Datagrid/Datagrid/DatagridContent.js +1 -1
  76. package/es/components/Datagrid/Datagrid/DatagridHeaderRow.js +23 -8
  77. package/es/components/Datagrid/Datagrid/DatagridRow.js +21 -8
  78. package/es/components/Datagrid/Datagrid/DatagridSelectAll.js +2 -1
  79. package/es/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +3 -2
  80. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +34 -10
  81. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +6 -1
  82. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +6 -1
  83. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.d.ts +3 -1
  84. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +7 -4
  85. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.d.ts +1 -1
  86. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +54 -17
  87. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +2 -3
  88. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +74 -11
  89. package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +10 -2
  90. package/es/components/Datagrid/types/index.d.ts +57 -9
  91. package/es/components/Datagrid/useActionsColumn.d.ts +8 -1
  92. package/es/components/Datagrid/useActionsColumn.js +7 -6
  93. package/es/components/Datagrid/useColumnRightAlign.d.ts +8 -1
  94. package/es/components/Datagrid/useColumnRightAlign.js +4 -3
  95. package/es/components/Datagrid/useCustomizeColumns.d.ts +8 -1
  96. package/es/components/Datagrid/useCustomizeColumns.js +4 -3
  97. package/es/components/Datagrid/useDefaultStringRenderer.js +0 -1
  98. package/es/components/Datagrid/useDisableSelectRows.d.ts +2 -1
  99. package/es/components/Datagrid/useDisableSelectRows.js +27 -22
  100. package/es/components/Datagrid/useInlineEdit.js +12 -2
  101. package/es/components/Datagrid/useNestedRowExpander.js +1 -3
  102. package/es/components/Datagrid/useNestedRows.js +32 -13
  103. package/es/components/Datagrid/useRowExpander.js +1 -3
  104. package/es/components/Datagrid/useSelectRows.js +2 -1
  105. package/es/components/Datagrid/useStickyColumn.d.ts +8 -1
  106. package/es/components/Datagrid/useStickyColumn.js +12 -9
  107. package/es/components/Decorator/Decorator.js +2 -1
  108. package/es/components/DecoratorBase/DecoratorBase.js +3 -5
  109. package/es/components/DecoratorDualButton/DecoratorDualButton.js +2 -1
  110. package/es/components/DecoratorLink/DecoratorLink.js +2 -1
  111. package/es/components/DecoratorSingleButton/DecoratorSingleButton.js +2 -1
  112. package/es/components/EditInPlace/EditInPlace.d.ts +4 -0
  113. package/es/components/EditInPlace/EditInPlace.js +21 -10
  114. package/es/components/EditTearsheet/EditTearsheet.d.ts +7 -2
  115. package/es/components/EditTearsheet/EditTearsheet.js +44 -10
  116. package/es/components/EditTearsheet/EditTearsheetForm.d.ts +45 -2
  117. package/es/components/EditTearsheet/EditTearsheetForm.js +3 -0
  118. package/es/components/HTTPErrors/HTTPError403/HTTPError403.js +6 -0
  119. package/es/components/HTTPErrors/HTTPError404/HTTPError404.js +6 -0
  120. package/es/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +6 -0
  121. package/es/components/HTTPErrors/assets/HTTPErrorSvg403.js +204 -200
  122. package/es/components/HTTPErrors/assets/HTTPErrorSvg404.js +116 -112
  123. package/es/components/HTTPErrors/assets/HTTPErrorSvgOther.js +110 -106
  124. package/es/components/Nav/NavItem.js +12 -3
  125. package/es/components/OptionsTile/OptionsTile.js +11 -6
  126. package/es/components/PageHeader/PageHeader.js +1 -0
  127. package/es/components/RemoveModal/RemoveModal.d.ts +4 -0
  128. package/es/components/RemoveModal/RemoveModal.js +7 -1
  129. package/es/components/SearchBar/SearchBar.d.ts +1 -1
  130. package/es/components/SearchBar/SearchBar.js +2 -2
  131. package/es/components/SidePanel/SidePanel.js +17 -21
  132. package/es/components/SidePanel/motion/variants.d.ts +4 -6
  133. package/es/components/SidePanel/motion/variants.js +10 -11
  134. package/es/components/StatusIndicator/StatusIndicatorStep.js +87 -0
  135. package/es/components/StringFormatter/StringFormatter.js +14 -3
  136. package/es/components/StringFormatter/utils/enums.d.ts +20 -1
  137. package/es/components/StringFormatter/utils/enums.js +22 -2
  138. package/es/components/Tearsheet/Tearsheet.d.ts +8 -1
  139. package/es/components/Tearsheet/Tearsheet.js +9 -1
  140. package/es/components/Tearsheet/TearsheetNarrow.d.ts +11 -0
  141. package/es/components/Tearsheet/TearsheetNarrow.js +12 -0
  142. package/es/components/Tearsheet/TearsheetShell.d.ts +11 -1
  143. package/es/components/Tearsheet/TearsheetShell.js +28 -7
  144. package/es/components/Toolbar/ToolbarButton.js +1 -1
  145. package/es/components/WebTerminal/WebTerminal.js +10 -12
  146. package/es/components/index.d.ts +1 -1
  147. package/es/global/js/hooks/useFocus.d.ts +1 -0
  148. package/es/global/js/hooks/useFocus.js +5 -2
  149. package/es/global/js/hooks/usePrefersReducedMotion.js +14 -8
  150. package/es/global/js/package-settings.d.ts +1 -1
  151. package/es/global/js/package-settings.js +1 -1
  152. package/es/index.js +1 -0
  153. package/es/node_modules/@carbon/icon-helpers/es/index.js +49 -62
  154. package/es/node_modules/@carbon/icons-react/es/generated/bucket-2.js +1020 -1058
  155. package/es/node_modules/@carbon/icons-react/es/generated/bucket-9.js +881 -758
  156. package/es/settings.d.ts +1 -1
  157. package/lib/components/ActionBar/ActionBarItem.js +1 -1
  158. package/lib/components/Coachmark/Coachmark.d.ts +6 -1
  159. package/lib/components/Coachmark/Coachmark.js +46 -10
  160. package/lib/components/Coachmark/CoachmarkOverlay.js +2 -4
  161. package/lib/components/CoachmarkBeacon/CoachmarkBeacon.js +1 -7
  162. package/lib/components/CoachmarkFixed/CoachmarkFixed.js +13 -11
  163. package/lib/components/CoachmarkStack/CoachmarkStack.js +7 -3
  164. package/lib/components/CoachmarkStack/CoachmarkStackHome.js +8 -4
  165. package/lib/components/ConditionBuilder/ConditionBlock/ConditionBlock.js +74 -53
  166. package/lib/components/ConditionBuilder/ConditionBuilder.js +82 -25
  167. package/lib/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.d.ts +15 -0
  168. package/lib/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.js +163 -0
  169. package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.d.ts +3 -1
  170. package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +28 -11
  171. package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +8 -1
  172. package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +29 -7
  173. package/lib/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.js +12 -7
  174. package/lib/components/ConditionBuilder/ConditionBuilderConnector/GroupConnector.js +18 -10
  175. package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +9 -13
  176. package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +73 -60
  177. package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts +13 -7
  178. package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +31 -8
  179. package/lib/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.d.ts +8 -2
  180. package/lib/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.js +34 -24
  181. package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +40 -36
  182. package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +40 -36
  183. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.d.ts +6 -2
  184. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +96 -38
  185. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.d.ts +3 -1
  186. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.js +24 -9
  187. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js +28 -10
  188. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.d.ts +13 -0
  189. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js +122 -0
  190. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.d.ts → ItemOptionForValueField.d.ts} +2 -2
  191. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.js → ItemOptionForValueField.js} +68 -35
  192. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.d.ts +5 -1
  193. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.js +21 -8
  194. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemTime/ConditionBuilderItemTime.js +1 -1
  195. package/lib/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.d.ts +1 -3
  196. package/lib/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +118 -37
  197. package/lib/components/ConditionBuilder/ConditionPreview/ConditionPreview.d.ts +3 -1
  198. package/lib/components/ConditionBuilder/ConditionPreview/ConditionPreview.js +44 -17
  199. package/lib/components/ConditionBuilder/utils/handleKeyboardEvents.d.ts +2 -1
  200. package/lib/components/ConditionBuilder/utils/handleKeyboardEvents.js +137 -39
  201. package/lib/components/ConditionBuilder/utils/useTranslations.d.ts +1 -0
  202. package/lib/components/ConditionBuilder/utils/useTranslations.js +30 -0
  203. package/lib/components/ConditionBuilder/utils/util.d.ts +6 -4
  204. package/lib/components/ConditionBuilder/utils/util.js +44 -16
  205. package/lib/components/CreateFullPage/CreateFullPage.js +2 -2
  206. package/lib/components/DataSpreadsheet/DataSpreadsheet.d.ts +26 -0
  207. package/lib/components/DataSpreadsheet/DataSpreadsheet.js +129 -53
  208. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.d.ts +16 -0
  209. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +32 -7
  210. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.d.ts +8 -0
  211. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.js +16 -3
  212. package/lib/components/DataSpreadsheet/types/index.d.ts +1 -0
  213. package/lib/components/Datagrid/Datagrid/Datagrid.d.ts +0 -4
  214. package/lib/components/Datagrid/Datagrid/Datagrid.js +4 -9
  215. package/lib/components/Datagrid/Datagrid/DatagridContent.js +1 -1
  216. package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +23 -8
  217. package/lib/components/Datagrid/Datagrid/DatagridRow.js +21 -8
  218. package/lib/components/Datagrid/Datagrid/DatagridSelectAll.js +2 -1
  219. package/lib/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +3 -2
  220. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +34 -10
  221. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +6 -1
  222. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +6 -1
  223. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.d.ts +3 -1
  224. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +7 -4
  225. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.d.ts +1 -1
  226. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +53 -16
  227. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +2 -3
  228. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +73 -10
  229. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +10 -2
  230. package/lib/components/Datagrid/types/index.d.ts +57 -9
  231. package/lib/components/Datagrid/useActionsColumn.d.ts +8 -1
  232. package/lib/components/Datagrid/useActionsColumn.js +7 -6
  233. package/lib/components/Datagrid/useColumnRightAlign.d.ts +8 -1
  234. package/lib/components/Datagrid/useColumnRightAlign.js +4 -3
  235. package/lib/components/Datagrid/useCustomizeColumns.d.ts +8 -1
  236. package/lib/components/Datagrid/useCustomizeColumns.js +4 -3
  237. package/lib/components/Datagrid/useDefaultStringRenderer.js +0 -1
  238. package/lib/components/Datagrid/useDisableSelectRows.d.ts +2 -1
  239. package/lib/components/Datagrid/useDisableSelectRows.js +27 -22
  240. package/lib/components/Datagrid/useInlineEdit.js +12 -2
  241. package/lib/components/Datagrid/useNestedRowExpander.js +1 -3
  242. package/lib/components/Datagrid/useNestedRows.js +32 -13
  243. package/lib/components/Datagrid/useRowExpander.js +1 -3
  244. package/lib/components/Datagrid/useSelectRows.js +2 -1
  245. package/lib/components/Datagrid/useStickyColumn.d.ts +8 -1
  246. package/lib/components/Datagrid/useStickyColumn.js +12 -9
  247. package/lib/components/Decorator/Decorator.js +2 -1
  248. package/lib/components/DecoratorBase/DecoratorBase.js +3 -5
  249. package/lib/components/DecoratorDualButton/DecoratorDualButton.js +2 -1
  250. package/lib/components/DecoratorLink/DecoratorLink.js +2 -1
  251. package/lib/components/DecoratorSingleButton/DecoratorSingleButton.js +2 -1
  252. package/lib/components/EditInPlace/EditInPlace.d.ts +4 -0
  253. package/lib/components/EditInPlace/EditInPlace.js +21 -10
  254. package/lib/components/EditTearsheet/EditTearsheet.d.ts +7 -2
  255. package/lib/components/EditTearsheet/EditTearsheet.js +43 -9
  256. package/lib/components/EditTearsheet/EditTearsheetForm.d.ts +45 -2
  257. package/lib/components/EditTearsheet/EditTearsheetForm.js +3 -0
  258. package/lib/components/HTTPErrors/HTTPError403/HTTPError403.js +6 -0
  259. package/lib/components/HTTPErrors/HTTPError404/HTTPError404.js +6 -0
  260. package/lib/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +6 -0
  261. package/lib/components/HTTPErrors/assets/HTTPErrorSvg403.js +204 -200
  262. package/lib/components/HTTPErrors/assets/HTTPErrorSvg404.js +116 -112
  263. package/lib/components/HTTPErrors/assets/HTTPErrorSvgOther.js +110 -106
  264. package/lib/components/Nav/NavItem.js +10 -1
  265. package/lib/components/OptionsTile/OptionsTile.js +11 -6
  266. package/lib/components/PageHeader/PageHeader.js +1 -0
  267. package/lib/components/RemoveModal/RemoveModal.d.ts +4 -0
  268. package/lib/components/RemoveModal/RemoveModal.js +7 -1
  269. package/lib/components/SearchBar/SearchBar.d.ts +1 -1
  270. package/lib/components/SearchBar/SearchBar.js +2 -2
  271. package/lib/components/SidePanel/SidePanel.js +16 -20
  272. package/lib/components/SidePanel/motion/variants.d.ts +4 -6
  273. package/lib/components/SidePanel/motion/variants.js +10 -11
  274. package/lib/components/StatusIndicator/StatusIndicatorStep.js +94 -0
  275. package/lib/components/StringFormatter/StringFormatter.js +13 -2
  276. package/lib/components/StringFormatter/utils/enums.d.ts +20 -1
  277. package/lib/components/StringFormatter/utils/enums.js +23 -1
  278. package/lib/components/Tearsheet/Tearsheet.d.ts +8 -1
  279. package/lib/components/Tearsheet/Tearsheet.js +9 -1
  280. package/lib/components/Tearsheet/TearsheetNarrow.d.ts +11 -0
  281. package/lib/components/Tearsheet/TearsheetNarrow.js +12 -0
  282. package/lib/components/Tearsheet/TearsheetShell.d.ts +11 -1
  283. package/lib/components/Tearsheet/TearsheetShell.js +26 -5
  284. package/lib/components/Toolbar/ToolbarButton.js +1 -1
  285. package/lib/components/WebTerminal/WebTerminal.js +10 -12
  286. package/lib/components/index.d.ts +1 -1
  287. package/lib/global/js/hooks/useFocus.d.ts +1 -0
  288. package/lib/global/js/hooks/useFocus.js +5 -1
  289. package/lib/global/js/hooks/usePrefersReducedMotion.js +13 -7
  290. package/lib/global/js/package-settings.d.ts +1 -1
  291. package/lib/global/js/package-settings.js +1 -1
  292. package/lib/index.js +5 -0
  293. package/lib/node_modules/@carbon/icon-helpers/es/index.js +49 -62
  294. package/lib/node_modules/@carbon/icons-react/es/generated/bucket-2.js +1036 -1074
  295. package/lib/node_modules/@carbon/icons-react/es/generated/bucket-9.js +946 -823
  296. package/lib/settings.d.ts +1 -1
  297. package/package.json +9 -8
  298. package/scss/components/Coachmark/_coachmark-overlay.scss +6 -70
  299. package/scss/components/Coachmark/_coachmark.scss +5 -4
  300. package/scss/components/CoachmarkBeacon/_coachmark-beacon.scss +1 -3
  301. package/scss/components/ConditionBuilder/_condition-builder.scss +5 -1
  302. package/scss/components/ConditionBuilder/styles/_conditionBuilderCondition.scss +20 -3
  303. package/scss/components/ConditionBuilder/styles/_conditionBuilderItem.scss +32 -3
  304. package/scss/components/DataSpreadsheet/_data-spreadsheet.scss +16 -2
  305. package/scss/components/Datagrid/_datagrid.scss +0 -4
  306. package/scss/components/Datagrid/styles/_useInlineEdit.scss +13 -0
  307. package/scss/components/Datagrid/styles/addons/_CustomizeColumnsTearsheet.scss +7 -5
  308. package/scss/components/Datagrid/styles/addons/_FilterFlyout.scss +5 -4
  309. package/scss/components/HTTPErrors/_http-errors.scss +77 -0
  310. package/scss/components/OptionsTile/_options-tile.scss +6 -6
  311. package/scss/components/SidePanel/_side-panel.scss +1 -1
  312. package/scss/components/StatusIcon/_status-icon.scss +4 -4
  313. package/scss/components/StringFormatter/_string-formatter.scss +2 -2
  314. package/scss/components/UserProfileImage/_user-profile-image.scss +6 -2
  315. package/scss/components/_index-released-only.scss +1 -0
  316. package/telemetry.yml +32 -19
  317. package/es/components/ConditionBuilder/utils/checkForHoldingKey.d.ts +0 -1
  318. package/es/components/ConditionBuilder/utils/checkForHoldingKey.js +0 -16
  319. package/es/global/js/utils/window.d.ts +0 -2
  320. package/es/global/js/utils/window.js +0 -12
  321. package/lib/components/ConditionBuilder/utils/checkForHoldingKey.d.ts +0 -1
  322. package/lib/components/ConditionBuilder/utils/checkForHoldingKey.js +0 -20
  323. package/lib/global/js/utils/window.d.ts +0 -2
  324. package/lib/global/js/utils/window.js +0 -16
@@ -41,7 +41,7 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
41
41
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
42
42
  var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
43
43
 
44
- var _excluded = ["cellSize", "className", "columns", "data", "defaultEmptyRowCount", "onDataUpdate", "id", "onActiveCellChange", "onSelectionAreaChange", "selectAllAriaLabel", "spreadsheetAriaLabel", "theme", "totalVisibleColumns"];
44
+ var _excluded = ["cellSize", "className", "columns", "data", "defaultEmptyRowCount", "onDataUpdate", "onColDrag", "id", "onActiveCellChange", "onSelectionAreaChange", "renderRowHeader", "renderRowHeaderDirection", "disableColumnSwapping", "readOnlyTable", "selectAllAriaLabel", "spreadsheetAriaLabel", "theme", "totalVisibleColumns"];
45
45
  // The block part of our conventional BEM class names (blockClass__E--M).
46
46
  var blockClass = "".concat(settings.pkg.prefix, "--data-spreadsheet");
47
47
  var componentName = 'DataSpreadsheet';
@@ -52,6 +52,7 @@ var defaults = {
52
52
  data: Object.freeze([]),
53
53
  defaultEmptyRowCount: 16,
54
54
  onDataUpdate: Object.freeze(function () {}),
55
+ onColDrag: Object.freeze(function () {}),
55
56
  onActiveCellChange: Object.freeze(function () {}),
56
57
  onSelectionAreaChange: Object.freeze(function () {}),
57
58
  theme: 'light'
@@ -71,11 +72,19 @@ exports.DataSpreadsheet = /*#__PURE__*/React__default["default"].forwardRef(func
71
72
  defaultEmptyRowCount = _ref$defaultEmptyRowC === void 0 ? defaults.defaultEmptyRowCount : _ref$defaultEmptyRowC,
72
73
  _ref$onDataUpdate = _ref.onDataUpdate,
73
74
  onDataUpdate = _ref$onDataUpdate === void 0 ? defaults.onDataUpdate : _ref$onDataUpdate,
75
+ _ref$onColDrag = _ref.onColDrag,
76
+ onColDrag = _ref$onColDrag === void 0 ? defaults.onColDrag : _ref$onColDrag,
74
77
  id = _ref.id,
75
78
  _ref$onActiveCellChan = _ref.onActiveCellChange,
76
79
  onActiveCellChange = _ref$onActiveCellChan === void 0 ? defaults.onActiveCellChange : _ref$onActiveCellChan,
77
80
  _ref$onSelectionAreaC = _ref.onSelectionAreaChange,
78
81
  onSelectionAreaChange = _ref$onSelectionAreaC === void 0 ? defaults.onSelectionAreaChange : _ref$onSelectionAreaC,
82
+ renderRowHeader = _ref.renderRowHeader,
83
+ renderRowHeaderDirection = _ref.renderRowHeaderDirection,
84
+ _ref$disableColumnSwa = _ref.disableColumnSwapping,
85
+ disableColumnSwapping = _ref$disableColumnSwa === void 0 ? false : _ref$disableColumnSwa,
86
+ _ref$readOnlyTable = _ref.readOnlyTable,
87
+ readOnlyTable = _ref$readOnlyTable === void 0 ? false : _ref$readOnlyTable,
79
88
  selectAllAriaLabel = _ref.selectAllAriaLabel,
80
89
  spreadsheetAriaLabel = _ref.spreadsheetAriaLabel,
81
90
  theme = _ref.theme,
@@ -85,75 +94,86 @@ exports.DataSpreadsheet = /*#__PURE__*/React__default["default"].forwardRef(func
85
94
  var localRef = React.useRef();
86
95
  var spreadsheetRef = ref || localRef;
87
96
  var focusedElement = useActiveElement.useActiveElement();
88
- var _useState = React.useState(false),
97
+ var _useState = React.useState(columns),
89
98
  _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
90
- containerHasFocus = _useState2[0],
91
- setContainerHasFocus = _useState2[1];
92
- var _useState3 = React.useState(null),
99
+ currentColumns = _useState2[0],
100
+ setCurrentColumns = _useState2[1];
101
+ var _useState3 = React.useState([]),
93
102
  _useState4 = _rollupPluginBabelHelpers.slicedToArray(_useState3, 2),
94
- activeCellCoordinates = _useState4[0],
95
- setActiveCellCoordinates = _useState4[1];
96
- var _useState5 = React.useState([]),
103
+ pastColumns = _useState4[0],
104
+ setPastColumns = _useState4[1];
105
+ var _useState5 = React.useState(false),
97
106
  _useState6 = _rollupPluginBabelHelpers.slicedToArray(_useState5, 2),
98
- selectionAreas = _useState6[0],
99
- setSelectionAreas = _useState6[1];
100
- var _useState7 = React.useState([]),
107
+ containerHasFocus = _useState6[0],
108
+ setContainerHasFocus = _useState6[1];
109
+ var _useState7 = React.useState(null),
101
110
  _useState8 = _rollupPluginBabelHelpers.slicedToArray(_useState7, 2),
102
- selectionAreaData = _useState8[0],
103
- setSelectionAreaData = _useState8[1];
104
- var _useState9 = React.useState(false),
111
+ activeCellCoordinates = _useState8[0],
112
+ setActiveCellCoordinates = _useState8[1];
113
+ var _useState9 = React.useState([]),
105
114
  _useState10 = _rollupPluginBabelHelpers.slicedToArray(_useState9, 2),
106
- clickAndHoldActive = _useState10[0],
107
- setClickAndHoldActive = _useState10[1];
108
- var _useState11 = React.useState(''),
115
+ selectionAreas = _useState10[0],
116
+ setSelectionAreas = _useState10[1];
117
+ var _useState11 = React.useState([]),
109
118
  _useState12 = _rollupPluginBabelHelpers.slicedToArray(_useState11, 2),
110
- currentMatcher = _useState12[0],
111
- setCurrentMatcher = _useState12[1];
119
+ selectionAreaData = _useState12[0],
120
+ setSelectionAreaData = _useState12[1];
112
121
  var _useState13 = React.useState(false),
113
122
  _useState14 = _rollupPluginBabelHelpers.slicedToArray(_useState13, 2),
114
- isEditing = _useState14[0],
115
- setIsEditing = _useState14[1];
123
+ clickAndHoldActive = _useState14[0],
124
+ setClickAndHoldActive = _useState14[1];
116
125
  var _useState15 = React.useState(''),
117
126
  _useState16 = _rollupPluginBabelHelpers.slicedToArray(_useState15, 2),
118
- cellEditorValue = _useState16[0],
119
- setCellEditorValue = _useState16[1];
127
+ currentMatcher = _useState16[0],
128
+ setCurrentMatcher = _useState16[1];
120
129
  var _useState17 = React.useState(false),
121
130
  _useState18 = _rollupPluginBabelHelpers.slicedToArray(_useState17, 2),
122
- headerCellHoldActive = _useState18[0],
123
- setHeaderCellHoldActive = _useState18[1];
124
- var _useState19 = React.useState(false),
131
+ isEditing = _useState18[0],
132
+ setIsEditing = _useState18[1];
133
+ var _useState19 = React.useState(''),
125
134
  _useState20 = _rollupPluginBabelHelpers.slicedToArray(_useState19, 2),
126
- selectedHeaderReorderActive = _useState20[0],
127
- setSelectedHeaderReorderActive = _useState20[1];
128
- var isBlurSpreadsheet = React.useRef(false);
135
+ cellEditorValue = _useState20[0],
136
+ setCellEditorValue = _useState20[1];
129
137
  var _useState21 = React.useState(false),
130
138
  _useState22 = _rollupPluginBabelHelpers.slicedToArray(_useState21, 2),
131
- isActiveHeaderCellChanged = _useState22[0],
132
- setIsActiveHeaderCellChanged = _useState22[1];
139
+ headerCellHoldActive = _useState22[0],
140
+ setHeaderCellHoldActive = _useState22[1];
133
141
  var _useState23 = React.useState(false),
134
142
  _useState24 = _rollupPluginBabelHelpers.slicedToArray(_useState23, 2),
135
- activeCellInsideSelectionArea = _useState24[0],
136
- setActiveCellInsideSelectionArea = _useState24[1];
143
+ selectedHeaderReorderActive = _useState24[0],
144
+ setSelectedHeaderReorderActive = _useState24[1];
145
+ var isBlurSpreadsheet = React.useRef(false);
146
+ var _useState25 = React.useState(false),
147
+ _useState26 = _rollupPluginBabelHelpers.slicedToArray(_useState25, 2),
148
+ isActiveHeaderCellChanged = _useState26[0],
149
+ setIsActiveHeaderCellChanged = _useState26[1];
150
+ var _useState27 = React.useState(false),
151
+ _useState28 = _rollupPluginBabelHelpers.slicedToArray(_useState27, 2),
152
+ activeCellInsideSelectionArea = _useState28[0],
153
+ setActiveCellInsideSelectionArea = _useState28[1];
137
154
  var previousState = usePreviousValue.usePreviousValue({
138
155
  activeCellCoordinates: activeCellCoordinates,
139
156
  isEditing: isEditing,
140
- cellEditorValue: cellEditorValue
157
+ cellEditorValue: cellEditorValue,
158
+ selectedHeaderReorderActive: selectedHeaderReorderActive
141
159
  }) || {};
142
160
  var cellSizeValue = getCellSize.getCellSize(cellSize);
143
161
  var cellEditorRef = React.useRef();
144
- var _useState25 = React.useState(),
145
- _useState26 = _rollupPluginBabelHelpers.slicedToArray(_useState25, 2),
146
- activeCellContent = _useState26[0],
147
- setActiveCellContent = _useState26[1];
162
+ var _useState29 = React.useState(),
163
+ _useState30 = _rollupPluginBabelHelpers.slicedToArray(_useState29, 2),
164
+ activeCellContent = _useState30[0],
165
+ setActiveCellContent = _useState30[1];
148
166
  var activeCellRef = React.useRef();
149
167
  var cellEditorRulerRef = React.useRef();
168
+ var hasCustomRowHeader = typeof renderRowHeader === 'function';
169
+ var maxNumRowsCount = data.length.toString().length;
150
170
  var defaultColumn = React.useMemo(function () {
151
171
  return {
152
172
  width: 150,
153
- rowHeaderWidth: 64,
173
+ rowHeaderWidth: hasCustomRowHeader ? 40 + maxNumRowsCount * 8.56 : 64,
154
174
  rowHeight: cellSizeValue
155
175
  };
156
- }, [cellSizeValue]);
176
+ }, [cellSizeValue, hasCustomRowHeader, maxNumRowsCount]);
157
177
  var _useMultipleKeyTracki = useMultipleKeyTracking.useMultipleKeyTracking({
158
178
  ref: multiKeyTrackingRef,
159
179
  containerHasFocus: containerHasFocus,
@@ -189,6 +209,28 @@ exports.DataSpreadsheet = /*#__PURE__*/React__default["default"].forwardRef(func
189
209
  });
190
210
  });
191
211
  }, [cellEditorValue, onDataUpdate]);
212
+ React.useEffect(function () {
213
+ var currentHeaders = [];
214
+ if (Object.keys(currentColumns).length > 0) {
215
+ Object.keys(currentColumns).forEach(function (itemIndex) {
216
+ if (currentColumns[itemIndex].Header) {
217
+ currentHeaders.push(currentColumns[itemIndex].Header);
218
+ }
219
+ });
220
+ }
221
+ if (previousState.selectedHeaderReorderActive) {
222
+ setPastColumns(currentHeaders);
223
+ }
224
+ if (!previousState.selectedHeaderReorderActive && pastColumns.length > 0 && !headerCellHoldActive && JSON.stringify(currentHeaders) !== JSON.stringify(pastColumns)) {
225
+ onColDrag({
226
+ headers: currentHeaders,
227
+ data: activeCellContent.props.data
228
+ });
229
+ if (currentHeaders.length === 0) {
230
+ setPastColumns([]);
231
+ }
232
+ }
233
+ }, [previousState === null || previousState === void 0 ? void 0 : previousState.selectedHeaderReorderActive, currentColumns, headerCellHoldActive, columns, activeCellContent, onColDrag, pastColumns]);
192
234
 
193
235
  // Removes the active cell element
194
236
  var removeActiveCell = React.useCallback(function () {
@@ -220,9 +262,12 @@ exports.DataSpreadsheet = /*#__PURE__*/React__default["default"].forwardRef(func
220
262
  }
221
263
  if ((prevCoords === null || prevCoords === void 0 ? void 0 : prevCoords.row) !== (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row) || (prevCoords === null || prevCoords === void 0 ? void 0 : prevCoords.column) !== (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.column)) {
222
264
  if (activeCellCoordinates && (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row) !== 'header' && (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.column) !== 'header') {
223
- var _activeCellFullData$r;
224
265
  var activeCellFullData = typeof (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.column) === 'number' && typeof (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row) === 'number' ? rows[activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row].cells[activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.column] : null;
225
- setActiveCellContent((_activeCellFullData$r = activeCellFullData === null || activeCellFullData === void 0 ? void 0 : activeCellFullData.render('Cell')) !== null && _activeCellFullData$r !== void 0 ? _activeCellFullData$r : null);
266
+ if (activeCellFullData) {
267
+ setActiveCellContent(activeCellFullData.render('Cell'));
268
+ } else {
269
+ setActiveCellContent(null);
270
+ }
226
271
  }
227
272
  if (activeCellCoordinates && (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row) === 'header' || (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.column) === 'header') {
228
273
  setActiveCellContent(null);
@@ -429,17 +474,14 @@ exports.DataSpreadsheet = /*#__PURE__*/React__default["default"].forwardRef(func
429
474
  }
430
475
  }, [handleInitialArrowPress, updateActiveCellCoordinates, activeCellCoordinates, columns, rows]);
431
476
  var handleKeyPressEvent = React.useCallback(function (event) {
432
- commonEventHandlers.handleKeyPress(event, activeCellInsideSelectionArea, updateActiveCellCoordinates, activeCellCoordinates, removeActiveCell, columns, rows, spreadsheetRef, currentMatcher, removeCellEditor, selectionAreas, handleHomeEndKey, keysPressedList, usingMac, updateData, checkForReturnCondition, handleArrowKeyPress, setSelectionAreas, setSelectionAreaData, setCurrentMatcher, activeCellRef, setActiveCellCoordinates, setContainerHasFocus, setActiveCellContent);
433
- }, [activeCellInsideSelectionArea, updateActiveCellCoordinates, activeCellCoordinates, removeActiveCell, columns, rows, spreadsheetRef, currentMatcher, removeCellEditor, selectionAreas, handleHomeEndKey, keysPressedList, usingMac, updateData, checkForReturnCondition, handleArrowKeyPress]);
477
+ commonEventHandlers.handleKeyPress(event, activeCellInsideSelectionArea, updateActiveCellCoordinates, activeCellCoordinates, removeActiveCell, columns, rows, spreadsheetRef, currentMatcher, removeCellEditor, selectionAreas, handleHomeEndKey, keysPressedList, usingMac, updateData, checkForReturnCondition, handleArrowKeyPress, setSelectionAreas, setSelectionAreaData, setCurrentMatcher, activeCellRef, setActiveCellCoordinates, setContainerHasFocus, setActiveCellContent, readOnlyTable);
478
+ }, [activeCellInsideSelectionArea, updateActiveCellCoordinates, activeCellCoordinates, removeActiveCell, columns, rows, spreadsheetRef, currentMatcher, removeCellEditor, selectionAreas, handleHomeEndKey, keysPressedList, usingMac, updateData, checkForReturnCondition, handleArrowKeyPress, readOnlyTable]);
434
479
  var startEditMode = function startEditMode() {
480
+ var _activeCellFullData$r;
435
481
  setIsEditing(true);
436
482
  setClickAndHoldActive(false);
437
483
  var activeCellFullData = typeof (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.column) === 'number' && typeof (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row) === 'number' ? rows[activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row].cells[activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.column] : null;
438
- var activeCellValue;
439
- if (activeCellFullData && activeCellCoordinates !== null && activeCellCoordinates !== void 0 && activeCellCoordinates.column) {
440
- var _activeCellFullData$r2;
441
- activeCellValue = activeCellFullData ? (_activeCellFullData$r2 = activeCellFullData.row.cells) === null || _activeCellFullData$r2 === void 0 || (_activeCellFullData$r2 = _activeCellFullData$r2[activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.column]) === null || _activeCellFullData$r2 === void 0 ? void 0 : _activeCellFullData$r2.value : null;
442
- }
484
+ var activeCellValue = activeCellFullData === null || activeCellFullData === void 0 || (_activeCellFullData$r = activeCellFullData.row) === null || _activeCellFullData$r === void 0 || (_activeCellFullData$r = _activeCellFullData$r.cells) === null || _activeCellFullData$r === void 0 || (_activeCellFullData$r = _activeCellFullData$r[Number(activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.column)]) === null || _activeCellFullData$r === void 0 ? void 0 : _activeCellFullData$r.value;
443
485
  setCellEditorValue(activeCellValue || '');
444
486
  if (cellEditorRulerRef !== null && cellEditorRulerRef !== void 0 && cellEditorRulerRef.current) {
445
487
  cellEditorRulerRef.current.textContent = activeCellValue;
@@ -501,7 +543,7 @@ exports.DataSpreadsheet = /*#__PURE__*/React__default["default"].forwardRef(func
501
543
  // Go into edit mode if 'Enter' key is pressed on activeCellRef
502
544
  var handleActiveCellKeyDown = function handleActiveCellKeyDown(event) {
503
545
  var key = event.key;
504
- if (key === 'Enter' && !activeCellInsideSelectionArea) {
546
+ if (key === 'Enter' && !activeCellInsideSelectionArea && !readOnlyTable) {
505
547
  if ((activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.column) !== 'header' && (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row) !== 'header') {
506
548
  startEditMode();
507
549
  }
@@ -557,8 +599,10 @@ exports.DataSpreadsheet = /*#__PURE__*/React__default["default"].forwardRef(func
557
599
  };
558
600
 
559
601
  // Go into edit mode if double click is detected on activeCellRef
560
- var handleActiveCellDoubleClick = function handleActiveCellDoubleClick() {
561
- startEditMode();
602
+ var handleActiveCellDoubleClick = function handleActiveCellDoubleClick(readOnlyTable) {
603
+ if (!readOnlyTable) {
604
+ startEditMode();
605
+ }
562
606
  };
563
607
  useSpreadsheetEdit.useSpreadsheetEdit({
564
608
  isEditing: isEditing,
@@ -638,6 +682,8 @@ exports.DataSpreadsheet = /*#__PURE__*/React__default["default"].forwardRef(func
638
682
  setSelectionAreas: setSelectionAreas,
639
683
  setCurrentMatcher: setCurrentMatcher,
640
684
  setSelectionAreaData: setSelectionAreaData,
685
+ disableColumnSwapping: disableColumnSwapping,
686
+ readOnlyTable: readOnlyTable,
641
687
  totalVisibleColumns: totalVisibleColumns,
642
688
  updateActiveCellCoordinates: updateActiveCellCoordinates,
643
689
  setHeaderCellHoldActive: setHeaderCellHoldActive,
@@ -647,6 +693,7 @@ exports.DataSpreadsheet = /*#__PURE__*/React__default["default"].forwardRef(func
647
693
  }), /*#__PURE__*/React__default["default"].createElement(DataSpreadsheetBody.DataSpreadsheetBody, {
648
694
  activeCellRef: activeCellRef,
649
695
  activeCellCoordinates: activeCellCoordinates,
696
+ setCurrentColumns: setCurrentColumns,
650
697
  ref: spreadsheetRef,
651
698
  clickAndHoldActive: clickAndHoldActive,
652
699
  setClickAndHoldActive: setClickAndHoldActive,
@@ -660,7 +707,10 @@ exports.DataSpreadsheet = /*#__PURE__*/React__default["default"].forwardRef(func
660
707
  headerGroups: headerGroups,
661
708
  defaultColumn: defaultColumn,
662
709
  getTableBodyProps: getTableBodyProps,
710
+ hasCustomRowHeader: hasCustomRowHeader,
663
711
  onDataUpdate: onDataUpdate,
712
+ renderRowHeaderDirection: renderRowHeaderDirection,
713
+ renderRowHeader: renderRowHeader,
664
714
  onActiveCellChange: onActiveCellChange,
665
715
  onSelectionAreaChange: onSelectionAreaChange,
666
716
  prepareRow: prepareRow,
@@ -683,7 +733,9 @@ exports.DataSpreadsheet = /*#__PURE__*/React__default["default"].forwardRef(func
683
733
  onMouseUp: handleActiveCellMouseUp,
684
734
  onClick: handleActiveCellClick,
685
735
  onKeyDown: handleActiveCellKeyDown,
686
- onDoubleClick: handleActiveCellDoubleClick,
736
+ onDoubleClick: function onDoubleClick() {
737
+ return handleActiveCellDoubleClick(readOnlyTable);
738
+ },
687
739
  onMouseEnter: handleActiveCellMouseEnter,
688
740
  ref: activeCellRef,
689
741
  className: cx__default["default"]("".concat(blockClass, "--interactive-cell-element"), "".concat(blockClass, "__active-cell--highlight"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__active-cell--with-selection"), activeCellInsideSelectionArea)),
@@ -759,6 +811,14 @@ exports.DataSpreadsheet.propTypes = {
759
811
  * Sets the number of empty rows to be created when there is no data provided
760
812
  */
761
813
  defaultEmptyRowCount: index["default"].number,
814
+ /**
815
+ * Disable column swapping, default false
816
+ */
817
+ disableColumnSwapping: index["default"].bool,
818
+ /**
819
+ * Check if spreadsheet is using custom row header component attached
820
+ */
821
+ hasCustomRowHeader: index["default"].bool,
762
822
  /**
763
823
  * The spreadsheet id
764
824
  */
@@ -767,6 +827,10 @@ exports.DataSpreadsheet.propTypes = {
767
827
  * The event handler that is called when the active cell changes
768
828
  */
769
829
  onActiveCellChange: index["default"].func,
830
+ /**
831
+ * Callback for when columns are dropped after dragged
832
+ */
833
+ onColDrag: index["default"].func,
770
834
  /**
771
835
  * The setter fn for the data prop
772
836
  */
@@ -775,6 +839,18 @@ exports.DataSpreadsheet.propTypes = {
775
839
  * The event handler that is called when the selection area values change
776
840
  */
777
841
  onSelectionAreaChange: index["default"].func,
842
+ /**
843
+ * Read-only table
844
+ */
845
+ readOnlyTable: index["default"].bool,
846
+ /**
847
+ * Component next to numbering rows
848
+ */
849
+ renderRowHeader: index["default"].func,
850
+ /**
851
+ * Component next to numbering rows
852
+ */
853
+ renderRowHeaderDirection: index["default"].oneOf(['left', 'right']),
778
854
  /**
779
855
  * The aria label applied to the Select all button
780
856
  */
@@ -48,10 +48,26 @@ interface DataSpreadsheetBodyProps {
48
48
  * The spreadsheet id
49
49
  */
50
50
  id?: number | string;
51
+ /**
52
+ * Set current columns after drag drop
53
+ */
54
+ setCurrentColumns?: Dispatch<SetStateAction<object[]>>;
51
55
  /**
52
56
  * The event handler that is called when the active cell changes
53
57
  */
54
58
  onActiveCellChange?: () => void;
59
+ /**
60
+ * Check if user is using custom component
61
+ */
62
+ hasCustomRowHeader?: boolean;
63
+ /**
64
+ * Component next to numbering rows
65
+ */
66
+ renderRowHeader?: (index: number) => any[];
67
+ /**
68
+ * Component next to numbering rows
69
+ */
70
+ renderRowHeaderDirection?: string;
55
71
  /**
56
72
  * The event handler that is called to set the rows for the empty spreadsheet
57
73
  */
@@ -42,8 +42,12 @@ var DataSpreadsheetBody = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
42
42
  defaultEmptyRowCount = _ref.defaultEmptyRowCount,
43
43
  getTableBodyProps = _ref.getTableBodyProps,
44
44
  headerGroups = _ref.headerGroups,
45
+ setCurrentColumns = _ref.setCurrentColumns,
45
46
  id = _ref.id,
46
47
  onDataUpdate = _ref.onDataUpdate,
48
+ renderRowHeader = _ref.renderRowHeader,
49
+ renderRowHeaderDirection = _ref.renderRowHeaderDirection,
50
+ hasCustomRowHeader = _ref.hasCustomRowHeader,
47
51
  prepareRow = _ref.prepareRow,
48
52
  rows = _ref.rows,
49
53
  selectionAreaData = _ref.selectionAreaData,
@@ -147,7 +151,7 @@ var DataSpreadsheetBody = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
147
151
  return;
148
152
  });
149
153
  }
150
- }, [selectionAreas, setSelectionAreas, defaultColumn, onSelectionAreaChange, setSelectionAreaData, ref, activeCellCoordinates, setActiveCellInsideSelectionArea, visibleColumns]);
154
+ }, [selectionAreas, setSelectionAreas, defaultColumn, onSelectionAreaChange, setSelectionAreaData, ref, activeCellCoordinates, setActiveCellInsideSelectionArea, visibleColumns, hasCustomRowHeader]);
151
155
  var populateSelectionAreaCellData = function populateSelectionAreaCellData(_ref2) {
152
156
  var rowStart = _ref2.rowStart,
153
157
  rowEnd = _ref2.rowEnd,
@@ -221,7 +225,7 @@ var DataSpreadsheetBody = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
221
225
  });
222
226
  }
223
227
  }
224
- }, [defaultColumn, ref, activeCellCoordinates, previousState === null || previousState === void 0 ? void 0 : previousState.rowHeight, selectionAreas, setActiveCellInsideSelectionArea, setSelectionAreas, visibleColumns]);
228
+ }, [defaultColumn, ref, activeCellCoordinates, previousState === null || previousState === void 0 ? void 0 : previousState.rowHeight, selectionAreas, setActiveCellInsideSelectionArea, setSelectionAreas, visibleColumns, hasCustomRowHeader]);
225
229
 
226
230
  //this method will check for any duplicate selection area and remove.
227
231
  //same selections are those have the same height, width, top, left styles. These inline styles are being set in createCellSelection util.
@@ -315,7 +319,11 @@ var DataSpreadsheetBody = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
315
319
  };
316
320
  buildEmptyRows();
317
321
  }
318
- }, [rows, headerGroups, defaultEmptyRowCount, onDataUpdate]);
322
+ if (headerGroups !== null && headerGroups !== void 0 && headerGroups[0] && typeof setCurrentColumns === 'function') {
323
+ var headers = headerGroups[0].headers;
324
+ setCurrentColumns(headers);
325
+ }
326
+ }, [rows, headerGroups, defaultEmptyRowCount, onDataUpdate, setCurrentColumns]);
319
327
  var RenderEmptyRows = function RenderEmptyRows() {
320
328
  return _div || (_div = /*#__PURE__*/React__default["default"].createElement("div", null));
321
329
  };
@@ -347,11 +355,12 @@ var DataSpreadsheetBody = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
347
355
  "data-column-index": "header",
348
356
  type: "button",
349
357
  onClick: handleRowHeaderClickEvent(index),
350
- className: cx__default["default"]("".concat(blockClass, "__td"), "".concat(blockClass, "__td-th"), "".concat(blockClass, "--interactive-cell-element"), _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__td-th--active-header"), (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row) === index || checkActiveHeaderCell.checkActiveHeaderCell(index, selectionAreas, 'row')), "".concat(blockClass, "__td-th--selected-header"), checkSelectedHeaderCell.checkSelectedHeaderCell(index, selectionAreas, 'row', columns))),
358
+ className: cx__default["default"]("".concat(blockClass, "__td"), "".concat(blockClass, "__td-th"), "".concat(blockClass, "--interactive-cell-element"), _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__td_custom"), hasCustomRowHeader ? true : false), "".concat(blockClass, "__td-th--active-header"), !hasCustomRowHeader && ((activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row) === index || checkActiveHeaderCell.checkActiveHeaderCell(index, selectionAreas, 'row'))), "".concat(blockClass, "__td-th--selected-header"), !hasCustomRowHeader && checkSelectedHeaderCell.checkSelectedHeaderCell(index, selectionAreas, 'row', columns))),
351
359
  style: {
352
- width: defaultColumn === null || defaultColumn === void 0 ? void 0 : defaultColumn.rowHeaderWidth
360
+ width: defaultColumn === null || defaultColumn === void 0 ? void 0 : defaultColumn.rowHeaderWidth,
361
+ flexDirection: hasCustomRowHeader ? renderRowHeaderDirection === 'Left' ? 'row-reverse' : row : undefined
353
362
  }
354
- }, index + 1)), row.cells.map(function (cell, index) {
363
+ }, index + 1, hasCustomRowHeader && typeof renderRowHeader === 'function' && renderRowHeader(index))), row.cells.map(function (cell, index) {
355
364
  var _cell$column;
356
365
  var cellProps = propsHelper.prepareProps(cell.getCellProps(), 'key');
357
366
  return /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({
@@ -376,7 +385,7 @@ var DataSpreadsheetBody = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
376
385
  }, cell.render('Cell')));
377
386
  }));
378
387
  }
379
- }, [prepareRow, rows, activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row, selectionAreas, handleRowHeaderClickEvent, handleBodyCellClickEvent, handleBodyCellHoverEvent, defaultColumn, columns]);
388
+ }, [prepareRow, renderRowHeader, renderRowHeaderDirection, rows, hasCustomRowHeader, activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row, selectionAreas, handleRowHeaderClickEvent, handleBodyCellClickEvent, handleBodyCellHoverEvent, defaultColumn, columns]);
380
389
  var spreadsheetBodyRef = React.useRef();
381
390
  return /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({
382
391
  ref: spreadsheetBodyRef,
@@ -442,6 +451,10 @@ DataSpreadsheetBody.propTypes = {
442
451
  */
443
452
  /**@ts-ignore */
444
453
  getTableBodyProps: index["default"].func,
454
+ /**
455
+ * Check if spreadsheet is using custom row header component attached
456
+ */
457
+ hasCustomRowHeader: index["default"].bool,
445
458
  /**
446
459
  * Headers provided from useTable hook
447
460
  */
@@ -466,6 +479,14 @@ DataSpreadsheetBody.propTypes = {
466
479
  * Prepare row function from react-table
467
480
  */
468
481
  prepareRow: index["default"].func,
482
+ /**
483
+ * Component next to numbering rows
484
+ */
485
+ renderRowHeader: index["default"].func,
486
+ /**
487
+ * Component next to numbering rows
488
+ */
489
+ renderRowHeaderDirection: index["default"].string,
469
490
  /**
470
491
  * All of the spreadsheet row data
471
492
  */
@@ -506,6 +527,10 @@ DataSpreadsheetBody.propTypes = {
506
527
  * Setter fn for containerHasFocus state value
507
528
  */
508
529
  setContainerHasFocus: index["default"].func,
530
+ /**
531
+ * Set current columns after drag drop
532
+ */
533
+ setCurrentColumns: index["default"].func,
509
534
  /**
510
535
  * Setter fn for currentMatcher state value
511
536
  */
@@ -16,6 +16,10 @@ interface DataSpreadsheetHeaderProps {
16
16
  * Specifies the cell height
17
17
  */
18
18
  cellSize?: Size;
19
+ /**
20
+ * Disable column swapping, default false
21
+ */
22
+ disableColumnSwapping?: boolean;
19
23
  /**
20
24
  * All of the spreadsheet columns
21
25
  */
@@ -36,6 +40,10 @@ interface DataSpreadsheetHeaderProps {
36
40
  * Headers provided from useTable hook
37
41
  */
38
42
  headerGroups?: any[];
43
+ /**
44
+ * Read-only table
45
+ */
46
+ readOnlyTable?: boolean;
39
47
  /**
40
48
  * All of the spreadsheet row data
41
49
  */
@@ -45,6 +45,8 @@ var DataSpreadsheetHeader = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
45
45
  setActiveCellCoordinates = _ref.setActiveCellCoordinates,
46
46
  setCurrentMatcher = _ref.setCurrentMatcher,
47
47
  setSelectionAreas = _ref.setSelectionAreas,
48
+ readOnlyTable = _ref.readOnlyTable,
49
+ disableColumnSwapping = _ref.disableColumnSwapping,
48
50
  setSelectionAreaData = _ref.setSelectionAreaData,
49
51
  rows = _ref.rows,
50
52
  totalVisibleColumns = _ref.totalVisibleColumns,
@@ -184,6 +186,9 @@ var DataSpreadsheetHeader = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
184
186
  "data-row-index": "header",
185
187
  "data-column-index": "header",
186
188
  type: "button",
189
+ style: {
190
+ width: defaultColumn === null || defaultColumn === void 0 ? void 0 : defaultColumn.rowHeaderWidth
191
+ },
187
192
  tabIndex: -1,
188
193
  "aria-label": selectAllAriaLabel,
189
194
  onClick: handleSelectAllClick,
@@ -200,8 +205,8 @@ var DataSpreadsheetHeader = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
200
205
  "data-row-index": "header",
201
206
  "data-column-index": index,
202
207
  tabIndex: -1,
203
- onMouseDown: selectedHeader ? handleHeaderMouseDown(index) : undefined,
204
- onMouseUp: selectedHeader && typeof setSelectedHeaderReorderActive === 'function' ? function () {
208
+ onMouseDown: selectedHeader && !readOnlyTable && !disableColumnSwapping ? handleHeaderMouseDown(index) : undefined,
209
+ onMouseUp: selectedHeader && !readOnlyTable && !disableColumnSwapping && typeof setSelectedHeaderReorderActive === 'function' ? function () {
205
210
  return setSelectedHeaderReorderActive(false);
206
211
  } : undefined,
207
212
  onClick: !selectedHeader ? handleColumnHeaderClick(index) : undefined,
@@ -209,7 +214,7 @@ var DataSpreadsheetHeader = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
209
214
  height: defaultColumn === null || defaultColumn === void 0 ? void 0 : defaultColumn.rowHeight,
210
215
  width: (column === null || column === void 0 ? void 0 : column.width) || (defaultColumn === null || defaultColumn === void 0 ? void 0 : defaultColumn.width)
211
216
  },
212
- className: cx__default["default"]("".concat(blockClass, "__th"), "".concat(blockClass, "--interactive-cell-element"), _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__th--active-header"), (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.column) === index || checkActiveHeaderCell.checkActiveHeaderCell(index, selectionAreas, 'column')), "".concat(blockClass, "__th--selected-header"), selectedHeader), "".concat(blockClass, "__th--selected-header-reorder-active"), selectedHeaderReorderActive)),
217
+ className: cx__default["default"]("".concat(blockClass, "__th"), "".concat(blockClass, "--interactive-cell-element"), _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__th--active-header"), (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.column) === index || checkActiveHeaderCell.checkActiveHeaderCell(index, selectionAreas, 'column')), "".concat(blockClass, "__th--active-header-disabledSwapping"), disableColumnSwapping || readOnlyTable), "".concat(blockClass, "__th--selected-header"), selectedHeader), "".concat(blockClass, "__th--selected-header-reorder-active"), selectedHeaderReorderActive)),
213
218
  type: "button"
214
219
  }, column.render('Header')));
215
220
  }));
@@ -245,6 +250,10 @@ DataSpreadsheetHeader.propTypes = {
245
250
  rowHeaderWidth: index["default"].number,
246
251
  width: index["default"].number
247
252
  }),
253
+ /**
254
+ * Disable column swapping, default false
255
+ */
256
+ disableColumnSwapping: index["default"].bool,
248
257
  /**
249
258
  * Whether or not a click/hold is active on a header cell
250
259
  */
@@ -253,6 +262,10 @@ DataSpreadsheetHeader.propTypes = {
253
262
  * Headers provided from useTable hook
254
263
  */
255
264
  headerGroups: index["default"].arrayOf(index["default"].object),
265
+ /**
266
+ * Read-only table
267
+ */
268
+ readOnlyTable: index["default"].bool,
256
269
  /**
257
270
  * All of the spreadsheet row data
258
271
  */
@@ -15,6 +15,7 @@ export interface PrevState {
15
15
  isEditing?: boolean;
16
16
  selectionAreaData?: any[];
17
17
  clickAndHoldActive?: boolean;
18
+ selectedHeaderReorderActive?: boolean;
18
19
  rowHeight?: number;
19
20
  cellSize?: Size;
20
21
  }
@@ -16,10 +16,6 @@ export interface DatagridProps {
16
16
  * The data grid state, much of it being supplied by the useDatagrid hook
17
17
  */
18
18
  datagridState: DataGridState;
19
- /**
20
- * Table title
21
- */
22
- title?: string;
23
19
  }
24
20
  /**
25
21
  * The `Datagrid` component is an extension of Carbon's DataTable component. At the most basic level, the `Datagrid` component takes in columns and rows and renders a data table. There is a set of data table extensions which this component provides support for, these can be found [here](https://pages.github.ibm.com/cdai-design/pal/components/data-table/overview/). This component is data driven and allows you to choose what pieces will be included based on the hooks/plugins that are provided.
@@ -25,7 +25,7 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
25
25
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
26
26
  var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
27
27
 
28
- var _excluded = ["datagridState", "title", "ariaToolbarLabel"];
28
+ var _excluded = ["datagridState", "ariaToolbarLabel"];
29
29
  var blockClass = "".concat(settings.pkg.prefix, "--datagrid");
30
30
  var componentName = 'Datagrid';
31
31
  /**
@@ -33,7 +33,6 @@ var componentName = 'Datagrid';
33
33
  */
34
34
  exports.Datagrid = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, ref) {
35
35
  var datagridState = _ref.datagridState,
36
- title = _ref.title,
37
36
  ariaToolbarLabel = _ref.ariaToolbarLabel,
38
37
  rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
39
38
  if (!datagridState) {
@@ -49,13 +48,13 @@ exports.Datagrid = /*#__PURE__*/React__default["default"].forwardRef(function (_
49
48
  state = datagridState.state;
50
49
  var rows = DatagridPagination && datagridState.page || datagridState.rows;
51
50
  var props = {
52
- title: title,
53
51
  datagridState: datagridState,
54
52
  ariaToolbarLabel: ariaToolbarLabel
55
53
  };
56
54
  return /*#__PURE__*/React__default["default"].createElement(FilterProvider.FilterProvider, {
57
55
  filters: state === null || state === void 0 ? void 0 : state.filters,
58
- filterProps: filterProps
56
+ filterProps: filterProps,
57
+ tableId: tableId
59
58
  }, /*#__PURE__*/React__default["default"].createElement(InlineEditContext.InlineEditProvider, null, /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({}, rest, {
60
59
  id: tableId,
61
60
  ref: ref,
@@ -81,9 +80,5 @@ exports.Datagrid.propTypes = {
81
80
  * The data grid state, much of it being supplied by the useDatagrid hook
82
81
  */
83
82
  /**@ts-ignore */
84
- datagridState: index["default"].object.isRequired,
85
- /**
86
- * Table title
87
- */
88
- title: index["default"].string
83
+ datagridState: index["default"].object.isRequired
89
84
  };
@@ -167,7 +167,7 @@ var DatagridContent = function DatagridContent(_ref) {
167
167
  className: "".concat(blockClass, "__filter-summary"),
168
168
  filters: filterTags,
169
169
  clearFilters: function clearFilters() {
170
- return EventEmitter.dispatch(constants.CLEAR_FILTERS);
170
+ return EventEmitter.dispatch(constants.CLEAR_FILTERS, tableId);
171
171
  },
172
172
  renderLabel: filterProps === null || filterProps === void 0 ? void 0 : filterProps.renderLabel,
173
173
  overflowType: "tag"