@carbon/ibm-products 2.33.0 → 2.35.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (262) hide show
  1. package/css/index-full-carbon.css +31990 -32061
  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 +38 -17
  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 +636 -24096
  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 +2342 -17830
  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/ActionSet/ActionSet.d.ts +38 -2
  18. package/es/components/ActionSet/ActionSet.js +3 -5
  19. package/es/components/CoachmarkFixed/CoachmarkFixed.js +1 -1
  20. package/es/components/ConditionBuilder/ConditionBuilder.d.ts +5 -0
  21. package/es/components/ConditionBuilder/ConditionBuilder.js +125 -0
  22. package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +10 -0
  23. package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +92 -0
  24. package/es/components/ConditionBuilder/ConditionBuilderContext/DataTreeContext.d.ts +38 -0
  25. package/es/components/ConditionBuilder/ConditionBuilderContext/DataTreeContext.js +88 -0
  26. package/es/components/ConditionBuilder/assets/sampleInput.d.ts +58 -0
  27. package/es/components/ConditionBuilder/index.d.ts +1 -0
  28. package/es/components/CreateFullPage/CreateFullPage.js +3 -19
  29. package/es/components/CreateFullPage/CreateFullPageStep.js +22 -7
  30. package/es/components/CreateSidePanel/CreateSidePanel.d.ts +81 -2
  31. package/es/components/CreateSidePanel/CreateSidePanel.js +5 -2
  32. package/es/components/CreateTearsheetNarrow/CreateTearsheetNarrow.d.ts +82 -2
  33. package/es/components/DataSpreadsheet/DataSpreadsheet.js +5 -117
  34. package/es/components/DataSpreadsheet/DataSpreadsheetBody.js +12 -111
  35. package/es/components/DataSpreadsheet/utils/commonEventHandlers.d.ts +4 -0
  36. package/es/components/DataSpreadsheet/utils/commonEventHandlers.js +304 -0
  37. package/es/components/Datagrid/Datagrid/DatagridContent.js +2 -1
  38. package/es/components/Datagrid/Datagrid/DatagridEmptyBody.js +4 -1
  39. package/es/components/Datagrid/Datagrid/DatagridRefBody.js +3 -1
  40. package/es/components/Datagrid/Datagrid/DatagridSimpleBody.js +4 -1
  41. package/es/components/Datagrid/Datagrid/DatagridVirtualBody.js +6 -2
  42. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.d.ts +1 -1
  43. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +4 -0
  44. package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.d.ts +2 -1
  45. package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +4 -3
  46. package/es/components/Datagrid/Datagrid/addons/stateReducer.js +2 -1
  47. package/es/components/Datagrid/useEditableCell.js +15 -0
  48. package/es/components/DelimitedList/DelimitedList.d.ts +27 -2
  49. package/es/components/DelimitedList/DelimitedList.js +0 -1
  50. package/es/components/EditInPlace/EditInPlace.d.ts +97 -5
  51. package/es/components/EditInPlace/EditInPlace.js +10 -6
  52. package/es/components/EditSidePanel/EditSidePanel.d.ts +92 -2
  53. package/es/components/EditSidePanel/EditSidePanel.js +8 -10
  54. package/es/components/EmptyStates/ErrorEmptyState/ErrorEmptyState.d.ts +61 -2
  55. package/es/components/EmptyStates/ErrorEmptyState/ErrorEmptyState.js +1 -3
  56. package/es/components/EmptyStates/NoDataEmptyState/NoDataEmptyState.d.ts +61 -2
  57. package/es/components/EmptyStates/NoDataEmptyState/NoDataEmptyState.js +1 -2
  58. package/es/components/EmptyStates/NotFoundEmptyState/NotFoundEmptyState.d.ts +61 -2
  59. package/es/components/EmptyStates/NotFoundEmptyState/NotFoundEmptyState.js +1 -3
  60. package/es/components/ExportModal/ExportModal.d.ts +110 -2
  61. package/es/components/ExportModal/ExportModal.js +10 -4
  62. package/es/components/FilterPanel/FilterPanelAccordion/FilterPanelAccordion.d.ts +5 -0
  63. package/es/components/FilterPanel/FilterPanelAccordion/FilterPanelAccordion.js +83 -0
  64. package/es/components/FilterPanel/FilterPanelAccordionItem/FilterPanelAccordionItem.d.ts +5 -0
  65. package/es/components/FilterPanel/FilterPanelAccordionItem/FilterPanelAccordionItem.js +94 -0
  66. package/es/components/FilterPanel/FilterPanelCheckbox/FilterPanelCheckbox.d.ts +5 -0
  67. package/es/components/FilterPanel/FilterPanelCheckbox/FilterPanelCheckbox.js +8 -10
  68. package/es/components/FilterPanel/FilterPanelCheckbox/index.d.ts +1 -0
  69. package/es/components/FilterPanel/FilterPanelCheckboxWithOverflow/FilterPanelCheckboxWithOverflow.d.ts +10 -0
  70. package/es/components/FilterPanel/FilterPanelCheckboxWithOverflow/FilterPanelCheckboxWithOverflow.js +157 -0
  71. package/es/components/FilterPanel/FilterPanelGroup/FilterPanelGroup.d.ts +5 -0
  72. package/es/components/FilterPanel/FilterPanelGroup/FilterPanelGroup.js +72 -0
  73. package/es/components/FilterPanel/FilterPanelLabel/FilterPanelLabel.js +2 -2
  74. package/es/components/FilterPanel/FilterPanelSearch/FilterPanelSearch.d.ts +5 -0
  75. package/es/components/FilterPanel/FilterPanelSearch/FilterPanelSearch.js +92 -0
  76. package/es/components/FilterPanel/index.d.ts +5 -0
  77. package/es/components/HTTPErrors/HTTPError403/HTTPError403.d.ts +40 -2
  78. package/es/components/HTTPErrors/HTTPError403/HTTPError403.js +1 -1
  79. package/es/components/HTTPErrors/HTTPError404/HTTPError404.d.ts +40 -2
  80. package/es/components/HTTPErrors/HTTPError404/HTTPError404.js +1 -1
  81. package/es/components/ImportModal/ImportModal.d.ts +136 -2
  82. package/es/components/ImportModal/ImportModal.js +3 -2
  83. package/es/components/InlineTip/InlineTip.d.ts +90 -2
  84. package/es/components/InlineTip/InlineTip.js +3 -2
  85. package/es/components/Nav/Nav.js +1 -1
  86. package/es/components/Nav/NavList.js +7 -7
  87. package/es/components/NotificationsPanel/NotificationsPanel.js +1 -1
  88. package/es/components/OptionsTile/OptionsTile.d.ts +77 -3
  89. package/es/components/OptionsTile/OptionsTile.js +9 -20
  90. package/es/components/PageHeader/PageHeader.js +3 -3
  91. package/es/components/PageHeader/PageHeaderUtils.d.ts +1 -1
  92. package/es/components/PageHeader/PageHeaderUtils.js +4 -3
  93. package/es/components/RemoveModal/RemoveModal.d.ts +81 -7
  94. package/es/components/RemoveModal/RemoveModal.js +1 -0
  95. package/es/components/ScrollGradient/ScrollGradient.d.ts +5 -0
  96. package/es/components/ScrollGradient/ScrollGradient.js +156 -0
  97. package/es/components/ScrollGradient/constants.d.ts +15 -0
  98. package/es/components/ScrollGradient/constants.js +121 -0
  99. package/es/components/ScrollGradient/index.d.ts +1 -0
  100. package/es/components/SidePanel/SidePanel.d.ts +144 -2
  101. package/es/components/SidePanel/SidePanel.js +100 -75
  102. package/es/components/StatusIcon/StatusIcon.d.ts +34 -2
  103. package/es/components/StatusIcon/StatusIcon.js +97 -95
  104. package/es/components/SteppedAnimatedMedia/SteppedAnimatedMedia.d.ts +23 -2
  105. package/es/components/SteppedAnimatedMedia/SteppedAnimatedMedia.js +6 -5
  106. package/es/components/TagOverflow/TagOverflow.d.ts +5 -0
  107. package/es/components/TagOverflow/TagOverflow.js +209 -0
  108. package/es/components/TagOverflow/constants.d.ts +14 -0
  109. package/es/components/TagOverflow/constants.js +30 -0
  110. package/es/components/TagOverflow/index.d.ts +1 -0
  111. package/es/components/Tearsheet/TearsheetNarrow.d.ts +105 -6
  112. package/es/components/Tearsheet/TearsheetNarrow.js +6 -1
  113. package/es/components/Toolbar/Toolbar.d.ts +23 -5
  114. package/es/components/Toolbar/Toolbar.js +30 -26
  115. package/es/components/TruncatedList/TruncatedList.js +5 -3
  116. package/es/components/UserAvatar/UserAvatar.js +7 -4
  117. package/es/components/index.d.ts +5 -2
  118. package/es/global/js/package-settings.d.ts +8 -0
  119. package/es/global/js/package-settings.js +8 -0
  120. package/es/index.js +9 -0
  121. package/es/settings.d.ts +8 -0
  122. package/lib/components/ActionSet/ActionSet.d.ts +38 -2
  123. package/lib/components/ActionSet/ActionSet.js +3 -5
  124. package/lib/components/CoachmarkFixed/CoachmarkFixed.js +1 -1
  125. package/lib/components/ConditionBuilder/ConditionBuilder.d.ts +5 -0
  126. package/lib/components/ConditionBuilder/ConditionBuilder.js +132 -0
  127. package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +10 -0
  128. package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +100 -0
  129. package/lib/components/ConditionBuilder/ConditionBuilderContext/DataTreeContext.d.ts +38 -0
  130. package/lib/components/ConditionBuilder/ConditionBuilderContext/DataTreeContext.js +98 -0
  131. package/lib/components/ConditionBuilder/assets/sampleInput.d.ts +58 -0
  132. package/lib/components/ConditionBuilder/index.d.ts +1 -0
  133. package/lib/components/CreateFullPage/CreateFullPage.js +2 -18
  134. package/lib/components/CreateFullPage/CreateFullPageStep.js +20 -5
  135. package/lib/components/CreateSidePanel/CreateSidePanel.d.ts +81 -2
  136. package/lib/components/CreateSidePanel/CreateSidePanel.js +5 -2
  137. package/lib/components/CreateTearsheetNarrow/CreateTearsheetNarrow.d.ts +82 -2
  138. package/lib/components/DataSpreadsheet/DataSpreadsheet.js +5 -117
  139. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +12 -111
  140. package/lib/components/DataSpreadsheet/utils/commonEventHandlers.d.ts +4 -0
  141. package/lib/components/DataSpreadsheet/utils/commonEventHandlers.js +311 -0
  142. package/lib/components/Datagrid/Datagrid/DatagridContent.js +2 -1
  143. package/lib/components/Datagrid/Datagrid/DatagridEmptyBody.js +4 -1
  144. package/lib/components/Datagrid/Datagrid/DatagridRefBody.js +3 -1
  145. package/lib/components/Datagrid/Datagrid/DatagridSimpleBody.js +4 -1
  146. package/lib/components/Datagrid/Datagrid/DatagridVirtualBody.js +5 -1
  147. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.d.ts +1 -1
  148. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +4 -0
  149. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.d.ts +2 -1
  150. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +4 -3
  151. package/lib/components/Datagrid/Datagrid/addons/stateReducer.js +2 -1
  152. package/lib/components/Datagrid/useEditableCell.js +19 -0
  153. package/lib/components/DelimitedList/DelimitedList.d.ts +27 -2
  154. package/lib/components/DelimitedList/DelimitedList.js +0 -1
  155. package/lib/components/EditInPlace/EditInPlace.d.ts +97 -5
  156. package/lib/components/EditInPlace/EditInPlace.js +10 -6
  157. package/lib/components/EditSidePanel/EditSidePanel.d.ts +92 -2
  158. package/lib/components/EditSidePanel/EditSidePanel.js +8 -10
  159. package/lib/components/EmptyStates/ErrorEmptyState/ErrorEmptyState.d.ts +61 -2
  160. package/lib/components/EmptyStates/ErrorEmptyState/ErrorEmptyState.js +1 -3
  161. package/lib/components/EmptyStates/NoDataEmptyState/NoDataEmptyState.d.ts +61 -2
  162. package/lib/components/EmptyStates/NoDataEmptyState/NoDataEmptyState.js +1 -2
  163. package/lib/components/EmptyStates/NotFoundEmptyState/NotFoundEmptyState.d.ts +61 -2
  164. package/lib/components/EmptyStates/NotFoundEmptyState/NotFoundEmptyState.js +1 -3
  165. package/lib/components/ExportModal/ExportModal.d.ts +110 -2
  166. package/lib/components/ExportModal/ExportModal.js +10 -4
  167. package/lib/components/FilterPanel/FilterPanelAccordion/FilterPanelAccordion.d.ts +5 -0
  168. package/lib/components/FilterPanel/FilterPanelAccordion/FilterPanelAccordion.js +90 -0
  169. package/lib/components/FilterPanel/FilterPanelAccordionItem/FilterPanelAccordionItem.d.ts +5 -0
  170. package/lib/components/FilterPanel/FilterPanelAccordionItem/FilterPanelAccordionItem.js +101 -0
  171. package/lib/components/FilterPanel/FilterPanelCheckbox/FilterPanelCheckbox.d.ts +5 -0
  172. package/lib/components/FilterPanel/FilterPanelCheckbox/FilterPanelCheckbox.js +8 -10
  173. package/lib/components/FilterPanel/FilterPanelCheckbox/index.d.ts +1 -0
  174. package/lib/components/FilterPanel/FilterPanelCheckboxWithOverflow/FilterPanelCheckboxWithOverflow.d.ts +10 -0
  175. package/lib/components/FilterPanel/FilterPanelCheckboxWithOverflow/FilterPanelCheckboxWithOverflow.js +164 -0
  176. package/lib/components/FilterPanel/FilterPanelGroup/FilterPanelGroup.d.ts +5 -0
  177. package/lib/components/FilterPanel/FilterPanelGroup/FilterPanelGroup.js +79 -0
  178. package/lib/components/FilterPanel/FilterPanelLabel/FilterPanelLabel.js +2 -2
  179. package/lib/components/FilterPanel/FilterPanelSearch/FilterPanelSearch.d.ts +5 -0
  180. package/lib/components/FilterPanel/FilterPanelSearch/FilterPanelSearch.js +99 -0
  181. package/lib/components/FilterPanel/index.d.ts +5 -0
  182. package/lib/components/HTTPErrors/HTTPError403/HTTPError403.d.ts +40 -2
  183. package/lib/components/HTTPErrors/HTTPError403/HTTPError403.js +1 -1
  184. package/lib/components/HTTPErrors/HTTPError404/HTTPError404.d.ts +40 -2
  185. package/lib/components/HTTPErrors/HTTPError404/HTTPError404.js +1 -1
  186. package/lib/components/ImportModal/ImportModal.d.ts +136 -2
  187. package/lib/components/ImportModal/ImportModal.js +3 -2
  188. package/lib/components/InlineTip/InlineTip.d.ts +90 -2
  189. package/lib/components/InlineTip/InlineTip.js +3 -2
  190. package/lib/components/Nav/Nav.js +1 -1
  191. package/lib/components/Nav/NavList.js +7 -7
  192. package/lib/components/NotificationsPanel/NotificationsPanel.js +1 -1
  193. package/lib/components/OptionsTile/OptionsTile.d.ts +77 -3
  194. package/lib/components/OptionsTile/OptionsTile.js +9 -20
  195. package/lib/components/PageHeader/PageHeader.js +3 -3
  196. package/lib/components/PageHeader/PageHeaderUtils.d.ts +1 -1
  197. package/lib/components/PageHeader/PageHeaderUtils.js +4 -3
  198. package/lib/components/RemoveModal/RemoveModal.d.ts +81 -7
  199. package/lib/components/RemoveModal/RemoveModal.js +1 -0
  200. package/lib/components/ScrollGradient/ScrollGradient.d.ts +5 -0
  201. package/lib/components/ScrollGradient/ScrollGradient.js +163 -0
  202. package/lib/components/ScrollGradient/constants.d.ts +15 -0
  203. package/lib/components/ScrollGradient/constants.js +128 -0
  204. package/lib/components/ScrollGradient/index.d.ts +1 -0
  205. package/lib/components/SidePanel/SidePanel.d.ts +144 -2
  206. package/lib/components/SidePanel/SidePanel.js +100 -75
  207. package/lib/components/StatusIcon/StatusIcon.d.ts +34 -2
  208. package/lib/components/StatusIcon/StatusIcon.js +97 -95
  209. package/lib/components/SteppedAnimatedMedia/SteppedAnimatedMedia.d.ts +23 -2
  210. package/lib/components/SteppedAnimatedMedia/SteppedAnimatedMedia.js +6 -5
  211. package/lib/components/TagOverflow/TagOverflow.d.ts +5 -0
  212. package/lib/components/TagOverflow/TagOverflow.js +216 -0
  213. package/lib/components/TagOverflow/constants.d.ts +14 -0
  214. package/lib/components/TagOverflow/constants.js +34 -0
  215. package/lib/components/TagOverflow/index.d.ts +1 -0
  216. package/lib/components/Tearsheet/TearsheetNarrow.d.ts +105 -6
  217. package/lib/components/Tearsheet/TearsheetNarrow.js +6 -1
  218. package/lib/components/Toolbar/Toolbar.d.ts +23 -5
  219. package/lib/components/Toolbar/Toolbar.js +30 -26
  220. package/lib/components/TruncatedList/TruncatedList.js +5 -3
  221. package/lib/components/UserAvatar/UserAvatar.js +7 -4
  222. package/lib/components/index.d.ts +5 -2
  223. package/lib/global/js/package-settings.d.ts +8 -0
  224. package/lib/global/js/package-settings.js +8 -0
  225. package/lib/index.js +42 -0
  226. package/lib/settings.d.ts +8 -0
  227. package/package.json +3 -3
  228. package/scss/components/Coachmark/_coachmark-dragbar.scss +0 -1
  229. package/scss/components/Coachmark/_coachmark-tagline.scss +2 -2
  230. package/scss/components/ConditionBuilder/_carbon-imports.scss +9 -0
  231. package/scss/components/ConditionBuilder/_condition-builder.scss +25 -0
  232. package/scss/components/ConditionBuilder/_index-with-carbon.scss +9 -0
  233. package/scss/components/ConditionBuilder/_index.scss +8 -0
  234. package/scss/components/CreateFullPage/_create-full-page.scss +10 -10
  235. package/scss/components/Datagrid/styles/_useNestedRows.scss +5 -1
  236. package/scss/components/FilterPanel/_carbon-imports.scss +5 -0
  237. package/scss/components/FilterPanel/_filter-panel-accordion-item.scss +54 -0
  238. package/scss/components/FilterPanel/_filter-panel-accordion.scss +6 -0
  239. package/scss/components/FilterPanel/_filter-panel-checkbox-with-overflow.scss +60 -0
  240. package/scss/components/FilterPanel/_filter-panel-checkbox.scss +24 -3
  241. package/scss/components/FilterPanel/_filter-panel-group.scss +39 -0
  242. package/scss/components/FilterPanel/_filter-panel-label.scss +0 -8
  243. package/scss/components/FilterPanel/_filter-panel-search.scss +38 -0
  244. package/scss/components/FilterPanel/_filter-panel.scss +2 -0
  245. package/scss/components/FilterPanel/_index-with-carbon.scss +5 -0
  246. package/scss/components/FilterPanel/_index.scss +5 -0
  247. package/scss/components/Guidebanner/_guidebanner.scss +1 -1
  248. package/scss/components/InlineTip/_inline-tip.scss +1 -1
  249. package/scss/components/ProductiveCard/_productive-card.scss +13 -0
  250. package/scss/components/ScrollGradient/_carbon-imports.scss +9 -0
  251. package/scss/components/ScrollGradient/_index-with-carbon.scss +9 -0
  252. package/scss/components/ScrollGradient/_index.scss +8 -0
  253. package/scss/components/ScrollGradient/_scroll-gradient.scss +102 -0
  254. package/scss/components/SidePanel/_side-panel.scss +9 -9
  255. package/scss/components/TagOverflow/_carbon-imports.scss +9 -0
  256. package/scss/components/TagOverflow/_index-with-carbon.scss +9 -0
  257. package/scss/components/TagOverflow/_index.scss +8 -0
  258. package/scss/components/TagOverflow/_tag-overflow.scss +55 -0
  259. package/scss/components/Tearsheet/_tearsheet.scss +10 -0
  260. package/scss/components/UserAvatar/_user-avatar.scss +38 -4
  261. package/scss/components/_index-with-carbon.scss +3 -0
  262. package/scss/components/_index.scss +3 -0
