@sap-ux/ui-components 1.8.0 → 1.8.2

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 (288) hide show
  1. package/dist/components/Icons.d.ts +139 -139
  2. package/dist/components/Icons.js +582 -582
  3. package/dist/components/UIActionCallout/UIActionCallout.d.ts +61 -61
  4. package/dist/components/UIActionCallout/UIActionCallout.js +63 -63
  5. package/dist/components/UIActionCallout/UIActionCallout.scss +31 -31
  6. package/dist/components/UIActionCallout/index.d.ts +1 -1
  7. package/dist/components/UIActionCallout/index.js +17 -17
  8. package/dist/components/UIBreadcrumb/UIBreadcrumb.d.ts +23 -23
  9. package/dist/components/UIBreadcrumb/UIBreadcrumb.js +38 -38
  10. package/dist/components/UIBreadcrumb/index.d.ts +1 -1
  11. package/dist/components/UIBreadcrumb/index.js +17 -17
  12. package/dist/components/UIButton/UIActionButton.d.ts +23 -23
  13. package/dist/components/UIButton/UIActionButton.js +89 -89
  14. package/dist/components/UIButton/UIDefaultButton.d.ts +23 -23
  15. package/dist/components/UIButton/UIDefaultButton.js +229 -229
  16. package/dist/components/UIButton/UIIconButton.d.ts +37 -37
  17. package/dist/components/UIButton/UIIconButton.js +106 -106
  18. package/dist/components/UIButton/UISmallButton.d.ts +34 -34
  19. package/dist/components/UIButton/UISmallButton.js +115 -115
  20. package/dist/components/UIButton/UISplitButton.d.ts +36 -36
  21. package/dist/components/UIButton/UISplitButton.js +71 -71
  22. package/dist/components/UIButton/index.d.ts +7 -7
  23. package/dist/components/UIButton/index.js +21 -21
  24. package/dist/components/UICallout/UICallout.d.ts +37 -37
  25. package/dist/components/UICallout/UICallout.js +90 -90
  26. package/dist/components/UICallout/index.d.ts +1 -1
  27. package/dist/components/UICallout/index.js +17 -17
  28. package/dist/components/UICheckbox/UICheckbox.d.ts +34 -34
  29. package/dist/components/UICheckbox/UICheckbox.js +135 -135
  30. package/dist/components/UICheckbox/index.d.ts +1 -1
  31. package/dist/components/UICheckbox/index.js +17 -17
  32. package/dist/components/UIChoiceGroup/UIChoiceGroup.d.ts +28 -28
  33. package/dist/components/UIChoiceGroup/UIChoiceGroup.js +182 -182
  34. package/dist/components/UIChoiceGroup/index.d.ts +1 -1
  35. package/dist/components/UIChoiceGroup/index.js +17 -17
  36. package/dist/components/UIComboBox/Callout.scss +7 -7
  37. package/dist/components/UIComboBox/UIComboBox.d.ts +198 -198
  38. package/dist/components/UIComboBox/UIComboBox.js +516 -516
  39. package/dist/components/UIComboBox/UIComboBox.scss +268 -268
  40. package/dist/components/UIComboBox/_mixins.scss +32 -32
  41. package/dist/components/UIComboBox/index.d.ts +1 -1
  42. package/dist/components/UIComboBox/index.js +17 -17
  43. package/dist/components/UIContextualMenu/UIContextualMenu.d.ts +31 -31
  44. package/dist/components/UIContextualMenu/UIContextualMenu.js +123 -123
  45. package/dist/components/UIContextualMenu/UIContextualMenu.scss +211 -211
  46. package/dist/components/UIContextualMenu/UIHighlightMenuOption.d.ts +19 -19
  47. package/dist/components/UIContextualMenu/UIHighlightMenuOption.js +50 -50
  48. package/dist/components/UIContextualMenu/UIHighlightMenuOption.scss +23 -23
  49. package/dist/components/UIContextualMenu/_variables.scss +30 -30
  50. package/dist/components/UIContextualMenu/index.d.ts +2 -2
  51. package/dist/components/UIContextualMenu/index.js +18 -18
  52. package/dist/components/UIDatePicker/UIDatePicker.d.ts +49 -49
  53. package/dist/components/UIDatePicker/UIDatePicker.js +72 -72
  54. package/dist/components/UIDatePicker/UIDatePicker.scss +38 -38
  55. package/dist/components/UIDatePicker/index.d.ts +1 -1
  56. package/dist/components/UIDatePicker/index.js +17 -17
  57. package/dist/components/UIDialog/UIDialog.d.ts +116 -116
  58. package/dist/components/UIDialog/UIDialog.js +279 -279
  59. package/dist/components/UIDialog/index.d.ts +1 -1
  60. package/dist/components/UIDialog/index.js +17 -17
  61. package/dist/components/UIDropdown/UIDropdown.d.ts +90 -90
  62. package/dist/components/UIDropdown/UIDropdown.js +216 -216
  63. package/dist/components/UIDropdown/UIDropdown.scss +115 -115
  64. package/dist/components/UIDropdown/index.d.ts +2 -2
  65. package/dist/components/UIDropdown/index.js +18 -18
  66. package/dist/components/UIDropdown/utils.d.ts +8 -8
  67. package/dist/components/UIDropdown/utils.js +20 -20
  68. package/dist/components/UIFlexibleTable/RowActions.d.ts +16 -16
  69. package/dist/components/UIFlexibleTable/RowActions.js +73 -73
  70. package/dist/components/UIFlexibleTable/RowData.d.ts +16 -16
  71. package/dist/components/UIFlexibleTable/RowData.js +111 -111
  72. package/dist/components/UIFlexibleTable/UIFlexibleTable.d.ts +11 -11
  73. package/dist/components/UIFlexibleTable/UIFlexibleTable.js +280 -280
  74. package/dist/components/UIFlexibleTable/UIFlexibleTable.scss +433 -433
  75. package/dist/components/UIFlexibleTable/UIFlexibleTableActionButton.d.ts +20 -20
  76. package/dist/components/UIFlexibleTable/UIFlexibleTableActionButton.js +20 -20
  77. package/dist/components/UIFlexibleTable/UIFlexibleTableRow.d.ts +26 -26
  78. package/dist/components/UIFlexibleTable/UIFlexibleTableRow.js +165 -165
  79. package/dist/components/UIFlexibleTable/UIFlexibleTableRowActionButton.d.ts +20 -20
  80. package/dist/components/UIFlexibleTable/UIFlexibleTableRowActionButton.js +19 -19
  81. package/dist/components/UIFlexibleTable/UIFlexibleTableRowNoData.d.ts +15 -15
  82. package/dist/components/UIFlexibleTable/UIFlexibleTableRowNoData.js +28 -28
  83. package/dist/components/UIFlexibleTable/index.d.ts +5 -5
  84. package/dist/components/UIFlexibleTable/index.js +21 -21
  85. package/dist/components/UIFlexibleTable/types.d.ts +142 -142
  86. package/dist/components/UIFlexibleTable/types.js +14 -14
  87. package/dist/components/UIFlexibleTable/utils.d.ts +25 -25
  88. package/dist/components/UIFlexibleTable/utils.js +49 -49
  89. package/dist/components/UIFocusZone/UIFocusTrapZone.d.ts +22 -22
  90. package/dist/components/UIFocusZone/UIFocusTrapZone.js +33 -33
  91. package/dist/components/UIFocusZone/UIFocusZone.d.ts +23 -23
  92. package/dist/components/UIFocusZone/UIFocusZone.js +35 -35
  93. package/dist/components/UIFocusZone/index.d.ts +2 -2
  94. package/dist/components/UIFocusZone/index.js +18 -18
  95. package/dist/components/UIIcon/UIIcon.d.ts +24 -24
  96. package/dist/components/UIIcon/UIIcon.js +37 -37
  97. package/dist/components/UIIcon/UIIcon.scss +3 -3
  98. package/dist/components/UIIcon/index.d.ts +1 -1
  99. package/dist/components/UIIcon/index.js +17 -17
  100. package/dist/components/UIInput/UITextInput.d.ts +48 -48
  101. package/dist/components/UIInput/UITextInput.js +238 -238
  102. package/dist/components/UIInput/index.d.ts +1 -1
  103. package/dist/components/UIInput/index.js +17 -17
  104. package/dist/components/UILabel/UILabel.d.ts +30 -30
  105. package/dist/components/UILabel/UILabel.js +64 -64
  106. package/dist/components/UILabel/index.d.ts +1 -1
  107. package/dist/components/UILabel/index.js +17 -17
  108. package/dist/components/UILink/UILink.d.ts +25 -25
  109. package/dist/components/UILink/UILink.js +71 -71
  110. package/dist/components/UILink/index.d.ts +1 -1
  111. package/dist/components/UILink/index.js +17 -17
  112. package/dist/components/UIList/UIList.d.ts +31 -31
  113. package/dist/components/UIList/UIList.js +120 -120
  114. package/dist/components/UIList/UIList.scss +16 -16
  115. package/dist/components/UIList/index.d.ts +1 -1
  116. package/dist/components/UIList/index.js +17 -17
  117. package/dist/components/UILoader/UILoader.d.ts +27 -27
  118. package/dist/components/UILoader/UILoader.js +78 -78
  119. package/dist/components/UILoader/UILoader.scss +32 -32
  120. package/dist/components/UILoader/index.d.ts +1 -1
  121. package/dist/components/UILoader/index.js +17 -17
  122. package/dist/components/UIMessageBar/UIMessageBar.d.ts +25 -25
  123. package/dist/components/UIMessageBar/UIMessageBar.js +56 -56
  124. package/dist/components/UIMessageBar/index.d.ts +1 -1
  125. package/dist/components/UIMessageBar/index.js +17 -17
  126. package/dist/components/UIModal/UIModal.d.ts +23 -23
  127. package/dist/components/UIModal/UIModal.js +43 -43
  128. package/dist/components/UIModal/index.d.ts +1 -1
  129. package/dist/components/UIModal/index.js +17 -17
  130. package/dist/components/UIOverlay/UIOverlay.d.ts +22 -22
  131. package/dist/components/UIOverlay/UIOverlay.js +38 -38
  132. package/dist/components/UIOverlay/index.d.ts +1 -1
  133. package/dist/components/UIOverlay/index.js +17 -17
  134. package/dist/components/UIPersona/UIPersona.d.ts +27 -27
  135. package/dist/components/UIPersona/UIPersona.js +48 -48
  136. package/dist/components/UIPersona/index.d.ts +1 -1
  137. package/dist/components/UIPersona/index.js +17 -17
  138. package/dist/components/UISearchBox/UISearchBox.d.ts +22 -22
  139. package/dist/components/UISearchBox/UISearchBox.js +153 -153
  140. package/dist/components/UISearchBox/index.d.ts +3 -3
  141. package/dist/components/UISearchBox/index.js +17 -17
  142. package/dist/components/UISection/UISection.d.ts +34 -34
  143. package/dist/components/UISection/UISection.js +44 -44
  144. package/dist/components/UISection/UISection.scss +76 -76
  145. package/dist/components/UISection/UISections.d.ts +249 -249
  146. package/dist/components/UISection/UISections.js +707 -707
  147. package/dist/components/UISection/UISections.scss +62 -62
  148. package/dist/components/UISection/UISplitter.d.ts +96 -96
  149. package/dist/components/UISection/UISplitter.js +220 -220
  150. package/dist/components/UISection/UISplitter.scss +212 -212
  151. package/dist/components/UISection/_mixins.scss +14 -14
  152. package/dist/components/UISection/_variables.scss +1 -1
  153. package/dist/components/UISection/index.d.ts +3 -3
  154. package/dist/components/UISection/index.js +19 -19
  155. package/dist/components/UISeparator/UISeparator.d.ts +25 -25
  156. package/dist/components/UISeparator/UISeparator.js +65 -65
  157. package/dist/components/UISeparator/index.d.ts +1 -1
  158. package/dist/components/UISeparator/index.js +17 -17
  159. package/dist/components/UITable/UITable-helper.d.ts +79 -79
  160. package/dist/components/UITable/UITable-helper.js +259 -259
  161. package/dist/components/UITable/UITable.d.ts +212 -212
  162. package/dist/components/UITable/UITable.d.ts.map +1 -1
  163. package/dist/components/UITable/UITable.js +775 -773
  164. package/dist/components/UITable/UITable.js.map +1 -1
  165. package/dist/components/UITable/UITable.scss +194 -194
  166. package/dist/components/UITable/index.d.ts +2 -2
  167. package/dist/components/UITable/index.js +18 -18
  168. package/dist/components/UITable/types.d.ts +77 -77
  169. package/dist/components/UITable/types.js +28 -28
  170. package/dist/components/UITabs/UITabs.d.ts +28 -28
  171. package/dist/components/UITabs/UITabs.js +70 -70
  172. package/dist/components/UITabs/index.d.ts +1 -1
  173. package/dist/components/UITabs/index.js +17 -17
  174. package/dist/components/UIToggle/UIToggle.d.ts +39 -39
  175. package/dist/components/UIToggle/UIToggle.js +181 -181
  176. package/dist/components/UIToggle/index.d.ts +1 -1
  177. package/dist/components/UIToggle/index.js +17 -17
  178. package/dist/components/UIToggleGroup/UIToggleGroup.d.ts +31 -31
  179. package/dist/components/UIToggleGroup/UIToggleGroup.js +136 -136
  180. package/dist/components/UIToggleGroup/UIToggleGroup.scss +13 -13
  181. package/dist/components/UIToggleGroup/UIToggleGroup.types.d.ts +22 -22
  182. package/dist/components/UIToggleGroup/UIToggleGroup.types.js +2 -2
  183. package/dist/components/UIToggleGroup/UIToggleGroupOption/UIToggleGroupOption.d.ts +25 -25
  184. package/dist/components/UIToggleGroup/UIToggleGroupOption/UIToggleGroupOption.js +77 -77
  185. package/dist/components/UIToggleGroup/UIToggleGroupOption/UIToggleGroupOption.scss +74 -74
  186. package/dist/components/UIToggleGroup/UIToggleGroupOption/UIToggleGroupOption.types.d.ts +10 -10
  187. package/dist/components/UIToggleGroup/UIToggleGroupOption/UIToggleGroupOption.types.js +2 -2
  188. package/dist/components/UIToggleGroup/UIToggleGroupOption/index.d.ts +2 -2
  189. package/dist/components/UIToggleGroup/UIToggleGroupOption/index.js +18 -18
  190. package/dist/components/UIToggleGroup/index.d.ts +2 -2
  191. package/dist/components/UIToggleGroup/index.js +18 -18
  192. package/dist/components/UIToolbar/UIToolbar.d.ts +36 -36
  193. package/dist/components/UIToolbar/UIToolbar.js +104 -104
  194. package/dist/components/UIToolbar/UIToolbar.scss +48 -48
  195. package/dist/components/UIToolbar/UIToolbarColumn.d.ts +7 -7
  196. package/dist/components/UIToolbar/UIToolbarColumn.js +33 -33
  197. package/dist/components/UIToolbar/UIToolbarDivider.d.ts +27 -27
  198. package/dist/components/UIToolbar/UIToolbarDivider.js +56 -56
  199. package/dist/components/UIToolbar/index.d.ts +3 -3
  200. package/dist/components/UIToolbar/index.js +19 -19
  201. package/dist/components/UITooltip/UITooltip.d.ts +29 -29
  202. package/dist/components/UITooltip/UITooltip.js +77 -77
  203. package/dist/components/UITooltip/UITooltipUtils.d.ts +17 -17
  204. package/dist/components/UITooltip/UITooltipUtils.js +45 -45
  205. package/dist/components/UITooltip/index.d.ts +2 -2
  206. package/dist/components/UITooltip/index.js +18 -18
  207. package/dist/components/UITranslationInput/UIFormattedText.d.ts +46 -46
  208. package/dist/components/UITranslationInput/UIFormattedText.js +121 -121
  209. package/dist/components/UITranslationInput/UILoadButton.d.ts +52 -52
  210. package/dist/components/UITranslationInput/UILoadButton.js +109 -109
  211. package/dist/components/UITranslationInput/UILoadButton.scss +14 -14
  212. package/dist/components/UITranslationInput/UITranslationButton.d.ts +14 -14
  213. package/dist/components/UITranslationInput/UITranslationButton.js +88 -88
  214. package/dist/components/UITranslationInput/UITranslationButton.types.d.ts +67 -67
  215. package/dist/components/UITranslationInput/UITranslationButton.types.js +21 -21
  216. package/dist/components/UITranslationInput/UITranslationInput.d.ts +25 -25
  217. package/dist/components/UITranslationInput/UITranslationInput.js +169 -169
  218. package/dist/components/UITranslationInput/UITranslationInput.scss +40 -40
  219. package/dist/components/UITranslationInput/UITranslationUtils.d.ts +64 -64
  220. package/dist/components/UITranslationInput/UITranslationUtils.js +168 -168
  221. package/dist/components/UITranslationInput/defaults.d.ts +2 -2
  222. package/dist/components/UITranslationInput/defaults.js +15 -15
  223. package/dist/components/UITranslationInput/index.d.ts +2 -2
  224. package/dist/components/UITranslationInput/index.js +18 -18
  225. package/dist/components/UITreeDropdown/UITreeDropdown.d.ts +265 -265
  226. package/dist/components/UITreeDropdown/UITreeDropdown.js +661 -661
  227. package/dist/components/UITreeDropdown/UITreeDropdown.scss +64 -64
  228. package/dist/components/UITreeDropdown/index.d.ts +1 -1
  229. package/dist/components/UITreeDropdown/index.js +17 -17
  230. package/dist/components/UIVerticalDivider/UIVerticalDivider.d.ts +23 -23
  231. package/dist/components/UIVerticalDivider/UIVerticalDivider.js +41 -41
  232. package/dist/components/UIVerticalDivider/index.d.ts +1 -1
  233. package/dist/components/UIVerticalDivider/index.js +17 -17
  234. package/dist/components/UIVirtualList/UIAutoSizer.d.ts +22 -22
  235. package/dist/components/UIVirtualList/UIAutoSizer.js +33 -33
  236. package/dist/components/UIVirtualList/UICellMeasurer.d.ts +23 -23
  237. package/dist/components/UIVirtualList/UICellMeasurer.js +33 -33
  238. package/dist/components/UIVirtualList/UIVirtualList.d.ts +43 -43
  239. package/dist/components/UIVirtualList/UIVirtualList.js +70 -70
  240. package/dist/components/UIVirtualList/index.d.ts +3 -3
  241. package/dist/components/UIVirtualList/index.js +19 -19
  242. package/dist/components/index.d.ts +37 -37
  243. package/dist/components/index.js +53 -53
  244. package/dist/helper/ValidationMessage/MessageWrapper.d.ts +17 -17
  245. package/dist/helper/ValidationMessage/MessageWrapper.js +34 -34
  246. package/dist/helper/ValidationMessage/MessageWrapper.scss +44 -44
  247. package/dist/helper/ValidationMessage/index.d.ts +2 -2
  248. package/dist/helper/ValidationMessage/index.js +18 -18
  249. package/dist/helper/ValidationMessage/utils.d.ts +31 -31
  250. package/dist/helper/ValidationMessage/utils.js +121 -121
  251. package/dist/index.d.ts +2 -2
  252. package/dist/index.js +18 -18
  253. package/dist/styles/_mixins.scss +15 -15
  254. package/dist/styles/_typography.scss +72 -72
  255. package/dist/styles/_variables.scss +26 -26
  256. package/dist/styles/ui-components.scss +3 -3
  257. package/dist/utilities/DeepMerge.d.ts +10 -10
  258. package/dist/utilities/DeepMerge.js +48 -48
  259. package/dist/utilities/Focus.d.ts +4 -4
  260. package/dist/utilities/Focus.js +7 -7
  261. package/dist/utilities/Id.d.ts +2 -2
  262. package/dist/utilities/Id.js +5 -5
  263. package/dist/utilities/Keys.d.ts +2 -2
  264. package/dist/utilities/Keys.js +5 -5
  265. package/dist/utilities/index.d.ts +3 -3
  266. package/dist/utilities/index.js +19 -19
  267. package/package.json +1 -1
  268. package/storybook/{308.3ef1252cf4e6f4ea4f87.manager.bundle.js → 275.a8ff63b0ed4a5d620142.manager.bundle.js} +1 -1
  269. package/storybook/{775.2c32f5dec8245bf06a35.manager.bundle.js → 453.af4e8cc44257a27c435f.manager.bundle.js} +1 -1
  270. package/storybook/{151.f31eae3b7704470d2f0c.manager.bundle.js → 458.a8cb7c68775e3858b342.manager.bundle.js} +1 -1
  271. package/storybook/594.4816ff3f4edb5b8b0949.manager.bundle.js +1 -0
  272. package/storybook/637.173c8d06.iframe.bundle.js +1 -0
  273. package/storybook/713.ec72f301.iframe.bundle.js +292 -0
  274. package/storybook/{822.55c0b8c38a0421b3fdcb.manager.bundle.js → 756.edf22bba3c06d7815c54.manager.bundle.js} +8 -8
  275. package/storybook/{527.5ad8ca17f37f0faebdb5.manager.bundle.js → 966.bc8dd3d7eec539544b33.manager.bundle.js} +1 -1
  276. package/storybook/{869.9c11e9955598ae6cadd2.manager.bundle.js → 987.81102a5d201c9f5a1528.manager.bundle.js} +1 -1
  277. package/storybook/iframe.html +17 -17
  278. package/storybook/index.html +119 -119
  279. package/storybook/main.4bf0e1ff.iframe.bundle.js +99 -0
  280. package/storybook/{main.8a2df1189b7472718896.manager.bundle.js → main.73db1398c1704e93ba73.manager.bundle.js} +1 -1
  281. package/storybook/project.json +1 -1
  282. package/storybook/{runtime~main.ded4beec.iframe.bundle.js → runtime~main.769376b3.iframe.bundle.js} +2 -2
  283. package/storybook/runtime~main.eabd5638d9f3e40b3501.manager.bundle.js +2 -0
  284. package/storybook/215.f4718a88.iframe.bundle.js +0 -292
  285. package/storybook/24.699b5db7d897cafb43de.manager.bundle.js +0 -1
  286. package/storybook/851.7748d349.iframe.bundle.js +0 -1
  287. package/storybook/main.3b29bdd5.iframe.bundle.js +0 -99
  288. package/storybook/runtime~main.3b601f8d200b50936280.manager.bundle.js +0 -2
