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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (293) hide show
  1. package/css/index-full-carbon.css +167 -15
  2. package/css/index-full-carbon.css.map +1 -1
  3. package/css/index-full-carbon.min.css +1 -1
  4. package/css/index-full-carbon.min.css.map +1 -1
  5. package/css/index-without-carbon-released-only.css +215 -5
  6. package/css/index-without-carbon-released-only.css.map +1 -1
  7. package/css/index-without-carbon-released-only.min.css +1 -1
  8. package/css/index-without-carbon-released-only.min.css.map +1 -1
  9. package/css/index-without-carbon.css +167 -15
  10. package/css/index-without-carbon.css.map +1 -1
  11. package/css/index-without-carbon.min.css +1 -1
  12. package/css/index-without-carbon.min.css.map +1 -1
  13. package/css/index.css +167 -15
  14. package/css/index.css.map +1 -1
  15. package/css/index.min.css +1 -1
  16. package/css/index.min.css.map +1 -1
  17. package/es/components/Coachmark/Coachmark.js +12 -7
  18. package/es/components/CoachmarkFixed/CoachmarkFixed.js +13 -11
  19. package/es/components/CoachmarkStack/CoachmarkStack.js +7 -3
  20. package/es/components/CoachmarkStack/CoachmarkStackHome.js +8 -4
  21. package/es/components/ConditionBuilder/ConditionBlock/ConditionBlock.js +57 -42
  22. package/es/components/ConditionBuilder/ConditionBuilder.js +81 -24
  23. package/es/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.d.ts +15 -0
  24. package/es/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.js +151 -0
  25. package/es/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.d.ts +3 -1
  26. package/es/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +27 -13
  27. package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +8 -1
  28. package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +29 -7
  29. package/es/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.js +10 -6
  30. package/es/components/ConditionBuilder/ConditionBuilderConnector/GroupConnector.js +19 -11
  31. package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +9 -11
  32. package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +58 -41
  33. package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts +12 -7
  34. package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +26 -8
  35. package/es/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.d.ts +8 -2
  36. package/es/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.js +35 -24
  37. package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +37 -36
  38. package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +37 -36
  39. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.d.ts +4 -2
  40. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +67 -33
  41. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.d.ts +3 -1
  42. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.js +24 -9
  43. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js +27 -9
  44. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.d.ts +13 -0
  45. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js +114 -0
  46. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.d.ts → ItemOptionForValueField.d.ts} +2 -2
  47. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.js → ItemOptionForValueField.js} +66 -36
  48. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.d.ts +5 -1
  49. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.js +19 -7
  50. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemTime/ConditionBuilderItemTime.js +1 -1
  51. package/es/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +74 -23
  52. package/es/components/ConditionBuilder/ConditionPreview/ConditionPreview.d.ts +3 -1
  53. package/es/components/ConditionBuilder/ConditionPreview/ConditionPreview.js +45 -19
  54. package/es/components/ConditionBuilder/utils/handleKeyboardEvents.d.ts +1 -1
  55. package/es/components/ConditionBuilder/utils/handleKeyboardEvents.js +120 -29
  56. package/es/components/ConditionBuilder/utils/useTranslations.d.ts +1 -0
  57. package/es/components/ConditionBuilder/utils/useTranslations.js +26 -0
  58. package/es/components/ConditionBuilder/utils/util.d.ts +1 -0
  59. package/es/components/ConditionBuilder/utils/util.js +8 -1
  60. package/es/components/CreateFullPage/CreateFullPage.js +2 -2
  61. package/es/components/DataSpreadsheet/DataSpreadsheet.d.ts +20 -0
  62. package/es/components/DataSpreadsheet/DataSpreadsheet.js +58 -19
  63. package/es/components/DataSpreadsheet/DataSpreadsheetBody.d.ts +12 -0
  64. package/es/components/DataSpreadsheet/DataSpreadsheetBody.js +22 -6
  65. package/es/components/DataSpreadsheet/DataSpreadsheetHeader.d.ts +8 -0
  66. package/es/components/DataSpreadsheet/DataSpreadsheetHeader.js +16 -3
  67. package/es/components/DataSpreadsheet/hooks/useSpreadsheetMouseMove.js +4 -1
  68. package/es/components/DataSpreadsheet/utils/moveColumnIndicatorLine.js +34 -2
  69. package/es/components/Datagrid/Datagrid/Datagrid.d.ts +0 -4
  70. package/es/components/Datagrid/Datagrid/Datagrid.js +4 -9
  71. package/es/components/Datagrid/Datagrid/DatagridContent.js +1 -1
  72. package/es/components/Datagrid/Datagrid/DatagridHeaderRow.js +23 -8
  73. package/es/components/Datagrid/Datagrid/DatagridRow.js +21 -8
  74. package/es/components/Datagrid/Datagrid/DatagridSelectAll.js +2 -1
  75. package/es/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +3 -2
  76. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +6 -1
  77. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +6 -1
  78. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.d.ts +3 -1
  79. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +7 -4
  80. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.d.ts +1 -1
  81. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +21 -16
  82. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +2 -3
  83. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +74 -11
  84. package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +10 -2
  85. package/es/components/Datagrid/types/index.d.ts +44 -8
  86. package/es/components/Datagrid/useActionsColumn.d.ts +8 -1
  87. package/es/components/Datagrid/useActionsColumn.js +7 -6
  88. package/es/components/Datagrid/useColumnRightAlign.d.ts +8 -1
  89. package/es/components/Datagrid/useColumnRightAlign.js +4 -3
  90. package/es/components/Datagrid/useCustomizeColumns.d.ts +8 -1
  91. package/es/components/Datagrid/useCustomizeColumns.js +4 -3
  92. package/es/components/Datagrid/useDefaultStringRenderer.js +0 -1
  93. package/es/components/Datagrid/useInlineEdit.js +12 -2
  94. package/es/components/Datagrid/useNestedRowExpander.js +1 -3
  95. package/es/components/Datagrid/useNestedRows.js +32 -13
  96. package/es/components/Datagrid/useRowExpander.js +1 -3
  97. package/es/components/Datagrid/useSelectRows.js +2 -1
  98. package/es/components/Datagrid/useStickyColumn.d.ts +8 -1
  99. package/es/components/Datagrid/useStickyColumn.js +12 -9
  100. package/es/components/Decorator/Decorator.js +2 -1
  101. package/es/components/DecoratorBase/DecoratorBase.js +3 -5
  102. package/es/components/DecoratorDualButton/DecoratorDualButton.js +2 -1
  103. package/es/components/DecoratorLink/DecoratorLink.js +2 -1
  104. package/es/components/DecoratorSingleButton/DecoratorSingleButton.js +2 -1
  105. package/es/components/EditInPlace/EditInPlace.d.ts +4 -0
  106. package/es/components/EditInPlace/EditInPlace.js +21 -10
  107. package/es/components/EditTearsheet/EditTearsheet.d.ts +7 -2
  108. package/es/components/EditTearsheet/EditTearsheet.js +44 -10
  109. package/es/components/EditTearsheet/EditTearsheetForm.d.ts +45 -2
  110. package/es/components/EditTearsheet/EditTearsheetForm.js +3 -0
  111. package/es/components/HTTPErrors/HTTPError403/HTTPError403.js +6 -0
  112. package/es/components/HTTPErrors/HTTPError404/HTTPError404.js +6 -0
  113. package/es/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +6 -0
  114. package/es/components/HTTPErrors/assets/HTTPErrorSvg403.js +204 -200
  115. package/es/components/HTTPErrors/assets/HTTPErrorSvg404.js +116 -112
  116. package/es/components/HTTPErrors/assets/HTTPErrorSvgOther.js +110 -106
  117. package/es/components/Nav/NavItem.js +12 -3
  118. package/es/components/OptionsTile/OptionsTile.js +11 -6
  119. package/es/components/PageHeader/PageHeader.js +1 -0
  120. package/es/components/RemoveModal/RemoveModal.d.ts +4 -0
  121. package/es/components/RemoveModal/RemoveModal.js +7 -1
  122. package/es/components/SearchBar/SearchBar.d.ts +1 -1
  123. package/es/components/SearchBar/SearchBar.js +2 -2
  124. package/es/components/SidePanel/SidePanel.js +17 -21
  125. package/es/components/SidePanel/motion/variants.d.ts +4 -6
  126. package/es/components/SidePanel/motion/variants.js +10 -11
  127. package/es/components/StatusIndicator/StatusIndicatorStep.js +87 -0
  128. package/es/components/Tearsheet/Tearsheet.d.ts +8 -1
  129. package/es/components/Tearsheet/Tearsheet.js +9 -1
  130. package/es/components/Tearsheet/TearsheetNarrow.d.ts +11 -0
  131. package/es/components/Tearsheet/TearsheetNarrow.js +12 -0
  132. package/es/components/Tearsheet/TearsheetShell.d.ts +11 -1
  133. package/es/components/Tearsheet/TearsheetShell.js +24 -6
  134. package/es/components/Toolbar/ToolbarButton.js +1 -1
  135. package/es/components/WebTerminal/WebTerminal.js +10 -12
  136. package/es/components/index.d.ts +1 -1
  137. package/es/global/js/hooks/useFocus.d.ts +1 -0
  138. package/es/global/js/hooks/useFocus.js +5 -2
  139. package/es/global/js/hooks/usePrefersReducedMotion.js +14 -8
  140. package/es/global/js/package-settings.d.ts +1 -1
  141. package/es/global/js/package-settings.js +1 -1
  142. package/es/index.js +1 -0
  143. package/es/settings.d.ts +1 -1
  144. package/lib/components/Coachmark/Coachmark.js +12 -7
  145. package/lib/components/CoachmarkFixed/CoachmarkFixed.js +13 -11
  146. package/lib/components/CoachmarkStack/CoachmarkStack.js +7 -3
  147. package/lib/components/CoachmarkStack/CoachmarkStackHome.js +8 -4
  148. package/lib/components/ConditionBuilder/ConditionBlock/ConditionBlock.js +56 -41
  149. package/lib/components/ConditionBuilder/ConditionBuilder.js +81 -24
  150. package/lib/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.d.ts +15 -0
  151. package/lib/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.js +160 -0
  152. package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.d.ts +3 -1
  153. package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +26 -11
  154. package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +8 -1
  155. package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +28 -6
  156. package/lib/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.js +8 -4
  157. package/lib/components/ConditionBuilder/ConditionBuilderConnector/GroupConnector.js +18 -10
  158. package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +9 -11
  159. package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +57 -40
  160. package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts +12 -7
  161. package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +26 -8
  162. package/lib/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.d.ts +8 -2
  163. package/lib/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.js +34 -24
  164. package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +37 -36
  165. package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +37 -36
  166. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.d.ts +4 -2
  167. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +66 -32
  168. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.d.ts +3 -1
  169. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.js +24 -9
  170. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js +28 -10
  171. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.d.ts +13 -0
  172. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js +122 -0
  173. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.d.ts → ItemOptionForValueField.d.ts} +2 -2
  174. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.js → ItemOptionForValueField.js} +63 -33
  175. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.d.ts +5 -1
  176. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.js +18 -6
  177. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemTime/ConditionBuilderItemTime.js +1 -1
  178. package/lib/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +72 -21
  179. package/lib/components/ConditionBuilder/ConditionPreview/ConditionPreview.d.ts +3 -1
  180. package/lib/components/ConditionBuilder/ConditionPreview/ConditionPreview.js +44 -17
  181. package/lib/components/ConditionBuilder/utils/handleKeyboardEvents.d.ts +1 -1
  182. package/lib/components/ConditionBuilder/utils/handleKeyboardEvents.js +120 -29
  183. package/lib/components/ConditionBuilder/utils/useTranslations.d.ts +1 -0
  184. package/lib/components/ConditionBuilder/utils/useTranslations.js +30 -0
  185. package/lib/components/ConditionBuilder/utils/util.d.ts +1 -0
  186. package/lib/components/ConditionBuilder/utils/util.js +8 -0
  187. package/lib/components/CreateFullPage/CreateFullPage.js +2 -2
  188. package/lib/components/DataSpreadsheet/DataSpreadsheet.d.ts +20 -0
  189. package/lib/components/DataSpreadsheet/DataSpreadsheet.js +58 -19
  190. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.d.ts +12 -0
  191. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +22 -6
  192. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.d.ts +8 -0
  193. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.js +16 -3
  194. package/lib/components/DataSpreadsheet/hooks/useSpreadsheetMouseMove.js +4 -1
  195. package/lib/components/DataSpreadsheet/utils/moveColumnIndicatorLine.js +34 -2
  196. package/lib/components/Datagrid/Datagrid/Datagrid.d.ts +0 -4
  197. package/lib/components/Datagrid/Datagrid/Datagrid.js +4 -9
  198. package/lib/components/Datagrid/Datagrid/DatagridContent.js +1 -1
  199. package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +23 -8
  200. package/lib/components/Datagrid/Datagrid/DatagridRow.js +21 -8
  201. package/lib/components/Datagrid/Datagrid/DatagridSelectAll.js +2 -1
  202. package/lib/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +3 -2
  203. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +6 -1
  204. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +6 -1
  205. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.d.ts +3 -1
  206. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +7 -4
  207. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.d.ts +1 -1
  208. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +21 -16
  209. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +2 -3
  210. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +73 -10
  211. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +10 -2
  212. package/lib/components/Datagrid/types/index.d.ts +44 -8
  213. package/lib/components/Datagrid/useActionsColumn.d.ts +8 -1
  214. package/lib/components/Datagrid/useActionsColumn.js +7 -6
  215. package/lib/components/Datagrid/useColumnRightAlign.d.ts +8 -1
  216. package/lib/components/Datagrid/useColumnRightAlign.js +4 -3
  217. package/lib/components/Datagrid/useCustomizeColumns.d.ts +8 -1
  218. package/lib/components/Datagrid/useCustomizeColumns.js +4 -3
  219. package/lib/components/Datagrid/useDefaultStringRenderer.js +0 -1
  220. package/lib/components/Datagrid/useInlineEdit.js +12 -2
  221. package/lib/components/Datagrid/useNestedRowExpander.js +1 -3
  222. package/lib/components/Datagrid/useNestedRows.js +32 -13
  223. package/lib/components/Datagrid/useRowExpander.js +1 -3
  224. package/lib/components/Datagrid/useSelectRows.js +2 -1
  225. package/lib/components/Datagrid/useStickyColumn.d.ts +8 -1
  226. package/lib/components/Datagrid/useStickyColumn.js +12 -9
  227. package/lib/components/Decorator/Decorator.js +2 -1
  228. package/lib/components/DecoratorBase/DecoratorBase.js +3 -5
  229. package/lib/components/DecoratorDualButton/DecoratorDualButton.js +2 -1
  230. package/lib/components/DecoratorLink/DecoratorLink.js +2 -1
  231. package/lib/components/DecoratorSingleButton/DecoratorSingleButton.js +2 -1
  232. package/lib/components/EditInPlace/EditInPlace.d.ts +4 -0
  233. package/lib/components/EditInPlace/EditInPlace.js +21 -10
  234. package/lib/components/EditTearsheet/EditTearsheet.d.ts +7 -2
  235. package/lib/components/EditTearsheet/EditTearsheet.js +43 -9
  236. package/lib/components/EditTearsheet/EditTearsheetForm.d.ts +45 -2
  237. package/lib/components/EditTearsheet/EditTearsheetForm.js +3 -0
  238. package/lib/components/HTTPErrors/HTTPError403/HTTPError403.js +6 -0
  239. package/lib/components/HTTPErrors/HTTPError404/HTTPError404.js +6 -0
  240. package/lib/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +6 -0
  241. package/lib/components/HTTPErrors/assets/HTTPErrorSvg403.js +204 -200
  242. package/lib/components/HTTPErrors/assets/HTTPErrorSvg404.js +116 -112
  243. package/lib/components/HTTPErrors/assets/HTTPErrorSvgOther.js +110 -106
  244. package/lib/components/Nav/NavItem.js +10 -1
  245. package/lib/components/OptionsTile/OptionsTile.js +11 -6
  246. package/lib/components/PageHeader/PageHeader.js +1 -0
  247. package/lib/components/RemoveModal/RemoveModal.d.ts +4 -0
  248. package/lib/components/RemoveModal/RemoveModal.js +7 -1
  249. package/lib/components/SearchBar/SearchBar.d.ts +1 -1
  250. package/lib/components/SearchBar/SearchBar.js +2 -2
  251. package/lib/components/SidePanel/SidePanel.js +16 -20
  252. package/lib/components/SidePanel/motion/variants.d.ts +4 -6
  253. package/lib/components/SidePanel/motion/variants.js +10 -11
  254. package/lib/components/StatusIndicator/StatusIndicatorStep.js +94 -0
  255. package/lib/components/Tearsheet/Tearsheet.d.ts +8 -1
  256. package/lib/components/Tearsheet/Tearsheet.js +9 -1
  257. package/lib/components/Tearsheet/TearsheetNarrow.d.ts +11 -0
  258. package/lib/components/Tearsheet/TearsheetNarrow.js +12 -0
  259. package/lib/components/Tearsheet/TearsheetShell.d.ts +11 -1
  260. package/lib/components/Tearsheet/TearsheetShell.js +22 -4
  261. package/lib/components/Toolbar/ToolbarButton.js +1 -1
  262. package/lib/components/WebTerminal/WebTerminal.js +10 -12
  263. package/lib/components/index.d.ts +1 -1
  264. package/lib/global/js/hooks/useFocus.d.ts +1 -0
  265. package/lib/global/js/hooks/useFocus.js +5 -1
  266. package/lib/global/js/hooks/usePrefersReducedMotion.js +13 -7
  267. package/lib/global/js/package-settings.d.ts +1 -1
  268. package/lib/global/js/package-settings.js +1 -1
  269. package/lib/index.js +5 -0
  270. package/lib/settings.d.ts +1 -1
  271. package/package.json +7 -6
  272. package/scss/components/ConditionBuilder/_condition-builder.scss +1 -1
  273. package/scss/components/ConditionBuilder/styles/_conditionBuilderCondition.scss +14 -2
  274. package/scss/components/ConditionBuilder/styles/_conditionBuilderItem.scss +31 -2
  275. package/scss/components/DataSpreadsheet/_data-spreadsheet.scss +17 -2
  276. package/scss/components/Datagrid/_datagrid.scss +0 -4
  277. package/scss/components/Datagrid/styles/_useInlineEdit.scss +13 -0
  278. package/scss/components/HTTPErrors/_http-errors.scss +77 -0
  279. package/scss/components/OptionsTile/_options-tile.scss +6 -6
  280. package/scss/components/SidePanel/_side-panel.scss +1 -1
  281. package/scss/components/StatusIcon/_status-icon.scss +4 -4
  282. package/scss/components/StringFormatter/_string-formatter.scss +2 -2
  283. package/scss/components/UserProfileImage/_user-profile-image.scss +6 -2
  284. package/scss/components/_index-released-only.scss +1 -0
  285. package/telemetry.yml +27 -5
  286. package/es/components/ConditionBuilder/utils/checkForHoldingKey.d.ts +0 -1
  287. package/es/components/ConditionBuilder/utils/checkForHoldingKey.js +0 -16
  288. package/es/global/js/utils/window.d.ts +0 -2
  289. package/es/global/js/utils/window.js +0 -12
  290. package/lib/components/ConditionBuilder/utils/checkForHoldingKey.d.ts +0 -1
  291. package/lib/components/ConditionBuilder/utils/checkForHoldingKey.js +0 -20
  292. package/lib/global/js/utils/window.d.ts +0 -2
  293. package/lib/global/js/utils/window.js +0 -16
