@linzjs/lui 10.2.2 → 10.3.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.
- package/CHANGELOG.md +289 -767
- package/README.md +16 -11
- package/dist/assets/icons/account_circle.svg +1 -0
- package/dist/assets/icons/add_circle.svg +1 -0
- package/dist/assets/icons/add_circle_outline.svg +1 -0
- package/dist/assets/icons/arrow_back.svg +1 -0
- package/dist/assets/icons/arrow_back_ios.svg +1 -0
- package/dist/assets/icons/arrow_drop_down.svg +1 -0
- package/dist/assets/icons/arrow_drop_up.svg +1 -0
- package/dist/assets/icons/arrow_forward_ios.svg +1 -0
- package/dist/assets/icons/attachment.svg +1 -0
- package/dist/assets/icons/border_color.svg +1 -0
- package/dist/assets/icons/check.svg +1 -0
- package/dist/assets/icons/check_circle.svg +1 -0
- package/dist/assets/icons/check_circle_outline.svg +1 -0
- package/dist/assets/icons/clear.svg +1 -0
- package/dist/assets/icons/corporate_fare.svg +1 -0
- package/dist/assets/icons/create.svg +1 -0
- package/dist/assets/icons/error.svg +1 -0
- package/dist/assets/icons/error_outline.svg +1 -0
- package/dist/assets/icons/expand_less.svg +1 -0
- package/dist/assets/icons/expand_more.svg +1 -0
- package/dist/assets/icons/filter_list.svg +1 -0
- package/dist/assets/icons/flag.svg +1 -0
- package/dist/assets/icons/forward.svg +1 -0
- package/dist/assets/icons/insert_invitation.svg +1 -0
- package/dist/assets/icons/insert_photo.svg +1 -0
- package/dist/assets/icons/keyboard_arrow_down.svg +1 -0
- package/dist/assets/icons/keyboard_arrow_left.svg +1 -0
- package/dist/assets/icons/keyboard_arrow_right.svg +1 -0
- package/dist/assets/icons/keyboard_arrow_up.svg +1 -0
- package/dist/assets/icons/navigate_before.svg +1 -0
- package/dist/assets/icons/navigate_next.svg +1 -0
- package/dist/assets/icons/people_outline.svg +1 -0
- package/dist/assets/icons/person.svg +1 -0
- package/dist/assets/icons/person_add.svg +1 -0
- package/dist/assets/icons/remove_circle.svg +1 -0
- package/dist/assets/icons/remove_circle_outline.svg +1 -0
- package/dist/assets/icons/send.svg +1 -0
- package/dist/assets/icons/view_week.svg +1 -0
- package/dist/assets/icons/warning.svg +1 -0
- package/dist/assets/svg-content.d.ts +39 -1
- package/dist/assets/svg-content.tsx +231 -7
- package/dist/components/LuiMenu/LuiMenu.d.ts +3 -0
- package/dist/components/common/Icons.d.ts +53 -3
- package/dist/govNZ-DS/FlexColumn.scss +1 -1
- package/dist/govNZ-DS/FlexContainer.scss +1 -1
- package/dist/govNZ-DS/FlexRow.scss +1 -1
- package/dist/govNZ-DS/FooterStandard.scss +1 -1
- package/dist/govNZ-DS/FooterWrapper.scss +1 -1
- package/dist/govNZ-DS/_index.scss +1 -1
- package/dist/lui.cjs.development.js +16 -19
- package/dist/lui.cjs.development.js.map +1 -1
- package/dist/lui.cjs.production.min.js +1 -1
- package/dist/lui.cjs.production.min.js.map +1 -1
- package/dist/lui.css +357 -376
- package/dist/lui.css.map +1 -1
- package/dist/lui.esm.js +16 -19
- package/dist/lui.esm.js.map +1 -1
- package/dist/scss/Components/ContextMenu/context-menu.scss +1 -1
- package/dist/scss/Components/ExpandingSection/expanding-section.scss +0 -1
- package/dist/scss/Components/Footer/footer.scss +6 -6
- package/dist/scss/Components/Header/header.scss +7 -5
- package/dist/scss/Components/HelpSection/help-section.scss +2 -2
- package/dist/scss/Components/LOLCommonMenu/LOLAuthorisedLink.scss +0 -1
- package/dist/scss/Components/LOLCommonMenu/LOLFirmSwitcherMenu.scss +1 -1
- package/dist/scss/Components/LuiFilterContainer/LuiFilterContainer.scss +5 -0
- package/dist/scss/Components/Menu/menu.scss +8 -0
- package/dist/scss/Components/Messaging/messaging.scss +8 -8
- package/dist/scss/Components/Modal/modal.scss +6 -6
- package/dist/scss/Components/Notifications/notifications.scss +5 -5
- package/dist/scss/Elements/Buttons/buttons.scss +16 -17
- package/dist/scss/Elements/Forms/FormComponents/FormSpacing.scss +7 -7
- package/dist/scss/Elements/Forms/FormComponents/Inputs.scss +0 -5
- package/dist/scss/Elements/Forms/FormComponents/RadiosCheckboxes.scss +92 -103
- package/dist/scss/Elements/Forms/forms.scss +14 -32
- package/dist/scss/Elements/Tables/tables.scss +1 -1
- package/dist/scss/Foundation/Utilities/AspectRatio.scss +1 -1
- package/dist/scss/Foundation/Utilities/Borders.scss +1 -1
- package/dist/scss/Foundation/Utilities/Breakpoint.scss +19 -7
- package/dist/scss/Foundation/Utilities/DLColumns.scss +21 -6
- package/dist/scss/Foundation/Utilities/Ease.scss +1 -8
- package/dist/scss/Foundation/Utilities/FitMedia.scss +2 -1
- package/dist/scss/Foundation/Utilities/FluidType.scss +28 -6
- package/dist/scss/Foundation/Utilities/Placeholder.scss +12 -5
- package/dist/scss/Foundation/Variables/FontVars.scss +7 -7
- package/dist/scss/Foundation/Variables/FormVars.scss +8 -8
- package/dist/scss/Foundation/Variables/SpacingVars.scss +17 -10
- package/dist/scss/Global/GenericElements/Lists.scss +2 -2
- package/dist/scss/Global/GenericElements/Typography.scss +5 -5
- package/dist/scss/Global/_index.scss +1 -1
- package/dist/scss/Vendor/_index.scss +1 -1
- package/dist/scss/Vendor/naturalize.scss +32 -39
- package/dist/scss/{Global → Vendor}/print.scss +0 -0
- package/dist/scss/base.scss +2 -1
- package/package.json +4 -1
- package/dist/assets/icons/icon-cart.svg +0 -1
package/dist/lui.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["../src/scss/Vendor/naturalize.scss","../src/FontFace.scss","../src/scss/Foundation/Variables/ColorVars.scss","../src/scss/Global/GenericElements/Link.scss","../src/scss/Foundation/Variables/FontVars.scss","../src/scss/Foundation/Utilities/Hover.scss","../src/scss/Global/GenericElements/Lists.scss","../src/scss/Global/GenericElements/Todo.scss","../src/scss/Global/GenericElements/Typography.scss","../src/scss/Foundation/Variables/SpacingVars.scss","../src/scss/Global/Layout/Container.scss","../src/scss/Foundation/Utilities/Breakpoint.scss","../src/scss/Global/Layout/Layout.scss","../src/scss/Global/helpers.scss","../src/scss/Foundation/Utilities/BoxShadow.scss","../src/scss/Foundation/Utilities/ScreenReadersOnly.scss","../src/scss/Global/print.scss","../src/scss/Elements/Buttons/buttons.scss","../src/scss/Foundation/Variables/MiscVars.scss","../src/scss/Elements/Buttons/buttons-linz.scss","../src/scss/Elements/Forms/FormComponents/Inputs.scss","../src/scss/Elements/Forms/forms.scss","../src/scss/Foundation/Utilities/Appearance.scss","../src/scss/Foundation/Variables/FormVars.scss","../src/scss/Elements/Forms/FormComponents/RadiosCheckboxes.scss","../src/scss/Elements/Forms/FormComponents/FormSpacing.scss","../src/scss/Elements/Icons/icons.scss","../src/scss/Elements/Tables/tables.scss","../src/scss/Elements/Tooltips/tippy.scss","../src/scss/Components/ContextMenu/context-menu.scss","../src/scss/Components/ExpandingSection/expanding-section.scss","../src/scss/Components/Footer/footer.scss","../src/scss/Components/Header/header.scss","../src/scss/Foundation/Utilities/LuiStandardHeaderBackground.scss","../src/scss/Components/HelpSection/help-section.scss","../src/scss/Components/Menu/menu.scss","../src/scss/Components/Messaging/messaging.scss","../src/scss/Components/Modal/modal.scss","../src/scss/Components/NavDrawer/nav-drawer.scss","../src/scss/Components/Notifications/notifications.scss","../src/scss/Components/Scrim/scrim.scss","../src/scss/Components/LuiTabs/LuiTabs.scss","../src/scss/Components/LuiErrorPage/LuiErrorPage.scss","../src/scss/Components/LOLCommonMenu/LOLAuthorisedLink.scss","../src/scss/Components/LOLCommonMenu/LOLDrawerMenu.scss","../src/scss/Components/LOLCommonMenu/LOLUserLastLogin.scss","../src/scss/Components/LOLCommonMenu/LOLFirmSwitcherMenu.scss"],"names":[],"mappings":"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IAEI;;;;AAIJ;EACE;;;AAGF;EACE;;;AAkBA;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAdF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AAuPJ;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAnQA;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AAWF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAdF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EA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","file":"lui.css"}
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../src/scss/Vendor/naturalize.scss","../src/FontFace.scss","../src/scss/Foundation/Variables/ColorVars.scss","../src/scss/Global/GenericElements/Link.scss","../src/scss/Foundation/Variables/FontVars.scss","../src/scss/Foundation/Utilities/Hover.scss","../src/scss/Global/GenericElements/Lists.scss","../src/scss/Foundation/Variables/SpacingVars.scss","../src/scss/Global/GenericElements/Todo.scss","../src/scss/Global/GenericElements/Typography.scss","../src/scss/Global/Layout/Container.scss","../src/scss/Foundation/Utilities/Breakpoint.scss","../src/scss/Global/Layout/Layout.scss","../src/scss/Global/helpers.scss","../src/scss/Foundation/Utilities/BoxShadow.scss","../src/scss/Foundation/Utilities/ScreenReadersOnly.scss","../src/scss/Elements/Buttons/buttons.scss","../src/scss/Foundation/Variables/MiscVars.scss","../src/scss/Elements/Buttons/buttons-linz.scss","../src/scss/Elements/Forms/FormComponents/Inputs.scss","../src/scss/Elements/Forms/FormComponents/RadiosCheckboxes.scss","../src/scss/Foundation/Utilities/Appearance.scss","../src/scss/Foundation/Variables/FormVars.scss","../src/scss/Elements/Forms/forms.scss","../src/scss/Elements/Forms/FormComponents/FormSpacing.scss","../src/scss/Elements/Icons/icons.scss","../src/scss/Elements/Tables/tables.scss","../src/scss/Elements/Tooltips/tippy.scss","../src/scss/Components/ContextMenu/context-menu.scss","../src/scss/Components/ExpandingSection/expanding-section.scss","../src/scss/Components/Footer/footer.scss","../src/scss/Components/Header/header.scss","../src/scss/Foundation/Utilities/LuiStandardHeaderBackground.scss","../src/scss/Components/HelpSection/help-section.scss","../src/scss/Components/Menu/menu.scss","../src/scss/Components/Messaging/messaging.scss","../src/scss/Components/Modal/modal.scss","../src/scss/Components/NavDrawer/nav-drawer.scss","../src/scss/Components/Notifications/notifications.scss","../src/scss/Components/Scrim/scrim.scss","../src/scss/Components/LuiTabs/LuiTabs.scss","../src/scss/Components/LuiErrorPage/LuiErrorPage.scss","../src/scss/Components/LuiFilterContainer/LuiFilterContainer.scss","../src/scss/Components/LOLCommonMenu/LOLAuthorisedLink.scss","../src/scss/Components/LOLCommonMenu/LOLDrawerMenu.scss","../src/scss/Components/LOLCommonMenu/LOLUserLastLogin.scss","../src/scss/Components/LOLCommonMenu/LOLFirmSwitcherMenu.scss"],"names":[],"mappings":"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;IAEI;;;;AAKF;EADF;IAEI;;;;AAIJ;EACE;;;AAGF;EACE;;;AAkBA;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAdF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AAuPJ;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAnQA;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AAWF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAdF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;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","file":"lui.css"}
|
package/dist/lui.esm.js
CHANGED
|
@@ -364,10 +364,7 @@ var getMenuItems = function getMenuItems(children) {
|
|
|
364
364
|
}
|
|
365
365
|
|
|
366
366
|
if (React.isValidElement(child) && child.type === LuiMenuItem) {
|
|
367
|
-
return React.createElement(MenuItem, {
|
|
368
|
-
disabled: child.props.disabled,
|
|
369
|
-
onClick: child.props.onClick
|
|
370
|
-
}, child.props.children);
|
|
367
|
+
return React.createElement(MenuItem, Object.assign({}, child.props));
|
|
371
368
|
} else if (React.isValidElement(child) && child.type === LuiMenuDivider) {
|
|
372
369
|
return React.createElement(MenuDivider, null);
|
|
373
370
|
} else if (React.isValidElement(child) && child.type === LuiMenuHeader) {
|
|
@@ -5813,21 +5810,16 @@ var LuiFilterContainer = function LuiFilterContainer(props) {
|
|
|
5813
5810
|
filter = _useState[0],
|
|
5814
5811
|
setFilter = _useState[1];
|
|
5815
5812
|
|
|
5816
|
-
|
|
5817
|
-
|
|
5818
|
-
|
|
5819
|
-
|
|
5820
|
-
|
|
5821
|
-
|
|
5822
|
-
|
|
5823
|
-
|
|
5824
|
-
|
|
5825
|
-
|
|
5826
|
-
onChange: function onChange(e) {
|
|
5827
|
-
return setFilter(e.target.value);
|
|
5828
|
-
}
|
|
5829
|
-
});
|
|
5830
|
-
}), renderFunction(filterFunction(filter)));
|
|
5813
|
+
return React.createElement("div", null, showFilter && React.createElement("div", {
|
|
5814
|
+
className: 'LuiFilterContainer-filter-container'
|
|
5815
|
+
}, React.createElement("input", {
|
|
5816
|
+
type: "text",
|
|
5817
|
+
placeholder: "Type to filter",
|
|
5818
|
+
value: filter,
|
|
5819
|
+
onChange: function onChange(e) {
|
|
5820
|
+
return setFilter(e.target.value);
|
|
5821
|
+
}
|
|
5822
|
+
})), renderFunction(filterFunction(filter)));
|
|
5831
5823
|
};
|
|
5832
5824
|
|
|
5833
5825
|
function useLOLGlobalClientRefContext() {
|
|
@@ -5857,6 +5849,11 @@ var LOLGlobalClientRefContextProvider = function LOLGlobalClientRefContextProvid
|
|
|
5857
5849
|
setClientRef(clientRef);
|
|
5858
5850
|
setGlobalClientRefCache(clientRef);
|
|
5859
5851
|
}, []);
|
|
5852
|
+
useEffect(function () {
|
|
5853
|
+
window.addEventListener('beforeunload', function () {
|
|
5854
|
+
setGlobalClientRefCache(null);
|
|
5855
|
+
});
|
|
5856
|
+
}, []);
|
|
5860
5857
|
useEffect(function () {
|
|
5861
5858
|
if (!user) {
|
|
5862
5859
|
return;
|
package/dist/lui.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lui.esm.js","sources":["../src/components/LuiBanner/LuiBanner.tsx","../src/components/LuiStaticMessage/LuiStaticMessage.tsx","../src/components/LuiButton/LuiButton.tsx","../src/components/LuiToastMessage/LuiToastMessage.tsx","../src/contexts/LuiMessagingContextProvider.tsx","../src/components/LuiExpandableBanner/LuiExpandableBanner.tsx","../src/components/LuiMenu/LuiMenu.tsx","../src/components/LuiFilterMenu/LuiFilterMenu.tsx","../src/components/LuiTabs/LuiTabs.tsx","../src/components/LuiForms/LuiForms.tsx","../src/components/LuiForms/LuiCheckbox/LuiCheckbox.tsx","../src/components/LuiForms/LuiTextInput/LuiTextInput.tsx","../src/components/LuiForms/LuiFormLabel/LuiFormLabel.tsx","../src/components/LuiForms/LuiRadioButton/LuiRadioButton.tsx","../src/components/LuiForms/LuiRadioGroup/LuiRadioGroup.tsx","../src/components/LuiForms/LuiFormSubmitButton/LuiFormSubmitButton.tsx","../src/components/LuiForms/LuiSelect/LuiSelect.tsx","../src/components/LuiBearingInput/LuiBearingInput.tsx","../src/components/LuiFooter/LuiFooter.tsx","../src/components/common/Hooks.tsx","../src/components/common/ResponsiveUtils.ts","../src/components/LuiHeader/LuiHeader.tsx","../src/components/LuiHeaderMenu/LuiHeaderMenus.tsx","../src/components/LuiUpdateSplashModal/LuiUpdatesSplashModal.tsx","../src/components/LuiModal/LuiModal.tsx","../src/components/LuiErrorPage/LuiErrorPage.tsx","../src/components/LuiLoadingSpinner/LuiLoadingSpinner.tsx","../node_modules/regenerator-runtime/runtime.js","../src/components/lol/contexts/LOLUserContextSupport.ts","../src/components/lol/contexts/LOLUserContext.tsx","../src/components/LuiFilterContainer/LuiFilterContainer.tsx","../src/components/lol/contexts/LOLGlobalClientRefContext.tsx","../src/components/lol/LOLFirmSwitcher.tsx","../src/components/lol/LOLLogoutLink.tsx","../src/components/lol/LOLUserLastLogin.tsx","../src/components/lol/LOLActiveFirmMessage.tsx","../src/components/lol/LOLAuthorisedLink.tsx","../src/components/lol/LOLAppLauncherMenu.tsx","../src/components/lol/LOLDrawerMenuFirmSwitcher.tsx","../src/components/lol/LOLCommonDrawerMenu.tsx","../src/components/LuiTooltip/LuiTooltip.tsx","../src/hooks/useClickedOutsideElement.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\n\ntype Props = {\n level: 'success' | 'info' | 'warning' | 'error';\n children: ReactNode;\n};\n\nexport const LuiBanner = (props: Props): JSX.Element => {\n return (\n <div className=\"lui-msg-banner-container\">\n <LuiBannerContent level={props.level}>{props.children}</LuiBannerContent>\n </div>\n );\n};\n\nexport const LuiBannerContent = (props: Props): JSX.Element => {\n let materialIcon = getMaterialIconForLevel(props.level);\n\n return (\n <div className={`lui-msg-${props.level} lui-msg-dynamic-banner`}>\n <i className=\"lui-msg-status-icon material-icons-round\">{materialIcon}</i>\n <div>{props.children}</div>\n </div>\n );\n};\n\nexport function getMaterialIconForLevel(\n level: 'success' | 'info' | 'warning' | 'error'\n) {\n switch (level) {\n case 'success':\n return 'check_circle';\n case 'info':\n return 'info';\n case 'warning':\n return 'warning';\n case 'error':\n return 'error';\n }\n}\n","import React from 'react';\nimport { useState } from 'react';\nimport { getMaterialIconForLevel } from '../LuiBanner/LuiBanner';\n\nexport const LuiStaticMessage: React.FC<{\n level: 'success' | 'info' | 'warning' | 'error';\n closable?: boolean;\n}> = (props) => {\n const [display, setDisplay] = useState(true);\n let materialIcon = getMaterialIconForLevel(props.level);\n\n return display ? (\n <div\n className={`lui-msg-${props.level}`}\n data-testid={'static-message-container'}\n >\n <i className=\"lui-msg-status-icon material-icons-round\">{materialIcon}</i>\n\n {props.children}\n {(props.closable === undefined || props.closable) && (\n <button\n aria-label=\"Close dialog\"\n onClick={() => {\n setDisplay(false);\n }}\n >\n <i className=\"material-icons-round\">close</i>\n </button>\n )}\n </div>\n ) : null;\n};\n","import React, { MouseEvent, PropsWithChildren, ReactNode, Ref } from 'react';\nimport clsx from 'clsx';\n\ninterface LuiButtonProps extends PlainButtonProps {\n href?: string;\n openInNewTab?: boolean;\n level?:\n | 'text'\n | 'plain-text'\n | 'primary'\n | 'secondary'\n | 'tertiary'\n | 'error';\n type?: React.ButtonHTMLAttributes<HTMLButtonElement>['type'];\n size?: 'small' | 'med' | 'large';\n}\n\ninterface PlainButtonProps {\n type?: React.ButtonHTMLAttributes<HTMLButtonElement>['type'];\n disabled?: boolean;\n style?: React.CSSProperties;\n onClick?: (e: MouseEvent) => void;\n name?: string;\n title?: string;\n 'data-testid'?: string;\n className?: string;\n buttonProps?: any;\n ref: Ref<HTMLButtonElement>;\n children: ReactNode;\n}\n\nconst PlainButton = React.forwardRef<\n HTMLButtonElement,\n PlainButtonProps & { level: string; size: string }\n>((props, ref) => {\n return (\n <button\n {...props.buttonProps}\n type={props.type}\n title={props.title}\n disabled={props.disabled}\n name={props.name}\n onClick={props.onClick}\n className={clsx(\n 'lui-button',\n `lui-button-${props.level}`,\n `lui-button-${props.size}`,\n props.className\n )}\n data-testid={props['data-testid']}\n style={props.style}\n ref={ref}\n >\n {props.children}\n </button>\n );\n});\n\nexport const LuiButton = React.forwardRef<\n HTMLButtonElement,\n PropsWithChildren<LuiButtonProps>\n>((props, ref) => {\n const _level = props.level ? props.level : 'primary';\n const size = props.size ? props.size : 'med';\n\n if (props.href) {\n let aProps: any = {\n href: props.href,\n 'data-testid': props['data-testid'],\n name: props.name,\n title: props.title,\n className: clsx(\n 'lui-button',\n `lui-button-${props.level}`,\n `lui-button-${props.size}`,\n props.className\n ),\n style: props.style,\n };\n\n if (props.openInNewTab) {\n aProps.target = '_blank';\n aProps.rel = 'noopener noreferrer';\n }\n\n return <a {...aProps}>{props.children}</a>;\n }\n\n return (\n <PlainButton\n type={props.type}\n title={props.title}\n disabled={props.disabled}\n name={props.name}\n onClick={props.onClick}\n level={_level}\n size={size}\n data-testid={props['data-testid']}\n style={props.style}\n className={props.className}\n buttonProps={props.buttonProps}\n ref={ref}\n >\n {props.children}\n </PlainButton>\n );\n});\n\nexport const LuiButtonGroup: React.FC<{ children: any }> = (props) => {\n return (\n <div className=\"lui-button-group\" data-testid={'button-group'}>\n {props.children.map((child: React.FC, i: number) => {\n return (\n <div key={i} className={'lui-button-wrapper'}>\n {child}\n </div>\n );\n })}\n </div>\n );\n};\n","import React, { useState, useEffect } from 'react';\nimport { getMaterialIconForLevel } from '../LuiBanner/LuiBanner';\n\nexport type ILuiToastMessageLevels = 'success' | 'info' | 'warning' | 'error';\n\ninterface ILuiToastMessageProps {\n /** \"success\" | \"info\" | \"warning\" | \"error\" */\n level: ILuiToastMessageLevels;\n /** 0 means it will not disolve @default 4000 */\n displayTimeout?: number;\n /** allows the consumer to control when Toast fades @default true */\n display?: boolean;\n /** adds an X in the corner @default false */\n requireDismiss?: boolean;\n /** called when all said and done, allows the consumer to remove from React Dom */\n onClose?: () => void;\n children?: React.ReactNode;\n type?: 'button' | 'submit' | 'reset';\n}\n\nexport const LuiToastMessage: React.FC<ILuiToastMessageProps> = ({\n level,\n displayTimeout = 4000,\n display = true,\n requireDismiss,\n onClose,\n children,\n type,\n}: ILuiToastMessageProps) => {\n const [className, setClassname] = useState('lui-msg-toast-show');\n const [fadeOutTimer, setFadeOutTimer] = useState<number | undefined>(\n undefined\n );\n const [removeTimer, setRemoveTimer] = useState<number | undefined>(undefined);\n\n let materialIcon = getMaterialIconForLevel(level);\n\n const callOnCloseAfterDissolved = () => {\n // This is so the caller can remove it from the dom\n if (onClose) {\n const timer = window.setTimeout(onClose, displayTimeout);\n setRemoveTimer(timer);\n }\n };\n\n useEffect(() => {\n // clear timers if previously set\n fadeOutTimer && clearTimeout(fadeOutTimer);\n removeTimer && clearTimeout(removeTimer);\n setClassname('lui-msg-toast-show');\n\n if (!requireDismiss && displayTimeout !== 0) {\n // set a new timer\n const timer = window.setTimeout(() => {\n setClassname('lui-msg-toast-hide');\n callOnCloseAfterDissolved();\n }, displayTimeout);\n setFadeOutTimer(timer);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [requireDismiss, displayTimeout, children]);\n\n useEffect(() => {\n if (!display) {\n setClassname('lui-msg-toast-hide');\n callOnCloseAfterDissolved();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [display]);\n\n return (\n <div\n role=\"status\"\n data-testid={className}\n className={`lui-msg-${level} lui-msg-toast lui-msg-toast-dismissable ${className}`}\n >\n <i className=\"lui-msg-status-icon material-icons-round\">{materialIcon}</i>\n {children}\n <button\n aria-label=\"Close dialog\"\n type={type || 'button'}\n onClick={() => {\n setClassname('lui-msg-toast-hide');\n callOnCloseAfterDissolved();\n }}\n >\n <i className=\"material-icons-round\">close</i>\n </button>\n </div>\n );\n};\n","import React, { createContext, useContext, useState } from 'react';\nimport { LuiToastMessage } from '../components/LuiToastMessage/LuiToastMessage';\n\nexport type MessageLevel = 'success' | 'info' | 'warning' | 'error';\nexport type MessageType = 'toast';\n\nexport interface IUIMessagingContext {\n showMessage: (props: ShowMessageProps) => void;\n}\n\nconst UIMessagingContext = createContext<IUIMessagingContext>({\n // @ts-ignore\n showMessage: (props: ShowMessageProps) => {},\n});\n\nexport function useShowLUIMessage() {\n return useContext(UIMessagingContext).showMessage;\n}\n\nexport interface ShowMessageProps {\n message: string | JSX.Element;\n messageType: MessageType;\n messageLevel: MessageLevel;\n requireDismiss?: boolean;\n}\n\nexport const LuiMessagingContextProvider: React.FC = (props) => {\n const [_message, setMessage] = useState<string | JSX.Element>();\n const [_messageType, setMessageType] = useState<MessageType>();\n const [_messageLevel, setMessageLevel] = useState<MessageLevel>('success');\n const [_requireDismiss, setRequireDismiss] = useState<boolean>(true);\n\n const showMessage = (props: ShowMessageProps) => {\n setMessage(props.message);\n setMessageType(props.messageType);\n setMessageLevel(props.messageLevel);\n setRequireDismiss(\n props.requireDismiss === undefined\n ? props.messageLevel === 'error'\n : props.requireDismiss\n );\n };\n\n const renderMessage = () => {\n switch (_messageType) {\n case 'toast':\n return (\n <LuiToastMessage\n onClose={() => {\n setMessage(undefined);\n }}\n level={_messageLevel}\n requireDismiss={_requireDismiss}\n >\n <span data-testid={'toastMessageShow'}>\n {typeof _message === 'string' ? <h2>{_message}</h2> : _message}\n </span>\n </LuiToastMessage>\n );\n default:\n return null;\n }\n };\n\n return (\n <UIMessagingContext.Provider value={{ showMessage }}>\n {_message && renderMessage()}\n {props.children}\n </UIMessagingContext.Provider>\n );\n};\n","import React, { ReactNode, useRef, useState } from 'react';\nimport clsx from 'clsx';\n\nexport interface Expandable {\n className?: string;\n label: string;\n labelPrefix?: ReactNode;\n}\n\nexport const LuiExpandableBanner: React.FC<Expandable> = (props) => {\n const display = useRef(null);\n\n const [collapse, setCollapse] = useState(true);\n const collapseSection = (element: any) => {\n // get the height of the element's inner content, regardless of its actual size\n const sectionHeight = element.scrollHeight;\n // on the next frame (as soon as the previous style change has taken effect),\n // explicitly set the element's height to its current pixel height, so we\n // aren't transitioning out of 'auto'\n requestAnimationFrame(() => {\n element.style.height = sectionHeight + 'px';\n // on the next frame (as soon as the previous style change has taken effect),\n // have the element transition to height: 0\n requestAnimationFrame(() => {\n element.style.height = 0 + 'px';\n });\n });\n\n // mark the section as \"currently collapsed\"\n setCollapse(true);\n };\n\n const expandSection = (element: any) => {\n // get the height of the element's inner content, regardless of its actual size\n const sectionHeight = element.scrollHeight;\n // have the element transition to the height of its inner content\n element.style.height = sectionHeight + 'px';\n // when the next css transition finishes (which should be the one we just triggered)\n setTimeout(() => {\n element.style.height = 'auto';\n }, 500);\n // mark the section as \"currently not collapsed\"\n setCollapse(false);\n };\n\n const expandFunction = () => {\n const section = display.current;\n if (collapse) {\n expandSection(section);\n } else {\n collapseSection(section);\n }\n };\n\n return (\n <>\n <div className={clsx('lui-expand-container', props.className)}>\n {props.labelPrefix}\n <div\n className={'lui-expand-header'}\n onClick={expandFunction}\n style={{ width: '100%' }}\n >\n <h3>{props.label}</h3>\n <i\n className={clsx(\n collapse\n ? 'lui-expand-icon material-icons-round'\n : 'lui-expand-icon material-icons-round lui-expand-icon-transform'\n )}\n >\n {'expand_more'}\n </i>\n </div>\n </div>\n <div className={'lui-collapse-text'} ref={display}>\n {props.children}\n </div>\n </>\n );\n};\n","import React, { ReactNode } from 'react';\nimport {\n ControlledMenu,\n Menu,\n MenuDivider,\n MenuHeader,\n MenuItem,\n} from '@szhsin/react-menu';\nimport '@szhsin/react-menu/dist/index.css';\n\ninterface LuiMenuProps {\n menuButton: ReactNode;\n children: ReactNode;\n /** render the menu in a portal - required if the menu is contained in an absolutely positioned container with overflow settings. Default: false */\n portal?: boolean;\n boundingBoxRef?: React.MutableRefObject<HTMLElement | null>;\n anchorRef?: React.MutableRefObject<HTMLElement | null>;\n}\n\ninterface LuiControlledMenuProps {\n isOpen: boolean;\n onClose: () => void;\n anchorPoint: { x: number; y: number };\n children: ReactNode;\n boundingBoxRef?: React.MutableRefObject<HTMLElement | null>;\n anchorRef?: React.MutableRefObject<HTMLElement | null>;\n}\n\ninterface LuiMenuItemProps {\n onClick?: () => void;\n disabled?: boolean;\n children: ReactNode;\n}\n\ninterface LuiMenuHeaderProps {\n children: ReactNode;\n}\n\n/**\n * A menu controlled by a user-supplied MenuButton. Open/closed state is managed internally.\n */\nexport const LuiMenu = (props: LuiMenuProps): JSX.Element => {\n return (\n <Menu\n className=\"lui-menu\"\n menuButton={props.menuButton}\n offsetY={12}\n portal={props.portal === true}\n boundingBoxRef={props.boundingBoxRef}\n anchorRef={props.anchorRef}\n styles={{ zIndex: 10000 }}\n >\n {getMenuItems(props.children)}\n </Menu>\n );\n};\n\n/**\n * A menu with state managed externally. Can be used quite conveniently as a context menu.\n */\nexport const LuiControlledMenu = (\n props: LuiControlledMenuProps\n): JSX.Element => {\n return (\n <ControlledMenu\n className=\"lui-menu\"\n anchorPoint={props.anchorPoint}\n isOpen={props.isOpen}\n onClose={props.onClose}\n animation={false}\n boundingBoxRef={props.boundingBoxRef}\n anchorRef={props.anchorRef}\n >\n {getMenuItems(props.children)}\n </ControlledMenu>\n );\n};\n\n/**\n * Convert the supplied LuiMenuItems into react-menu-compatible MenuItems. An error will be logged if any incompatible\n * children are identified.\n */\nconst getMenuItems = (children: ReactNode): ReactNode => {\n return React.Children.map(children, (child) => {\n if (!child) {\n return null; // child may be false or undefined if conditional logic has been used to include a LuiMenuItem or not\n }\n\n if (\n React.isValidElement(child) &&\n (child as React.ReactElement<any>).type === LuiMenuItem\n ) {\n return (\n <MenuItem disabled={child.props.disabled} onClick={child.props.onClick}>\n {child.props.children}\n </MenuItem>\n );\n } else if (\n React.isValidElement(child) &&\n (child as React.ReactElement).type === LuiMenuDivider\n ) {\n return <MenuDivider />;\n } else if (\n React.isValidElement(child) &&\n (child as React.ReactElement).type === LuiMenuHeader\n ) {\n return <MenuHeader>{child.props.children}</MenuHeader>;\n }\n\n console.error('A child of LuiMenu may only be a LuiMenuItem');\n return null;\n });\n};\n\nexport const LuiMenuItem = (\n // @ts-ignore\n props: LuiMenuItemProps\n): JSX.Element => {\n // This component is never actually rendered\n return <></>;\n};\n\nexport const LuiMenuDivider = (): JSX.Element => {\n // This component is never actually rendered\n return <></>;\n};\n\nexport const LuiMenuHeader = (\n // @ts-ignore\n props: LuiMenuHeaderProps\n): JSX.Element => {\n // This component is never actually rendered\n return <></>;\n};\n","import React, { ReactNode, useRef, useState } from 'react';\nimport {\n MenuItem,\n FocusableItem,\n MenuDivider,\n MenuHeader,\n useMenuState,\n ControlledMenu,\n} from '@szhsin/react-menu';\nimport '@szhsin/react-menu/dist/index.css';\n\ntype LuiFilterMenuProps = {\n menuButton: (toggleMenu: () => void) => ReactNode;\n filteredItems: SelectMenuItem[];\n onItemClick: (itemId: string) => void;\n maxRows?: number;\n enabled?: boolean;\n};\n\ninterface SelectMenuItem {\n id: string;\n display: string;\n specialType?: 'div' | 'head';\n}\n\nexport const LuiFilterMenu = (props: LuiFilterMenuProps): JSX.Element => {\n const [filter, setFilter] = useState('');\n\n const { closeMenu, openMenu, toggleMenu, ...menuProps } = useMenuState();\n const ref = useRef(null);\n\n return (\n <div ref={ref}>\n {props.menuButton(() => {\n switch (props.enabled) {\n case false: {\n closeMenu();\n break;\n }\n default: {\n toggleMenu();\n break;\n }\n }\n })}\n <ControlledMenu\n {...menuProps}\n anchorRef={ref}\n onClose={() => closeMenu()}\n className=\"lui-menu\"\n offsetY={12}\n onChange={(e: any) => {\n e.open && setFilter('');\n }}\n styles={\n props.maxRows !== undefined\n ? { maxHeight: 62 + 34 * props.maxRows, overflowY: 'auto' }\n : {}\n }\n >\n <FocusableItem>\n {({ ref }: any) => (\n <input\n ref={ref}\n type=\"text\"\n placeholder=\"Type to filter\"\n value={filter}\n onChange={(e) => setFilter(e.target.value)}\n />\n )}\n </FocusableItem>\n\n {props.filteredItems\n .filter((item) =>\n item.display.toUpperCase().includes(filter.trim().toUpperCase())\n )\n .map((item) => {\n if (item?.specialType === 'div') {\n return <MenuDivider key={item.id} />;\n } else if (item?.specialType === 'head') {\n return <MenuHeader key={item.id}>{item.display}</MenuHeader>;\n } else {\n return (\n <MenuItem\n key={item.id}\n onMouseDown={(e: any) => {\n props.onItemClick(item.id);\n e.stopPropagation();\n }}\n >\n {item.display}\n </MenuItem>\n );\n }\n })}\n </ControlledMenu>\n </div>\n );\n};\n","import React, { useState, useContext } from 'react';\nimport clsx from 'clsx';\n\ninterface ILuiTabsContext {\n activePanel: string | null;\n setActivePanel: (activePanel: string) => void;\n}\n\nexport const LuiTabsContext = React.createContext<ILuiTabsContext>({\n activePanel: null,\n setActivePanel: () => {},\n});\n\nexport const LuiTabsPanelWrapper: React.FC<{\n defaultPanel: string;\n}> = (props) => {\n let [activePanel, setActivePanel] = useState<string>(props.defaultPanel);\n return (\n <div className={'lui-tabs'}>\n <LuiTabsContext.Provider value={{ activePanel, setActivePanel }}>\n {props.children}\n </LuiTabsContext.Provider>\n </div>\n );\n};\n\nexport const LuiTabGroup: React.FC<{\n ariaLabel: string;\n justify?: boolean;\n}> = (props) => {\n return (\n <div className={'lui-tabs-style-underline'}>\n <div\n className={`lui-tab-group ${\n props.justify ? 'lui-tab-group-justified' : ''\n }`}\n role=\"tablist\"\n aria-label={props.ariaLabel}\n >\n {props.children}\n </div>\n </div>\n );\n};\n\ninterface LuiTabsPanelSwitch {\n targetPanel: string;\n setActivePanel?: (targetPanel: string) => {};\n}\n\nexport const LuiTabsPanelSwitch: React.FC<LuiTabsPanelSwitch> = (props) => {\n const context = useContext(LuiTabsContext);\n let active = context.activePanel === props.targetPanel;\n return (\n <LuiTab\n id={`${props.targetPanel}-tab`}\n ariaControls={`${props.targetPanel}-tab-panel`}\n active={active}\n onClick={() => {\n if (context.setActivePanel) context.setActivePanel(props.targetPanel);\n }}\n >\n {props.children}\n </LuiTab>\n );\n};\n\ninterface LuiTabProps {\n onClick: () => void;\n active: boolean;\n id: string;\n ariaControls: string;\n}\n\nexport const LuiTab: React.FC<LuiTabProps> = (props) => {\n return (\n <button\n className={clsx('lui-tab', props.active && 'lui-tab-active')}\n id={props.id}\n role=\"tab\"\n aria-selected={props.active}\n aria-controls={`${props.ariaControls}`}\n onClick={props.onClick}\n >\n {props.children}\n </button>\n );\n};\n\ninterface LuiTabPanelProps {\n panel: string;\n}\n\nexport const LuiTabPanel: React.FC<LuiTabPanelProps> = (props) => {\n const context = useContext(LuiTabsContext);\n let active = context.activePanel === props.panel;\n\n return (\n <div\n className={clsx('lui-tab-panel', active && 'lui-tab-panel-active')}\n id={`${props.panel}-tab-panel`}\n role=\"tabpanel\"\n aria-labelledby={`${props.panel}-tab`}\n >\n {props.children}\n </div>\n );\n};\n","import React from 'react';\nimport { Form, Formik, FormikConfig, FormikValues } from 'formik';\nimport clsx from 'clsx';\n\nexport function LuiForm(props: {\n children?: React.ReactNode;\n className?: string;\n}) {\n const classNames = clsx(props.className);\n\n return (\n <div className={classNames}>\n <Form>{props.children} </Form>\n </div>\n );\n}\n\nexport function LuiFormikForm<\n Values extends FormikValues = FormikValues,\n ExtraProps = {}\n>(props: FormikConfig<Values> & ExtraProps & { className?: string }) {\n // this spreads all keys, except className\n const { className, ...formikProps } = { ...props };\n\n return (\n <Formik {...formikProps}>\n <LuiForm className={props.className}>{props.children}</LuiForm>\n </Formik>\n );\n}\n\nexport interface LuiCommonInputProps {\n inputProps?: object;\n required?: boolean;\n disabled?: boolean;\n}\n","import clsx from 'clsx';\nimport { useFormikContext, FieldProps, getIn, Field } from 'formik';\nimport React, { ReactNode } from 'react';\nimport { LuiCommonInputProps } from '../LuiForms';\n\nexport function LuiCheckbox(\n props: {\n name: string;\n value: string;\n label: ReactNode;\n htmlFor?: string;\n className?: string;\n } & LuiCommonInputProps\n) {\n let ctx = useFormikContext();\n return (\n <>\n <Field name={props.name}>\n {({ field }: FieldProps) => {\n const showError = getIn(ctx?.errors, props.name);\n\n return (\n <div className={clsx(showError && 'lui-input-error')}>\n <div className=\"lui-input-group-wrapper \">\n {showError && (\n <i className=\"lui-form-status-icon material-icons-round\">\n error\n </i>\n )}\n <div\n className={clsx('lui-checkbox-container', props.className)}\n >\n <input\n {...props.inputProps}\n type=\"checkbox\"\n id={props.value}\n disabled={!!props.disabled}\n checked={field.value}\n {...field}\n />\n {typeof props.label === 'string' ? (\n <label htmlFor={props.value}>{props.label}</label>\n ) : (\n props.label\n )}\n </div>\n </div>\n </div>\n );\n }}\n </Field>\n </>\n );\n}\n","import clsx from 'clsx';\nimport {\n connect,\n ErrorMessage,\n Field,\n FormikContextType,\n getIn,\n useFormikContext,\n} from 'formik';\nimport React, { ReactNode } from 'react';\nimport { LuiFormLabel } from '../../..';\nimport { LuiCommonInputProps } from '../LuiForms';\n\nexport const LuiTextInput = connect<\n {\n name: string;\n label?: string;\n className?: string;\n helperInfo?: ReactNode;\n tooltip?: string;\n validate?: (value: string) => string | undefined;\n onValueChange?: (newValue: {\n value: string;\n formik: FormikContextType<any>;\n }) => void;\n validateOnChange?: boolean;\n multiLine?: boolean;\n } & LuiCommonInputProps\n>((props) => {\n const error = getIn(props.formik.errors, props.name);\n const touch = getIn(props.formik.touched, props.name);\n const showError = touch && error;\n const { setFieldValue } = useFormikContext();\n\n const multiLineToggle = (field: any): JSX.Element =>\n !props.multiLine ? (\n <input\n className=\"LuiTextInput-input\"\n id={props.name}\n data-testid={props.name}\n {...field}\n type=\"text\"\n {...props.inputProps}\n onChange={(event) => {\n setFieldValue(\n props.name,\n event.target.value,\n props.validateOnChange ?? true\n );\n if (props.onValueChange) {\n props.onValueChange({\n value: event.target.value,\n formik: props.formik,\n });\n }\n }}\n />\n ) : (\n <textarea\n className=\"LuiTextInput-input LuiTextInput-input--textArea\"\n id={props.name}\n data-testid={props.name}\n {...field}\n rows={1}\n {...props.inputProps}\n onChange={(event) => {\n setFieldValue(\n props.name,\n event.target.value,\n props.validateOnChange ?? true\n );\n if (props.onValueChange) {\n props.onValueChange({\n value: event.target.value,\n formik: props.formik,\n });\n }\n }}\n />\n );\n\n return (\n <div\n className={clsx('LuiTextInput', props.className && `${props.className}`)}\n >\n {props.label && (\n <LuiFormLabel\n required={props.required}\n label={props.label}\n for={props.name}\n tooltip={props.tooltip}\n className={'LuiTextInput-label'}\n />\n )}\n {props.helperInfo}\n <Field name={props.name} validate={props.validate}>\n {({ field }: any) => {\n return (\n <div\n className={clsx(\n 'LuiTextInput-inputWrapper',\n showError && 'lui-input-error'\n )}\n >\n <ErrorMessage\n name={props.name}\n render={() => (\n <i className=\"lui-form-status-icon material-icons-round\">\n error\n </i>\n )}\n />\n {multiLineToggle(field)}\n <ErrorMessage\n name={props.name}\n className={'lui-error-msg'}\n component=\"p\"\n />\n </div>\n );\n }}\n </Field>\n </div>\n );\n});\n","import React from 'react';\nimport clsx from 'clsx';\n\nexport const LuiFormLabel: React.FC<{\n for: string;\n label: string;\n className?: string;\n required?: boolean;\n tooltip?: string;\n}> = (props) => (\n <div\n className={clsx(\n 'LuiFormLabel-wrapper',\n props.className && `${props.className}`\n )}\n >\n {props.children}\n <label className=\"LuiFormLabel\" htmlFor={props.for}>\n {props.required && <span className=\"lui-required-input-icon\">*</span>}\n {props.label}\n </label>\n {props.tooltip && <i className=\"material-icons-round\">help</i>}\n </div>\n);\n","import { useField } from 'formik';\nimport React from 'react';\nimport { LuiCommonInputProps } from '../LuiForms';\n\nexport const LuiRadioButton: React.FC<\n {\n label: string;\n className?: string;\n value: string;\n name: string;\n } & LuiCommonInputProps\n> = (props) => {\n const [field, meta] = useField(props);\n\n return (\n <div className={props.className}>\n {meta.touched && meta.error && (\n <i className=\"lui-form-status-icon material-icons-round\">error</i>\n )}\n <div className={'lui-radio-container'}>\n <input\n disabled={!!props.disabled}\n {...field}\n checked={props.value === field.value}\n value={props.value}\n id={props.value}\n type=\"radio\"\n {...props.inputProps}\n />\n <label htmlFor={props.value}>{props.label}</label>\n </div>\n </div>\n );\n};\n","import camelcase from 'camelcase';\nimport clsx from 'clsx';\nimport { useFormikContext, getIn } from 'formik';\nimport React from 'react';\n\n// TODO: It's annoying that we have to pass name into the RadioGroup and RadioButton\nexport const LuiRadioGroup: React.FC<{\n hint?: string;\n legend: string;\n name: string;\n required?: boolean;\n}> = (props) => {\n let ctx = useFormikContext();\n const error = getIn(ctx.errors, props.name);\n const touch = getIn(ctx.touched, props.name);\n const showError = touch && error;\n\n const describedby = props.hint && camelcase(props?.hint) + 'Id';\n const errorDescribedBy = error && camelcase(error) + 'Id';\n\n return (\n <div\n className={clsx(\n 'lui-fieldsetBlock-form-group',\n showError && 'lui-input-error'\n )}\n >\n <fieldset\n aria-describedby={clsx(\n props.hint && describedby + 'Id',\n showError && errorDescribedBy\n )}\n >\n <legend>\n {props.required && <span className=\"lui-required-input-icon\">*</span>}\n {props.legend}\n </legend>\n {showError && (\n <p id={errorDescribedBy}>\n <span className=\"ScreenReadersOnly\"> Error: </span>\n {error}\n </p>\n )}\n {props.hint && (\n <p className=\"lui-fieldset-support-txt small\" id={describedby}>\n {props.hint}\n </p>\n )}\n <div className=\"lui-input-group-wrapper\">{props.children}</div>\n </fieldset>\n </div>\n );\n};\n","import { connect } from 'formik';\nimport React from 'react';\nimport { LuiButton } from '../../LuiButton/LuiButton';\n\nexport const LuiFormSubmitButton = connect<{\n className?: string;\n disabled?: boolean;\n 'data-testid'?: string;\n}>((props) => {\n return (\n <LuiButton\n type=\"submit\"\n className={props.className}\n level=\"primary\"\n data-testid={props['data-testid']}\n disabled={!!props.disabled}\n >\n {props.children}\n </LuiButton>\n );\n});\n","import clsx from 'clsx';\nimport { connect, ErrorMessage, Field, getIn } from 'formik';\nimport React from 'react';\nimport { LuiFormLabel } from '../../LuiForms/LuiFormLabel/LuiFormLabel';\nimport { LuiCommonInputProps } from '../LuiForms';\n\nexport const LuiSelect = connect<\n {\n name: string;\n label: string;\n className?: string;\n defaultValue?: string;\n helperInfo?: () => React.Component;\n tooltip?: string;\n validate?: (value: string) => string | undefined;\n } & LuiCommonInputProps\n>((props) => {\n const error = getIn(props.formik.errors, props.name);\n const touch = getIn(props.formik.touched, props.name);\n const showError = touch && error;\n\n return (\n <div className={props.className}>\n {props.label && (\n <LuiFormLabel\n className={'lui-margin-bottom-xxs'}\n for={props.name}\n label={props.label}\n required={!!props.required}\n tooltip={props.tooltip}\n />\n )}\n {props.helperInfo}\n <div\n className={clsx('lui-input-wrapper', showError && 'lui-input-error')}\n >\n <ErrorMessage\n name={props.name}\n render={() => (\n <i className=\"lui-form-status-icon material-icons-round\">error</i>\n )}\n />\n\n <Field\n disabled={props.disabled}\n defaultValue={props.defaultValue}\n name={props.name}\n id={props.name}\n validate={props.validate}\n as=\"select\"\n {...props.inputProps}\n >\n {props.children}\n </Field>\n\n <ErrorMessage\n name={props.name}\n className={'lui-error-msg'}\n component=\"p\"\n />\n </div>\n </div>\n );\n});\n","import { Field, getIn, useFormikContext } from 'formik';\nimport clsx from 'clsx';\nimport React, { ReactNode, useState } from 'react';\nimport { LuiCommonInputProps } from '../LuiForms/LuiForms';\nimport { LuiFormLabel } from '../LuiForms/LuiFormLabel/LuiFormLabel';\n\ninterface LuiBearingInputProps {\n name: string;\n label?: string;\n helperInfo?: ReactNode;\n tooltip?: string;\n value: string;\n onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n validationError?: string;\n onValidate?: (error: string | null) => void;\n}\n\nexport const LuiBearingInput: React.FC<\n LuiBearingInputProps & LuiCommonInputProps\n> = (props) => {\n interface Bearing {\n sign: '+' | '-';\n degrees: number;\n minutes: number;\n seconds: number;\n }\n\n const maxDecimal = 1;\n const maxAfterDP = 4 + maxDecimal;\n\n const parseBearing = (decimalIsh: string): Bearing => {\n const sign = decimalIsh.startsWith('-') ? '-' : '+';\n const parts = decimalIsh.split('.');\n const degrees = Math.abs(parseInt(parts[0])) || 0;\n let remainder = parts.length > 1 ? parts[1] : '0000';\n while (remainder.length < 4) {\n remainder += '0';\n }\n\n const minutes = parseInt(remainder.substr(0, 2));\n const seconds = parseFloat(\n `${remainder.substr(2, 2)}.${\n remainder.length > 4 ? remainder.substr(4, 2) : '0'\n }`\n );\n\n return { sign, degrees, minutes, seconds };\n };\n\n const validateBearing = (bearing: Bearing): string | null => {\n const signedDegrees =\n bearing.sign === '-' ? bearing.degrees * -1 : bearing.degrees;\n if (signedDegrees < -360 || signedDegrees > 360)\n return 'Degrees must be between -360 and 360';\n if (bearing.minutes < 0 || bearing.minutes >= 60)\n return 'Minutes must be between 0 and 59';\n if (bearing.seconds < 0 || bearing.seconds >= 60)\n return 'Seconds must be between 0 and 59';\n\n //Everything is good, setValidToSubmit truthy to submit\n //here ---\n\n return null;\n };\n\n const formatBearing = (decimalIsh: string): string => {\n const { sign, degrees, minutes, seconds } = parseBearing(decimalIsh);\n const displaySign =\n degrees === 0 && minutes === 0 && seconds === 0 ? '' : sign;\n\n return `${displaySign} ${degrees}° ${padToTwo(minutes)}' ${padToTwo(\n seconds\n )}\"`;\n };\n\n const onChange = (event: React.ChangeEvent<HTMLInputElement>): void => {\n const newValue = event.target.value;\n if (\n newValue === '' ||\n newValue === '-' ||\n newValue.match(RegExp(`^-?[0-9]+(\\\\.[0-9]{0,${maxAfterDP}})?$`))\n ) {\n props.onChange && props.onChange(event);\n } else {\n console.log('Invalid value');\n }\n };\n\n function padToTwo(number: number): string {\n return number <= 9 ? '0' + number : number.toString();\n }\n\n const parsedBearing = parseBearing(props.value);\n const internalError = validateBearing(parsedBearing);\n const error: string | null = internalError || props.validationError || null;\n const showError = error !== null;\n props.onValidate && props.onValidate(internalError);\n\n return (\n <>\n {props.label && (\n <LuiFormLabel\n required={!!props.required}\n label={props.label}\n for={props.name}\n tooltip={props.tooltip}\n />\n )}\n {props.helperInfo}\n\n <div\n className={clsx('lui-margin-top-xs', showError && 'lui-input-error')}\n >\n {showError && (\n <i className=\"lui-form-status-icon material-icons-round\">error</i>\n )}\n\n <div className={'lui-bearing-input-wrapper'}>\n <input\n id={props.name}\n type=\"text\"\n disabled={props.disabled}\n {...props.inputProps}\n onChange={onChange}\n value={props.value}\n />\n <div className={'lui-bearing-display'}>\n {formatBearing(props.value || '0')}\n </div>\n </div>\n\n {showError && <p>{error}</p>}\n </div>\n </>\n );\n};\n\ninterface LuiBearingFormikInputProps {\n name: string;\n label: string;\n}\n\nexport const LuiBearingFormikInput: React.FC<\n LuiBearingFormikInputProps & LuiCommonInputProps\n> = (props) => {\n let ctx = useFormikContext();\n const [error, setError] = useState<string | null>(null);\n\n function validateBearing() {\n return error;\n }\n\n function onValidate(error: string | null): void {\n setError(error);\n }\n\n return (\n <>\n <Field name={props.name} validate={validateBearing}>\n {(renderProps: { field: any }) => {\n return (\n <LuiBearingInput\n name={props.name}\n {...renderProps.field}\n validationError={getIn(ctx?.errors, props.name)}\n required={true}\n onValidate={onValidate}\n inputProps={props.inputProps}\n />\n );\n }}\n </Field>\n </>\n );\n};\n","import React from 'react';\nimport LinzLogoFooter from '../../assets/images/linz-logo-footer.svg';\nimport NzGovtLogoRev from '../../assets/images/nz-govt-logo-rev.svg';\n\ninterface FooterProps {\n className?: string;\n footerText: string;\n contactNumber?: string;\n contactEmail?: string;\n feedbackFormUrl?: string;\n}\n\nexport const LuiFooter: React.FC<FooterProps> = (props) => {\n return (\n <footer className={'lui-footer'}>\n <div className={'lui-footer-columns'}>\n <h2>{props.footerText}</h2>\n <div className=\"lui-row-divider-xs lui-row-divider-sm\" />\n <div className={'lui-footer-container-right'}>\n <h3>Connect</h3>\n <ul className=\"lui-footer-list\">\n {props.contactNumber && (\n <li>\n <a href={'tel:' + props.contactNumber}>{props.contactNumber}</a>\n </li>\n )}\n {props.contactEmail && (\n <li>\n <a href={'mailto:' + props.contactEmail}>Email</a>\n </li>\n )}\n {props.feedbackFormUrl && (\n <li>\n <a\n href={props.feedbackFormUrl}\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n >\n Give feedback\n </a>\n </li>\n )}\n </ul>\n </div>\n </div>\n <div className=\"lui-row-divider-xs lui-row-divider-sm\" />\n <div className={'lui-footer-logo-row'}>\n <div className={'lui-footer-columns'}>\n <div className=\"lui-footer-linz-logo\">\n <a\n href=\"https://www.linz.govt.nz\"\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n >\n <img\n alt=\"Land Information New Zealand (LINZ) - Toitū te whenua\"\n className=\"jss180\"\n src={LinzLogoFooter}\n />\n </a>\n </div>\n <div className=\"lui-footer-nz-govt-logo\">\n <a\n href=\"https://www.govt.nz\"\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n >\n <img\n alt=\"Open New Zealand Government website in new window/tab. \"\n className=\"jss181\"\n src={NzGovtLogoRev}\n />\n </a>\n </div>\n </div>\n </div>\n\n <div className=\"lui-margin-top-md lui-row-divider-xs lui-row-divider-sm lui-row-divider-md lui-row-divider-lg lui-row-divider-xl\">\n <div className={'lui-footer-columns'}>\n <ul className=\"lui-footer-list\">\n <li className={'lui-footer-inline-list-item'}>\n <a href=\"https://www.digital.govt.nz/home/about-digital-govt-nz/contact-us/\">\n Contact\n </a>\n </li>\n <li className={'lui-footer-inline-list-item'}>\n <a href=\"https://www.digital.govt.nz/home/about-digital-govt-nz/privacy/\">\n Privacy\n </a>\n </li>\n </ul>\n\n <div className=\"lui-row-divider-xs\">\n <p className=\"lui-small\">© 2020 Land Information New Zealand</p>\n </div>\n </div>\n </div>\n </footer>\n );\n};\n","import { useCallback, useEffect, useRef } from 'react';\n\n/**\n * A hook which allows you to register a handler when the escape key is pressed\n *\n * @param onEscape the handler function\n */\nexport const useEscapeFunction = (onEscape: () => void) => {\n const escFunction = useCallback(\n (event) => {\n if (event.keyCode === 27) {\n onEscape();\n }\n },\n [onEscape]\n );\n useEffect(() => {\n document.addEventListener('keydown', escFunction, false);\n return () => {\n document.removeEventListener('keydown', escFunction, false);\n };\n }, [escFunction]);\n};\n\n/**\n * A hook which allows handling of click event anywhere on the page.\n * Provides a way of handling clicks done inside or outside the element bound to the returned react ref.\n *\n * @param onClickInsideArg handler for mouse clicks inside the element\n * @param onClickOutsideArg handler for mouse clicks outside the element\n * @return a react ref which can be bound to an html element\n */\nexport const usePageClickFunction = <H extends Element>(\n onClickInsideArg: (event: MouseEvent) => void,\n onClickOutsideArg: (event: MouseEvent) => void\n) => {\n const elementRef = useRef<H>(null);\n const onClickInside = useCallback(onClickInsideArg, []);\n const onClickOutside = useCallback(onClickOutsideArg, []);\n useEffect(() => {\n const handleClick = (e: Event) => {\n if (elementRef.current?.contains(e.target as Node)) {\n onClickInside(e as MouseEvent);\n } else {\n onClickOutside(e as MouseEvent);\n }\n };\n\n // add when mounted\n document.addEventListener('click', handleClick);\n // return function to be called when unmounted\n return () => {\n document.removeEventListener('click', handleClick);\n };\n }, [elementRef, onClickInside, onClickOutside]);\n return elementRef;\n};\n","import { ClassDictionary } from 'clsx';\n\nexport type Size = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n\nexport type Range = {\n from?: Size;\n upto?: Size;\n};\n\nconst sizes: Size[] = ['xs', 'sm', 'md', 'lg', 'xl'];\n\nexport const buildHideClassDict = ({\n from = 'xs',\n upto = 'xl',\n}: Range): ClassDictionary => {\n const inRange = (size: Size): boolean => {\n const idx = sizes.indexOf(size);\n return idx >= sizes.indexOf(from) && idx <= sizes.indexOf(upto);\n };\n return {\n 'lui-hide-xs': inRange('xs'),\n 'lui-hide-sm': inRange('sm'),\n 'lui-hide-md': inRange('md'),\n 'lui-hide-lg': inRange('lg'),\n 'lui-hide-xl': inRange('xl'),\n };\n};\n","import React, {\n createContext,\n forwardRef,\n PropsWithChildren,\n ReactElement,\n useContext,\n} from 'react';\nimport logo from '../../assets/images/linz-logo-col-n-white-txt.svg';\nimport motif from '../../assets/images/linz-motif.svg';\nimport clsx from 'clsx';\nimport { useEscapeFunction, usePageClickFunction } from '../common/Hooks';\nimport { buildHideClassDict, Range } from '../common/ResponsiveUtils';\n\ntype HeaderSize = 'normal' | 'small';\n\ninterface HeaderProps {\n headingText?: string;\n size?: HeaderSize;\n /** The URL or path that the LINZ logo will link to. If unset, the logo will not be a link. */\n homeLink?: string | (() => void);\n transparent?: boolean;\n sticky?: boolean;\n}\n\nconst LuiHeader: React.FC<HeaderProps> = ({\n headingText,\n size = 'small',\n homeLink,\n transparent,\n children,\n sticky = true,\n}) => {\n const logoElement =\n size === 'normal' ? (\n <img className=\"linz-logo\" alt=\"LINZ Logo\" src={logo} />\n ) : (\n <img className=\"linz-motif\" alt=\"LINZ Logo\" src={motif} />\n );\n\n let logoContainer: JSX.Element = logoElement;\n if (typeof homeLink === 'string') {\n logoContainer = <a href={homeLink}>{logoElement}</a>;\n } else if (typeof homeLink === 'function') {\n logoContainer = (\n <div\n className=\"clickable\"\n onClick={() => {\n homeLink();\n }}\n >\n {logoElement}\n </div>\n );\n }\n\n return (\n <header\n className={clsx({\n 'lui-header': true,\n 'lui-header-transparent': transparent,\n 'lui-header-small': size === 'small',\n 'lui-header-sticky': sticky,\n })}\n >\n <div className=\"lui-header-row\">\n <div className=\"lui-header-col\">\n <div className=\"lui-header-logo\">{logoContainer}</div>\n {headingText && (\n <div className=\"lui-header-title\">\n <h1>{headingText}</h1>\n </div>\n )}\n </div>\n <div className=\"lui-header-col\">{children}</div>\n </div>\n </header>\n );\n};\n\ninterface ILuiIcon {\n /**\n * The material-ui icon name (see https://material.io/resources/icons/?search=account_c&style=round)\n */\n icon?: string;\n\n /**\n * Hides the menu item on screens specified\n */\n hide?: Range;\n}\n\ninterface ILuiHeaderMenuItem extends ILuiIcon {\n /**\n * The label that will show up beside (right) the icon, if not specified then it won't show up\n */\n label?: string | ReactElement;\n\n /**\n * The string that will show up as a notification badge which will show up at the upper right corner of the icon.\n */\n badge?: string;\n\n /**\n * The callback handler to be registered which will be called when menu item is clicked.\n */\n onClick?: () => void;\n\n /**\n * The test id used to reference the html element which is bound to the onClick function.\n */\n 'data-testid'?: string;\n}\n\n/**\n * The <code>LuiHeaderMenuItem</code> is the base component for all menu items that are to be shown in the header.\n * Note that it depends on it being rendered inside a LuiHeader for its styles to apply properly.\n * To configure the item for responsiveness, ensure to set any of the hideOn* properties.\n */\nconst LuiHeaderMenuItem = forwardRef<\n HTMLDivElement,\n PropsWithChildren<ILuiHeaderMenuItem>\n>(\n (\n {\n icon,\n label,\n badge,\n hide,\n onClick,\n 'data-testid': dataTestId = 'menu-item',\n children,\n },\n ref\n ) => {\n const menuItemClasses = clsx(\n 'lui-header-menu-item',\n hide && buildHideClassDict(hide)\n );\n const resolvedIcon = !icon && !label ? 'menu' : icon;\n return (\n <div className={menuItemClasses} ref={ref}>\n <div\n className={clsx('lui-header-menu-icon', onClick && 'clickable')}\n onClick={onClick}\n data-testid={dataTestId}\n >\n {resolvedIcon && (\n <i className=\"material-icons-round md-36\">{resolvedIcon}</i>\n )}\n {label && <div className=\"lui-menu-label\">{label}</div>}\n {badge && <div className=\"badge\">{badge}</div>}\n </div>\n {children}\n </div>\n );\n }\n);\n\ninterface ILuiCloseableHeaderMenuContext {\n isOpen: () => boolean;\n open: () => void;\n close: () => void;\n}\n\nconst LuiCloseableHeaderMenuContext = createContext<ILuiCloseableHeaderMenuContext>(\n {\n isOpen: () => false,\n open: () => {},\n close: () => {},\n }\n);\n\ninterface ILuiCloseableHeaderMenuItem\n extends Omit<ILuiHeaderMenuItem, 'onClick'> {\n open: boolean;\n setOpen: (value: boolean) => void;\n}\n\nconst LuiCloseableHeaderMenuItem: React.FC<ILuiCloseableHeaderMenuItem> = ({\n open,\n setOpen,\n ...props\n}) => {\n useEscapeFunction(() => setOpen(false));\n const menuDiv = usePageClickFunction<HTMLDivElement>(\n (event) => open || event.stopPropagation(),\n (event) => {\n if (!open) {\n event.stopPropagation();\n setOpen(false);\n }\n }\n );\n const menuControls = {\n isOpen: () => open,\n open: () => setOpen(true),\n close: () => setOpen(false),\n };\n const menuItemProps = { onClick: () => menuControls.open(), ...props };\n return (\n <LuiCloseableHeaderMenuContext.Provider value={menuControls}>\n <LuiHeaderMenuItem ref={menuDiv} {...menuItemProps}>\n {props.children}\n </LuiHeaderMenuItem>\n </LuiCloseableHeaderMenuContext.Provider>\n );\n};\n\ninterface ILuiMenuCloseButton extends ILuiIcon {\n 'data-testid'?: string;\n}\n\nconst LuiMenuCloseButton: React.FC<ILuiMenuCloseButton> = ({\n icon = 'close',\n hide,\n 'data-testid': dataTestId = 'close-button',\n}) => {\n const menu = useContext(LuiCloseableHeaderMenuContext);\n const classes = clsx(\n 'material-icons-round',\n 'lui-menu-close-button',\n hide && buildHideClassDict(hide)\n );\n return (\n <i className={classes} onClick={menu.close} data-testid={dataTestId}>\n {icon}\n </i>\n );\n};\n\nexport {\n HeaderSize,\n HeaderProps,\n LuiHeader,\n ILuiIcon,\n ILuiHeaderMenuItem,\n LuiHeaderMenuItem,\n ILuiMenuCloseButton,\n LuiMenuCloseButton,\n ILuiCloseableHeaderMenuItem,\n LuiCloseableHeaderMenuItem,\n LuiCloseableHeaderMenuContext,\n};\n","import React, {\n ReactElement,\n ReactNode,\n useContext,\n useEffect,\n useState,\n} from 'react';\nimport {\n ILuiHeaderMenuItem,\n ILuiIcon,\n LuiCloseableHeaderMenuContext,\n LuiCloseableHeaderMenuItem,\n} from '../LuiHeader/LuiHeader';\nimport clsx from 'clsx';\nimport { LuiExpandableBanner } from '../..';\n\ninterface ILuiDrawerMenuOption {\n /**\n * The material-ui icon name (see https://material.io/resources/icons/?search=account_c&style=round)\n */\n icon?: string | ReactElement;\n\n /**\n * The label shown beside the icon which is aligned at the left of the drawer\n */\n label: string;\n\n /**\n * The badge which is shown which is aligned at the right of the drawer\n */\n badge?: ReactElement;\n\n /**\n * The function to be bound together with closing the drawer on click\n */\n onClick?: () => void;\n}\n\nconst LuiDrawerMenuOptions: React.FC<ILuiIcon> = ({ children }) => (\n <div className=\"lui-menu-drawer-options\">{children}</div>\n);\n\nconst LuiDrawerMenuOption: React.FC<ILuiDrawerMenuOption> = ({\n icon,\n label,\n badge,\n onClick = () => {},\n}) => {\n const menu = useContext(LuiCloseableHeaderMenuContext);\n return (\n <div\n className=\"lui-menu-drawer-option\"\n onClick={() => {\n menu.close();\n onClick();\n }}\n data-testid={'drawer-option'}\n >\n <div className=\"lui-menu-drawer-option-label\">\n {typeof icon === 'string' ? (\n <i\n className=\"material-icons-round\"\n data-testid={'drawer-option-icon'}\n >\n {icon}\n </i>\n ) : (\n icon\n )}\n {label}\n </div>\n {badge}\n </div>\n );\n};\n\ntype ILuiDrawerMenu = Omit<ILuiHeaderMenuItem, 'onClick'> & {\n hasStickyHeader?: boolean;\n};\n\nconst LuiDrawerMenu: React.FC<ILuiDrawerMenu> = ({ ...restOfProps }) => {\n const { children, hasStickyHeader = true, ...menuPropsCopy } = restOfProps;\n const [open, setOpen] = useState(false);\n const closeableMenuProps = {\n ...menuPropsCopy,\n open,\n setOpen,\n icon: open ? 'close' : 'menu',\n onClick: () => setOpen(!open),\n };\n\n useEffect(() => {\n // Support for non-sticky headers. Scroll back to top when menu is opened\n if (open && !hasStickyHeader) {\n window.scrollTo({ top: 0, behavior: 'smooth' });\n }\n // Disable page scrolling while menu is open\n if (open) {\n document.body.classList.add('lui-menu-drawer-open');\n } else {\n document.body.classList.remove('lui-menu-drawer-open');\n }\n }, [open, hasStickyHeader]);\n\n return (\n <LuiCloseableHeaderMenuItem {...closeableMenuProps}>\n <div\n className={clsx({\n 'lui-menu-drawer': true,\n 'lui-menu-drawer-closed': !open,\n })}\n data-testid={'drawer'}\n aria-hidden={!open}\n >\n {children}\n </div>\n </LuiCloseableHeaderMenuItem>\n );\n};\n\ntype ILuiDropdownMenu = Omit<ILuiHeaderMenuItem, 'onClick'>;\n\nconst LuiDropdownMenu: React.FC<ILuiDropdownMenu> = ({ ...restOfProps }) => {\n const { children, ...menuPropsCopy } = restOfProps;\n const [open, setOpen] = useState(false);\n const closeableMenuProps = { ...menuPropsCopy, open, setOpen };\n\n return (\n <LuiCloseableHeaderMenuItem {...closeableMenuProps}>\n <div\n className={clsx({\n 'lui-menu-dropdown lui-box-shadow': true,\n 'lui-menu-dropdown-closed': !open,\n })}\n data-testid={'dropdown'}\n aria-hidden={!open}\n >\n {children}{' '}\n </div>\n </LuiCloseableHeaderMenuItem>\n );\n};\n\ninterface ILuiDrawerMenuSection {\n /**\n * Optional tile, displays a header if set\n */\n title?: string;\n collapsible?: boolean;\n children: ReactNode;\n}\n\nconst LuiDrawerMenuSection = (props: ILuiDrawerMenuSection): JSX.Element => {\n const { children, title, collapsible } = props;\n return (\n <div>\n {collapsible && (\n <LuiExpandableBanner\n label={title || ''}\n className=\"LuiDrawerMenuSection-header\"\n >\n {children}\n </LuiExpandableBanner>\n )}\n {!collapsible && (\n <>\n {title && (\n <div className=\"LuiDrawerMenuSection-header\">\n <div\n className={'lui-expand-header'}\n style={{ cursor: 'default' }}\n >\n <h3>{title}</h3>\n </div>\n </div>\n )}\n {children}\n </>\n )}\n </div>\n );\n};\n\nconst LuiDrawerMenuDivider = (): JSX.Element => {\n return <hr className=\"LuiDrawerMenuDivider\" />;\n};\n\nexport {\n ILuiDrawerMenu,\n LuiDrawerMenu,\n LuiDrawerMenuOptions,\n ILuiDrawerMenuOption,\n LuiDrawerMenuOption,\n ILuiDropdownMenu,\n LuiDropdownMenu,\n ILuiDrawerMenuSection,\n LuiDrawerMenuSection,\n LuiDrawerMenuDivider,\n};\n","import React, { useEffect, useRef, useCallback } from 'react';\nimport Modal from 'react-modal';\n\nexport const LuiUpdatesSplashModal: React.FC<{\n bigImage: string;\n smallImage: string;\n header: string;\n onClose: () => void;\n id: string;\n}> = (props) => {\n const node = useRef(null);\n\n // We have to do this as the CSS takes over a lot of the page\n // https://medium.com/@pitipatdop/little-neat-trick-to-capture-click-outside-with-react-hook-ba77c37c7e82\n const handleClickOutside = useCallback(\n (e: any) => {\n console.log('clicking anywhere');\n // current DOES have a contains!\n if (node?.current && (node.current as any).contains(e.target)) {\n // inside click\n return;\n }\n // outside click\n props.onClose();\n },\n [props]\n );\n\n useEffect(() => {\n document.addEventListener('mousedown', handleClickOutside);\n\n return () => {\n document.removeEventListener('mousedown', handleClickOutside);\n };\n }, [handleClickOutside]);\n\n if (process?.env?.NODE_ENV !== 'test') {\n Modal.setAppElement('#root');\n }\n\n return (\n <Modal\n key={props.id}\n isOpen={true}\n shouldCloseOnOverlayClick={true}\n onRequestClose={props.onClose}\n contentLabel=\"Recent updates\"\n className=\"lui-scrim\"\n style={{ overlay: { backgroundColor: 'transparent' } }}\n >\n <div ref={node} className=\"lui-large-feature-notification\">\n <div className=\"lui-feature-img\">\n <h1>{props.header}</h1>\n <button aria-label=\"Close dialog\" onClick={props.onClose}>\n <i className=\"material-icons-round\">close</i>\n </button>\n <img\n className=\"lui-hide-xs lui-hide-sm\"\n alt={\"What's new\"}\n src={props.bigImage}\n />\n <img\n className=\"lui-hide-md lui-hide-lg lui-hide-xl\"\n alt={\"What's new\"}\n src={props.smallImage}\n />\n </div>\n <div className={'lui-feature-text'}>{props.children}</div>\n </div>\n </Modal>\n );\n};\n","import React, { useEffect, useRef, useCallback } from 'react';\nimport Modal from 'react-modal';\nimport clsx from 'clsx';\nimport { getMaterialIconForLevel } from '../LuiBanner/LuiBanner';\n\ninterface ILuiModal {\n key?: string;\n shouldCloseOnOverlayClick?: boolean;\n onClose?: () => void;\n className?: string;\n maxWidth?: boolean;\n headingText?: string;\n lowContrast?: boolean;\n}\n\nexport const LuiModal: React.FC<ILuiModal> = (props) => {\n const node = useRef(null);\n\n const handleClickOutside = useCallback(\n (e: any) => {\n // current DOES have a contains!\n if (node?.current && (node.current as any).contains(e.target)) {\n // inside click\n return;\n }\n // outside click\n if (props.shouldCloseOnOverlayClick) {\n props.onClose && props.onClose();\n }\n },\n [props]\n );\n\n useEffect(() => {\n document.addEventListener('mousedown', handleClickOutside);\n\n return () => {\n document.removeEventListener('mousedown', handleClickOutside);\n };\n }, [handleClickOutside]);\n\n let isTest = false;\n\n // this is here for the tests\n if (process !== undefined) {\n isTest = process?.env?.NODE_ENV === 'test';\n if (!isTest) {\n Modal.setAppElement('#root');\n }\n }\n\n return (\n <Modal\n key={props.key}\n isOpen={true}\n shouldCloseOnOverlayClick={props.shouldCloseOnOverlayClick}\n onRequestClose={props.onClose}\n overlayClassName=\"modal\"\n className={props.lowContrast ? 'lui-scrim-low-contrast' : 'lui-scrim'}\n ariaHideApp={!isTest} // required to prevent warnings that are not applicable in real usage\n >\n <div\n ref={node}\n className={clsx(\n 'lui-modal lui-box-shadow',\n props.maxWidth && 'lui-max-width',\n props.headingText && 'lui-modal-no-padding',\n props.className\n )}\n >\n {props.headingText && (\n <LuiModalHeader\n headingText={props.headingText}\n onClose={props.onClose}\n />\n )}\n <div className={clsx(props.headingText && 'lui-modal-container')}>\n {props.children}\n </div>\n </div>\n </Modal>\n );\n};\n\nexport const LuiAlertModal: React.FC<\n { level: 'success' | 'info' | 'warning' | 'error' } & ILuiModal\n> = (props) => {\n let materialIcon = getMaterialIconForLevel(props.level);\n return (\n <LuiModal\n key={props.key}\n shouldCloseOnOverlayClick={props.shouldCloseOnOverlayClick}\n onClose={props.onClose}\n className={clsx(`lui-modal-${props.level}`, props.className)}\n >\n <i className=\"lui-msg-status-icon material-icons-round\">{materialIcon}</i>\n {props.children}\n </LuiModal>\n );\n};\n\nexport const LuiAlertModalButtons: React.FC = (props) => {\n return <div className=\"modal-btn-row\">{props.children}</div>;\n};\n\ninterface IModalHeader {\n headingText?: string;\n onClose?: () => void;\n}\n\nexport const LuiModalHeader: React.FC<IModalHeader> = (props) => {\n return (\n <header className=\"lui-modal-header\">\n {props.headingText && (\n <div className=\"lui-modal-header-title\">\n <h1>{props.headingText}</h1>\n {props.onClose && (\n <button\n className=\"lui-modal-header-close-btn\"\n onClick={props.onClose}\n >\n <i className=\"material-icons-round lui-modal-header-btn-size\">\n close\n </i>\n </button>\n )}\n </div>\n )}\n </header>\n );\n};\n","import React from 'react';\nimport mountainBroken from '../../assets/images/mountain-broken.svg';\n\nexport const LuiErrorPage: React.FC<{\n header?: React.ReactElement;\n footer?: React.ReactElement;\n content?: React.ReactElement;\n}> = (props) => {\n return (\n <div className={'LuiErrorPage'}>\n {props.header}\n <div className={'Container'}>\n <div className=\"LuiErrorPage-wrapper\">\n <div className={'LuiErrorPage-content'}>{props.content}</div>\n\n <div className={'LuiErrorPage-image'}>\n <img src={mountainBroken} alt=\"Mountain broken\" />\n </div>\n </div>\n </div>\n {props.footer}\n </div>\n );\n};\n","import React from 'react';\nimport loaderData from '../../animations/loader.json';\nimport loaderDataEaster from '../../animations/loader-easter.json';\nimport loaderDataChristmas from '../../animations/loader-xmas.json';\nimport Lottie from 'lottie-react';\n\n// This prevents spinners from animating and causing diffs in chromatic\nconst autoplay = !isChromatic();\n\ninterface LuiLoadingSpinnerBaseProps {\n animationData: any;\n}\n\nconst LuiLoadingSpinnerBase = (props: LuiLoadingSpinnerBaseProps) => {\n return (\n <div\n style={{\n position: 'absolute',\n top: '50%',\n left: '50%',\n zIndex: 1000,\n margin: '-74px',\n }}\n data-testid=\"loading-spinner\"\n >\n <Lottie\n animationData={props.animationData}\n loop={true}\n autoplay={autoplay}\n rendererSettings={{\n preserveAspectRatio: 'xMidYMid slice',\n }}\n style={{ height: 148, width: 148 }}\n />\n </div>\n );\n};\n\ninterface LuiMiniSpinnerProps {\n size: number;\n // To allow data-testid, onClick, etc\n divProps?: any;\n}\nexport const LuiMiniSpinner = (props: LuiMiniSpinnerProps) => {\n return (\n <div {...props.divProps}>\n <Lottie\n animationData={loaderData}\n loop={true}\n autoplay={autoplay}\n rendererSettings={{\n preserveAspectRatio: 'xMidYMid slice',\n }}\n style={{ height: props.size, width: props.size }}\n />\n </div>\n );\n};\n\nexport const LuiLoadingSpinner = () => {\n return <LuiLoadingSpinnerBase animationData={loaderData} />;\n};\nexport const LuiLoadingSpinnerEaster = () => {\n return <LuiLoadingSpinnerBase animationData={loaderDataEaster} />;\n};\nexport const LuiLoadingSpinnerChristmas = () => {\n return <LuiLoadingSpinnerBase animationData={loaderDataChristmas} />;\n};\n\n// this function was extracted from chromatic/isChromatic. It was causing TS issues for the consumer\nfunction isChromatic(): boolean {\n return !!(\n window.navigator.userAgent.match(/Chromatic/) ||\n window.location.href.match(/chromatic=true/)\n );\n}\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","import { IFirm, IUser } from './LOLUserContext';\n\nexport const userHasAnyPrivilege = (\n privileges: string[],\n selectedFirm: IFirm | undefined\n): boolean => {\n return (\n privileges.length === 0 ||\n (selectedFirm !== undefined &&\n selectedFirm.privileges.filter((value) => privileges.indexOf(value) > -1)\n .length > 0)\n );\n};\n\nexport const userIsInternal = (user: IUser | null | undefined): boolean => {\n const loginType =\n ((user?.loginType as any).code as string) || (user?.loginType as string);\n return loginType === 'INTN';\n};\n","import React, { useCallback, useContext, useEffect, useState } from 'react';\nimport { LuiLoadingSpinner } from '../../LuiLoadingSpinner/LuiLoadingSpinner';\nimport { useQuery } from 'react-query';\nimport { userHasAnyPrivilege, userIsInternal } from './LOLUserContextSupport';\n\ninterface IUserContext {\n user: IUser | undefined;\n selectedFirm: IFirm | undefined;\n changeFirm: (firmId: string) => void;\n isInternal: () => boolean;\n hasAnyPrivilege: (privileges: string[]) => boolean;\n}\n\nfunction useLOLUserContext() {\n return useContext(LOLUserContext);\n}\n\nconst LOLUserContext = React.createContext<IUserContext>({\n user: undefined,\n selectedFirm: undefined,\n changeFirm: (firmId: string) => {\n console.error('Called changeFirm before UserContext loaded', firmId);\n },\n isInternal: () => false,\n hasAnyPrivilege: () => false,\n});\n\nfunction LOLUserContextProvider(props: { children: React.ReactNode }) {\n const { isLoading, data, isError } = useGetUserInfo();\n const [selectedFirm, setSelectedFirm] = useState<IFirm>();\n const [ready, setReady] = useState<boolean>(false);\n\n useEffect(() => {\n // User data is still loading\n if (!data?.user) {\n return;\n }\n\n // Clear firm value if there are no firms\n if (data.user.firms.length === 0) {\n setSelectedFirmCache(null, null);\n setReady(true);\n return;\n }\n\n if (\n data.user.firms.length > 0 &&\n (!getSelectedFirmIdCache() ||\n !data.user.firms.find((firm) => firm.id === getSelectedFirmIdCache()))\n ) {\n const firstFirm = data.user.firms[0];\n\n setSelectedFirmCache(firstFirm.id, firstFirm.name);\n setSelectedFirm(firstFirm);\n setReady(true);\n } else {\n // pull firm from cache and use it\n const selectedFirmIdFromCache = getSelectedFirmIdCache();\n const selectedFirmDerivedFromCache = data.user.firms.find(\n (firm) => firm.id === selectedFirmIdFromCache\n );\n setSelectedFirm(selectedFirmDerivedFromCache || undefined);\n setReady(true);\n }\n }, [data]);\n\n const changeFirm = useCallback(\n (firmId: string) => {\n const firm = data?.user?.firms.find((f) => {\n return f.id === firmId;\n });\n\n if (firm === undefined) {\n // tslint:disable-next-line: no-console\n console.error('Looks like firm not in userContext');\n return;\n }\n setSelectedFirmCache(firm.id, firm.name);\n setSelectedFirm(firm);\n },\n [data]\n );\n\n const isInternal = useCallback(() => userIsInternal(data?.user), [data]);\n\n const hasAnyPrivilege = useCallback(\n (privileges: string[]): boolean =>\n userHasAnyPrivilege(privileges, selectedFirm),\n [selectedFirm]\n );\n\n useEffect(() => {\n const onCachedFirmUpdate = (event: StorageEvent) => {\n if (event.storageArea === localStorage && event.key === FIRM_KEY) {\n const selectedFirmId = event.newValue;\n if (selectedFirmId) {\n changeFirm(selectedFirmId);\n }\n }\n };\n\n if (ready) {\n // this only triggers if changed from another tab\n window.addEventListener('storage', onCachedFirmUpdate, false);\n }\n\n // cleanup listener on unmount\n return () => {\n window.removeEventListener('storage', onCachedFirmUpdate, false);\n };\n }, [ready, changeFirm]);\n\n if (isLoading || !ready) {\n return <LuiLoadingSpinner data-testid=\"usercontext-loading-spinner\" />;\n }\n\n if (isError) {\n reAuthUser();\n return <LuiLoadingSpinner data-testid=\"usercontext-error-spinner\" />;\n }\n\n if (data && data.user && data.user.id) {\n return (\n <LOLUserContext.Provider\n value={{\n user: data.user,\n selectedFirm,\n changeFirm,\n isInternal,\n hasAnyPrivilege,\n }}\n >\n {props.children}\n </LOLUserContext.Provider>\n );\n } else {\n reAuthUser();\n return <LuiLoadingSpinner data-testid=\"usercontext-spinner\" />;\n }\n}\n\nfunction useGetUserInfo() {\n return useQuery<IUserResponse, string>(`useGetUserInfo`, async () => {\n const url = `/auth/api/userinfo`;\n const res = await fetch(url);\n\n await checkForStandardErrors(res);\n\n return await res.json();\n });\n}\n\nfunction reAuthUser() {\n const redirectPath = `${window.location.pathname}${window.location.search}${window.location.hash}`;\n window.location.assign(\n `/auth/login?redirectPath=${encodeURIComponent(redirectPath)}`\n );\n}\n\nasync function checkForStandardErrors(res: Response) {\n if (res.status !== 200) {\n reAuthUser();\n }\n}\n\ninterface IUserResponse {\n user: IUser | null;\n}\n\ninterface IUser {\n id: string;\n idHash: string;\n givenNames: string;\n surname: string;\n email: string;\n preferredName: string;\n firms: IFirm[];\n loginType: string;\n roles: string[];\n passwordChangeRequired: boolean;\n lastLogin?: string;\n}\n\ninterface IFirm {\n id: string;\n name: string;\n privileges: Array<string>;\n}\n\nconst FIRM_KEY = 'firmId';\nconst FIRM_NAME_KEY = 'firmName';\n\nfunction getSelectedFirmIdCache(): string | null {\n return window.localStorage.getItem(FIRM_KEY);\n}\n\nfunction setSelectedFirmCache(firmId: string | null, firmName: string | null) {\n if (firmId == null || firmName == null) {\n window.localStorage.removeItem(FIRM_KEY);\n window.localStorage.removeItem(FIRM_NAME_KEY);\n } else {\n window.localStorage.setItem(FIRM_KEY, firmId);\n window.localStorage.setItem(FIRM_NAME_KEY, firmName);\n }\n}\n\nexport {\n IUserResponse,\n LOLUserContext,\n IUser,\n IFirm,\n IUserContext,\n useLOLUserContext,\n LOLUserContextProvider,\n FIRM_KEY,\n FIRM_NAME_KEY,\n};\n","// filters options and forwards to internal render function\n// has option for minimum elements to filter\nimport React, { useRef, useState } from 'react';\nimport { FocusableItem } from '@szhsin/react-menu';\n\nexport interface IFilterProperties<T> {\n showFilter?: boolean;\n filterFunction: (input: string) => T[];\n renderFunction: (filteredOptions: T[]) => JSX.Element;\n}\n\nexport const LuiFilterContainer = (\n props: IFilterProperties<any>\n): JSX.Element => {\n const { renderFunction, filterFunction, showFilter = true } = props;\n const [filter, setFilter] = useState('');\n const ref = useRef(null);\n\n return (\n <div ref={ref}>\n {showFilter && (\n <FocusableItem>\n {({ ref }: any) => (\n <input\n ref={ref}\n type=\"text\"\n placeholder=\"Type to filter\"\n value={filter}\n onChange={(e) => setFilter(e.target.value)}\n />\n )}\n </FocusableItem>\n )}\n {renderFunction(filterFunction(filter))}\n </div>\n );\n};\n","import React, { useCallback, useContext, useEffect, useState } from 'react';\nimport { useLOLUserContext } from './LOLUserContext';\n\nexport interface IGlobalClientRefContext {\n clientRef: string;\n changeClientRef: (ref: string) => void;\n}\n\nexport function useLOLGlobalClientRefContext(): IGlobalClientRefContext {\n return useContext(LOLGlobalClientRefContext);\n}\n\nexport const LOLGlobalClientRefContext = React.createContext<IGlobalClientRefContext>(\n {\n clientRef: '',\n changeClientRef: () => {\n // no-op\n },\n }\n);\n\ninterface LOLGlobalClientRefContextProviderProperties {\n /**\n * If there is no client reference set in the session and this is true, default it to the user id.\n */\n useUserIdAsClientReference?: boolean;\n children: React.ReactNode;\n}\n\nexport const LOLGlobalClientRefContextProvider = (\n props: LOLGlobalClientRefContextProviderProperties\n) => {\n const { useUserIdAsClientReference } = props;\n const { user, selectedFirm } = useLOLUserContext();\n const [clientRef, setClientRef] = useState<string>('');\n const [lastSelectedFirmId, setLastSelectedFirmId] = useState<\n string | undefined\n >(undefined);\n\n const changeClientRef = useCallback((clientRef: string) => {\n setClientRef(clientRef);\n setGlobalClientRefCache(clientRef);\n }, []);\n\n useEffect(() => {\n if (!user) {\n return;\n }\n\n const cachedClientRef = getGlobalClientRefCache();\n let clientRef: string = '';\n if (cachedClientRef === null && useUserIdAsClientReference) {\n clientRef = user.id;\n } else if (cachedClientRef !== null) {\n clientRef = cachedClientRef;\n }\n setClientRef(clientRef);\n setGlobalClientRefCache(clientRef);\n setLastSelectedFirmId(selectedFirm?.id);\n }, [user, selectedFirm, useUserIdAsClientReference]);\n\n useEffect(() => {\n if (\n !selectedFirm ||\n !lastSelectedFirmId ||\n selectedFirm.id === lastSelectedFirmId\n ) {\n return;\n }\n\n // Reset client reference when changing firm\n changeClientRef(useUserIdAsClientReference ? user!.id : '');\n setLastSelectedFirmId(selectedFirm.id);\n }, [\n user,\n selectedFirm,\n lastSelectedFirmId,\n changeClientRef,\n useUserIdAsClientReference,\n ]);\n\n return (\n <LOLGlobalClientRefContext.Provider\n value={{\n clientRef,\n changeClientRef,\n }}\n >\n {props.children}\n </LOLGlobalClientRefContext.Provider>\n );\n};\n\nexport const GLOBAL_CLIENT_REFERENCE_KEY = 'globalClientReference';\n\nexport function getGlobalClientRefCache(): string | null {\n return window.sessionStorage.getItem(GLOBAL_CLIENT_REFERENCE_KEY);\n}\n\nexport function setGlobalClientRefCache(clientReference: string | null) {\n if (clientReference === null) {\n window.sessionStorage.removeItem(GLOBAL_CLIENT_REFERENCE_KEY);\n } else {\n window.sessionStorage.setItem(GLOBAL_CLIENT_REFERENCE_KEY, clientReference);\n }\n}\n","import React, { useCallback, useState } from 'react';\nimport { LuiHeaderMenuItem } from '../LuiHeader/LuiHeader';\nimport { IFirm, useLOLUserContext } from './contexts/LOLUserContext';\nimport {\n ILuiDropdownMenu,\n LuiDrawerMenuSection,\n LuiDropdownMenu,\n} from '../LuiHeaderMenu/LuiHeaderMenus';\nimport { LuiFilterContainer } from '../LuiFilterContainer/LuiFilterContainer';\nimport { useLOLGlobalClientRefContext } from './contexts/LOLGlobalClientRefContext';\n\nexport type ILOLFirmSwitcherMenu = Omit<ILuiDropdownMenu, 'icon' | 'label'> & {\n showClientRef?: boolean;\n};\n\nexport const LOLFirmSwitcherMenu: React.FC<ILOLFirmSwitcherMenu> = ({\n showClientRef = false,\n ...restOfProps\n}) => {\n const { user, selectedFirm, changeFirm, isInternal } = useLOLUserContext();\n const { clientRef } = useLOLGlobalClientRefContext();\n const firms = user!.firms;\n\n const clientRefElement = showClientRef ? (\n <>\n <br />\n <span>Client Ref: {clientRef}</span>\n </>\n ) : null;\n\n const label = isInternal() ? (\n <div className=\"LOLFirmSwitcherMenu-header\">\n {user!.id}\n {clientRefElement}\n </div>\n ) : (\n <div className=\"LOLFirmSwitcherMenu-header\">\n {selectedFirm && (\n <>\n <span>{selectedFirm!.name}</span>\n <br />\n </>\n )}\n <span>User ID: {user!.id}</span>\n {clientRefElement}\n </div>\n );\n\n const dropdownMenuProps = {\n ...restOfProps,\n label,\n };\n\n if (firms.length < 2) {\n return <LuiHeaderMenuItem {...dropdownMenuProps} />;\n }\n\n return (\n <LuiDropdownMenu {...dropdownMenuProps}>\n <LOLFirmSwitcherMenuContent\n firms={firms}\n selectedFirm={selectedFirm}\n changeFirm={changeFirm}\n />\n </LuiDropdownMenu>\n );\n};\n\ninterface ILOLFirmSwitcherMenuContent {\n firms: IFirm[];\n selectedFirm: IFirm | undefined;\n changeFirm: (firmId: string) => void;\n collapsible?: boolean;\n minimumFilterCount?: number;\n}\n\nexport const LOLFirmSwitcherMenuContent: React.FC<ILOLFirmSwitcherMenuContent> = ({\n firms,\n selectedFirm,\n changeFirm,\n collapsible = false,\n minimumFilterCount = 5,\n}) => {\n const showFilter = firms.length >= minimumFilterCount;\n\n return (\n <LuiDrawerMenuSection\n title=\"Switch account\"\n collapsible={collapsible && showFilter}\n >\n <FirmSwitcher\n options={firms}\n selectedId={selectedFirm?.id}\n onSelect={async (id) => changeFirm(id)}\n showFilter={showFilter}\n />\n </LuiDrawerMenuSection>\n );\n};\n\ninterface IFirmOption {\n value: IFirm;\n selected: boolean;\n onSelect: (optionId: string) => void;\n disabled: boolean;\n}\n\nexport const FirmOption: React.FC<IFirmOption> = ({\n value: { id, name },\n onSelect,\n selected,\n disabled,\n}) => {\n return (\n <div\n className={'LOLFirmSwitcherMenu-option'}\n onClick={() => onSelect(id)}\n aria-disabled={disabled}\n data-testid={`firm-${id}`}\n >\n <span>{name}</span>\n {selected && <i className=\"material-icons-round\">check_circle</i>}\n </div>\n );\n};\n\ninterface IFirmSwitcher {\n options: IFirm[];\n selectedId: string | undefined;\n onSelect: (itemId: string) => Promise<void>;\n showFilter?: boolean;\n}\n\nconst FirmSwitcher: React.FC<IFirmSwitcher> = ({\n options,\n selectedId,\n onSelect,\n showFilter = true,\n}) => {\n const [busy, setBusy] = useState(false);\n\n const onSelectInternal = async (optionId: string) => {\n if (!busy) {\n setBusy(true);\n await onSelect(optionId);\n setBusy(false);\n }\n };\n\n const filterFunction = useCallback(\n (filterString: string) => {\n const upperCaseFilterString = filterString.trim().toUpperCase();\n return options.filter((firm) =>\n firm.name.toUpperCase().includes(upperCaseFilterString)\n );\n },\n [options]\n );\n\n const renderFunction = (filteredOptions: IFirm[]) => {\n return (\n <>\n {filteredOptions.map((option) => (\n <FirmOption\n key={option.id}\n value={option}\n selected={option.id === selectedId}\n onSelect={onSelectInternal}\n disabled={busy}\n />\n ))}\n </>\n );\n };\n\n return (\n <div className=\"LOLFirmSwitcherMenu\">\n <LuiFilterContainer\n showFilter={showFilter}\n filterFunction={filterFunction}\n renderFunction={renderFunction}\n />\n </div>\n );\n};\n","import React from 'react';\nimport { LuiDrawerMenuOption } from '../LuiHeaderMenu/LuiHeaderMenus';\nimport { useLOLUserContext } from './contexts/LOLUserContext';\n\nexport interface Props {\n redirectPath: () => string;\n}\nexport const LOLLogoutLink = (props: Props): JSX.Element | null => {\n const redirectPathString = props.redirectPath();\n const { user } = useLOLUserContext();\n\n if (!user) {\n return null;\n }\n\n const logout = async () => {\n const res = await fetch('/auth/api/logout');\n if (res.status === 200) {\n window.location.assign(`/auth/login?redirectPath=${redirectPathString}`);\n } else {\n // TODO: determine best handling of logout endpoint returning non-OK\n }\n };\n return <LuiDrawerMenuOption label={`Logout ${user!.id}`} onClick={logout} />;\n};\n","import React from 'react';\nimport { useLOLUserContext } from './contexts/LOLUserContext';\n\nexport const LOLUserLastLogin: React.FC = () => {\n let lastLogin;\n const context = useLOLUserContext();\n\n const lastLoginISO = context?.user?.lastLogin;\n lastLogin = lastLoginISO\n ? new Date(lastLoginISO).toLocaleString('en-NZ')\n : null;\n\n return (\n <div className=\"LOLUserLastLogin lui-padding-left-xxs lui-padding-right-xxs\">\n <small>\n <span>\n <strong>Last login: {lastLogin}</strong>\n </span>\n <br />\n <span>Not you? Please, call us on 0800 665 463</span>\n </small>\n </div>\n );\n};\n","import React, { useEffect, useState } from 'react';\nimport { LuiBannerContent } from '../LuiBanner/LuiBanner';\nimport { useLOLUserContext } from './contexts/LOLUserContext';\nimport clsx from 'clsx';\nimport { buildHideClassDict, Range, Size } from '../common/ResponsiveUtils';\n\nexport interface ILOLActiveFirmMessageProperties {\n showFrom?: Size;\n}\n\nexport const LOLActiveFirmMessage = (\n props: ILOLActiveFirmMessageProperties\n): JSX.Element | null => {\n const { selectedFirm, user } = useLOLUserContext();\n const [visible, setVisible] = useState<boolean>(false);\n const hide: Range | undefined =\n props.showFrom !== 'xl' ? { from: props.showFrom || 'sm' } : undefined;\n\n useEffect(() => {\n setVisible(true);\n }, [selectedFirm]);\n\n if (!selectedFirm || !visible || user!.firms.length < 2) {\n return null;\n }\n\n return (\n <div className={clsx(hide && buildHideClassDict(hide))}>\n <LuiBannerContent level={'info'}>\n Active account is {selectedFirm.name}\n <button\n aria-label=\"Close dialog\"\n onClick={() => {\n setVisible(false);\n }}\n >\n <i className=\"material-icons-round\">close</i>\n </button>\n </LuiBannerContent>\n </div>\n );\n};\n","import React from 'react';\nimport { LuiDrawerMenuOption } from '../LuiHeaderMenu/LuiHeaderMenus';\nimport ExternalIcon from '../../assets/images/lui-icon-open-externally.svg';\nimport { useLOLUserContext } from './contexts/LOLUserContext';\nimport clsx from 'clsx';\n\nexport interface LOLAuthorisedLinkProps {\n label: string;\n path: string;\n icon: string;\n activeIcon: string;\n active: boolean;\n /**\n * User must have at least one of these privileges to see the link.\n */\n anyPrivileges: string[];\n openExternally?: boolean;\n}\nexport const LOLAuthorisedLink = (\n props: LOLAuthorisedLinkProps\n): JSX.Element | null => {\n const { hasAnyPrivilege } = useLOLUserContext();\n const {\n icon,\n activeIcon,\n active,\n label,\n path,\n openExternally,\n anyPrivileges,\n } = props;\n\n const onClickHandler = async () => {\n if (openExternally) {\n window.open(path, '_blank');\n } else {\n window.location.assign(path);\n }\n };\n\n if (!hasAnyPrivilege(anyPrivileges)) {\n return null;\n }\n\n return (\n <div className={clsx('LOLAuthorisedLink', active && 'active')}>\n <LuiDrawerMenuOption\n icon={\n <div\n className={\n active\n ? 'LOLAuthorisedLink-icon-active'\n : 'LOLAuthorisedLink-icon'\n }\n >\n <img\n src={active ? activeIcon : icon}\n alt={label}\n style={{ width: '48px', height: '48px' }}\n />\n </div>\n }\n label={label}\n onClick={onClickHandler}\n badge={\n openExternally ? (\n <img\n src={ExternalIcon}\n alt=\"Link opens in a new tab\"\n style={{ width: '16px', height: '16px', marginTop: '16px' }}\n />\n ) : (\n <></>\n )\n }\n />\n </div>\n );\n};\n","import React from 'react';\nimport { LOLAuthorisedLink, LOLAuthorisedLinkProps } from './LOLAuthorisedLink';\nimport SearchIcon from '../../assets/images/lui-icon-search-app-link.svg';\nimport SearchIconActive from '../../assets/images/lui-icon-search-app-link-active.svg';\nimport SurveyIcon from '../../assets/images/lui-icon-survey-app-link.svg';\nimport SurveyIconActive from '../../assets/images/lui-icon-survey-app-link-active.svg';\nimport NOCIcon from '../../assets/images/lui-icon-noc-app-link.svg';\nimport NOCIconActive from '../../assets/images/lui-icon-noc-app-link-active.svg';\nimport TitlesIcon from '../../assets/images/lui-icon-titles-app-link.svg';\nimport TitlesIconActive from '../../assets/images/lui-icon-titles-app-link-active.svg';\nimport { useLOLUserContext } from './contexts/LOLUserContext';\nimport { LuiDrawerMenuSection } from '../..';\n\nfunction createLink(\n pathname: string,\n label: string,\n target: string,\n activeIcon: string,\n icon: string,\n anyPrivileges: string[]\n): LOLAuthorisedLinkProps {\n return {\n label,\n path: target,\n icon,\n activeIcon,\n active: pathname.startsWith(target),\n anyPrivileges,\n openExternally: true,\n };\n}\n\nexport interface ILOLAppLauncherMenuProps {\n pathname: string;\n enableNOCLink?: boolean;\n enableSurveyLink?: boolean;\n enableTitlesLink?: boolean;\n}\n\nexport const SEARCH_LABEL = 'Search';\nexport const NOC_LABEL = 'Post registered NoC';\nexport const SURVEY_LABEL = 'Survey';\nexport const TITLES_LABEL = 'Titles';\n\nexport const LOLAppLauncherMenu = (\n props: ILOLAppLauncherMenuProps\n): JSX.Element | null => {\n const { user, isInternal } = useLOLUserContext();\n const {\n pathname,\n enableNOCLink = false,\n enableSurveyLink = false,\n enableTitlesLink = false,\n } = props;\n\n if (!user) {\n return null;\n }\n\n const links: LOLAuthorisedLinkProps[] = [\n createLink(\n pathname,\n SEARCH_LABEL,\n '/search',\n SearchIconActive,\n SearchIcon,\n isInternal() ? [] : ['prv_search_privilege', 'prv_spatial_view']\n ),\n ];\n\n if (!isInternal() && enableNOCLink) {\n links.push(\n createLink(\n pathname,\n NOC_LABEL,\n '/notices',\n NOCIconActive,\n NOCIcon,\n // NOC privileges currently the same as dealings\n [\n 'prv_cancel_with_deal',\n 'prv_create_deal_tin',\n 'prv_edit_modify_deal_tin',\n 'prv_pre_validate_deal',\n 'prv_pre_validate_tin',\n 'prv_release_tin',\n 'prv_sign_tin',\n 'prv_sign_view',\n 'prv_submit_deal',\n 'prv_view_deal_tin',\n 'prv_withdraw_dealing',\n ]\n )\n );\n }\n if (!isInternal() && enableSurveyLink) {\n links.push(\n createLink(\n pathname,\n SURVEY_LABEL,\n '/survey',\n SurveyIconActive,\n SurveyIcon,\n [\n 'prv_create_survey',\n 'prv_exception_process',\n 'prv_survey_sign_submit',\n 'prv_view_survey',\n 'prv_withdraw_survey',\n ]\n )\n );\n }\n if (!isInternal() && enableTitlesLink) {\n links.push(\n createLink(\n pathname,\n TITLES_LABEL,\n '/dealings',\n TitlesIconActive,\n TitlesIcon,\n [\n 'prv_cancel_with_deal',\n 'prv_create_deal_tin',\n 'prv_edit_modify_deal_tin',\n 'prv_pre_validate_deal',\n 'prv_pre_validate_tin',\n 'prv_release_tin',\n 'prv_sign_tin',\n 'prv_sign_view',\n 'prv_submit_deal',\n 'prv_view_deal_tin',\n 'prv_withdraw_dealing',\n ]\n )\n );\n }\n\n return (\n <LuiDrawerMenuSection title=\"Launch app\">\n {links.map((link) => (\n <LOLAuthorisedLink key={link.path} {...link} />\n ))}\n </LuiDrawerMenuSection>\n );\n};\n","import React from 'react';\nimport { useLOLUserContext } from './contexts/LOLUserContext';\nimport { LOLFirmSwitcherMenuContent } from './LOLFirmSwitcher';\n\nexport interface ILOLDrawerMenuFirmSwitcherProperties {\n minimumFilterCount: number;\n}\n\nexport const LOLDrawerMenuFirmSwitcher: React.FC<ILOLDrawerMenuFirmSwitcherProperties> = (\n props\n) => {\n const { minimumFilterCount } = props;\n const { user, selectedFirm, changeFirm } = useLOLUserContext();\n const firms = user?.firms;\n\n if (!firms || !selectedFirm) {\n return null;\n }\n\n if (firms.length < 2) {\n return null;\n }\n\n return (\n <LOLFirmSwitcherMenuContent\n firms={firms}\n selectedFirm={selectedFirm}\n changeFirm={changeFirm}\n collapsible={true}\n minimumFilterCount={minimumFilterCount}\n />\n );\n};\n","import React, { ReactNode } from 'react';\nimport {\n LOLAppLauncherMenu,\n ILOLAppLauncherMenuProps,\n} from './LOLAppLauncherMenu';\nimport { LOLDrawerMenuFirmSwitcher } from './LOLDrawerMenuFirmSwitcher';\nimport { LOLUserLastLogin } from './LOLUserLastLogin';\nimport { LOLLogoutLink } from './LOLLogoutLink';\nimport { useLOLUserContext } from './contexts/LOLUserContext';\nimport {\n LuiDrawerMenuDivider,\n LuiDrawerMenu,\n LuiDrawerMenuOption,\n} from '../LuiHeaderMenu/LuiHeaderMenus';\n\nexport const LOLDrawerMenu = (props: {\n children: ReactNode;\n hasStickyHeader?: boolean;\n}): JSX.Element => {\n return (\n <LuiDrawerMenu hasStickyHeader={props.hasStickyHeader}>\n <div className=\"LOLDrawerMenu\">\n <div className=\"LOLDrawerMenu-contents\">{props.children}</div>\n <div className=\"LOLDrawerMenu-footer\">\n <LOLUserLastLogin />\n </div>\n </div>\n </LuiDrawerMenu>\n );\n};\n\nexport type ILOLCommonDrawerMenuProps = Omit<\n ILOLAppLauncherMenuProps,\n 'pathname'\n> & {\n appSpecificSections?: ReactNode;\n appSpecificLinks?: ReactNode;\n path: string;\n hasStickyHeader?: boolean;\n};\n\nexport const LOLCommonDrawerMenu = (\n props: ILOLCommonDrawerMenuProps\n): JSX.Element => {\n const {\n appSpecificLinks,\n appSpecificSections,\n path,\n hasStickyHeader,\n ...restOfProps\n } = props;\n\n return (\n <LOLDrawerMenu hasStickyHeader={hasStickyHeader}>\n {appSpecificSections}\n <LOLAppLauncherMenu pathname={path} {...restOfProps} />\n <LOLDrawerMenuFirmSwitcher minimumFilterCount={5} />\n {appSpecificLinks && (\n <>\n <LuiDrawerMenuDivider />\n {appSpecificLinks}\n </>\n )}\n <LuiDrawerMenuDivider />\n <LOLCommonDrawerMenuAfterLinks path={path} />\n </LOLDrawerMenu>\n );\n};\n\nexport const LOLCommonDrawerMenuAfterLinks = (props: {\n path: string;\n}): JSX.Element | null => {\n const { isInternal } = useLOLUserContext();\n const { path } = props;\n const contextPath = path.substr(0, path.indexOf('/', 1));\n\n const gotoLink = (url: string) => {\n window.location.assign(url);\n };\n\n return (\n <>\n {!isInternal() && (\n <LuiDrawerMenuOption\n label=\"Change password\"\n onClick={() => {\n gotoLink(\n `/manage/my-preferences?redirectPath=${encodeURIComponent(path)}`\n );\n }}\n />\n )}\n <LOLLogoutLink redirectPath={() => contextPath} />\n </>\n );\n};\n","import React, { ReactNode, useEffect, useMemo } from 'react';\nimport tippy, { Placement } from 'tippy.js';\nimport 'tippy.js/dist/tippy.css';\nimport 'tippy.js/dist/border.css';\n\nexport interface ILuiTooltipProperties {\n message: string;\n placement?: Placement;\n trigger?: string;\n children: ReactNode;\n}\n\nlet id = 0;\nconst getKey = () => id++;\n\nexport const LuiTooltip = (props: ILuiTooltipProperties) => {\n const { children, message, placement, trigger } = props;\n const id = `LuiToolTip_${useMemo(getKey, [])}`;\n\n if (typeof message !== 'string') {\n throw new Error('LuiTooltip message must be a string!');\n }\n\n useEffect(() => {\n tippy(`#${id}`, {\n content: message,\n arrow: true,\n trigger,\n theme: 'LUI',\n placement,\n offset: [0, 24],\n });\n\n return () => {\n (document.getElementById(id) as any)?._tippy?.destroy();\n };\n }, [id, message, placement, trigger]);\n\n return <span id={id}>{children}</span>;\n};\n","import React from 'react';\n\n/** \n * This hook will callback with handleClickOutside() when \"mousedown\" dom event occurs off the refElement\n * usage:\n ```typescript\n const refElement = React.useRef<HTMLButtonElement>(null);\n const handleClickOutside = () => {\n console.log(\"hello world\");\n };\n useClickedOutsideElement(refElement, handleClickOutside);\n return <button ref={refElement}>Click Me!</button>;\n ```\n */\nexport function useClickedOutsideElement(\n refElement: React.RefObject<HTMLElement>,\n handleClickOutside: CallableFunction\n): void {\n React.useEffect(() => {\n function onOutsideClicked(event: MouseEvent) {\n const element = refElement.current;\n if (!element?.contains(event.target as HTMLElement)) {\n handleClickOutside();\n }\n }\n document.addEventListener('mousedown', onOutsideClicked);\n return () => {\n document.removeEventListener('mousedown', onOutsideClicked);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n}\n"],"names":["LuiBanner","props","React","className","LuiBannerContent","level","children","materialIcon","getMaterialIconForLevel","LuiStaticMessage","useState","display","setDisplay","closable","undefined","onClick","PlainButton","forwardRef","ref","buttonProps","type","title","disabled","name","clsx","size","style","LuiButton","_level","href","aProps","openInNewTab","target","rel","LuiButtonGroup","map","child","i","key","LuiToastMessage","displayTimeout","requireDismiss","onClose","setClassname","fadeOutTimer","setFadeOutTimer","removeTimer","setRemoveTimer","callOnCloseAfterDissolved","timer","window","setTimeout","useEffect","clearTimeout","role","UIMessagingContext","createContext","showMessage","useShowLUIMessage","useContext","LuiMessagingContextProvider","_message","setMessage","_messageType","setMessageType","_messageLevel","setMessageLevel","_requireDismiss","setRequireDismiss","message","messageType","messageLevel","renderMessage","Provider","value","LuiExpandableBanner","useRef","collapse","setCollapse","collapseSection","element","sectionHeight","scrollHeight","requestAnimationFrame","height","expandSection","expandFunction","section","current","labelPrefix","width","label","LuiMenu","Menu","menuButton","offsetY","portal","boundingBoxRef","anchorRef","styles","zIndex","getMenuItems","LuiControlledMenu","ControlledMenu","anchorPoint","isOpen","animation","Children","isValidElement","LuiMenuItem","MenuItem","LuiMenuDivider","MenuDivider","LuiMenuHeader","MenuHeader","console","error","LuiFilterMenu","filter","setFilter","useMenuState","closeMenu","openMenu","toggleMenu","menuProps","enabled","onChange","e","open","maxRows","maxHeight","overflowY","FocusableItem","placeholder","filteredItems","item","toUpperCase","includes","trim","specialType","id","onMouseDown","onItemClick","stopPropagation","LuiTabsContext","activePanel","setActivePanel","LuiTabsPanelWrapper","defaultPanel","LuiTabGroup","justify","ariaLabel","LuiTabsPanelSwitch","context","active","targetPanel","LuiTab","ariaControls","LuiTabPanel","panel","LuiForm","classNames","Form","LuiFormikForm","formikProps","Formik","LuiCheckbox","ctx","useFormikContext","Field","field","showError","getIn","errors","inputProps","checked","htmlFor","LuiTextInput","connect","formik","touch","touched","setFieldValue","multiLineToggle","multiLine","event","validateOnChange","onValueChange","rows","LuiFormLabel","required","tooltip","helperInfo","validate","ErrorMessage","render","component","LuiRadioButton","useField","meta","LuiRadioGroup","describedby","hint","camelcase","errorDescribedBy","legend","LuiFormSubmitButton","LuiSelect","defaultValue","as","LuiBearingInput","maxDecimal","maxAfterDP","parseBearing","decimalIsh","sign","startsWith","parts","split","degrees","Math","abs","parseInt","remainder","length","minutes","substr","seconds","parseFloat","validateBearing","bearing","signedDegrees","formatBearing","displaySign","padToTwo","newValue","match","RegExp","log","number","toString","parsedBearing","internalError","validationError","onValidate","LuiBearingFormikInput","setError","renderProps","LuiFooter","footerText","contactNumber","contactEmail","feedbackFormUrl","alt","src","LinzLogoFooter","NzGovtLogoRev","useEscapeFunction","onEscape","escFunction","useCallback","keyCode","document","addEventListener","removeEventListener","usePageClickFunction","onClickInsideArg","onClickOutsideArg","elementRef","onClickInside","onClickOutside","handleClick","contains","sizes","buildHideClassDict","from","upto","inRange","idx","indexOf","LuiHeader","headingText","homeLink","transparent","sticky","logoElement","logo","motif","logoContainer","LuiHeaderMenuItem","icon","badge","hide","dataTestId","menuItemClasses","resolvedIcon","LuiCloseableHeaderMenuContext","close","LuiCloseableHeaderMenuItem","setOpen","menuDiv","menuControls","menuItemProps","LuiMenuCloseButton","menu","classes","LuiDrawerMenuOptions","LuiDrawerMenuOption","LuiDrawerMenu","restOfProps","hasStickyHeader","menuPropsCopy","closeableMenuProps","scrollTo","top","behavior","body","classList","add","remove","LuiDropdownMenu","LuiDrawerMenuSection","collapsible","cursor","LuiDrawerMenuDivider","LuiUpdatesSplashModal","node","handleClickOutside","process","env","NODE_ENV","Modal","setAppElement","shouldCloseOnOverlayClick","onRequestClose","contentLabel","overlay","backgroundColor","header","bigImage","smallImage","LuiModal","isTest","overlayClassName","lowContrast","ariaHideApp","maxWidth","LuiModalHeader","LuiAlertModal","LuiAlertModalButtons","LuiErrorPage","content","mountainBroken","footer","autoplay","isChromatic","LuiLoadingSpinnerBase","position","left","margin","Lottie","animationData","loop","rendererSettings","preserveAspectRatio","LuiMiniSpinner","divProps","loaderData","LuiLoadingSpinner","navigator","userAgent","location","userHasAnyPrivilege","privileges","selectedFirm","userIsInternal","user","loginType","code","useLOLUserContext","LOLUserContext","changeFirm","firmId","isInternal","hasAnyPrivilege","LOLUserContextProvider","useGetUserInfo","isLoading","data","isError","setSelectedFirm","ready","setReady","firms","setSelectedFirmCache","getSelectedFirmIdCache","find","firm","firstFirm","selectedFirmIdFromCache","selectedFirmDerivedFromCache","f","onCachedFirmUpdate","storageArea","localStorage","FIRM_KEY","selectedFirmId","reAuthUser","useQuery","url","fetch","res","checkForStandardErrors","json","redirectPath","pathname","search","hash","assign","encodeURIComponent","status","FIRM_NAME_KEY","getItem","firmName","removeItem","setItem","LuiFilterContainer","renderFunction","filterFunction","showFilter","useLOLGlobalClientRefContext","LOLGlobalClientRefContext","clientRef","changeClientRef","LOLGlobalClientRefContextProvider","useUserIdAsClientReference","setClientRef","lastSelectedFirmId","setLastSelectedFirmId","setGlobalClientRefCache","cachedClientRef","getGlobalClientRefCache","GLOBAL_CLIENT_REFERENCE_KEY","sessionStorage","clientReference","LOLFirmSwitcherMenu","showClientRef","clientRefElement","dropdownMenuProps","LOLFirmSwitcherMenuContent","minimumFilterCount","FirmSwitcher","options","selectedId","onSelect","FirmOption","selected","busy","setBusy","onSelectInternal","optionId","filterString","upperCaseFilterString","filteredOptions","option","LOLLogoutLink","redirectPathString","logout","LOLUserLastLogin","lastLogin","lastLoginISO","Date","toLocaleString","LOLActiveFirmMessage","visible","setVisible","showFrom","LOLAuthorisedLink","activeIcon","path","openExternally","anyPrivileges","onClickHandler","ExternalIcon","marginTop","createLink","SEARCH_LABEL","NOC_LABEL","SURVEY_LABEL","TITLES_LABEL","LOLAppLauncherMenu","enableNOCLink","enableSurveyLink","enableTitlesLink","links","SearchIconActive","SearchIcon","push","NOCIconActive","NOCIcon","SurveyIconActive","SurveyIcon","TitlesIconActive","TitlesIcon","link","LOLDrawerMenuFirmSwitcher","LOLDrawerMenu","LOLCommonDrawerMenu","appSpecificLinks","appSpecificSections","LOLCommonDrawerMenuAfterLinks","contextPath","gotoLink","getKey","LuiTooltip","placement","trigger","useMemo","Error","tippy","arrow","theme","offset","getElementById","_tippy","destroy","useClickedOutsideElement","refElement","onOutsideClicked"],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACIP,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"}
|
|
1
|
+
{"version":3,"file":"lui.esm.js","sources":["../src/components/LuiBanner/LuiBanner.tsx","../src/components/LuiStaticMessage/LuiStaticMessage.tsx","../src/components/LuiButton/LuiButton.tsx","../src/components/LuiToastMessage/LuiToastMessage.tsx","../src/contexts/LuiMessagingContextProvider.tsx","../src/components/LuiExpandableBanner/LuiExpandableBanner.tsx","../src/components/LuiMenu/LuiMenu.tsx","../src/components/LuiFilterMenu/LuiFilterMenu.tsx","../src/components/LuiTabs/LuiTabs.tsx","../src/components/LuiForms/LuiForms.tsx","../src/components/LuiForms/LuiCheckbox/LuiCheckbox.tsx","../src/components/LuiForms/LuiTextInput/LuiTextInput.tsx","../src/components/LuiForms/LuiFormLabel/LuiFormLabel.tsx","../src/components/LuiForms/LuiRadioButton/LuiRadioButton.tsx","../src/components/LuiForms/LuiRadioGroup/LuiRadioGroup.tsx","../src/components/LuiForms/LuiFormSubmitButton/LuiFormSubmitButton.tsx","../src/components/LuiForms/LuiSelect/LuiSelect.tsx","../src/components/LuiBearingInput/LuiBearingInput.tsx","../src/components/LuiFooter/LuiFooter.tsx","../src/components/common/Hooks.tsx","../src/components/common/ResponsiveUtils.ts","../src/components/LuiHeader/LuiHeader.tsx","../src/components/LuiHeaderMenu/LuiHeaderMenus.tsx","../src/components/LuiUpdateSplashModal/LuiUpdatesSplashModal.tsx","../src/components/LuiModal/LuiModal.tsx","../src/components/LuiErrorPage/LuiErrorPage.tsx","../src/components/LuiLoadingSpinner/LuiLoadingSpinner.tsx","../node_modules/regenerator-runtime/runtime.js","../src/components/lol/contexts/LOLUserContextSupport.ts","../src/components/lol/contexts/LOLUserContext.tsx","../src/components/LuiFilterContainer/LuiFilterContainer.tsx","../src/components/lol/contexts/LOLGlobalClientRefContext.tsx","../src/components/lol/LOLFirmSwitcher.tsx","../src/components/lol/LOLLogoutLink.tsx","../src/components/lol/LOLUserLastLogin.tsx","../src/components/lol/LOLActiveFirmMessage.tsx","../src/components/lol/LOLAuthorisedLink.tsx","../src/components/lol/LOLAppLauncherMenu.tsx","../src/components/lol/LOLDrawerMenuFirmSwitcher.tsx","../src/components/lol/LOLCommonDrawerMenu.tsx","../src/components/LuiTooltip/LuiTooltip.tsx","../src/hooks/useClickedOutsideElement.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\n\ntype Props = {\n level: 'success' | 'info' | 'warning' | 'error';\n children: ReactNode;\n};\n\nexport const LuiBanner = (props: Props): JSX.Element => {\n return (\n <div className=\"lui-msg-banner-container\">\n <LuiBannerContent level={props.level}>{props.children}</LuiBannerContent>\n </div>\n );\n};\n\nexport const LuiBannerContent = (props: Props): JSX.Element => {\n let materialIcon = getMaterialIconForLevel(props.level);\n\n return (\n <div className={`lui-msg-${props.level} lui-msg-dynamic-banner`}>\n <i className=\"lui-msg-status-icon material-icons-round\">{materialIcon}</i>\n <div>{props.children}</div>\n </div>\n );\n};\n\nexport function getMaterialIconForLevel(\n level: 'success' | 'info' | 'warning' | 'error'\n) {\n switch (level) {\n case 'success':\n return 'check_circle';\n case 'info':\n return 'info';\n case 'warning':\n return 'warning';\n case 'error':\n return 'error';\n }\n}\n","import React from 'react';\nimport { useState } from 'react';\nimport { getMaterialIconForLevel } from '../LuiBanner/LuiBanner';\n\nexport const LuiStaticMessage: React.FC<{\n level: 'success' | 'info' | 'warning' | 'error';\n closable?: boolean;\n}> = (props) => {\n const [display, setDisplay] = useState(true);\n let materialIcon = getMaterialIconForLevel(props.level);\n\n return display ? (\n <div\n className={`lui-msg-${props.level}`}\n data-testid={'static-message-container'}\n >\n <i className=\"lui-msg-status-icon material-icons-round\">{materialIcon}</i>\n\n {props.children}\n {(props.closable === undefined || props.closable) && (\n <button\n aria-label=\"Close dialog\"\n onClick={() => {\n setDisplay(false);\n }}\n >\n <i className=\"material-icons-round\">close</i>\n </button>\n )}\n </div>\n ) : null;\n};\n","import React, { MouseEvent, PropsWithChildren, ReactNode, Ref } from 'react';\nimport clsx from 'clsx';\n\ninterface LuiButtonProps extends PlainButtonProps {\n href?: string;\n openInNewTab?: boolean;\n level?:\n | 'text'\n | 'plain-text'\n | 'primary'\n | 'secondary'\n | 'tertiary'\n | 'error';\n type?: React.ButtonHTMLAttributes<HTMLButtonElement>['type'];\n size?: 'small' | 'med' | 'large';\n}\n\ninterface PlainButtonProps {\n type?: React.ButtonHTMLAttributes<HTMLButtonElement>['type'];\n disabled?: boolean;\n style?: React.CSSProperties;\n onClick?: (e: MouseEvent) => void;\n name?: string;\n title?: string;\n 'data-testid'?: string;\n className?: string;\n buttonProps?: any;\n ref: Ref<HTMLButtonElement>;\n children: ReactNode;\n}\n\nconst PlainButton = React.forwardRef<\n HTMLButtonElement,\n PlainButtonProps & { level: string; size: string }\n>((props, ref) => {\n return (\n <button\n {...props.buttonProps}\n type={props.type}\n title={props.title}\n disabled={props.disabled}\n name={props.name}\n onClick={props.onClick}\n className={clsx(\n 'lui-button',\n `lui-button-${props.level}`,\n `lui-button-${props.size}`,\n props.className\n )}\n data-testid={props['data-testid']}\n style={props.style}\n ref={ref}\n >\n {props.children}\n </button>\n );\n});\n\nexport const LuiButton = React.forwardRef<\n HTMLButtonElement,\n PropsWithChildren<LuiButtonProps>\n>((props, ref) => {\n const _level = props.level ? props.level : 'primary';\n const size = props.size ? props.size : 'med';\n\n if (props.href) {\n let aProps: any = {\n href: props.href,\n 'data-testid': props['data-testid'],\n name: props.name,\n title: props.title,\n className: clsx(\n 'lui-button',\n `lui-button-${props.level}`,\n `lui-button-${props.size}`,\n props.className\n ),\n style: props.style,\n };\n\n if (props.openInNewTab) {\n aProps.target = '_blank';\n aProps.rel = 'noopener noreferrer';\n }\n\n return <a {...aProps}>{props.children}</a>;\n }\n\n return (\n <PlainButton\n type={props.type}\n title={props.title}\n disabled={props.disabled}\n name={props.name}\n onClick={props.onClick}\n level={_level}\n size={size}\n data-testid={props['data-testid']}\n style={props.style}\n className={props.className}\n buttonProps={props.buttonProps}\n ref={ref}\n >\n {props.children}\n </PlainButton>\n );\n});\n\nexport const LuiButtonGroup: React.FC<{ children: any }> = (props) => {\n return (\n <div className=\"lui-button-group\" data-testid={'button-group'}>\n {props.children.map((child: React.FC, i: number) => {\n return (\n <div key={i} className={'lui-button-wrapper'}>\n {child}\n </div>\n );\n })}\n </div>\n );\n};\n","import React, { useState, useEffect } from 'react';\nimport { getMaterialIconForLevel } from '../LuiBanner/LuiBanner';\n\nexport type ILuiToastMessageLevels = 'success' | 'info' | 'warning' | 'error';\n\ninterface ILuiToastMessageProps {\n /** \"success\" | \"info\" | \"warning\" | \"error\" */\n level: ILuiToastMessageLevels;\n /** 0 means it will not disolve @default 4000 */\n displayTimeout?: number;\n /** allows the consumer to control when Toast fades @default true */\n display?: boolean;\n /** adds an X in the corner @default false */\n requireDismiss?: boolean;\n /** called when all said and done, allows the consumer to remove from React Dom */\n onClose?: () => void;\n children?: React.ReactNode;\n type?: 'button' | 'submit' | 'reset';\n}\n\nexport const LuiToastMessage: React.FC<ILuiToastMessageProps> = ({\n level,\n displayTimeout = 4000,\n display = true,\n requireDismiss,\n onClose,\n children,\n type,\n}: ILuiToastMessageProps) => {\n const [className, setClassname] = useState('lui-msg-toast-show');\n const [fadeOutTimer, setFadeOutTimer] = useState<number | undefined>(\n undefined\n );\n const [removeTimer, setRemoveTimer] = useState<number | undefined>(undefined);\n\n let materialIcon = getMaterialIconForLevel(level);\n\n const callOnCloseAfterDissolved = () => {\n // This is so the caller can remove it from the dom\n if (onClose) {\n const timer = window.setTimeout(onClose, displayTimeout);\n setRemoveTimer(timer);\n }\n };\n\n useEffect(() => {\n // clear timers if previously set\n fadeOutTimer && clearTimeout(fadeOutTimer);\n removeTimer && clearTimeout(removeTimer);\n setClassname('lui-msg-toast-show');\n\n if (!requireDismiss && displayTimeout !== 0) {\n // set a new timer\n const timer = window.setTimeout(() => {\n setClassname('lui-msg-toast-hide');\n callOnCloseAfterDissolved();\n }, displayTimeout);\n setFadeOutTimer(timer);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [requireDismiss, displayTimeout, children]);\n\n useEffect(() => {\n if (!display) {\n setClassname('lui-msg-toast-hide');\n callOnCloseAfterDissolved();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [display]);\n\n return (\n <div\n role=\"status\"\n data-testid={className}\n className={`lui-msg-${level} lui-msg-toast lui-msg-toast-dismissable ${className}`}\n >\n <i className=\"lui-msg-status-icon material-icons-round\">{materialIcon}</i>\n {children}\n <button\n aria-label=\"Close dialog\"\n type={type || 'button'}\n onClick={() => {\n setClassname('lui-msg-toast-hide');\n callOnCloseAfterDissolved();\n }}\n >\n <i className=\"material-icons-round\">close</i>\n </button>\n </div>\n );\n};\n","import React, { createContext, useContext, useState } from 'react';\nimport { LuiToastMessage } from '../components/LuiToastMessage/LuiToastMessage';\n\nexport type MessageLevel = 'success' | 'info' | 'warning' | 'error';\nexport type MessageType = 'toast';\n\nexport interface IUIMessagingContext {\n showMessage: (props: ShowMessageProps) => void;\n}\n\nconst UIMessagingContext = createContext<IUIMessagingContext>({\n // @ts-ignore\n showMessage: (props: ShowMessageProps) => {},\n});\n\nexport function useShowLUIMessage() {\n return useContext(UIMessagingContext).showMessage;\n}\n\nexport interface ShowMessageProps {\n message: string | JSX.Element;\n messageType: MessageType;\n messageLevel: MessageLevel;\n requireDismiss?: boolean;\n}\n\nexport const LuiMessagingContextProvider: React.FC = (props) => {\n const [_message, setMessage] = useState<string | JSX.Element>();\n const [_messageType, setMessageType] = useState<MessageType>();\n const [_messageLevel, setMessageLevel] = useState<MessageLevel>('success');\n const [_requireDismiss, setRequireDismiss] = useState<boolean>(true);\n\n const showMessage = (props: ShowMessageProps) => {\n setMessage(props.message);\n setMessageType(props.messageType);\n setMessageLevel(props.messageLevel);\n setRequireDismiss(\n props.requireDismiss === undefined\n ? props.messageLevel === 'error'\n : props.requireDismiss\n );\n };\n\n const renderMessage = () => {\n switch (_messageType) {\n case 'toast':\n return (\n <LuiToastMessage\n onClose={() => {\n setMessage(undefined);\n }}\n level={_messageLevel}\n requireDismiss={_requireDismiss}\n >\n <span data-testid={'toastMessageShow'}>\n {typeof _message === 'string' ? <h2>{_message}</h2> : _message}\n </span>\n </LuiToastMessage>\n );\n default:\n return null;\n }\n };\n\n return (\n <UIMessagingContext.Provider value={{ showMessage }}>\n {_message && renderMessage()}\n {props.children}\n </UIMessagingContext.Provider>\n );\n};\n","import React, { ReactNode, useRef, useState } from 'react';\nimport clsx from 'clsx';\n\nexport interface Expandable {\n className?: string;\n label: string;\n labelPrefix?: ReactNode;\n}\n\nexport const LuiExpandableBanner: React.FC<Expandable> = (props) => {\n const display = useRef(null);\n\n const [collapse, setCollapse] = useState(true);\n const collapseSection = (element: any) => {\n // get the height of the element's inner content, regardless of its actual size\n const sectionHeight = element.scrollHeight;\n // on the next frame (as soon as the previous style change has taken effect),\n // explicitly set the element's height to its current pixel height, so we\n // aren't transitioning out of 'auto'\n requestAnimationFrame(() => {\n element.style.height = sectionHeight + 'px';\n // on the next frame (as soon as the previous style change has taken effect),\n // have the element transition to height: 0\n requestAnimationFrame(() => {\n element.style.height = 0 + 'px';\n });\n });\n\n // mark the section as \"currently collapsed\"\n setCollapse(true);\n };\n\n const expandSection = (element: any) => {\n // get the height of the element's inner content, regardless of its actual size\n const sectionHeight = element.scrollHeight;\n // have the element transition to the height of its inner content\n element.style.height = sectionHeight + 'px';\n // when the next css transition finishes (which should be the one we just triggered)\n setTimeout(() => {\n element.style.height = 'auto';\n }, 500);\n // mark the section as \"currently not collapsed\"\n setCollapse(false);\n };\n\n const expandFunction = () => {\n const section = display.current;\n if (collapse) {\n expandSection(section);\n } else {\n collapseSection(section);\n }\n };\n\n return (\n <>\n <div className={clsx('lui-expand-container', props.className)}>\n {props.labelPrefix}\n <div\n className={'lui-expand-header'}\n onClick={expandFunction}\n style={{ width: '100%' }}\n >\n <h3>{props.label}</h3>\n <i\n className={clsx(\n collapse\n ? 'lui-expand-icon material-icons-round'\n : 'lui-expand-icon material-icons-round lui-expand-icon-transform'\n )}\n >\n {'expand_more'}\n </i>\n </div>\n </div>\n <div className={'lui-collapse-text'} ref={display}>\n {props.children}\n </div>\n </>\n );\n};\n","import React, { ReactNode } from 'react';\nimport {\n ControlledMenu,\n Menu,\n MenuDivider,\n MenuHeader,\n MenuItem,\n} from '@szhsin/react-menu';\nimport '@szhsin/react-menu/dist/index.css';\n\ninterface LuiMenuProps {\n menuButton: ReactNode;\n children: ReactNode;\n /** render the menu in a portal - required if the menu is contained in an absolutely positioned container with overflow settings. Default: false */\n portal?: boolean;\n boundingBoxRef?: React.MutableRefObject<HTMLElement | null>;\n anchorRef?: React.MutableRefObject<HTMLElement | null>;\n}\n\ninterface LuiControlledMenuProps {\n isOpen: boolean;\n onClose: () => void;\n anchorPoint: { x: number; y: number };\n children: ReactNode;\n boundingBoxRef?: React.MutableRefObject<HTMLElement | null>;\n anchorRef?: React.MutableRefObject<HTMLElement | null>;\n}\n\ninterface LuiMenuItemProps {\n onClick?: () => void;\n disabled?: boolean;\n href?: string | undefined;\n target?: string | undefined;\n rel?: string | undefined;\n children: ReactNode;\n}\n\ninterface LuiMenuHeaderProps {\n children: ReactNode;\n}\n\n/**\n * A menu controlled by a user-supplied MenuButton. Open/closed state is managed internally.\n */\nexport const LuiMenu = (props: LuiMenuProps): JSX.Element => {\n return (\n <Menu\n className=\"lui-menu\"\n menuButton={props.menuButton}\n offsetY={12}\n portal={props.portal === true}\n boundingBoxRef={props.boundingBoxRef}\n anchorRef={props.anchorRef}\n styles={{ zIndex: 10000 }}\n >\n {getMenuItems(props.children)}\n </Menu>\n );\n};\n\n/**\n * A menu with state managed externally. Can be used quite conveniently as a context menu.\n */\nexport const LuiControlledMenu = (\n props: LuiControlledMenuProps\n): JSX.Element => {\n return (\n <ControlledMenu\n className=\"lui-menu\"\n anchorPoint={props.anchorPoint}\n isOpen={props.isOpen}\n onClose={props.onClose}\n animation={false}\n boundingBoxRef={props.boundingBoxRef}\n anchorRef={props.anchorRef}\n >\n {getMenuItems(props.children)}\n </ControlledMenu>\n );\n};\n\n/**\n * Convert the supplied LuiMenuItems into react-menu-compatible MenuItems. An error will be logged if any incompatible\n * children are identified.\n */\nconst getMenuItems = (children: ReactNode): ReactNode => {\n return React.Children.map(children, (child) => {\n if (!child) {\n return null; // child may be false or undefined if conditional logic has been used to include a LuiMenuItem or not\n }\n\n if (\n React.isValidElement(child) &&\n (child as React.ReactElement<any>).type === LuiMenuItem\n ) {\n return <MenuItem {...child.props} />;\n } else if (\n React.isValidElement(child) &&\n (child as React.ReactElement).type === LuiMenuDivider\n ) {\n return <MenuDivider />;\n } else if (\n React.isValidElement(child) &&\n (child as React.ReactElement).type === LuiMenuHeader\n ) {\n return <MenuHeader>{child.props.children}</MenuHeader>;\n }\n\n console.error('A child of LuiMenu may only be a LuiMenuItem');\n return null;\n });\n};\n\nexport const LuiMenuItem = (\n // @ts-ignore\n props: LuiMenuItemProps\n): JSX.Element => {\n // This component is never actually rendered\n return <></>;\n};\n\nexport const LuiMenuDivider = (): JSX.Element => {\n // This component is never actually rendered\n return <></>;\n};\n\nexport const LuiMenuHeader = (\n // @ts-ignore\n props: LuiMenuHeaderProps\n): JSX.Element => {\n // This component is never actually rendered\n return <></>;\n};\n","import React, { ReactNode, useRef, useState } from 'react';\nimport {\n MenuItem,\n FocusableItem,\n MenuDivider,\n MenuHeader,\n useMenuState,\n ControlledMenu,\n} from '@szhsin/react-menu';\nimport '@szhsin/react-menu/dist/index.css';\n\ntype LuiFilterMenuProps = {\n menuButton: (toggleMenu: () => void) => ReactNode;\n filteredItems: SelectMenuItem[];\n onItemClick: (itemId: string) => void;\n maxRows?: number;\n enabled?: boolean;\n};\n\ninterface SelectMenuItem {\n id: string;\n display: string;\n specialType?: 'div' | 'head';\n}\n\nexport const LuiFilterMenu = (props: LuiFilterMenuProps): JSX.Element => {\n const [filter, setFilter] = useState('');\n\n const { closeMenu, openMenu, toggleMenu, ...menuProps } = useMenuState();\n const ref = useRef(null);\n\n return (\n <div ref={ref}>\n {props.menuButton(() => {\n switch (props.enabled) {\n case false: {\n closeMenu();\n break;\n }\n default: {\n toggleMenu();\n break;\n }\n }\n })}\n <ControlledMenu\n {...menuProps}\n anchorRef={ref}\n onClose={() => closeMenu()}\n className=\"lui-menu\"\n offsetY={12}\n onChange={(e: any) => {\n e.open && setFilter('');\n }}\n styles={\n props.maxRows !== undefined\n ? { maxHeight: 62 + 34 * props.maxRows, overflowY: 'auto' }\n : {}\n }\n >\n <FocusableItem>\n {({ ref }: any) => (\n <input\n ref={ref}\n type=\"text\"\n placeholder=\"Type to filter\"\n value={filter}\n onChange={(e) => setFilter(e.target.value)}\n />\n )}\n </FocusableItem>\n\n {props.filteredItems\n .filter((item) =>\n item.display.toUpperCase().includes(filter.trim().toUpperCase())\n )\n .map((item) => {\n if (item?.specialType === 'div') {\n return <MenuDivider key={item.id} />;\n } else if (item?.specialType === 'head') {\n return <MenuHeader key={item.id}>{item.display}</MenuHeader>;\n } else {\n return (\n <MenuItem\n key={item.id}\n onMouseDown={(e: any) => {\n props.onItemClick(item.id);\n e.stopPropagation();\n }}\n >\n {item.display}\n </MenuItem>\n );\n }\n })}\n </ControlledMenu>\n </div>\n );\n};\n","import React, { useState, useContext } from 'react';\nimport clsx from 'clsx';\n\ninterface ILuiTabsContext {\n activePanel: string | null;\n setActivePanel: (activePanel: string) => void;\n}\n\nexport const LuiTabsContext = React.createContext<ILuiTabsContext>({\n activePanel: null,\n setActivePanel: () => {},\n});\n\nexport const LuiTabsPanelWrapper: React.FC<{\n defaultPanel: string;\n}> = (props) => {\n let [activePanel, setActivePanel] = useState<string>(props.defaultPanel);\n return (\n <div className={'lui-tabs'}>\n <LuiTabsContext.Provider value={{ activePanel, setActivePanel }}>\n {props.children}\n </LuiTabsContext.Provider>\n </div>\n );\n};\n\nexport const LuiTabGroup: React.FC<{\n ariaLabel: string;\n justify?: boolean;\n}> = (props) => {\n return (\n <div className={'lui-tabs-style-underline'}>\n <div\n className={`lui-tab-group ${\n props.justify ? 'lui-tab-group-justified' : ''\n }`}\n role=\"tablist\"\n aria-label={props.ariaLabel}\n >\n {props.children}\n </div>\n </div>\n );\n};\n\ninterface LuiTabsPanelSwitch {\n targetPanel: string;\n setActivePanel?: (targetPanel: string) => {};\n}\n\nexport const LuiTabsPanelSwitch: React.FC<LuiTabsPanelSwitch> = (props) => {\n const context = useContext(LuiTabsContext);\n let active = context.activePanel === props.targetPanel;\n return (\n <LuiTab\n id={`${props.targetPanel}-tab`}\n ariaControls={`${props.targetPanel}-tab-panel`}\n active={active}\n onClick={() => {\n if (context.setActivePanel) context.setActivePanel(props.targetPanel);\n }}\n >\n {props.children}\n </LuiTab>\n );\n};\n\ninterface LuiTabProps {\n onClick: () => void;\n active: boolean;\n id: string;\n ariaControls: string;\n}\n\nexport const LuiTab: React.FC<LuiTabProps> = (props) => {\n return (\n <button\n className={clsx('lui-tab', props.active && 'lui-tab-active')}\n id={props.id}\n role=\"tab\"\n aria-selected={props.active}\n aria-controls={`${props.ariaControls}`}\n onClick={props.onClick}\n >\n {props.children}\n </button>\n );\n};\n\ninterface LuiTabPanelProps {\n panel: string;\n}\n\nexport const LuiTabPanel: React.FC<LuiTabPanelProps> = (props) => {\n const context = useContext(LuiTabsContext);\n let active = context.activePanel === props.panel;\n\n return (\n <div\n className={clsx('lui-tab-panel', active && 'lui-tab-panel-active')}\n id={`${props.panel}-tab-panel`}\n role=\"tabpanel\"\n aria-labelledby={`${props.panel}-tab`}\n >\n {props.children}\n </div>\n );\n};\n","import React from 'react';\nimport { Form, Formik, FormikConfig, FormikValues } from 'formik';\nimport clsx from 'clsx';\n\nexport function LuiForm(props: {\n children?: React.ReactNode;\n className?: string;\n}) {\n const classNames = clsx(props.className);\n\n return (\n <div className={classNames}>\n <Form>{props.children} </Form>\n </div>\n );\n}\n\nexport function LuiFormikForm<\n Values extends FormikValues = FormikValues,\n ExtraProps = {}\n>(props: FormikConfig<Values> & ExtraProps & { className?: string }) {\n // this spreads all keys, except className\n const { className, ...formikProps } = { ...props };\n\n return (\n <Formik {...formikProps}>\n <LuiForm className={props.className}>{props.children}</LuiForm>\n </Formik>\n );\n}\n\nexport interface LuiCommonInputProps {\n inputProps?: object;\n required?: boolean;\n disabled?: boolean;\n}\n","import clsx from 'clsx';\nimport { useFormikContext, FieldProps, getIn, Field } from 'formik';\nimport React, { ReactNode } from 'react';\nimport { LuiCommonInputProps } from '../LuiForms';\n\nexport function LuiCheckbox(\n props: {\n name: string;\n value: string;\n label: ReactNode;\n htmlFor?: string;\n className?: string;\n } & LuiCommonInputProps\n) {\n let ctx = useFormikContext();\n return (\n <>\n <Field name={props.name}>\n {({ field }: FieldProps) => {\n const showError = getIn(ctx?.errors, props.name);\n\n return (\n <div className={clsx(showError && 'lui-input-error')}>\n <div className=\"lui-input-group-wrapper \">\n {showError && (\n <i className=\"lui-form-status-icon material-icons-round\">\n error\n </i>\n )}\n <div\n className={clsx('lui-checkbox-container', props.className)}\n >\n <input\n {...props.inputProps}\n type=\"checkbox\"\n id={props.value}\n disabled={!!props.disabled}\n checked={field.value}\n {...field}\n />\n {typeof props.label === 'string' ? (\n <label htmlFor={props.value}>{props.label}</label>\n ) : (\n props.label\n )}\n </div>\n </div>\n </div>\n );\n }}\n </Field>\n </>\n );\n}\n","import clsx from 'clsx';\nimport {\n connect,\n ErrorMessage,\n Field,\n FormikContextType,\n getIn,\n useFormikContext,\n} from 'formik';\nimport React, { ReactNode } from 'react';\nimport { LuiFormLabel } from '../../..';\nimport { LuiCommonInputProps } from '../LuiForms';\n\nexport const LuiTextInput = connect<\n {\n name: string;\n label?: string;\n className?: string;\n helperInfo?: ReactNode;\n tooltip?: string;\n validate?: (value: string) => string | undefined;\n onValueChange?: (newValue: {\n value: string;\n formik: FormikContextType<any>;\n }) => void;\n validateOnChange?: boolean;\n multiLine?: boolean;\n } & LuiCommonInputProps\n>((props) => {\n const error = getIn(props.formik.errors, props.name);\n const touch = getIn(props.formik.touched, props.name);\n const showError = touch && error;\n const { setFieldValue } = useFormikContext();\n\n const multiLineToggle = (field: any): JSX.Element =>\n !props.multiLine ? (\n <input\n className=\"LuiTextInput-input\"\n id={props.name}\n data-testid={props.name}\n {...field}\n type=\"text\"\n {...props.inputProps}\n onChange={(event) => {\n setFieldValue(\n props.name,\n event.target.value,\n props.validateOnChange ?? true\n );\n if (props.onValueChange) {\n props.onValueChange({\n value: event.target.value,\n formik: props.formik,\n });\n }\n }}\n />\n ) : (\n <textarea\n className=\"LuiTextInput-input LuiTextInput-input--textArea\"\n id={props.name}\n data-testid={props.name}\n {...field}\n rows={1}\n {...props.inputProps}\n onChange={(event) => {\n setFieldValue(\n props.name,\n event.target.value,\n props.validateOnChange ?? true\n );\n if (props.onValueChange) {\n props.onValueChange({\n value: event.target.value,\n formik: props.formik,\n });\n }\n }}\n />\n );\n\n return (\n <div\n className={clsx('LuiTextInput', props.className && `${props.className}`)}\n >\n {props.label && (\n <LuiFormLabel\n required={props.required}\n label={props.label}\n for={props.name}\n tooltip={props.tooltip}\n className={'LuiTextInput-label'}\n />\n )}\n {props.helperInfo}\n <Field name={props.name} validate={props.validate}>\n {({ field }: any) => {\n return (\n <div\n className={clsx(\n 'LuiTextInput-inputWrapper',\n showError && 'lui-input-error'\n )}\n >\n <ErrorMessage\n name={props.name}\n render={() => (\n <i className=\"lui-form-status-icon material-icons-round\">\n error\n </i>\n )}\n />\n {multiLineToggle(field)}\n <ErrorMessage\n name={props.name}\n className={'lui-error-msg'}\n component=\"p\"\n />\n </div>\n );\n }}\n </Field>\n </div>\n );\n});\n","import React from 'react';\nimport clsx from 'clsx';\n\nexport const LuiFormLabel: React.FC<{\n for: string;\n label: string;\n className?: string;\n required?: boolean;\n tooltip?: string;\n}> = (props) => (\n <div\n className={clsx(\n 'LuiFormLabel-wrapper',\n props.className && `${props.className}`\n )}\n >\n {props.children}\n <label className=\"LuiFormLabel\" htmlFor={props.for}>\n {props.required && <span className=\"lui-required-input-icon\">*</span>}\n {props.label}\n </label>\n {props.tooltip && <i className=\"material-icons-round\">help</i>}\n </div>\n);\n","import { useField } from 'formik';\nimport React from 'react';\nimport { LuiCommonInputProps } from '../LuiForms';\n\nexport const LuiRadioButton: React.FC<\n {\n label: string;\n className?: string;\n value: string;\n name: string;\n } & LuiCommonInputProps\n> = (props) => {\n const [field, meta] = useField(props);\n\n return (\n <div className={props.className}>\n {meta.touched && meta.error && (\n <i className=\"lui-form-status-icon material-icons-round\">error</i>\n )}\n <div className={'lui-radio-container'}>\n <input\n disabled={!!props.disabled}\n {...field}\n checked={props.value === field.value}\n value={props.value}\n id={props.value}\n type=\"radio\"\n {...props.inputProps}\n />\n <label htmlFor={props.value}>{props.label}</label>\n </div>\n </div>\n );\n};\n","import camelcase from 'camelcase';\nimport clsx from 'clsx';\nimport { useFormikContext, getIn } from 'formik';\nimport React from 'react';\n\n// TODO: It's annoying that we have to pass name into the RadioGroup and RadioButton\nexport const LuiRadioGroup: React.FC<{\n hint?: string;\n legend: string;\n name: string;\n required?: boolean;\n}> = (props) => {\n let ctx = useFormikContext();\n const error = getIn(ctx.errors, props.name);\n const touch = getIn(ctx.touched, props.name);\n const showError = touch && error;\n\n const describedby = props.hint && camelcase(props?.hint) + 'Id';\n const errorDescribedBy = error && camelcase(error) + 'Id';\n\n return (\n <div\n className={clsx(\n 'lui-fieldsetBlock-form-group',\n showError && 'lui-input-error'\n )}\n >\n <fieldset\n aria-describedby={clsx(\n props.hint && describedby + 'Id',\n showError && errorDescribedBy\n )}\n >\n <legend>\n {props.required && <span className=\"lui-required-input-icon\">*</span>}\n {props.legend}\n </legend>\n {showError && (\n <p id={errorDescribedBy}>\n <span className=\"ScreenReadersOnly\"> Error: </span>\n {error}\n </p>\n )}\n {props.hint && (\n <p className=\"lui-fieldset-support-txt small\" id={describedby}>\n {props.hint}\n </p>\n )}\n <div className=\"lui-input-group-wrapper\">{props.children}</div>\n </fieldset>\n </div>\n );\n};\n","import { connect } from 'formik';\nimport React from 'react';\nimport { LuiButton } from '../../LuiButton/LuiButton';\n\nexport const LuiFormSubmitButton = connect<{\n className?: string;\n disabled?: boolean;\n 'data-testid'?: string;\n}>((props) => {\n return (\n <LuiButton\n type=\"submit\"\n className={props.className}\n level=\"primary\"\n data-testid={props['data-testid']}\n disabled={!!props.disabled}\n >\n {props.children}\n </LuiButton>\n );\n});\n","import clsx from 'clsx';\nimport { connect, ErrorMessage, Field, getIn } from 'formik';\nimport React from 'react';\nimport { LuiFormLabel } from '../../LuiForms/LuiFormLabel/LuiFormLabel';\nimport { LuiCommonInputProps } from '../LuiForms';\n\nexport const LuiSelect = connect<\n {\n name: string;\n label: string;\n className?: string;\n defaultValue?: string;\n helperInfo?: () => React.Component;\n tooltip?: string;\n validate?: (value: string) => string | undefined;\n } & LuiCommonInputProps\n>((props) => {\n const error = getIn(props.formik.errors, props.name);\n const touch = getIn(props.formik.touched, props.name);\n const showError = touch && error;\n\n return (\n <div className={props.className}>\n {props.label && (\n <LuiFormLabel\n className={'lui-margin-bottom-xxs'}\n for={props.name}\n label={props.label}\n required={!!props.required}\n tooltip={props.tooltip}\n />\n )}\n {props.helperInfo}\n <div\n className={clsx('lui-input-wrapper', showError && 'lui-input-error')}\n >\n <ErrorMessage\n name={props.name}\n render={() => (\n <i className=\"lui-form-status-icon material-icons-round\">error</i>\n )}\n />\n\n <Field\n disabled={props.disabled}\n defaultValue={props.defaultValue}\n name={props.name}\n id={props.name}\n validate={props.validate}\n as=\"select\"\n {...props.inputProps}\n >\n {props.children}\n </Field>\n\n <ErrorMessage\n name={props.name}\n className={'lui-error-msg'}\n component=\"p\"\n />\n </div>\n </div>\n );\n});\n","import { Field, getIn, useFormikContext } from 'formik';\nimport clsx from 'clsx';\nimport React, { ReactNode, useState } from 'react';\nimport { LuiCommonInputProps } from '../LuiForms/LuiForms';\nimport { LuiFormLabel } from '../LuiForms/LuiFormLabel/LuiFormLabel';\n\ninterface LuiBearingInputProps {\n name: string;\n label?: string;\n helperInfo?: ReactNode;\n tooltip?: string;\n value: string;\n onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n validationError?: string;\n onValidate?: (error: string | null) => void;\n}\n\nexport const LuiBearingInput: React.FC<\n LuiBearingInputProps & LuiCommonInputProps\n> = (props) => {\n interface Bearing {\n sign: '+' | '-';\n degrees: number;\n minutes: number;\n seconds: number;\n }\n\n const maxDecimal = 1;\n const maxAfterDP = 4 + maxDecimal;\n\n const parseBearing = (decimalIsh: string): Bearing => {\n const sign = decimalIsh.startsWith('-') ? '-' : '+';\n const parts = decimalIsh.split('.');\n const degrees = Math.abs(parseInt(parts[0])) || 0;\n let remainder = parts.length > 1 ? parts[1] : '0000';\n while (remainder.length < 4) {\n remainder += '0';\n }\n\n const minutes = parseInt(remainder.substr(0, 2));\n const seconds = parseFloat(\n `${remainder.substr(2, 2)}.${\n remainder.length > 4 ? remainder.substr(4, 2) : '0'\n }`\n );\n\n return { sign, degrees, minutes, seconds };\n };\n\n const validateBearing = (bearing: Bearing): string | null => {\n const signedDegrees =\n bearing.sign === '-' ? bearing.degrees * -1 : bearing.degrees;\n if (signedDegrees < -360 || signedDegrees > 360)\n return 'Degrees must be between -360 and 360';\n if (bearing.minutes < 0 || bearing.minutes >= 60)\n return 'Minutes must be between 0 and 59';\n if (bearing.seconds < 0 || bearing.seconds >= 60)\n return 'Seconds must be between 0 and 59';\n\n //Everything is good, setValidToSubmit truthy to submit\n //here ---\n\n return null;\n };\n\n const formatBearing = (decimalIsh: string): string => {\n const { sign, degrees, minutes, seconds } = parseBearing(decimalIsh);\n const displaySign =\n degrees === 0 && minutes === 0 && seconds === 0 ? '' : sign;\n\n return `${displaySign} ${degrees}° ${padToTwo(minutes)}' ${padToTwo(\n seconds\n )}\"`;\n };\n\n const onChange = (event: React.ChangeEvent<HTMLInputElement>): void => {\n const newValue = event.target.value;\n if (\n newValue === '' ||\n newValue === '-' ||\n newValue.match(RegExp(`^-?[0-9]+(\\\\.[0-9]{0,${maxAfterDP}})?$`))\n ) {\n props.onChange && props.onChange(event);\n } else {\n console.log('Invalid value');\n }\n };\n\n function padToTwo(number: number): string {\n return number <= 9 ? '0' + number : number.toString();\n }\n\n const parsedBearing = parseBearing(props.value);\n const internalError = validateBearing(parsedBearing);\n const error: string | null = internalError || props.validationError || null;\n const showError = error !== null;\n props.onValidate && props.onValidate(internalError);\n\n return (\n <>\n {props.label && (\n <LuiFormLabel\n required={!!props.required}\n label={props.label}\n for={props.name}\n tooltip={props.tooltip}\n />\n )}\n {props.helperInfo}\n\n <div\n className={clsx('lui-margin-top-xs', showError && 'lui-input-error')}\n >\n {showError && (\n <i className=\"lui-form-status-icon material-icons-round\">error</i>\n )}\n\n <div className={'lui-bearing-input-wrapper'}>\n <input\n id={props.name}\n type=\"text\"\n disabled={props.disabled}\n {...props.inputProps}\n onChange={onChange}\n value={props.value}\n />\n <div className={'lui-bearing-display'}>\n {formatBearing(props.value || '0')}\n </div>\n </div>\n\n {showError && <p>{error}</p>}\n </div>\n </>\n );\n};\n\ninterface LuiBearingFormikInputProps {\n name: string;\n label: string;\n}\n\nexport const LuiBearingFormikInput: React.FC<\n LuiBearingFormikInputProps & LuiCommonInputProps\n> = (props) => {\n let ctx = useFormikContext();\n const [error, setError] = useState<string | null>(null);\n\n function validateBearing() {\n return error;\n }\n\n function onValidate(error: string | null): void {\n setError(error);\n }\n\n return (\n <>\n <Field name={props.name} validate={validateBearing}>\n {(renderProps: { field: any }) => {\n return (\n <LuiBearingInput\n name={props.name}\n {...renderProps.field}\n validationError={getIn(ctx?.errors, props.name)}\n required={true}\n onValidate={onValidate}\n inputProps={props.inputProps}\n />\n );\n }}\n </Field>\n </>\n );\n};\n","import React from 'react';\nimport LinzLogoFooter from '../../assets/images/linz-logo-footer.svg';\nimport NzGovtLogoRev from '../../assets/images/nz-govt-logo-rev.svg';\n\ninterface FooterProps {\n className?: string;\n footerText: string;\n contactNumber?: string;\n contactEmail?: string;\n feedbackFormUrl?: string;\n}\n\nexport const LuiFooter: React.FC<FooterProps> = (props) => {\n return (\n <footer className={'lui-footer'}>\n <div className={'lui-footer-columns'}>\n <h2>{props.footerText}</h2>\n <div className=\"lui-row-divider-xs lui-row-divider-sm\" />\n <div className={'lui-footer-container-right'}>\n <h3>Connect</h3>\n <ul className=\"lui-footer-list\">\n {props.contactNumber && (\n <li>\n <a href={'tel:' + props.contactNumber}>{props.contactNumber}</a>\n </li>\n )}\n {props.contactEmail && (\n <li>\n <a href={'mailto:' + props.contactEmail}>Email</a>\n </li>\n )}\n {props.feedbackFormUrl && (\n <li>\n <a\n href={props.feedbackFormUrl}\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n >\n Give feedback\n </a>\n </li>\n )}\n </ul>\n </div>\n </div>\n <div className=\"lui-row-divider-xs lui-row-divider-sm\" />\n <div className={'lui-footer-logo-row'}>\n <div className={'lui-footer-columns'}>\n <div className=\"lui-footer-linz-logo\">\n <a\n href=\"https://www.linz.govt.nz\"\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n >\n <img\n alt=\"Land Information New Zealand (LINZ) - Toitū te whenua\"\n className=\"jss180\"\n src={LinzLogoFooter}\n />\n </a>\n </div>\n <div className=\"lui-footer-nz-govt-logo\">\n <a\n href=\"https://www.govt.nz\"\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n >\n <img\n alt=\"Open New Zealand Government website in new window/tab. \"\n className=\"jss181\"\n src={NzGovtLogoRev}\n />\n </a>\n </div>\n </div>\n </div>\n\n <div className=\"lui-margin-top-md lui-row-divider-xs lui-row-divider-sm lui-row-divider-md lui-row-divider-lg lui-row-divider-xl\">\n <div className={'lui-footer-columns'}>\n <ul className=\"lui-footer-list\">\n <li className={'lui-footer-inline-list-item'}>\n <a href=\"https://www.digital.govt.nz/home/about-digital-govt-nz/contact-us/\">\n Contact\n </a>\n </li>\n <li className={'lui-footer-inline-list-item'}>\n <a href=\"https://www.digital.govt.nz/home/about-digital-govt-nz/privacy/\">\n Privacy\n </a>\n </li>\n </ul>\n\n <div className=\"lui-row-divider-xs\">\n <p className=\"lui-small\">© 2020 Land Information New Zealand</p>\n </div>\n </div>\n </div>\n </footer>\n );\n};\n","import { useCallback, useEffect, useRef } from 'react';\n\n/**\n * A hook which allows you to register a handler when the escape key is pressed\n *\n * @param onEscape the handler function\n */\nexport const useEscapeFunction = (onEscape: () => void) => {\n const escFunction = useCallback(\n (event) => {\n if (event.keyCode === 27) {\n onEscape();\n }\n },\n [onEscape]\n );\n useEffect(() => {\n document.addEventListener('keydown', escFunction, false);\n return () => {\n document.removeEventListener('keydown', escFunction, false);\n };\n }, [escFunction]);\n};\n\n/**\n * A hook which allows handling of click event anywhere on the page.\n * Provides a way of handling clicks done inside or outside the element bound to the returned react ref.\n *\n * @param onClickInsideArg handler for mouse clicks inside the element\n * @param onClickOutsideArg handler for mouse clicks outside the element\n * @return a react ref which can be bound to an html element\n */\nexport const usePageClickFunction = <H extends Element>(\n onClickInsideArg: (event: MouseEvent) => void,\n onClickOutsideArg: (event: MouseEvent) => void\n) => {\n const elementRef = useRef<H>(null);\n const onClickInside = useCallback(onClickInsideArg, []);\n const onClickOutside = useCallback(onClickOutsideArg, []);\n useEffect(() => {\n const handleClick = (e: Event) => {\n if (elementRef.current?.contains(e.target as Node)) {\n onClickInside(e as MouseEvent);\n } else {\n onClickOutside(e as MouseEvent);\n }\n };\n\n // add when mounted\n document.addEventListener('click', handleClick);\n // return function to be called when unmounted\n return () => {\n document.removeEventListener('click', handleClick);\n };\n }, [elementRef, onClickInside, onClickOutside]);\n return elementRef;\n};\n","import { ClassDictionary } from 'clsx';\n\nexport type Size = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n\nexport type Range = {\n from?: Size;\n upto?: Size;\n};\n\nconst sizes: Size[] = ['xs', 'sm', 'md', 'lg', 'xl'];\n\nexport const buildHideClassDict = ({\n from = 'xs',\n upto = 'xl',\n}: Range): ClassDictionary => {\n const inRange = (size: Size): boolean => {\n const idx = sizes.indexOf(size);\n return idx >= sizes.indexOf(from) && idx <= sizes.indexOf(upto);\n };\n return {\n 'lui-hide-xs': inRange('xs'),\n 'lui-hide-sm': inRange('sm'),\n 'lui-hide-md': inRange('md'),\n 'lui-hide-lg': inRange('lg'),\n 'lui-hide-xl': inRange('xl'),\n };\n};\n","import React, {\n createContext,\n forwardRef,\n PropsWithChildren,\n ReactElement,\n useContext,\n} from 'react';\nimport logo from '../../assets/images/linz-logo-col-n-white-txt.svg';\nimport motif from '../../assets/images/linz-motif.svg';\nimport clsx from 'clsx';\nimport { useEscapeFunction, usePageClickFunction } from '../common/Hooks';\nimport { buildHideClassDict, Range } from '../common/ResponsiveUtils';\n\ntype HeaderSize = 'normal' | 'small';\n\ninterface HeaderProps {\n headingText?: string;\n size?: HeaderSize;\n /** The URL or path that the LINZ logo will link to. If unset, the logo will not be a link. */\n homeLink?: string | (() => void);\n transparent?: boolean;\n sticky?: boolean;\n}\n\nconst LuiHeader: React.FC<HeaderProps> = ({\n headingText,\n size = 'small',\n homeLink,\n transparent,\n children,\n sticky = true,\n}) => {\n const logoElement =\n size === 'normal' ? (\n <img className=\"linz-logo\" alt=\"LINZ Logo\" src={logo} />\n ) : (\n <img className=\"linz-motif\" alt=\"LINZ Logo\" src={motif} />\n );\n\n let logoContainer: JSX.Element = logoElement;\n if (typeof homeLink === 'string') {\n logoContainer = <a href={homeLink}>{logoElement}</a>;\n } else if (typeof homeLink === 'function') {\n logoContainer = (\n <div\n className=\"clickable\"\n onClick={() => {\n homeLink();\n }}\n >\n {logoElement}\n </div>\n );\n }\n\n return (\n <header\n className={clsx({\n 'lui-header': true,\n 'lui-header-transparent': transparent,\n 'lui-header-small': size === 'small',\n 'lui-header-sticky': sticky,\n })}\n >\n <div className=\"lui-header-row\">\n <div className=\"lui-header-col\">\n <div className=\"lui-header-logo\">{logoContainer}</div>\n {headingText && (\n <div className=\"lui-header-title\">\n <h1>{headingText}</h1>\n </div>\n )}\n </div>\n <div className=\"lui-header-col\">{children}</div>\n </div>\n </header>\n );\n};\n\ninterface ILuiIcon {\n /**\n * The material-ui icon name (see https://material.io/resources/icons/?search=account_c&style=round)\n */\n icon?: string;\n\n /**\n * Hides the menu item on screens specified\n */\n hide?: Range;\n}\n\ninterface ILuiHeaderMenuItem extends ILuiIcon {\n /**\n * The label that will show up beside (right) the icon, if not specified then it won't show up\n */\n label?: string | ReactElement;\n\n /**\n * The string that will show up as a notification badge which will show up at the upper right corner of the icon.\n */\n badge?: string;\n\n /**\n * The callback handler to be registered which will be called when menu item is clicked.\n */\n onClick?: () => void;\n\n /**\n * The test id used to reference the html element which is bound to the onClick function.\n */\n 'data-testid'?: string;\n}\n\n/**\n * The <code>LuiHeaderMenuItem</code> is the base component for all menu items that are to be shown in the header.\n * Note that it depends on it being rendered inside a LuiHeader for its styles to apply properly.\n * To configure the item for responsiveness, ensure to set any of the hideOn* properties.\n */\nconst LuiHeaderMenuItem = forwardRef<\n HTMLDivElement,\n PropsWithChildren<ILuiHeaderMenuItem>\n>(\n (\n {\n icon,\n label,\n badge,\n hide,\n onClick,\n 'data-testid': dataTestId = 'menu-item',\n children,\n },\n ref\n ) => {\n const menuItemClasses = clsx(\n 'lui-header-menu-item',\n hide && buildHideClassDict(hide)\n );\n const resolvedIcon = !icon && !label ? 'menu' : icon;\n return (\n <div className={menuItemClasses} ref={ref}>\n <div\n className={clsx('lui-header-menu-icon', onClick && 'clickable')}\n onClick={onClick}\n data-testid={dataTestId}\n >\n {resolvedIcon && (\n <i className=\"material-icons-round md-36\">{resolvedIcon}</i>\n )}\n {label && <div className=\"lui-menu-label\">{label}</div>}\n {badge && <div className=\"badge\">{badge}</div>}\n </div>\n {children}\n </div>\n );\n }\n);\n\ninterface ILuiCloseableHeaderMenuContext {\n isOpen: () => boolean;\n open: () => void;\n close: () => void;\n}\n\nconst LuiCloseableHeaderMenuContext = createContext<ILuiCloseableHeaderMenuContext>(\n {\n isOpen: () => false,\n open: () => {},\n close: () => {},\n }\n);\n\ninterface ILuiCloseableHeaderMenuItem\n extends Omit<ILuiHeaderMenuItem, 'onClick'> {\n open: boolean;\n setOpen: (value: boolean) => void;\n}\n\nconst LuiCloseableHeaderMenuItem: React.FC<ILuiCloseableHeaderMenuItem> = ({\n open,\n setOpen,\n ...props\n}) => {\n useEscapeFunction(() => setOpen(false));\n const menuDiv = usePageClickFunction<HTMLDivElement>(\n (event) => open || event.stopPropagation(),\n (event) => {\n if (!open) {\n event.stopPropagation();\n setOpen(false);\n }\n }\n );\n const menuControls = {\n isOpen: () => open,\n open: () => setOpen(true),\n close: () => setOpen(false),\n };\n const menuItemProps = { onClick: () => menuControls.open(), ...props };\n return (\n <LuiCloseableHeaderMenuContext.Provider value={menuControls}>\n <LuiHeaderMenuItem ref={menuDiv} {...menuItemProps}>\n {props.children}\n </LuiHeaderMenuItem>\n </LuiCloseableHeaderMenuContext.Provider>\n );\n};\n\ninterface ILuiMenuCloseButton extends ILuiIcon {\n 'data-testid'?: string;\n}\n\nconst LuiMenuCloseButton: React.FC<ILuiMenuCloseButton> = ({\n icon = 'close',\n hide,\n 'data-testid': dataTestId = 'close-button',\n}) => {\n const menu = useContext(LuiCloseableHeaderMenuContext);\n const classes = clsx(\n 'material-icons-round',\n 'lui-menu-close-button',\n hide && buildHideClassDict(hide)\n );\n return (\n <i className={classes} onClick={menu.close} data-testid={dataTestId}>\n {icon}\n </i>\n );\n};\n\nexport {\n HeaderSize,\n HeaderProps,\n LuiHeader,\n ILuiIcon,\n ILuiHeaderMenuItem,\n LuiHeaderMenuItem,\n ILuiMenuCloseButton,\n LuiMenuCloseButton,\n ILuiCloseableHeaderMenuItem,\n LuiCloseableHeaderMenuItem,\n LuiCloseableHeaderMenuContext,\n};\n","import React, {\n ReactElement,\n ReactNode,\n useContext,\n useEffect,\n useState,\n} from 'react';\nimport {\n ILuiHeaderMenuItem,\n ILuiIcon,\n LuiCloseableHeaderMenuContext,\n LuiCloseableHeaderMenuItem,\n} from '../LuiHeader/LuiHeader';\nimport clsx from 'clsx';\nimport { LuiExpandableBanner } from '../..';\n\ninterface ILuiDrawerMenuOption {\n /**\n * The material-ui icon name (see https://material.io/resources/icons/?search=account_c&style=round)\n */\n icon?: string | ReactElement;\n\n /**\n * The label shown beside the icon which is aligned at the left of the drawer\n */\n label: string;\n\n /**\n * The badge which is shown which is aligned at the right of the drawer\n */\n badge?: ReactElement;\n\n /**\n * The function to be bound together with closing the drawer on click\n */\n onClick?: () => void;\n}\n\nconst LuiDrawerMenuOptions: React.FC<ILuiIcon> = ({ children }) => (\n <div className=\"lui-menu-drawer-options\">{children}</div>\n);\n\nconst LuiDrawerMenuOption: React.FC<ILuiDrawerMenuOption> = ({\n icon,\n label,\n badge,\n onClick = () => {},\n}) => {\n const menu = useContext(LuiCloseableHeaderMenuContext);\n return (\n <div\n className=\"lui-menu-drawer-option\"\n onClick={() => {\n menu.close();\n onClick();\n }}\n data-testid={'drawer-option'}\n >\n <div className=\"lui-menu-drawer-option-label\">\n {typeof icon === 'string' ? (\n <i\n className=\"material-icons-round\"\n data-testid={'drawer-option-icon'}\n >\n {icon}\n </i>\n ) : (\n icon\n )}\n {label}\n </div>\n {badge}\n </div>\n );\n};\n\ntype ILuiDrawerMenu = Omit<ILuiHeaderMenuItem, 'onClick'> & {\n hasStickyHeader?: boolean;\n};\n\nconst LuiDrawerMenu: React.FC<ILuiDrawerMenu> = ({ ...restOfProps }) => {\n const { children, hasStickyHeader = true, ...menuPropsCopy } = restOfProps;\n const [open, setOpen] = useState(false);\n const closeableMenuProps = {\n ...menuPropsCopy,\n open,\n setOpen,\n icon: open ? 'close' : 'menu',\n onClick: () => setOpen(!open),\n };\n\n useEffect(() => {\n // Support for non-sticky headers. Scroll back to top when menu is opened\n if (open && !hasStickyHeader) {\n window.scrollTo({ top: 0, behavior: 'smooth' });\n }\n // Disable page scrolling while menu is open\n if (open) {\n document.body.classList.add('lui-menu-drawer-open');\n } else {\n document.body.classList.remove('lui-menu-drawer-open');\n }\n }, [open, hasStickyHeader]);\n\n return (\n <LuiCloseableHeaderMenuItem {...closeableMenuProps}>\n <div\n className={clsx({\n 'lui-menu-drawer': true,\n 'lui-menu-drawer-closed': !open,\n })}\n data-testid={'drawer'}\n aria-hidden={!open}\n >\n {children}\n </div>\n </LuiCloseableHeaderMenuItem>\n );\n};\n\ntype ILuiDropdownMenu = Omit<ILuiHeaderMenuItem, 'onClick'>;\n\nconst LuiDropdownMenu: React.FC<ILuiDropdownMenu> = ({ ...restOfProps }) => {\n const { children, ...menuPropsCopy } = restOfProps;\n const [open, setOpen] = useState(false);\n const closeableMenuProps = { ...menuPropsCopy, open, setOpen };\n\n return (\n <LuiCloseableHeaderMenuItem {...closeableMenuProps}>\n <div\n className={clsx({\n 'lui-menu-dropdown lui-box-shadow': true,\n 'lui-menu-dropdown-closed': !open,\n })}\n data-testid={'dropdown'}\n aria-hidden={!open}\n >\n {children}{' '}\n </div>\n </LuiCloseableHeaderMenuItem>\n );\n};\n\ninterface ILuiDrawerMenuSection {\n /**\n * Optional tile, displays a header if set\n */\n title?: string;\n collapsible?: boolean;\n children: ReactNode;\n}\n\nconst LuiDrawerMenuSection = (props: ILuiDrawerMenuSection): JSX.Element => {\n const { children, title, collapsible } = props;\n return (\n <div>\n {collapsible && (\n <LuiExpandableBanner\n label={title || ''}\n className=\"LuiDrawerMenuSection-header\"\n >\n {children}\n </LuiExpandableBanner>\n )}\n {!collapsible && (\n <>\n {title && (\n <div className=\"LuiDrawerMenuSection-header\">\n <div\n className={'lui-expand-header'}\n style={{ cursor: 'default' }}\n >\n <h3>{title}</h3>\n </div>\n </div>\n )}\n {children}\n </>\n )}\n </div>\n );\n};\n\nconst LuiDrawerMenuDivider = (): JSX.Element => {\n return <hr className=\"LuiDrawerMenuDivider\" />;\n};\n\nexport {\n ILuiDrawerMenu,\n LuiDrawerMenu,\n LuiDrawerMenuOptions,\n ILuiDrawerMenuOption,\n LuiDrawerMenuOption,\n ILuiDropdownMenu,\n LuiDropdownMenu,\n ILuiDrawerMenuSection,\n LuiDrawerMenuSection,\n LuiDrawerMenuDivider,\n};\n","import React, { useEffect, useRef, useCallback } from 'react';\nimport Modal from 'react-modal';\n\nexport const LuiUpdatesSplashModal: React.FC<{\n bigImage: string;\n smallImage: string;\n header: string;\n onClose: () => void;\n id: string;\n}> = (props) => {\n const node = useRef(null);\n\n // We have to do this as the CSS takes over a lot of the page\n // https://medium.com/@pitipatdop/little-neat-trick-to-capture-click-outside-with-react-hook-ba77c37c7e82\n const handleClickOutside = useCallback(\n (e: any) => {\n console.log('clicking anywhere');\n // current DOES have a contains!\n if (node?.current && (node.current as any).contains(e.target)) {\n // inside click\n return;\n }\n // outside click\n props.onClose();\n },\n [props]\n );\n\n useEffect(() => {\n document.addEventListener('mousedown', handleClickOutside);\n\n return () => {\n document.removeEventListener('mousedown', handleClickOutside);\n };\n }, [handleClickOutside]);\n\n if (process?.env?.NODE_ENV !== 'test') {\n Modal.setAppElement('#root');\n }\n\n return (\n <Modal\n key={props.id}\n isOpen={true}\n shouldCloseOnOverlayClick={true}\n onRequestClose={props.onClose}\n contentLabel=\"Recent updates\"\n className=\"lui-scrim\"\n style={{ overlay: { backgroundColor: 'transparent' } }}\n >\n <div ref={node} className=\"lui-large-feature-notification\">\n <div className=\"lui-feature-img\">\n <h1>{props.header}</h1>\n <button aria-label=\"Close dialog\" onClick={props.onClose}>\n <i className=\"material-icons-round\">close</i>\n </button>\n <img\n className=\"lui-hide-xs lui-hide-sm\"\n alt={\"What's new\"}\n src={props.bigImage}\n />\n <img\n className=\"lui-hide-md lui-hide-lg lui-hide-xl\"\n alt={\"What's new\"}\n src={props.smallImage}\n />\n </div>\n <div className={'lui-feature-text'}>{props.children}</div>\n </div>\n </Modal>\n );\n};\n","import React, { useEffect, useRef, useCallback } from 'react';\nimport Modal from 'react-modal';\nimport clsx from 'clsx';\nimport { getMaterialIconForLevel } from '../LuiBanner/LuiBanner';\n\ninterface ILuiModal {\n key?: string;\n shouldCloseOnOverlayClick?: boolean;\n onClose?: () => void;\n className?: string;\n maxWidth?: boolean;\n headingText?: string;\n lowContrast?: boolean;\n}\n\nexport const LuiModal: React.FC<ILuiModal> = (props) => {\n const node = useRef(null);\n\n const handleClickOutside = useCallback(\n (e: any) => {\n // current DOES have a contains!\n if (node?.current && (node.current as any).contains(e.target)) {\n // inside click\n return;\n }\n // outside click\n if (props.shouldCloseOnOverlayClick) {\n props.onClose && props.onClose();\n }\n },\n [props]\n );\n\n useEffect(() => {\n document.addEventListener('mousedown', handleClickOutside);\n\n return () => {\n document.removeEventListener('mousedown', handleClickOutside);\n };\n }, [handleClickOutside]);\n\n let isTest = false;\n\n // this is here for the tests\n if (process !== undefined) {\n isTest = process?.env?.NODE_ENV === 'test';\n if (!isTest) {\n Modal.setAppElement('#root');\n }\n }\n\n return (\n <Modal\n key={props.key}\n isOpen={true}\n shouldCloseOnOverlayClick={props.shouldCloseOnOverlayClick}\n onRequestClose={props.onClose}\n overlayClassName=\"modal\"\n className={props.lowContrast ? 'lui-scrim-low-contrast' : 'lui-scrim'}\n ariaHideApp={!isTest} // required to prevent warnings that are not applicable in real usage\n >\n <div\n ref={node}\n className={clsx(\n 'lui-modal lui-box-shadow',\n props.maxWidth && 'lui-max-width',\n props.headingText && 'lui-modal-no-padding',\n props.className\n )}\n >\n {props.headingText && (\n <LuiModalHeader\n headingText={props.headingText}\n onClose={props.onClose}\n />\n )}\n <div className={clsx(props.headingText && 'lui-modal-container')}>\n {props.children}\n </div>\n </div>\n </Modal>\n );\n};\n\nexport const LuiAlertModal: React.FC<\n { level: 'success' | 'info' | 'warning' | 'error' } & ILuiModal\n> = (props) => {\n let materialIcon = getMaterialIconForLevel(props.level);\n return (\n <LuiModal\n key={props.key}\n shouldCloseOnOverlayClick={props.shouldCloseOnOverlayClick}\n onClose={props.onClose}\n className={clsx(`lui-modal-${props.level}`, props.className)}\n >\n <i className=\"lui-msg-status-icon material-icons-round\">{materialIcon}</i>\n {props.children}\n </LuiModal>\n );\n};\n\nexport const LuiAlertModalButtons: React.FC = (props) => {\n return <div className=\"modal-btn-row\">{props.children}</div>;\n};\n\ninterface IModalHeader {\n headingText?: string;\n onClose?: () => void;\n}\n\nexport const LuiModalHeader: React.FC<IModalHeader> = (props) => {\n return (\n <header className=\"lui-modal-header\">\n {props.headingText && (\n <div className=\"lui-modal-header-title\">\n <h1>{props.headingText}</h1>\n {props.onClose && (\n <button\n className=\"lui-modal-header-close-btn\"\n onClick={props.onClose}\n >\n <i className=\"material-icons-round lui-modal-header-btn-size\">\n close\n </i>\n </button>\n )}\n </div>\n )}\n </header>\n );\n};\n","import React from 'react';\nimport mountainBroken from '../../assets/images/mountain-broken.svg';\n\nexport const LuiErrorPage: React.FC<{\n header?: React.ReactElement;\n footer?: React.ReactElement;\n content?: React.ReactElement;\n}> = (props) => {\n return (\n <div className={'LuiErrorPage'}>\n {props.header}\n <div className={'Container'}>\n <div className=\"LuiErrorPage-wrapper\">\n <div className={'LuiErrorPage-content'}>{props.content}</div>\n\n <div className={'LuiErrorPage-image'}>\n <img src={mountainBroken} alt=\"Mountain broken\" />\n </div>\n </div>\n </div>\n {props.footer}\n </div>\n );\n};\n","import React from 'react';\nimport loaderData from '../../animations/loader.json';\nimport loaderDataEaster from '../../animations/loader-easter.json';\nimport loaderDataChristmas from '../../animations/loader-xmas.json';\nimport Lottie from 'lottie-react';\n\n// This prevents spinners from animating and causing diffs in chromatic\nconst autoplay = !isChromatic();\n\ninterface LuiLoadingSpinnerBaseProps {\n animationData: any;\n}\n\nconst LuiLoadingSpinnerBase = (props: LuiLoadingSpinnerBaseProps) => {\n return (\n <div\n style={{\n position: 'absolute',\n top: '50%',\n left: '50%',\n zIndex: 1000,\n margin: '-74px',\n }}\n data-testid=\"loading-spinner\"\n >\n <Lottie\n animationData={props.animationData}\n loop={true}\n autoplay={autoplay}\n rendererSettings={{\n preserveAspectRatio: 'xMidYMid slice',\n }}\n style={{ height: 148, width: 148 }}\n />\n </div>\n );\n};\n\ninterface LuiMiniSpinnerProps {\n size: number;\n // To allow data-testid, onClick, etc\n divProps?: any;\n}\nexport const LuiMiniSpinner = (props: LuiMiniSpinnerProps) => {\n return (\n <div {...props.divProps}>\n <Lottie\n animationData={loaderData}\n loop={true}\n autoplay={autoplay}\n rendererSettings={{\n preserveAspectRatio: 'xMidYMid slice',\n }}\n style={{ height: props.size, width: props.size }}\n />\n </div>\n );\n};\n\nexport const LuiLoadingSpinner = () => {\n return <LuiLoadingSpinnerBase animationData={loaderData} />;\n};\nexport const LuiLoadingSpinnerEaster = () => {\n return <LuiLoadingSpinnerBase animationData={loaderDataEaster} />;\n};\nexport const LuiLoadingSpinnerChristmas = () => {\n return <LuiLoadingSpinnerBase animationData={loaderDataChristmas} />;\n};\n\n// this function was extracted from chromatic/isChromatic. It was causing TS issues for the consumer\nfunction isChromatic(): boolean {\n return !!(\n window.navigator.userAgent.match(/Chromatic/) ||\n window.location.href.match(/chromatic=true/)\n );\n}\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","import { IFirm, IUser } from './LOLUserContext';\n\nexport const userHasAnyPrivilege = (\n privileges: string[],\n selectedFirm: IFirm | undefined\n): boolean => {\n return (\n privileges.length === 0 ||\n (selectedFirm !== undefined &&\n selectedFirm.privileges.filter((value) => privileges.indexOf(value) > -1)\n .length > 0)\n );\n};\n\nexport const userIsInternal = (user: IUser | null | undefined): boolean => {\n const loginType =\n ((user?.loginType as any).code as string) || (user?.loginType as string);\n return loginType === 'INTN';\n};\n","import React, { useCallback, useContext, useEffect, useState } from 'react';\nimport { LuiLoadingSpinner } from '../../LuiLoadingSpinner/LuiLoadingSpinner';\nimport { useQuery } from 'react-query';\nimport { userHasAnyPrivilege, userIsInternal } from './LOLUserContextSupport';\n\ninterface IUserContext {\n user: IUser | undefined;\n selectedFirm: IFirm | undefined;\n changeFirm: (firmId: string) => void;\n isInternal: () => boolean;\n hasAnyPrivilege: (privileges: string[]) => boolean;\n}\n\nfunction useLOLUserContext() {\n return useContext(LOLUserContext);\n}\n\nconst LOLUserContext = React.createContext<IUserContext>({\n user: undefined,\n selectedFirm: undefined,\n changeFirm: (firmId: string) => {\n console.error('Called changeFirm before UserContext loaded', firmId);\n },\n isInternal: () => false,\n hasAnyPrivilege: () => false,\n});\n\nfunction LOLUserContextProvider(props: { children: React.ReactNode }) {\n const { isLoading, data, isError } = useGetUserInfo();\n const [selectedFirm, setSelectedFirm] = useState<IFirm>();\n const [ready, setReady] = useState<boolean>(false);\n\n useEffect(() => {\n // User data is still loading\n if (!data?.user) {\n return;\n }\n\n // Clear firm value if there are no firms\n if (data.user.firms.length === 0) {\n setSelectedFirmCache(null, null);\n setReady(true);\n return;\n }\n\n if (\n data.user.firms.length > 0 &&\n (!getSelectedFirmIdCache() ||\n !data.user.firms.find((firm) => firm.id === getSelectedFirmIdCache()))\n ) {\n const firstFirm = data.user.firms[0];\n\n setSelectedFirmCache(firstFirm.id, firstFirm.name);\n setSelectedFirm(firstFirm);\n setReady(true);\n } else {\n // pull firm from cache and use it\n const selectedFirmIdFromCache = getSelectedFirmIdCache();\n const selectedFirmDerivedFromCache = data.user.firms.find(\n (firm) => firm.id === selectedFirmIdFromCache\n );\n setSelectedFirm(selectedFirmDerivedFromCache || undefined);\n setReady(true);\n }\n }, [data]);\n\n const changeFirm = useCallback(\n (firmId: string) => {\n const firm = data?.user?.firms.find((f) => {\n return f.id === firmId;\n });\n\n if (firm === undefined) {\n // tslint:disable-next-line: no-console\n console.error('Looks like firm not in userContext');\n return;\n }\n setSelectedFirmCache(firm.id, firm.name);\n setSelectedFirm(firm);\n },\n [data]\n );\n\n const isInternal = useCallback(() => userIsInternal(data?.user), [data]);\n\n const hasAnyPrivilege = useCallback(\n (privileges: string[]): boolean =>\n userHasAnyPrivilege(privileges, selectedFirm),\n [selectedFirm]\n );\n\n useEffect(() => {\n const onCachedFirmUpdate = (event: StorageEvent) => {\n if (event.storageArea === localStorage && event.key === FIRM_KEY) {\n const selectedFirmId = event.newValue;\n if (selectedFirmId) {\n changeFirm(selectedFirmId);\n }\n }\n };\n\n if (ready) {\n // this only triggers if changed from another tab\n window.addEventListener('storage', onCachedFirmUpdate, false);\n }\n\n // cleanup listener on unmount\n return () => {\n window.removeEventListener('storage', onCachedFirmUpdate, false);\n };\n }, [ready, changeFirm]);\n\n if (isLoading || !ready) {\n return <LuiLoadingSpinner data-testid=\"usercontext-loading-spinner\" />;\n }\n\n if (isError) {\n reAuthUser();\n return <LuiLoadingSpinner data-testid=\"usercontext-error-spinner\" />;\n }\n\n if (data && data.user && data.user.id) {\n return (\n <LOLUserContext.Provider\n value={{\n user: data.user,\n selectedFirm,\n changeFirm,\n isInternal,\n hasAnyPrivilege,\n }}\n >\n {props.children}\n </LOLUserContext.Provider>\n );\n } else {\n reAuthUser();\n return <LuiLoadingSpinner data-testid=\"usercontext-spinner\" />;\n }\n}\n\nfunction useGetUserInfo() {\n return useQuery<IUserResponse, string>(`useGetUserInfo`, async () => {\n const url = `/auth/api/userinfo`;\n const res = await fetch(url);\n\n await checkForStandardErrors(res);\n\n return await res.json();\n });\n}\n\nfunction reAuthUser() {\n const redirectPath = `${window.location.pathname}${window.location.search}${window.location.hash}`;\n window.location.assign(\n `/auth/login?redirectPath=${encodeURIComponent(redirectPath)}`\n );\n}\n\nasync function checkForStandardErrors(res: Response) {\n if (res.status !== 200) {\n reAuthUser();\n }\n}\n\ninterface IUserResponse {\n user: IUser | null;\n}\n\ninterface IUser {\n id: string;\n idHash: string;\n givenNames: string;\n surname: string;\n email: string;\n preferredName: string;\n firms: IFirm[];\n loginType: string;\n roles: string[];\n passwordChangeRequired: boolean;\n lastLogin?: string;\n}\n\ninterface IFirm {\n id: string;\n name: string;\n privileges: Array<string>;\n}\n\nconst FIRM_KEY = 'firmId';\nconst FIRM_NAME_KEY = 'firmName';\n\nfunction getSelectedFirmIdCache(): string | null {\n return window.localStorage.getItem(FIRM_KEY);\n}\n\nfunction setSelectedFirmCache(firmId: string | null, firmName: string | null) {\n if (firmId == null || firmName == null) {\n window.localStorage.removeItem(FIRM_KEY);\n window.localStorage.removeItem(FIRM_NAME_KEY);\n } else {\n window.localStorage.setItem(FIRM_KEY, firmId);\n window.localStorage.setItem(FIRM_NAME_KEY, firmName);\n }\n}\n\nexport {\n IUserResponse,\n LOLUserContext,\n IUser,\n IFirm,\n IUserContext,\n useLOLUserContext,\n LOLUserContextProvider,\n FIRM_KEY,\n FIRM_NAME_KEY,\n};\n","// filters options and forwards to internal render function\n// has option for minimum elements to filter\nimport React, { useState } from 'react';\n\nexport interface IFilterProperties<T> {\n showFilter?: boolean;\n filterFunction: (input: string) => T[];\n renderFunction: (filteredOptions: T[]) => JSX.Element;\n}\n\nexport const LuiFilterContainer = (\n props: IFilterProperties<any>\n): JSX.Element => {\n const { renderFunction, filterFunction, showFilter = true } = props;\n const [filter, setFilter] = useState('');\n\n return (\n <div>\n {showFilter && (\n <div className={'LuiFilterContainer-filter-container'}>\n <input\n type=\"text\"\n placeholder=\"Type to filter\"\n value={filter}\n onChange={(e) => setFilter(e.target.value)}\n />\n </div>\n )}\n {renderFunction(filterFunction(filter))}\n </div>\n );\n};\n","import React, { useCallback, useContext, useEffect, useState } from 'react';\nimport { useLOLUserContext } from './LOLUserContext';\n\nexport interface IGlobalClientRefContext {\n clientRef: string;\n changeClientRef: (ref: string) => void;\n}\n\nexport function useLOLGlobalClientRefContext(): IGlobalClientRefContext {\n return useContext(LOLGlobalClientRefContext);\n}\n\nexport const LOLGlobalClientRefContext = React.createContext<IGlobalClientRefContext>(\n {\n clientRef: '',\n changeClientRef: () => {\n // no-op\n },\n }\n);\n\ninterface LOLGlobalClientRefContextProviderProperties {\n /**\n * If there is no client reference set in the session and this is true, default it to the user id.\n */\n useUserIdAsClientReference?: boolean;\n children: React.ReactNode;\n}\n\nexport const LOLGlobalClientRefContextProvider = (\n props: LOLGlobalClientRefContextProviderProperties\n) => {\n const { useUserIdAsClientReference } = props;\n const { user, selectedFirm } = useLOLUserContext();\n const [clientRef, setClientRef] = useState<string>('');\n const [lastSelectedFirmId, setLastSelectedFirmId] = useState<\n string | undefined\n >(undefined);\n\n const changeClientRef = useCallback((clientRef: string) => {\n setClientRef(clientRef);\n setGlobalClientRefCache(clientRef);\n }, []);\n\n useEffect(() => {\n window.addEventListener('beforeunload', () => {\n setGlobalClientRefCache(null);\n });\n }, []);\n\n useEffect(() => {\n if (!user) {\n return;\n }\n\n const cachedClientRef = getGlobalClientRefCache();\n let clientRef: string = '';\n if (cachedClientRef === null && useUserIdAsClientReference) {\n clientRef = user.id;\n } else if (cachedClientRef !== null) {\n clientRef = cachedClientRef;\n }\n setClientRef(clientRef);\n setGlobalClientRefCache(clientRef);\n setLastSelectedFirmId(selectedFirm?.id);\n }, [user, selectedFirm, useUserIdAsClientReference]);\n\n useEffect(() => {\n if (\n !selectedFirm ||\n !lastSelectedFirmId ||\n selectedFirm.id === lastSelectedFirmId\n ) {\n return;\n }\n\n // Reset client reference when changing firm\n changeClientRef(useUserIdAsClientReference ? user!.id : '');\n setLastSelectedFirmId(selectedFirm.id);\n }, [\n user,\n selectedFirm,\n lastSelectedFirmId,\n changeClientRef,\n useUserIdAsClientReference,\n ]);\n\n return (\n <LOLGlobalClientRefContext.Provider\n value={{\n clientRef,\n changeClientRef,\n }}\n >\n {props.children}\n </LOLGlobalClientRefContext.Provider>\n );\n};\n\nexport const GLOBAL_CLIENT_REFERENCE_KEY = 'globalClientReference';\n\nexport function getGlobalClientRefCache(): string | null {\n return window.sessionStorage.getItem(GLOBAL_CLIENT_REFERENCE_KEY);\n}\n\nexport function setGlobalClientRefCache(clientReference: string | null) {\n if (clientReference === null) {\n window.sessionStorage.removeItem(GLOBAL_CLIENT_REFERENCE_KEY);\n } else {\n window.sessionStorage.setItem(GLOBAL_CLIENT_REFERENCE_KEY, clientReference);\n }\n}\n","import React, { useCallback, useState } from 'react';\nimport { LuiHeaderMenuItem } from '../LuiHeader/LuiHeader';\nimport { IFirm, useLOLUserContext } from './contexts/LOLUserContext';\nimport {\n ILuiDropdownMenu,\n LuiDrawerMenuSection,\n LuiDropdownMenu,\n} from '../LuiHeaderMenu/LuiHeaderMenus';\nimport { LuiFilterContainer } from '../LuiFilterContainer/LuiFilterContainer';\nimport { useLOLGlobalClientRefContext } from './contexts/LOLGlobalClientRefContext';\n\nexport type ILOLFirmSwitcherMenu = Omit<ILuiDropdownMenu, 'icon' | 'label'> & {\n showClientRef?: boolean;\n};\n\nexport const LOLFirmSwitcherMenu: React.FC<ILOLFirmSwitcherMenu> = ({\n showClientRef = false,\n ...restOfProps\n}) => {\n const { user, selectedFirm, changeFirm, isInternal } = useLOLUserContext();\n const { clientRef } = useLOLGlobalClientRefContext();\n const firms = user!.firms;\n\n const clientRefElement = showClientRef ? (\n <>\n <br />\n <span>Client Ref: {clientRef}</span>\n </>\n ) : null;\n\n const label = isInternal() ? (\n <div className=\"LOLFirmSwitcherMenu-header\">\n {user!.id}\n {clientRefElement}\n </div>\n ) : (\n <div className=\"LOLFirmSwitcherMenu-header\">\n {selectedFirm && (\n <>\n <span>{selectedFirm!.name}</span>\n <br />\n </>\n )}\n <span>User ID: {user!.id}</span>\n {clientRefElement}\n </div>\n );\n\n const dropdownMenuProps = {\n ...restOfProps,\n label,\n };\n\n if (firms.length < 2) {\n return <LuiHeaderMenuItem {...dropdownMenuProps} />;\n }\n\n return (\n <LuiDropdownMenu {...dropdownMenuProps}>\n <LOLFirmSwitcherMenuContent\n firms={firms}\n selectedFirm={selectedFirm}\n changeFirm={changeFirm}\n />\n </LuiDropdownMenu>\n );\n};\n\ninterface ILOLFirmSwitcherMenuContent {\n firms: IFirm[];\n selectedFirm: IFirm | undefined;\n changeFirm: (firmId: string) => void;\n collapsible?: boolean;\n minimumFilterCount?: number;\n}\n\nexport const LOLFirmSwitcherMenuContent: React.FC<ILOLFirmSwitcherMenuContent> = ({\n firms,\n selectedFirm,\n changeFirm,\n collapsible = false,\n minimumFilterCount = 5,\n}) => {\n const showFilter = firms.length >= minimumFilterCount;\n\n return (\n <LuiDrawerMenuSection\n title=\"Switch account\"\n collapsible={collapsible && showFilter}\n >\n <FirmSwitcher\n options={firms}\n selectedId={selectedFirm?.id}\n onSelect={async (id) => changeFirm(id)}\n showFilter={showFilter}\n />\n </LuiDrawerMenuSection>\n );\n};\n\ninterface IFirmOption {\n value: IFirm;\n selected: boolean;\n onSelect: (optionId: string) => void;\n disabled: boolean;\n}\n\nexport const FirmOption: React.FC<IFirmOption> = ({\n value: { id, name },\n onSelect,\n selected,\n disabled,\n}) => {\n return (\n <div\n className={'LOLFirmSwitcherMenu-option'}\n onClick={() => onSelect(id)}\n aria-disabled={disabled}\n data-testid={`firm-${id}`}\n >\n <span>{name}</span>\n {selected && <i className=\"material-icons-round\">check_circle</i>}\n </div>\n );\n};\n\ninterface IFirmSwitcher {\n options: IFirm[];\n selectedId: string | undefined;\n onSelect: (itemId: string) => Promise<void>;\n showFilter?: boolean;\n}\n\nconst FirmSwitcher: React.FC<IFirmSwitcher> = ({\n options,\n selectedId,\n onSelect,\n showFilter = true,\n}) => {\n const [busy, setBusy] = useState(false);\n\n const onSelectInternal = async (optionId: string) => {\n if (!busy) {\n setBusy(true);\n await onSelect(optionId);\n setBusy(false);\n }\n };\n\n const filterFunction = useCallback(\n (filterString: string) => {\n const upperCaseFilterString = filterString.trim().toUpperCase();\n return options.filter((firm) =>\n firm.name.toUpperCase().includes(upperCaseFilterString)\n );\n },\n [options]\n );\n\n const renderFunction = (filteredOptions: IFirm[]) => {\n return (\n <>\n {filteredOptions.map((option) => (\n <FirmOption\n key={option.id}\n value={option}\n selected={option.id === selectedId}\n onSelect={onSelectInternal}\n disabled={busy}\n />\n ))}\n </>\n );\n };\n\n return (\n <div className=\"LOLFirmSwitcherMenu\">\n <LuiFilterContainer\n showFilter={showFilter}\n filterFunction={filterFunction}\n renderFunction={renderFunction}\n />\n </div>\n );\n};\n","import React from 'react';\nimport { LuiDrawerMenuOption } from '../LuiHeaderMenu/LuiHeaderMenus';\nimport { useLOLUserContext } from './contexts/LOLUserContext';\n\nexport interface Props {\n redirectPath: () => string;\n}\nexport const LOLLogoutLink = (props: Props): JSX.Element | null => {\n const redirectPathString = props.redirectPath();\n const { user } = useLOLUserContext();\n\n if (!user) {\n return null;\n }\n\n const logout = async () => {\n const res = await fetch('/auth/api/logout');\n if (res.status === 200) {\n window.location.assign(`/auth/login?redirectPath=${redirectPathString}`);\n } else {\n // TODO: determine best handling of logout endpoint returning non-OK\n }\n };\n return <LuiDrawerMenuOption label={`Logout ${user!.id}`} onClick={logout} />;\n};\n","import React from 'react';\nimport { useLOLUserContext } from './contexts/LOLUserContext';\n\nexport const LOLUserLastLogin: React.FC = () => {\n let lastLogin;\n const context = useLOLUserContext();\n\n const lastLoginISO = context?.user?.lastLogin;\n lastLogin = lastLoginISO\n ? new Date(lastLoginISO).toLocaleString('en-NZ')\n : null;\n\n return (\n <div className=\"LOLUserLastLogin lui-padding-left-xxs lui-padding-right-xxs\">\n <small>\n <span>\n <strong>Last login: {lastLogin}</strong>\n </span>\n <br />\n <span>Not you? Please, call us on 0800 665 463</span>\n </small>\n </div>\n );\n};\n","import React, { useEffect, useState } from 'react';\nimport { LuiBannerContent } from '../LuiBanner/LuiBanner';\nimport { useLOLUserContext } from './contexts/LOLUserContext';\nimport clsx from 'clsx';\nimport { buildHideClassDict, Range, Size } from '../common/ResponsiveUtils';\n\nexport interface ILOLActiveFirmMessageProperties {\n showFrom?: Size;\n}\n\nexport const LOLActiveFirmMessage = (\n props: ILOLActiveFirmMessageProperties\n): JSX.Element | null => {\n const { selectedFirm, user } = useLOLUserContext();\n const [visible, setVisible] = useState<boolean>(false);\n const hide: Range | undefined =\n props.showFrom !== 'xl' ? { from: props.showFrom || 'sm' } : undefined;\n\n useEffect(() => {\n setVisible(true);\n }, [selectedFirm]);\n\n if (!selectedFirm || !visible || user!.firms.length < 2) {\n return null;\n }\n\n return (\n <div className={clsx(hide && buildHideClassDict(hide))}>\n <LuiBannerContent level={'info'}>\n Active account is {selectedFirm.name}\n <button\n aria-label=\"Close dialog\"\n onClick={() => {\n setVisible(false);\n }}\n >\n <i className=\"material-icons-round\">close</i>\n </button>\n </LuiBannerContent>\n </div>\n );\n};\n","import React from 'react';\nimport { LuiDrawerMenuOption } from '../LuiHeaderMenu/LuiHeaderMenus';\nimport ExternalIcon from '../../assets/images/lui-icon-open-externally.svg';\nimport { useLOLUserContext } from './contexts/LOLUserContext';\nimport clsx from 'clsx';\n\nexport interface LOLAuthorisedLinkProps {\n label: string;\n path: string;\n icon: string;\n activeIcon: string;\n active: boolean;\n /**\n * User must have at least one of these privileges to see the link.\n */\n anyPrivileges: string[];\n openExternally?: boolean;\n}\nexport const LOLAuthorisedLink = (\n props: LOLAuthorisedLinkProps\n): JSX.Element | null => {\n const { hasAnyPrivilege } = useLOLUserContext();\n const {\n icon,\n activeIcon,\n active,\n label,\n path,\n openExternally,\n anyPrivileges,\n } = props;\n\n const onClickHandler = async () => {\n if (openExternally) {\n window.open(path, '_blank');\n } else {\n window.location.assign(path);\n }\n };\n\n if (!hasAnyPrivilege(anyPrivileges)) {\n return null;\n }\n\n return (\n <div className={clsx('LOLAuthorisedLink', active && 'active')}>\n <LuiDrawerMenuOption\n icon={\n <div\n className={\n active\n ? 'LOLAuthorisedLink-icon-active'\n : 'LOLAuthorisedLink-icon'\n }\n >\n <img\n src={active ? activeIcon : icon}\n alt={label}\n style={{ width: '48px', height: '48px' }}\n />\n </div>\n }\n label={label}\n onClick={onClickHandler}\n badge={\n openExternally ? (\n <img\n src={ExternalIcon}\n alt=\"Link opens in a new tab\"\n style={{ width: '16px', height: '16px', marginTop: '16px' }}\n />\n ) : (\n <></>\n )\n }\n />\n </div>\n );\n};\n","import React from 'react';\nimport { LOLAuthorisedLink, LOLAuthorisedLinkProps } from './LOLAuthorisedLink';\nimport SearchIcon from '../../assets/images/lui-icon-search-app-link.svg';\nimport SearchIconActive from '../../assets/images/lui-icon-search-app-link-active.svg';\nimport SurveyIcon from '../../assets/images/lui-icon-survey-app-link.svg';\nimport SurveyIconActive from '../../assets/images/lui-icon-survey-app-link-active.svg';\nimport NOCIcon from '../../assets/images/lui-icon-noc-app-link.svg';\nimport NOCIconActive from '../../assets/images/lui-icon-noc-app-link-active.svg';\nimport TitlesIcon from '../../assets/images/lui-icon-titles-app-link.svg';\nimport TitlesIconActive from '../../assets/images/lui-icon-titles-app-link-active.svg';\nimport { useLOLUserContext } from './contexts/LOLUserContext';\nimport { LuiDrawerMenuSection } from '../..';\n\nfunction createLink(\n pathname: string,\n label: string,\n target: string,\n activeIcon: string,\n icon: string,\n anyPrivileges: string[]\n): LOLAuthorisedLinkProps {\n return {\n label,\n path: target,\n icon,\n activeIcon,\n active: pathname.startsWith(target),\n anyPrivileges,\n openExternally: true,\n };\n}\n\nexport interface ILOLAppLauncherMenuProps {\n pathname: string;\n enableNOCLink?: boolean;\n enableSurveyLink?: boolean;\n enableTitlesLink?: boolean;\n}\n\nexport const SEARCH_LABEL = 'Search';\nexport const NOC_LABEL = 'Post registered NoC';\nexport const SURVEY_LABEL = 'Survey';\nexport const TITLES_LABEL = 'Titles';\n\nexport const LOLAppLauncherMenu = (\n props: ILOLAppLauncherMenuProps\n): JSX.Element | null => {\n const { user, isInternal } = useLOLUserContext();\n const {\n pathname,\n enableNOCLink = false,\n enableSurveyLink = false,\n enableTitlesLink = false,\n } = props;\n\n if (!user) {\n return null;\n }\n\n const links: LOLAuthorisedLinkProps[] = [\n createLink(\n pathname,\n SEARCH_LABEL,\n '/search',\n SearchIconActive,\n SearchIcon,\n isInternal() ? [] : ['prv_search_privilege', 'prv_spatial_view']\n ),\n ];\n\n if (!isInternal() && enableNOCLink) {\n links.push(\n createLink(\n pathname,\n NOC_LABEL,\n '/notices',\n NOCIconActive,\n NOCIcon,\n // NOC privileges currently the same as dealings\n [\n 'prv_cancel_with_deal',\n 'prv_create_deal_tin',\n 'prv_edit_modify_deal_tin',\n 'prv_pre_validate_deal',\n 'prv_pre_validate_tin',\n 'prv_release_tin',\n 'prv_sign_tin',\n 'prv_sign_view',\n 'prv_submit_deal',\n 'prv_view_deal_tin',\n 'prv_withdraw_dealing',\n ]\n )\n );\n }\n if (!isInternal() && enableSurveyLink) {\n links.push(\n createLink(\n pathname,\n SURVEY_LABEL,\n '/survey',\n SurveyIconActive,\n SurveyIcon,\n [\n 'prv_create_survey',\n 'prv_exception_process',\n 'prv_survey_sign_submit',\n 'prv_view_survey',\n 'prv_withdraw_survey',\n ]\n )\n );\n }\n if (!isInternal() && enableTitlesLink) {\n links.push(\n createLink(\n pathname,\n TITLES_LABEL,\n '/dealings',\n TitlesIconActive,\n TitlesIcon,\n [\n 'prv_cancel_with_deal',\n 'prv_create_deal_tin',\n 'prv_edit_modify_deal_tin',\n 'prv_pre_validate_deal',\n 'prv_pre_validate_tin',\n 'prv_release_tin',\n 'prv_sign_tin',\n 'prv_sign_view',\n 'prv_submit_deal',\n 'prv_view_deal_tin',\n 'prv_withdraw_dealing',\n ]\n )\n );\n }\n\n return (\n <LuiDrawerMenuSection title=\"Launch app\">\n {links.map((link) => (\n <LOLAuthorisedLink key={link.path} {...link} />\n ))}\n </LuiDrawerMenuSection>\n );\n};\n","import React from 'react';\nimport { useLOLUserContext } from './contexts/LOLUserContext';\nimport { LOLFirmSwitcherMenuContent } from './LOLFirmSwitcher';\n\nexport interface ILOLDrawerMenuFirmSwitcherProperties {\n minimumFilterCount: number;\n}\n\nexport const LOLDrawerMenuFirmSwitcher: React.FC<ILOLDrawerMenuFirmSwitcherProperties> = (\n props\n) => {\n const { minimumFilterCount } = props;\n const { user, selectedFirm, changeFirm } = useLOLUserContext();\n const firms = user?.firms;\n\n if (!firms || !selectedFirm) {\n return null;\n }\n\n if (firms.length < 2) {\n return null;\n }\n\n return (\n <LOLFirmSwitcherMenuContent\n firms={firms}\n selectedFirm={selectedFirm}\n changeFirm={changeFirm}\n collapsible={true}\n minimumFilterCount={minimumFilterCount}\n />\n );\n};\n","import React, { ReactNode } from 'react';\nimport {\n LOLAppLauncherMenu,\n ILOLAppLauncherMenuProps,\n} from './LOLAppLauncherMenu';\nimport { LOLDrawerMenuFirmSwitcher } from './LOLDrawerMenuFirmSwitcher';\nimport { LOLUserLastLogin } from './LOLUserLastLogin';\nimport { LOLLogoutLink } from './LOLLogoutLink';\nimport { useLOLUserContext } from './contexts/LOLUserContext';\nimport {\n LuiDrawerMenuDivider,\n LuiDrawerMenu,\n LuiDrawerMenuOption,\n} from '../LuiHeaderMenu/LuiHeaderMenus';\n\nexport const LOLDrawerMenu = (props: {\n children: ReactNode;\n hasStickyHeader?: boolean;\n}): JSX.Element => {\n return (\n <LuiDrawerMenu hasStickyHeader={props.hasStickyHeader}>\n <div className=\"LOLDrawerMenu\">\n <div className=\"LOLDrawerMenu-contents\">{props.children}</div>\n <div className=\"LOLDrawerMenu-footer\">\n <LOLUserLastLogin />\n </div>\n </div>\n </LuiDrawerMenu>\n );\n};\n\nexport type ILOLCommonDrawerMenuProps = Omit<\n ILOLAppLauncherMenuProps,\n 'pathname'\n> & {\n appSpecificSections?: ReactNode;\n appSpecificLinks?: ReactNode;\n path: string;\n hasStickyHeader?: boolean;\n};\n\nexport const LOLCommonDrawerMenu = (\n props: ILOLCommonDrawerMenuProps\n): JSX.Element => {\n const {\n appSpecificLinks,\n appSpecificSections,\n path,\n hasStickyHeader,\n ...restOfProps\n } = props;\n\n return (\n <LOLDrawerMenu hasStickyHeader={hasStickyHeader}>\n {appSpecificSections}\n <LOLAppLauncherMenu pathname={path} {...restOfProps} />\n <LOLDrawerMenuFirmSwitcher minimumFilterCount={5} />\n {appSpecificLinks && (\n <>\n <LuiDrawerMenuDivider />\n {appSpecificLinks}\n </>\n )}\n <LuiDrawerMenuDivider />\n <LOLCommonDrawerMenuAfterLinks path={path} />\n </LOLDrawerMenu>\n );\n};\n\nexport const LOLCommonDrawerMenuAfterLinks = (props: {\n path: string;\n}): JSX.Element | null => {\n const { isInternal } = useLOLUserContext();\n const { path } = props;\n const contextPath = path.substr(0, path.indexOf('/', 1));\n\n const gotoLink = (url: string) => {\n window.location.assign(url);\n };\n\n return (\n <>\n {!isInternal() && (\n <LuiDrawerMenuOption\n label=\"Change password\"\n onClick={() => {\n gotoLink(\n `/manage/my-preferences?redirectPath=${encodeURIComponent(path)}`\n );\n }}\n />\n )}\n <LOLLogoutLink redirectPath={() => contextPath} />\n </>\n );\n};\n","import React, { ReactNode, useEffect, useMemo } from 'react';\nimport tippy, { Placement } from 'tippy.js';\nimport 'tippy.js/dist/tippy.css';\nimport 'tippy.js/dist/border.css';\n\nexport interface ILuiTooltipProperties {\n message: string;\n placement?: Placement;\n trigger?: string;\n children: ReactNode;\n}\n\nlet id = 0;\nconst getKey = () => id++;\n\nexport const LuiTooltip = (props: ILuiTooltipProperties) => {\n const { children, message, placement, trigger } = props;\n const id = `LuiToolTip_${useMemo(getKey, [])}`;\n\n if (typeof message !== 'string') {\n throw new Error('LuiTooltip message must be a string!');\n }\n\n useEffect(() => {\n tippy(`#${id}`, {\n content: message,\n arrow: true,\n trigger,\n theme: 'LUI',\n placement,\n offset: [0, 24],\n });\n\n return () => {\n (document.getElementById(id) as any)?._tippy?.destroy();\n };\n }, [id, message, placement, trigger]);\n\n return <span id={id}>{children}</span>;\n};\n","import React from 'react';\n\n/** \n * This hook will callback with handleClickOutside() when \"mousedown\" dom event occurs off the refElement\n * usage:\n ```typescript\n const refElement = React.useRef<HTMLButtonElement>(null);\n const handleClickOutside = () => {\n console.log(\"hello world\");\n };\n useClickedOutsideElement(refElement, handleClickOutside);\n return <button ref={refElement}>Click Me!</button>;\n ```\n */\nexport function useClickedOutsideElement(\n refElement: React.RefObject<HTMLElement>,\n handleClickOutside: CallableFunction\n): void {\n React.useEffect(() => {\n function onOutsideClicked(event: MouseEvent) {\n const element = refElement.current;\n if (!element?.contains(event.target as HTMLElement)) {\n handleClickOutside();\n }\n }\n document.addEventListener('mousedown', onOutsideClicked);\n return () => {\n document.removeEventListener('mousedown', onOutsideClicked);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n}\n"],"names":["LuiBanner","props","React","className","LuiBannerContent","level","children","materialIcon","getMaterialIconForLevel","LuiStaticMessage","useState","display","setDisplay","closable","undefined","onClick","PlainButton","forwardRef","ref","buttonProps","type","title","disabled","name","clsx","size","style","LuiButton","_level","href","aProps","openInNewTab","target","rel","LuiButtonGroup","map","child","i","key","LuiToastMessage","displayTimeout","requireDismiss","onClose","setClassname","fadeOutTimer","setFadeOutTimer","removeTimer","setRemoveTimer","callOnCloseAfterDissolved","timer","window","setTimeout","useEffect","clearTimeout","role","UIMessagingContext","createContext","showMessage","useShowLUIMessage","useContext","LuiMessagingContextProvider","_message","setMessage","_messageType","setMessageType","_messageLevel","setMessageLevel","_requireDismiss","setRequireDismiss","message","messageType","messageLevel","renderMessage","Provider","value","LuiExpandableBanner","useRef","collapse","setCollapse","collapseSection","element","sectionHeight","scrollHeight","requestAnimationFrame","height","expandSection","expandFunction","section","current","labelPrefix","width","label","LuiMenu","Menu","menuButton","offsetY","portal","boundingBoxRef","anchorRef","styles","zIndex","getMenuItems","LuiControlledMenu","ControlledMenu","anchorPoint","isOpen","animation","Children","isValidElement","LuiMenuItem","MenuItem","LuiMenuDivider","MenuDivider","LuiMenuHeader","MenuHeader","console","error","LuiFilterMenu","filter","setFilter","useMenuState","closeMenu","openMenu","toggleMenu","menuProps","enabled","onChange","e","open","maxRows","maxHeight","overflowY","FocusableItem","placeholder","filteredItems","item","toUpperCase","includes","trim","specialType","id","onMouseDown","onItemClick","stopPropagation","LuiTabsContext","activePanel","setActivePanel","LuiTabsPanelWrapper","defaultPanel","LuiTabGroup","justify","ariaLabel","LuiTabsPanelSwitch","context","active","targetPanel","LuiTab","ariaControls","LuiTabPanel","panel","LuiForm","classNames","Form","LuiFormikForm","formikProps","Formik","LuiCheckbox","ctx","useFormikContext","Field","field","showError","getIn","errors","inputProps","checked","htmlFor","LuiTextInput","connect","formik","touch","touched","setFieldValue","multiLineToggle","multiLine","event","validateOnChange","onValueChange","rows","LuiFormLabel","required","tooltip","helperInfo","validate","ErrorMessage","render","component","LuiRadioButton","useField","meta","LuiRadioGroup","describedby","hint","camelcase","errorDescribedBy","legend","LuiFormSubmitButton","LuiSelect","defaultValue","as","LuiBearingInput","maxDecimal","maxAfterDP","parseBearing","decimalIsh","sign","startsWith","parts","split","degrees","Math","abs","parseInt","remainder","length","minutes","substr","seconds","parseFloat","validateBearing","bearing","signedDegrees","formatBearing","displaySign","padToTwo","newValue","match","RegExp","log","number","toString","parsedBearing","internalError","validationError","onValidate","LuiBearingFormikInput","setError","renderProps","LuiFooter","footerText","contactNumber","contactEmail","feedbackFormUrl","alt","src","LinzLogoFooter","NzGovtLogoRev","useEscapeFunction","onEscape","escFunction","useCallback","keyCode","document","addEventListener","removeEventListener","usePageClickFunction","onClickInsideArg","onClickOutsideArg","elementRef","onClickInside","onClickOutside","handleClick","contains","sizes","buildHideClassDict","from","upto","inRange","idx","indexOf","LuiHeader","headingText","homeLink","transparent","sticky","logoElement","logo","motif","logoContainer","LuiHeaderMenuItem","icon","badge","hide","dataTestId","menuItemClasses","resolvedIcon","LuiCloseableHeaderMenuContext","close","LuiCloseableHeaderMenuItem","setOpen","menuDiv","menuControls","menuItemProps","LuiMenuCloseButton","menu","classes","LuiDrawerMenuOptions","LuiDrawerMenuOption","LuiDrawerMenu","restOfProps","hasStickyHeader","menuPropsCopy","closeableMenuProps","scrollTo","top","behavior","body","classList","add","remove","LuiDropdownMenu","LuiDrawerMenuSection","collapsible","cursor","LuiDrawerMenuDivider","LuiUpdatesSplashModal","node","handleClickOutside","process","env","NODE_ENV","Modal","setAppElement","shouldCloseOnOverlayClick","onRequestClose","contentLabel","overlay","backgroundColor","header","bigImage","smallImage","LuiModal","isTest","overlayClassName","lowContrast","ariaHideApp","maxWidth","LuiModalHeader","LuiAlertModal","LuiAlertModalButtons","LuiErrorPage","content","mountainBroken","footer","autoplay","isChromatic","LuiLoadingSpinnerBase","position","left","margin","Lottie","animationData","loop","rendererSettings","preserveAspectRatio","LuiMiniSpinner","divProps","loaderData","LuiLoadingSpinner","navigator","userAgent","location","userHasAnyPrivilege","privileges","selectedFirm","userIsInternal","user","loginType","code","useLOLUserContext","LOLUserContext","changeFirm","firmId","isInternal","hasAnyPrivilege","LOLUserContextProvider","useGetUserInfo","isLoading","data","isError","setSelectedFirm","ready","setReady","firms","setSelectedFirmCache","getSelectedFirmIdCache","find","firm","firstFirm","selectedFirmIdFromCache","selectedFirmDerivedFromCache","f","onCachedFirmUpdate","storageArea","localStorage","FIRM_KEY","selectedFirmId","reAuthUser","useQuery","url","fetch","res","checkForStandardErrors","json","redirectPath","pathname","search","hash","assign","encodeURIComponent","status","FIRM_NAME_KEY","getItem","firmName","removeItem","setItem","LuiFilterContainer","renderFunction","filterFunction","showFilter","useLOLGlobalClientRefContext","LOLGlobalClientRefContext","clientRef","changeClientRef","LOLGlobalClientRefContextProvider","useUserIdAsClientReference","setClientRef","lastSelectedFirmId","setLastSelectedFirmId","setGlobalClientRefCache","cachedClientRef","getGlobalClientRefCache","GLOBAL_CLIENT_REFERENCE_KEY","sessionStorage","clientReference","LOLFirmSwitcherMenu","showClientRef","clientRefElement","dropdownMenuProps","LOLFirmSwitcherMenuContent","minimumFilterCount","FirmSwitcher","options","selectedId","onSelect","FirmOption","selected","busy","setBusy","onSelectInternal","optionId","filterString","upperCaseFilterString","filteredOptions","option","LOLLogoutLink","redirectPathString","logout","LOLUserLastLogin","lastLogin","lastLoginISO","Date","toLocaleString","LOLActiveFirmMessage","visible","setVisible","showFrom","LOLAuthorisedLink","activeIcon","path","openExternally","anyPrivileges","onClickHandler","ExternalIcon","marginTop","createLink","SEARCH_LABEL","NOC_LABEL","SURVEY_LABEL","TITLES_LABEL","LOLAppLauncherMenu","enableNOCLink","enableSurveyLink","enableTitlesLink","links","SearchIconActive","SearchIcon","push","NOCIconActive","NOCIcon","SurveyIconActive","SurveyIcon","TitlesIconActive","TitlesIcon","link","LOLDrawerMenuFirmSwitcher","LOLDrawerMenu","LOLCommonDrawerMenu","appSpecificLinks","appSpecificSections","LOLCommonDrawerMenuAfterLinks","contextPath","gotoLink","getKey","LuiTooltip","placement","trigger","useMemo","Error","tippy","arrow","theme","offset","getElementById","_tippy","destroy","useClickedOutsideElement","refElement","onOutsideClicked"],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
|
|
@@ -7,11 +7,11 @@
|
|
|
7
7
|
// This builds on the NZ Govt footer SCSS which lives in a separate folder
|
|
8
8
|
|
|
9
9
|
.lui-footer {
|
|
10
|
-
padding-top: spacing.$
|
|
11
|
-
padding-bottom: spacing.$
|
|
10
|
+
padding-top: spacing.$unit-lg;
|
|
11
|
+
padding-bottom: spacing.$unit-md;
|
|
12
12
|
|
|
13
|
-
padding-left: spacing.$
|
|
14
|
-
padding-right: spacing.$
|
|
13
|
+
padding-left: spacing.$unit-md;
|
|
14
|
+
padding-right: spacing.$unit-md;
|
|
15
15
|
|
|
16
16
|
// colour row dividers (border top)
|
|
17
17
|
div[class*='row-divider'] {
|
|
@@ -101,7 +101,7 @@
|
|
|
101
101
|
margin-top: 0;
|
|
102
102
|
|
|
103
103
|
@include breakpoint(md) {
|
|
104
|
-
margin-top: spacing.$unit-
|
|
104
|
+
margin-top: spacing.$unit-xl;
|
|
105
105
|
}
|
|
106
106
|
}
|
|
107
107
|
|
|
@@ -114,7 +114,7 @@
|
|
|
114
114
|
}
|
|
115
115
|
|
|
116
116
|
.lui-footer-nz-govt-logo {
|
|
117
|
-
margin-top: spacing.$unit-
|
|
117
|
+
margin-top: spacing.$unit-xl;
|
|
118
118
|
@include breakpoint(md) {
|
|
119
119
|
text-align: right;
|
|
120
120
|
margin-top: spacing.$unit-sm;
|
|
@@ -50,11 +50,11 @@ $headerHeightLg: $headerRowHeightLg + $swishHeightLg;
|
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
.lui-header-menu-item {
|
|
53
|
-
margin-left: spacing.$unit-
|
|
53
|
+
margin-left: spacing.$unit-lg;
|
|
54
54
|
}
|
|
55
55
|
|
|
56
56
|
.lui-header-title {
|
|
57
|
-
padding-left: spacing.$unit-
|
|
57
|
+
padding-left: spacing.$unit-lg;
|
|
58
58
|
white-space: nowrap;
|
|
59
59
|
|
|
60
60
|
h1 {
|
|
@@ -86,7 +86,7 @@ $headerHeightLg: $headerRowHeightLg + $swishHeightLg;
|
|
|
86
86
|
|
|
87
87
|
@include breakpoint(sm) {
|
|
88
88
|
margin-left: 0;
|
|
89
|
-
padding-right: spacing.$unit-
|
|
89
|
+
padding-right: spacing.$unit-lg;
|
|
90
90
|
border-right: 1px solid colors.$teal-50;
|
|
91
91
|
}
|
|
92
92
|
|
|
@@ -131,7 +131,8 @@ $headerHeightLg: $headerRowHeightLg + $swishHeightLg;
|
|
|
131
131
|
left: 0;
|
|
132
132
|
width: 100%;
|
|
133
133
|
|
|
134
|
-
& + div,
|
|
134
|
+
& + div,
|
|
135
|
+
& + main {
|
|
135
136
|
margin-top: $headerHeightMd;
|
|
136
137
|
|
|
137
138
|
@include breakpoint(md) {
|
|
@@ -140,7 +141,8 @@ $headerHeightLg: $headerRowHeightLg + $swishHeightLg;
|
|
|
140
141
|
}
|
|
141
142
|
|
|
142
143
|
&.lui-header-small {
|
|
143
|
-
& + div,
|
|
144
|
+
& + div,
|
|
145
|
+
& + main {
|
|
144
146
|
margin-top: $headerHeightSm;
|
|
145
147
|
}
|
|
146
148
|
}
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
li {
|
|
13
13
|
counter-increment: lui-list-counter;
|
|
14
14
|
position: relative;
|
|
15
|
-
margin: spacing.$unit-
|
|
15
|
+
margin: spacing.$unit-xl 0 0 spacing.$unit-xl;
|
|
16
16
|
p:first-child {
|
|
17
17
|
@include fonts.font-regular;
|
|
18
18
|
}
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
content: counter(lui-list-counter);
|
|
21
21
|
position: absolute;
|
|
22
22
|
top: 0;
|
|
23
|
-
left: (-(spacing.$unit-
|
|
23
|
+
left: (-(spacing.$unit-xl));
|
|
24
24
|
font-size: 1.5rem;
|
|
25
25
|
font-weight: 500;
|
|
26
26
|
color: colors.$brand-secondary;
|
|
@@ -18,6 +18,14 @@
|
|
|
18
18
|
|
|
19
19
|
.lui-menu.rc-menu {
|
|
20
20
|
z-index: 900;
|
|
21
|
+
color: colors.$base-type-color;
|
|
22
|
+
font-family: fonts.$base-font--light;
|
|
23
|
+
|
|
24
|
+
a[role="menuitem"] {
|
|
25
|
+
text-decoration: none;
|
|
26
|
+
color: colors.$base-type-color;
|
|
27
|
+
font-family: fonts.$base-font--light;
|
|
28
|
+
}
|
|
21
29
|
}
|
|
22
30
|
|
|
23
31
|
body.lui-menu-drawer-open {
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
@mixin message-base-styling {
|
|
8
8
|
border-left: 50px solid #ccc;
|
|
9
9
|
padding: spacing.$unit-sm 50px 16px spacing.$unit-sm;
|
|
10
|
-
margin: spacing.$unit-
|
|
10
|
+
margin: spacing.$unit-lg 0;
|
|
11
11
|
color: colors.$grey-60;
|
|
12
12
|
background: colors.$grey-10;
|
|
13
13
|
position: relative;
|
|
@@ -84,7 +84,7 @@
|
|
|
84
84
|
position: fixed;
|
|
85
85
|
// limit the width so messages are kept small, animation timing is accurate and messages fit on mobile.
|
|
86
86
|
width: 320px;
|
|
87
|
-
right: spacing.$unit-
|
|
87
|
+
right: spacing.$unit-lg;
|
|
88
88
|
top: 0;
|
|
89
89
|
// Transform & left values are needed if we want the messages to come from the top
|
|
90
90
|
//left: 50%;
|
|
@@ -116,7 +116,7 @@
|
|
|
116
116
|
background: colors.$grey-10;
|
|
117
117
|
padding: spacing.$unit-xxs;
|
|
118
118
|
@include breakpoint(md) {
|
|
119
|
-
padding: spacing.$unit-
|
|
119
|
+
padding: spacing.$unit-lg;
|
|
120
120
|
}
|
|
121
121
|
&--reducedSpacing {
|
|
122
122
|
@include breakpoint(md) {
|
|
@@ -164,7 +164,7 @@
|
|
|
164
164
|
right: -400px;
|
|
165
165
|
}
|
|
166
166
|
100% {
|
|
167
|
-
right: spacing.$unit-
|
|
167
|
+
right: spacing.$unit-lg;
|
|
168
168
|
}
|
|
169
169
|
}
|
|
170
170
|
|
|
@@ -174,11 +174,11 @@
|
|
|
174
174
|
opacity: 0;
|
|
175
175
|
}
|
|
176
176
|
25% {
|
|
177
|
-
right: spacing.$unit-
|
|
177
|
+
right: spacing.$unit-lg;
|
|
178
178
|
opacity: 1;
|
|
179
179
|
}
|
|
180
180
|
75% {
|
|
181
|
-
right: spacing.$unit-
|
|
181
|
+
right: spacing.$unit-lg;
|
|
182
182
|
opacity: 1;
|
|
183
183
|
}
|
|
184
184
|
100% {
|
|
@@ -193,14 +193,14 @@
|
|
|
193
193
|
opacity: 0;
|
|
194
194
|
}
|
|
195
195
|
100% {
|
|
196
|
-
right: spacing.$unit-
|
|
196
|
+
right: spacing.$unit-lg;
|
|
197
197
|
opacity: 1;
|
|
198
198
|
}
|
|
199
199
|
}
|
|
200
200
|
|
|
201
201
|
@keyframes toast-ani-hide {
|
|
202
202
|
0% {
|
|
203
|
-
right: spacing.$unit-
|
|
203
|
+
right: spacing.$unit-lg;
|
|
204
204
|
opacity: 1;
|
|
205
205
|
}
|
|
206
206
|
100% {
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
@use "../../Foundation/Utilities" as *;
|
|
5
5
|
|
|
6
6
|
.lui-modal {
|
|
7
|
-
padding: spacing.$unit-
|
|
7
|
+
padding: spacing.$unit-lg;
|
|
8
8
|
border-left: 0px solid transparent;
|
|
9
|
-
margin: spacing.$unit-
|
|
9
|
+
margin: spacing.$unit-lg 0;
|
|
10
10
|
color: colors.$grey-60;
|
|
11
11
|
background: #fff;
|
|
12
12
|
position: relative;
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
border-width: 50px;
|
|
39
39
|
}
|
|
40
40
|
.modal-btn-row {
|
|
41
|
-
margin-top: spacing.$unit-
|
|
41
|
+
margin-top: spacing.$unit-lg;
|
|
42
42
|
// text-align: right;
|
|
43
43
|
}
|
|
44
44
|
&-no-padding {
|
|
@@ -53,14 +53,14 @@
|
|
|
53
53
|
align-items: center;
|
|
54
54
|
height: 85px;
|
|
55
55
|
width: 100%;
|
|
56
|
-
padding: 0 spacing.$unit-
|
|
56
|
+
padding: 0 spacing.$unit-lg;
|
|
57
57
|
& h1 {
|
|
58
58
|
display: inline;
|
|
59
59
|
font-size: 2rem;
|
|
60
60
|
line-height: 2rem;
|
|
61
61
|
@include fonts.font-light;
|
|
62
62
|
margin: 0;
|
|
63
|
-
|
|
63
|
+
|
|
64
64
|
@include breakpoint(md) {
|
|
65
65
|
font-size: 2.25rem;
|
|
66
66
|
line-height: 2.25rem;
|
|
@@ -89,7 +89,7 @@
|
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
91
|
&-container {
|
|
92
|
-
margin: spacing.$unit-
|
|
92
|
+
margin: spacing.$unit-lg;
|
|
93
93
|
}
|
|
94
94
|
&-modal-positioning {
|
|
95
95
|
padding: spacing.$unit-xs;
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
display: block;
|
|
10
10
|
|
|
11
11
|
@include breakpoint(sm) {
|
|
12
|
-
padding-bottom: spacing.$unit-
|
|
12
|
+
padding-bottom: spacing.$unit-lg;
|
|
13
13
|
min-width: 700px;
|
|
14
14
|
max-width: 800px;
|
|
15
15
|
min-height: 300px;
|
|
@@ -35,12 +35,12 @@
|
|
|
35
35
|
rgba(191, 237, 246, 1) 100%
|
|
36
36
|
);
|
|
37
37
|
min-height: 100px;
|
|
38
|
-
padding: spacing.$unit-
|
|
38
|
+
padding: spacing.$unit-lg spacing.$unit-lg 0 spacing.$unit-lg;
|
|
39
39
|
border-bottom: 1px solid colors.$blue-75;
|
|
40
40
|
|
|
41
41
|
h1 {
|
|
42
42
|
color: #fff;
|
|
43
|
-
margin: 0 0 spacing.$unit-
|
|
43
|
+
margin: 0 0 spacing.$unit-lg 0;
|
|
44
44
|
text-shadow: 1.5px 1.5px 1px rgba(0, 75, 80, 1);
|
|
45
45
|
@media only screen and (max-width: sm) {
|
|
46
46
|
text-shadow: 1px 1px 1px rgba(0, 75, 80, 1);
|
|
@@ -58,6 +58,6 @@
|
|
|
58
58
|
}
|
|
59
59
|
|
|
60
60
|
.lui-feature-text {
|
|
61
|
-
padding-left: spacing.$
|
|
62
|
-
padding-right: spacing.$
|
|
61
|
+
padding-left: spacing.$unit-md;
|
|
62
|
+
padding-right: spacing.$unit-md;
|
|
63
63
|
}
|
|
@@ -25,7 +25,7 @@ $btnLine-height: 40px;
|
|
|
25
25
|
font-size: 1rem;
|
|
26
26
|
line-height: $btnLine-height;
|
|
27
27
|
margin: 0;
|
|
28
|
-
padding: 0 spacing.$unit-
|
|
28
|
+
padding: 0 spacing.$unit-lg;
|
|
29
29
|
border: none;
|
|
30
30
|
border-radius: misc.$borderRadius;
|
|
31
31
|
transition: background-color 0.3s, color 0.3s, height 0.3s, border 0.3s;
|
|
@@ -315,17 +315,17 @@ a.lui-button {
|
|
|
315
315
|
&.lui-button-lg {
|
|
316
316
|
// height: 50px;
|
|
317
317
|
line-height: 50px;
|
|
318
|
-
padding: 0 spacing.$unit-
|
|
318
|
+
padding: 0 spacing.$unit-lg;
|
|
319
319
|
font-size: rem(18px);
|
|
320
320
|
&.lui-button-icon {
|
|
321
|
-
padding: 0 spacing.$unit-
|
|
321
|
+
padding: 0 spacing.$unit-lg 0 28px;
|
|
322
322
|
i {
|
|
323
323
|
margin: 0 spacing.$unit-sm 0 0;
|
|
324
324
|
}
|
|
325
325
|
}
|
|
326
326
|
|
|
327
327
|
&.lui-button-icon-right {
|
|
328
|
-
padding: 0 28px 0 spacing.$unit-
|
|
328
|
+
padding: 0 28px 0 spacing.$unit-lg;
|
|
329
329
|
|
|
330
330
|
i {
|
|
331
331
|
margin: 0 0 0 spacing.$unit-sm;
|
|
@@ -376,7 +376,7 @@ a.lui-button {
|
|
|
376
376
|
padding: 0 spacing.$unit-sm;
|
|
377
377
|
}
|
|
378
378
|
@include breakpoint(lg) {
|
|
379
|
-
padding: 0 spacing.$unit-
|
|
379
|
+
padding: 0 spacing.$unit-lg;
|
|
380
380
|
}
|
|
381
381
|
}
|
|
382
382
|
}
|
|
@@ -407,14 +407,13 @@ a.lui-button {
|
|
|
407
407
|
outline: 2px solid colors.$brand-primary;
|
|
408
408
|
//make sure the button sits above the others so the outline is not cut off on focus
|
|
409
409
|
position: relative;
|
|
410
|
-
z-index: 100;
|
|
411
410
|
}
|
|
412
411
|
}
|
|
413
412
|
&--radio {
|
|
414
|
-
margin-top: spacing.$
|
|
413
|
+
margin-top: spacing.$unit-md;
|
|
415
414
|
|
|
416
415
|
.lui-radio-container {
|
|
417
|
-
margin-top: spacing.$
|
|
416
|
+
margin-top: spacing.$unit-sm; // 12px
|
|
418
417
|
}
|
|
419
418
|
@include breakpoint(md) {
|
|
420
419
|
//add a 24 column grid so you have more control over the size of the buttons at various breakpoints
|
|
@@ -427,9 +426,9 @@ a.lui-button {
|
|
|
427
426
|
@include ScreenReadersOnly;
|
|
428
427
|
&:checked + label {
|
|
429
428
|
background-color: colors.$blue-75;
|
|
430
|
-
box-shadow: inset 0
|
|
429
|
+
box-shadow: inset 0 2px 3px rgba(0, 0, 0, 0.5);
|
|
431
430
|
color: colors.$white;
|
|
432
|
-
text-shadow: 0
|
|
431
|
+
text-shadow: 0 2px 3px rgba(0, 0, 0, 0.5);
|
|
433
432
|
}
|
|
434
433
|
&:focus + label {
|
|
435
434
|
color: colors.$white;
|
|
@@ -439,7 +438,7 @@ a.lui-button {
|
|
|
439
438
|
}
|
|
440
439
|
}
|
|
441
440
|
label {
|
|
442
|
-
margin-left: spacing.$
|
|
441
|
+
margin-left: spacing.$unit-xs; // 8px
|
|
443
442
|
// label to look like buttons on larger screens
|
|
444
443
|
@include breakpoint(md) {
|
|
445
444
|
display: inline-block;
|
|
@@ -475,9 +474,9 @@ a.lui-button {
|
|
|
475
474
|
@include ScreenReadersOnly;
|
|
476
475
|
&:checked + label {
|
|
477
476
|
background-color: colors.$blue-75;
|
|
478
|
-
box-shadow: inset 0
|
|
477
|
+
box-shadow: inset 0 2px 3px rgba(0, 0, 0, 0.5);
|
|
479
478
|
color: colors.$white;
|
|
480
|
-
text-shadow: 0
|
|
479
|
+
text-shadow: 0 2px 3px rgba(0, 0, 0, 0.5);
|
|
481
480
|
}
|
|
482
481
|
&:focus + label {
|
|
483
482
|
color: colors.$white;
|
|
@@ -508,14 +507,14 @@ a.lui-button {
|
|
|
508
507
|
.grid-cell-1 {
|
|
509
508
|
grid-column: span 12;
|
|
510
509
|
label {
|
|
511
|
-
border-radius: spacing.$
|
|
510
|
+
border-radius: spacing.$unit-xs 0 0 spacing.$unit-xs;
|
|
512
511
|
}
|
|
513
512
|
}
|
|
514
513
|
.grid-cell-2 {
|
|
515
514
|
grid-column: span 12;
|
|
516
515
|
label {
|
|
517
516
|
border-right: 2px solid colors.$blue-75;
|
|
518
|
-
border-radius: 0 spacing.$
|
|
517
|
+
border-radius: 0 spacing.$unit-xs spacing.$unit-xs 0;
|
|
519
518
|
}
|
|
520
519
|
}
|
|
521
520
|
@include breakpoint(md) {
|
|
@@ -549,7 +548,7 @@ a.lui-button {
|
|
|
549
548
|
.grid-cell-1 {
|
|
550
549
|
grid-column: span 3;
|
|
551
550
|
label {
|
|
552
|
-
border-radius: spacing.$
|
|
551
|
+
border-radius: spacing.$unit-xs 0 0 spacing.$unit-xs;
|
|
553
552
|
}
|
|
554
553
|
}
|
|
555
554
|
.grid-cell-2 {
|
|
@@ -562,7 +561,7 @@ a.lui-button {
|
|
|
562
561
|
grid-column: span 8;
|
|
563
562
|
label {
|
|
564
563
|
border-right: 2px solid colors.$blue-75;
|
|
565
|
-
border-radius: 0 spacing.$
|
|
564
|
+
border-radius: 0 spacing.$unit-xs spacing.$unit-xs 0;
|
|
566
565
|
}
|
|
567
566
|
}
|
|
568
567
|
}
|