@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
@@ -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,75 +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 _useState19 = useState(false),
122
+ isEditing = _useState18[0],
123
+ setIsEditing = _useState18[1];
124
+ var _useState19 = useState(''),
116
125
  _useState20 = _slicedToArray(_useState19, 2),
117
- selectedHeaderReorderActive = _useState20[0],
118
- setSelectedHeaderReorderActive = _useState20[1];
119
- var isBlurSpreadsheet = useRef(false);
126
+ cellEditorValue = _useState20[0],
127
+ setCellEditorValue = _useState20[1];
120
128
  var _useState21 = useState(false),
121
129
  _useState22 = _slicedToArray(_useState21, 2),
122
- isActiveHeaderCellChanged = _useState22[0],
123
- setIsActiveHeaderCellChanged = _useState22[1];
130
+ headerCellHoldActive = _useState22[0],
131
+ setHeaderCellHoldActive = _useState22[1];
124
132
  var _useState23 = useState(false),
125
133
  _useState24 = _slicedToArray(_useState23, 2),
126
- activeCellInsideSelectionArea = _useState24[0],
127
- setActiveCellInsideSelectionArea = _useState24[1];
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];
128
145
  var previousState = usePreviousValue({
129
146
  activeCellCoordinates: activeCellCoordinates,
130
147
  isEditing: isEditing,
131
- cellEditorValue: cellEditorValue
148
+ cellEditorValue: cellEditorValue,
149
+ selectedHeaderReorderActive: selectedHeaderReorderActive
132
150
  }) || {};
133
151
  var cellSizeValue = getCellSize(cellSize);
134
152
  var cellEditorRef = useRef();
135
- var _useState25 = useState(),
136
- _useState26 = _slicedToArray(_useState25, 2),
137
- activeCellContent = _useState26[0],
138
- setActiveCellContent = _useState26[1];
153
+ var _useState29 = useState(),
154
+ _useState30 = _slicedToArray(_useState29, 2),
155
+ activeCellContent = _useState30[0],
156
+ setActiveCellContent = _useState30[1];
139
157
  var activeCellRef = useRef();
140
158
  var cellEditorRulerRef = useRef();
159
+ var hasCustomRowHeader = typeof renderRowHeader === 'function';
160
+ var maxNumRowsCount = data.length.toString().length;
141
161
  var defaultColumn = useMemo(function () {
142
162
  return {
143
163
  width: 150,
144
- rowHeaderWidth: 64,
164
+ rowHeaderWidth: hasCustomRowHeader ? 40 + maxNumRowsCount * 8.56 : 64,
145
165
  rowHeight: cellSizeValue
146
166
  };
147
- }, [cellSizeValue]);
167
+ }, [cellSizeValue, hasCustomRowHeader, maxNumRowsCount]);
148
168
  var _useMultipleKeyTracki = useMultipleKeyTracking({
149
169
  ref: multiKeyTrackingRef,
150
170
  containerHasFocus: containerHasFocus,
@@ -180,6 +200,28 @@ var DataSpreadsheet = /*#__PURE__*/React__default.forwardRef(function (_ref, ref
180
200
  });
181
201
  });
182
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]);
183
225
 
184
226
  // Removes the active cell element
