@pnp/spfx-controls-react 3.24.0-beta.2159446 → 3.24.0-beta.2180374

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 (106) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/lib/GroupPicker.d.ts +2 -0
  3. package/lib/GroupPicker.d.ts.map +1 -0
  4. package/lib/GroupPicker.js +2 -0
  5. package/lib/GroupPicker.js.map +1 -0
  6. package/lib/common/model/IGroup.d.ts +12 -0
  7. package/lib/common/model/IGroup.d.ts.map +1 -0
  8. package/lib/common/model/IGroup.js +2 -0
  9. package/lib/common/model/IGroup.js.map +1 -0
  10. package/lib/common/telemetry/version.js +1 -1
  11. package/lib/controls/groupPicker/GroupPicker.d.ts +4 -0
  12. package/lib/controls/groupPicker/GroupPicker.d.ts.map +1 -0
  13. package/lib/controls/groupPicker/GroupPicker.js +205 -0
  14. package/lib/controls/groupPicker/GroupPicker.js.map +1 -0
  15. package/lib/controls/groupPicker/GroupPickerStyles.d.ts +21 -0
  16. package/lib/controls/groupPicker/GroupPickerStyles.d.ts.map +1 -0
  17. package/lib/controls/groupPicker/GroupPickerStyles.js +143 -0
  18. package/lib/controls/groupPicker/GroupPickerStyles.js.map +1 -0
  19. package/lib/controls/groupPicker/IGroupPickerProps.d.ts +18 -0
  20. package/lib/controls/groupPicker/IGroupPickerProps.d.ts.map +1 -0
  21. package/lib/controls/groupPicker/IGroupPickerProps.js +2 -0
  22. package/lib/controls/groupPicker/IGroupPickerProps.js.map +1 -0
  23. package/lib/controls/groupPicker/IGroupPickerState.d.ts +5 -0
  24. package/lib/controls/groupPicker/IGroupPickerState.d.ts.map +1 -0
  25. package/lib/controls/groupPicker/IGroupPickerState.js +2 -0
  26. package/lib/controls/groupPicker/IGroupPickerState.js.map +1 -0
  27. package/lib/controls/groupPicker/index.d.ts +4 -0
  28. package/lib/controls/groupPicker/index.d.ts.map +1 -0
  29. package/lib/controls/groupPicker/index.js +4 -0
  30. package/lib/controls/groupPicker/index.js.map +1 -0
  31. package/lib/hooks/index.d.ts +1 -0
  32. package/lib/hooks/index.d.ts.map +1 -1
  33. package/lib/hooks/index.js +1 -0
  34. package/lib/hooks/index.js.map +1 -1
  35. package/lib/hooks/useGroups.d.ts +7 -0
  36. package/lib/hooks/useGroups.d.ts.map +1 -0
  37. package/lib/hooks/useGroups.js +90 -0
  38. package/lib/hooks/useGroups.js.map +1 -0
  39. package/lib/index.d.ts +1 -0
  40. package/lib/index.d.ts.map +1 -1
  41. package/lib/index.js +1 -0
  42. package/lib/index.js.map +1 -1
  43. package/lib/loc/bg-bg.js +3 -0
  44. package/lib/loc/bg-bg.js.map +1 -1
  45. package/lib/loc/ca-es.js +3 -0
  46. package/lib/loc/ca-es.js.map +1 -1
  47. package/lib/loc/cs-cz.js +3 -0
  48. package/lib/loc/cs-cz.js.map +1 -1
  49. package/lib/loc/da-dk.js +3 -0
  50. package/lib/loc/da-dk.js.map +1 -1
  51. package/lib/loc/de-de.js +3 -0
  52. package/lib/loc/de-de.js.map +1 -1
  53. package/lib/loc/el-gr.js +3 -0
  54. package/lib/loc/el-gr.js.map +1 -1
  55. package/lib/loc/en-us.js +3 -0
  56. package/lib/loc/en-us.js.map +1 -1
  57. package/lib/loc/es-es.js +3 -0
  58. package/lib/loc/es-es.js.map +1 -1
  59. package/lib/loc/et-ee.js +3 -0
  60. package/lib/loc/et-ee.js.map +1 -1
  61. package/lib/loc/eu-es.js +3 -0
  62. package/lib/loc/eu-es.js.map +1 -1
  63. package/lib/loc/fi-fi.js +3 -0
  64. package/lib/loc/fi-fi.js.map +1 -1
  65. package/lib/loc/fr-ca.js +3 -0
  66. package/lib/loc/fr-ca.js.map +1 -1
  67. package/lib/loc/fr-fr.js +3 -0
  68. package/lib/loc/fr-fr.js.map +1 -1
  69. package/lib/loc/it-it.js +3 -0
  70. package/lib/loc/it-it.js.map +1 -1
  71. package/lib/loc/ja-jp.js +3 -0
  72. package/lib/loc/ja-jp.js.map +1 -1
  73. package/lib/loc/lt-lt.js +3 -0
  74. package/lib/loc/lt-lt.js.map +1 -1
  75. package/lib/loc/lv-lv.js +3 -0
  76. package/lib/loc/lv-lv.js.map +1 -1
  77. package/lib/loc/nb-no.js +3 -0
  78. package/lib/loc/nb-no.js.map +1 -1
  79. package/lib/loc/nl-nl.js +3 -0
  80. package/lib/loc/nl-nl.js.map +1 -1
  81. package/lib/loc/pl-pl.js +3 -0
  82. package/lib/loc/pl-pl.js.map +1 -1
  83. package/lib/loc/pt-br.js +3 -0
  84. package/lib/loc/pt-br.js.map +1 -1
  85. package/lib/loc/pt-pt.js +3 -0
  86. package/lib/loc/pt-pt.js.map +1 -1
  87. package/lib/loc/ro-ro.js +3 -0
  88. package/lib/loc/ro-ro.js.map +1 -1
  89. package/lib/loc/ru-ru.js +3 -0
  90. package/lib/loc/ru-ru.js.map +1 -1
  91. package/lib/loc/sk-sk.js +3 -0
  92. package/lib/loc/sk-sk.js.map +1 -1
  93. package/lib/loc/sr-latn-rs.js +3 -0
  94. package/lib/loc/sr-latn-rs.js.map +1 -1
  95. package/lib/loc/sv-se.js +3 -0
  96. package/lib/loc/sv-se.js.map +1 -1
  97. package/lib/loc/tr-tr.js +3 -0
  98. package/lib/loc/tr-tr.js.map +1 -1
  99. package/lib/loc/vi-vn.js +3 -0
  100. package/lib/loc/vi-vn.js.map +1 -1
  101. package/lib/loc/zh-cn.js +3 -0
  102. package/lib/loc/zh-cn.js.map +1 -1
  103. package/lib/loc/zh-tw.js +3 -0
  104. package/lib/loc/zh-tw.js.map +1 -1
  105. package/package.json +1 -1
  106. package/release/manifests/45165954-80f9-44c1-9967-cd38ae92a33b.manifest.json +1 -0
