@linzjs/lui 17.13.2 → 17.13.3-1

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.
@@ -3,6 +3,7 @@ export declare const LuiUpdatesSplashModal: React.FC<{
3
3
  bigImage: string;
4
4
  smallImage: string;
5
5
  header: string;
6
+ wrapperClass: string;
6
7
  onClose: () => void;
7
8
  id: string;
8
9
  }>;
@@ -1,37 +1,12 @@
1
1
  import React from 'react';
2
- interface IUserContext {
3
- user: IUser | undefined;
4
- selectedFirm: IFirm | undefined;
5
- changeFirm: (firmId: string) => void;
6
- isInternal: () => boolean;
7
- hasAnyPrivilege: (privileges: string[]) => boolean;
8
- }
9
- declare function useLOLUserContext(): IUserContext;
10
- declare const LOLUserContext: React.Context<IUserContext>;
2
+ import { IFirm, IUser, IUserContext, OidcConfig, UserContext as LOLUserContext, useUserContext as useLOLUserContext } from '@linz/lol-auth-js';
11
3
  declare function LOLUserContextProvider(props: {
12
4
  children: React.ReactNode;
5
+ oidcConfig?: OidcConfig;
13
6
  }): JSX.Element;
14
7
  interface IUserResponse {
15
8
  user: IUser | null;
16
9
  }
17
- interface IUser {
18
- id: string;
19
- idHash: string;
20
- givenNames: string;
21
- surname: string;
22
- email: string;
23
- preferredName: string;
24
- firms: IFirm[];
25
- loginType: string;
26
- roles: string[];
27
- passwordChangeRequired: boolean;
28
- lastLogin?: string;
29
- }
30
- interface IFirm {
31
- id: string;
32
- name: string;
33
- privileges: Array<string>;
34
- }
35
10
  declare const FIRM_KEY = "firmId";
36
11
  declare const FIRM_NAME_KEY = "firmName";
37
12
  export { IUserResponse, LOLUserContext, IUser, IFirm, IUserContext, useLOLUserContext, LOLUserContextProvider, FIRM_KEY, FIRM_NAME_KEY, };
package/dist/index.js CHANGED
@@ -9,6 +9,7 @@ var formik = require('formik');
9
9
  var require$$1 = require('react-dom');
10
10
  var lottie = require('lottie-web/build/player/lottie_light');
11
11
  var reactQuery = require('react-query');
12
+ var lolAuthJs = require('@linz/lol-auth-js');
12
13
 
13
14
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
14
15
 
@@ -28159,11 +28160,12 @@ var LuiUpdatesSplashModal = function (props) {
28159
28160
  Modal.setAppElement('#root');
28160
28161
  }