185
227
  var removeActiveCell = useCallback(function () {
@@ -211,9 +253,12 @@ var DataSpreadsheet = /*#__PURE__*/React__default.forwardRef(function (_ref, ref
211
253
  }
212
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)) {
213
255
  if (activeCellCoordinates && (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row) !== 'header' && (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.column) !== 'header') {
214
- var _activeCellFullData$r;
215
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;
216
- 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
+ }
217
262
  }
218
263
  if (activeCellCoordinates && (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row) === 'header' || (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.column) === 'header') {
219
264
  setActiveCellContent(null);
@@ -420,17 +465,14 @@ var DataSpreadsheet = /*#__PURE__*/React__default.forwardRef(function (_ref, ref
420
465
  }
421
466
  }, [handleInitialArrowPress, updateActiveCellCoordinates, activeCellCoordinates, columns, rows]);
422
467
  var handleKeyPressEvent = useCallback(function (event) {
423
- 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);
424
- }, [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]);
425
470
  var startEditMode = function startEditMode() {
471
+ var _activeCellFullData$r;
426
472
  setIsEditing(true);
427
473
  setClickAndHoldActive(false);
428
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;
429
- var activeCellValue;
430
- if (activeCellFullData && activeCellCoordinates !== null && activeCellCoordinates !== void 0 && activeCellCoordinates.column) {
431
- var _activeCellFullData$r2;
432
- 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;
433
- }
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;
434
476
  setCellEditorValue(activeCellValue || '');
435
477
  if (cellEditorRulerRef !== null && cellEditorRulerRef !== void 0 && cellEditorRulerRef.current) {
436
478
  cellEditorRulerRef.current.textContent = activeCellValue;
@@ -492,7 +534,7 @@ var DataSpreadsheet = /*#__PURE__*/React__default.forwardRef(function (_ref, ref
492
534
  // Go into edit mode if 'Enter' key is pressed on activeCellRef
493
535
  var handleActiveCellKeyDown = function handleActiveCellKeyDown(event) {
494
536
  var key = event.key;
495
- if (key === 'Enter' && !activeCellInsideSelectionArea) {
537
+ if (key === 'Enter' && !activeCellInsideSelectionArea && !readOnlyTable) {
496
538
  if ((activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.column) !== 'header' && (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row) !== 'header') {
497
539
  startEditMode();
498
540
  }
@@ -548,8 +590,10 @@ var DataSpreadsheet = /*#__PURE__*/React__default.forwardRef(function (_ref, ref
548
590
  };
549
591
 
550
592
  // Go into edit mode if double click is detected on activeCellRef
551
- var handleActiveCellDoubleClick = function handleActiveCellDoubleClick() {
552
- startEditMode();
593
+ var handleActiveCellDoubleClick = function handleActiveCellDoubleClick(readOnlyTable) {
594
+ if (!readOnlyTable) {
595
+ startEditMode();
596
+ }
553
597
  };
554
598
  useSpreadsheetEdit({
555
599
  isEditing: isEditing,
@@ -629,6 +673,8 @@ var DataSpreadsheet = /*#__PURE__*/React__default.forwardRef(function (_ref, ref
629
673
  setSelectionAreas: setSelectionAreas,
630
674
  setCurrentMatcher: setCurrentMatcher,
631
675
  setSelectionAreaData: setSelectionAreaData,
676
+ disableColumnSwapping: disableColumnSwapping,
677
+ readOnlyTable: readOnlyTable,
632
678
  totalVisibleColumns: totalVisibleColumns,
633
679
  updateActiveCellCoordinates: updateActiveCellCoordinates,
634
680
  setHeaderCellHoldActive: setHeaderCellHoldActive,
@@ -638,6 +684,7 @@ var DataSpreadsheet = /*#__PURE__*/React__default.forwardRef(function (_ref, ref
638
684
  }), /*#__PURE__*/React__default.createElement(DataSpreadsheetBody, {
639
685
  activeCellRef: activeCellRef,
640
686
  activeCellCoordinates: activeCellCoordinates,
687
+ setCurrentColumns: setCurrentColumns,
641
688
  ref: spreadsheetRef,
642
689
  clickAndHoldActive: clickAndHoldActive,
643
690
  setClickAndHoldActive: setClickAndHoldActive,
@@ -651,7 +698,10 @@ var DataSpreadsheet = /*#__PURE__*/React__default.forwardRef(function (_ref, ref
651
698
  headerGroups: headerGroups,
652
699
  defaultColumn: defaultColumn,
653
700
  getTableBodyProps: getTableBodyProps,
701
+ hasCustomRowHeader: hasCustomRowHeader,
654
702
  onDataUpdate: onDataUpdate,
703
+ renderRowHeaderDirection: renderRowHeaderDirection,
704
+ renderRowHeader: renderRowHeader,
655
705
  onActiveCellChange: onActiveCellChange,
656
706
  onSelectionAreaChange: onSelectionAreaChange,
657
707
  prepareRow: prepareRow,
@@ -674,7 +724,9 @@ var DataSpreadsheet = /*#__PURE__*/React__default.forwardRef(function (_ref, ref
674
724
  onMouseUp: handleActiveCellMouseUp,
675
725
  onClick: handleActiveCellClick,
676
726
  onKeyDown: handleActiveCellKeyDown,
677
- onDoubleClick: handleActiveCellDoubleClick,
727
+ onDoubleClick: function onDoubleClick() {
728
+ return handleActiveCellDoubleClick(readOnlyTable);
729
+ },
678
730
  onMouseEnter: handleActiveCellMouseEnter,
679
731
  ref: activeCellRef,
680
732
  className: cx("".concat(blockClass, "--interactive-cell-element"), "".concat(blockClass, "__active-cell--highlight"), _defineProperty({}, "".concat(blockClass, "__active-cell--with-selection"), activeCellInsideSelectionArea)),
@@ -750,6 +802,14 @@ DataSpreadsheet.propTypes = {
750
802
  * Sets the number of empty rows to be created when there is no data provided
751
803
  */
752
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,
753
813
  /**
754
814
  * The spreadsheet id
755
815
  */
@@ -758,6 +818,10 @@ DataSpreadsheet.propTypes = {
758
818
  * The event handler that is called when the active cell changes
759
819
  */
760
820
  onActiveCellChange: PropTypes.func,
821
+ /**
822
+ * Callback for when columns are dropped after dragged
823
+ */
824
+ onColDrag: PropTypes.func,
761
825
  /**
762
826
  * The setter fn for the data prop
763
827
  */
@@ -766,6 +830,18 @@ DataSpreadsheet.propTypes = {
766
830
  * The event handler that is called when the selection area values change
767
831
  */
768
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']),
769
845
  /**
770
846
  * The aria label applied to the Select all button
771
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
  */