package/CHANGELOG.md CHANGED
@@ -1,4 +1,5 @@
1
1
  # Releases
2
+
2
3
 
3
4
  ## 3.24.0
4
5
 
@@ -6,10 +7,22 @@
6
7
 
7
8
  - `PeoplePicker`: Improving documentation page about external users search [#323](https://github.com/pnp/sp-dev-fx-controls-react/issues/323)
8
9
  - `FolderExplorer`: Updated Folder explorer control documentation to correct a typo. [#2072](https://github.com/pnp/sp-dev-fx-controls-react/pull/2072)
10
+ - `ListItemComments`: Multiline comment doesn't display correctly in ListItemComments control due to missing line break [2078](https://github.com/pnp/sp-dev-fx-controls-react/issues/2078)
11
+ - `ImagePicker`: Imagepicker strings fix [2077](https://github.com/pnp/sp-dev-fx-controls-react/pull/2077)
12
+ - `TreeView`: TreeView Item - pass through imageProps of iconProps to TreeItem [#2074](https://github.com/pnp/sp-dev-fx-controls-react/issues/2074)
13
+
14
+ ### Enhancements
15
+
16
+ - `ListItemAttachments`: Add render options for ListItemAttachments [2081](https://github.com/pnp/sp-dev-fx-controls-react/pull/2081)
17
+
18
+ ### New Control(s)
19
+
20
+ - `GroupPicker`: New GroupPicker Control - select one or multiple M365 Groups [2085](https://github.com/pnp/sp-dev-fx-controls-react/pull/2085)
9
21
 
10
22
  ### Contributors
11
23
 
12
24
  Special thanks to our contributors (in alphabetical order): [Antanina Druzhkina](https://github.com/Ateina), [Michaël Maillot](https://github.com/michaelmaillot), [Nishkalank Bezawada](https://github.com/NishkalankBezawada).
25
+ Special thanks to our contributors (in alphabetical order): [Antanina Druzhkina](https://github.com/Ateina),[wuxiaojun514](https://github.com/wuxiaojun514),[Paul Schaeflein](https://github.com/pschaeflein).
13
26
 
14
27
  ## 3.23.0
15
28
 
@@ -0,0 +1,2 @@
1
+ export * from "./controls/groupPicker";
2
+ //# sourceMappingURL=GroupPicker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupPicker.d.ts","sourceRoot":"","sources":["../src/GroupPicker.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./controls/groupPicker";
2
+ //# sourceMappingURL=GroupPicker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupPicker.js","sourceRoot":"","sources":["../src/GroupPicker.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC"}
@@ -0,0 +1,12 @@
1
+ export interface IGroup {
2
+ id: string;
3
+ displayName: string;
4
+ description?: string;
5
+ groupTypes?: string[];
6
+ mailEnabled?: boolean;
7
+ mail?: string;
8
+ securityEnabled?: boolean;
9
+ visibility?: string;
10
+ resourceProvisioningOptions?: string[];
11
+ }
12
+ //# sourceMappingURL=IGroup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IGroup.d.ts","sourceRoot":"","sources":["../../../src/common/model/IGroup.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2BAA2B,CAAC,EAAE,MAAM,EAAE,CAAC;CACxC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IGroup.js","sourceRoot":"","sources":["../../../src/common/model/IGroup.ts"],"names":[],"mappings":""}
@@ -1,2 +1,2 @@
1
- export var version = "3.24.0-beta.2159446";
1
+ export var version = "3.24.0-beta.2180374";
2
2
  //# sourceMappingURL=version.js.map
@@ -0,0 +1,4 @@
1
+ import * as React from "react";
2
+ import { IGroupPickerProps } from "./IGroupPickerProps";
3
+ export declare const GroupPicker: React.FunctionComponent<IGroupPickerProps>;
4
+ //# sourceMappingURL=GroupPicker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupPicker.d.ts","sourceRoot":"","sources":["../../../src/controls/groupPicker/GroupPicker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAY/B,OAAO,EAAE,iBAAiB,EAAmB,MAAM,qBAAqB,CAAC;AAmDzE,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAgMlE,CAAC"}
@@ -0,0 +1,205 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
13
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
14
+ return new (P || (P = Promise))(function (resolve, reject) {
15
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
16
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
17
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
18
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
19
+ });
20
+ };
21
+ var __generator = (this && this.__generator) || function (thisArg, body) {
22
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
23
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
24
+ function verb(n) { return function (v) { return step([n, v]); }; }
25
+ function step(op) {
26
+ if (f) throw new TypeError("Generator is already executing.");
27
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
28
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
29
+ if (y = 0, t) op = [op[0] & 2, t.value];
30
+ switch (op[0]) {
31
+ case 0: case 1: t = op; break;
32
+ case 4: _.label++; return { value: op[1], done: false };
33
+ case 5: _.label++; y = op[1]; op = [0]; continue;
34
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
35
+ default:
36
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
37
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
38
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
39
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
40
+ if (t[2]) _.ops.pop();
41
+ _.trys.pop(); continue;
42
+ }
43
+ op = body.call(thisArg, _);
44
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
45
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
+ }
47
+ };
48
+ import * as React from "react";
49
+ import { TagPicker, } from "@fluentui/react/lib/Pickers";
50
+ import { useGroups } from "../../hooks";
51
+ import { useGroupPickerStyles } from "./GroupPickerStyles";
52
+ import { IconButton } from "@fluentui/react/lib/Button";
53
+ import { Text } from "@fluentui/react/lib/Text";
54
+ import { Stack } from "@fluentui/react/lib/Stack";
55
+ import { Label } from "@fluentui/react/lib/Label";
56
+ import { FontIcon } from "@fluentui/react/lib/Icon";
57
+ import { Customizer } from "@fluentui/react/lib/Utilities";
58
+ import pullAllBy from "lodash/pullAllBy";
59
+ import find from "lodash/find";
60
+ import strings from "ControlStrings";
61
+ var pickerSuggestionsProps = {
62
+ suggestionsHeaderText: strings.GroupPickerSuggestionsHeaderText,
63
+ noResultsFoundText: strings.genericNoResultsFoundText,
64
+ };
65
+ var initialState = {
66
+ savedSelectedGroups: [],
67
+ };
68
+ var getTextFromItem = function (item) { return item.name; };
69
+ var matchGroupType = function (group, groupType) {
70
+ var _a;
71
+ if (!groupType || groupType === "All")
72
+ return true;
73
+ var isUnified = (_a = group.groupTypes) === null || _a === void 0 ? void 0 : _a.includes("Unified");
74
+ var isSecurity = !!group.securityEnabled && !isUnified;
75
+ if (groupType === "M365")
76
+ return isUnified;
77
+ if (groupType === "Security")
78
+ return isSecurity;
79
+ return true;
80
+ };
81
+ var reducer = function (state, action // eslint-disable-line @typescript-eslint/no-explicit-any
82
+ ) {
83
+ switch (action.type) {
84
+ case "UPDATE_SELECTEDITEM":
85
+ return __assign(__assign({}, state), { savedSelectedGroups: action.payload });
86
+ default:
87
+ return state;
88
+ }
89
+ };
90
+ export var GroupPicker = function (props) {
91
+ var _a;
92
+ var _b = React.useReducer(reducer, initialState), state = _b[0], dispatch = _b[1];
93
+ var picker = React.useRef(null);
94
+ var serviceScope = props.appcontext.serviceScope;
95
+ var getGroups = useGroups(serviceScope).getGroups;
96
+ var onSelectedGroups = props.onSelectedGroups, selectedGroups = props.selectedGroups, itemLimit = props.itemLimit, multiSelect = props.multiSelect, label = props.label, styles = props.styles, themeVariant = props.themeVariant, groupType = props.groupType;
97
+ var _c = useGroupPickerStyles(themeVariant), pickerStylesMulti = _c.pickerStylesMulti, pickerStylesSingle = _c.pickerStylesSingle, renderItemStylesMulti = _c.renderItemStylesMulti, renderItemStylesSingle = _c.renderItemStylesSingle, renderIconButtonRemoveStyles = _c.renderIconButtonRemoveStyles, componentClasses = _c.componentClasses;
98
+ var groupTypeById = React.useRef({});
99
+ var getGroupTypeIcon = React.useCallback(function (groupId) {
100
+ if (!groupId)
101
+ return null;
102
+ var groupType = groupTypeById.current[groupId.toString()];
103
+ if (!groupType)
104
+ return null;
105
+ if (groupType === "m365") {
106
+ return (React.createElement(FontIcon, { iconName: "OfficeLogo", className: componentClasses.groupTypeIconM365, title: strings.GroupPickerGroupTypeM365Label, "aria-label": strings.GroupPickerGroupTypeM365Label }));
107
+ }
108
+ return (React.createElement(FontIcon, { iconName: "LockSolid", className: componentClasses.groupTypeIconSecurity, title: strings.GroupPickerGroupTypeSecurityLabel, "aria-label": strings.GroupPickerGroupTypeSecurityLabel }));
109
+ }, [componentClasses.groupTypeIconM365, componentClasses.groupTypeIconSecurity]);
110
+ var useFilterSuggestedGroups = React.useCallback(function (filterText, groupsList) { return __awaiter(void 0, void 0, void 0, function () {
111
+ var tags, groups, _i, groups_1, group, isUnified, groupTypeKey, checkExists, error_1;
112
+ var _a;
113
+ return __generator(this, function (_b) {
114
+ switch (_b.label) {
115
+ case 0:
116
+ tags = [];
117
+ _b.label = 1;
118
+ case 1:
119
+ _b.trys.push([1, 3, , 4]);
120
+ return [4 /*yield*/, getGroups(filterText)];
121
+ case 2:
122
+ groups = _b.sent();
123
+ if (groups === null || groups === void 0 ? void 0 : groups.length) {
124
+ for (_i = 0, groups_1 = groups; _i < groups_1.length; _i++) {
125
+ group = groups_1[_i];
126
+ if (!matchGroupType(group, groupType))
127
+ continue;
128
+ isUnified = (_a = group.groupTypes) === null || _a === void 0 ? void 0 : _a.includes("Unified");
129
+ groupTypeKey = isUnified
130
+ ? "m365"
131
+ : group.securityEnabled
132
+ ? "security"
133
+ : undefined;
134
+ if (groupTypeKey) {
135
+ groupTypeById.current[group.id] = groupTypeKey;
136
+ }
137
+ checkExists = find(groupsList, { key: group.id });
138
+ if (checkExists)
139
+ continue;
140
+ tags.push({ key: group.id, name: group.displayName });
141
+ }
142
+ }
143
+ return [2 /*return*/, tags];
144
+ case 3:
145
+ error_1 = _b.sent();
146
+ console.log(error_1);
147
+ return [2 /*return*/, tags];
148
+ case 4: return [2 /*return*/];
149
+ }
150
+ });
151
+ }); }, [groupType, getGroups]);
152
+ React.useEffect(function () {
153
+ dispatch({
154
+ type: "UPDATE_SELECTEDITEM",
155
+ payload: selectedGroups,
156
+ });
157
+ }, [props]);
158
+ var _onRenderItem = React.useCallback(function (itemProps) {
159
+ var savedSelectedGroups = state.savedSelectedGroups;
160
+ if (itemProps.item) {
161
+ return (React.createElement(Stack, { horizontal: true, horizontalAlign: "start", verticalAlign: "center", tokens: { childrenGap: 7 }, styles: (multiSelect !== null && multiSelect !== void 0 ? multiSelect : true) && (itemLimit && itemLimit > 1)
162
+ ? renderItemStylesMulti
163
+ : renderItemStylesSingle },
164
+ React.createElement(FontIcon, { iconName: "Group" }),
165
+ React.createElement(Text, { variant: "medium" }, itemProps.item.name),
166
+ getGroupTypeIcon(itemProps.item.key),
167
+ React.createElement(IconButton, { styles: renderIconButtonRemoveStyles, iconProps: { iconName: "Cancel" }, title: strings.TeamPickerButtonRemoveTitle, onClick: function () {
168
+ var _newSelectedGroups = pullAllBy(savedSelectedGroups, [
169
+ itemProps.item,
170
+ ]);
171
+ dispatch({
172
+ type: "UPDATE_SELECTEDITEM",
173
+ payload: _newSelectedGroups,
174
+ });
175
+ onSelectedGroups(_newSelectedGroups);
176
+ } })));
177
+ }
178
+ return null;
179
+ }, [
180
+ state.savedSelectedGroups,
181
+ renderItemStylesMulti,
182
+ renderItemStylesSingle,
183
+ renderIconButtonRemoveStyles,
184
+ itemLimit,
185
+ onSelectedGroups,
186
+ ]);
187
+ var _onRenderSuggestionsItem = React.useCallback(function (propsTag, _itemProps) {
188
+ return (React.createElement(Stack, { horizontal: true, horizontalAlign: "start", verticalAlign: "center", tokens: { childrenGap: 5, padding: 10 } },
189
+ React.createElement(FontIcon, { iconName: "Group" }),
190
+ React.createElement(Text, { variant: "smallPlus" }, propsTag.name),
191
+ getGroupTypeIcon(propsTag.key)));
192
+ }, []);
193
+ return (React.createElement(Customizer, { settings: { theme: props.themeVariant } },
194
+ React.createElement("div", { style: { width: "100%" } },
195
+ label && React.createElement(Label, null, label),
196
+ React.createElement(TagPicker, { styles: styles !== null && styles !== void 0 ? styles : ((multiSelect !== null && multiSelect !== void 0 ? multiSelect : true) && (itemLimit && itemLimit > 1)
197
+ ? pickerStylesMulti
198
+ : pickerStylesSingle), selectedItems: state.savedSelectedGroups, onRenderItem: _onRenderItem, onRenderSuggestionsItem: _onRenderSuggestionsItem, onResolveSuggestions: useFilterSuggestedGroups, getTextFromItem: getTextFromItem, pickerSuggestionsProps: pickerSuggestionsProps, onEmptyResolveSuggestions: function (selectGroups) {
199
+ return useFilterSuggestedGroups("", selectGroups);
200
+ }, itemLimit: (multiSelect !== null && multiSelect !== void 0 ? multiSelect : true) ? ((_a = props.itemLimit) !== null && _a !== void 0 ? _a : undefined) : 1, onChange: function (items) {
201
+ dispatch({ type: "UPDATE_SELECTEDITEM", payload: items });
202
+ props.onSelectedGroups(items);
203
+ }, componentRef: picker }))));
204
+ };
205
+ //# sourceMappingURL=GroupPicker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupPicker.js","sourceRoot":"","sources":["../../../src/controls/groupPicker/GroupPicker.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { IButtonStyles } from "@fluentui/react/lib/Button";
2
+ import { IReadonlyTheme } from "@microsoft/sp-component-base";
3
+ import { IBasePickerStyles } from "@fluentui/react/lib/Pickers";
4
+ export declare const useGroupPickerStyles: (themeVariant: IReadonlyTheme | undefined) => {
5
+ componentClasses: import("@fluentui/react/lib/Styling").IProcessedStyleSet<{
6
+ iconStyles: {
7
+ paddingLeft: number;
8
+ fontWeight: number;
9
+ color: string;
10
+ };
11
+ groupTypeIconM365: string;
12
+ groupTypeIconSecurity: string;
13
+ separator: string;
14
+ }>;
15
+ pickerStylesMulti: Partial<IBasePickerStyles>;
16
+ pickerStylesSingle: Partial<IBasePickerStyles>;
17
+ renderItemStylesSingle: Partial<import("@fluentui/foundation-legacy").IComponentStyles<import("@fluentui/react/lib/Stack").IStackSlots>>;
18
+ renderItemStylesMulti: Partial<import("@fluentui/foundation-legacy").IComponentStyles<import("@fluentui/react/lib/Stack").IStackSlots>>;
19
+ renderIconButtonRemoveStyles: Partial<IButtonStyles>;
20
+ };
21
+ //# sourceMappingURL=GroupPickerStyles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupPickerStyles.d.ts","sourceRoot":"","sources":["../../../src/controls/groupPicker/GroupPickerStyles.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAG3D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAGhE,eAAO,MAAM,oBAAoB,iBACjB,cAAc,GAAG,SAAS;;;;;;;;;;;;;;;;CA4JzC,CAAC"}
@@ -0,0 +1,143 @@
1
+ import { mergeStyles, mergeStyleSets } from "@fluentui/react/lib/Styling";
2
+ var theme = window.__themeState__.theme;
3
+ export var useGroupPickerStyles = function (themeVariant) {
4
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11;
5
+ var renderIconButtonRemoveStyles = {
6
+ root: {
7
+ height: 26,
8
+ lineHeight: 26,
9
+ },
10
+ };
11
+ var renderItemStylesMulti = {
12
+ root: {
13
+ height: 26,
14
+ lineHeight: 26,
15
+ paddingLeft: 10,
16
+ marginLeft: 5,
17
+ marginBottom: 5,
18
+ cursor: "default",
19
+ backgroundColor: (_b = (_a = themeVariant === null || themeVariant === void 0 ? void 0 : themeVariant.palette) === null || _a === void 0 ? void 0 : _a.themeLighterAlt) !== null && _b !== void 0 ? _b : theme.themeLighterAlt,
20
+ ":hover": {
21
+ backgroundColor: theme.themeLighter,
22
+ },
23
+ },
24
+ };
25
+ var renderItemStylesSingle = {
26
+ root: {
27
+ height: 26,
28
+ lineHeight: 26,
29
+ paddingLeft: 10,
30
+ cursor: "default",
31
+ margin: 2,
32
+ backgroundColor: (_d = (_c = themeVariant === null || themeVariant === void 0 ? void 0 : themeVariant.palette) === null || _c === void 0 ? void 0 : _c.themeLighterAlt) !== null && _d !== void 0 ? _d : theme.themeLighterAlt,
33
+ ":hover": {
34
+ backgroundColor: (_f = (_e = themeVariant === null || themeVariant === void 0 ? void 0 : themeVariant.palette) === null || _e === void 0 ? void 0 : _e.themeLighter) !== null && _f !== void 0 ? _f : theme.themeLighter,
35
+ },
36
+ },
37
+ };
38
+ var pickerStylesSingle = {
39
+ root: {
40
+ width: " 100%",
41
+ borderRadius: 0,
42
+ marginTop: 0,
43
+ },
44
+ input: {
45
+ width: "100%",
46
+ backgroundColor: (_h = (_g = themeVariant === null || themeVariant === void 0 ? void 0 : themeVariant.palette) === null || _g === void 0 ? void 0 : _g.white) !== null && _h !== void 0 ? _h : theme.white,
47
+ },
48
+ text: {
49
+ borderStyle: "solid",
50
+ width: "100%",
51
+ borderWidth: 1,
52
+ backgroundColor: (_k = (_j = themeVariant === null || themeVariant === void 0 ? void 0 : themeVariant.palette) === null || _j === void 0 ? void 0 : _j.white) !== null && _k !== void 0 ? _k : theme.white,
53
+ borderRadius: 0,
54
+ borderColor: (_m = (_l = themeVariant === null || themeVariant === void 0 ? void 0 : themeVariant.palette) === null || _l === void 0 ? void 0 : _l.neutralQuaternaryAlt) !== null && _m !== void 0 ? _m : theme.neutralQuaternaryAlt,
55
+ ":focus": {
56
+ borderStyle: "solid",
57
+ borderWidth: 1,
58
+ borderColor: (_p = (_o = themeVariant === null || themeVariant === void 0 ? void 0 : themeVariant.palette) === null || _o === void 0 ? void 0 : _o.themePrimary) !== null && _p !== void 0 ? _p : theme.themePrimary,
59
+ },
60
+ ":hover": {
61
+ borderStyle: "solid",
62
+ borderWidth: 1,
63
+ borderColor: (_r = (_q = themeVariant === null || themeVariant === void 0 ? void 0 : themeVariant.palette) === null || _q === void 0 ? void 0 : _q.themePrimary) !== null && _r !== void 0 ? _r : theme.themePrimary,
64
+ },
65
+ ":after": {
66
+ borderWidth: 0,
67
+ borderRadius: 0,
68
+ },
69
+ },
70
+ };
71
+ var pickerStylesMulti = {
72
+ root: {
73
+ width: " 100%",
74
+ borderRadius: 0,
75
+ },
76
+ input: {
77
+ width: "100%",
78
+ backgroundColor: (_t = (_s = themeVariant === null || themeVariant === void 0 ? void 0 : themeVariant.palette) === null || _s === void 0 ? void 0 : _s.white) !== null && _t !== void 0 ? _t : theme.white,
79
+ },
80
+ itemsWrapper: {
81
+ padding: 3,
82
+ },
83
+ text: {
84
+ borderStyle: "solid",
85
+ width: "100%",
86
+ borderWidth: 1,
87
+ backgroundColor: (_v = (_u = themeVariant === null || themeVariant === void 0 ? void 0 : themeVariant.palette) === null || _u === void 0 ? void 0 : _u.white) !== null && _v !== void 0 ? _v : theme.white,
88
+ borderRadius: 0,
89
+ borderColor: (_x = (_w = themeVariant === null || themeVariant === void 0 ? void 0 : themeVariant.palette) === null || _w === void 0 ? void 0 : _w.neutralQuaternaryAlt) !== null && _x !== void 0 ? _x : theme.neutralQuaternaryAlt,
90
+ ":focus": {
91
+ borderStyle: "solid",
92
+ borderWidth: 1,
93
+ borderColor: (_z = (_y = themeVariant === null || themeVariant === void 0 ? void 0 : themeVariant.palette) === null || _y === void 0 ? void 0 : _y.themePrimary) !== null && _z !== void 0 ? _z : theme.themePrimary,
94
+ },
95
+ ":hover": {
96
+ borderStyle: "solid",
97
+ borderWidth: 1,
98
+ borderColor: (_1 = (_0 = themeVariant === null || themeVariant === void 0 ? void 0 : themeVariant.palette) === null || _0 === void 0 ? void 0 : _0.themePrimary) !== null && _1 !== void 0 ? _1 : theme.themePrimary,
99
+ },
100
+ ":after": {
101
+ borderStyle: "solid",
102
+ borderWidth: 1,
103
+ borderColor: (_3 = (_2 = themeVariant === null || themeVariant === void 0 ? void 0 : themeVariant.palette) === null || _2 === void 0 ? void 0 : _2.themePrimary) !== null && _3 !== void 0 ? _3 : theme.themePrimary,
104
+ },
105
+ },
106
+ };
107
+ var componentClasses = mergeStyleSets({
108
+ iconStyles: {
109
+ paddingLeft: 2,
110
+ fontWeight: 500,
111
+ color: (_5 = (_4 = themeVariant === null || themeVariant === void 0 ? void 0 : themeVariant.palette) === null || _4 === void 0 ? void 0 : _4.themePrimary) !== null && _5 !== void 0 ? _5 : theme === null || theme === void 0 ? void 0 : theme.themePrimary,
112
+ },
113
+ groupTypeIconM365: mergeStyles({
114
+ fontSize: 14,
115
+ marginLeft: 8,
116
+ fontWeight: 600,
117
+ color: (_7 = (_6 = themeVariant === null || themeVariant === void 0 ? void 0 : themeVariant.palette) === null || _6 === void 0 ? void 0 : _6.themeDark) !== null && _7 !== void 0 ? _7 : theme.themeDark,
118
+ }),
119
+ groupTypeIconSecurity: mergeStyles({
120
+ fontSize: 14,
121
+ marginLeft: 8,
122
+ fontWeight: 600,
123
+ color: (_9 = (_8 = themeVariant === null || themeVariant === void 0 ? void 0 : themeVariant.palette) === null || _8 === void 0 ? void 0 : _8.neutralPrimary) !== null && _9 !== void 0 ? _9 : theme.neutralPrimary,
124
+ }),
125
+ separator: mergeStyles({
126
+ marginTop: 25,
127
+ marginLeft: 20,
128
+ marginRight: 20,
129
+ borderBottomWidth: 1,
130
+ borderBottomColor: (_11 = (_10 = themeVariant === null || themeVariant === void 0 ? void 0 : themeVariant.palette) === null || _10 === void 0 ? void 0 : _10.neutralQuaternaryAlt) !== null && _11 !== void 0 ? _11 : theme.neutralQuaternaryAlt,
131
+ borderBottomStyle: "solid",
132
+ }),
133
+ });
134
+ return {
135
+ componentClasses: componentClasses,
136
+ pickerStylesMulti: pickerStylesMulti,
137
+ pickerStylesSingle: pickerStylesSingle,
138
+ renderItemStylesSingle: renderItemStylesSingle,
139
+ renderItemStylesMulti: renderItemStylesMulti,
140
+ renderIconButtonRemoveStyles: renderIconButtonRemoveStyles,
141
+ };
142
+ };
143
+ //# sourceMappingURL=GroupPickerStyles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupPickerStyles.js","sourceRoot":"","sources":["../../../src/controls/groupPicker/GroupPickerStyles.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { BaseComponentContext } from "@microsoft/sp-component-base";
2
+ import { IReadonlyTheme } from "@microsoft/sp-component-base";
3
+ import { IBasePickerStyles, ITag } from "@fluentui/react/lib/Pickers";
4
+ export type GroupTypeFilter = "All" | "M365" | "Security";
5
+ export interface IGroupPickerProps {
6
+ appcontext: BaseComponentContext;
7
+ onSelectedGroups: (tagsList: ITag[]) => void;
8
+ selectedGroups: ITag[];
9
+ themeVariant?: IReadonlyTheme;
10
+ /** Filter groups by type. Defaults to "All". */
11
+ groupType?: GroupTypeFilter;
12
+ itemLimit?: number;
13
+ /** Optional mode indicates if multi-choice selections is allowed. Default is true. */
14
+ multiSelect?: boolean;
15
+ label?: string;
16
+ styles?: IBasePickerStyles;
17
+ }
18
+ //# sourceMappingURL=IGroupPickerProps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IGroupPickerProps.d.ts","sourceRoot":"","sources":["../../../src/controls/groupPicker/IGroupPickerProps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAEtE,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,MAAM,GAAG,UAAU,CAAC;AAE1D,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,oBAAoB,CAAC;IACjC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC;IAC7C,cAAc,EAAE,IAAI,EAAE,CAAC;IACvB,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,gDAAgD;IAChD,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sFAAsF;IACtF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAC5B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IGroupPickerProps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IGroupPickerProps.js","sourceRoot":"","sources":["../../../src/controls/groupPicker/IGroupPickerProps.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import { ITag } from "@fluentui/react/lib/Pickers";
2
+ export interface IGroupPickerState {
3
+ savedSelectedGroups: ITag[];
4
+ }
5
+ //# sourceMappingURL=IGroupPickerState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IGroupPickerState.d.ts","sourceRoot":"","sources":["../../../src/controls/groupPicker/IGroupPickerState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAEnD,MAAM,WAAW,iBAAiB;IAChC,mBAAmB,EAAE,IAAI,EAAE,CAAC;CAC7B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IGroupPickerState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IGroupPickerState.js","sourceRoot":"","sources":["../../../src/controls/groupPicker/IGroupPickerState.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export * from "./IGroupPickerState";
2
+ export * from "./GroupPicker";
3
+ export * from "./IGroupPickerProps";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/controls/groupPicker/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from "./IGroupPickerState";
2
+ export * from "./GroupPicker";
3
+ export * from "./IGroupPickerProps";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/controls/groupPicker/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC"}
@@ -1,2 +1,3 @@
1
1
  export * from './useTeams';
2
+ export * from './useGroups';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC"}
@@ -1,2 +1,3 @@
1
1
  export * from './useTeams';
2
+ export * from './useGroups';
2
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { ServiceScope } from "@microsoft/sp-core-library";
2
+ import { IGroup } from "../common/model/IGroup";
3
+ export declare const useGroups: (serviceScope: ServiceScope) => {
4
+ init: () => Promise<void>;
5
+ getGroups: (filter?: string) => Promise<IGroup[]>;
6
+ };
7
+ //# sourceMappingURL=useGroups.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGroups.d.ts","sourceRoot":"","sources":["../../src/hooks/useGroups.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAI1D,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAMhD,eAAO,MAAM,SAAS,iBAAkB,YAAY;;yBAYhC,MAAM,KAAG,QAAQ,MAAM,EAAE,CAAC;CA4B7C,CAAC"}