@carbon/ibm-products 2.43.2-canary.1 → 2.43.2-canary.101

Sign up to get free protection for your applications and to get access to all the features.
Files changed (362) hide show
  1. package/css/index-full-carbon.css +429 -143
  2. package/css/index-full-carbon.css.map +1 -1
  3. package/css/index-full-carbon.min.css +1 -1
  4. package/css/index-full-carbon.min.css.map +1 -1
  5. package/css/index-without-carbon-released-only.css +219 -9
  6. package/css/index-without-carbon-released-only.css.map +1 -1
  7. package/css/index-without-carbon-released-only.min.css +1 -1
  8. package/css/index-without-carbon-released-only.min.css.map +1 -1
  9. package/css/index-without-carbon.css +249 -105
  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 +350 -129
  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 +140 -54
  68. package/es/components/DataSpreadsheet/DataSpreadsheetBody.d.ts +25 -1
  69. package/es/components/DataSpreadsheet/DataSpreadsheetBody.js +50 -9
  70. package/es/components/DataSpreadsheet/DataSpreadsheetHeader.d.ts +16 -0
  71. package/es/components/DataSpreadsheet/DataSpreadsheetHeader.js +32 -8
  72. package/es/components/DataSpreadsheet/hooks/useSpreadsheetMouseMove.js +4 -1
  73. package/es/components/DataSpreadsheet/hooks/useSpreadsheetMouseUp.d.ts +3 -1
  74. package/es/components/DataSpreadsheet/hooks/useSpreadsheetMouseUp.js +15 -3
  75. package/es/components/DataSpreadsheet/types/index.d.ts +2 -1
  76. package/es/components/DataSpreadsheet/utils/moveColumnIndicatorLine.js +34 -2
  77. package/es/components/Datagrid/Datagrid/Datagrid.d.ts +0 -4
  78. package/es/components/Datagrid/Datagrid/Datagrid.js +4 -9
  79. package/es/components/Datagrid/Datagrid/DatagridContent.js +1 -1
  80. package/es/components/Datagrid/Datagrid/DatagridHeaderRow.js +23 -8
  81. package/es/components/Datagrid/Datagrid/DatagridRow.js +21 -8
  82. package/es/components/Datagrid/Datagrid/DatagridSelectAll.js +6 -6
  83. package/es/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +3 -2
  84. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +34 -10
  85. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +6 -1
  86. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +6 -1
  87. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.d.ts +3 -1
  88. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +7 -4
  89. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.d.ts +1 -1
  90. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +54 -17
  91. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +2 -3
  92. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +75 -12
  93. package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +10 -2
  94. package/es/components/Datagrid/types/index.d.ts +61 -9
  95. package/es/components/Datagrid/useActionsColumn.d.ts +8 -1
  96. package/es/components/Datagrid/useActionsColumn.js +7 -6
  97. package/es/components/Datagrid/useColumnCenterAlign.d.ts +8 -1
  98. package/es/components/Datagrid/useColumnCenterAlign.js +1 -1
  99. package/es/components/Datagrid/useColumnRightAlign.d.ts +8 -1
  100. package/es/components/Datagrid/useColumnRightAlign.js +4 -3
  101. package/es/components/Datagrid/useCustomizeColumns.d.ts +8 -1
  102. package/es/components/Datagrid/useCustomizeColumns.js +4 -3
  103. package/es/components/Datagrid/useDefaultStringRenderer.js +0 -1
  104. package/es/components/Datagrid/useDisableSelectRows.d.ts +2 -1
  105. package/es/components/Datagrid/useDisableSelectRows.js +27 -22
  106. package/es/components/Datagrid/useInlineEdit.d.ts +8 -1
  107. package/es/components/Datagrid/useInlineEdit.js +13 -3
  108. package/es/components/Datagrid/useNestedRowExpander.js +1 -3
  109. package/es/components/Datagrid/useNestedRows.js +32 -13
  110. package/es/components/Datagrid/useRowExpander.js +1 -3
  111. package/es/components/Datagrid/useSelectRows.js +2 -1
  112. package/es/components/Datagrid/useStickyColumn.d.ts +8 -1
  113. package/es/components/Datagrid/useStickyColumn.js +12 -9
  114. package/es/components/Decorator/Decorator.js +2 -1
  115. package/es/components/DecoratorBase/DecoratorBase.js +3 -5
  116. package/es/components/DecoratorDualButton/DecoratorDualButton.js +2 -1
  117. package/es/components/DecoratorLink/DecoratorLink.js +2 -1
  118. package/es/components/DecoratorSingleButton/DecoratorSingleButton.js +2 -1
  119. package/es/components/EditInPlace/EditInPlace.d.ts +4 -0
  120. package/es/components/EditInPlace/EditInPlace.js +21 -10
  121. package/es/components/EditTearsheet/EditTearsheet.d.ts +7 -2
  122. package/es/components/EditTearsheet/EditTearsheet.js +44 -10
  123. package/es/components/EditTearsheet/EditTearsheetForm.d.ts +45 -2
  124. package/es/components/EditTearsheet/EditTearsheetForm.js +3 -0
  125. package/es/components/EmptyStates/EmptyStateV2.d.ts +63 -2
  126. package/es/components/EmptyStates/EmptyStateV2.js +2 -1
  127. package/es/components/FullPageError/FullPageError.d.ts +36 -2
  128. package/es/components/FullPageError/FullPageError.js +0 -3
  129. package/es/components/GetStartedCard/GetStartedCard.d.ts +61 -2
  130. package/es/components/GetStartedCard/GetStartedCard.js +9 -8
  131. package/es/components/HTTPErrors/HTTPError403/HTTPError403.js +6 -0
  132. package/es/components/HTTPErrors/HTTPError404/HTTPError404.js +6 -0
  133. package/es/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +6 -0
  134. package/es/components/HTTPErrors/assets/HTTPErrorSvg403.js +204 -200
  135. package/es/components/HTTPErrors/assets/HTTPErrorSvg404.js +116 -112
  136. package/es/components/HTTPErrors/assets/HTTPErrorSvgOther.js +110 -106
  137. package/es/components/Nav/NavItem.js +12 -3
  138. package/es/components/OptionsTile/OptionsTile.js +11 -6
  139. package/es/components/PageHeader/PageHeader.js +1 -0
  140. package/es/components/RemoveModal/RemoveModal.d.ts +4 -0
  141. package/es/components/RemoveModal/RemoveModal.js +7 -1
  142. package/es/components/SearchBar/SearchBar.d.ts +1 -1
  143. package/es/components/SearchBar/SearchBar.js +2 -2
  144. package/es/components/SidePanel/SidePanel.js +17 -21
  145. package/es/components/SidePanel/motion/variants.d.ts +4 -6
  146. package/es/components/SidePanel/motion/variants.js +10 -11
  147. package/es/components/StatusIndicator/StatusIndicatorStep.js +87 -0
  148. package/es/components/StringFormatter/StringFormatter.js +14 -3
  149. package/es/components/StringFormatter/utils/enums.d.ts +20 -1
  150. package/es/components/StringFormatter/utils/enums.js +22 -2
  151. package/es/components/TagOverflow/TagOverflow.d.ts +35 -4
  152. package/es/components/TagOverflow/TagOverflow.js +47 -64
  153. package/es/components/TagOverflow/TagOverflowModal.js +4 -6
  154. package/es/components/TagOverflow/TagOverflowPopover.d.ts +13 -1
  155. package/es/components/TagOverflow/TagOverflowPopover.js +38 -41
  156. package/es/components/Tearsheet/Tearsheet.d.ts +8 -1
  157. package/es/components/Tearsheet/Tearsheet.js +9 -1
  158. package/es/components/Tearsheet/TearsheetNarrow.d.ts +11 -0
  159. package/es/components/Tearsheet/TearsheetNarrow.js +12 -0
  160. package/es/components/Tearsheet/TearsheetShell.d.ts +11 -1
  161. package/es/components/Tearsheet/TearsheetShell.js +28 -7
  162. package/es/components/Toolbar/ToolbarButton.js +1 -1
  163. package/es/components/WebTerminal/WebTerminal.js +10 -12
  164. package/es/components/index.d.ts +1 -1
  165. package/es/global/js/hooks/useFocus.d.ts +1 -0
  166. package/es/global/js/hooks/useFocus.js +5 -2
  167. package/es/global/js/hooks/usePrefersReducedMotion.js +14 -8
  168. package/es/global/js/package-settings.d.ts +1 -1
  169. package/es/global/js/package-settings.js +1 -1
  170. package/es/index.js +1 -0
  171. package/es/node_modules/@carbon/icon-helpers/es/index.js +49 -62
  172. package/es/node_modules/@carbon/icons-react/es/generated/bucket-2.js +1020 -1058
  173. package/es/node_modules/@carbon/icons-react/es/generated/bucket-9.js +881 -758
  174. package/es/settings.d.ts +1 -1
  175. package/lib/components/ActionBar/ActionBarItem.js +1 -1
  176. package/lib/components/Coachmark/Coachmark.d.ts +6 -1
  177. package/lib/components/Coachmark/Coachmark.js +46 -10
  178. package/lib/components/Coachmark/CoachmarkOverlay.js +2 -4
  179. package/lib/components/CoachmarkBeacon/CoachmarkBeacon.js +1 -7
  180. package/lib/components/CoachmarkFixed/CoachmarkFixed.js +13 -11
  181. package/lib/components/CoachmarkStack/CoachmarkStack.js +7 -3
  182. package/lib/components/CoachmarkStack/CoachmarkStackHome.js +8 -4
  183. package/lib/components/ConditionBuilder/ConditionBlock/ConditionBlock.js +74 -53
  184. package/lib/components/ConditionBuilder/ConditionBuilder.js +82 -25
  185. package/lib/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.d.ts +15 -0
  186. package/lib/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.js +163 -0
  187. package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.d.ts +3 -1
  188. package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +28 -11
  189. package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +8 -1
  190. package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +29 -7
  191. package/lib/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.js +12 -7
  192. package/lib/components/ConditionBuilder/ConditionBuilderConnector/GroupConnector.js +18 -10
  193. package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +9 -13
  194. package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +73 -60
  195. package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts +13 -7
  196. package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +31 -8
  197. package/lib/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.d.ts +8 -2
  198. package/lib/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.js +34 -24
  199. package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +40 -36
  200. package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +40 -36
  201. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.d.ts +6 -2
  202. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +96 -38
  203. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.d.ts +3 -1
  204. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.js +24 -9
  205. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js +28 -10
  206. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.d.ts +13 -0
  207. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js +122 -0
  208. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.d.ts → ItemOptionForValueField.d.ts} +2 -2
  209. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.js → ItemOptionForValueField.js} +68 -35
  210. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.d.ts +5 -1
  211. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.js +21 -8
  212. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemTime/ConditionBuilderItemTime.js +1 -1
  213. package/lib/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.d.ts +1 -3
  214. package/lib/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +118 -37
  215. package/lib/components/ConditionBuilder/ConditionPreview/ConditionPreview.d.ts +3 -1
  216. package/lib/components/ConditionBuilder/ConditionPreview/ConditionPreview.js +44 -17
  217. package/lib/components/ConditionBuilder/utils/handleKeyboardEvents.d.ts +2 -1
  218. package/lib/components/ConditionBuilder/utils/handleKeyboardEvents.js +137 -39
  219. package/lib/components/ConditionBuilder/utils/useTranslations.d.ts +1 -0
  220. package/lib/components/ConditionBuilder/utils/useTranslations.js +30 -0
  221. package/lib/components/ConditionBuilder/utils/util.d.ts +6 -4
  222. package/lib/components/ConditionBuilder/utils/util.js +44 -16
  223. package/lib/components/CreateFullPage/CreateFullPage.js +2 -2
  224. package/lib/components/DataSpreadsheet/DataSpreadsheet.d.ts +26 -0
  225. package/lib/components/DataSpreadsheet/DataSpreadsheet.js +140 -54
  226. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.d.ts +25 -1
  227. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +50 -9
  228. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.d.ts +16 -0
  229. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.js +32 -8
  230. package/lib/components/DataSpreadsheet/hooks/useSpreadsheetMouseMove.js +4 -1
  231. package/lib/components/DataSpreadsheet/hooks/useSpreadsheetMouseUp.d.ts +3 -1
  232. package/lib/components/DataSpreadsheet/hooks/useSpreadsheetMouseUp.js +15 -3
  233. package/lib/components/DataSpreadsheet/types/index.d.ts +2 -1
  234. package/lib/components/DataSpreadsheet/utils/moveColumnIndicatorLine.js +34 -2
  235. package/lib/components/Datagrid/Datagrid/Datagrid.d.ts +0 -4
  236. package/lib/components/Datagrid/Datagrid/Datagrid.js +4 -9
  237. package/lib/components/Datagrid/Datagrid/DatagridContent.js +1 -1
  238. package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +23 -8
  239. package/lib/components/Datagrid/Datagrid/DatagridRow.js +21 -8
  240. package/lib/components/Datagrid/Datagrid/DatagridSelectAll.js +6 -6
  241. package/lib/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +3 -2
  242. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +34 -10
  243. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +6 -1
  244. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +6 -1
  245. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.d.ts +3 -1
  246. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +7 -4
  247. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.d.ts +1 -1
  248. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +53 -16
  249. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +2 -3
  250. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +74 -11
  251. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +10 -2
  252. package/lib/components/Datagrid/types/index.d.ts +61 -9
  253. package/lib/components/Datagrid/useActionsColumn.d.ts +8 -1
  254. package/lib/components/Datagrid/useActionsColumn.js +7 -6
  255. package/lib/components/Datagrid/useColumnCenterAlign.d.ts +8 -1
  256. package/lib/components/Datagrid/useColumnCenterAlign.js +1 -1
  257. package/lib/components/Datagrid/useColumnRightAlign.d.ts +8 -1
  258. package/lib/components/Datagrid/useColumnRightAlign.js +4 -3
  259. package/lib/components/Datagrid/useCustomizeColumns.d.ts +8 -1
  260. package/lib/components/Datagrid/useCustomizeColumns.js +4 -3
  261. package/lib/components/Datagrid/useDefaultStringRenderer.js +0 -1
  262. package/lib/components/Datagrid/useDisableSelectRows.d.ts +2 -1
  263. package/lib/components/Datagrid/useDisableSelectRows.js +27 -22
  264. package/lib/components/Datagrid/useInlineEdit.d.ts +8 -1
  265. package/lib/components/Datagrid/useInlineEdit.js +13 -3
  266. package/lib/components/Datagrid/useNestedRowExpander.js +1 -3
  267. package/lib/components/Datagrid/useNestedRows.js +32 -13
  268. package/lib/components/Datagrid/useRowExpander.js +1 -3
  269. package/lib/components/Datagrid/useSelectRows.js +2 -1
  270. package/lib/components/Datagrid/useStickyColumn.d.ts +8 -1
  271. package/lib/components/Datagrid/useStickyColumn.js +12 -9
  272. package/lib/components/Decorator/Decorator.js +2 -1
  273. package/lib/components/DecoratorBase/DecoratorBase.js +3 -5
  274. package/lib/components/DecoratorDualButton/DecoratorDualButton.js +2 -1
  275. package/lib/components/DecoratorLink/DecoratorLink.js +2 -1
  276. package/lib/components/DecoratorSingleButton/DecoratorSingleButton.js +2 -1
  277. package/lib/components/EditInPlace/EditInPlace.d.ts +4 -0
  278. package/lib/components/EditInPlace/EditInPlace.js +21 -10
  279. package/lib/components/EditTearsheet/EditTearsheet.d.ts +7 -2
  280. package/lib/components/EditTearsheet/EditTearsheet.js +43 -9
  281. package/lib/components/EditTearsheet/EditTearsheetForm.d.ts +45 -2
  282. package/lib/components/EditTearsheet/EditTearsheetForm.js +3 -0
  283. package/lib/components/EmptyStates/EmptyStateV2.d.ts +63 -2
  284. package/lib/components/EmptyStates/EmptyStateV2.js +2 -1
  285. package/lib/components/FullPageError/FullPageError.d.ts +36 -2
  286. package/lib/components/FullPageError/FullPageError.js +0 -3
  287. package/lib/components/GetStartedCard/GetStartedCard.d.ts +61 -2
  288. package/lib/components/GetStartedCard/GetStartedCard.js +8 -7
  289. package/lib/components/HTTPErrors/HTTPError403/HTTPError403.js +6 -0
  290. package/lib/components/HTTPErrors/HTTPError404/HTTPError404.js +6 -0
  291. package/lib/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +6 -0
  292. package/lib/components/HTTPErrors/assets/HTTPErrorSvg403.js +204 -200
  293. package/lib/components/HTTPErrors/assets/HTTPErrorSvg404.js +116 -112
  294. package/lib/components/HTTPErrors/assets/HTTPErrorSvgOther.js +110 -106
  295. package/lib/components/Nav/NavItem.js +10 -1
  296. package/lib/components/OptionsTile/OptionsTile.js +11 -6
  297. package/lib/components/PageHeader/PageHeader.js +1 -0
  298. package/lib/components/RemoveModal/RemoveModal.d.ts +4 -0
  299. package/lib/components/RemoveModal/RemoveModal.js +7 -1
  300. package/lib/components/SearchBar/SearchBar.d.ts +1 -1
  301. package/lib/components/SearchBar/SearchBar.js +2 -2
  302. package/lib/components/SidePanel/SidePanel.js +16 -20
  303. package/lib/components/SidePanel/motion/variants.d.ts +4 -6
  304. package/lib/components/SidePanel/motion/variants.js +10 -11
  305. package/lib/components/StatusIndicator/StatusIndicatorStep.js +94 -0
  306. package/lib/components/StringFormatter/StringFormatter.js +13 -2
  307. package/lib/components/StringFormatter/utils/enums.d.ts +20 -1
  308. package/lib/components/StringFormatter/utils/enums.js +23 -1
  309. package/lib/components/TagOverflow/TagOverflow.d.ts +35 -4
  310. package/lib/components/TagOverflow/TagOverflow.js +46 -63
  311. package/lib/components/TagOverflow/TagOverflowModal.js +4 -6
  312. package/lib/components/TagOverflow/TagOverflowPopover.d.ts +13 -1
  313. package/lib/components/TagOverflow/TagOverflowPopover.js +37 -40
  314. package/lib/components/Tearsheet/Tearsheet.d.ts +8 -1
  315. package/lib/components/Tearsheet/Tearsheet.js +9 -1
  316. package/lib/components/Tearsheet/TearsheetNarrow.d.ts +11 -0
  317. package/lib/components/Tearsheet/TearsheetNarrow.js +12 -0
  318. package/lib/components/Tearsheet/TearsheetShell.d.ts +11 -1
  319. package/lib/components/Tearsheet/TearsheetShell.js +26 -5
  320. package/lib/components/Toolbar/ToolbarButton.js +1 -1
  321. package/lib/components/WebTerminal/WebTerminal.js +10 -12
  322. package/lib/components/index.d.ts +1 -1
  323. package/lib/global/js/hooks/useFocus.d.ts +1 -0
  324. package/lib/global/js/hooks/useFocus.js +5 -1
  325. package/lib/global/js/hooks/usePrefersReducedMotion.js +13 -7
  326. package/lib/global/js/package-settings.d.ts +1 -1
  327. package/lib/global/js/package-settings.js +1 -1
  328. package/lib/index.js +5 -0
  329. package/lib/node_modules/@carbon/icon-helpers/es/index.js +49 -62
  330. package/lib/node_modules/@carbon/icons-react/es/generated/bucket-2.js +1036 -1074
  331. package/lib/node_modules/@carbon/icons-react/es/generated/bucket-9.js +946 -823
  332. package/lib/settings.d.ts +1 -1
  333. package/package.json +9 -8
  334. package/scss/components/Coachmark/_coachmark-overlay.scss +6 -70
  335. package/scss/components/Coachmark/_coachmark.scss +5 -4
  336. package/scss/components/CoachmarkBeacon/_coachmark-beacon.scss +1 -3
  337. package/scss/components/ConditionBuilder/_condition-builder.scss +5 -1
  338. package/scss/components/ConditionBuilder/styles/_conditionBuilderCondition.scss +20 -3
  339. package/scss/components/ConditionBuilder/styles/_conditionBuilderItem.scss +32 -3
  340. package/scss/components/CreateModal/_create-modal.scss +0 -4
  341. package/scss/components/DataSpreadsheet/_data-spreadsheet.scss +17 -2
  342. package/scss/components/Datagrid/_datagrid.scss +0 -4
  343. package/scss/components/Datagrid/styles/_datagrid.scss +1 -0
  344. package/scss/components/Datagrid/styles/_useInlineEdit.scss +13 -0
  345. package/scss/components/Datagrid/styles/addons/_CustomizeColumnsTearsheet.scss +7 -5
  346. package/scss/components/Datagrid/styles/addons/_FilterFlyout.scss +5 -4
  347. package/scss/components/HTTPErrors/_http-errors.scss +77 -0
  348. package/scss/components/OptionsTile/_options-tile.scss +6 -6
  349. package/scss/components/SidePanel/_side-panel.scss +1 -1
  350. package/scss/components/StatusIcon/_status-icon.scss +4 -4
  351. package/scss/components/StringFormatter/_string-formatter.scss +2 -2
  352. package/scss/components/UserProfileImage/_user-profile-image.scss +6 -2
  353. package/scss/components/_index-released-only.scss +1 -0
  354. package/telemetry.yml +32 -19
  355. package/es/components/ConditionBuilder/utils/checkForHoldingKey.d.ts +0 -1
  356. package/es/components/ConditionBuilder/utils/checkForHoldingKey.js +0 -16
  357. package/es/global/js/utils/window.d.ts +0 -2
  358. package/es/global/js/utils/window.js +0 -12
  359. package/lib/components/ConditionBuilder/utils/checkForHoldingKey.d.ts +0 -1
  360. package/lib/components/ConditionBuilder/utils/checkForHoldingKey.js +0 -20
  361. package/lib/global/js/utils/window.d.ts +0 -2
  362. package/lib/global/js/utils/window.js +0 -16
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Copyright IBM Corp. 2020, 2024
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ import { useContext } from 'react';
9
+ import { ConditionBuilderContext } from '../ConditionBuilderContext/ConditionBuilderProvider.js';
10
+ import { translationsObject } from '../ConditionBuilderContext/translationObject.js';
11
+
12
+ var useTranslations = function useTranslations(translationKeys) {
13
+ var _useContext = useContext(ConditionBuilderContext),
14
+ translateWithId = _useContext.translateWithId;
15
+ return translationKeys.map(function (translationKey) {
16
+ if (translateWithId !== null && translateWithId !== void 0 && translateWithId(translationKey)) {
17
+ return translateWithId(translationKey);
18
+ } else if (translationsObject[translationKey]) {
19
+ return translationsObject[translationKey];
20
+ } else {
21
+ return translationKey;
22
+ }
23
+ });
24
+ };
25
+
26
+ export { useTranslations };
@@ -1,5 +1,7 @@
1
- export function focusThisField(evt: any): void;
2
- export function focusThisItem(currentElement: any): void;
3
- export function traverseClockVise(eachElem: any, index: any, allElements: any, rotate: any, trapFocus: any): void;
4
- export function traverseReverse(eachElem: any, index: any, allElements: any, rotate: any, trapFocus: any): void;
1
+ export function focusThisField(evt: any, conditionBuilderRef: any): void;
2
+ export function focusThisItem(currentElement: any, conditionBuilderRef: any): void;
3
+ export function traverseClockVise(eachElem: any, index: any, allElements: any, rotate: any, trapFocus: any, conditionBuilderRef: any): void;
4
+ export function traverseReverse(eachElem: any, index: any, allElements: any, rotate: any, trapFocus: any, conditionBuilderRef: any): void;
5
5
  export function checkForHoldingKey(evt: any, key: any): any;