@@ -26,9 +26,10 @@ var _excluded = ["align", "id", "itemText", "onClick", "icon", "shouldHideMenuIt
26
26
  var blockClass = "".concat(settings.pkg.prefix, "--datagrid");
27
27
  var useActionsColumn = function useActionsColumn(hooks) {
28
28
  var useAttachActionsOnInstance = function useAttachActionsOnInstance(instance) {
29
- var rowActions = instance.rowActions,
30
- isFetching = instance.isFetching,
31
- selectedRowIds = instance.state.selectedRowIds;
29
+ var _ref = instance,
30
+ rowActions = _ref.rowActions,
31
+ isFetching = _ref.isFetching,
32
+ selectedRowIds = _ref.state.selectedRowIds;
32
33
  var getDisabledState = function getDisabledState(rowIndex) {
33
34
  var selectedRowIndexes = Object.keys(selectedRowIds).map(function (n) {
34
35
  return Number(n);
@@ -88,10 +89,10 @@ var useActionsColumn = function useActionsColumn(hooks) {
88
89
  return;
89
90
  }
90
91
  e.stopPropagation();
91
- _onClick(id, row, e);
92
+ _onClick === null || _onClick === void 0 || _onClick(id, row, e);
92
93
  },
93
94
  disabled: isDisabledByRow
94
- }), /*#__PURE__*/React__default["default"].createElement(Icon, null)));
95
+ }), Icon && /*#__PURE__*/React__default["default"].createElement(Icon, null)));
95
96
  })), !isFetching && (rowActions.length > 2 || isColumnSticky) && /*#__PURE__*/React__default["default"].createElement("div", null, /*#__PURE__*/React__default["default"].createElement(react.OverflowMenu, {
96
97
  align: "left",
97
98
  size: "sm",
@@ -117,7 +118,7 @@ var useActionsColumn = function useActionsColumn(hooks) {
117
118
  disabled: isDisabledByRow,
118
119
  onClick: function onClick(e) {
119
120
  e.stopPropagation();
120
- _onClick2(id, row, e);
121
+ _onClick2 === null || _onClick2 === void 0 || _onClick2(id, row, e);
121
122
  },
122
123
  key: id
123
124
  }));
@@ -1,2 +1,9 @@
1
+ /**
2
+ * Copyright IBM Corp. 2020, 2023
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import { Hooks } from 'react-table';
8
+ declare const useColumnRightAlign: (hooks: Hooks) => void;
1
9
  export default useColumnRightAlign;
2
- declare function useColumnRightAlign(hooks: any): void;
@@ -22,16 +22,17 @@ var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
22
22
  var blockClass = "".concat(settings.pkg.prefix, "--datagrid");
23
23
  var useColumnRightAlign = function useColumnRightAlign(hooks) {
24
24
  var RightAlignRenderer = function RightAlignRenderer(tableProps, column) {
25
+ var _tableProps$column, _column$Cell;
25
26
  return /*#__PURE__*/React__default["default"].createElement("div", {
26
27
  className: cx__default["default"]("".concat(blockClass, "__right-align-cell-renderer"), {
27
- sortDisabled: !tableProps.isTableSortable || tableProps.column.disableSortBy === true
28
+ sortDisabled: !tableProps.isTableSortable || (tableProps === null || tableProps === void 0 || (_tableProps$column = tableProps.column) === null || _tableProps$column === void 0 ? void 0 : _tableProps$column.disableSortBy) === true
28
29
  })
29
- }, column.Cell(tableProps));
30
+ }, column === null || column === void 0 || (_column$Cell = column.Cell) === null || _column$Cell === void 0 ? void 0 : _column$Cell.call(column, tableProps));
30
31
  };
