@pnp/spfx-controls-react 3.26.0-beta.3386473 → 3.26.0-beta.3440811

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 (238) hide show
  1. package/jest-output/JUnit.xml +98 -92
  2. package/lib/DetailsList.d.ts +3 -0
  3. package/lib/DetailsList.d.ts.map +1 -0
  4. package/lib/DetailsList.js +2 -0
  5. package/lib/DetailsList.js.map +1 -0
  6. package/lib/common/telemetry/version.js +1 -1
  7. package/lib/controls/DetailsList/DetailsList.d.ts +4 -0
  8. package/lib/controls/DetailsList/DetailsList.d.ts.map +1 -0
  9. package/lib/controls/DetailsList/DetailsList.js +277 -0
  10. package/lib/controls/DetailsList/DetailsList.js.map +1 -0
  11. package/lib/controls/DetailsList/DetailsList.test.d.ts +2 -0
  12. package/lib/controls/DetailsList/DetailsList.test.d.ts.map +1 -0
  13. package/lib/controls/DetailsList/DetailsList.types.d.ts +230 -0
  14. package/lib/controls/DetailsList/DetailsList.types.d.ts.map +1 -0
  15. package/lib/controls/DetailsList/DetailsList.types.js +37 -0
  16. package/lib/controls/DetailsList/DetailsList.types.js.map +1 -0
  17. package/lib/controls/DetailsList/DetailsList.utils.d.ts +21 -0
  18. package/lib/controls/DetailsList/DetailsList.utils.d.ts.map +1 -0
  19. package/lib/controls/DetailsList/DetailsList.utils.js +122 -0
  20. package/lib/controls/DetailsList/DetailsList.utils.js.map +1 -0
  21. package/lib/controls/DetailsList/DetailsListContent.d.ts +3 -0
  22. package/lib/controls/DetailsList/DetailsListContent.d.ts.map +1 -0
  23. package/lib/controls/DetailsList/DetailsListContent.js +9 -0
  24. package/lib/controls/DetailsList/DetailsListContent.js.map +1 -0
  25. package/lib/controls/DetailsList/DetailsListGroupHeader.d.ts +21 -0
  26. package/lib/controls/DetailsList/DetailsListGroupHeader.d.ts.map +1 -0
  27. package/lib/controls/DetailsList/DetailsListGroupHeader.js +41 -0
  28. package/lib/controls/DetailsList/DetailsListGroupHeader.js.map +1 -0
  29. package/lib/controls/DetailsList/DetailsListHeader.d.ts +33 -0
  30. package/lib/controls/DetailsList/DetailsListHeader.d.ts.map +1 -0
  31. package/lib/controls/DetailsList/DetailsListHeader.js +94 -0
  32. package/lib/controls/DetailsList/DetailsListHeader.js.map +1 -0
  33. package/lib/controls/DetailsList/DetailsListRow.d.ts +49 -0
  34. package/lib/controls/DetailsList/DetailsListRow.d.ts.map +1 -0
  35. package/lib/controls/DetailsList/DetailsListRow.js +124 -0
  36. package/lib/controls/DetailsList/DetailsListRow.js.map +1 -0
  37. package/lib/controls/DetailsList/DetailsListShimmerRows.d.ts +18 -0
  38. package/lib/controls/DetailsList/DetailsListShimmerRows.d.ts.map +1 -0
  39. package/lib/controls/DetailsList/DetailsListShimmerRows.js +34 -0
  40. package/lib/controls/DetailsList/DetailsListShimmerRows.js.map +1 -0
  41. package/lib/controls/DetailsList/index.d.ts +3 -0
  42. package/lib/controls/DetailsList/index.d.ts.map +1 -0
  43. package/lib/controls/DetailsList/index.js +3 -0
  44. package/lib/controls/DetailsList/index.js.map +1 -0
  45. package/lib/controls/DetailsList/useDetailsListColumns.d.ts +30 -0
  46. package/lib/controls/DetailsList/useDetailsListColumns.d.ts.map +1 -0
  47. package/lib/controls/DetailsList/useDetailsListColumns.js +145 -0
  48. package/lib/controls/DetailsList/useDetailsListColumns.js.map +1 -0
  49. package/lib/controls/DetailsList/useDetailsListGroups.d.ts +11 -0
  50. package/lib/controls/DetailsList/useDetailsListGroups.d.ts.map +1 -0
  51. package/lib/controls/DetailsList/useDetailsListGroups.js +24 -0
  52. package/lib/controls/DetailsList/useDetailsListGroups.js.map +1 -0
  53. package/lib/controls/DetailsList/useDetailsListSelection.d.ts +27 -0
  54. package/lib/controls/DetailsList/useDetailsListSelection.d.ts.map +1 -0
  55. package/lib/controls/DetailsList/useDetailsListSelection.js +114 -0
  56. package/lib/controls/DetailsList/useDetailsListSelection.js.map +1 -0
  57. package/lib/controls/DetailsList/useDetailsListStyles.d.ts +42 -0
  58. package/lib/controls/DetailsList/useDetailsListStyles.d.ts.map +1 -0
  59. package/lib/controls/DetailsList/useDetailsListStyles.js +338 -0
  60. package/lib/controls/DetailsList/useDetailsListStyles.js.map +1 -0
  61. package/lib/controls/DetailsList/useDetailsListViewport.d.ts +23 -0
  62. package/lib/controls/DetailsList/useDetailsListViewport.d.ts.map +1 -0
  63. package/lib/controls/DetailsList/useDetailsListViewport.js +86 -0
  64. package/lib/controls/DetailsList/useDetailsListViewport.js.map +1 -0
  65. package/lib/index.d.ts +1 -0
  66. package/lib/index.d.ts.map +1 -1
  67. package/lib/index.js +1 -0
  68. package/lib/index.js.map +1 -1
  69. package/lib/loc/bg-bg.js +9 -0
  70. package/lib/loc/bg-bg.js.map +1 -1
  71. package/lib/loc/ca-es.js +9 -0
  72. package/lib/loc/ca-es.js.map +1 -1
  73. package/lib/loc/cs-cz.js +9 -0
  74. package/lib/loc/cs-cz.js.map +1 -1
  75. package/lib/loc/da-dk.js +9 -0
  76. package/lib/loc/da-dk.js.map +1 -1
  77. package/lib/loc/de-de.js +9 -0
  78. package/lib/loc/de-de.js.map +1 -1
  79. package/lib/loc/el-gr.js +9 -0
  80. package/lib/loc/el-gr.js.map +1 -1
  81. package/lib/loc/en-us.js +9 -0
  82. package/lib/loc/en-us.js.map +1 -1
  83. package/lib/loc/es-es.js +9 -0
  84. package/lib/loc/es-es.js.map +1 -1
  85. package/lib/loc/et-ee.js +9 -0
  86. package/lib/loc/et-ee.js.map +1 -1
  87. package/lib/loc/eu-es.js +9 -0
  88. package/lib/loc/eu-es.js.map +1 -1
  89. package/lib/loc/fi-fi.js +9 -0
  90. package/lib/loc/fi-fi.js.map +1 -1
  91. package/lib/loc/fr-ca.js +9 -0
  92. package/lib/loc/fr-ca.js.map +1 -1
  93. package/lib/loc/fr-fr.js +9 -0
  94. package/lib/loc/fr-fr.js.map +1 -1
  95. package/lib/loc/it-it.js +9 -0
  96. package/lib/loc/it-it.js.map +1 -1
  97. package/lib/loc/ja-jp.js +9 -0
  98. package/lib/loc/ja-jp.js.map +1 -1
  99. package/lib/loc/lt-lt.js +9 -0
  100. package/lib/loc/lt-lt.js.map +1 -1
  101. package/lib/loc/lv-lv.js +9 -0
  102. package/lib/loc/lv-lv.js.map +1 -1
  103. package/lib/loc/nb-no.js +9 -0
  104. package/lib/loc/nb-no.js.map +1 -1
  105. package/lib/loc/nl-nl.js +9 -0
  106. package/lib/loc/nl-nl.js.map +1 -1
  107. package/lib/loc/pl-pl.js +9 -0
  108. package/lib/loc/pl-pl.js.map +1 -1
  109. package/lib/loc/pt-br.js +9 -0
  110. package/lib/loc/pt-br.js.map +1 -1
  111. package/lib/loc/pt-pt.js +9 -0
  112. package/lib/loc/pt-pt.js.map +1 -1
  113. package/lib/loc/ro-ro.js +9 -0
  114. package/lib/loc/ro-ro.js.map +1 -1
  115. package/lib/loc/ru-ru.js +9 -0
  116. package/lib/loc/ru-ru.js.map +1 -1
  117. package/lib/loc/sk-sk.js +9 -0
  118. package/lib/loc/sk-sk.js.map +1 -1
  119. package/lib/loc/sr-latn-rs.js +9 -0
  120. package/lib/loc/sr-latn-rs.js.map +1 -1
  121. package/lib/loc/sv-se.js +9 -0
  122. package/lib/loc/sv-se.js.map +1 -1
  123. package/lib/loc/tr-tr.js +9 -0
  124. package/lib/loc/tr-tr.js.map +1 -1
  125. package/lib/loc/vi-vn.js +9 -0
  126. package/lib/loc/vi-vn.js.map +1 -1
  127. package/lib/loc/zh-cn.js +9 -0
  128. package/lib/loc/zh-cn.js.map +1 -1
  129. package/lib/loc/zh-tw.js +9 -0
  130. package/lib/loc/zh-tw.js.map +1 -1
  131. package/lib-commonjs/DetailsList.js +12 -0
  132. package/lib-commonjs/DetailsList.js.map +1 -0
  133. package/lib-commonjs/common/telemetry/version.js +1 -1
  134. package/lib-commonjs/controls/DetailsList/DetailsList.js +280 -0
  135. package/lib-commonjs/controls/DetailsList/DetailsList.js.map +1 -0
  136. package/lib-commonjs/controls/DetailsList/DetailsList.types.js +38 -0
  137. package/lib-commonjs/controls/DetailsList/DetailsList.types.js.map +1 -0
  138. package/lib-commonjs/controls/DetailsList/DetailsList.utils.js +130 -0
  139. package/lib-commonjs/controls/DetailsList/DetailsList.utils.js.map +1 -0
  140. package/lib-commonjs/controls/DetailsList/DetailsListContent.js +14 -0
  141. package/lib-commonjs/controls/DetailsList/DetailsListContent.js.map +1 -0
  142. package/lib-commonjs/controls/DetailsList/DetailsListGroupHeader.js +45 -0
  143. package/lib-commonjs/controls/DetailsList/DetailsListGroupHeader.js.map +1 -0
  144. package/lib-commonjs/controls/DetailsList/DetailsListHeader.js +98 -0
  145. package/lib-commonjs/controls/DetailsList/DetailsListHeader.js.map +1 -0
  146. package/lib-commonjs/controls/DetailsList/DetailsListRow.js +128 -0
  147. package/lib-commonjs/controls/DetailsList/DetailsListRow.js.map +1 -0
  148. package/lib-commonjs/controls/DetailsList/DetailsListShimmerRows.js +39 -0
  149. package/lib-commonjs/controls/DetailsList/DetailsListShimmerRows.js.map +1 -0
  150. package/lib-commonjs/controls/DetailsList/index.js +8 -0
  151. package/lib-commonjs/controls/DetailsList/index.js.map +1 -0
  152. package/lib-commonjs/controls/DetailsList/useDetailsListColumns.js +149 -0
  153. package/lib-commonjs/controls/DetailsList/useDetailsListColumns.js.map +1 -0
  154. package/lib-commonjs/controls/DetailsList/useDetailsListGroups.js +29 -0
  155. package/lib-commonjs/controls/DetailsList/useDetailsListGroups.js.map +1 -0
  156. package/lib-commonjs/controls/DetailsList/useDetailsListSelection.js +119 -0
  157. package/lib-commonjs/controls/DetailsList/useDetailsListSelection.js.map +1 -0
  158. package/lib-commonjs/controls/DetailsList/useDetailsListStyles.js +342 -0
  159. package/lib-commonjs/controls/DetailsList/useDetailsListStyles.js.map +1 -0
  160. package/lib-commonjs/controls/DetailsList/useDetailsListViewport.js +91 -0
  161. package/lib-commonjs/controls/DetailsList/useDetailsListViewport.js.map +1 -0
  162. package/lib-commonjs/index.js +1 -0
  163. package/lib-commonjs/index.js.map +1 -1
  164. package/lib-commonjs/loc/bg-bg.js +9 -0
  165. package/lib-commonjs/loc/bg-bg.js.map +1 -1
  166. package/lib-commonjs/loc/ca-es.js +9 -0
  167. package/lib-commonjs/loc/ca-es.js.map +1 -1
  168. package/lib-commonjs/loc/cs-cz.js +9 -0
  169. package/lib-commonjs/loc/cs-cz.js.map +1 -1
  170. package/lib-commonjs/loc/da-dk.js +9 -0
  171. package/lib-commonjs/loc/da-dk.js.map +1 -1
  172. package/lib-commonjs/loc/de-de.js +9 -0
  173. package/lib-commonjs/loc/de-de.js.map +1 -1
  174. package/lib-commonjs/loc/el-gr.js +9 -0
  175. package/lib-commonjs/loc/el-gr.js.map +1 -1
  176. package/lib-commonjs/loc/en-us.js +9 -0
  177. package/lib-commonjs/loc/en-us.js.map +1 -1
  178. package/lib-commonjs/loc/es-es.js +9 -0
  179. package/lib-commonjs/loc/es-es.js.map +1 -1
  180. package/lib-commonjs/loc/et-ee.js +9 -0
  181. package/lib-commonjs/loc/et-ee.js.map +1 -1
  182. package/lib-commonjs/loc/eu-es.js +9 -0
  183. package/lib-commonjs/loc/eu-es.js.map +1 -1
  184. package/lib-commonjs/loc/fi-fi.js +9 -0
  185. package/lib-commonjs/loc/fi-fi.js.map +1 -1
  186. package/lib-commonjs/loc/fr-ca.js +9 -0
  187. package/lib-commonjs/loc/fr-ca.js.map +1 -1
  188. package/lib-commonjs/loc/fr-fr.js +9 -0
  189. package/lib-commonjs/loc/fr-fr.js.map +1 -1
  190. package/lib-commonjs/loc/it-it.js +9 -0
  191. package/lib-commonjs/loc/it-it.js.map +1 -1
  192. package/lib-commonjs/loc/ja-jp.js +9 -0
  193. package/lib-commonjs/loc/ja-jp.js.map +1 -1
  194. package/lib-commonjs/loc/lt-lt.js +9 -0
  195. package/lib-commonjs/loc/lt-lt.js.map +1 -1
  196. package/lib-commonjs/loc/lv-lv.js +9 -0
  197. package/lib-commonjs/loc/lv-lv.js.map +1 -1
  198. package/lib-commonjs/loc/nb-no.js +9 -0
  199. package/lib-commonjs/loc/nb-no.js.map +1 -1
  200. package/lib-commonjs/loc/nl-nl.js +9 -0
  201. package/lib-commonjs/loc/nl-nl.js.map +1 -1
  202. package/lib-commonjs/loc/pl-pl.js +9 -0
  203. package/lib-commonjs/loc/pl-pl.js.map +1 -1
  204. package/lib-commonjs/loc/pt-br.js +9 -0
  205. package/lib-commonjs/loc/pt-br.js.map +1 -1
  206. package/lib-commonjs/loc/pt-pt.js +9 -0
  207. package/lib-commonjs/loc/pt-pt.js.map +1 -1
  208. package/lib-commonjs/loc/ro-ro.js +9 -0
  209. package/lib-commonjs/loc/ro-ro.js.map +1 -1
  210. package/lib-commonjs/loc/ru-ru.js +9 -0
  211. package/lib-commonjs/loc/ru-ru.js.map +1 -1
  212. package/lib-commonjs/loc/sk-sk.js +9 -0
  213. package/lib-commonjs/loc/sk-sk.js.map +1 -1
  214. package/lib-commonjs/loc/sr-latn-rs.js +9 -0
  215. package/lib-commonjs/loc/sr-latn-rs.js.map +1 -1
  216. package/lib-commonjs/loc/sv-se.js +9 -0
  217. package/lib-commonjs/loc/sv-se.js.map +1 -1
  218. package/lib-commonjs/loc/tr-tr.js +9 -0
  219. package/lib-commonjs/loc/tr-tr.js.map +1 -1
  220. package/lib-commonjs/loc/vi-vn.js +9 -0
  221. package/lib-commonjs/loc/vi-vn.js.map +1 -1
  222. package/lib-commonjs/loc/zh-cn.js +9 -0
  223. package/lib-commonjs/loc/zh-cn.js.map +1 -1
  224. package/lib-commonjs/loc/zh-tw.js +9 -0
  225. package/lib-commonjs/loc/zh-tw.js.map +1 -1
  226. package/lib-commonjs/webparts/controlsTest/ControlsTestWebPart.manifest.json +1 -0
  227. package/lib-commonjs/webparts/controlsTest/components/ControlsTest.js +27 -0
  228. package/lib-commonjs/webparts/controlsTest/components/ControlsTest.js.map +1 -1
  229. package/lib-commonjs/webparts/controlsTest/components/TestDetailsListControl.js +335 -0
  230. package/lib-commonjs/webparts/controlsTest/components/TestDetailsListControl.js.map +1 -0
  231. package/lib-commonjs/webparts/controlsTest/propertyPane/controls/ControlToggles.js +1 -1
  232. package/lib-commonjs/webparts/controlsTest/propertyPane/controls/ControlToggles.js.map +1 -1
  233. package/package.json +2 -2
  234. package/release/analysis-logs/lint.sarif +1139 -954
  235. package/release/manifests/45165954-80f9-44c1-9967-cd38ae92a33b.manifest.json +34 -33
  236. package/release/manifests/57ebd944-98ed-43f9-b722-e959d6dac6ad.manifest.json +33 -33
  237. package/release/manifests/f9c6b930-8d5d-4550-bfd9-ed5f6ca443a8.manifest.json +33 -33
  238. package/tests/__mocks__/ControlStrings.js +21 -0
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useDetailsListSelection = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var React = tslib_1.__importStar(require("react"));
6
+ var DetailsList_types_1 = require("./DetailsList.types");
7
+ var toKeySet = function (keys) { return new Set(keys !== null && keys !== void 0 ? keys : []); };
8
+ var useDetailsListSelection = function (_a) {
9
+ var items = _a.items, getKey = _a.getKey, setKey = _a.setKey, selectionMode = _a.selectionMode, selectedKeys = _a.selectedKeys, defaultSelectedKeys = _a.defaultSelectedKeys, disabledItemKeys = _a.disabledItemKeys, onSelectionChanged = _a.onSelectionChanged;
10
+ var lastSelectedIndexRef = React.useRef();
11
+ var previousSetKeyRef = React.useRef(setKey);
12
+ var _b = React.useState(function () {
13
+ return toKeySet(defaultSelectedKeys);
14
+ }), internalSelectedKeys = _b[0], setInternalSelectedKeys = _b[1];
15
+ var isSelectionControlled = selectedKeys !== undefined;
16
+ var selectedKeySet = React.useMemo(function () { return (isSelectionControlled ? toKeySet(selectedKeys) : internalSelectedKeys); }, [internalSelectedKeys, isSelectionControlled, selectedKeys]);
17
+ var disabledKeySet = React.useMemo(function () { return toKeySet(disabledItemKeys); }, [disabledItemKeys]);
18
+ var getItemKey = React.useCallback(function (item, index) { var _a; return (_a = getKey === null || getKey === void 0 ? void 0 : getKey(item, index)) !== null && _a !== void 0 ? _a : index; }, [getKey]);
19
+ React.useEffect(function () {
20
+ if (previousSetKeyRef.current !== setKey) {
21
+ previousSetKeyRef.current = setKey;
22
+ if (!isSelectionControlled) {
23
+ setInternalSelectedKeys(toKeySet(defaultSelectedKeys));
24
+ }
25
+ }
26
+ }, [defaultSelectedKeys, isSelectionControlled, setKey]);
27
+ var selectedItems = React.useMemo(function () { return items.filter(function (item, index) { return selectedKeySet.has(getItemKey(item, index)); }); }, [getItemKey, items, selectedKeySet]);
28
+ var enabledItemKeys = React.useMemo(function () {
29
+ return items
30
+ .map(function (item, index) { return getItemKey(item, index); })
31
+ .filter(function (itemKey) { return !disabledKeySet.has(itemKey); });
32
+ }, [disabledKeySet, getItemKey, items]);
33
+ var isAllSelected = enabledItemKeys.length > 0 && enabledItemKeys.every(function (itemKey) { return selectedKeySet.has(itemKey); });
34
+ var isPartiallySelected = !isAllSelected && enabledItemKeys.some(function (itemKey) { return selectedKeySet.has(itemKey); });
35
+ var commitSelection = React.useCallback(function (nextKeys) {
36
+ if (!isSelectionControlled) {
37
+ setInternalSelectedKeys(new Set(nextKeys));
38
+ }
39
+ var nextItems = items.filter(function (item, index) { return nextKeys.has(getItemKey(item, index)); });
40
+ onSelectionChanged === null || onSelectionChanged === void 0 ? void 0 : onSelectionChanged({ selectedItems: nextItems, selectedKeys: new Set(nextKeys) });
41
+ }, [getItemKey, isSelectionControlled, items, onSelectionChanged]);
42
+ var selectItem = React.useCallback(function (item, itemIndex, event, preserveExistingSelection) {
43
+ if (selectionMode === DetailsList_types_1.SelectionMode.none) {
44
+ return;
45
+ }
46
+ var itemKey = getItemKey(item, itemIndex);
47
+ if (disabledKeySet.has(itemKey)) {
48
+ return;
49
+ }
50
+ var nextKeys = new Set(selectedKeySet);
51
+ var nativeEvent = event.nativeEvent;
52
+ var shiftKey = 'shiftKey' in nativeEvent && Boolean(nativeEvent.shiftKey);
53
+ var modifierKey = ('metaKey' in nativeEvent && Boolean(nativeEvent.metaKey)) ||
54
+ ('ctrlKey' in nativeEvent && Boolean(nativeEvent.ctrlKey));
55
+ if (selectionMode === DetailsList_types_1.SelectionMode.single) {
56
+ nextKeys.clear();
57
+ if (!selectedKeySet.has(itemKey) || !preserveExistingSelection) {
58
+ nextKeys.add(itemKey);
59
+ }
60
+ }
61
+ else if (shiftKey && lastSelectedIndexRef.current !== undefined) {
62
+ if (!modifierKey) {
63
+ nextKeys.clear();
64
+ }
65
+ var rangeStart = Math.min(lastSelectedIndexRef.current, itemIndex);
66
+ var rangeEnd = Math.max(lastSelectedIndexRef.current, itemIndex);
67
+ for (var index = rangeStart; index <= rangeEnd; index += 1) {
68
+ var rangeItem = items[index];
69
+ if (rangeItem !== undefined) {
70
+ var rangeKey = getItemKey(rangeItem, index);
71
+ if (!disabledKeySet.has(rangeKey)) {
72
+ nextKeys.add(rangeKey);
73
+ }
74
+ }
75
+ }
76
+ }
77
+ else if (preserveExistingSelection || modifierKey) {
78
+ if (nextKeys.has(itemKey)) {
79
+ nextKeys.delete(itemKey);
80
+ }
81
+ else {
82
+ nextKeys.add(itemKey);
83
+ }
84
+ }
85
+ else {
86
+ nextKeys.clear();
87
+ nextKeys.add(itemKey);
88
+ }
89
+ lastSelectedIndexRef.current = itemIndex;
90
+ commitSelection(nextKeys);
91
+ }, [commitSelection, disabledKeySet, getItemKey, items, selectedKeySet, selectionMode]);
92
+ var toggleSelectAll = React.useCallback(function (event) {
93
+ event.stopPropagation();
94
+ if (selectionMode !== DetailsList_types_1.SelectionMode.multiple) {
95
+ return;
96
+ }
97
+ var nextKeys = new Set(selectedKeySet);
98
+ if (isAllSelected) {
99
+ enabledItemKeys.forEach(function (itemKey) { return nextKeys.delete(itemKey); });
100
+ }
101
+ else {
102
+ enabledItemKeys.forEach(function (itemKey) { return nextKeys.add(itemKey); });
103
+ }
104
+ commitSelection(nextKeys);
105
+ }, [commitSelection, enabledItemKeys, isAllSelected, selectedKeySet, selectionMode]);
106
+ return {
107
+ getItemKey: getItemKey,
108
+ selectedKeySet: selectedKeySet,
109
+ disabledKeySet: disabledKeySet,
110
+ selectedItems: selectedItems,
111
+ isAllSelected: isAllSelected,
112
+ isPartiallySelected: isPartiallySelected,
113
+ commitSelection: commitSelection,
114
+ selectItem: selectItem,
115
+ toggleSelectAll: toggleSelectAll,
116
+ };
117
+ };
118
+ exports.useDetailsListSelection = useDetailsListSelection;
119
+ //# sourceMappingURL=useDetailsListSelection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDetailsListSelection.js","sourceRoot":"","sources":["../../../src/controls/DetailsList/useDetailsListSelection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,342 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useDetailsListStyles = exports.DETAILS_LIST_DEFAULT_HEIGHT = exports.DETAILS_LIST_COMPACT_ROW_HEIGHT = exports.DETAILS_LIST_DEFAULT_ROW_HEIGHT = exports.DETAILS_LIST_SELECTION_COLUMN_WIDTH = exports.DETAILS_LIST_HEADER_TOP_SPACING = exports.DETAILS_LIST_HEADER_HEIGHT = void 0;
4
+ var css_1 = require("@emotion/css");
5
+ var react_components_1 = require("@fluentui/react-components");
6
+ exports.DETAILS_LIST_HEADER_HEIGHT = 42;
7
+ exports.DETAILS_LIST_HEADER_TOP_SPACING = 16;
8
+ exports.DETAILS_LIST_SELECTION_COLUMN_WIDTH = 48;
9
+ exports.DETAILS_LIST_DEFAULT_ROW_HEIGHT = 42;
10
+ exports.DETAILS_LIST_COMPACT_ROW_HEIGHT = 32;
11
+ exports.DETAILS_LIST_DEFAULT_HEIGHT = 600;
12
+ var DETAILS_LIST_SCROLLBAR_SIZE = '3px';
13
+ var useDetailsListStyles = function () {
14
+ var _a;
15
+ var selectionCell = (0, css_1.css)({
16
+ display: 'flex',
17
+ alignItems: 'center',
18
+ justifyContent: 'center',
19
+ boxSizing: 'border-box',
20
+ minWidth: 0,
21
+ overflow: 'hidden',
22
+ });
23
+ var row = (0, css_1.css)((_a = {
24
+ position: 'relative',
25
+ display: 'grid',
26
+ alignItems: 'stretch',
27
+ minWidth: '100%',
28
+ boxSizing: 'border-box',
29
+ color: react_components_1.tokens.colorNeutralForeground2,
30
+ backgroundColor: react_components_1.tokens.colorNeutralBackground1,
31
+ borderBottom: "1px solid ".concat(react_components_1.tokens.colorNeutralStroke2),
32
+ cursor: 'default',
33
+ outline: 'none',
34
+ '&:hover': {
35
+ color: react_components_1.tokens.colorNeutralForeground1,
36
+ backgroundColor: react_components_1.tokens.colorNeutralBackground1Hover,
37
+ },
38
+ '&:focus-visible': {
39
+ outline: "2px solid ".concat(react_components_1.tokens.colorBrandStroke1),
40
+ outlineOffset: '-2px',
41
+ zIndex: 1,
42
+ }
43
+ },
44
+ _a["&:hover .".concat(selectionCell, ", &:focus-within .").concat(selectionCell)] = {
45
+ opacity: 1,
46
+ },
47
+ _a));
48
+ return {
49
+ root: (0, css_1.css)({
50
+ position: 'relative',
51
+ width: '100%',
52
+ minWidth: 0,
53
+ color: react_components_1.tokens.colorNeutralForeground2,
54
+ backgroundColor: react_components_1.tokens.colorNeutralBackground1,
55
+ fontFamily: react_components_1.tokens.fontFamilyBase,
56
+ fontSize: react_components_1.tokens.fontSizeBase200,
57
+ lineHeight: react_components_1.tokens.lineHeightBase200,
58
+ }),
59
+ viewport: (0, css_1.css)({
60
+ position: 'relative',
61
+ flex: '1 1 auto',
62
+ width: '100%',
63
+ minWidth: 0,
64
+ minHeight: 0,
65
+ overflow: 'auto',
66
+ overscrollBehavior: 'contain',
67
+ WebkitOverflowScrolling: 'touch',
68
+ scrollbarWidth: 'thin',
69
+ scrollbarColor: "".concat(react_components_1.tokens.colorBrandBackground, " ").concat(react_components_1.tokens.colorNeutralBackground3),
70
+ '&::-webkit-scrollbar': {
71
+ width: DETAILS_LIST_SCROLLBAR_SIZE,
72
+ height: DETAILS_LIST_SCROLLBAR_SIZE,
73
+ },
74
+ '&::-webkit-scrollbar-track': {
75
+ background: react_components_1.tokens.colorNeutralBackground3,
76
+ borderRadius: react_components_1.tokens.borderRadiusMedium,
77
+ },
78
+ '&::-webkit-scrollbar-thumb': {
79
+ background: react_components_1.tokens.colorBrandBackground,
80
+ borderRadius: react_components_1.tokens.borderRadiusMedium,
81
+ },
82
+ '&::-webkit-scrollbar-thumb:hover': {
83
+ background: react_components_1.tokens.colorBrandBackgroundHover,
84
+ },
85
+ }),
86
+ grid: (0, css_1.css)({
87
+ position: 'relative',
88
+ display: 'flex',
89
+ flexDirection: 'column',
90
+ width: '100%',
91
+ minWidth: 0,
92
+ outline: 'none',
93
+ }),
94
+ headerViewport: (0, css_1.css)({
95
+ flex: '0 0 auto',
96
+ width: '100%',
97
+ minWidth: 0,
98
+ overflow: 'hidden',
99
+ }),
100
+ headerWrapper: (0, css_1.css)({
101
+ position: 'relative',
102
+ minWidth: '100%',
103
+ boxSizing: 'border-box',
104
+ paddingTop: react_components_1.tokens.spacingVerticalL,
105
+ backgroundColor: react_components_1.tokens.colorNeutralBackground1,
106
+ borderBottom: "1px solid ".concat(react_components_1.tokens.colorNeutralStroke1),
107
+ }),
108
+ headerRow: (0, css_1.css)({
109
+ display: 'grid',
110
+ alignItems: 'stretch',
111
+ minWidth: '100%',
112
+ height: exports.DETAILS_LIST_HEADER_HEIGHT,
113
+ boxSizing: 'border-box',
114
+ }),
115
+ headerCell: (0, css_1.css)({
116
+ position: 'relative',
117
+ display: 'flex',
118
+ minWidth: 0,
119
+ height: exports.DETAILS_LIST_HEADER_HEIGHT,
120
+ boxSizing: 'border-box',
121
+ overflow: 'visible',
122
+ backgroundColor: react_components_1.tokens.colorNeutralBackground1,
123
+ }),
124
+ headerButton: (0, css_1.css)({
125
+ display: 'flex',
126
+ alignItems: 'center',
127
+ justifyContent: 'flex-start',
128
+ gap: react_components_1.tokens.spacingHorizontalXS,
129
+ width: '100%',
130
+ minWidth: 0,
131
+ height: '100%',
132
+ boxSizing: 'border-box',
133
+ padding: "0 ".concat(react_components_1.tokens.spacingHorizontalS, " 0 ").concat(react_components_1.tokens.spacingHorizontalM),
134
+ color: 'inherit',
135
+ backgroundColor: 'transparent',
136
+ border: 0,
137
+ borderRadius: 0,
138
+ font: 'inherit',
139
+ textAlign: 'left',
140
+ cursor: 'pointer',
141
+ outline: 'none',
142
+ '&:hover': {
143
+ backgroundColor: react_components_1.tokens.colorNeutralBackground1Hover,
144
+ },
145
+ '&:active': {
146
+ backgroundColor: react_components_1.tokens.colorNeutralBackground1Pressed,
147
+ },
148
+ '&:focus-visible': {
149
+ outline: "2px solid ".concat(react_components_1.tokens.colorBrandStroke1),
150
+ outlineOffset: '-2px',
151
+ },
152
+ '&:disabled': {
153
+ cursor: 'default',
154
+ },
155
+ }),
156
+ headerLabel: (0, css_1.css)({
157
+ minWidth: 0,
158
+ flexGrow: 1,
159
+ overflow: 'hidden',
160
+ textOverflow: 'ellipsis',
161
+ whiteSpace: 'nowrap',
162
+ }),
163
+ headerIcon: (0, css_1.css)({
164
+ flexShrink: 0,
165
+ color: react_components_1.tokens.colorNeutralForeground3,
166
+ }),
167
+ resizeHandle: (0, css_1.css)({
168
+ position: 'absolute',
169
+ top: 0,
170
+ right: -8,
171
+ bottom: 0,
172
+ zIndex: 2,
173
+ width: 16,
174
+ padding: 0,
175
+ backgroundColor: 'transparent',
176
+ border: 0,
177
+ // Fluent UI 9 Button applies a pointer cursor to its root. The resize
178
+ // handle must keep the native horizontal-resize affordance instead.
179
+ cursor: 'col-resize !important',
180
+ touchAction: 'none',
181
+ outline: 'none',
182
+ '&:hover, &:active, &:focus-visible': {
183
+ cursor: 'col-resize !important',
184
+ },
185
+ '&::after': {
186
+ position: 'absolute',
187
+ top: 0,
188
+ bottom: 0,
189
+ left: '50%',
190
+ width: 1,
191
+ content: '""',
192
+ backgroundColor: react_components_1.tokens.colorNeutralStroke1,
193
+ opacity: 0,
194
+ },
195
+ '&:hover::after, &:focus-visible::after': {
196
+ opacity: 1,
197
+ },
198
+ '&:focus-visible': {
199
+ outline: "2px solid ".concat(react_components_1.tokens.colorBrandStroke1),
200
+ outlineOffset: '-2px',
201
+ },
202
+ }),
203
+ row: row,
204
+ selectedRow: (0, css_1.css)({
205
+ color: react_components_1.tokens.colorNeutralForeground1,
206
+ backgroundColor: react_components_1.tokens.colorSubtleBackgroundSelected,
207
+ '&:hover': {
208
+ backgroundColor: react_components_1.tokens.colorNeutralBackground3,
209
+ },
210
+ }),
211
+ disabledRow: (0, css_1.css)({
212
+ color: react_components_1.tokens.colorNeutralForegroundDisabled,
213
+ pointerEvents: 'none',
214
+ }),
215
+ dropTargetRow: (0, css_1.css)({
216
+ outline: "2px solid ".concat(react_components_1.tokens.colorBrandStroke1),
217
+ outlineOffset: '-2px',
218
+ }),
219
+ cell: (0, css_1.css)({
220
+ display: 'flex',
221
+ alignItems: 'center',
222
+ minWidth: 0,
223
+ boxSizing: 'border-box',
224
+ overflow: 'hidden',
225
+ padding: "0 ".concat(react_components_1.tokens.spacingHorizontalS, " 0 ").concat(react_components_1.tokens.spacingHorizontalM),
226
+ whiteSpace: 'nowrap',
227
+ textOverflow: 'ellipsis',
228
+ }),
229
+ paddedCell: (0, css_1.css)({
230
+ paddingRight: react_components_1.tokens.spacingHorizontalXXL,
231
+ }),
232
+ multilineCell: (0, css_1.css)({
233
+ alignItems: 'flex-start',
234
+ paddingTop: react_components_1.tokens.spacingVerticalS,
235
+ paddingBottom: react_components_1.tokens.spacingVerticalS,
236
+ whiteSpace: 'normal',
237
+ wordBreak: 'break-word',
238
+ textOverflow: 'clip',
239
+ }),
240
+ rowHeaderCell: (0, css_1.css)({
241
+ color: react_components_1.tokens.colorNeutralForeground1,
242
+ fontSize: react_components_1.tokens.fontSizeBase300,
243
+ }),
244
+ cellText: (0, css_1.css)({
245
+ display: 'block',
246
+ minWidth: 0,
247
+ maxWidth: '100%',
248
+ overflow: 'hidden',
249
+ textOverflow: 'ellipsis',
250
+ whiteSpace: 'inherit',
251
+ }),
252
+ selectionCell: selectionCell,
253
+ selectionCellOnHover: (0, css_1.css)({
254
+ opacity: 0,
255
+ }),
256
+ groupHeader: (0, css_1.css)({
257
+ display: 'grid',
258
+ alignItems: 'stretch',
259
+ minWidth: '100%',
260
+ boxSizing: 'border-box',
261
+ backgroundColor: react_components_1.tokens.colorNeutralBackground2,
262
+ borderBottom: "1px solid ".concat(react_components_1.tokens.colorNeutralStroke2),
263
+ }),
264
+ groupButton: (0, css_1.css)({
265
+ display: 'flex',
266
+ alignItems: 'center',
267
+ justifyContent: 'flex-start',
268
+ gap: react_components_1.tokens.spacingHorizontalS,
269
+ minWidth: 0,
270
+ width: '100%',
271
+ padding: "0 ".concat(react_components_1.tokens.spacingHorizontalM),
272
+ color: react_components_1.tokens.colorNeutralForeground1,
273
+ backgroundColor: 'transparent',
274
+ border: 0,
275
+ borderRadius: 0,
276
+ font: 'inherit',
277
+ textAlign: 'left',
278
+ cursor: 'pointer',
279
+ outline: 'none',
280
+ '&:hover': {
281
+ backgroundColor: react_components_1.tokens.colorNeutralBackground2Hover,
282
+ },
283
+ '&:focus-visible': {
284
+ outline: "2px solid ".concat(react_components_1.tokens.colorBrandStroke1),
285
+ outlineOffset: '-2px',
286
+ },
287
+ }),
288
+ groupIndent: (0, css_1.css)({
289
+ flex: "0 0 ".concat(react_components_1.tokens.spacingHorizontalXXL),
290
+ width: react_components_1.tokens.spacingHorizontalXXL,
291
+ }),
292
+ body: (0, css_1.css)({
293
+ position: 'relative',
294
+ minWidth: '100%',
295
+ overflowAnchor: 'none',
296
+ }),
297
+ shimmerRow: (0, css_1.css)({
298
+ display: 'grid',
299
+ alignItems: 'stretch',
300
+ minWidth: '100%',
301
+ boxSizing: 'border-box',
302
+ backgroundColor: react_components_1.tokens.colorNeutralBackground1,
303
+ borderBottom: "1px solid ".concat(react_components_1.tokens.colorNeutralStroke2),
304
+ pointerEvents: 'none',
305
+ }),
306
+ shimmerCell: (0, css_1.css)({
307
+ display: 'flex',
308
+ alignItems: 'center',
309
+ minWidth: 0,
310
+ boxSizing: 'border-box',
311
+ overflow: 'hidden',
312
+ padding: "0 ".concat(react_components_1.tokens.spacingHorizontalS, " 0 ").concat(react_components_1.tokens.spacingHorizontalM),
313
+ }),
314
+ virtualEntry: (0, css_1.css)({
315
+ position: 'absolute',
316
+ right: 0,
317
+ left: 0,
318
+ }),
319
+ stateContainer: (0, css_1.css)({
320
+ display: 'flex',
321
+ alignItems: 'center',
322
+ justifyContent: 'center',
323
+ gap: react_components_1.tokens.spacingHorizontalS,
324
+ minHeight: 160,
325
+ padding: react_components_1.tokens.spacingVerticalXXL,
326
+ boxSizing: 'border-box',
327
+ }),
328
+ loadingMore: (0, css_1.css)({
329
+ position: 'sticky',
330
+ left: 0,
331
+ display: 'flex',
332
+ alignItems: 'center',
333
+ justifyContent: 'center',
334
+ gap: react_components_1.tokens.spacingHorizontalS,
335
+ minHeight: exports.DETAILS_LIST_COMPACT_ROW_HEIGHT,
336
+ color: react_components_1.tokens.colorNeutralForeground2,
337
+ backgroundColor: react_components_1.tokens.colorNeutralBackground1,
338
+ }),
339
+ };
340
+ };
341
+ exports.useDetailsListStyles = useDetailsListStyles;
342
+ //# sourceMappingURL=useDetailsListStyles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDetailsListStyles.js","sourceRoot":"","sources":["../../../src/controls/DetailsList/useDetailsListStyles.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useDetailsListViewport = void 0;
4
+ var tslib_1 = require("tslib");
5
+ /* eslint-disable no-void */
6
+ var React = tslib_1.__importStar(require("react"));
7
+ var resize_observer_1 = require("@juggle/resize-observer");
8
+ var useDetailsListViewport = function (_a) {
9
+ var itemCount = _a.itemCount, enableInfiniteScroll = _a.enableInfiniteScroll, infiniteScrollThreshold = _a.infiniteScrollThreshold, onLoadMore = _a.onLoadMore, hasNextPage = _a.hasNextPage, isLoadingMore = _a.isLoadingMore;
10
+ var viewportRef = React.useRef(null);
11
+ var loadTriggeredForLengthRef = React.useRef(-1);
12
+ var infiniteScrollArmedRef = React.useRef(true);
13
+ var _b = React.useState(0), viewportWidth = _b[0], setViewportWidth = _b[1];
14
+ var _c = React.useState(0), viewportHeight = _c[0], setViewportHeight = _c[1];
15
+ var _d = React.useState(0), scrollTop = _d[0], setScrollTop = _d[1];
16
+ var _e = React.useState(false), isLoadingMoreInternally = _e[0], setIsLoadingMoreInternally = _e[1];
17
+ React.useEffect(function () {
18
+ var viewport = viewportRef.current;
19
+ if (!viewport) {
20
+ return undefined;
21
+ }
22
+ var updateViewportSize = function () {
23
+ setViewportWidth(viewport.clientWidth);
24
+ setViewportHeight(viewport.clientHeight);
25
+ };
26
+ var resizeObserver = new resize_observer_1.ResizeObserver(updateViewportSize);
27
+ resizeObserver.observe(viewport);
28
+ updateViewportSize();
29
+ return function () { return resizeObserver.disconnect(); };
30
+ }, []);
31
+ React.useEffect(function () {
32
+ if (itemCount !== loadTriggeredForLengthRef.current) {
33
+ setIsLoadingMoreInternally(false);
34
+ }
35
+ }, [itemCount]);
36
+ var triggerLoadMore = React.useCallback(function () {
37
+ if (!enableInfiniteScroll ||
38
+ !hasNextPage ||
39
+ !onLoadMore ||
40
+ isLoadingMore ||
41
+ isLoadingMoreInternally ||
42
+ loadTriggeredForLengthRef.current === itemCount) {
43
+ return;
44
+ }
45
+ loadTriggeredForLengthRef.current = itemCount;
46
+ infiniteScrollArmedRef.current = false;
47
+ setIsLoadingMoreInternally(true);
48
+ void Promise.resolve(onLoadMore())
49
+ .catch(function () {
50
+ loadTriggeredForLengthRef.current = -1;
51
+ })
52
+ .finally(function () { return setIsLoadingMoreInternally(false); });
53
+ }, [
54
+ enableInfiniteScroll,
55
+ hasNextPage,
56
+ isLoadingMore,
57
+ isLoadingMoreInternally,
58
+ itemCount,
59
+ onLoadMore,
60
+ ]);
61
+ var handleScroll = React.useCallback(function (event) {
62
+ var viewport = event.currentTarget;
63
+ setScrollTop(viewport.scrollTop);
64
+ var remainingScroll = viewport.scrollHeight - viewport.clientHeight - viewport.scrollTop;
65
+ if (remainingScroll <= infiniteScrollThreshold && infiniteScrollArmedRef.current) {
66
+ triggerLoadMore();
67
+ }
68
+ }, [infiniteScrollThreshold, triggerLoadMore]);
69
+ var handleScrollIntent = React.useCallback(function (viewport) {
70
+ if (isLoadingMore || isLoadingMoreInternally) {
71
+ return;
72
+ }
73
+ infiniteScrollArmedRef.current = true;
74
+ var remainingScroll = viewport.scrollHeight - viewport.clientHeight - viewport.scrollTop;
75
+ if (remainingScroll <= infiniteScrollThreshold) {
76
+ triggerLoadMore();
77
+ }
78
+ }, [infiniteScrollThreshold, isLoadingMore, isLoadingMoreInternally, triggerLoadMore]);
79
+ return {
80
+ viewportRef: viewportRef,
81
+ viewportWidth: viewportWidth,
82
+ viewportHeight: viewportHeight,
83
+ scrollTop: scrollTop,
84
+ setScrollTop: setScrollTop,
85
+ isLoadingMoreInternally: isLoadingMoreInternally,
86
+ handleScroll: handleScroll,
87
+ handleScrollIntent: handleScrollIntent,
88
+ };
89
+ };
90
+ exports.useDetailsListViewport = useDetailsListViewport;
91
+ //# sourceMappingURL=useDetailsListViewport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDetailsListViewport.js","sourceRoot":"","sources":["../../../src/controls/DetailsList/useDetailsListViewport.ts"],"names":[],"mappings":";;;;AAAA,4BAA4B;AAC5B,mDAA+B;AAC/B,2DAAyD;AAwBlD,IAAM,sBAAsB,GAAG,UAAI,EAOP;QANjC,SAAS,eAAA,EACT,oBAAoB,0BAAA,EACpB,uBAAuB,6BAAA,EACvB,UAAU,gBAAA,EACV,WAAW,iBAAA,EACX,aAAa,mBAAA;IAEb,IAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IACvD,IAAM,yBAAyB,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,IAAM,sBAAsB,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAA,KAAoC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAApD,aAAa,QAAA,EAAE,gBAAgB,QAAqB,CAAC;IACtD,IAAA,KAAsC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAtD,cAAc,QAAA,EAAE,iBAAiB,QAAqB,CAAC;IACxD,IAAA,KAA4B,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAA5C,SAAS,QAAA,EAAE,YAAY,QAAqB,CAAC;IAC9C,IAAA,KAAwD,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAA5E,uBAAuB,QAAA,EAAE,0BAA0B,QAAyB,CAAC;IAEpF,KAAK,CAAC,SAAS,CAAC;QACd,IAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC;QACrC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAM,kBAAkB,GAAG;YACzB,gBAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACvC,iBAAiB,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAC3C,CAAC,CAAC;QACF,IAAM,cAAc,GAAG,IAAI,gCAAc,CAAC,kBAAkB,CAAC,CAAC;QAC9D,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjC,kBAAkB,EAAE,CAAC;QAErB,OAAO,cAAM,OAAA,cAAc,CAAC,UAAU,EAAE,EAA3B,CAA2B,CAAC;IAC3C,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,KAAK,CAAC,SAAS,CAAC;QACd,IAAI,SAAS,KAAK,yBAAyB,CAAC,OAAO,EAAE,CAAC;YACpD,0BAA0B,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,IAAM,eAAe,GAAG,KAAK,CAAC,WAAW,CAAC;QACxC,IACE,CAAC,oBAAoB;YACrB,CAAC,WAAW;YACZ,CAAC,UAAU;YACX,aAAa;YACb,uBAAuB;YACvB,yBAAyB,CAAC,OAAO,KAAK,SAAS,EAC/C,CAAC;YACD,OAAO;QACT,CAAC;QAED,yBAAyB,CAAC,OAAO,GAAG,SAAS,CAAC;QAC9C,sBAAsB,CAAC,OAAO,GAAG,KAAK,CAAC;QACvC,0BAA0B,CAAC,IAAI,CAAC,CAAC;QACjC,KAAK,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;aAC/B,KAAK,CAAC;YACL,yBAAyB,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;QACzC,CAAC,CAAC;aACD,OAAO,CAAC,cAAM,OAAA,0BAA0B,CAAC,KAAK,CAAC,EAAjC,CAAiC,CAAC,CAAC;IACtD,CAAC,EAAE;QACD,oBAAoB;QACpB,WAAW;QACX,aAAa;QACb,uBAAuB;QACvB,SAAS;QACT,UAAU;KACX,CAAC,CAAC;IAEH,IAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CACpC,UAAC,KAAoC;QACnC,IAAM,QAAQ,GAAG,KAAK,CAAC,aAAa,CAAC;QACrC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACjC,IAAM,eAAe,GAAG,QAAQ,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,GAAG,QAAQ,CAAC,SAAS,CAAC;QAC3F,IAAI,eAAe,IAAI,uBAAuB,IAAI,sBAAsB,CAAC,OAAO,EAAE,CAAC;YACjF,eAAe,EAAE,CAAC;QACpB,CAAC;IACH,CAAC,EACD,CAAC,uBAAuB,EAAE,eAAe,CAAC,CAC3C,CAAC;IAEF,IAAM,kBAAkB,GAAG,KAAK,CAAC,WAAW,CAC1C,UAAC,QAAwB;QACvB,IAAI,aAAa,IAAI,uBAAuB,EAAE,CAAC;YAC7C,OAAO;QACT,CAAC;QACD,sBAAsB,CAAC,OAAO,GAAG,IAAI,CAAC;QACtC,IAAM,eAAe,GAAG,QAAQ,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,GAAG,QAAQ,CAAC,SAAS,CAAC;QAC3F,IAAI,eAAe,IAAI,uBAAuB,EAAE,CAAC;YAC/C,eAAe,EAAE,CAAC;QACpB,CAAC;IACH,CAAC,EACD,CAAC,uBAAuB,EAAE,aAAa,EAAE,uBAAuB,EAAE,eAAe,CAAC,CACnF,CAAC;IAEF,OAAO;QACL,WAAW,aAAA;QACX,aAAa,eAAA;QACb,cAAc,gBAAA;QACd,SAAS,WAAA;QACT,YAAY,cAAA;QACZ,uBAAuB,yBAAA;QACvB,YAAY,cAAA;QACZ,kBAAkB,oBAAA;KACnB,CAAC;AACJ,CAAC,CAAC;AAxGW,QAAA,sBAAsB,0BAwGjC"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./FileTypeIcon"), exports);
5
5
  tslib_1.__exportStar(require("./ListView"), exports);
