@pnp/spfx-controls-react
Version:
Reusable React controls for SharePoint Framework solutions
65 lines • 3.37 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.UserPicker = void 0;
var tslib_1 = require("tslib");
/* eslint-disable @typescript-eslint/no-floating-promises */
/* eslint-disable @typescript-eslint/no-unused-vars */
var React = tslib_1.__importStar(require("react"));
var jotai_1 = require("jotai");
var lodash_1 = require("lodash");
var react_components_1 = require("@fluentui/react-components");
var react_migration_v8_v9_1 = require("@fluentui/react-migration-v8-v9");
var react_theme_provider_1 = require("@fluentui/react-theme-provider");
var UserPickerControl_1 = require("./UserPickerControl");
var UserPicker = function (props) {
var themeV8 = props.theme, context = props.context;
var _a = React.useState(), theme = _a[0], setTheme = _a[1];
var currentSPTheme = (0, react_theme_provider_1.useTheme)();
var _b = React.useState(false), isInitialized = _b[0], setIsInitialized = _b[1];
React.useEffect(function () {
(function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
var teamsContext, teamsTheme;
var _a;
return tslib_1.__generator(this, function (_b) {
switch (_b.label) {
case 0:
if (!(0, lodash_1.has)(context, "sdks.microsoftTeams.teamsJs.app.getContext")) return [3 /*break*/, 2];
return [4 /*yield*/, ((_a = context.sdks.microsoftTeams) === null || _a === void 0 ? void 0 : _a.teamsJs.app.getContext())];
case 1:
teamsContext = _b.sent();
teamsTheme = teamsContext.app.theme || "default";
switch (teamsTheme) {
case "dark":
setTheme(react_components_1.teamsDarkTheme);
break;
case "contrast":
setTheme(react_components_1.teamsHighContrastTheme);
break;
case "default":
setTheme(react_components_1.teamsLightTheme);
break;
default:
setTheme(react_components_1.teamsLightTheme);
break;
}
return [3 /*break*/, 3];
case 2:
setTheme((0, react_migration_v8_v9_1.createV9Theme)(currentSPTheme));
_b.label = 3;
case 3:
setIsInitialized(true);
return [2 /*return*/];
}
});
}); })();
}, [context, currentSPTheme]);
if (!isInitialized)
return React.createElement(React.Fragment, null);
return (React.createElement(React.Fragment, null,
React.createElement(react_components_1.IdPrefixProvider, { value: "userPicker-" },
React.createElement(react_components_1.FluentProvider, { theme: theme },
React.createElement(jotai_1.Provider, null,
React.createElement(UserPickerControl_1.UserPickerControl, tslib_1.__assign({}, props)))))));
};
exports.UserPicker = UserPicker;
//# sourceMappingURL=UserPicker.js.map