31
32
  var RightAlignHeader = function RightAlignHeader(headerProp, column) {
32
33
  return /*#__PURE__*/React__default["default"].createElement("div", {
33
34
  className: "".concat(blockClass, "__right-align-header")
34
- }, typeof column.Header === 'function' ? column.Header(headerProp) : column.Header);
35
+ }, typeof column.Header === 'function' ? (column === null || column === void 0 ? void 0 : column.Header.bind(column))(headerProp) : column.Header);
35
36
  };
36
37
  var rightAlignedColumns = function rightAlignedColumns(columns) {
37
38
  var columnsWithDefaultCells = columns.map(function (column) {
@@ -1,2 +1,9 @@
1
+ /**
2
+ * Copyright IBM Corp. 2021, 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
+ import { Hooks } from 'react-table';
8
+ declare const useCustomizeColumns: (hooks: Hooks) => void;
1
9
  export default useCustomizeColumns;
2
- declare function useCustomizeColumns(hooks: any): void;
@@ -40,9 +40,10 @@ var useCustomizeColumns = function useCustomizeColumns(hooks) {
40
40
  isTearsheetOpen = _React$useState2[0],
41
41
  setIsTearsheetOpen = _React$useState2[1];
42
42
  hooks.useInstance.push(function (instance) {
43
- var customizeColumnsProps = instance.customizeColumnsProps;
44
- var _ref = customizeColumnsProps || {},
45
- labels = _ref.labels;
43
+ var _ref = instance,
44
+ customizeColumnsProps = _ref.customizeColumnsProps;
45
+ var _ref2 = customizeColumnsProps || {},
46
+ labels = _ref2.labels;
46
47
  Object.assign(instance, {
47
48
  customizeColumnsProps: _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, customizeColumnsProps), {}, {
48
49
  isTearsheetOpen: isTearsheetOpen,
@@ -30,7 +30,6 @@ var useDefaultStringRenderer = function useDefaultStringRenderer(hooks) {
30
30
  var HeaderRenderer = function HeaderRenderer(header, slug) {
31
31
  return /*#__PURE__*/React__default["default"].createElement("div", {
32
32
  className: cx__default["default"]("".concat(blockClass, "__defaultStringRenderer"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__defaultStringRenderer--slug"), slug && /*#__PURE__*/React__default["default"].isValidElement(slug))),
33
- title: typeof header === 'string' ? header : '',
34
33
  key: typeof header === 'string' ? header : ''
35
34
  }, header);
36
35
  };
@@ -9,6 +9,7 @@
9
9
 
10
10
  Object.defineProperty(exports, '__esModule', { value: true });
11
11
 
12
+ var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js');
12
13
  var React = require('react');
13
14
  var settings = require('../../settings.js');
14
15
  var cx = require('classnames');
@@ -22,12 +23,13 @@ var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
22
23
  var blockClass = "".concat(settings.pkg.prefix, "--datagrid");
23
24
  var useInlineEdit = function useInlineEdit(hooks) {
24
25
  var addInlineEdit = function addInlineEdit(props, _ref) {
25
- var _cell$column, _cell$column2;
26
+ var _cell$column, _cell$column2, _cell$value, _cell$value2, _cell$value3;
26
27
  var cell = _ref.cell,
27
28
  instance = _ref.instance;
28
29
  var columnInlineEditConfig = cell.column.inlineEdit;
29
30
  var inlineEditType = (_cell$column = cell.column) === null || _cell$column === void 0 || (_cell$column = _cell$column.inlineEdit) === null || _cell$column === void 0 ? void 0 : _cell$column.type;
30
31
  var isDisabled = (_cell$column2 = cell.column) === null || _cell$column2 === void 0 ? void 0 : _cell$column2.isDisabled;
32
+ var staticCell = _rollupPluginBabelHelpers["typeof"](cell.value) === 'object' && cell.column.id === ((_cell$value = cell.value) === null || _cell$value === void 0 ? void 0 : _cell$value.columnId) && ((_cell$value2 = cell.value) === null || _cell$value2 === void 0 ? void 0 : _cell$value2.isStaticCell);
31
33
  var renderInlineEditComponent = function renderInlineEditComponent(type) {
32
34
  return /*#__PURE__*/React__default["default"].createElement(InlineEditCell.InlineEditCell, {
33
35
  config: columnInlineEditConfig,
@@ -47,7 +49,15 @@ var useInlineEdit = function useInlineEdit(hooks) {
47
49
  return [props, {
48
50
  className: cx__default["default"]("".concat(blockClass, "__cell"), "".concat(blockClass, "__cell-inline-edit")),
49
51
  role: 'gridcell',
50
- children: /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, inlineEditType === 'text' && renderInlineEditComponent(inlineEditType), inlineEditType === 'number' && renderInlineEditComponent(inlineEditType), inlineEditType === 'selection' && renderInlineEditComponent(inlineEditType), inlineEditType === 'date' && renderInlineEditComponent(inlineEditType), !inlineEditType && /*#__PURE__*/React__default["default"].createElement(InlineEditCell.InlineEditCell, {
52
+ children: /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, !staticCell && inlineEditType === 'text' && renderInlineEditComponent(inlineEditType), !staticCell && inlineEditType === 'number' && renderInlineEditComponent(inlineEditType), !staticCell && inlineEditType === 'selection' && renderInlineEditComponent(inlineEditType), inlineEditType === 'checkbox' && renderInlineEditComponent(inlineEditType), !staticCell && inlineEditType === 'date' && renderInlineEditComponent(inlineEditType), staticCell && /*#__PURE__*/React__default["default"].createElement(InlineEditCell.InlineEditCell, {
53
+ config: columnInlineEditConfig,
54
+ tabIndex: -1,
55
+ value: (_cell$value3 = cell.value) === null || _cell$value3 === void 0 ? void 0 : _cell$value3.value,
56
+ cell: cell,
57
+ instance: instance,
58
+ nonEditCell: true,
59
+ type: "text"
60
+ }), !inlineEditType && /*#__PURE__*/React__default["default"].createElement(InlineEditCell.InlineEditCell, {
51
61
  config: columnInlineEditConfig,
52
62
  tabIndex: -1,
53
63
  value: cell.value,
@@ -57,9 +57,7 @@ var useNestedRowExpander = function useNestedRowExpander(hooks) {
57
57
  type: "button",
58
58
  "aria-label": expanderTitle,
59
59
  className: cx__default["default"]("".concat(blockClass, "__row-expander"), "".concat(settings.carbon.prefix, "--btn"), "".concat(settings.carbon.prefix, "--btn--ghost"))
60
- }, expanderButtonProps, {
61
- title: expanderTitle
62
- }), /*#__PURE__*/React__default["default"].createElement(icons.ChevronRight, {
60
+ }, expanderButtonProps), /*#__PURE__*/React__default["default"].createElement(icons.ChevronRight, {
63
61
  className: cx__default["default"]("".concat(blockClass, "__expander-icon"), _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__expander-icon--not-open"), !row.isExpanded), "".concat(blockClass, "__expander-icon--open"), row.isExpanded))
64
62
  }));
65
63
  },
@@ -23,33 +23,52 @@ var blockClass = "".concat(settings.pkg.prefix, "--datagrid");
23
23
  var useNestedRows = function useNestedRows(hooks) {
24
24
  useNestedRowExpander["default"](hooks);
25
25
  var useInstance = function useInstance(instance) {
26
+ React.useEffect(function () {
27
+ var _ref = instance,
28
+ rows = _ref.rows;
29
+ var defaultExpandedRows = rows.filter(function (row) {
30
+ var _row$original;
31
+ return row === null || row === void 0 || (_row$original = row.original) === null || _row$original === void 0 ? void 0 : _row$original.defaultExpanded;
32
+ });
33
+ if (defaultExpandedRows !== null && defaultExpandedRows !== void 0 && defaultExpandedRows.length) {
34
+ defaultExpandedRows.map(function (defaultExpandedRow) {
35
+ if (!(defaultExpandedRow !== null && defaultExpandedRow !== void 0 && defaultExpandedRow.isExpanded) && !(defaultExpandedRow !== null && defaultExpandedRow !== void 0 && defaultExpandedRow.hasExpanded)) {
36
+ var _defaultExpandedRow$t;
37
+ defaultExpandedRow === null || defaultExpandedRow === void 0 || (_defaultExpandedRow$t = defaultExpandedRow.toggleRowExpanded) === null || _defaultExpandedRow$t === void 0 || _defaultExpandedRow$t.call(defaultExpandedRow);
38
+ defaultExpandedRow.hasExpanded = true;
39
+ return;
40
+ }
41
+ });
42
+ }
43
+ }, [instance, instance.rows]);
26
44
  // This useEffect will expand rows if they exist in the initialState obj
27
45
  React.useEffect(function () {
28
46
  var rows = instance.rows,
29
47
  initialState = instance.initialState;
30
- var _ref = initialState,
31
- expandedRowIds = _ref.expandedRowIds;
48
+ var _ref2 = initialState,
49
+ expandedRowIds = _ref2.expandedRowIds;
32
50
  if (expandedRowIds) {
33
51
  Object.keys(expandedRowIds).forEach(function (key) {
52
+ var _row$0$original;
34
53
  var row = rows.filter(function (r) {
35
- return r.id.toString() === key.toString();
54
+ var _r$original;
55
+ return r.id.toString() === key.toString() || ((_r$original = r.original) === null || _r$original === void 0 || (_r$original = _r$original.id) === null || _r$original === void 0 ? void 0 : _r$original.toString()) === key.toString();
36
56
  });
37
- if (row !== null && row !== void 0 && row.length && key.toString() === row[0].id.toString()) {
38
- var _row$;
39
- (_row$ = row[0]) === null || _row$ === void 0 || _row$.toggleRowExpanded();
57
+ if (row.length && key.toString() === row[0].id.toString() || row.length && key.toString() === ((_row$0$original = row[0].original) === null || _row$0$original === void 0 || (_row$0$original = _row$0$original.id) === null || _row$0$original === void 0 ? void 0 : _row$0$original.toString())) {
58
+ row[0].toggleRowExpanded();
40
59
  }
41
60
  });
42
61
  }
43
62
  }, [instance]);
44
63
  var marginLeft = 24;
45
- var getRowProps = function getRowProps(props, _ref2) {
46
- var row = _ref2.row;
64
+ var getRowProps = function getRowProps(props, _ref3) {
65
+ var row = _ref3.row;
47
66
  return [props, {
48
67
  className: cx__default["default"](_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__carbon-nested-row"), row.depth > 0), "".concat(blockClass, "__carbon-row-expanded"), row.isExpanded))
49
68
  }];
50
69
  };
51
- var getRowStyles = function getRowStyles(props, _ref3) {
52
- var row = _ref3.row;
70
+ var getRowStyles = function getRowStyles(props, _ref4) {
71
+ var row = _ref4.row;
53
72
  return [props, {
54
73
  style: {
55
74
  paddingLeft: "".concat(row.depth > 1 ? marginLeft * 2 + (row.depth - 1) * (marginLeft + marginLeft / 3) : row.depth === 1 ? marginLeft * 2 : 0, "px")
@@ -59,9 +78,9 @@ var useNestedRows = function useNestedRows(hooks) {
59
78
  var getIndentation = function getIndentation(depth) {
60
79
  return 32 * depth + 16;
61
80
  }; // row indentation padding
62
- var getCellProps = function getCellProps(props, _ref4) {
63
- var cell = _ref4.cell,
64
- instance = _ref4.instance;
81
+ var getCellProps = function getCellProps(props, _ref5) {
82
+ var cell = _ref5.cell,
83
+ instance = _ref5.instance;
65
84
  // we add a dynamic -ve margin right only if the cell is resized below minimum width i.e 50px, else we set the width based on indentation at different levels
66
85
  var isFirstCell = instance.columns.findIndex(function (c) {
67
86
  return c.id === cell.column.id;
@@ -59,9 +59,7 @@ var useRowExpander = function useRowExpander(hooks) {
59
59
  type: "button",
60
60
  "aria-label": expanderTitle,
61
61
  className: cx__default["default"]("".concat(blockClass, "__row-expander"), "".concat(settings.carbon.prefix, "--btn"), "".concat(settings.carbon.prefix, "--btn--ghost"))
62
- }, expanderButtonProps, {
63
- title: expanderTitle
64
- }), row.isExpanded ? /*#__PURE__*/React__default["default"].createElement(icons.ChevronUp, {
62
+ }, expanderButtonProps), row.isExpanded ? /*#__PURE__*/React__default["default"].createElement(icons.ChevronUp, {
65
63
  className: "".concat(blockClass, "__row-expander--icon")
66
64
  }) : /*#__PURE__*/React__default["default"].createElement(icons.ChevronDown, {
67
65
  className: "".concat(blockClass, "__row-expander--icon")
@@ -90,11 +90,12 @@ var SelectRow = function SelectRow(datagridState) {
90
90
  withStickyColumn = datagridState.withStickyColumn,
91
91
  dispatch = datagridState.dispatch,
92
92
  getRowId = datagridState.getRowId;
93
- var _useState = React.useState(typeof window !== 'undefined' ? window.innerWidth : ''),
93
+ var _useState = React.useState(),
94
94
  _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
95
95
  windowSize = _useState2[0],
96
96
  setWindowSize = _useState2[1];
97
97
  React.useLayoutEffect(function () {
98
+ setWindowSize(window.innerWidth);
98
99
  function updateSize() {
99
100
  setWindowSize(window.innerWidth);
100
101
  }
@@ -1,2 +1,9 @@
1
+ /**
2
+ * Copyright IBM Corp. 2021, 2023
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import { Hooks } from 'react-table';
8
+ declare const useStickyColumn: (hooks: Hooks) => void;
1
9
  export default useStickyColumn;
2
- declare function useStickyColumn(hooks: any): void;
@@ -27,12 +27,13 @@ var OFFSET_SCROLL_CLASS = "".concat(styleClassPrefix, "-offset-scroll");
27
27
  var useStickyColumn = function useStickyColumn(hooks) {
28
28
  var tableBodyRef = React.useRef();
29
29
  var stickyHeaderCellRef = React.useRef();
30
- var _useState = React.useState(null),
30
+ var _useState = React.useState(),
31
31
  _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
32
32
  windowSize = _useState2[0],
33
33
  setWindowSize = _useState2[1];
34
34
  React.useEffect(function () {
35
- setWindowSize(window.innerWidth);
35
+ var _window;
36
+ setWindowSize((_window = window) === null || _window === void 0 ? void 0 : _window.innerWidth);
36
37
  }, []);
37
38
  React.useLayoutEffect(function () {
38
39
  /* istanbul ignore next */
@@ -58,10 +59,11 @@ var useStickyColumn = function useStickyColumn(hooks) {
58
59
  var useEventListener = function useEventListener(instance) {
59
60
  React.useEffect(function () {
60
61
  var tableBodyElement = tableBodyRef.current;
61
- var headerCellElement = stickyHeaderCellRef.current;
62
+ var headerCellElement = stickyHeaderCellRef === null || stickyHeaderCellRef === void 0 ? void 0 : stickyHeaderCellRef.current;
62
63
  /* istanbul ignore next */
63
64
  if (hasVertScroll(tableBodyElement) && headerCellElement) {
64
- headerCellElement.classList.add(OFFSET_SCROLL_CLASS);
65
+ var _headerCellElement$cl;
66
+ headerCellElement === null || headerCellElement === void 0 || (_headerCellElement$cl = headerCellElement.classList) === null || _headerCellElement$cl === void 0 || _headerCellElement$cl.add(OFFSET_SCROLL_CLASS);
65
67
  }
66
68
  var boundListener = debounce__default["default"](onBodyResize.bind(null, tableBodyElement, headerCellElement), 250);
67
69
  /* istanbul ignore next */
@@ -83,7 +85,7 @@ var useStickyColumn = function useStickyColumn(hooks) {
83
85
  };
84
86
  toggleStickyShadow(tableBodyElement, headerCellElement);
85
87
  if (tableBodyElement) {
86
- tableBodyElement.addEventListener('scroll', listener);
88
+ tableBodyElement === null || tableBodyElement === void 0 || tableBodyElement.addEventListener('scroll', listener);
87
89
  }
88
90
  return function () {
89
91
  if (tableBodyElement) {
@@ -147,18 +149,19 @@ var addTableBodyProps = function addTableBodyProps(tableBodyRef, props) {
147
149
  }];
148
150
  };
149
151
  var changeProps = function changeProps(elementName, headerCellRef, windowSize, props, data) {
150
- var column = data.column || data.cell.column;
151
- if (column.sticky === 'right') {
152
+ var _data$cell;
153
+ var column = data.column || ((_data$cell = data.cell) === null || _data$cell === void 0 ? void 0 : _data$cell.column);
154
+ if ((column === null || column === void 0 ? void 0 : column.sticky) === 'right') {
152
155
  return [props, _rollupPluginBabelHelpers.objectSpread2({
153
156
  className: cx__default["default"](_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(styleClassPrefix, "-").concat(elementName), true), "".concat(blockClass, "__resizableColumn"), false), "".concat(blockClass, "__sortableColumn"), false))
154
157
  }, headerCellRef && {
155
158
  ref: headerCellRef
156
159
  })];
157
160
  }
158
- if (column.sticky === 'left') {
161
+ if ((column === null || column === void 0 ? void 0 : column.sticky) === 'left') {
159
162
  var _data$instance;
160
163
  return [props, _rollupPluginBabelHelpers.objectSpread2({
161
- className: cx__default["default"](_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(leftStickyStyleClassPrefix, "-").concat(elementName), windowSize > 671), "".concat(leftStickyStyleClassPrefix, "-").concat(elementName, "--with-extra-select-column"), (data === null || data === void 0 || (_data$instance = data.instance) === null || _data$instance === void 0 ? void 0 : _data$instance.withSelectRows) && windowSize > 671))
164
+ className: cx__default["default"](_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(leftStickyStyleClassPrefix, "-").concat(elementName), windowSize && windowSize > 671), "".concat(leftStickyStyleClassPrefix, "-").concat(elementName, "--with-extra-select-column"), (data === null || data === void 0 || (_data$instance = data.instance) === null || _data$instance === void 0 ? void 0 : _data$instance.withSelectRows) && windowSize && windowSize > 671))
162
165
  }, headerCellRef && {
163
166
  ref: headerCellRef
164
167
  })];
@@ -95,7 +95,8 @@ exports.Decorator.propTypes = {
95
95
  */
96
96
  small: index["default"].bool,
97
97
  /**
98
- * Determines the theme of the component.
98
+ * Override the default theme of the component.
99
+ * Useful if you want "invert" the component's theme.
99
100
  */
100
101
  theme: index["default"].oneOf(['light', 'dark']),
101
102
  /**
@@ -32,8 +32,7 @@ var defaults = {
32
32
  onContextMenu: function onContextMenu() {},
33
33
  onContextMenuLabel: function onContextMenuLabel() {},
34
34
  onContextMenuValue: function onContextMenuValue() {},
35
- scoreThresholds: [0, 4, 7, 10],
36
- theme: 'light'
35
+ scoreThresholds: [0, 4, 7, 10]
37
36
  };
38
37
 
39
38
  /**
@@ -65,8 +64,7 @@ var DecoratorBase = /*#__PURE__*/React__default["default"].forwardRef(function (
65
64
  _ref$scoreThresholds = _ref.scoreThresholds,
66
65
  scoreThresholds = _ref$scoreThresholds === void 0 ? defaults.scoreThresholds : _ref$scoreThresholds,
67
66
  small = _ref.small,
68
- _ref$theme = _ref.theme,
69
- theme = _ref$theme === void 0 ? defaults.theme : _ref$theme,
67
+ theme = _ref.theme,
70
68
  truncateValue = _ref.truncateValue,
71
69
  value = _ref.value,
72
70
  valueTitle = _ref.valueTitle,
@@ -76,7 +74,7 @@ var DecoratorBase = /*#__PURE__*/React__default["default"].forwardRef(function (
76
74
  var _value = utils.truncate(value, truncateValue);
77
75
 
78
76
  // These class names apply to all types of DecoratorBase.
79
- var classNames = cx__default["default"](blockClass, className, "".concat(blockClass, "--").concat(theme), _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "--sm"), small), "".concat(blockClass, "--truncate-end"), truncateValue === 'end'), "".concat(blockClass, "--truncate-start"), truncateValue === 'start'), "".concat(blockClass, "--truncate-midline"), truncateValue === null || truncateValue === void 0 ? void 0 : truncateValue.maxLength));
77
+ var classNames = cx__default["default"](blockClass, className, _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "--").concat(theme), theme), "".concat(blockClass, "--sm"), small), "".concat(blockClass, "--truncate-end"), truncateValue === 'end'), "".concat(blockClass, "--truncate-start"), truncateValue === 'start'), "".concat(blockClass, "--truncate-midline"), truncateValue === null || truncateValue === void 0 ? void 0 : truncateValue.maxLength));
80
78
 
81
79
  // These properties apply to all <DecoratorIcons>.
82
80
  var decoratorIconsProps = {
@@ -119,7 +119,8 @@ exports.DecoratorDualButton.propTypes = {
119
119
  */
120
120
  small: index["default"].bool,
121
121
  /**
122
- * Determines the theme of the component.
122
+ * Override the default theme of the component.
123
+ * Useful if you want "invert" the component's theme.
123
124
  */
124
125
  theme: index["default"].oneOf(['light', 'dark']),
125
126
  /**
@@ -109,7 +109,8 @@ exports.DecoratorLink.propTypes = {
109
109
  */
110
110
  small: index["default"].bool,
111
111
  /**
112
- * Determines the theme of the component.
112
+ * Override the default theme of the component.
113
+ * Useful if you want "invert" the component's theme.
113
114
  */
114
115
  theme: index["default"].oneOf(['light', 'dark']),
115
116
  /**
@@ -109,7 +109,8 @@ exports.DecoratorSingleButton.propTypes = {
109
109
  */
110
110
  small: index["default"].bool,
111
111
  /**
112
- * Determines the theme of the component.
112
+ * Override the default theme of the component.
113
+ * Useful if you want "invert" the component's theme.
113
114
  */
114
115
  theme: index["default"].oneOf(['light', 'dark']),
115
116
  /**
@@ -50,6 +50,10 @@ interface EditInplaceProps extends PropsWithChildren {
50
50
  * Provide the text that will be read by a screen reader when visiting this control
51
51
  */
52
52
  labelText: string;
53
+ /**
54
+ * handler to add custom onBlur event
55
+ */
56
+ onBlur?: (value: string) => void;
53
57
  /**
54
58
  * handler that is called when the cancel button is pressed or when the user removes focus from the input and there is no new value
55
59
  */
@@ -24,7 +24,7 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
24
24
  var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
25
25
 
26
26
  var _Close, _Checkmark, _Edit;
27
- var _excluded = ["cancelLabel", "editAlwaysVisible", "editLabel", "id", "inheritTypography", "invalid", "invalidLabel", "invalidText", "labelText", "onCancel", "onChange", "onSave", "saveLabel", "size", "tooltipAlignment", "value"];
27
+ var _excluded = ["cancelLabel", "editAlwaysVisible", "editLabel", "id", "inheritTypography", "invalid", "invalidLabel", "invalidText", "labelText", "onCancel", "onChange", "onSave", "onBlur", "saveLabel", "size", "tooltipAlignment", "value"];
28
28
  var componentName = 'EditInPlace';
29
29
  var blockClass = "".concat(settings.pkg.prefix, "--edit-in-place");
30
30
  var defaults = {
@@ -45,6 +45,7 @@ exports.EditInPlace = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
45
45
  onCancel = _ref.onCancel,
46
46
  onChange = _ref.onChange,
47
47
  onSave = _ref.onSave,
48
+ onBlur = _ref.onBlur,
48
49
  saveLabel = _ref.saveLabel,
49
50
  _ref$size = _ref.size,
50
51
  size = _ref$size === void 0 ? 'sm' : _ref$size,
@@ -112,15 +113,21 @@ exports.EditInPlace = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
112
113
  onCancel(initialValue);
113
114
  };
114
115
  var onBlurHandler = function onBlurHandler(e) {
115
- // if (readOnly || escaping.current) {
116
- if (escaping.current) {
117
- return;
118
- }
119
- if (!isTargetingChild(e)) {
120
- if (canSave) {
121
- onSaveHandler();
122
- } else {
123
- onCancelHandler();
116
+ // Use custom function provided if passed through
117
+ if (typeof onBlur === 'function' && !isTargetingChild(e)) {
118
+ onBlur(initialValue);
119
+ setFocused(false);
120
+ } else {
121
+ // Use Default behavior if no custom function provided
122
+ if (escaping.current) {
123
+ return;
124
+ }
125
+ if (!isTargetingChild(e)) {
126
+ if (canSave) {
127
+ onSaveHandler();
128
+ } else {
129
+ onCancelHandler();
130
+ }
124
131
  }
125
132
  }
126
133
  };
@@ -260,6 +267,10 @@ exports.EditInPlace.propTypes = _rollupPluginBabelHelpers.objectSpread2({
260
267
  * Provide the text that will be read by a screen reader when visiting this control
261
268
  */
262
269
  labelText: index["default"].string.isRequired,
270
+ /**
271
+ * handler to add custom onBlur event
272
+ */
273
+ onBlur: index["default"].func,
263
274
  /**
264
275
  * handler that is called when the cancel button is pressed or when the user removes focus from the input and there is no new value
265
276
  */
@@ -5,7 +5,11 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  import React, { ReactNode, PropsWithChildren } from 'react';
8
- export declare const FormContext: React.Context<null>;
8
+ export type FormContextType = {
9
+ currentForm: number;
10
+ setFormTitle: () => void;
11
+ };
12
+ export declare const FormContext: React.Context<FormContextType | null>;
9
13
  export declare const FormNumberContext: React.Context<number>;
10
14
  interface EditTearsheetProps extends PropsWithChildren {
11
15
  /**
@@ -47,7 +51,8 @@ interface EditTearsheetProps extends PropsWithChildren {
47
51
  */
48
52
  onFormChange?: (formIndex: number) => number;
49
53
  /**
50
- * Specify a handler for submitting the tearsheet.
54
+ * Specify a handler for submitting the tearsheet. Throughout its execution
55
+ * the submit button will be disabled and include a loading indicator.
51
56
  */
52
57
  onRequestSubmit: () => void;
53
58
  /**
@@ -27,7 +27,6 @@ var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
27
27
  var _excluded = ["cancelButtonText", "children", "className", "description", "influencerWidth", "label", "onClose", "open", "submitButtonText", "title", "verticalPosition", "onRequestSubmit", "onFormChange", "sideNavAriaLabel"];
28
28
  var componentName = 'EditTearsheet';
29
29
  var blockClass = "".concat(settings.pkg.prefix, "--tearsheet-edit");
30
-
31
30
  // This is a general context for the forms container
32
31
  // containing information about the state of the container
33
32
  // and providing some callback methods for forms to use
@@ -69,10 +68,45 @@ exports.EditTearsheet = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
69
68
  _ref$sideNavAriaLabel = _ref.sideNavAriaLabel,
70
69
  sideNavAriaLabel = _ref$sideNavAriaLabel === void 0 ? defaults.sideNavAriaLabel : _ref$sideNavAriaLabel,
71
70
  rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
71
+ var _useState = React.useState(false),
72
+ _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
73
+ isSubmitting = _useState2[0],
74
+ setIsSubmitting = _useState2[1];
75
+ var handleOnRequestSubmit = /*#__PURE__*/function () {
76
+ var _ref2 = _rollupPluginBabelHelpers.asyncToGenerator( /*#__PURE__*/_rollupPluginBabelHelpers.regeneratorRuntime().mark(function _callee() {
77
+ return _rollupPluginBabelHelpers.regeneratorRuntime().wrap(function _callee$(_context) {
78
+ while (1) switch (_context.prev = _context.next) {
79
+ case 0:
80
+ setIsSubmitting(true);
81
+ _context.prev = 1;
82
+ _context.next = 4;
83
+ return onRequestSubmit();
84
+ case 4:
85
+ _context.next = 9;
86
+ break;
87
+ case 6:
88
+ _context.prev = 6;
89
+ _context.t0 = _context["catch"](1);
90
+ console.warn("".concat(componentName, " submit error: ").concat(_context.t0));
91
+ case 9:
92
+ setIsSubmitting(false);
93
+ case 10:
94
+ case "end":
95
+ return _context.stop();
96
+ }
97
+ }, _callee, null, [[1, 6]]);
98
+ }));
99
+ return function handleOnRequestSubmit() {
100
+ return _ref2.apply(this, arguments);
101
+ };
102
+ }();
72
103
  var actions = [{
73
104
  key: 'edit-action-button-submit',
74
105
  label: submitButtonText,
75
- onClick: onRequestSubmit,
106
+ onClick: function onClick() {
107
+ return handleOnRequestSubmit();
108
+ },
109
+ loading: isSubmitting,
76
110
  kind: 'primary'
77
111
  }, {
78
112
  key: 'edit-action-button-cancel',
@@ -80,14 +114,14 @@ exports.EditTearsheet = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
80
114
  onClick: onClose,
81
115
  kind: 'ghost'
82
116
  }];
83
- var _useState = React.useState(0),
84
- _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
85
- currentForm = _useState2[0],
86
- setCurrentForm = _useState2[1];
87
- var _useState3 = React.useState([]),
117
+ var _useState3 = React.useState(0),
88
118
  _useState4 = _rollupPluginBabelHelpers.slicedToArray(_useState3, 2),
89
- formTitles = _useState4[0],
90
- setFormTitles = _useState4[1];
119
+ currentForm = _useState4[0],
120
+ setCurrentForm = _useState4[1];
121
+ var _useState5 = React.useState([]),
122
+ _useState6 = _rollupPluginBabelHelpers.slicedToArray(_useState5, 2),
123
+ formTitles = _useState6[0],
124
+ setFormTitles = _useState6[1];
91
125
  var contentRef = React.useRef(null);
92
126
  var handleCurrentForm = function handleCurrentForm(formIndex) {
93
127
  setCurrentForm(formIndex);
@@ -1,2 +1,45 @@
1
- export let EditTearsheetForm: React.ForwardRefExoticComponent<React.RefAttributes<any>>;
2
- import React from 'react';
1
+ /**
2
+ * Copyright IBM Corp. 2022, 2022
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import React, { ReactNode } from 'react';
8
+ interface EditTearsheetFormBaseProps {
9
+ /**
10
+ * Content that shows in the tearsheet form
11
+ */
12
+ children?: ReactNode;
13
+ /**
14
+ * Sets an optional className to be added to the tearsheet form
15
+ */
16
+ className?: string;
17
+ /**
18
+ * Sets an optional description on the form component
19
+ */
20
+ description?: string;
21
+ /**
22
+ * This optional prop will render your form content inside of a fieldset html element
23
+ * and is defaulted to true.
24
+ * You can set this prop to `false` if you have multiple fieldset elements or want to control the children of your Full Page's form content.
25
+ */
26
+ hasFieldset?: boolean;
27
+ /**
28
+ * Sets an optional subtitle on the form component
29
+ */
30
+ subtitle?: string;
31
+ /**
32
+ * Sets the title text for a tearsheet form
33
+ */
34
+ title: ReactNode;
35
+ }
36
+ type EditTearsheetFormFieldsetTypes = {
37
+ hasFieldset?: false;
38
+ fieldsetLegendText: string;
39
+ } | {
40
+ hasFieldset: true;
41
+ fieldsetLegendText: string;
42
+ };
43
+ type EditTearsheetFormProps = EditTearsheetFormBaseProps & EditTearsheetFormFieldsetTypes;
44
+ export declare let EditTearsheetForm: React.ForwardRefExoticComponent<EditTearsheetFormProps & React.RefAttributes<HTMLDivElement>>;
45
+ export {};