@commercetools-frontend/application-shell 24.10.0 → 24.12.0
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/dist/{application-entry-point-c87294b0.cjs.dev.js → application-entry-point-18d8fba0.cjs.dev.js} +7 -4
- package/dist/{application-entry-point-10a5e1a5.esm.js → application-entry-point-1b23fb6b.esm.js} +6 -4
- package/dist/{application-entry-point-8c4b8e53.cjs.prod.js → application-entry-point-74a06151.cjs.prod.js} +4 -3
- package/dist/commercetools-frontend-application-shell.cjs.dev.js +12 -11
- package/dist/commercetools-frontend-application-shell.cjs.prod.js +12 -11
- package/dist/commercetools-frontend-application-shell.esm.js +12 -11
- package/dist/{custom-view-dev-host-5039dc1d.esm.js → custom-view-dev-host-091163ea.esm.js} +20 -16
- package/dist/{custom-view-dev-host-b5e3a16a.cjs.dev.js → custom-view-dev-host-17daf42a.cjs.dev.js} +21 -16
- package/dist/{custom-view-dev-host-21561a3a.cjs.prod.js → custom-view-dev-host-a682a499.cjs.prod.js} +21 -16
- package/dist/declarations-connectors/src/index.d.ts +1 -1
- package/dist/declarations-connectors/src/utils/index.d.ts +1 -0
- package/dist/declarations-connectors/src/utils/select-user-language-from-storage/index.d.ts +1 -0
- package/dist/declarations-connectors/src/utils/select-user-language-from-storage/select-user-language-from-storage.d.ts +1 -0
- package/dist/{index-17f02024.cjs.dev.js → index-1d1cc31f.cjs.dev.js} +225 -368
- package/dist/{index-e4de734f.esm.js → index-1dadca21.esm.js} +227 -368
- package/dist/{index-614accc4.cjs.dev.js → index-25183095.cjs.dev.js} +2 -2
- package/dist/{index-11b385bb.cjs.prod.js → index-3cfc1f1e.cjs.prod.js} +213 -348
- package/dist/{index-245e2980.cjs.prod.js → index-52c724ed.cjs.prod.js} +2 -2
- package/dist/{index-86039df7.esm.js → index-5aaa33bb.esm.js} +2 -2
- package/dist/{navbar-022383bd.cjs.dev.js → navbar-586f7774.cjs.dev.js} +111 -92
- package/dist/{navbar-844d350d.esm.js → navbar-88e0fd1f.esm.js} +110 -92
- package/dist/{navbar-acc2cd1b.cjs.prod.js → navbar-93183a2d.cjs.prod.js} +111 -92
- package/dist/oidc-258fc018.cjs.prod.js +115 -0
- package/dist/oidc-35e8e62a.esm.js +100 -0
- package/dist/oidc-87d116c1.cjs.dev.js +115 -0
- package/dist/{oidc-callback-c014b1b0.esm.js → oidc-callback-019d623d.esm.js} +16 -14
- package/dist/{oidc-callback-ad64d7f6.cjs.dev.js → oidc-callback-47743232.cjs.dev.js} +16 -14
- package/dist/{oidc-callback-9beece27.cjs.prod.js → oidc-callback-6bdb3c6f.cjs.prod.js} +16 -14
- package/dist/{project-container-3e3c7013.cjs.dev.js → project-container-2245f020.cjs.dev.js} +53 -19
- package/dist/{project-container-e11b2fc6.esm.js → project-container-7fce9e66.esm.js} +52 -19
- package/dist/{project-container-f1710162.cjs.prod.js → project-container-954dbf0f.cjs.prod.js} +53 -19
- package/dist/{project-expired-39589063.esm.js → project-expired-1b0845c5.esm.js} +12 -11
- package/dist/{project-expired-f29e6d47.cjs.dev.js → project-expired-c941b592.cjs.dev.js} +12 -11
- package/dist/{project-expired-59169760.cjs.prod.js → project-expired-ee8b232c.cjs.prod.js} +12 -11
- package/dist/{project-not-found-88730a64.esm.js → project-not-found-340217f6.esm.js} +11 -10
- package/dist/{project-not-found-d968ede6.cjs.dev.js → project-not-found-9b7cfe88.cjs.dev.js} +11 -10
- package/dist/{project-not-found-625f0e91.cjs.prod.js → project-not-found-9cee9625.cjs.prod.js} +11 -10
- package/dist/{project-not-initialized-6d69541c.esm.js → project-not-initialized-55fd8df4.esm.js} +12 -11
- package/dist/{project-not-initialized-22d54dab.cjs.prod.js → project-not-initialized-7a058b68.cjs.prod.js} +12 -11
- package/dist/{project-not-initialized-f346dc17.cjs.dev.js → project-not-initialized-7b3843a3.cjs.dev.js} +12 -11
- package/dist/{project-suspended-d48e7d51.cjs.prod.js → project-suspended-12618898.cjs.prod.js} +11 -10
- package/dist/{project-suspended-be2e3265.esm.js → project-suspended-529b09d6.esm.js} +11 -10
- package/dist/{project-suspended-6a886974.cjs.dev.js → project-suspended-78e94b85.cjs.dev.js} +11 -10
- package/dist/{redirect-to-login-12f467b8.cjs.prod.js → redirect-to-login-3e4a6434.cjs.prod.js} +13 -10
- package/dist/{redirect-to-login-3bee13ba.cjs.dev.js → redirect-to-login-66ea895a.cjs.dev.js} +13 -10
- package/dist/{redirect-to-login-2944c890.esm.js → redirect-to-login-edbfacbc.esm.js} +13 -10
- package/dist/{redirect-to-logout-645e12ca.cjs.prod.js → redirect-to-logout-52a7810f.cjs.prod.js} +14 -12
- package/dist/{redirect-to-logout-0196921c.esm.js → redirect-to-logout-5d5fc361.esm.js} +14 -12
- package/dist/{redirect-to-logout-477ea146.cjs.dev.js → redirect-to-logout-b331b037.cjs.dev.js} +14 -12
- package/dist/{redirector-72ccfbc2.cjs.dev.js → redirector-0efdd994.cjs.dev.js} +4 -3
- package/dist/{redirector-d856975f.esm.js → redirector-656c6ee7.esm.js} +4 -3
- package/dist/{redirector-0c72d0a4.cjs.prod.js → redirector-c858d578.cjs.prod.js} +4 -3
- package/dist/{requests-in-flight-loader-82b93073.esm.js → requests-in-flight-loader-20021ccc.esm.js} +11 -10
- package/dist/{requests-in-flight-loader-08cfa2ce.cjs.prod.js → requests-in-flight-loader-64d2e12d.cjs.prod.js} +11 -10
- package/dist/{requests-in-flight-loader-fb6a69f6.cjs.dev.js → requests-in-flight-loader-83cab813.cjs.dev.js} +11 -10
- package/dist/{service-page-project-switcher-2d65c6f7.cjs.dev.js → service-page-project-switcher-49dabe13.cjs.dev.js} +1 -1
- package/dist/{service-page-project-switcher-1e41f587.esm.js → service-page-project-switcher-6cdd506b.esm.js} +1 -1
- package/dist/{service-page-project-switcher-2746dbcc.cjs.prod.js → service-page-project-switcher-f1b43eb7.cjs.prod.js} +1 -1
- package/dist/{use-applications-menu-823a2492.cjs.dev.js → use-applications-menu-48d924bd.cjs.prod.js} +47 -39
- package/dist/{use-applications-menu-14a5a1f4.cjs.prod.js → use-applications-menu-7f548a7a.cjs.dev.js} +47 -39
- package/dist/{use-applications-menu-1514af11.esm.js → use-applications-menu-b871849c.esm.js} +44 -37
- package/dist/{user-settings-menu-d75f4958.cjs.prod.js → user-settings-menu-6660f508.cjs.prod.js} +29 -22
- package/dist/{user-settings-menu-f98bea89.esm.js → user-settings-menu-afa82f2a.esm.js} +29 -22
- package/dist/{user-settings-menu-6113cdd3.cjs.dev.js → user-settings-menu-f5c74042.cjs.dev.js} +29 -22
- package/package.json +22 -22
- package/ssr/dist/commercetools-frontend-application-shell-ssr.cjs.dev.js +2 -1
- package/ssr/dist/commercetools-frontend-application-shell-ssr.cjs.prod.js +2 -1
- package/ssr/dist/commercetools-frontend-application-shell-ssr.esm.js +2 -1
- package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.dev.js +26 -22
- package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.prod.js +26 -22
- package/test-utils/dist/commercetools-frontend-application-shell-test-utils.esm.js +20 -17
- package/dist/oidc-8827f9fe.cjs.dev.js +0 -98
- package/dist/oidc-b2520905.esm.js +0 -84
- package/dist/oidc-d74e6aa2.cjs.prod.js +0 -98
- package/dist/quick-access-67db2a39.cjs.dev.js +0 -1893
- package/dist/quick-access-8c34e976.esm.js +0 -1865
- package/dist/quick-access-9001b324.cjs.prod.js +0 -1875
|
@@ -6,6 +6,7 @@ var _findInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/insta
|
|
|
6
6
|
var _startsWithInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/starts-with');
|
|
7
7
|
var _filterInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/filter');
|
|
8
8
|
var _mapInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/map');
|
|
9
|
+
var _concatInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/concat');
|
|
9
10
|
var _Array$isArray = require('@babel/runtime-corejs3/core-js-stable/array/is-array');
|
|
10
11
|
var _Number$isFinite = require('@babel/runtime-corejs3/core-js-stable/number/is-finite');
|
|
11
12
|
var _Object$keys = require('@babel/runtime-corejs3/core-js-stable/object/keys');
|
|
@@ -24,11 +25,12 @@ var LogoSVG = require('@commercetools-frontend/assets/logos/commercetools_small-
|
|
|
24
25
|
var constants = require('@commercetools-frontend/constants');
|
|
25
26
|
var icons = require('@commercetools-uikit/icons');
|
|
26
27
|
var Spacings = require('@commercetools-uikit/spacings');
|
|
28
|
+
var _taggedTemplateLiteral = require('@babel/runtime-corejs3/helpers/taggedTemplateLiteral');
|
|
27
29
|
var _styled = require('@emotion/styled/base');
|
|
28
30
|
var react = require('@emotion/react');
|
|
29
31
|
var applicationComponents = require('@commercetools-frontend/application-components');
|
|
30
32
|
var designSystem = require('@commercetools-uikit/design-system');
|
|
31
|
-
var oidc = require('./oidc-
|
|
33
|
+
var oidc = require('./oidc-258fc018.cjs.prod.js');
|
|
32
34
|
var _objectWithoutProperties = require('@babel/runtime-corejs3/helpers/objectWithoutProperties');
|
|
33
35
|
var _includesInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/includes');
|
|
34
36
|
var _everyInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/every');
|
|
@@ -43,7 +45,7 @@ var _keysInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/insta
|
|
|
43
45
|
var _sortInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/sort');
|
|
44
46
|
var isNil = require('lodash/isNil');
|
|
45
47
|
var throttle = require('lodash/throttle');
|
|
46
|
-
var useApplicationsMenu = require('./use-applications-menu-
|
|
48
|
+
var useApplicationsMenu = require('./use-applications-menu-48d924bd.cjs.prod.js');
|
|
47
49
|
require('@apollo/client');
|
|
48
50
|
require('@commercetools-frontend/l10n');
|
|
49
51
|
|
|
@@ -53,6 +55,7 @@ var _findInstanceProperty__default = /*#__PURE__*/_interopDefault(_findInstanceP
|
|
|
53
55
|
var _startsWithInstanceProperty__default = /*#__PURE__*/_interopDefault(_startsWithInstanceProperty);
|
|
54
56
|
var _filterInstanceProperty__default = /*#__PURE__*/_interopDefault(_filterInstanceProperty);
|
|
55
57
|
var _mapInstanceProperty__default = /*#__PURE__*/_interopDefault(_mapInstanceProperty);
|
|
58
|
+
var _concatInstanceProperty__default = /*#__PURE__*/_interopDefault(_concatInstanceProperty);
|
|
56
59
|
var _Array$isArray__default = /*#__PURE__*/_interopDefault(_Array$isArray);
|
|
57
60
|
var _Number$isFinite__default = /*#__PURE__*/_interopDefault(_Number$isFinite);
|
|
58
61
|
var _Object$keys__default = /*#__PURE__*/_interopDefault(_Object$keys);
|
|
@@ -95,6 +98,7 @@ const Title = /*#__PURE__*/_styled__default["default"]("div", {
|
|
|
95
98
|
target: "e1wv1pdj0"
|
|
96
99
|
} )("flex:1;font-weight:600;font-size:", designSystem.designTokens.fontSize20, ";line-height:", designSystem.designTokens.lineHeight20, ";color:", designSystem.designTokens.colorNeutral, ";opacity:0;transition:", oidc.NAVBAR.leftNavigationTransition, ";text-align:left;text-decoration:none;z-index:1;" + ("" ));
|
|
97
100
|
|
|
101
|
+
var _templateObject$1;
|
|
98
102
|
const getSubmenuPositionBasedOnMenuItemPosition = (isSubmenuAboveMenuItem, submenuVerticalPosition) => /*#__PURE__*/react.css(isSubmenuAboveMenuItem ? 'bottom' : 'top', ":", submenuVerticalPosition, "px;" + ("" ), "" );
|
|
99
103
|
var _ref4 = {
|
|
100
104
|
name: "abcix4",
|
|
@@ -105,10 +109,7 @@ var _ref5 = {
|
|
|
105
109
|
styles: "bottom:0"
|
|
106
110
|
} ;
|
|
107
111
|
const getContainerPositionBasedOnMenuItemPosition = (isSubmenuAboveMenuItem, isSublistActiveWhileIsMenuExpanded, isSublistActiveWhileIsMenuCollapsed) => [isSublistActiveWhileIsMenuCollapsed && /*#__PURE__*/react.css(isSubmenuAboveMenuItem ? 'bottom' : 'top', ":-", oidc.NAVBAR.itemSize, ";" + ("" ), "" ), isSublistActiveWhileIsMenuExpanded && isSubmenuAboveMenuItem && _ref5, isSublistActiveWhileIsMenuExpanded && !isSubmenuAboveMenuItem && _ref4];
|
|
108
|
-
const fadeIn = react.keyframes
|
|
109
|
-
from {opacity: 0;}
|
|
110
|
-
to { opacity: 1;}
|
|
111
|
-
`;
|
|
112
|
+
const fadeIn = react.keyframes(_templateObject$1 || (_templateObject$1 = _taggedTemplateLiteral(["\nfrom {opacity: 0;}\n to { opacity: 1;}\n"])));
|
|
112
113
|
var _ref3 = {
|
|
113
114
|
name: "eivff4",
|
|
114
115
|
styles: "display:none"
|
|
@@ -159,14 +160,8 @@ const SafeArea = /*#__PURE__*/_styled__default["default"]("span", {
|
|
|
159
160
|
target: "e1i568cv0"
|
|
160
161
|
} )("position:absolute;top:0;bottom:0;right:100%;width:calc(100% - ", designSystem.designTokens.spacing30, ");clip-path:polygon(var(--safe-start), 100% 100%, 100% 0);" + ("" ));
|
|
161
162
|
|
|
162
|
-
|
|
163
|
-
from {
|
|
164
|
-
opacity: 0;
|
|
165
|
-
}
|
|
166
|
-
to {
|
|
167
|
-
opacity: 1;
|
|
168
|
-
}
|
|
169
|
-
`;
|
|
163
|
+
var _templateObject;
|
|
164
|
+
const visible = react.keyframes(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n"])));
|
|
170
165
|
const FixedMenu = /*#__PURE__*/_styled__default["default"]("div", {
|
|
171
166
|
target: "e1meml8k10"
|
|
172
167
|
} )("position:relative;width:", oidc.NAVBAR.widthLeftNavigation, ";", MenuListItem, " ", ItemIconText, "{justify-content:center;display:flex;width:100%;}" + ("" ));
|
|
@@ -333,8 +328,8 @@ const MenuGroup = /*#__PURE__*/react$1.forwardRef((props, ref) => {
|
|
|
333
328
|
return jsxRuntime.jsx(MenuList, {
|
|
334
329
|
ref: ref && props.level === 2 ? ref : null,
|
|
335
330
|
level: props.level,
|
|
336
|
-
id:
|
|
337
|
-
"data-testid":
|
|
331
|
+
id: "group-".concat(props.id),
|
|
332
|
+
"data-testid": "group-".concat(props.id),
|
|
338
333
|
role: "menu",
|
|
339
334
|
onKeyDown: props.handleKeyDown,
|
|
340
335
|
className: classnames__default["default"]({
|
|
@@ -434,7 +429,7 @@ const MenuItemLink = _ref3 => {
|
|
|
434
429
|
MenuItemLink.displayName = 'MenuItemLink';
|
|
435
430
|
const isEveryMenuVisibilitySetToHidden = (menuVisibilities, namesOfMenuVisibilities) => _Array$isArray__default["default"](namesOfMenuVisibilities) && namesOfMenuVisibilities.length > 0 && _everyInstanceProperty__default["default"](namesOfMenuVisibilities).call(namesOfMenuVisibilities, nameOfMenuVisibility => menuVisibilities && menuVisibilities[nameOfMenuVisibility] === true);
|
|
436
431
|
function isLongLivedFlag(flag) {
|
|
437
|
-
return typeof flag
|
|
432
|
+
return typeof (flag === null || flag === void 0 ? void 0 : flag.value) === 'boolean';
|
|
438
433
|
}
|
|
439
434
|
const RestrictedMenuItem = _ref4 => {
|
|
440
435
|
let _ref4$permissions = _ref4.permissions,
|
|
@@ -656,13 +651,15 @@ const reducer = (state, action) => {
|
|
|
656
651
|
return state;
|
|
657
652
|
}
|
|
658
653
|
};
|
|
659
|
-
const isFocusOutEventCalledBySubmenuItem = event =>
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
//
|
|
663
|
-
event.
|
|
664
|
-
// element losing focus
|
|
665
|
-
event.target
|
|
654
|
+
const isFocusOutEventCalledBySubmenuItem = event => {
|
|
655
|
+
var _event$relatedTarget, _event$target;
|
|
656
|
+
return (
|
|
657
|
+
// a case when a submenu item loses focus
|
|
658
|
+
event.type === 'focusout' && (// element receiving focus
|
|
659
|
+
(_event$relatedTarget = event.relatedTarget) === null || _event$relatedTarget === void 0 ? void 0 : _event$relatedTarget.matches('a[data-link-level="text-link"]')) && (// element losing focus
|
|
660
|
+
(_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.matches('a[data-link-level="text-link-sublist"]'))
|
|
661
|
+
);
|
|
662
|
+
};
|
|
666
663
|
const useNavbarStateManager = props => {
|
|
667
664
|
var _context, _context2, _context4, _context5;
|
|
668
665
|
const navBarNode = react$1.useRef(null);
|
|
@@ -758,7 +755,8 @@ const useNavbarStateManager = props => {
|
|
|
758
755
|
}
|
|
759
756
|
}, 100), [isForcedMenuOpen, state.isExpanderVisible, state.isMenuOpen]);
|
|
760
757
|
const shouldCloseMenuFly = react$1.useCallback(event => {
|
|
761
|
-
|
|
758
|
+
var _navBarNode$current;
|
|
759
|
+
if (!(navBarNode !== null && navBarNode !== void 0 && (_navBarNode$current = navBarNode.current) !== null && _navBarNode$current !== void 0 && _navBarNode$current.contains(event.target)) && !state.isMenuOpen) {
|
|
762
760
|
dispatch({
|
|
763
761
|
type: 'unsetActiveItemIndex'
|
|
764
762
|
});
|
|
@@ -823,7 +821,7 @@ const useNavbarStateManager = props => {
|
|
|
823
821
|
const allApplicationsNavbarMenuGroups = _sortInstanceProperty__default["default"](_context4 = _mapInstanceProperty__default["default"](_context5 = applicationsNavBarMenuGroups || []).call(_context5, navbarMenuGroup => navbarMenuGroup.key === '2' && allCustomApplicationsNavbarMenu.length > 0 ? {
|
|
824
822
|
key: navbarMenuGroup.key,
|
|
825
823
|
items: [...navbarMenuGroup.items, ...allCustomApplicationsNavbarMenu]
|
|
826
|
-
} : navbarMenuGroup)).call(_context4, (navBarMenuGroupA, navBarMenuGroupB) => Number(navBarMenuGroupA
|
|
824
|
+
} : navbarMenuGroup)).call(_context4, (navBarMenuGroupA, navBarMenuGroupB) => Number(navBarMenuGroupA === null || navBarMenuGroupA === void 0 ? void 0 : navBarMenuGroupA.key) - Number(navBarMenuGroupB === null || navBarMenuGroupB === void 0 ? void 0 : navBarMenuGroupB.key));
|
|
827
825
|
return _objectSpread$1(_objectSpread$1({}, state), {}, {
|
|
828
826
|
navBarNode,
|
|
829
827
|
handleToggleItem,
|
|
@@ -835,7 +833,7 @@ const useNavbarStateManager = props => {
|
|
|
835
833
|
};
|
|
836
834
|
|
|
837
835
|
function ownKeys(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
838
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var
|
|
836
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context10, _context11; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context10 = ownKeys(Object(t), !0)).call(_context10, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context11 = ownKeys(Object(t))).call(_context11, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
|
|
839
837
|
// Helper function to extract accessible label from menu objects
|
|
840
838
|
const getMenuAccessibleLabel = (labelAllLocales, defaultLabel, applicationLocale) => {
|
|
841
839
|
const localizedLabel = _findInstanceProperty__default["default"](labelAllLocales).call(labelAllLocales, loc => _startsWithInstanceProperty__default["default"](applicationLocale).call(applicationLocale, loc.locale));
|
|
@@ -848,13 +846,16 @@ const getMenuVisibilitiesOfSubmenus = menu => {
|
|
|
848
846
|
return _filterInstanceProperty__default["default"](_context = _mapInstanceProperty__default["default"](_context2 = menu.submenu).call(_context2, submenu => submenu.menuVisibility)).call(_context, nonNullable);
|
|
849
847
|
};
|
|
850
848
|
const getMenuVisibilityOfMainmenu = menu => menu.menuVisibility ? [menu.menuVisibility] : [];
|
|
851
|
-
const getIsSubmenuRouteActive = (uriPath, props) =>
|
|
852
|
-
path: `/${props.projectKey}/${uriPath}`,
|
|
853
|
-
exact: true,
|
|
854
|
-
strict: false
|
|
855
|
-
}));
|
|
856
|
-
const ApplicationMenu = props => {
|
|
849
|
+
const getIsSubmenuRouteActive = (uriPath, props) => {
|
|
857
850
|
var _context3;
|
|
851
|
+
return Boolean(reactRouterDom.matchPath(props.location.pathname, {
|
|
852
|
+
path: _concatInstanceProperty__default["default"](_context3 = "/".concat(props.projectKey, "/")).call(_context3, uriPath),
|
|
853
|
+
exact: true,
|
|
854
|
+
strict: false
|
|
855
|
+
}));
|
|
856
|
+
};
|
|
857
|
+
const ApplicationMenu = props => {
|
|
858
|
+
var _context5, _props$menu$featureTo, _props$menu$actionRig, _props$menu$dataFence, _context6, _context7;
|
|
858
859
|
const _useState = react$1.useState(0),
|
|
859
860
|
_useState2 = _slicedToArray(_useState, 2),
|
|
860
861
|
submenuVerticalPosition = _useState2[0],
|
|
@@ -881,12 +882,13 @@ const ApplicationMenu = props => {
|
|
|
881
882
|
const hasSubmenu = _Array$isArray__default["default"](props.menu.submenu) && props.menu.submenu.length > 0;
|
|
882
883
|
const menuItemIdentifier = snakeCase__default["default"](props.menu.key);
|
|
883
884
|
const calculateSafeAreaStartPositon = react$1.useCallback(e => {
|
|
884
|
-
|
|
885
|
-
const
|
|
886
|
-
const
|
|
887
|
-
const
|
|
888
|
-
const
|
|
889
|
-
const
|
|
885
|
+
var _submenuSafeAreaRef$c, _document$querySelect;
|
|
886
|
+
const currentSafeAreaRect = (_submenuSafeAreaRef$c = submenuSafeAreaRef.current) === null || _submenuSafeAreaRef$c === void 0 ? void 0 : _submenuSafeAreaRef$c.getBoundingClientRect();
|
|
887
|
+
const menuItemRect = (_document$querySelect = document.querySelector("[data-menuitem=\"".concat(menuItemIdentifier, "\"]"))) === null || _document$querySelect === void 0 ? void 0 : _document$querySelect.getBoundingClientRect();
|
|
888
|
+
const currentSafeAreaLeft = (currentSafeAreaRect === null || currentSafeAreaRect === void 0 ? void 0 : currentSafeAreaRect.left) || 0;
|
|
889
|
+
const currentSafeAreaTop = (currentSafeAreaRect === null || currentSafeAreaRect === void 0 ? void 0 : currentSafeAreaRect.top) || 0;
|
|
890
|
+
const currentSafeAreaWidth = (currentSafeAreaRect === null || currentSafeAreaRect === void 0 ? void 0 : currentSafeAreaRect.width) || 0;
|
|
891
|
+
const currentSafeAreaHeight = (currentSafeAreaRect === null || currentSafeAreaRect === void 0 ? void 0 : currentSafeAreaRect.height) || 0;
|
|
890
892
|
const localX = e.clientX - currentSafeAreaLeft;
|
|
891
893
|
const localY = e.clientY - currentSafeAreaTop;
|
|
892
894
|
let minXPercent = 0;
|
|
@@ -932,15 +934,17 @@ const ApplicationMenu = props => {
|
|
|
932
934
|
};
|
|
933
935
|
}, [calculateSafeAreaStartPositon]);
|
|
934
936
|
react$1.useLayoutEffect(() => {
|
|
937
|
+
var _context4;
|
|
935
938
|
if (!submenuRef.current) return;
|
|
936
939
|
const safeX = _Number$isFinite__default["default"](percentageX) ? percentageX : 0;
|
|
937
940
|
const safeY = _Number$isFinite__default["default"](percentageY) ? percentageY : 100;
|
|
938
|
-
submenuRef.current.style.setProperty('--safe-start',
|
|
941
|
+
submenuRef.current.style.setProperty('--safe-start', _concatInstanceProperty__default["default"](_context4 = "".concat(safeX, "% ")).call(_context4, safeY, "%"));
|
|
939
942
|
}, [percentageX, percentageY]);
|
|
940
943
|
const callbackFn = react$1.useCallback(entries => {
|
|
941
|
-
|
|
942
|
-
const
|
|
943
|
-
const
|
|
944
|
+
var _document$querySelect2;
|
|
945
|
+
const menuItemBoundingClientRect = (_document$querySelect2 = document.querySelector("[data-menuitem=\"".concat(menuItemIdentifier, "\"]"))) === null || _document$querySelect2 === void 0 ? void 0 : _document$querySelect2.getBoundingClientRect();
|
|
946
|
+
const menuItemTop = (menuItemBoundingClientRect === null || menuItemBoundingClientRect === void 0 ? void 0 : menuItemBoundingClientRect.top) || 0;
|
|
947
|
+
const menuItemBottom = (menuItemBoundingClientRect === null || menuItemBoundingClientRect === void 0 ? void 0 : menuItemBoundingClientRect.bottom) || 0;
|
|
944
948
|
const _entries = _slicedToArray(entries, 1),
|
|
945
949
|
entry = _entries[0];
|
|
946
950
|
|
|
@@ -966,7 +970,10 @@ const ApplicationMenu = props => {
|
|
|
966
970
|
observerRef.current = new IntersectionObserver(callbackFn, {
|
|
967
971
|
rootMargin: '-100% 0px 0px 0px' // we want to observe if the submenu crosses the bottom line of the viewport - therefore we set the root element top margin to -100% of the viewport height
|
|
968
972
|
});
|
|
969
|
-
return () =>
|
|
973
|
+
return () => {
|
|
974
|
+
var _observerRef$current;
|
|
975
|
+
return (_observerRef$current = observerRef.current) === null || _observerRef$current === void 0 ? void 0 : _observerRef$current.disconnect();
|
|
976
|
+
};
|
|
970
977
|
}, [callbackFn, props.isMenuOpen]);
|
|
971
978
|
react$1.useLayoutEffect(() => {
|
|
972
979
|
const currentSubmenuRef = submenuRef.current;
|
|
@@ -976,10 +983,10 @@ const ApplicationMenu = props => {
|
|
|
976
983
|
observer.observe(currentSubmenuRef);
|
|
977
984
|
}
|
|
978
985
|
setIsSubmenuFocused(false);
|
|
979
|
-
return () => observer
|
|
986
|
+
return () => observer === null || observer === void 0 ? void 0 : observer.disconnect();
|
|
980
987
|
}, [menuItemIdentifier, props.isMenuOpen, props.handleToggleItem, callbackFn]);
|
|
981
988
|
const isMainMenuRouteActive = Boolean(reactRouterDom.matchPath(props.location.pathname, {
|
|
982
|
-
path:
|
|
989
|
+
path: _concatInstanceProperty__default["default"](_context5 = "/".concat(props.projectKey, "/")).call(_context5, props.menu.uriPath),
|
|
983
990
|
exact: false,
|
|
984
991
|
strict: false
|
|
985
992
|
}));
|
|
@@ -994,20 +1001,22 @@ const ApplicationMenu = props => {
|
|
|
994
1001
|
|
|
995
1002
|
const namesOfMenuVisibilitiesOfAllSubmenus = hasSubmenu ? getMenuVisibilitiesOfSubmenus(props.menu) : getMenuVisibilityOfMainmenu(props.menu);
|
|
996
1003
|
const handleKeyDown = e => {
|
|
997
|
-
|
|
1004
|
+
var _submenuRef$current;
|
|
1005
|
+
const currentlyFocusedItem = (_submenuRef$current = submenuRef.current) === null || _submenuRef$current === void 0 ? void 0 : _submenuRef$current.querySelector(':focus');
|
|
998
1006
|
if (e.key === 'Enter') {
|
|
999
1007
|
setIsSubmenuFocused(true);
|
|
1000
1008
|
if (!currentlyFocusedItem) {
|
|
1001
|
-
|
|
1009
|
+
var _submenuRef$current2;
|
|
1010
|
+
(_submenuRef$current2 = submenuRef.current) === null || _submenuRef$current2 === void 0 || (_submenuRef$current2 = _submenuRef$current2.querySelector('a')) === null || _submenuRef$current2 === void 0 || _submenuRef$current2.focus();
|
|
1002
1011
|
}
|
|
1003
1012
|
}
|
|
1004
1013
|
};
|
|
1005
1014
|
return jsxRuntime.jsx(RestrictedMenuItem, {
|
|
1006
1015
|
keyOfMenuItem: props.menu.key,
|
|
1007
|
-
featureToggle: props.menu.featureToggle
|
|
1016
|
+
featureToggle: (_props$menu$featureTo = props.menu.featureToggle) !== null && _props$menu$featureTo !== void 0 ? _props$menu$featureTo : undefined,
|
|
1008
1017
|
permissions: props.menu.permissions,
|
|
1009
|
-
actionRights: props.menu.actionRights
|
|
1010
|
-
dataFences: props.menu.dataFences
|
|
1018
|
+
actionRights: (_props$menu$actionRig = props.menu.actionRights) !== null && _props$menu$actionRig !== void 0 ? _props$menu$actionRig : undefined,
|
|
1019
|
+
dataFences: (_props$menu$dataFence = props.menu.dataFences) !== null && _props$menu$dataFence !== void 0 ? _props$menu$dataFence : undefined,
|
|
1011
1020
|
projectPermissions: props.projectPermissions,
|
|
1012
1021
|
menuVisibilities: props.menuVisibilities,
|
|
1013
1022
|
namesOfMenuVisibilities: namesOfMenuVisibilitiesOfAllSubmenus,
|
|
@@ -1024,7 +1033,7 @@ const ApplicationMenu = props => {
|
|
|
1024
1033
|
identifier: menuItemIdentifier,
|
|
1025
1034
|
ariaLabel: getMenuAccessibleLabel(props.menu.labelAllLocales, props.menu.defaultLabel, props.applicationLocale),
|
|
1026
1035
|
children: [jsxRuntime.jsx(MenuItemLink, {
|
|
1027
|
-
linkTo:
|
|
1036
|
+
linkTo: _concatInstanceProperty__default["default"](_context6 = "/".concat(props.projectKey, "/")).call(_context6, props.menu.uriPath),
|
|
1028
1037
|
useFullRedirectsForLinks: props.useFullRedirectsForLinks,
|
|
1029
1038
|
onClick: props.onMenuItemClick,
|
|
1030
1039
|
ariaLabel: getMenuAccessibleLabel(props.menu.labelAllLocales, props.menu.defaultLabel, props.applicationLocale),
|
|
@@ -1036,7 +1045,7 @@ const ApplicationMenu = props => {
|
|
|
1036
1045
|
isMenuOpen: props.isMenuOpen
|
|
1037
1046
|
})
|
|
1038
1047
|
}), jsxRuntime.jsxs(MenuGroup, {
|
|
1039
|
-
id:
|
|
1048
|
+
id: "group-".concat(props.menu.key),
|
|
1040
1049
|
level: 2,
|
|
1041
1050
|
isActive: props.isActive,
|
|
1042
1051
|
isExpanded: props.isMenuOpen,
|
|
@@ -1047,7 +1056,7 @@ const ApplicationMenu = props => {
|
|
|
1047
1056
|
children: [!props.isMenuOpen && jsxRuntime.jsx(TooltipContainer, {
|
|
1048
1057
|
alignsAgainstBottom: isSubmenuAboveMenuItem,
|
|
1049
1058
|
children: jsxRuntime.jsx(Tooltip, {
|
|
1050
|
-
"aria-owns":
|
|
1059
|
+
"aria-owns": "group-".concat(props.menu.key),
|
|
1051
1060
|
role: "tooltip",
|
|
1052
1061
|
children: jsxRuntime.jsx(MenuLabel, {
|
|
1053
1062
|
labelAllLocales: props.menu.labelAllLocales,
|
|
@@ -1055,38 +1064,41 @@ const ApplicationMenu = props => {
|
|
|
1055
1064
|
applicationLocale: props.applicationLocale
|
|
1056
1065
|
})
|
|
1057
1066
|
})
|
|
1058
|
-
}), hasSubmenu ? _mapInstanceProperty__default["default"](
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
children: jsxRuntime.jsx(
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1067
|
+
}), hasSubmenu ? _mapInstanceProperty__default["default"](_context7 = props.menu.submenu).call(_context7, submenu => {
|
|
1068
|
+
var _context8, _submenu$featureToggl, _submenu$actionRights, _submenu$dataFences, _context9;
|
|
1069
|
+
return jsxRuntime.jsx(RestrictedMenuItem, {
|
|
1070
|
+
keyOfMenuItem: submenu.key,
|
|
1071
|
+
featureToggle: (_submenu$featureToggl = submenu.featureToggle) !== null && _submenu$featureToggl !== void 0 ? _submenu$featureToggl : undefined,
|
|
1072
|
+
permissions: submenu.permissions,
|
|
1073
|
+
actionRights: (_submenu$actionRights = submenu.actionRights) !== null && _submenu$actionRights !== void 0 ? _submenu$actionRights : undefined,
|
|
1074
|
+
dataFences: (_submenu$dataFences = submenu.dataFences) !== null && _submenu$dataFences !== void 0 ? _submenu$dataFences : undefined,
|
|
1075
|
+
projectPermissions: props.projectPermissions,
|
|
1076
|
+
menuVisibilities: props.menuVisibilities,
|
|
1077
|
+
namesOfMenuVisibilities: submenu.menuVisibility ? [submenu.menuVisibility] : undefined,
|
|
1078
|
+
children: jsxRuntime.jsx(SublistItem, {
|
|
1079
|
+
isActive: getIsSubmenuRouteActive(submenu.uriPath, props),
|
|
1080
|
+
children: jsxRuntime.jsx(Text, {
|
|
1081
|
+
children: jsxRuntime.jsx(MenuItemLink, {
|
|
1082
|
+
linkTo: _concatInstanceProperty__default["default"](_context9 = "/".concat(props.projectKey, "/")).call(_context9, submenu.uriPath)
|
|
1083
|
+
// We want to use an exact matching strategy to avoid multiple
|
|
1084
|
+
// links matching sub-routes.
|
|
1085
|
+
,
|
|
1086
|
+
exactMatch: true,
|
|
1087
|
+
useFullRedirectsForLinks: props.useFullRedirectsForLinks,
|
|
1088
|
+
onClick: props.onMenuItemClick,
|
|
1089
|
+
isSubmenuLink: true,
|
|
1090
|
+
isSubmenuFocused: isSubmenuFocused,
|
|
1091
|
+
ariaLabel: getMenuAccessibleLabel(submenu.labelAllLocales, submenu.defaultLabel, props.applicationLocale),
|
|
1092
|
+
children: jsxRuntime.jsx(MenuLabel, {
|
|
1093
|
+
labelAllLocales: submenu.labelAllLocales,
|
|
1094
|
+
defaultLabel: submenu.defaultLabel,
|
|
1095
|
+
applicationLocale: props.applicationLocale
|
|
1096
|
+
})
|
|
1085
1097
|
})
|
|
1086
1098
|
})
|
|
1087
1099
|
})
|
|
1088
|
-
})
|
|
1089
|
-
}
|
|
1100
|
+
}, _concatInstanceProperty__default["default"](_context8 = "".concat(props.menu.key, "-submenu-")).call(_context8, submenu.key));
|
|
1101
|
+
}) : null, jsxRuntime.jsx(SafeArea, {
|
|
1090
1102
|
ref: submenuSafeAreaRef
|
|
1091
1103
|
})]
|
|
1092
1104
|
})]
|
|
@@ -1113,12 +1125,18 @@ const NavBar = props => {
|
|
|
1113
1125
|
const location = reactRouterDom.useLocation();
|
|
1114
1126
|
const _useIntl = reactIntl.useIntl(),
|
|
1115
1127
|
formatMessage = _useIntl.formatMessage;
|
|
1116
|
-
const projectPermissions = react$1.useMemo(() =>
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1128
|
+
const projectPermissions = react$1.useMemo(() => {
|
|
1129
|
+
var _props$project, _props$project2, _props$project3;
|
|
1130
|
+
return {
|
|
1131
|
+
permissions: applicationShellConnectors.normalizeAllAppliedPermissions((_props$project = props.project) === null || _props$project === void 0 ? void 0 : _props$project.allPermissionsForAllApplications.allAppliedPermissions),
|
|
1132
|
+
actionRights: applicationShellConnectors.normalizeAllAppliedActionRights((_props$project2 = props.project) === null || _props$project2 === void 0 ? void 0 : _props$project2.allPermissionsForAllApplications.allAppliedActionRights),
|
|
1133
|
+
dataFences: applicationShellConnectors.normalizeAllAppliedDataFences((_props$project3 = props.project) === null || _props$project3 === void 0 ? void 0 : _props$project3.allPermissionsForAllApplications.allAppliedDataFences)
|
|
1134
|
+
};
|
|
1135
|
+
}, [props.project]);
|
|
1136
|
+
const menuVisibilities = react$1.useMemo(() => {
|
|
1137
|
+
var _props$project4;
|
|
1138
|
+
return applicationShellConnectors.normalizeAllAppliedMenuVisibilities((_props$project4 = props.project) === null || _props$project4 === void 0 ? void 0 : _props$project4.allPermissionsForAllApplications.allAppliedMenuVisibilities);
|
|
1139
|
+
}, [props.project]);
|
|
1122
1140
|
const applicationLocale = props.applicationLocale;
|
|
1123
1141
|
|
|
1124
1142
|
// Render the loading navbar as long as all the data
|
|
@@ -1149,11 +1167,12 @@ const NavBar = props => {
|
|
|
1149
1167
|
children: jsxRuntime.jsx(Spacings__default["default"].Stack, {
|
|
1150
1168
|
scale: "l",
|
|
1151
1169
|
children: _mapInstanceProperty__default["default"](allApplicationsNavbarMenuGroups).call(allApplicationsNavbarMenuGroups, navbarMenuGroup => {
|
|
1152
|
-
var
|
|
1170
|
+
var _context0;
|
|
1153
1171
|
return jsxRuntime.jsx("div", {
|
|
1154
|
-
children: _mapInstanceProperty__default["default"](
|
|
1172
|
+
children: _mapInstanceProperty__default["default"](_context0 = navbarMenuGroup.items).call(_context0, menu => {
|
|
1173
|
+
var _context1;
|
|
1155
1174
|
const menuType = 'scrollable';
|
|
1156
|
-
const itemIndex =
|
|
1175
|
+
const itemIndex = _concatInstanceProperty__default["default"](_context1 = "".concat(menuType, "-")).call(_context1, menu.key);
|
|
1157
1176
|
return jsxRuntime.jsx(ApplicationMenu, {
|
|
1158
1177
|
location: location,
|
|
1159
1178
|
menu: menu,
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _concatInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/concat');
|
|
4
|
+
var _mapInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/map');
|
|
5
|
+
var _forEachInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/for-each');
|
|
6
|
+
|
|
7
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
|
|
8
|
+
|
|
9
|
+
var _concatInstanceProperty__default = /*#__PURE__*/_interopDefault(_concatInstanceProperty);
|
|
10
|
+
var _mapInstanceProperty__default = /*#__PURE__*/_interopDefault(_mapInstanceProperty);
|
|
11
|
+
var _forEachInstanceProperty__default = /*#__PURE__*/_interopDefault(_forEachInstanceProperty);
|
|
12
|
+
|
|
13
|
+
const DIMENSIONS = {
|
|
14
|
+
header: '56px'
|
|
15
|
+
};
|
|
16
|
+
const NAVBAR = {
|
|
17
|
+
expanderHeight: '50px',
|
|
18
|
+
expanderSize: '40px',
|
|
19
|
+
iconSize: '24px',
|
|
20
|
+
iconSizeHover: '28px',
|
|
21
|
+
itemSize: '48px',
|
|
22
|
+
itemHeight: '56px',
|
|
23
|
+
sublistIndentationWhenCollapsed: '72px',
|
|
24
|
+
sublistIndentationWhenExpanded: '248px',
|
|
25
|
+
sublistItemMinHeight: '50px',
|
|
26
|
+
sublistWidth: '272px',
|
|
27
|
+
leftNavigationTransition: 'all 150ms cubic-bezier(1, 0, 0.58, 1)',
|
|
28
|
+
widthLeftNavigation: '80px',
|
|
29
|
+
widthLeftNavigationWhenExpanded: '256px'
|
|
30
|
+
};
|
|
31
|
+
const WINDOW_SIZES = {
|
|
32
|
+
STANDARD: 1024,
|
|
33
|
+
WIDE: 1200
|
|
34
|
+
};
|
|
35
|
+
const CONTAINERS = {
|
|
36
|
+
LOCALE_SWITCHER: 'locale-switcher-container',
|
|
37
|
+
LEFT_OF_PROFILE: 'left-of-profile'
|
|
38
|
+
};
|
|
39
|
+
const SUSPENSION_REASONS = {
|
|
40
|
+
TEMPORARY_MAINTENANCE: 'TemporaryMaintenance',
|
|
41
|
+
PAYMENT: 'Payment',
|
|
42
|
+
OTHER: 'Other'
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
// OIDC params
|
|
46
|
+
const OIDC_RESPONSE_TYPES = {
|
|
47
|
+
ID_TOKEN: 'id_token'
|
|
48
|
+
};
|
|
49
|
+
const OIDC_CLAIMS = {
|
|
50
|
+
OPEN_ID: 'openid',
|
|
51
|
+
PROJECT_KEY: 'project_key',
|
|
52
|
+
TEAM_ID: 'team_id',
|
|
53
|
+
APPLICATION_ID: 'application_id',
|
|
54
|
+
VIEW: 'view',
|
|
55
|
+
MANAGE: 'manage'
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
const buildOidcScope = options => {
|
|
59
|
+
var _context2, _options$oAuthScopes$, _options$oAuthScopes, _context4, _options$oAuthScopes$2, _options$oAuthScopes2;
|
|
60
|
+
const claims = [];
|
|
61
|
+
|
|
62
|
+
// Set the projectKey
|
|
63
|
+
if (options.projectKey) {
|
|
64
|
+
var _context;
|
|
65
|
+
claims.push(_concatInstanceProperty__default["default"](_context = "".concat(OIDC_CLAIMS.PROJECT_KEY, ":")).call(_context, options.projectKey));
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
// Set the OAuth Scopes
|
|
69
|
+
claims.push(..._mapInstanceProperty__default["default"](_context2 = (_options$oAuthScopes$ = (_options$oAuthScopes = options.oAuthScopes) === null || _options$oAuthScopes === void 0 ? void 0 : _options$oAuthScopes.view) !== null && _options$oAuthScopes$ !== void 0 ? _options$oAuthScopes$ : []).call(_context2, scope => {
|
|
70
|
+
var _context3;
|
|
71
|
+
return _concatInstanceProperty__default["default"](_context3 = "".concat(OIDC_CLAIMS.VIEW, ":")).call(_context3, scope);
|
|
72
|
+
}));
|
|
73
|
+
claims.push(..._mapInstanceProperty__default["default"](_context4 = (_options$oAuthScopes$2 = (_options$oAuthScopes2 = options.oAuthScopes) === null || _options$oAuthScopes2 === void 0 ? void 0 : _options$oAuthScopes2.manage) !== null && _options$oAuthScopes$2 !== void 0 ? _options$oAuthScopes$2 : []).call(_context4, scope => {
|
|
74
|
+
var _context5;
|
|
75
|
+
return _concatInstanceProperty__default["default"](_context5 = "".concat(OIDC_CLAIMS.MANAGE, ":")).call(_context5, scope);
|
|
76
|
+
}));
|
|
77
|
+
// Set additional OAuth scopes
|
|
78
|
+
if (options !== null && options !== void 0 && options.additionalOAuthScopes) {
|
|
79
|
+
var _context6;
|
|
80
|
+
_forEachInstanceProperty__default["default"](_context6 = options.additionalOAuthScopes).call(_context6, additionalOAuthScope => {
|
|
81
|
+
var _context7, _additionalOAuthScope, _context9, _additionalOAuthScope2;
|
|
82
|
+
claims.push(..._mapInstanceProperty__default["default"](_context7 = (_additionalOAuthScope = additionalOAuthScope.view) !== null && _additionalOAuthScope !== void 0 ? _additionalOAuthScope : []).call(_context7, viewOAuthScope => {
|
|
83
|
+
var _context8;
|
|
84
|
+
return _concatInstanceProperty__default["default"](_context8 = "view/".concat(additionalOAuthScope.name, ":")).call(_context8, viewOAuthScope);
|
|
85
|
+
}), ..._mapInstanceProperty__default["default"](_context9 = (_additionalOAuthScope2 = additionalOAuthScope.manage) !== null && _additionalOAuthScope2 !== void 0 ? _additionalOAuthScope2 : []).call(_context9, manageOAuthScope => {
|
|
86
|
+
var _context0;
|
|
87
|
+
return _concatInstanceProperty__default["default"](_context0 = "manage/".concat(additionalOAuthScope.name, ":")).call(_context0, manageOAuthScope);
|
|
88
|
+
}));
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
// Set the teamId and applicationId
|
|
93
|
+
if (options.teamId) {
|
|
94
|
+
var _context1;
|
|
95
|
+
claims.push(_concatInstanceProperty__default["default"](_context1 = "".concat(OIDC_CLAIMS.TEAM_ID, ":")).call(_context1, options.teamId));
|
|
96
|
+
if (options.applicationId) {
|
|
97
|
+
var _context10;
|
|
98
|
+
claims.push(_concatInstanceProperty__default["default"](_context10 = "".concat(OIDC_CLAIMS.APPLICATION_ID, ":")).call(_context10, options.applicationId));
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
return [
|
|
102
|
+
// This is required as per OIDC spec.
|
|
103
|
+
OIDC_CLAIMS.OPEN_ID,
|
|
104
|
+
// Custom claims
|
|
105
|
+
...claims].join(' ');
|
|
106
|
+
};
|
|
107
|
+
|
|
108
|
+
exports.CONTAINERS = CONTAINERS;
|
|
109
|
+
exports.DIMENSIONS = DIMENSIONS;
|
|
110
|
+
exports.NAVBAR = NAVBAR;
|
|
111
|
+
exports.OIDC_CLAIMS = OIDC_CLAIMS;
|
|
112
|
+
exports.OIDC_RESPONSE_TYPES = OIDC_RESPONSE_TYPES;
|
|
113
|
+
exports.SUSPENSION_REASONS = SUSPENSION_REASONS;
|
|
114
|
+
exports.WINDOW_SIZES = WINDOW_SIZES;
|
|
115
|
+
exports.buildOidcScope = buildOidcScope;
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import _concatInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/concat';
|
|
2
|
+
import _mapInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/map';
|
|
3
|
+
import _forEachInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/for-each';
|
|
4
|
+
|
|
5
|
+
const DIMENSIONS = {
|
|
6
|
+
header: '56px'
|
|
7
|
+
};
|
|
8
|
+
const NAVBAR = {
|
|
9
|
+
expanderHeight: '50px',
|
|
10
|
+
expanderSize: '40px',
|
|
11
|
+
iconSize: '24px',
|
|
12
|
+
iconSizeHover: '28px',
|
|
13
|
+
itemSize: '48px',
|
|
14
|
+
itemHeight: '56px',
|
|
15
|
+
sublistIndentationWhenCollapsed: '72px',
|
|
16
|
+
sublistIndentationWhenExpanded: '248px',
|
|
17
|
+
sublistItemMinHeight: '50px',
|
|
18
|
+
sublistWidth: '272px',
|
|
19
|
+
leftNavigationTransition: 'all 150ms cubic-bezier(1, 0, 0.58, 1)',
|
|
20
|
+
widthLeftNavigation: '80px',
|
|
21
|
+
widthLeftNavigationWhenExpanded: '256px'
|
|
22
|
+
};
|
|
23
|
+
const WINDOW_SIZES = {
|
|
24
|
+
STANDARD: 1024,
|
|
25
|
+
WIDE: 1200
|
|
26
|
+
};
|
|
27
|
+
const CONTAINERS = {
|
|
28
|
+
LOCALE_SWITCHER: 'locale-switcher-container',
|
|
29
|
+
LEFT_OF_PROFILE: 'left-of-profile'
|
|
30
|
+
};
|
|
31
|
+
const SUSPENSION_REASONS = {
|
|
32
|
+
TEMPORARY_MAINTENANCE: 'TemporaryMaintenance',
|
|
33
|
+
PAYMENT: 'Payment',
|
|
34
|
+
OTHER: 'Other'
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
// OIDC params
|
|
38
|
+
const OIDC_RESPONSE_TYPES = {
|
|
39
|
+
ID_TOKEN: 'id_token'
|
|
40
|
+
};
|
|
41
|
+
const OIDC_CLAIMS = {
|
|
42
|
+
OPEN_ID: 'openid',
|
|
43
|
+
PROJECT_KEY: 'project_key',
|
|
44
|
+
TEAM_ID: 'team_id',
|
|
45
|
+
APPLICATION_ID: 'application_id',
|
|
46
|
+
VIEW: 'view',
|
|
47
|
+
MANAGE: 'manage'
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
const buildOidcScope = options => {
|
|
51
|
+
var _context2, _options$oAuthScopes$, _options$oAuthScopes, _context4, _options$oAuthScopes$2, _options$oAuthScopes2;
|
|
52
|
+
const claims = [];
|
|
53
|
+
|
|
54
|
+
// Set the projectKey
|
|
55
|
+
if (options.projectKey) {
|
|
56
|
+
var _context;
|
|
57
|
+
claims.push(_concatInstanceProperty(_context = "".concat(OIDC_CLAIMS.PROJECT_KEY, ":")).call(_context, options.projectKey));
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
// Set the OAuth Scopes
|
|
61
|
+
claims.push(..._mapInstanceProperty(_context2 = (_options$oAuthScopes$ = (_options$oAuthScopes = options.oAuthScopes) === null || _options$oAuthScopes === void 0 ? void 0 : _options$oAuthScopes.view) !== null && _options$oAuthScopes$ !== void 0 ? _options$oAuthScopes$ : []).call(_context2, scope => {
|
|
62
|
+
var _context3;
|
|
63
|
+
return _concatInstanceProperty(_context3 = "".concat(OIDC_CLAIMS.VIEW, ":")).call(_context3, scope);
|
|
64
|
+
}));
|
|
65
|
+
claims.push(..._mapInstanceProperty(_context4 = (_options$oAuthScopes$2 = (_options$oAuthScopes2 = options.oAuthScopes) === null || _options$oAuthScopes2 === void 0 ? void 0 : _options$oAuthScopes2.manage) !== null && _options$oAuthScopes$2 !== void 0 ? _options$oAuthScopes$2 : []).call(_context4, scope => {
|
|
66
|
+
var _context5;
|
|
67
|
+
return _concatInstanceProperty(_context5 = "".concat(OIDC_CLAIMS.MANAGE, ":")).call(_context5, scope);
|
|
68
|
+
}));
|
|
69
|
+
// Set additional OAuth scopes
|
|
70
|
+
if (options !== null && options !== void 0 && options.additionalOAuthScopes) {
|
|
71
|
+
var _context6;
|
|
72
|
+
_forEachInstanceProperty(_context6 = options.additionalOAuthScopes).call(_context6, additionalOAuthScope => {
|
|
73
|
+
var _context7, _additionalOAuthScope, _context9, _additionalOAuthScope2;
|
|
74
|
+
claims.push(..._mapInstanceProperty(_context7 = (_additionalOAuthScope = additionalOAuthScope.view) !== null && _additionalOAuthScope !== void 0 ? _additionalOAuthScope : []).call(_context7, viewOAuthScope => {
|
|
75
|
+
var _context8;
|
|
76
|
+
return _concatInstanceProperty(_context8 = "view/".concat(additionalOAuthScope.name, ":")).call(_context8, viewOAuthScope);
|
|
77
|
+
}), ..._mapInstanceProperty(_context9 = (_additionalOAuthScope2 = additionalOAuthScope.manage) !== null && _additionalOAuthScope2 !== void 0 ? _additionalOAuthScope2 : []).call(_context9, manageOAuthScope => {
|
|
78
|
+
var _context0;
|
|
79
|
+
return _concatInstanceProperty(_context0 = "manage/".concat(additionalOAuthScope.name, ":")).call(_context0, manageOAuthScope);
|
|
80
|
+
}));
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
// Set the teamId and applicationId
|
|
85
|
+
if (options.teamId) {
|
|
86
|
+
var _context1;
|
|
87
|
+
claims.push(_concatInstanceProperty(_context1 = "".concat(OIDC_CLAIMS.TEAM_ID, ":")).call(_context1, options.teamId));
|
|
88
|
+
if (options.applicationId) {
|
|
89
|
+
var _context10;
|
|
90
|
+
claims.push(_concatInstanceProperty(_context10 = "".concat(OIDC_CLAIMS.APPLICATION_ID, ":")).call(_context10, options.applicationId));
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return [
|
|
94
|
+
// This is required as per OIDC spec.
|
|
95
|
+
OIDC_CLAIMS.OPEN_ID,
|
|
96
|
+
// Custom claims
|
|
97
|
+
...claims].join(' ');
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
export { CONTAINERS as C, DIMENSIONS as D, NAVBAR as N, OIDC_CLAIMS as O, SUSPENSION_REASONS as S, WINDOW_SIZES as W, OIDC_RESPONSE_TYPES as a, buildOidcScope as b };
|