28161
28162
  return (React__default["default"].createElement(Modal, { key: props.id, isOpen: true, shouldCloseOnOverlayClick: true, onRequestClose: props.onClose, contentLabel: "Recent updates", className: "lui-scrim", style: { overlay: { backgroundColor: 'transparent' } } },
28162
- React__default["default"].createElement("div", { ref: node, className: "lui-large-feature-notification" },
28163
- React__default["default"].createElement("div", { className: "lui-feature-img" },
28163
+ React__default["default"].createElement("div", { ref: node, className: clsx('lui-large-feature-notification', props.wrapperClass) },
28164
+ React__default["default"].createElement("div", { className: "lui-feature-header" },
28164
28165
  React__default["default"].createElement("h1", null, props.header),
28165
28166
  React__default["default"].createElement("button", { "aria-label": "Close dialog", onClick: props.onClose },
28166
- React__default["default"].createElement("i", { className: "material-icons-round" }, "close")),
28167
+ React__default["default"].createElement("i", { className: "material-icons-round" }, "close"))),
28168
+ React__default["default"].createElement("div", { className: "lui-feature-img" },
28167
28169
  React__default["default"].createElement("img", { className: "lui-hide-xs lui-hide-sm", alt: "What's new", src: props.bigImage }),
28168
28170
  React__default["default"].createElement("img", { className: "lui-hide-md lui-hide-lg lui-hide-xl", alt: "What's new", src: props.smallImage })),
28169
28171
  React__default["default"].createElement("div", { className: 'lui-feature-text' }, props.children))));
@@ -28706,19 +28708,13 @@ var userIsInternal = function (user) {
28706
28708
  return loginType === 'INTN';
28707
28709
  };
28708
28710
 
28709
- function useLOLUserContext() {
28710
- return React.useContext(LOLUserContext);
28711
- }
28712
- var LOLUserContext = React__default["default"].createContext({
28713
- user: undefined,
28714
- selectedFirm: undefined,
28715
- changeFirm: function (firmId) {
28716
- console.error('Called changeFirm before UserContext loaded', firmId);
28717
- },
28718
- isInternal: function () { return false; },
28719
- hasAnyPrivilege: function () { return false; }
28720
- });
28721
28711
  function LOLUserContextProvider(props) {
28712
+ if (props.oidcConfig) {
28713
+ return (React__default["default"].createElement(lolAuthJs.UserContextProvider, __assign({}, props.oidcConfig), props.children));
28714
+ }
28715
+ return (React__default["default"].createElement(CurrentLOLUserContextProvider, null, props.children));
28716
+ }
28717
+ function CurrentLOLUserContextProvider(props) {
28722
28718
  var _a = useGetUserInfo(), isLoading = _a.isLoading, data = _a.data, isError = _a.isError;
28723
28719
  var _b = React.useState(), selectedFirm = _b[0], setSelectedFirm = _b[1];
28724
28720
  var _c = React.useState(false), ready = _c[0], setReady = _c[1];
@@ -28792,12 +28788,21 @@ function LOLUserContextProvider(props) {
28792
28788
  return React__default["default"].createElement(LuiLoadingSpinner, { "data-testid": "usercontext-error-spinner" });
28793
28789
  }
28794
28790
  if (data && data.user && data.user.id) {
28795
- return (React__default["default"].createElement(LOLUserContext.Provider, { value: {
28791
+ return (React__default["default"].createElement(lolAuthJs.UserContext.Provider, { value: {
28796
28792
  user: data.user,
28797
28793
  selectedFirm: selectedFirm,
28798
28794
  changeFirm: changeFirm,
28799
28795
  isInternal: isInternal,
28800
- hasAnyPrivilege: hasAnyPrivilege
28796
+ hasAnyPrivilege: hasAnyPrivilege,
28797
+ isLoading: isLoading,
28798
+ isAuthenticated: data && data.user && !!data.user.id,
28799
+ login: function () { return Promise.resolve(reAuthUser()); },
28800
+ logout: function () {
28801
+ throw Error('Not implemented');
28802
+ },
28803
+ changePassword: function () {
28804
+ throw Error('Not implemented');
28805
+ }
28801
28806
  } }, props.children));
28802
28807
  }
28803
28808
  else {
@@ -28901,7 +28906,7 @@ var LOLGlobalClientRefContext = React__default["default"].createContext({
28901
28906
  });
28902
28907
  var LOLGlobalClientRefContextProvider = function (props) {
28903
28908
  var useUserIdAsClientReference = props.useUserIdAsClientReference;
28904
- var _a = useLOLUserContext(), user = _a.user, selectedFirm = _a.selectedFirm;
28909
+ var _a = lolAuthJs.useUserContext(), user = _a.user, selectedFirm = _a.selectedFirm;
28905
28910
  var _b = React.useState(''), clientRef = _b[0], setClientRef = _b[1];
28906
28911
  var _c = React.useState(undefined), lastSelectedFirmId = _c[0], setLastSelectedFirmId = _c[1];
28907
28912
  var changeClientRef = React.useCallback(function (clientRef) {
@@ -28960,7 +28965,7 @@ function setGlobalClientRefCache(clientReference) {
28960
28965
 
28961
28966
  var LOLFirmSwitcherMenu = function (_a) {
28962
28967
  var _b = _a.showClientRef, showClientRef = _b === void 0 ? false : _b, restOfProps = __rest(_a, ["showClientRef"]);
28963
- var _c = useLOLUserContext(), user = _c.user, selectedFirm = _c.selectedFirm, changeFirm = _c.changeFirm, isInternal = _c.isInternal;
28968
+ var _c = lolAuthJs.useUserContext(), user = _c.user, selectedFirm = _c.selectedFirm, changeFirm = _c.changeFirm, isInternal = _c.isInternal;
28964
28969
  var clientRef = useLOLGlobalClientRefContext().clientRef;
28965
28970
  var firms = user.firms;
28966
28971
  var clientRefElement = showClientRef ? (React__default["default"].createElement(React__default["default"].Fragment, null,
@@ -29032,7 +29037,7 @@ var FirmSwitcher = function (_a) {
29032
29037
 
29033
29038
  var LOLLogoutLink = function (props) {
29034
29039
  var redirectPathString = props.redirectPath();
29035
- var user = useLOLUserContext().user;
29040
+ var user = lolAuthJs.useUserContext().user;
29036
29041
  if (!user) {
29037
29042
  return null;
29038
29043
  }
@@ -29067,7 +29072,7 @@ var LOLLogoutLink = function (props) {
29067
29072
  var LOLUserLastLogin = function () {
29068
29073
  var _a;
29069
29074
  var lastLogin;
29070
- var context = useLOLUserContext();
29075
+ var context = lolAuthJs.useUserContext();
29071
29076
  var lastLoginISO = (_a = context === null || context === void 0 ? void 0 : context.user) === null || _a === void 0 ? void 0 : _a.lastLogin;
29072
29077
  lastLogin = lastLoginISO
29073
29078
  ? new Date(lastLoginISO).toLocaleString('en-NZ')
@@ -29083,7 +29088,7 @@ var LOLUserLastLogin = function () {
29083
29088
  };
29084
29089
 
29085
29090
  var LOLActiveFirmMessage = function (props) {
29086
- var _a = useLOLUserContext(), selectedFirm = _a.selectedFirm, user = _a.user;
29091
+ var _a = lolAuthJs.useUserContext(), selectedFirm = _a.selectedFirm, user = _a.user;
29087
29092
  var _b = React.useState(false), visible = _b[0], setVisible = _b[1];
29088
29093
  var hide = props.showFrom !== 'xl' ? { from: props.showFrom || 'sm' } : undefined;
29089
29094
  React.useEffect(function () {
@@ -29105,7 +29110,7 @@ var LOLActiveFirmMessage = function (props) {
29105
29110
  var ExternalIcon = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjRweCIgZmlsbD0iIzk4OTE4OSI+PHBhdGggZD0iTTAgMGgyNHYyNEgwVjB6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTE5IDE5SDVWNWg3VjNINWMtMS4xMSAwLTIgLjktMiAydjE0YzAgMS4xLjg5IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0ydi03aC0ydjd6TTE0IDN2MmgzLjU5bC05LjgzIDkuODMgMS40MSAxLjQxTDE5IDYuNDFWMTBoMlYzaC03eiIvPjwvc3ZnPg==';
29106
29111
 
29107
29112
  var LOLAuthorisedLink = function (props) {
29108
- var hasAnyPrivilege = useLOLUserContext().hasAnyPrivilege;
29113
+ var hasAnyPrivilege = lolAuthJs.useUserContext().hasAnyPrivilege;
29109
29114
  var icon = props.icon, activeIcon = props.activeIcon, active = props.active, label = props.label, path = props.path, openExternally = props.openExternally, anyPrivileges = props.anyPrivileges;
29110
29115
  var onClickHandler = function () { return __awaiter(void 0, void 0, void 0, function () {
29111
29116
  return __generator(this, function (_a) {
@@ -29160,7 +29165,7 @@ var NOC_LABEL = 'Post registered NoC';
29160
29165
  var SURVEY_LABEL = 'Survey';
29161
29166
  var TITLES_LABEL = 'Dealings';
29162
29167
  var LOLAppLauncherMenu = function (props) {
29163
- var _a = useLOLUserContext(), user = _a.user, isInternal = _a.isInternal;
29168
+ var _a = lolAuthJs.useUserContext(), user = _a.user, isInternal = _a.isInternal;
29164
29169
  var pathname = props.pathname, _b = props.enableNOCLink, enableNOCLink = _b === void 0 ? false : _b, _c = props.enableSurveyLink, enableSurveyLink = _c === void 0 ? false : _c, _d = props.enableTitlesLink, enableTitlesLink = _d === void 0 ? false : _d;
29165
29170
  if (!user) {
29166
29171
  return null;
@@ -29214,7 +29219,7 @@ var LOLAppLauncherMenu = function (props) {
29214
29219
 
29215
29220
  var LOLDrawerMenuFirmSwitcher = function (props) {
29216
29221
  var minimumFilterCount = props.minimumFilterCount;
29217
- var _a = useLOLUserContext(), user = _a.user, selectedFirm = _a.selectedFirm, changeFirm = _a.changeFirm;
29222
+ var _a = lolAuthJs.useUserContext(), user = _a.user, selectedFirm = _a.selectedFirm, changeFirm = _a.changeFirm;
29218
29223
  var firms = user === null || user === void 0 ? void 0 : user.firms;
29219
29224
  if (!firms || !selectedFirm) {
29220
29225
  return null;
@@ -29248,7 +29253,7 @@ var LOLCommonDrawerMenu = function (props) {
29248
29253
  React__default["default"].createElement(LOLCommonDrawerMenuAfterLinks, { path: path })));
29249
29254
  };
29250
29255
  var LOLCommonDrawerMenuAfterLinks = function (props) {
29251
- var isInternal = useLOLUserContext().isInternal;
29256
+ var isInternal = lolAuthJs.useUserContext().isInternal;
29252
29257
  var path = props.path;
29253
29258
  var contextPath = path.substr(0, path.indexOf('/', 1));
29254
29259
  var gotoLink = function (url) {
@@ -44056,6 +44061,14 @@ function CheckboxItemRenderer(_a) {
44056
44061
  item.label));
44057
44062
  }
44058
44063
 
44064
+ Object.defineProperty(exports, 'LOLUserContext', {
44065
+ enumerable: true,
44066
+ get: function () { return lolAuthJs.UserContext; }
44067
+ });
44068
+ Object.defineProperty(exports, 'useLOLUserContext', {
44069
+ enumerable: true,
44070
+ get: function () { return lolAuthJs.useUserContext; }
44071
+ });
44059
44072
  exports.CheckboxItemRenderer = CheckboxItemRenderer;
44060
44073
  exports.FIRM_KEY = FIRM_KEY;
44061
44074
  exports.FIRM_NAME_KEY = FIRM_NAME_KEY;
@@ -44070,7 +44083,6 @@ exports.LOLGlobalClientRefContext = LOLGlobalClientRefContext;
44070
44083
  exports.LOLGlobalClientRefContextProvider = LOLGlobalClientRefContextProvider;
44071
44084
  exports.LOLLogoutLink = LOLLogoutLink;
44072
44085
  exports.LOLSearchBox = LOLSearchBox;
44073
- exports.LOLUserContext = LOLUserContext;
44074
44086
  exports.LOLUserContextProvider = LOLUserContextProvider;
44075
44087
  exports.LOLUserLastLogin = LOLUserLastLogin;
44076
44088
  exports.LuiAccordicard = LuiAccordicard;
@@ -44152,6 +44164,5 @@ exports.getDefaultSearchMenuOptions = getDefaultSearchMenuOptions;
44152
44164
  exports.isChromatic = isChromatic;
44153
44165
  exports.useClickedOutsideElement = useClickedOutsideElement;
44154
44166
  exports.useLOLGlobalClientRefContext = useLOLGlobalClientRefContext;
44155
- exports.useLOLUserContext = useLOLUserContext;
44156
44167
  exports.useShowLUIMessage = useShowLUIMessage;
44157
44168
  //# sourceMappingURL=index.js.map