6
+ tslib_1.__exportStar(require("./DetailsList"), exports);
6
7
  tslib_1.__exportStar(require("./Placeholder"), exports);
7
8
  tslib_1.__exportStar(require("./SiteBreadcrumb"), exports);
8
9
  tslib_1.__exportStar(require("./TaxonomyPicker"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,yDAA+B;AAC/B,qDAA2B;AAC3B,wDAA8B;AAC9B,2DAAiC;AACjC,2DAAiC;AACjC,yDAA+B;AAC/B,uDAA6B;AAC7B,2DAAiC;AACjC,gEAAsC;AACtC,yDAA+B;AAC/B,qDAA2B;AAC3B,mEAAyC;AACzC,2DAAiC;AACjC,uDAA6B;AAC7B,yDAA+B;AAC/B,2DAAiC;AACjC,yDAA+B;AAC/B,uDAA6B;AAC7B,uDAA6B;AAC7B,8DAAoC;AAEpC,yDAA+B;AAC/B,wDAA8B;AAC9B,mDAAyB;AACzB,sDAA4B;AAC5B,wDAA8B;AAC9B,wDAA8B;AAC9B,qEAA2C;AAC3C,kEAAwC;AACxC,8DAAoC;AACpC,kEAAwC;AACxC,gEAAsC;AACtC,8DAAoC;AACpC,kEAAwC;AACxC,8DAAoC;AACpC,+DAAqC;AACrC,6DAAmC;AACnC,8DAAoC;AACpC,sDAA4B;AAC5B,2DAAiC;AACjC,wDAA8B;AAC9B,qDAA2B;AAC3B,iEAAuC;AACvC,wDAA8B;AAC9B,wDAA8B;AAC9B,yDAA+B;AAC/B,wDAA8B;AAC9B,wDAA8B;AAC9B,qDAA2B;AAC3B,wDAA8B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,yDAA+B;AAC/B,qDAA2B;AAC3B,wDAA8B;AAC9B,wDAA8B;AAC9B,2DAAiC;AACjC,2DAAiC;AACjC,yDAA+B;AAC/B,uDAA6B;AAC7B,2DAAiC;AACjC,gEAAsC;AACtC,yDAA+B;AAC/B,qDAA2B;AAC3B,mEAAyC;AACzC,2DAAiC;AACjC,uDAA6B;AAC7B,yDAA+B;AAC/B,2DAAiC;AACjC,yDAA+B;AAC/B,uDAA6B;AAC7B,uDAA6B;AAC7B,8DAAoC;AAEpC,yDAA+B;AAC/B,wDAA8B;AAC9B,mDAAyB;AACzB,sDAA4B;AAC5B,wDAA8B;AAC9B,wDAA8B;AAC9B,qEAA2C;AAC3C,kEAAwC;AACxC,8DAAoC;AACpC,kEAAwC;AACxC,gEAAsC;AACtC,8DAAoC;AACpC,kEAAwC;AACxC,8DAAoC;AACpC,+DAAqC;AACrC,6DAAmC;AACnC,8DAAoC;AACpC,sDAA4B;AAC5B,2DAAiC;AACjC,wDAA8B;AAC9B,qDAA2B;AAC3B,iEAAuC;AACvC,wDAA8B;AAC9B,wDAA8B;AAC9B,yDAA+B;AAC/B,wDAA8B;AAC9B,wDAA8B;AAC9B,qDAA2B;AAC3B,wDAA8B"}
@@ -108,6 +108,15 @@ define([], function () {
108
108
  "mapsSearchButtonText": "Търсене",
109
109
  "mapsTitlePrefix": "Карта на",
110
110
  "ListViewFilterLabel": "Филтриране на списъка",
111
+ "DetailsListAriaLabel": "Details list",
112
+ "DetailsListHeaderAriaLabel": "List header",
113
+ "DetailsListSelectAllRowsAriaLabel": "Select all rows",
114
+ "DetailsListSelectionAriaLabel": "Selection",
115
+ "DetailsListSelectRowAriaLabel": "Select row {0}",
116
+ "DetailsListResizeColumnAriaLabel": "Resize {0} column",
117
+ "DetailsListLoading": "Loading",
118
+ "DetailsListLoadingMore": "Loading more items",
119
+ "DetailsListNoItems": "No items to display",
111
120
  "HeaderNormalText": "Нормален текст",
112
121
  "HeaderH2": "Функция 2",
113
122
  "HeaderH3": "Функция 3",