@@ -1,260 +1,260 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getComboBoxInput = exports.hideFocus = exports.showFocus = exports.getStylesForSelectedCell = exports._onHeaderRender = exports.addRowNumbers = exports.waitFor = exports.scrollToRow = exports.scrollToColumn = exports.getCellFromCoords = exports.focusEditedCell = exports._copyAndSort = void 0;
7
- const react_1 = __importDefault(require("react"));
8
- const react_2 = require("@fluentui/react");
9
- const __1 = require("..");
10
- /**
11
- * Method to copy and sort.
12
- *
13
- * @param {T[]} items
14
- * @param {string }columnKey
15
- * @param {boolean} isSortedDescending
16
- * @returns {T[]}
17
- */
18
- function _copyAndSort(items, columnKey, isSortedDescending) {
19
- const key = columnKey;
20
- return items.slice(0).sort((a, b) => ((isSortedDescending ? a[key] > b[key] : a[key] < b[key]) ? 1 : -1));
21
- }
22
- exports._copyAndSort = _copyAndSort;
23
- /**
24
- * Focus edited cell.
25
- *
26
- * @param {EditedCell | undefined} editedCell
27
- * @param {UITableProps} props
28
- * @param {string} direction
29
- * @returns {Promise<void>}
30
- */
31
- function focusEditedCell(editedCell, props, direction = '') {
32
- const rowIndex = editedCell?.rowIndex || 0;
33
- const colKey = editedCell?.column?.key || '';
34
- let newRowIndex = rowIndex;
35
- let newColKey = colKey;
36
- if (!colKey) {
37
- return Promise.resolve();
38
- }
39
- // go up/down/left/right
40
- if (direction) {
41
- const editableColumnKeys = props.columns.filter((c) => c.editable).map((c) => c.key);
42
- const rowsLen = props.items.length;
43
- const colIdx = editableColumnKeys.indexOf(colKey);
44
- if (direction === 'right') {
45
- if (colIdx < editableColumnKeys.length - 1) {
46
- newColKey = editableColumnKeys[colIdx + 1];
47
- }
48
- }
49
- else if (direction === 'left') {
50
- if (colIdx > 0) {
51
- newColKey = editableColumnKeys[colIdx - 1];
52
- }
53
- }
54
- else if (direction === 'down') {
55
- if (rowIndex < rowsLen - 1) {
56
- newRowIndex = rowIndex + 1;
57
- }
58
- }
59
- else if (direction === 'up') {
60
- if (rowIndex > 0) {
61
- newRowIndex = rowIndex - 1;
62
- }
63
- }
64
- }
65
- return new Promise((resolve) => {
66
- requestAnimationFrame(() => {
67
- const cell = getCellFromCoords(newRowIndex, newColKey, props.columns, props.showRowNumbers);
68
- if (cell && direction) {
69
- cell.click();
70
- }
71
- cell?.focus();
72
- requestAnimationFrame(() => resolve());
73
- });
74
- });
75
- }
76
- exports.focusEditedCell = focusEditedCell;
77
- /**
78
- * Get cell from coordinates.
79
- *
80
- * @param {number} rowIdx
81
- * @param {string} columnKey
82
- * @param {UIColumn} columns
83
- * @param {boolean} addOneToColIndex
84
- * @returns {NodeListOf<Element>}
85
- */
86
- function getCellFromCoords(rowIdx, columnKey, columns, addOneToColIndex = false) {
87
- const selectedIdx = (columns.findIndex((col) => col.key === columnKey) || 0) + +addOneToColIndex;
88
- const row = document.querySelector(`.ms-DetailsList .ms-DetailsList-contentWrapper .ms-List-page .ms-DetailsRow[data-item-index="${rowIdx || 0}"]`);
89
- const cols = row?.querySelectorAll('.ms-DetailsRow-cell');
90
- return cols && cols.length && cols[selectedIdx];
91
- }
92
- exports.getCellFromCoords = getCellFromCoords;
93
- // manual workaround due to the lack of API for selecting columns
94
- /**
95
- * Scrolls to column.
96
- *
97
- * @param {string} columnKey
98
- * @param {UIColumn[]} columns
99
- * @param {number} selectedRow
100
- * @param {boolean} addOneToColIndex
101
- */
102
- function scrollToColumn(columnKey, columns, selectedRow, addOneToColIndex = false) {
103
- const sidebar = document.querySelector('.data-editor__sidebar');
104
- const sidebarWidth = (sidebar?.getBoundingClientRect().width || 0) + (addOneToColIndex ? 20 : 0);
105
- const scrollContainer = document.querySelector('.ms-ScrollablePane--contentContainer');
106
- const cell = getCellFromCoords(selectedRow, columnKey, columns, addOneToColIndex);
107
- const box = cell && cell.getBoundingClientRect();
108
- if (scrollContainer && box) {
109
- const left = scrollContainer.scrollLeft + Math.ceil(box.x) - sidebarWidth;
110
- requestAnimationFrame(() => scrollContainer.scrollTo({ left, behavior: 'smooth' }));
111
- }
112
- }
113
- exports.scrollToColumn = scrollToColumn;
114
- /**
115
- * Scrolls to row.
116
- *
117
- * @param {number} idx
118
- * @param {IDetailsList | null} table
119
- */
120
- function scrollToRow(idx = 0, table) {
121
- if (!table) {
122
- return;
123
- }
124
- table.focusIndex(idx, false);
125
- const slctr = `.ms-DetailsList-contentWrapper .ms-DetailsRow[data-selection-index="${idx}"]`;
126
- waitFor(slctr)
127
- .then((rowEl) => {
128
- rowEl.setAttribute('tabIndex', '0');
129
- rowEl.click();
130
- rowEl.focus();
131
- showFocus();
132
- })
133
- .catch((e) => {
134
- throw e;
135
- });
136
- }
137
- exports.scrollToRow = scrollToRow;
138
- /**
139
- * Wait for selector.
140
- *
141
- * @param {string} selector
142
- * @returns {Promise<Element>}
143
- */
144
- async function waitFor(selector) {
145
- const el = document.querySelector(selector);
146
- return new Promise((resolve) => {
147
- if (el) {
148
- resolve(el);
149
- return;
150
- }
151
- setTimeout(async () => {
152
- const el2 = await waitFor(selector);
153
- if (el2) {
154
- resolve(el2);
155
- return;
156
- }
157
- }, 100);
158
- });
159
- }
160
- exports.waitFor = waitFor;
161
- /**
162
- * Adds row numbers.
163
- *
164
- * @param {any} columns
165
- * @param {boolean} showRowNumbers
166
- * @returns {any}
167
- */
168
- function addRowNumbers(columns, showRowNumbers = false) {
169
- if (showRowNumbers && columns[0].key !== '__row_number__') {
170
- columns.unshift({
171
- key: '__row_number__',
172
- name: '#',
173
- fieldName: '__row_number__',
174
- minWidth: 24,
175
- maxWidth: 24,
176
- isResizable: false
177
- });
178
- }
179
- return columns;
180
- }
181
- exports.addRowNumbers = addRowNumbers;
182
- const _onHeaderRender = (props, defaultRender) => {
183
- if (!props || !defaultRender) {
184
- return null;
185
- }
186
- const customProps = {
187
- ...props,
188
- onRenderColumnHeaderTooltip: (item, tooltipDefaultRender) => {
189
- if (item?.column) {
190
- const column = item.column;
191
- const editable = (column.editable ? '' : 'not-') + 'editable-container';
192
- const containerDiv = column.key !== '__row_number__' ? react_1.default.createElement("div", { className: editable }) : null;
193
- return (react_1.default.createElement("div", { className: "data-editor__header-cell" },
194
- column.iconName && (react_1.default.createElement(__1.UIIcon, { className: "type-icon", iconName: column.iconName, title: column.iconTooltip || '' })),
195
- react_1.default.createElement("span", { title: column?.headerTooltip || column.name }, column.name),
196
- containerDiv));
197
- }
198
- const isCheckTooltip = item?.hostClassName === 'ms-DetailsHeader-checkTooltip';
199
- if (props.selection && isCheckTooltip && tooltipDefaultRender) {
200
- return tooltipDefaultRender(item);
201
- }
202
- return null;
203
- }
204
- };
205
- return react_1.default.createElement(react_2.Sticky, null, defaultRender(customProps));
206
- };
207
- exports._onHeaderRender = _onHeaderRender;
208
- /**
209
- * Gets styles for selected cell.
210
- *
211
- * @param state
212
- * @returns {Partial<IDetailsListStyles>}
213
- */
214
- function getStylesForSelectedCell(state) {
215
- let styles = {};
216
- const editedRow = state.editedCell ? state.editedCell.rowIndex : undefined;
217
- const editedColumn = state.editedCell ? state.editedCell.column : undefined;
218
- if (editedRow !== undefined && editedColumn !== undefined) {
219
- styles = {
220
- root: {
221
- ['div.ms-List-cell']: {
222
- position: 'relative',
223
- zIndex: 0
224
- },
225
- [`div.ms-List-cell[data-list-index="${editedRow}"]`]: {
226
- zIndex: 1
227
- },
228
- [`.ms-DetailsRow-cell`]: {
229
- overflow: 'hidden'
230
- },
231
- [`div.ms-List-cell[data-list-index="${editedRow}"] .ms-DetailsRow-cell[data-automation-key="${editedColumn.key}"]`]: {
232
- overflow: 'visible'
233
- }
234
- }
235
- };
236
- }
237
- return styles;
238
- }
239
- exports.getStylesForSelectedCell = getStylesForSelectedCell;
240
- function showFocus() {
241
- document.body.classList.remove('ms-Fabric--isFocusHidden');
242
- document.body.classList.add('ms-Fabric--isFocusVisible');
243
- }
244
- exports.showFocus = showFocus;
245
- function hideFocus() {
246
- document.body.classList.add('ms-Fabric--isFocusHidden');
247
- document.body.classList.remove('ms-Fabric--isFocusVisible');
248
- }
249
- exports.hideFocus = hideFocus;
250
- /**
251
- * Gets ComboBox input.
252
- *
253
- * @param ref
254
- * @returns {HTMLInputElement | undefined }
255
- */
256
- function getComboBoxInput(ref) {
257
- return ref?.current?.querySelector('input');
258
- }
259
- exports.getComboBoxInput = getComboBoxInput;
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getComboBoxInput = exports.hideFocus = exports.showFocus = exports.getStylesForSelectedCell = exports._onHeaderRender = exports.addRowNumbers = exports.waitFor = exports.scrollToRow = exports.scrollToColumn = exports.getCellFromCoords = exports.focusEditedCell = exports._copyAndSort = void 0;
7
+ const react_1 = __importDefault(require("react"));
8
+ const react_2 = require("@fluentui/react");
9
+ const __1 = require("..");
10
+ /**
11
+ * Method to copy and sort.
12
+ *
13
+ * @param {T[]} items
14
+ * @param {string }columnKey
15
+ * @param {boolean} isSortedDescending
16
+ * @returns {T[]}
17
+ */
18
+ function _copyAndSort(items, columnKey, isSortedDescending) {
19
+ const key = columnKey;
20
+ return items.slice(0).sort((a, b) => ((isSortedDescending ? a[key] > b[key] : a[key] < b[key]) ? 1 : -1));
21
+ }
22
+ exports._copyAndSort = _copyAndSort;
23
+ /**
24
+ * Focus edited cell.
25
+ *
26
+ * @param {EditedCell | undefined} editedCell
27
+ * @param {UITableProps} props
28
+ * @param {string} direction
29
+ * @returns {Promise<void>}
30
+ */
31
+ function focusEditedCell(editedCell, props, direction = '') {
32
+ const rowIndex = editedCell?.rowIndex || 0;
33
+ const colKey = editedCell?.column?.key || '';
34
+ let newRowIndex = rowIndex;
35
+ let newColKey = colKey;
36
+ if (!colKey) {
37
+ return Promise.resolve();
38
+ }
39
+ // go up/down/left/right
40
+ if (direction) {
41
+ const editableColumnKeys = props.columns.filter((c) => c.editable).map((c) => c.key);
42
+ const rowsLen = props.items.length;
43
+ const colIdx = editableColumnKeys.indexOf(colKey);
44
+ if (direction === 'right') {
45
+ if (colIdx < editableColumnKeys.length - 1) {
46
+ newColKey = editableColumnKeys[colIdx + 1];
47
+ }
48
+ }
49
+ else if (direction === 'left') {
50
+ if (colIdx > 0) {
51
+ newColKey = editableColumnKeys[colIdx - 1];
52
+ }
53
+ }
54
+ else if (direction === 'down') {
55
+ if (rowIndex < rowsLen - 1) {
56
+ newRowIndex = rowIndex + 1;
57
+ }
58
+ }
59
+ else if (direction === 'up') {
60
+ if (rowIndex > 0) {
61
+ newRowIndex = rowIndex - 1;
62
+ }
63
+ }
64
+ }
65
+ return new Promise((resolve) => {
66
+ requestAnimationFrame(() => {
67
+ const cell = getCellFromCoords(newRowIndex, newColKey, props.columns, props.showRowNumbers);
68
+ if (cell && direction) {
69
+ cell.click();
70
+ }
71
+ cell?.focus();
72
+ requestAnimationFrame(() => resolve());
73
+ });
74
+ });
75
+ }
76
+ exports.focusEditedCell = focusEditedCell;
77
+ /**
78
+ * Get cell from coordinates.
79
+ *
80
+ * @param {number} rowIdx
81
+ * @param {string} columnKey
82
+ * @param {UIColumn} columns
83
+ * @param {boolean} addOneToColIndex
84
+ * @returns {NodeListOf<Element>}
85
+ */
86
+ function getCellFromCoords(rowIdx, columnKey, columns, addOneToColIndex = false) {
87
+ const selectedIdx = (columns.findIndex((col) => col.key === columnKey) || 0) + +addOneToColIndex;
88
+ const row = document.querySelector(`.ms-DetailsList .ms-DetailsList-contentWrapper .ms-List-page .ms-DetailsRow[data-item-index="${rowIdx || 0}"]`);
89
+ const cols = row?.querySelectorAll('.ms-DetailsRow-cell');
90
+ return cols && cols.length && cols[selectedIdx];
91
+ }
92
+ exports.getCellFromCoords = getCellFromCoords;
93
+ // manual workaround due to the lack of API for selecting columns
94
+ /**
95
+ * Scrolls to column.
96
+ *
97
+ * @param {string} columnKey
98
+ * @param {UIColumn[]} columns
99
+ * @param {number} selectedRow
100
+ * @param {boolean} addOneToColIndex
101
+ */
102
+ function scrollToColumn(columnKey, columns, selectedRow, addOneToColIndex = false) {
103
+ const sidebar = document.querySelector('.data-editor__sidebar');
104
+ const sidebarWidth = (sidebar?.getBoundingClientRect().width || 0) + (addOneToColIndex ? 20 : 0);
105
+ const scrollContainer = document.querySelector('.ms-ScrollablePane--contentContainer');
106
+ const cell = getCellFromCoords(selectedRow, columnKey, columns, addOneToColIndex);
107
+ const box = cell && cell.getBoundingClientRect();
108
+ if (scrollContainer && box) {
109
+ const left = scrollContainer.scrollLeft + Math.ceil(box.x) - sidebarWidth;
110
+ requestAnimationFrame(() => scrollContainer.scrollTo({ left, behavior: 'smooth' }));
111
+ }
112
+ }
113
+ exports.scrollToColumn = scrollToColumn;
114
+ /**
115
+ * Scrolls to row.
116
+ *
117
+ * @param {number} idx
118
+ * @param {IDetailsList | null} table
119
+ */
120
+ function scrollToRow(idx = 0, table) {
121
+ if (!table) {
122
+ return;
123
+ }
124
+ table.focusIndex(idx, false);
125
+ const slctr = `.ms-DetailsList-contentWrapper .ms-DetailsRow[data-selection-index="${idx}"]`;
126
+ waitFor(slctr)
127
+ .then((rowEl) => {
128
+ rowEl.setAttribute('tabIndex', '0');
129
+ rowEl.click();
130
+ rowEl.focus();
131
+ showFocus();
132
+ })
133
+ .catch((e) => {
134
+ throw e;
135
+ });
136
+ }
137
+ exports.scrollToRow = scrollToRow;
138
+ /**
139
+ * Wait for selector.
140
+ *
141
+ * @param {string} selector
142
+ * @returns {Promise<Element>}
143
+ */
144
+ async function waitFor(selector) {
145
+ const el = document.querySelector(selector);
146
+ return new Promise((resolve) => {
147
+ if (el) {
148
+ resolve(el);
149
+ return;
150
+ }
151
+ setTimeout(async () => {
152
+ const el2 = await waitFor(selector);
153
+ if (el2) {
154
+ resolve(el2);
155
+ return;
156
+ }
157
+ }, 100);
158
+ });
159
+ }
160
+ exports.waitFor = waitFor;
161
+ /**
162
+ * Adds row numbers.
163
+ *
164
+ * @param {any} columns
165
+ * @param {boolean} showRowNumbers
166
+ * @returns {any}
167
+ */
168
+ function addRowNumbers(columns, showRowNumbers = false) {
169
+ if (showRowNumbers && columns[0].key !== '__row_number__') {
170
+ columns.unshift({
171
+ key: '__row_number__',
172
+ name: '#',
173
+ fieldName: '__row_number__',
174
+ minWidth: 24,
175
+ maxWidth: 24,
176
+ isResizable: false
177
+ });
178
+ }
179
+ return columns;
180
+ }
181
+ exports.addRowNumbers = addRowNumbers;
182
+ const _onHeaderRender = (props, defaultRender) => {
183
+ if (!props || !defaultRender) {
184
+ return null;
185
+ }
186
+ const customProps = {
187
+ ...props,
188
+ onRenderColumnHeaderTooltip: (item, tooltipDefaultRender) => {
189
+ if (item?.column) {
190
+ const column = item.column;
191
+ const editable = (column.editable ? '' : 'not-') + 'editable-container';
192
+ const containerDiv = column.key !== '__row_number__' ? react_1.default.createElement("div", { className: editable }) : null;
193
+ return (react_1.default.createElement("div", { className: "data-editor__header-cell" },
194
+ column.iconName && (react_1.default.createElement(__1.UIIcon, { className: "type-icon", iconName: column.iconName, title: column.iconTooltip || '' })),
195
+ react_1.default.createElement("span", { title: column?.headerTooltip || column.name }, column.name),
196
+ containerDiv));
197
+ }
198
+ const isCheckTooltip = item?.hostClassName === 'ms-DetailsHeader-checkTooltip';
199
+ if (props.selection && isCheckTooltip && tooltipDefaultRender) {
200
+ return tooltipDefaultRender(item);
201
+ }
202
+ return null;
203
+ }
204
+ };
205
+ return react_1.default.createElement(react_2.Sticky, null, defaultRender(customProps));
206
+ };
207
+ exports._onHeaderRender = _onHeaderRender;
208
+ /**
209
+ * Gets styles for selected cell.
210
+ *
211
+ * @param state
212
+ * @returns {Partial<IDetailsListStyles>}
213
+ */
214
+ function getStylesForSelectedCell(state) {
215
+ let styles = {};
216
+ const editedRow = state.editedCell ? state.editedCell.rowIndex : undefined;
217
+ const editedColumn = state.editedCell ? state.editedCell.column : undefined;
218
+ if (editedRow !== undefined && editedColumn !== undefined) {
219
+ styles = {
220
+ root: {
221
+ ['div.ms-List-cell']: {
222
+ position: 'relative',
223
+ zIndex: 0
224
+ },
225
+ [`div.ms-List-cell[data-list-index="${editedRow}"]`]: {
226
+ zIndex: 1
227
+ },
228
+ [`.ms-DetailsRow-cell`]: {
229
+ overflow: 'hidden'
230
+ },
231
+ [`div.ms-List-cell[data-list-index="${editedRow}"] .ms-DetailsRow-cell[data-automation-key="${editedColumn.key}"]`]: {
232
+ overflow: 'visible'
233
+ }
234
+ }
235
+ };
236
+ }
237
+ return styles;
238
+ }
239
+ exports.getStylesForSelectedCell = getStylesForSelectedCell;
240
+ function showFocus() {
241
+ document.body.classList.remove('ms-Fabric--isFocusHidden');
242
+ document.body.classList.add('ms-Fabric--isFocusVisible');
243
+ }
244
+ exports.showFocus = showFocus;
245
+ function hideFocus() {
246
+ document.body.classList.add('ms-Fabric--isFocusHidden');
247
+ document.body.classList.remove('ms-Fabric--isFocusVisible');
248
+ }
249
+ exports.hideFocus = hideFocus;
250
+ /**
251
+ * Gets ComboBox input.
252
+ *
253
+ * @param ref
254
+ * @returns {HTMLInputElement | undefined }
255
+ */
256
+ function getComboBoxInput(ref) {
257
+ return ref?.current?.querySelector('input');
258
+ }
259
+ exports.getComboBoxInput = getComboBoxInput;
260
260
  //# sourceMappingURL=UITable-helper.js.map