6
+ export function checkIsValid(item: any): any;
7
+ export function manageTabIndexAndFocus(currentElement: any, conditionBuilderRef: any): void;
@@ -5,41 +5,66 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- var focusThisField = function focusThisField(evt) {
9
- setTimeout(function () {
10
- var _evt$target$closest, _evt$target$closest2;
11
- (_evt$target$closest = evt.target.closest('[role="gridcell"]')) === null || _evt$target$closest === void 0 || (_evt$target$closest = _evt$target$closest.querySelector('button')) === null || _evt$target$closest === void 0 || _evt$target$closest.click();
12
- (_evt$target$closest2 = evt.target.closest('[role="gridcell"]')) === null || _evt$target$closest2 === void 0 || (_evt$target$closest2 = _evt$target$closest2.querySelector('button')) === null || _evt$target$closest2 === void 0 || _evt$target$closest2.focus();
13
- }, 0);
8
+ import { blockClass } from '../ConditionBuilderContext/DataConfigs.js';
9
+
10
+ var focusThisField = function focusThisField(evt, conditionBuilderRef) {
11
+ if (evt) {
12
+ setTimeout(function () {
13
+ var _evt$target$closest, _evt$target$closest2, _evt$target$closest3;
14
+ manageTabIndexAndFocus((_evt$target$closest = evt.target.closest('[role="gridcell"]')) === null || _evt$target$closest === void 0 ? void 0 : _evt$target$closest.querySelector('button'), conditionBuilderRef);
15
+ (_evt$target$closest2 = evt.target.closest('[role="gridcell"]')) === null || _evt$target$closest2 === void 0 || (_evt$target$closest2 = _evt$target$closest2.querySelector('button')) === null || _evt$target$closest2 === void 0 || _evt$target$closest2.click();
16
+ (_evt$target$closest3 = evt.target.closest('[role="gridcell"]')) === null || _evt$target$closest3 === void 0 || (_evt$target$closest3 = _evt$target$closest3.querySelector('button')) === null || _evt$target$closest3 === void 0 || _evt$target$closest3.focus();
17
+ }, 0);
18
+ }
14
19
  };
15
- var focusThisItem = function focusThisItem(currentElement) {
20
+ var focusThisItem = function focusThisItem(currentElement, conditionBuilderRef) {
16
21
  setTimeout(function () {
17
22
  //document.activeElement.setAttribute('tabindex', '-1');
18
23
  // currentElement.setAttribute('tabindex', '0');
19
- currentElement === null || currentElement === void 0 || currentElement.focus();
24
+ manageTabIndexAndFocus(currentElement, conditionBuilderRef);
20
25
  }, 0);
21
26
  };
22
- var traverseClockVise = function traverseClockVise(eachElem, index, allElements, rotate, trapFocus) {
27
+ var traverseClockVise = function traverseClockVise(eachElem, index, allElements, rotate, trapFocus, conditionBuilderRef) {
23
28
  if (eachElem == document.activeElement) {
24
29
  if (index !== allElements.length - 1) {
25
- focusThisItem(allElements[index + 1]);
30
+ focusThisItem(allElements[index + 1], conditionBuilderRef);
26
31
  } else {
27
- focusThisItem(allElements[rotate ? 0 : allElements.length - 1]);
32
+ focusThisItem(allElements[rotate ? 0 : allElements.length - 1], conditionBuilderRef);
28
33
  }
29
34
  } else if (Array.from(allElements).indexOf(document.activeElement) == -1 && trapFocus) {
30
- focusThisItem(allElements[0]);
35
+ focusThisItem(allElements[0], conditionBuilderRef);
31
36
  }
32
37
  };
33
- var traverseReverse = function traverseReverse(eachElem, index, allElements, rotate, trapFocus) {
38
+ var traverseReverse = function traverseReverse(eachElem, index, allElements, rotate, trapFocus, conditionBuilderRef) {
34
39
  if (eachElem == document.activeElement) {
35
40
  if (index !== 0) {
36
- focusThisItem(allElements[index - 1]);
41
+ focusThisItem(allElements[index - 1], conditionBuilderRef);
37
42
  } else {
38
- focusThisItem(allElements[rotate ? allElements.length - 1 : 0]);
43
+ focusThisItem(allElements[rotate ? allElements.length - 1 : 0], conditionBuilderRef);
39
44
  }
40
45
  } else if (Array.from(allElements).indexOf(document.activeElement) == -1 && trapFocus) {
41
- focusThisItem(allElements[allElements.length - 1]);
46
+ focusThisItem(allElements[allElements.length - 1], conditionBuilderRef);
42
47
  }
43
48
  };
49
+ var checkForHoldingKey = function checkForHoldingKey(evt, key) {
50
+ // possible key inputs: altKey,ctrlKey,metaKey,shiftKey
51
+ if (key === 'cmd') {
52
+ return evt.metaKey || evt.ctrlKey;
53
+ }
54
+ return evt[key];
55
+ };
56
+ var checkIsValid = function checkIsValid(item) {
57
+ return item && item !== 'INVALID';
58
+ };
59
+ var manageTabIndexAndFocus = function manageTabIndexAndFocus(currentElement, conditionBuilderRef) {
60
+ var _currentElement$close, _conditionBuilderRef$;
61
+ var contentContainer = (_currentElement$close = currentElement === null || currentElement === void 0 ? void 0 : currentElement.closest(".".concat(blockClass, "__content-container"))) !== null && _currentElement$close !== void 0 ? _currentElement$close : currentElement === null || currentElement === void 0 ? void 0 : currentElement.closest(".".concat(blockClass, "__actions-container"));
62
+ contentContainer && Array.from(contentContainer.querySelectorAll('[tabindex="0"]')).map(function (element) {
63
+ return element === null || element === void 0 ? void 0 : element.setAttribute('tabindex', '-1');
64
+ });
65
+ currentElement === null || currentElement === void 0 || currentElement.setAttribute('tabindex', '0');
66
+ (_conditionBuilderRef$ = conditionBuilderRef.current) === null || _conditionBuilderRef$ === void 0 || (_conditionBuilderRef$ = _conditionBuilderRef$.querySelector(".".concat(blockClass, "__statement-button"))) === null || _conditionBuilderRef$ === void 0 || _conditionBuilderRef$.setAttribute('tabindex', '1');
67
+ currentElement === null || currentElement === void 0 || currentElement.focus();
68
+ };
44
69
 
45
- export { focusThisField, focusThisItem, traverseClockVise, traverseReverse };
70
+ export { checkForHoldingKey, checkIsValid, focusThisField, focusThisItem, manageTabIndexAndFocus, traverseClockVise, traverseReverse };
@@ -89,6 +89,7 @@ var CreateFullPage = /*#__PURE__*/React__default.forwardRef(function (_ref, ref)
89
89
  _useState10 = _slicedToArray(_useState9, 2),
90
90
  modalIsOpen = _useState10[0],
91
91
  setModalIsOpen = _useState10[1];
92
+ // eslint-disable-next-line ssr-friendly/no-dom-globals-in-react-fc
92
93
  var previousState = usePreviousValue({
93
94
  currentStep: currentStep,
94
95
  open: open
@@ -146,8 +147,7 @@ var CreateFullPage = /*#__PURE__*/React__default.forwardRef(function (_ref, ref)
146
147
  useResetCreateComponent({
147
148
  firstIncludedStep: firstIncludedStep,
148
149
  previousState: previousState,
149
- /**@ts-ignore */
150
- open: open,
150
+ open: true,
151
151
  setCurrentStep: setCurrentStep,
152
152
  stepData: stepData,
153
153
  /**@ts-ignore */
@@ -20,6 +20,10 @@ interface DataSpreadsheetProps {
20
20
  * The data that will build the column headers
21
21
  */
22
22
  columns?: readonly Column<object>[];
23
+ /**
24
+ * Disable column swapping, default false
25
+ */
26
+ disableColumnSwapping?: boolean;
23
27
  /**
24
28
  * The spreadsheet data that will be rendered in the body of the spreadsheet component
25
29
  */
@@ -28,6 +32,10 @@ interface DataSpreadsheetProps {
28
32
  * Sets the number of empty rows to be created when there is no data provided
29
33
  */
30
34
  defaultEmptyRowCount?: number;
35
+ /**
36
+ * Check if has custom row header component attached
37
+ */
38
+ hasCustomRowHeader?: boolean;
31
39
  /**
32
40
  * The spreadsheet id
33
41
  */
@@ -36,6 +44,12 @@ interface DataSpreadsheetProps {
36
44
  * The event handler that is called when the active cell changes
37
45
  */
38
46
  onActiveCellChange?: () => void;
47
+ /**
48
+ * Callback for columns after being dragged
49
+ */
50
+ onColDrag?: ({ ...args }: {
51
+ [x: string]: any;
52
+ }) => void;
39
53
  /**
40
54
  * The setter fn for the data prop
41
55
  */
@@ -46,6 +60,18 @@ interface DataSpreadsheetProps {
46
60
  * The event handler that is called when the selection area values change
47
61
  */
48
62
  onSelectionAreaChange?: () => void;
63
+ /**
64
+ * Read-only table
65
+ */
66
+ readOnlyTable?: boolean;
67
+ /**
68
+ * Position of the custom row numbering component
69
+ */
70
+ renderRowHeaderDirection?: 'left' | 'right';
71
+ /**
72
+ * Component next to numbering rows
73
+ */
74
+ renderRowHeader?: (index: number) => any[];
49
75
  /**
50
76
  * The aria label applied to the Select all button
51
77
  */
@@ -32,7 +32,7 @@ import { useSpreadsheetOutsideClick } from './hooks/useSpreadsheetOutsideClick.j
32
32
  import { useMoveActiveCell } from './hooks/useMoveActiveCell.js';
33
33
  import { useSpreadsheetEdit } from './hooks/useSpreadsheetEdit.js';
34
34
 
35
- var _excluded = ["cellSize", "className", "columns", "data", "defaultEmptyRowCount", "onDataUpdate", "id", "onActiveCellChange", "onSelectionAreaChange", "selectAllAriaLabel", "spreadsheetAriaLabel", "theme", "totalVisibleColumns"];
35
+ var _excluded = ["cellSize", "className", "columns", "data", "defaultEmptyRowCount", "onDataUpdate", "onColDrag", "id", "onActiveCellChange", "onSelectionAreaChange", "renderRowHeader", "renderRowHeaderDirection", "disableColumnSwapping", "readOnlyTable", "selectAllAriaLabel", "spreadsheetAriaLabel", "theme", "totalVisibleColumns"];
36
36
  // The block part of our conventional BEM class names (blockClass__E--M).
37
37
  var blockClass = "".concat(pkg.prefix, "--data-spreadsheet");
38
38
  var componentName = 'DataSpreadsheet';
@@ -43,6 +43,7 @@ var defaults = {
43
43
  data: Object.freeze([]),
44
44
  defaultEmptyRowCount: 16,
45
45
  onDataUpdate: Object.freeze(function () {}),
46
+ onColDrag: Object.freeze(function () {}),
46
47
  onActiveCellChange: Object.freeze(function () {}),
47
48
  onSelectionAreaChange: Object.freeze(function () {}),
48
49
  theme: 'light'
@@ -62,11 +63,19 @@ var DataSpreadsheet = /*#__PURE__*/React__default.forwardRef(function (_ref, ref
62
63
  defaultEmptyRowCount = _ref$defaultEmptyRowC === void 0 ? defaults.defaultEmptyRowCount : _ref$defaultEmptyRowC,
63
64
  _ref$onDataUpdate = _ref.onDataUpdate,
64
65
  onDataUpdate = _ref$onDataUpdate === void 0 ? defaults.onDataUpdate : _ref$onDataUpdate,
66
+ _ref$onColDrag = _ref.onColDrag,
67
+ onColDrag = _ref$onColDrag === void 0 ? defaults.onColDrag : _ref$onColDrag,
65
68
  id = _ref.id,
66
69
  _ref$onActiveCellChan = _ref.onActiveCellChange,
67
70
  onActiveCellChange = _ref$onActiveCellChan === void 0 ? defaults.onActiveCellChange : _ref$onActiveCellChan,
68
71
  _ref$onSelectionAreaC = _ref.onSelectionAreaChange,
69
72
  onSelectionAreaChange = _ref$onSelectionAreaC === void 0 ? defaults.onSelectionAreaChange : _ref$onSelectionAreaC,
73
+ renderRowHeader = _ref.renderRowHeader,
74
+ renderRowHeaderDirection = _ref.renderRowHeaderDirection,
75
+ _ref$disableColumnSwa = _ref.disableColumnSwapping,
76
+ disableColumnSwapping = _ref$disableColumnSwa === void 0 ? false : _ref$disableColumnSwa,
77
+ _ref$readOnlyTable = _ref.readOnlyTable,
78
+ readOnlyTable = _ref$readOnlyTable === void 0 ? false : _ref$readOnlyTable,
70
79
  selectAllAriaLabel = _ref.selectAllAriaLabel,
71
80
  spreadsheetAriaLabel = _ref.spreadsheetAriaLabel,
72
81
  theme = _ref.theme,
@@ -76,71 +85,86 @@ var DataSpreadsheet = /*#__PURE__*/React__default.forwardRef(function (_ref, ref
76
85
  var localRef = useRef();
77
86
  var spreadsheetRef = ref || localRef;
78
87
  var focusedElement = useActiveElement();
79
- var _useState = useState(false),
88
+ var _useState = useState(columns),
80
89
  _useState2 = _slicedToArray(_useState, 2),
81
- containerHasFocus = _useState2[0],
82
- setContainerHasFocus = _useState2[1];
83
- var _useState3 = useState(null),
90
+ currentColumns = _useState2[0],
91
+ setCurrentColumns = _useState2[1];
92
+ var _useState3 = useState([]),
84
93
  _useState4 = _slicedToArray(_useState3, 2),
85
- activeCellCoordinates = _useState4[0],
86
- setActiveCellCoordinates = _useState4[1];
87
- var _useState5 = useState([]),
94
+ pastColumns = _useState4[0],
95
+ setPastColumns = _useState4[1];
96
+ var _useState5 = useState(false),
88
97
  _useState6 = _slicedToArray(_useState5, 2),
89
- selectionAreas = _useState6[0],
90
- setSelectionAreas = _useState6[1];
91
- var _useState7 = useState([]),
98
+ containerHasFocus = _useState6[0],
99
+ setContainerHasFocus = _useState6[1];
100
+ var _useState7 = useState(null),
92
101
  _useState8 = _slicedToArray(_useState7, 2),
93
- selectionAreaData = _useState8[0],
94
- setSelectionAreaData = _useState8[1];
95
- var _useState9 = useState(false),
102
+ activeCellCoordinates = _useState8[0],
103
+ setActiveCellCoordinates = _useState8[1];
104
+ var _useState9 = useState([]),
96
105
  _useState10 = _slicedToArray(_useState9, 2),
97
- clickAndHoldActive = _useState10[0],
98
- setClickAndHoldActive = _useState10[1];
99
- var _useState11 = useState(''),
106
+ selectionAreas = _useState10[0],
107
+ setSelectionAreas = _useState10[1];
108
+ var _useState11 = useState([]),
100
109
  _useState12 = _slicedToArray(_useState11, 2),
101
- currentMatcher = _useState12[0],
102
- setCurrentMatcher = _useState12[1];
110
+ selectionAreaData = _useState12[0],
111
+ setSelectionAreaData = _useState12[1];
103
112
  var _useState13 = useState(false),
104
113
  _useState14 = _slicedToArray(_useState13, 2),
105
- isEditing = _useState14[0],
106
- setIsEditing = _useState14[1];
114
+ clickAndHoldActive = _useState14[0],
115
+ setClickAndHoldActive = _useState14[1];
107
116
  var _useState15 = useState(''),
108
117
  _useState16 = _slicedToArray(_useState15, 2),
109
- cellEditorValue = _useState16[0],
110
- setCellEditorValue = _useState16[1];
118
+ currentMatcher = _useState16[0],
119
+ setCurrentMatcher = _useState16[1];
111
120
  var _useState17 = useState(false),
112
121
  _useState18 = _slicedToArray(_useState17, 2),
113
- headerCellHoldActive = _useState18[0],
114
- setHeaderCellHoldActive = _useState18[1];
115
- var isBlurSpreadsheet = useRef(false);
116
- var _useState19 = useState(false),
122
+ isEditing = _useState18[0],
123
+ setIsEditing = _useState18[1];
124
+ var _useState19 = useState(''),
117
125
  _useState20 = _slicedToArray(_useState19, 2),
118
- isActiveHeaderCellChanged = _useState20[0],
119
- setIsActiveHeaderCellChanged = _useState20[1];
126
+ cellEditorValue = _useState20[0],
127
+ setCellEditorValue = _useState20[1];
120
128
  var _useState21 = useState(false),
121
129
  _useState22 = _slicedToArray(_useState21, 2),
122
- activeCellInsideSelectionArea = _useState22[0],
123
- setActiveCellInsideSelectionArea = _useState22[1];
130
+ headerCellHoldActive = _useState22[0],
131
+ setHeaderCellHoldActive = _useState22[1];
132
+ var _useState23 = useState(false),
133
+ _useState24 = _slicedToArray(_useState23, 2),
134
+ selectedHeaderReorderActive = _useState24[0],
135
+ setSelectedHeaderReorderActive = _useState24[1];
136
+ var isBlurSpreadsheet = useRef(false);
137
+ var _useState25 = useState(false),
138
+ _useState26 = _slicedToArray(_useState25, 2),
139
+ isActiveHeaderCellChanged = _useState26[0],
140
+ setIsActiveHeaderCellChanged = _useState26[1];
141
+ var _useState27 = useState(false),
142
+ _useState28 = _slicedToArray(_useState27, 2),
143
+ activeCellInsideSelectionArea = _useState28[0],
144
+ setActiveCellInsideSelectionArea = _useState28[1];
124
145
  var previousState = usePreviousValue({
125
146
  activeCellCoordinates: activeCellCoordinates,
126
147
  isEditing: isEditing,
127
- cellEditorValue: cellEditorValue
148
+ cellEditorValue: cellEditorValue,
149
+ selectedHeaderReorderActive: selectedHeaderReorderActive
128
150
  }) || {};
129
151
  var cellSizeValue = getCellSize(cellSize);
130
152
  var cellEditorRef = useRef();
131
- var _useState23 = useState(),
132
- _useState24 = _slicedToArray(_useState23, 2),
133
- activeCellContent = _useState24[0],
134
- setActiveCellContent = _useState24[1];
153
+ var _useState29 = useState(),
154
+ _useState30 = _slicedToArray(_useState29, 2),
155
+ activeCellContent = _useState30[0],
156
+ setActiveCellContent = _useState30[1];
135
157
  var activeCellRef = useRef();
136
158
  var cellEditorRulerRef = useRef();
159
+ var hasCustomRowHeader = typeof renderRowHeader === 'function';
160
+ var maxNumRowsCount = data.length.toString().length;
137
161
  var defaultColumn = useMemo(function () {
138
162
  return {
139
163
  width: 150,
140
- rowHeaderWidth: 64,
164
+ rowHeaderWidth: hasCustomRowHeader ? 40 + maxNumRowsCount * 8.56 : 64,
141
165
  rowHeight: cellSizeValue
142
166
  };
143
- }, [cellSizeValue]);
167
+ }, [cellSizeValue, hasCustomRowHeader, maxNumRowsCount]);
144
168
  var _useMultipleKeyTracki = useMultipleKeyTracking({
145
169
  ref: multiKeyTrackingRef,
146
170
  containerHasFocus: containerHasFocus,
@@ -176,6 +200,28 @@ var DataSpreadsheet = /*#__PURE__*/React__default.forwardRef(function (_ref, ref
176
200
  });
177
201
  });
178
202
  }, [cellEditorValue, onDataUpdate]);
203
+ useEffect(function () {
204
+ var currentHeaders = [];
205
+ if (Object.keys(currentColumns).length > 0) {
206
+ Object.keys(currentColumns).forEach(function (itemIndex) {
207
+ if (currentColumns[itemIndex].Header) {
208
+ currentHeaders.push(currentColumns[itemIndex].Header);
209
+ }
210
+ });
211
+ }
212
+ if (previousState.selectedHeaderReorderActive) {
213
+ setPastColumns(currentHeaders);
214
+ }
215
+ if (!previousState.selectedHeaderReorderActive && pastColumns.length > 0 && !headerCellHoldActive && JSON.stringify(currentHeaders) !== JSON.stringify(pastColumns)) {
216
+ onColDrag({
217
+ headers: currentHeaders,
218
+ data: activeCellContent.props.data
219
+ });
220
+ if (currentHeaders.length === 0) {
221
+ setPastColumns([]);
222
+ }
223
+ }
224
+ }, [previousState === null || previousState === void 0 ? void 0 : previousState.selectedHeaderReorderActive, currentColumns, headerCellHoldActive, columns, activeCellContent, onColDrag, pastColumns]);
179
225
 
180
226
  // Removes the active cell element
181
227
  var removeActiveCell = useCallback(function () {
@@ -207,9 +253,12 @@ var DataSpreadsheet = /*#__PURE__*/React__default.forwardRef(function (_ref, ref
207
253
  }
208
254
  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)) {
209
255
  if (activeCellCoordinates && (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row) !== 'header' && (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.column) !== 'header') {
210
- var _activeCellFullData$r;
211
256
  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;
212
- setActiveCellContent((_activeCellFullData$r = activeCellFullData === null || activeCellFullData === void 0 ? void 0 : activeCellFullData.render('Cell')) !== null && _activeCellFullData$r !== void 0 ? _activeCellFullData$r : null);
257
+ if (activeCellFullData) {
258
+ setActiveCellContent(activeCellFullData.render('Cell'));
259
+ } else {
260
+ setActiveCellContent(null);
261
+ }
213
262
  }
214
263
  if (activeCellCoordinates && (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row) === 'header' || (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.column) === 'header') {
215
264
  setActiveCellContent(null);
@@ -416,17 +465,14 @@ var DataSpreadsheet = /*#__PURE__*/React__default.forwardRef(function (_ref, ref
416
465
  }
417
466
  }, [handleInitialArrowPress, updateActiveCellCoordinates, activeCellCoordinates, columns, rows]);
418
467
  var handleKeyPressEvent = useCallback(function (event) {
419
- 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);
420
- }, [activeCellInsideSelectionArea, updateActiveCellCoordinates, activeCellCoordinates, removeActiveCell, columns, rows, spreadsheetRef, currentMatcher, removeCellEditor, selectionAreas, handleHomeEndKey, keysPressedList, usingMac, updateData, checkForReturnCondition, handleArrowKeyPress]);
468
+ 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);
469
+ }, [activeCellInsideSelectionArea, updateActiveCellCoordinates, activeCellCoordinates, removeActiveCell, columns, rows, spreadsheetRef, currentMatcher, removeCellEditor, selectionAreas, handleHomeEndKey, keysPressedList, usingMac, updateData, checkForReturnCondition, handleArrowKeyPress, readOnlyTable]);
421
470
  var startEditMode = function startEditMode() {
471
+ var _activeCellFullData$r;
422
472
  setIsEditing(true);
423
473
  setClickAndHoldActive(false);
424
474
  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;
425
- var activeCellValue;
426
- if (activeCellFullData && activeCellCoordinates !== null && activeCellCoordinates !== void 0 && activeCellCoordinates.column) {
427
- var _activeCellFullData$r2;
428
- 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;
429
- }
475
+ 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;
430
476
  setCellEditorValue(activeCellValue || '');
431
477
  if (cellEditorRulerRef !== null && cellEditorRulerRef !== void 0 && cellEditorRulerRef.current) {
432
478
  cellEditorRulerRef.current.textContent = activeCellValue;
@@ -488,7 +534,7 @@ var DataSpreadsheet = /*#__PURE__*/React__default.forwardRef(function (_ref, ref
488
534
  // Go into edit mode if 'Enter' key is pressed on activeCellRef
489
535
  var handleActiveCellKeyDown = function handleActiveCellKeyDown(event) {
490
536
  var key = event.key;
491
- if (key === 'Enter' && !activeCellInsideSelectionArea) {
537
+ if (key === 'Enter' && !activeCellInsideSelectionArea && !readOnlyTable) {
492
538
  if ((activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.column) !== 'header' && (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row) !== 'header') {
493
539
  startEditMode();
494
540
  }
@@ -544,8 +590,10 @@ var DataSpreadsheet = /*#__PURE__*/React__default.forwardRef(function (_ref, ref
544
590
  };
545
591
 
546
592
  // Go into edit mode if double click is detected on activeCellRef
547
- var handleActiveCellDoubleClick = function handleActiveCellDoubleClick() {
548
- startEditMode();
593
+ var handleActiveCellDoubleClick = function handleActiveCellDoubleClick(readOnlyTable) {
594
+ if (!readOnlyTable) {
595
+ startEditMode();
596
+ }
549
597
  };
550
598
  useSpreadsheetEdit({
551
599
  isEditing: isEditing,
@@ -615,6 +663,8 @@ var DataSpreadsheet = /*#__PURE__*/React__default.forwardRef(function (_ref, ref
615
663
  columns: columns,
616
664
  currentMatcher: currentMatcher,
617
665
  defaultColumn: defaultColumn,
666
+ selectedHeaderReorderActive: selectedHeaderReorderActive,
667
+ setSelectedHeaderReorderActive: setSelectedHeaderReorderActive,
618
668
  headerGroups: headerGroups,
619
669
  rows: rows,
620
670
  scrollBarSize: scrollBarSize,
@@ -623,6 +673,8 @@ var DataSpreadsheet = /*#__PURE__*/React__default.forwardRef(function (_ref, ref
623
673
  setSelectionAreas: setSelectionAreas,
624
674
  setCurrentMatcher: setCurrentMatcher,
625
675
  setSelectionAreaData: setSelectionAreaData,
676
+ disableColumnSwapping: disableColumnSwapping,
677
+ readOnlyTable: readOnlyTable,
626
678
  totalVisibleColumns: totalVisibleColumns,
627
679
  updateActiveCellCoordinates: updateActiveCellCoordinates,
628
680
  setHeaderCellHoldActive: setHeaderCellHoldActive,
@@ -632,18 +684,24 @@ var DataSpreadsheet = /*#__PURE__*/React__default.forwardRef(function (_ref, ref
632
684
  }), /*#__PURE__*/React__default.createElement(DataSpreadsheetBody, {
633
685
  activeCellRef: activeCellRef,
634
686
  activeCellCoordinates: activeCellCoordinates,
687
+ setCurrentColumns: setCurrentColumns,
635
688
  ref: spreadsheetRef,
636
689
  clickAndHoldActive: clickAndHoldActive,
637
690
  setClickAndHoldActive: setClickAndHoldActive,
638
691
  currentMatcher: currentMatcher,
639
692
  setCurrentMatcher: setCurrentMatcher,
640
693
  setContainerHasFocus: setContainerHasFocus,
694
+ selectedHeaderReorderActive: selectedHeaderReorderActive,
695
+ setSelectedHeaderReorderActive: setSelectedHeaderReorderActive,
641
696
  selectionAreas: selectionAreas,
642
697
  setSelectionAreas: setSelectionAreas,
643
698
  headerGroups: headerGroups,
644
699
  defaultColumn: defaultColumn,
645
700
  getTableBodyProps: getTableBodyProps,
701
+ hasCustomRowHeader: hasCustomRowHeader,
646
702
  onDataUpdate: onDataUpdate,
703
+ renderRowHeaderDirection: renderRowHeaderDirection,
704
+ renderRowHeader: renderRowHeader,
647
705
  onActiveCellChange: onActiveCellChange,
648
706
  onSelectionAreaChange: onSelectionAreaChange,
649
707
  prepareRow: prepareRow,
@@ -666,7 +724,9 @@ var DataSpreadsheet = /*#__PURE__*/React__default.forwardRef(function (_ref, ref
666
724
  onMouseUp: handleActiveCellMouseUp,
667
725
  onClick: handleActiveCellClick,
668
726
  onKeyDown: handleActiveCellKeyDown,
669
- onDoubleClick: handleActiveCellDoubleClick,
727
+ onDoubleClick: function onDoubleClick() {
728
+ return handleActiveCellDoubleClick(readOnlyTable);
729
+ },
670
730
  onMouseEnter: handleActiveCellMouseEnter,
671
731
  ref: activeCellRef,
672
732
  className: cx("".concat(blockClass, "--interactive-cell-element"), "".concat(blockClass, "__active-cell--highlight"), _defineProperty({}, "".concat(blockClass, "__active-cell--with-selection"), activeCellInsideSelectionArea)),
@@ -688,9 +748,11 @@ var DataSpreadsheet = /*#__PURE__*/React__default.forwardRef(function (_ref, ref
688
748
  updateData: updateData
689
749
  }),
690
750
  onChange: function onChange(event) {
691
- setCellEditorValue(event.target.value);
692
- if (cellEditorRulerRef !== null && cellEditorRulerRef !== void 0 && cellEditorRulerRef.current) {
693
- cellEditorRulerRef.current.textContent = event.target.value;
751
+ if (previousState.isEditing) {
752
+ setCellEditorValue(event.target.value);
753
+ if (cellEditorRulerRef !== null && cellEditorRulerRef !== void 0 && cellEditorRulerRef.current) {
754
+ cellEditorRulerRef.current.textContent = event.target.value;
755
+ }
694
756
  }
695
757
  },
696
758
  ref: cellEditorRef,
@@ -740,6 +802,14 @@ DataSpreadsheet.propTypes = {
740
802
  * Sets the number of empty rows to be created when there is no data provided
741
803
  */
742
804
  defaultEmptyRowCount: PropTypes.number,
805
+ /**
806
+ * Disable column swapping, default false
807
+ */
808
+ disableColumnSwapping: PropTypes.bool,
809
+ /**
810
+ * Check if spreadsheet is using custom row header component attached
811
+ */
812
+ hasCustomRowHeader: PropTypes.bool,
743
813
  /**
744
814
  * The spreadsheet id
745
815
  */
@@ -748,6 +818,10 @@ DataSpreadsheet.propTypes = {
748
818
  * The event handler that is called when the active cell changes
749
819
  */
750
820
  onActiveCellChange: PropTypes.func,
821
+ /**
822
+ * Callback for when columns are dropped after dragged
823
+ */
824
+ onColDrag: PropTypes.func,
751
825
  /**
752
826
  * The setter fn for the data prop
753
827
  */
@@ -756,6 +830,18 @@ DataSpreadsheet.propTypes = {
756
830
  * The event handler that is called when the selection area values change
757
831
  */
758
832
  onSelectionAreaChange: PropTypes.func,
833
+ /**
834
+ * Read-only table
835
+ */
836
+ readOnlyTable: PropTypes.bool,
837
+ /**
838
+ * Component next to numbering rows
839
+ */
840
+ renderRowHeader: PropTypes.func,
841
+ /**
842
+ * Component next to numbering rows
843
+ */
844
+ renderRowHeaderDirection: PropTypes.oneOf(['left', 'right']),
759
845
  /**
760
846
  * The aria label applied to the Select all button
761
847
  */
@@ -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
  */
@@ -79,7 +95,15 @@ interface DataSpreadsheetBodyProps {
79
95
  /**
80
96
  * Array of selection area data
81
97
  */
82
- selectionAreaData?: object[];
98
+ selectionAreaData?: any[];
99
+ /**
100
+ * Header reordering is active
101
+ */
102
+ selectedHeaderReorderActive?: boolean;
103
+ /**
104
+ * Set header reordering active or not
105
+ */
106
+ setSelectedHeaderReorderActive?: Dispatch<SetStateAction<boolean>>;
83
107
  /**
84
108
  * Array of selection areas
85
109
  */