@@ -0,0 +1,304 @@
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 { toConsumableArray as _toConsumableArray } from '../../../_virtual/_rollupPluginBabelHelpers.js';
9
+ import { pkg } from '../../../settings.js';
10
+ import { checkForHoldingKey } from './checkForHoldingKey.js';
11
+ import { deepCloneObject } from '../../../global/js/utils/deepCloneObject.js';
12
+ import uuidv4 from '../../../global/js/utils/uuidv4.js';
13
+ import { removeCellSelections } from './removeCellSelections.js';
14
+ import { handleHeaderCellSelection } from './handleHeaderCellSelection.js';
15
+ import { includesShift, handleMultipleKeys, includesResourceKey } from './handleMultipleKeys.js';
16
+ import { handleActiveCellInSelectionEnter } from './handleActiveCellInSelectionEnter.js';
17
+ import { handleActiveCellInSelectionTab } from './handleActiveCellInSelectionTab.js';
18
+ import { handleCellDeletion } from './handleCellDeletion.js';
19
+
20
+ var blockClass = "".concat(pkg.prefix, "--data-spreadsheet");
21
+
22
+ // onClick fn for each cell in the data spreadsheet body,
23
+ // adds the active cell highlight
24
+
25
+ var handleBodyCellClick = function handleBodyCellClick(cell, columnIndex, event) {
26
+ for (var _len = arguments.length, rest = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {
27
+ rest[_key - 3] = arguments[_key];
28
+ }
29
+ var currentMatcher = rest[0],
30
+ activeCellCoordinates = rest[1],
31
+ selectionAreas = rest[2],
32
+ setActiveCellCoordinates = rest[3],
33
+ setSelectionAreas = rest[4],
34
+ setContainerHasFocus = rest[5],
35
+ setClickAndHoldActive = rest[6],
36
+ setCurrentMatcher = rest[7],
37
+ ref = rest[8],
38
+ setSelectionAreaData = rest[9],
39
+ setActiveCellInsideSelectionArea = rest[10],
40
+ activeCellRef = rest[11],
41
+ setValidStartingPoint = rest[12];
42
+ event.preventDefault();
43
+ var closestBodyCell = event.target.closest(".".concat(blockClass, "__body--td"));
44
+ var isValidSelectionAreaStart = closestBodyCell.classList.contains("".concat(blockClass, "__body--td"));
45
+ setValidStartingPoint(isValidSelectionAreaStart);
46
+ var isHoldingCommandKey = checkForHoldingKey(event, 'cmd');
47
+ var isHoldingShiftKey = checkForHoldingKey(event, 'shiftKey');
48
+ setContainerHasFocus(true);
49
+ var activeCoordinates = {
50
+ row: cell.row.index,
51
+ column: columnIndex
52
+ };
53
+ var tempMatcher = uuidv4();
54
+ setClickAndHoldActive(true);
55
+
56
+ // prevent multiple selections unless cmd key is held
57
+ // meaning that selectionAreas should only have one item by default
58
+ if (isHoldingCommandKey) {
59
+ var activeCellElement = ref.current.querySelector(".".concat(blockClass, "__active-cell--highlight"));
60
+ activeCellElement.setAttribute('data-selection-id', tempMatcher);
61
+ setActiveCellInsideSelectionArea(true);
62
+ setActiveCellCoordinates(activeCoordinates);
63
+ setCurrentMatcher(tempMatcher);
64
+ setSelectionAreas(function (prev) {
65
+ return [].concat(_toConsumableArray(prev), [{
66
+ point1: activeCoordinates,
67
+ matcher: tempMatcher
68
+ }]);
69
+ });
70
+ } else if (isHoldingShiftKey) {
71
+ setContainerHasFocus(true);
72
+ var selectionAreaClone = deepCloneObject(selectionAreas);
73
+ var indexOfItemToUpdate = selectionAreaClone.findIndex(function (item) {
74
+ return item.matcher === currentMatcher;
75
+ });
76
+ if (indexOfItemToUpdate === -1) {
77
+ // There is always a selectionArea with a point1 object that updates
78
+ // whenever the activeCellCoordinates update, we should always be able
79
+ // to find an index, but if we do not for some reason we should return
80
+ // at this point.
81
+ return;
82
+ } else {
83
+ // Update the selectionArea that was found, do not update currentMatcher
84
+ selectionAreaClone[indexOfItemToUpdate].point1 = activeCellCoordinates;
85
+ selectionAreaClone[indexOfItemToUpdate].point2 = activeCoordinates;
86
+ selectionAreaClone[indexOfItemToUpdate].areaCreated = false;
87
+ selectionAreaClone[indexOfItemToUpdate].matcher = currentMatcher;
88
+ setSelectionAreas(selectionAreaClone);
89
+ }
90
+ } else {
91
+ activeCellRef.current.style.display = 'none';
92
+ setActiveCellInsideSelectionArea(false);
93
+ setActiveCellCoordinates(activeCoordinates);
94
+ // remove all previous cell selections
95
+ removeCellSelections({
96
+ spreadsheetRef: ref
97
+ });
98
+ setSelectionAreas([{
99
+ point1: activeCoordinates,
100
+ matcher: tempMatcher
101
+ }]);
102
+ setCurrentMatcher(tempMatcher);
103
+ setSelectionAreaData([]);
104
+ }
105
+ };
106
+ var handleBodyCellHover = function handleBodyCellHover(cell, columnIndex) {
107
+ for (var _len2 = arguments.length, rest = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
108
+ rest[_key2 - 2] = arguments[_key2];
109
+ }
110
+ var clickAndHoldActive = rest[0],
111
+ currentMatcher = rest[1],
112
+ setSelectionAreas = rest[2];
113
+ if (clickAndHoldActive) {
114
+ var cellCoordinates = {
115
+ row: cell.row.index,
116
+ column: columnIndex
117
+ };
118
+ setSelectionAreas(function (prev) {
119
+ var _selectionAreaClone$i, _selectionAreaClone$i2;
120
+ var selectionAreaClone = deepCloneObject(prev);
121
+ var indexOfItemToUpdate = selectionAreaClone.findIndex(function (item) {
122
+ return item.matcher === currentMatcher;
123
+ });
124
+ // No items in the array match up with the currentMatcher value
125
+ if (indexOfItemToUpdate === -1) {
126
+ return prev;
127
+ }
128
+ // Do not update state if you're still hovering on the same cell
129
+ if (((_selectionAreaClone$i = selectionAreaClone[indexOfItemToUpdate].point2) === null || _selectionAreaClone$i === void 0 ? void 0 : _selectionAreaClone$i.row) === cellCoordinates.row && ((_selectionAreaClone$i2 = selectionAreaClone[indexOfItemToUpdate].point2) === null || _selectionAreaClone$i2 === void 0 ? void 0 : _selectionAreaClone$i2.column) === cellCoordinates.column) {
130
+ return prev;
131
+ }
132
+ selectionAreaClone[indexOfItemToUpdate].point2 = cellCoordinates;
133
+ selectionAreaClone[indexOfItemToUpdate].areaCreated = false;
134
+ return selectionAreaClone;
135
+ });
136
+ }
137
+ };
138
+ var handleRowHeaderClick = function handleRowHeaderClick(index, event) {
139
+ for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {
140
+ rest[_key3 - 2] = arguments[_key3];
141
+ }
142
+ var columns = rest[0],
143
+ ref = rest[1],
144
+ setSelectionAreas = rest[2],
145
+ setCurrentMatcher = rest[3],
146
+ setActiveCellCoordinates = rest[4],
147
+ activeCellCoordinates = rest[5],
148
+ rows = rest[6],
149
+ setSelectionAreaData = rest[7];
150
+ var isHoldingCommandKey = checkForHoldingKey(event, 'cmd');
151
+ handleHeaderCellSelection({
152
+ type: 'row',
153
+ activeCellCoordinates: activeCellCoordinates,
154
+ rows: rows,
155
+ columns: columns,
156
+ setActiveCellCoordinates: setActiveCellCoordinates,
157
+ setCurrentMatcher: setCurrentMatcher,
158
+ setSelectionAreas: setSelectionAreas,
159
+ spreadsheetRef: ref,
160
+ index: index,
161
+ setSelectionAreaData: setSelectionAreaData,
162
+ isHoldingCommandKey: isHoldingCommandKey
163
+ });
164
+ };
165
+ var handleKeyPress = function handleKeyPress(event) {
166
+ for (var _len4 = arguments.length, rest = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {
167
+ rest[_key4 - 1] = arguments[_key4];
168
+ }
169
+ var activeCellInsideSelectionArea = rest[0],
170
+ updateActiveCellCoordinates = rest[1],
171
+ activeCellCoordinates = rest[2],
172
+ removeActiveCell = rest[3],
173
+ columns = rest[4],
174
+ rows = rest[5],
175
+ spreadsheetRef = rest[6],
176
+ currentMatcher = rest[7],
177
+ removeCellEditor = rest[8],
178
+ selectionAreas = rest[9],
179
+ handleHomeEndKey = rest[10],
180
+ keysPressedList = rest[11],
181
+ usingMac = rest[12],
182
+ updateData = rest[13],
183
+ checkForReturnCondition = rest[14],
184
+ handleArrowKeyPress = rest[15],
185
+ setSelectionAreas = rest[16],
186
+ setSelectionAreaData = rest[17],
187
+ setCurrentMatcher = rest[18],
188
+ activeCellRef = rest[19],
189
+ setActiveCellCoordinates = rest[20],
190
+ setContainerHasFocus = rest[21],
191
+ setActiveCellContent = rest[22];
192
+ var key = event.key;
193
+ // Command keys need to be returned as there is default browser behavior with these keys
194
+ // Needs to be returned in editing mode
195
+ if (checkForReturnCondition(key)) {
196
+ return;
197
+ }
198
+
199
+ // Clear out all cell selection areas if user uses any arrow key, except if the shift key is being held
200
+ if (['ArrowLeft', 'ArrowUp', 'ArrowRight', 'ArrowDown'].indexOf(key) > -1) {
201
+ if (selectionAreas !== null && selectionAreas !== void 0 && selectionAreas.length && keysPressedList.length < 2 && !includesShift(keysPressedList)) {
202
+ setSelectionAreas([]);
203
+ setSelectionAreaData([]);
204
+ removeCellSelections({
205
+ spreadsheetRef: spreadsheetRef
206
+ });
207
+ }
208
+ }
209
+ if ((keysPressedList === null || keysPressedList === void 0 ? void 0 : keysPressedList.length) > 1) {
210
+ handleMultipleKeys({
211
+ activeCellCoordinates: activeCellCoordinates,
212
+ event: event,
213
+ keysPressedList: keysPressedList,
214
+ selectionAreas: selectionAreas,
215
+ currentMatcher: currentMatcher,
216
+ rows: rows,
217
+ setSelectionAreas: setSelectionAreas,
218
+ columns: columns,
219
+ updateActiveCellCoordinates: updateActiveCellCoordinates,
220
+ spreadsheetRef: spreadsheetRef,
221
+ removeCellSelections: removeCellSelections,
222
+ blockClass: blockClass,
223
+ setCurrentMatcher: setCurrentMatcher,
224
+ usingMac: usingMac
225
+ });
226
+ }
227
+
228
+ // Allow arrow key navigation if there are less than two activeKeys OR
229
+ // if one of the activeCellCoordinates is in a header position
230
+ // Prevent arrow keys, home key, and end key from scrolling the page when the data spreadsheet container has focus
231
+
232
+ if (keysPressedList.length < 2 && !includesShift(keysPressedList) || activeCellCoordinates.row === 'header' || activeCellCoordinates.column === 'header') {
233
+ switch (key) {
234
+ case 'Backspace':
235
+ case 'Delete':
236
+ {
237
+ var deleteParams = {
238
+ selectionAreas: selectionAreas,
239
+ currentMatcher: currentMatcher,
240
+ rows: rows,
241
+ setActiveCellContent: setActiveCellContent,
242
+ updateData: updateData,
243
+ activeCellCoordinates: activeCellCoordinates
244
+ };
245
+ handleCellDeletion(deleteParams);
246
+ break;
247
+ }
248
+ // Enter
249
+ case 'Enter':
250
+ {
251
+ handleActiveCellInSelectionEnter({
252
+ activeCellInsideSelectionArea: activeCellInsideSelectionArea,
253
+ activeCellCoordinates: activeCellCoordinates,
254
+ activeCellRef: activeCellRef,
255
+ selectionAreas: selectionAreas,
256
+ updateActiveCellCoordinates: updateActiveCellCoordinates
257
+ });
258
+ break;
259
+ }
260
+ // HOME
261
+ case 'Home':
262
+ case 'End':
263
+ {
264
+ event.preventDefault();
265
+ if (includesResourceKey(keysPressedList, usingMac)) {
266
+ return;
267
+ }
268
+ handleHomeEndKey({
269
+ type: key
270
+ });
271
+ break;
272
+ }
273
+ // Tab
274
+ case 'Tab':
275
+ {
276
+ if (activeCellInsideSelectionArea) {
277
+ event.preventDefault();
278
+ return handleActiveCellInSelectionTab({
279
+ activeCellInsideSelectionArea: activeCellInsideSelectionArea,
280
+ activeCellCoordinates: activeCellCoordinates,
281
+ activeCellRef: activeCellRef,
282
+ selectionAreas: selectionAreas,
283
+ updateActiveCellCoordinates: updateActiveCellCoordinates
284
+ });
285
+ }
286
+ setSelectionAreas([]);
287
+ removeActiveCell();
288
+ removeCellEditor();
289
+ setContainerHasFocus(false);
290
+ setActiveCellCoordinates(null);
291
+ break;
292
+ }
293
+ case 'ArrowLeft':
294
+ case 'ArrowUp':
295
+ case 'ArrowRight':
296
+ case 'ArrowDown':
297
+ {
298
+ handleArrowKeyPress(key);
299
+ }
300
+ }
301
+ }
302
+ };
303
+
304
+ export { handleBodyCellClick, handleBodyCellHover, handleKeyPress, handleRowHeaderClick };
@@ -98,7 +98,8 @@ var DatagridContent = function DatagridContent(_ref) {
98
98
  instance: datagridState,
99
99
  keysPressedList: keysPressedList,
100
100
  state: inlineEditState,
101
- usingMac: usingMac
101
+ usingMac: usingMac,
102
+ ref: multiKeyTrackingRef
102
103
  });
103
104
  },
104
105
  onFocus: withInlineEdit && function () {
@@ -35,7 +35,10 @@ var DatagridEmptyBody = function DatagridEmptyBody(datagridState) {
35
35
  link: emptyStateLink
36
36
  };
37
37
  var validEmptyStates = ['error', 'noData', 'notFound'];
38
- return /*#__PURE__*/React__default.createElement(TableBody, _extends({}, getTableBodyProps(), {
38
+ return /*#__PURE__*/React__default.createElement(TableBody, _extends({}, getTableBodyProps({
39
+ role: undefined
40
+ }), {
41
+ "aria-live": null,
39
42
  className: "".concat(blockClass, "__empty-state-body")
40
43
  }), /*#__PURE__*/React__default.createElement(TableRow, null, /*#__PURE__*/React__default.createElement(TableCell, {
41
44
  colSpan: headers.length,
@@ -20,7 +20,9 @@ var DatagridRefBody = function DatagridRefBody(datagridState) {
20
20
  var getTableBodyProps = datagridState.getTableBodyProps,
21
21
  rows = datagridState.rows,
22
22
  prepareRow = datagridState.prepareRow;
23
- return /*#__PURE__*/React__default.createElement("tbody", _extends({}, getTableBodyProps(), {
23
+ return /*#__PURE__*/React__default.createElement("tbody", _extends({}, getTableBodyProps({
24
+ role: undefined
25
+ }), {
24
26
  className: cx("".concat(blockClass, "__simple-body"), getTableBodyProps().className)
25
27
  }), rows.map(function (row) {
26
28
  prepareRow(row);
@@ -16,7 +16,10 @@ var DatagridSimpleBody = function DatagridSimpleBody(datagridState) {
16
16
  var getTableBodyProps = datagridState.getTableBodyProps,
17
17
  rows = datagridState.rows,
18
18
  prepareRow = datagridState.prepareRow;
19
- return /*#__PURE__*/React__default.createElement(TableBody, _extends({}, getTableBodyProps(), {
19
+ return /*#__PURE__*/React__default.createElement(TableBody, _extends({}, getTableBodyProps({
20
+ role: undefined
21
+ }), {
22
+ "aria-live": null,
20
23
  className: cx("".concat(blockClass, "__simple-body"), getTableBodyProps().className)
21
24
  }), rows.map(function (row) {
22
25
  prepareRow(row);
@@ -5,7 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import { objectSpread2 as _objectSpread2 } from '../../../_virtual/_rollupPluginBabelHelpers.js';
8
+ import { extends as _extends, objectSpread2 as _objectSpread2 } from '../../../_virtual/_rollupPluginBabelHelpers.js';
9
9
  import React__default, { useEffect, useRef } from 'react';
10
10
  import { VariableSizeList } from 'react-window';
11
11
  import { TableBody } from '@carbon/react';
@@ -77,7 +77,11 @@ var DatagridVirtualBody = function DatagridVirtualBody(datagridState) {
77
77
  width: (_gridRef$current = gridRef.current) === null || _gridRef$current === void 0 ? void 0 : _gridRef$current.clientWidth,
78
78
  overflow: 'hidden'
79
79
  }
80
- }, /*#__PURE__*/React__default.createElement(DatagridHead, datagridState)), /*#__PURE__*/React__default.createElement(TableBody, getTableBodyProps(), /*#__PURE__*/React__default.createElement(VariableSizeList, {
80
+ }, /*#__PURE__*/React__default.createElement(DatagridHead, datagridState)), /*#__PURE__*/React__default.createElement(TableBody, _extends({}, getTableBodyProps({
81
+ role: undefined
82
+ }), {
83
+ "aria-live": null
84
+ }), /*#__PURE__*/React__default.createElement(VariableSizeList, {
81
85
  height: virtualHeight || tableHeight,
82
86
  itemCount: visibleRows.length,
83
87
  itemSize: function itemSize(index) {
@@ -1,5 +1,5 @@
1
1
  export default Columns;
2
- declare function Columns({ getVisibleColumnsCount, filterString, columns, setColumnsObject, onSelectColumn, assistiveTextInstructionsLabel, assistiveTextDisabledInstructionsLabel, selectAllLabel, customizeTearsheetHeadingLabel }: {
2
+ declare function Columns({ getVisibleColumnsCount, filterString, columns, setColumnsObject, onSelectColumn, assistiveTextInstructionsLabel, assistiveTextDisabledInstructionsLabel, selectAllLabel, customizeTearsheetHeadingLabel, }: {
3
3
  getVisibleColumnsCount: any;
4
4
  filterString: any;
5
5
  columns: any;
@@ -153,6 +153,10 @@ var InlineEditCell = function InlineEditCell(_ref) {
153
153
  if (type === 'number') {
154
154
  numberInputRef.current.focus();
155
155
  }
156
+ if (type === 'selection') {
157
+ var _dropdownRef$current;
158
+ dropdownRef === null || dropdownRef === void 0 || (_dropdownRef$current = dropdownRef.current) === null || _dropdownRef$current === void 0 || _dropdownRef$current.focus();
159
+ }
156
160
  }
157
161
  }, [inEditMode, type]);
158
162
 
@@ -1,8 +1,9 @@
1
- export function handleGridKeyPress({ event, dispatch, state, instance, keysPressedList, usingMac, }: {
1
+ export function handleGridKeyPress({ event, dispatch, state, instance, keysPressedList, usingMac, ref, }: {
2
2
  event: any;
3
3
  dispatch: any;
4
4
  state: any;
5
5
  instance: any;
6
6
  keysPressedList: any;
7
7
  usingMac: any;
8
+ ref: any;
8
9
  }): void;
@@ -17,7 +17,8 @@ var handleGridKeyPress = function handleGridKeyPress(_ref) {
17
17
  state = _ref.state,
18
18
  instance = _ref.instance,
19
19
  keysPressedList = _ref.keysPressedList,
20
- usingMac = _ref.usingMac;
20
+ usingMac = _ref.usingMac,
21
+ ref = _ref.ref;
21
22
  var key = event.key;
22
23
  var gridActive = state.gridActive,
23
24
  activeCellId = state.activeCellId,
@@ -54,8 +55,8 @@ var handleGridKeyPress = function handleGridKeyPress(_ref) {
54
55
 
55
56
  // Checks if the dropdown menu is open
56
57
  var dropdownIsActive = function dropdownIsActive() {
57
- var focusedElementRole = document.activeElement.getAttribute('role');
58
- if (focusedElementRole === 'listbox' && document.activeElement.classList.contains("".concat(carbon.prefix, "--list-box__menu"))) {
58
+ var selectedDropdown = ref === null || ref === void 0 ? void 0 : ref.current.querySelector("\n #".concat(instance.tableId, " .").concat(blockClass, "__table-with-inline-edit [data-cell-id=\"").concat(activeCellId, "\"] button[role='combobox']\n "));
59
+ if (selectedDropdown) {
59
60
  // Prevents arrow keys from scrolling any other content when dropdown menu is open
60
61
  event.preventDefault();
61
62
  return true;
@@ -90,7 +90,8 @@ var stateReducer = function stateReducer(newState, action) {
90
90
  if (rows) {
91
91
  var newSelectedRowData = {};
92
92
  rows.forEach(function (row) {
93
- var props = row.getRowProps();
93
+ var _row$getRowProps;
94
+ var props = (_row$getRowProps = row.getRowProps) === null || _row$getRowProps === void 0 ? void 0 : _row$getRowProps.call(row);
94
95
  if (props && props.disabled) {
95
96
  return;
96
97
  }
@@ -0,0 +1,15 @@
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 useInlineEdit from './useInlineEdit.js';
9
+
10
+ var useEditableCell = function useEditableCell(hooks) {
11
+ useInlineEdit(hooks, 'usingEditableCell');
12
+ };
13
+ var useEditableCell$1 = useEditableCell;
14
+
15
+ export { useEditableCell$1 as default };
@@ -1,6 +1,31 @@
1
+ /**
2
+ * Copyright IBM Corp. 2024, 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 React, { PropsWithChildren } from 'react';
8
+ interface DelimitedListProps extends PropsWithChildren {
9
+ /**
10
+ * Provide an optional class to be applied to the containing node.
11
+ */
12
+ className?: string;
13
+ /**
14
+ * The character(s) used to separate the items.
15
+ */
16
+ delimiter?: string;
17
+ /**
18
+ * Array of items to be listed.
19
+ */
20
+ items?: any[];
21
+ /**
22
+ * Toggle the component's ability to truncate or not.
23
+ */
24
+ truncate?: boolean;
25
+ }
1
26
  /**
2
27
  * `DelimitedList` converts an array of items into a single line of
3
28
  * comma-separated values.
4
29
  */
5
- export let DelimitedList: React.ForwardRefExoticComponent<React.RefAttributes<any>>;
6
- import React from 'react';
30
+ export declare let DelimitedList: React.ForwardRefExoticComponent<DelimitedListProps & React.RefAttributes<HTMLDivElement>>;
31
+ export {};
@@ -20,7 +20,6 @@ var defaults = {
20
20
  items: [],
21
21
  truncate: true
22
22
  };
23
-
24
23
  /**
25
24
  * `DelimitedList` converts an array of items into a single line of
26
25
  * comma-separated values.
@@ -1,6 +1,98 @@
1
- export let EditInPlace: React.ForwardRefExoticComponent<React.RefAttributes<any>>;
2
- export namespace deprecatedProps {
3
- let invalidText: PropTypes.Requireable<string>;
4
- }
5
- 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, { PropsWithChildren } from 'react';
6
8
  import PropTypes from 'prop-types';
9
+ type Size = 'sm' | 'md' | 'lg';
10
+ type AlignPropType = 'top' | 'top-left' | 'top-right' | 'bottom' | 'bottom-left' | 'bottom-right' | 'left' | 'right';
11
+ type Shape = {
12
+ cancel: AlignPropType;
13
+ edit: AlignPropType;
14
+ save: AlignPropType;
15
+ };
16
+ interface EditInplaceProps extends PropsWithChildren {
17
+ /**
18
+ * label for cancel button
19
+ */
20
+ cancelLabel: string;
21
+ /**
22
+ * By default the edit icon is shown on hover only.
23
+ */
24
+ editAlwaysVisible?: boolean;
25
+ /**
26
+ * label for edit button
27
+ */
28
+ editLabel: string;
29
+ /**
30
+ * Specify a custom id for the input
31
+ */
32
+ id: string;
33
+ /**
34
+ * inheritTypography - causes the text entry field to inherit typography settings
35
+ * assigned to the container. This is useful when editing titles for instance.
36
+ *
37
+ * NOTE: The size property limits the vertical size of the input element.
38
+ * Inherited font's should be selected to fit within the size selected.
39
+ */
40
+ inheritTypography?: boolean;
41
+ /**
42
+ * determines if the input is invalid
43
+ */
44
+ invalid?: boolean;
45
+ /**
46
+ * text that is displayed if the input is invalid
47
+ */
48
+ invalidText?: string;
49
+ /**
50
+ * Provide the text that will be read by a screen reader when visiting this control
51
+ */
52
+ labelText: string;
53
+ /**
54
+ * 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
+ */
56
+ onCancel: (value: string) => void;
57
+ /**
58
+ * handler that is called when the input is updated
59
+ */
60
+ onChange: (value: string) => void;
61
+ /**
62
+ * handler that is called when the save button is pressed or when the user removes focus from the input if it has a new value
63
+ */
64
+ onSave: () => void;
65
+ /**
66
+ * determines if the input is in readOnly mode
67
+ */
68
+ /**
69
+ * label for the edit button that displays when in read only mode
70
+ */
71
+ /**
72
+ * label for save button
73
+ */
74
+ saveLabel: string;
75
+ /**
76
+ * vertical size of control
77
+ */
78
+ size?: Size;
79
+ /**
80
+ * tooltipAlignment from the standard tooltip. Default center.
81
+ *
82
+ * Can be passed either as one of tooltip options or as an object specifying cancel, edit and save separately
83
+ */
84
+ tooltipAlignment?: AlignPropType | Shape;
85
+ /**
86
+ * current value of the input
87
+ */
88
+ value: string;
89
+ }
90
+ export declare let EditInPlace: React.ForwardRefExoticComponent<EditInplaceProps & React.RefAttributes<HTMLDivElement>>;
91
+ export declare const deprecatedProps: {
92
+ /**
93
+ * **Deprecated**
94
+ * invalidLabel was misnamed, using invalidText to match Carbon
95
+ */
96
+ invalidText: PropTypes.Requireable<string>;
97
+ };
98
+ export {};
@@ -29,7 +29,8 @@ var EditInPlace = /*#__PURE__*/forwardRef(function (_ref, ref) {
29
29
  id = _ref.id,
30
30
  inheritTypography = _ref.inheritTypography,
31
31
  invalid = _ref.invalid,
32
- deprecated_invalidLabel = _ref.invalidLabel,
32
+ _ref$invalidLabel = _ref.invalidLabel,
33
+ deprecated_invalidLabel = _ref$invalidLabel === void 0 ? ' ' : _ref$invalidLabel,
33
34
  invalidText = _ref.invalidText,
34
35
  labelText = _ref.labelText,
35
36
  onCancel = _ref.onCancel,
@@ -37,7 +38,7 @@ var EditInPlace = /*#__PURE__*/forwardRef(function (_ref, ref) {
37
38
  onSave = _ref.onSave,
38
39
  saveLabel = _ref.saveLabel,
39
40
  _ref$size = _ref.size,
40
- size = _ref$size === void 0 ? defaults.size : _ref$size,
41
+ size = _ref$size === void 0 ? 'sm' : _ref$size,
41
42
  tooltipAlignment = _ref.tooltipAlignment,
42
43
  value = _ref.value,
43
44
  rest = _objectWithoutProperties(_ref, _excluded);
@@ -85,7 +86,8 @@ var EditInPlace = /*#__PURE__*/forwardRef(function (_ref, ref) {
85
86
  // }
86
87
 
87
88
  if (!isTargetingChild(e)) {
88
- inputRef.current.focus();
89
+ var _inputRef$current;
90
+ (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 || _inputRef$current.focus();
89
91
  setFocused(true);
90
92
  }
91
93
  };
@@ -122,15 +124,16 @@ var EditInPlace = /*#__PURE__*/forwardRef(function (_ref, ref) {
122
124
  onCancelHandler();
123
125
  };
124
126
  var onKeyHandler = function onKeyHandler(e) {
127
+ var _inputRef$current2, _inputRef$current3;
125
128
  // to prevent blur handler from being called twice add additional state to check if escape is being used
126
129
  escaping.current = true;
127
130
  switch (e.key) {
128
131
  case 'Escape':
129
- inputRef.current.blur();
132
+ (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 || _inputRef$current2.blur();
130
133
  escapeHandler();
131
134
  break;
132
135
  case 'Enter':
133
- inputRef.current.blur();
136
+ (_inputRef$current3 = inputRef.current) === null || _inputRef$current3 === void 0 || _inputRef$current3.blur();
134
137
  returnHandler();
135
138
  break;
136
139
  }
@@ -219,7 +222,6 @@ EditInPlace.propTypes = _objectSpread2({
219
222
  * By default the edit icon is shown on hover only.
220
223
  */
221
224
  editAlwaysVisible: PropTypes.bool,
222
- /**
223
225
  /**
224
226
  * label for edit button
225
227
  */
@@ -243,6 +245,7 @@ EditInPlace.propTypes = _objectSpread2({
243
245
  /**
244
246
  * text that is displayed if the input is invalid
245
247
  */
248
+ /**@ts-ignore*/
246
249
  invalidText: PropTypes.string,
247
250
  /**
248
251
  * Provide the text that will be read by a screen reader when visiting this control
@@ -281,6 +284,7 @@ EditInPlace.propTypes = _objectSpread2({
281
284
  *
282
285
  * Can be passed either as one of tooltip options or as an object specifying cancel, edit and save separately
283
286
  */
287
+ /**@ts-ignore*/
284
288
  tooltipAlignment: PropTypes.oneOfType([alignPropType, PropTypes.shape({
285
289
  cancel: alignPropType,
286
290
  edit: alignPropType,