@entur-partner/app-shell 6.3.0 → 6.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.
@@ -1,3 +1,4 @@
1
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
1
2
  import { Auth0Provider, useAuth0 } from '@auth0/auth0-react';
2
3
  import { BannerAlertBox } from '@entur/alert';
3
4
  import { Loader, SkeletonRectangle } from '@entur/loader';
@@ -5,7 +6,7 @@ import { space } from '@entur/tokens';
5
6
  import { Paragraph, Link, CodeText } from '@entur/typography';
6
7
  import { getColorForEnvironment, Environment, OrganisationDropDown } from '@entur-partner/common';
7
8
  import { assertIsDefined } from '@entur-partner/util';
8
- import React, { useState, useEffect, useContext, createContext, useCallback } from 'react';
9
+ import { useState, useEffect, useContext, createContext, useCallback } from 'react';
9
10
  import postHog from 'posthog-js';
10
11
  import { PostHogProvider } from 'posthog-js/react';
11
12
 
@@ -220,7 +221,7 @@ function _wrapNativeSuper(t) {
220
221
 
221
222
  var EnvironmentBanner = function EnvironmentBanner(_ref) {
222
223
  var environment = _ref.environment;
223
- return React.createElement("div", {
224
+ return jsx("div", {
224
225
  className: "epp-environment-banner",
225
226
  style: {
226
227
  position: "fixed",
@@ -303,43 +304,55 @@ var Authenticate = function Authenticate(_ref) {
303
304
  returnTo: getReturnPath()
304
305
  }
305
306
  });
306
- return React.createElement(Loader, {
307
+ return jsx(Loader, {
307
308
  style: {
308
309
  marginTop: space.extraLarge9
309
- }
310
- }, "Redirecting to login page");
310
+ },
311
+ children: "Redirecting to login page"
312
+ });
311
313
  }
312
314
  if (isLoading || !userWithPermission) {
313
- return React.createElement(Loader, {
315
+ return jsx(Loader, {
314
316
  style: {
315
317
  marginTop: space.extraLarge9
316
- }
317
- }, "Authenticating");
318
+ },
319
+ children: "Authenticating"
320
+ });
318
321
  }
319
322
  if (error) {
320
323
  process.env.NODE_ENV !== "production" && console.error(error);
321
- return React.createElement(BannerAlertBox, {
324
+ return jsxs(BannerAlertBox, {
322
325
  variant: "error",
323
326
  title: "Authentication failed",
324
327
  style: {
325
328
  maxWidth: "600px",
326
329
  margin: "0 auto"
327
- }
328
- }, React.createElement(Paragraph, null, "Something went wrong while trying to authenticate you. If the problem persists you should contact", " ", React.createElement(Link, {
329
- href: "mailto:support@entur.org"
330
- }, "support@entur.org"), " to get it resolved."), React.createElement(Paragraph, null, "Authentication failed with: ", React.createElement(CodeText, null, error == null ? void 0 : error.toString())));
330
+ },
331
+ children: [jsxs(Paragraph, {
332
+ children: ["Something went wrong while trying to authenticate you. If the problem persists you should contact", " ", jsx(Link, {
333
+ href: "mailto:support@entur.org",
334
+ children: "support@entur.org"
335
+ }), " to get it resolved."]
336
+ }), jsxs(Paragraph, {
337
+ children: ["Authentication failed with: ", jsx(CodeText, {
338
+ children: error == null ? void 0 : error.toString()
339
+ })]
340
+ })]
341
+ });
331
342
  }
332
343
  assertIsDefined(userWithPermission);
333
- return React.createElement(React.Fragment, null, children({
334
- user: userWithPermission,
335
- logout: function logout() {
336
- return userLogout(_logout);
337
- },
338
- getToken: getAccessTokenSilently
339
- }));
344
+ return jsx(Fragment, {
345
+ children: children({
346
+ user: userWithPermission,
347
+ logout: function logout() {
348
+ return userLogout(_logout);
349
+ },
350
+ getToken: getAccessTokenSilently
351
+ })
352
+ });
340
353
  };
341
354
  var AppShell = function AppShell(_ref3) {
342
- var children = _ref3.children,
355
+ var _children = _ref3.children,
343
356
  audience = _ref3.audience,
344
357
  domain = _ref3.domain,
345
358
  clientId = _ref3.clientId,
@@ -364,22 +377,26 @@ var AppShell = function AppShell(_ref3) {
364
377
  window.history.replaceState({}, "", destination);
365
378
  }
366
379
  };
367
- return React.createElement(Auth0Provider, {
380
+ return jsx(Auth0Provider, {
368
381
  domain: domain,
369
382
  clientId: clientId,
370
383
  authorizationParams: {
371
384
  redirect_uri: redirectUri != null ? redirectUri : window.location.origin,
372
385
  audience: audience
373
386
  },
374
- onRedirectCallback: handleRedirectCallback
375
- }, React.createElement(Authenticate, {
376
- decorateUser: decorateUser,
377
- getReturnPath: getCurrentAppPath
378
- }, function (params) {
379
- return React.createElement(React.Fragment, null, environment && environment !== Environment.Production && React.createElement(EnvironmentBanner, {
380
- environment: environment
381
- }), children(params));
382
- }));
387
+ onRedirectCallback: handleRedirectCallback,
388
+ children: jsx(Authenticate, {
389
+ decorateUser: decorateUser,
390
+ getReturnPath: getCurrentAppPath,
391
+ children: function children(params) {
392
+ return jsxs(Fragment, {
393
+ children: [environment && environment !== Environment.Production && jsx(EnvironmentBanner, {
394
+ environment: environment
395
+ }), _children(params)]
396
+ });
397
+ }
398
+ })
399
+ });
383
400
  };
384
401
 
385
402
  var ORGANISATION_STORAGE_KEY = "EP::activeOrgId";
@@ -507,12 +524,13 @@ var ConsentManagerProvider = function ConsentManagerProvider(_ref) {
507
524
  return window.removeEventListener("UC_CONSENT", handleConsentEvent);
508
525
  };
509
526
  }, []);
510
- return React.createElement(ConsentContext.Provider, {
511
- value: consentManager
512
- }, children);
527
+ return jsx(ConsentContext.Provider, {
528
+ value: consentManager,
529
+ children: children
530
+ });
513
531
  };
514
532
 
515
- var LanguageContext = /*#__PURE__*/React.createContext(undefined);
533
+ var LanguageContext = /*#__PURE__*/createContext(undefined);
516
534
  var useLanguageState = function useLanguageState(language) {
517
535
  var _useState = useState(language),
518
536
  activeLanguage = _useState[0],
@@ -533,15 +551,16 @@ var LanguageProvider = function LanguageProvider(_ref) {
533
551
  var _useLanguageState = useLanguageState(language),
534
552
  activeLanguage = _useLanguageState[0],
535
553
  setLanguage = _useLanguageState[1];
536
- return React.createElement(LanguageContext.Provider, {
554
+ return jsx(LanguageContext.Provider, {
537
555
  value: {
538
556
  language: activeLanguage,
539
557
  setLanguage: setLanguage
540
- }
541
- }, children);
558
+ },
559
+ children: children
560
+ });
542
561
  };
543
562
 
544
- var MenuContext = /*#__PURE__*/React.createContext({
563
+ var MenuContext = /*#__PURE__*/createContext({
545
564
  addItems: function addItems() {},
546
565
  getItemsForPath: function getItemsForPath() {
547
566
  return [];
@@ -586,7 +605,7 @@ var MenuProvider = function MenuProvider(_ref) {
586
605
  return _extends({}, prev, (_extends3 = {}, _extends3[path] = navigation, _extends3));
587
606
  });
588
607
  };
589
- return React.createElement(MenuContext.Provider, {
608
+ return jsx(MenuContext.Provider, {
590
609
  value: {
591
610
  addItems: addItems,
592
611
  getItemsForPath: function getItemsForPath(path) {
@@ -595,8 +614,9 @@ var MenuProvider = function MenuProvider(_ref) {
595
614
  },
596
615
  getMFNavigate: getMFNavigate,
597
616
  setMFNavigate: setMFNavigate
598
- }
599
- }, children);
617
+ },
618
+ children: children
619
+ });
600
620
  };
601
621
 
602
622
  var _excluded$1 = ["navigate", "children", "onClick", "target"];
@@ -611,7 +631,7 @@ var MicroFrontendLink = function MicroFrontendLink(_ref) {
611
631
  rest = _objectWithoutPropertiesLoose(_ref, _excluded$1);
612
632
  return (
613
633
  // biome-ignore lint/a11y/noStaticElementInteractions: Ignore lint rule for now. No changes in code.
614
- React.createElement("a", _extends({
634
+ jsx("a", _extends({
615
635
  // biome-ignore lint/a11y/useValidAnchor: Ignore lint rule for now. No changes in code.
616
636
  onClick: function onClick(event) {
617
637
  try {
@@ -633,11 +653,13 @@ var MicroFrontendLink = function MicroFrontendLink(_ref) {
633
653
  }
634
654
  },
635
655
  target: target
636
- }, rest), children)
656
+ }, rest, {
657
+ children: children
658
+ }))
637
659
  );
638
660
  };
639
661
 
640
- var OrganisationContext = /*#__PURE__*/React.createContext(undefined);
662
+ var OrganisationContext = /*#__PURE__*/createContext(undefined);
641
663
  var useOrganisation = function useOrganisation() {
642
664
  var context = useContext(OrganisationContext);
643
665
  assertIsDefined(context);
@@ -663,12 +685,13 @@ var OrganisationProvider = function OrganisationProvider(_ref) {
663
685
  var _useOrganisationState = useOrganisationState(organisationId),
664
686
  orgId = _useOrganisationState[0],
665
687
  setOrganisationId = _useOrganisationState[1];
666
- return React.createElement(OrganisationContext.Provider, {
688
+ return jsx(OrganisationContext.Provider, {
667
689
  value: {
668
690
  organisationId: orgId,
669
691
  setOrganisationId: setOrganisationId
670
- }
671
- }, children);
692
+ },
693
+ children: children
694
+ });
672
695
  };
673
696
 
674
697
  var OrganisationsError = /*#__PURE__*/function (_Error) {
@@ -754,15 +777,16 @@ var OrganisationSelector = function OrganisationSelector(_ref) {
754
777
  }, [getOrganisations, getToken]);
755
778
  switch (status) {
756
779
  case "LOADING":
757
- return React.createElement("div", {
758
- className: "eds-contrast"
759
- }, React.createElement(SkeletonRectangle, {
760
- style: {
761
- height: "2.4rem"
762
- }
763
- }));
780
+ return jsx("div", {
781
+ className: "eds-contrast",
782
+ children: jsx(SkeletonRectangle, {
783
+ style: {
784
+ height: "2.4rem"
785
+ }
786
+ })
787
+ });
764
788
  case "SUCCESS":
765
- return React.createElement(OrganisationDropDown, _extends({
789
+ return jsx(OrganisationDropDown, _extends({
766
790
  label: language === "nb" || language === "nb-NO" ? "Organisasjon" : "Organisation",
767
791
  selectedOrganisationId: selectedOrganisationId,
768
792
  organisations: organisations,
@@ -802,7 +826,9 @@ var PostHogProviderWrapper = function PostHogProviderWrapper(_ref) {
802
826
  } else {
803
827
  console.warn("AppShellStandalone Warning: PostHog tracking is disabled by force. PostHog will not be initialized.");
804
828
  }
805
- return React.createElement(React.Fragment, null, children);
829
+ return jsx(Fragment, {
830
+ children: children
831
+ });
806
832
  }
807
833
  postHog.init(postHogApiKey, {
808
834
  debug: debug,
@@ -811,9 +837,10 @@ var PostHogProviderWrapper = function PostHogProviderWrapper(_ref) {
811
837
  opt_out_capturing_by_default: true,
812
838
  autocapture: isStandalone
813
839
  }, project);
814
- return React.createElement(PostHogProvider, {
815
- client: postHog
816
- }, children);
840
+ return jsx(PostHogProvider, {
841
+ client: postHog,
842
+ children: children
843
+ });
817
844
  };
818
845
 
819
846
  export { AppShell, ConsentManagerProvider, LanguageProvider, MenuProvider, MicroFrontendLink, OrganisationProvider, OrganisationSelector, OrganisationsError, PostHogProviderWrapper, languageStorage, organisationStorage, useConsentManager, useLanguage, useMFNavigation, useMenu, useMenuGroupItems, useOrganisation, useOrganisationId };
@@ -1 +1 @@
1
- {"version":3,"file":"app-shell.esm.js","sources":["../src/EnvironmentBanner.tsx","../src/AppShell.tsx","../src/storage.ts","../src/types/ConsentTypes.ts","../src/util/convertUCServicesToConsents.ts","../src/ConsentManagerProvider.tsx","../src/LanguageProvider.tsx","../src/MenuProvider.tsx","../src/MicroFrontendLink.tsx","../src/OrganisationProvider.tsx","../src/OrganisationsError.ts","../src/OrganisationSelector.tsx","../src/PostHogProviderWrapper.tsx"],"sourcesContent":["import {\n\ttype Environment,\n\tgetColorForEnvironment,\n} from \"@entur-partner/common\";\nimport React from \"react\";\n\ntype EnvironmentBannerProps = {\n\tenvironment: Exclude<Environment, Environment.Production>;\n};\n\nexport const EnvironmentBanner = ({ environment }: EnvironmentBannerProps) => {\n\treturn (\n\t\t<div\n\t\t\tclassName=\"epp-environment-banner\"\n\t\t\tstyle={{\n\t\t\t\tposition: \"fixed\",\n\t\t\t\tzIndex: 9999,\n\t\t\t\ttop: 0,\n\t\t\t\tleft: 0,\n\t\t\t\tright: 0,\n\t\t\t\twidth: \"100vw\",\n\t\t\t\theight: \"16px\",\n\t\t\t\tbackgroundColor: getColorForEnvironment(environment),\n\t\t\t}}\n\t\t/>\n\t);\n};\n","import {\n\ttype Auth0ContextInterface,\n\tAuth0Provider,\n\ttype GetTokenSilentlyOptions,\n\tuseAuth0,\n} from \"@auth0/auth0-react\";\nimport { BannerAlertBox } from \"@entur/alert\";\nimport { Loader } from \"@entur/loader\";\nimport { space } from \"@entur/tokens\";\nimport { CodeText, Link, Paragraph } from \"@entur/typography\";\nimport { Environment } from \"@entur-partner/common\";\nimport type { User } from \"@entur-partner/micro-frontend\";\nimport { assertIsDefined } from \"@entur-partner/util\";\nimport React, { type FC, type ReactNode, useEffect, useState } from \"react\";\nimport { EnvironmentBanner } from \"./EnvironmentBanner\";\nimport type { DecorateUserFn } from \"./types/UserTypes\";\n\nfunction userLogout(logout: Auth0ContextInterface[\"logout\"]) {\n\tconst { protocol, hostname, port } = window.location;\n\treturn logout({\n\t\tlogoutParams: { returnTo: `${protocol}//${hostname}:${port}` },\n\t});\n}\n\nexport interface AppShellValues {\n\tlogout: Auth0ContextInterface[\"logout\"];\n\tuser: User;\n\tgetToken(options?: GetTokenSilentlyOptions): Promise<string>;\n}\n\ninterface AuthenticateProps {\n\tchildren: (options: AppShellValues) => ReactNode;\n\tdecorateUser: DecorateUserFn;\n\tgetReturnPath: () => string;\n}\n\nconst Authenticate: FC<AuthenticateProps> = ({\n\tchildren,\n\tdecorateUser,\n\tgetReturnPath,\n}) => {\n\tconst [userWithPermission, setUserWithPermission] = useState<\n\t\tUser | undefined\n\t>(undefined);\n\tconst {\n\t\tuser,\n\t\tgetAccessTokenSilently,\n\t\tloginWithRedirect,\n\t\tlogout,\n\t\tisLoading,\n\t\tisAuthenticated,\n\t\terror,\n\t} = useAuth0();\n\n\tuseEffect(() => {\n\t\tconst fetchUserData = async () => {\n\t\t\ttry {\n\t\t\t\tconst token = await getAccessTokenSilently();\n\t\t\t\tconst decoratedUser = await decorateUser(user as User, token);\n\t\t\t\tsetUserWithPermission(decoratedUser);\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error(\"Error fetching user data:\", error);\n\t\t\t}\n\t\t};\n\n\t\tif (isAuthenticated) {\n\t\t\tfetchUserData();\n\t\t}\n\t}, [decorateUser, getAccessTokenSilently, isAuthenticated, user]);\n\n\tif (!isLoading && !isAuthenticated) {\n\t\tloginWithRedirect({\n\t\t\tappState: {\n\t\t\t\treturnTo: getReturnPath(),\n\t\t\t},\n\t\t});\n\t\treturn (\n\t\t\t<Loader style={{ marginTop: space.extraLarge9 }}>\n\t\t\t\tRedirecting to login page\n\t\t\t</Loader>\n\t\t);\n\t}\n\n\tif (isLoading || !userWithPermission) {\n\t\treturn (\n\t\t\t<Loader style={{ marginTop: space.extraLarge9 }}>Authenticating</Loader>\n\t\t);\n\t}\n\n\tif (error) {\n\t\tprocess.env.NODE_ENV !== \"production\" && console.error(error);\n\t\treturn (\n\t\t\t<BannerAlertBox\n\t\t\t\tvariant=\"error\"\n\t\t\t\ttitle=\"Authentication failed\"\n\t\t\t\tstyle={{ maxWidth: \"600px\", margin: \"0 auto\" }}\n\t\t\t>\n\t\t\t\t<Paragraph>\n\t\t\t\t\tSomething went wrong while trying to authenticate you. If the problem\n\t\t\t\t\tpersists you should contact{\" \"}\n\t\t\t\t\t<Link href=\"mailto:support@entur.org\">support@entur.org</Link> to get\n\t\t\t\t\tit resolved.\n\t\t\t\t</Paragraph>\n\t\t\t\t<Paragraph>\n\t\t\t\t\tAuthentication failed with: <CodeText>{error?.toString()}</CodeText>\n\t\t\t\t</Paragraph>\n\t\t\t</BannerAlertBox>\n\t\t);\n\t}\n\tassertIsDefined(userWithPermission);\n\treturn (\n\t\t<>\n\t\t\t{children({\n\t\t\t\tuser: userWithPermission,\n\t\t\t\tlogout: () => userLogout(logout),\n\t\t\t\tgetToken: getAccessTokenSilently,\n\t\t\t})}\n\t\t</>\n\t);\n};\n\nexport interface AppShellProps {\n\tchildren: (options: AppShellValues) => ReactNode;\n\taudience: string;\n\tdomain: string;\n\tclientId: string;\n\tdecorateUser: DecorateUserFn;\n\t/**\n\t * Optional redirect URI to use after login. If not provided, the intended path or \"/\" will be used.\n\t */\n\tredirectUri?: string;\n\tenvironment?: Environment;\n\tnavigate?: (to: string, options?: { replace?: boolean }) => void;\n}\n\nexport const AppShell = ({\n\tchildren,\n\taudience,\n\tdomain,\n\tclientId,\n\tdecorateUser,\n\tenvironment,\n\tredirectUri,\n\tnavigate,\n}: AppShellProps) => {\n\t// Central place to derive current in-app location (excluding origin)\n\tconst getCurrentAppPath = () =>\n\t\t`${window.location.pathname}${window.location.search}${window.location.hash}`;\n\n\t// Provide an Auth0 onRedirectCallback that restores the stored path\n\tconst handleRedirectCallback = (appState?: { returnTo?: string }) => {\n\t\tconst target = appState?.returnTo;\n\t\tconst destination = redirectUri || target || \"/\";\n\t\tif (navigate) {\n\t\t\tnavigate(destination, { replace: true });\n\t\t} else {\n\t\t\t// Fallback: use History API\n\t\t\twindow.history.replaceState({}, \"\", destination);\n\t\t}\n\t};\n\treturn (\n\t\t<Auth0Provider\n\t\t\tdomain={domain}\n\t\t\tclientId={clientId}\n\t\t\tauthorizationParams={{\n\t\t\t\tredirect_uri: redirectUri ?? window.location.origin,\n\t\t\t\taudience: audience,\n\t\t\t}}\n\t\t\tonRedirectCallback={handleRedirectCallback}\n\t\t>\n\t\t\t<Authenticate\n\t\t\t\tdecorateUser={decorateUser}\n\t\t\t\tgetReturnPath={getCurrentAppPath}\n\t\t\t>\n\t\t\t\t{(params) => (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{environment && environment !== Environment.Production && (\n\t\t\t\t\t\t\t<EnvironmentBanner environment={environment} />\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{children(params)}\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t</Authenticate>\n\t\t</Auth0Provider>\n\t);\n};\n","export const ORGANISATION_STORAGE_KEY = \"EP::activeOrgId\";\n\nexport const organisationStorage = {\n\tget: () => localStorage.getItem(ORGANISATION_STORAGE_KEY),\n\tset: (value: string) => localStorage.setItem(ORGANISATION_STORAGE_KEY, value),\n};\n\nexport const LANGUAGE_STORAGE_KEY = \"EP::locale\";\n\nexport const languageStorage = {\n\tget: () => localStorage.getItem(LANGUAGE_STORAGE_KEY),\n\tset: (value: string) => localStorage.setItem(LANGUAGE_STORAGE_KEY, value),\n};\n\nexport const UC_UI_STORAGE_KEY = \"ucData\";\n\nexport const ucUiStorage = {\n\tget: () => localStorage.getItem(UC_UI_STORAGE_KEY),\n};\n","export const SERVICE_NAMES = {\n\tUsercentrics: \"Usercentrics Consent Management Platform\",\n\tPostHog: \"PostHog.com\",\n\tSentry: \"Sentry\",\n} as const;\n\nexport interface ServiceConsent {\n\tname: (typeof SERVICE_NAMES)[keyof typeof SERVICE_NAMES];\n\tconsent: { given: boolean };\n}\n\nexport interface UCDataConsentDataFromLocalStorage {\n\tconsent: {\n\t\tservices: {\n\t\t\t[key: string]: {\n\t\t\t\tname: string;\n\t\t\t\tconsent: boolean;\n\t\t\t};\n\t\t};\n\t};\n}\n\nexport type UCServiceArray = Array<\n\tUCDataConsentDataFromLocalStorage[\"consent\"][\"services\"][keyof UCDataConsentDataFromLocalStorage[\"consent\"][\"services\"]]\n>;\n\nexport interface Consents {\n\tUsercentrics: {\n\t\tconsentGiven: boolean;\n\t};\n\tPostHog: {\n\t\tconsentGiven: boolean;\n\t};\n\tSentry: {\n\t\tconsentGiven: boolean;\n\t};\n}\n","import { assertIsDefined } from \"@entur-partner/util\";\n\nimport {\n\ttype Consents,\n\tSERVICE_NAMES,\n\ttype ServiceConsent,\n\ttype UCServiceArray,\n} from \"../types/ConsentTypes\";\n\nexport const DEFAULT_CONSENT_GIVEN = {\n\tUsercentrics: { consentGiven: false },\n\tPostHog: { consentGiven: false },\n\tSentry: { consentGiven: false },\n} as const;\n\nexport const convertUCServicesToConsents = (\n\tservices: ServiceConsent[] | UCServiceArray,\n): Consents => {\n\treturn services\n\t\t.map((service) => {\n\t\t\tconst serviceName = Object.entries(SERVICE_NAMES).find(\n\t\t\t\t(keyValue) => keyValue[1] === service.name,\n\t\t\t)?.[0] as keyof typeof SERVICE_NAMES;\n\n\t\t\t// Ensure the service name exists in SERVICE_NAMES\n\t\t\tassertIsDefined(\n\t\t\t\tserviceName,\n\t\t\t\t`Service name ${service.name} not found in SERVICE_NAMES`,\n\t\t\t);\n\n\t\t\tif (typeof service.consent === \"boolean\") {\n\t\t\t\tconst consentGiven = service.consent as boolean;\n\t\t\t\treturn {\n\t\t\t\t\t[serviceName]: {\n\t\t\t\t\t\tconsentGiven: consentGiven,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t} else if (\n\t\t\t\ttypeof service.consent === \"object\" &&\n\t\t\t\t\"given\" in service.consent\n\t\t\t) {\n\t\t\t\tconst consentGiven = service.consent.given;\n\t\t\t\treturn {\n\t\t\t\t\t[serviceName]: {\n\t\t\t\t\t\tconsentGiven: consentGiven,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t[serviceName]: {\n\t\t\t\t\tconsentGiven: false,\n\t\t\t\t},\n\t\t\t};\n\t\t})\n\t\t.reduce(\n\t\t\t// biome-ignore lint/performance/noAccumulatingSpread: Ignore it for now. No changes in code.\n\t\t\t(acc, curr) => ({ ...acc, ...curr }),\n\t\t\tDEFAULT_CONSENT_GIVEN as Consents,\n\t\t);\n};\n","import React, {\n\tcreateContext,\n\ttype ReactNode,\n\tuseContext,\n\tuseEffect,\n\tuseState,\n} from \"react\";\n\nimport { ucUiStorage } from \"./storage\";\nimport type {\n\tConsents,\n\tServiceConsent,\n\tUCDataConsentDataFromLocalStorage,\n} from \"./types/ConsentTypes\";\nimport {\n\tconvertUCServicesToConsents,\n\tDEFAULT_CONSENT_GIVEN,\n} from \"./util/convertUCServicesToConsents\";\n\ndeclare global {\n\tinterface Window {\n\t\tUC_UI: {\n\t\t\tshowFirstLayer: () => void;\n\t\t\tshowSecondLayer: () => void;\n\t\t};\n\t}\n}\n\nconst ConsentContext = createContext<Consents>(DEFAULT_CONSENT_GIVEN);\n\nexport const useConsentManager = () => {\n\tconst context = useContext(ConsentContext);\n\treturn context;\n};\n\ntype Props = {\n\tchildren: ReactNode;\n};\n\nexport const ConsentManagerProvider = ({ children }: Props) => {\n\tconst [consentManager, setConsentManager] = useState<Consents>(\n\t\tDEFAULT_CONSENT_GIVEN,\n\t);\n\n\t// Initialize consent manager from local storage once\n\tuseEffect(() => {\n\t\tif (typeof window === \"undefined\") return;\n\n\t\tconst ucData = ucUiStorage.get();\n\n\t\tif (ucData) {\n\t\t\tconst data = JSON.parse(ucData) as UCDataConsentDataFromLocalStorage;\n\t\t\tconst services = convertUCServicesToConsents(\n\t\t\t\tObject.values(data.consent.services),\n\t\t\t);\n\n\t\t\tsetConsentManager(services);\n\t\t}\n\t}, []);\n\n\t// Listen for Usercentrics consent events and update consent manager state\n\tuseEffect(() => {\n\t\tconst handleConsentEvent = async (event: Event) => {\n\t\t\tif (typeof window === \"undefined\") return;\n\n\t\t\tconst customEvent = event as CustomEvent;\n\t\t\tconst services = Object.values(\n\t\t\t\tcustomEvent.detail.services as ServiceConsent[],\n\t\t\t);\n\n\t\t\tconst updatedConsentManager = convertUCServicesToConsents(services);\n\t\t\tsetConsentManager(updatedConsentManager);\n\t\t};\n\n\t\twindow.addEventListener(\"UC_CONSENT\", handleConsentEvent);\n\n\t\treturn () => window.removeEventListener(\"UC_CONSENT\", handleConsentEvent);\n\t}, []);\n\n\treturn (\n\t\t<ConsentContext.Provider value={consentManager}>\n\t\t\t{children}\n\t\t</ConsentContext.Provider>\n\t);\n};\n","import { assertIsDefined } from \"@entur-partner/util\";\nimport React, {\n\ttype Dispatch,\n\ttype FC,\n\ttype ReactNode,\n\ttype SetStateAction,\n\tuseContext,\n\tuseEffect,\n\tuseState,\n} from \"react\";\n\nimport { languageStorage } from \"./storage\";\n\ninterface LanguageContextType {\n\tlanguage: string;\n\tsetLanguage: (language: string) => void;\n}\n\nconst LanguageContext = React.createContext<LanguageContextType | undefined>(\n\tundefined,\n);\n\nconst useLanguageState = (\n\tlanguage: string,\n): [string, Dispatch<SetStateAction<string>>] => {\n\tconst [activeLanguage, setLanguage] = useState(language);\n\n\tuseEffect(() => {\n\t\tlanguageStorage.set(activeLanguage);\n\t}, [activeLanguage]);\n\n\treturn [activeLanguage, setLanguage];\n};\n\nexport const useLanguage = () => {\n\tconst context = useContext(LanguageContext);\n\tassertIsDefined(context);\n\treturn context;\n};\n\ninterface LanguageProviderProps {\n\tchildren: ReactNode;\n\tlanguage: string;\n}\n\nexport const LanguageProvider: FC<LanguageProviderProps> = ({\n\tchildren,\n\tlanguage,\n}) => {\n\tconst [activeLanguage, setLanguage] = useLanguageState(language);\n\treturn (\n\t\t<LanguageContext.Provider value={{ language: activeLanguage, setLanguage }}>\n\t\t\t{children}\n\t\t</LanguageContext.Provider>\n\t);\n};\n","import type {\n\tMenuItem,\n\tNavigationFunction,\n} from \"@entur-partner/micro-frontend\";\nimport React, {\n\ttype FC,\n\ttype ReactNode,\n\tuseCallback,\n\tuseContext,\n\tuseState,\n} from \"react\";\n\ninterface MenuGroups {\n\t[path: string]: MenuItem[];\n}\n\ninterface MenuContextType {\n\tgetItemsForPath: (path: string) => MenuItem[];\n\taddItems: (items: MenuItem[], path: string) => void;\n\tgetMFNavigate: (path: string) => NavigationFunction | undefined;\n\tsetMFNavigate: (path: string, navigation: NavigationFunction) => void;\n}\n\nexport const MenuContext = React.createContext<MenuContextType>({\n\taddItems: () => {},\n\tgetItemsForPath: () => [],\n\tgetMFNavigate: () => undefined,\n\tsetMFNavigate: () => {},\n});\n\nexport const useMenuGroupItems = (path: string) => {\n\tconst context = useContext(MenuContext);\n\treturn context.getItemsForPath(path);\n};\n\nexport const useMenu = () => {\n\treturn useContext(MenuContext);\n};\n\nexport const useMFNavigation = (path: string) => {\n\tconst { getMFNavigate } = useMenu();\n\treturn getMFNavigate(path);\n};\n\ninterface MenuProviderProps {\n\tchildren: ReactNode;\n}\n\nexport const MenuProvider: FC<MenuProviderProps> = ({ children }) => {\n\tconst [groups, setGroups] = useState<MenuGroups>({});\n\tconst [navFuncs, setNavFuncs] = useState<Record<string, NavigationFunction>>(\n\t\t{},\n\t);\n\n\tconst addItems = useCallback((newItems: MenuItem[], path: string) => {\n\t\tsetGroups((prevState) => ({\n\t\t\t...prevState,\n\t\t\t[path]: newItems,\n\t\t}));\n\t}, []);\n\n\tconst getMFNavigate = (path: string) => navFuncs[path];\n\tconst setMFNavigate = (path: string, navigation: NavigationFunction) =>\n\t\tsetNavFuncs((prev) => ({ ...prev, [path]: navigation }));\n\n\treturn (\n\t\t<MenuContext.Provider\n\t\t\tvalue={{\n\t\t\t\taddItems,\n\t\t\t\tgetItemsForPath: (path) => groups[path] ?? [],\n\t\t\t\tgetMFNavigate,\n\t\t\t\tsetMFNavigate,\n\t\t\t}}\n\t\t>\n\t\t\t{children}\n\t\t</MenuContext.Provider>\n\t);\n};\n","import React, {\n\ttype AnchorHTMLAttributes,\n\ttype FC,\n\ttype MouseEvent,\n\ttype ReactNode,\n} from \"react\";\n\ninterface LinkProps extends AnchorHTMLAttributes<HTMLAnchorElement> {\n\thref: string;\n\tnavigate: () => void;\n\tchildren: ReactNode;\n}\n\nfunction isModifiedEvent(event: MouseEvent) {\n\treturn !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\nexport const MicroFrontendLink: FC<LinkProps> = ({\n\tnavigate,\n\tchildren,\n\tonClick,\n\ttarget,\n\t...rest\n}) => {\n\treturn (\n\t\t// biome-ignore lint/a11y/noStaticElementInteractions: Ignore lint rule for now. No changes in code.\n\t\t<a\n\t\t\t// biome-ignore lint/a11y/useValidAnchor: Ignore lint rule for now. No changes in code.\n\t\t\tonClick={(event) => {\n\t\t\t\ttry {\n\t\t\t\t\tif (onClick) onClick(event);\n\t\t\t\t} catch (ex) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tthrow ex;\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t!event.defaultPrevented && // onClick prevented default\n\t\t\t\t\tevent.button === 0 && // ignore everything but right clicks\n\t\t\t\t\t(!target || target === \"_self\") && // let browser handle \"target=_blank\" etc.\n\t\t\t\t\t!isModifiedEvent(event) // ignore clicks with modifier keys\n\t\t\t\t) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tnavigate();\n\t\t\t\t}\n\t\t\t}}\n\t\t\ttarget={target}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{children}\n\t\t</a>\n\t);\n};\n","import { assertIsDefined } from \"@entur-partner/util\";\nimport React, {\n\ttype Dispatch,\n\ttype FC,\n\ttype ReactNode,\n\ttype SetStateAction,\n\tuseContext,\n\tuseEffect,\n\tuseState,\n} from \"react\";\n\nimport { organisationStorage } from \"./storage\";\n\ninterface OrganisationContextType {\n\torganisationId: number;\n\tsetOrganisationId: (organisationId: number) => void;\n}\n\nconst OrganisationContext = React.createContext<\n\tOrganisationContextType | undefined\n>(undefined);\n\nexport const useOrganisation = () => {\n\tconst context = useContext(OrganisationContext);\n\tassertIsDefined(context);\n\treturn context;\n};\n\nexport const useOrganisationId = () => {\n\tconst context = useContext(OrganisationContext);\n\tassertIsDefined(context);\n\treturn context.organisationId;\n};\n\nconst useOrganisationState = (\n\tinitialOrganisationId: string,\n): [number, Dispatch<SetStateAction<number>>] => {\n\tconst [organisationId, setOrganisationId] = useState<number>(\n\t\tNumber(initialOrganisationId),\n\t);\n\n\tuseEffect(() => {\n\t\torganisationStorage.set(organisationId.toString());\n\t}, [organisationId]);\n\n\treturn [organisationId, setOrganisationId];\n};\n\ninterface OrganisationProviderProps {\n\tchildren: ReactNode;\n\torganisationId: string;\n}\n\nexport const OrganisationProvider: FC<OrganisationProviderProps> = ({\n\tchildren,\n\torganisationId,\n}) => {\n\tconst [orgId, setOrganisationId] = useOrganisationState(organisationId);\n\treturn (\n\t\t<OrganisationContext.Provider\n\t\t\tvalue={{ organisationId: orgId, setOrganisationId }}\n\t\t>\n\t\t\t{children}\n\t\t</OrganisationContext.Provider>\n\t);\n};\n","export class OrganisationsError extends Error {\n\tmessage = \"Failed fetching organisations\";\n}\n","import type { GetTokenSilentlyOptions } from \"@auth0/auth0-spa-js\";\nimport { SkeletonRectangle } from \"@entur/loader\";\nimport { OrganisationDropDown } from \"@entur-partner/common\";\nimport React, { type FC, useEffect, useState } from \"react\";\nimport { useLanguage } from \"./LanguageProvider\";\nimport { OrganisationsError } from \"./OrganisationsError\";\n\nexport type GetOrganisationsFn = (token: string) => Promise<OrganisationV3[]>;\n\nexport interface OrganisationV3 {\n\torganisationId: number;\n\ttradingName: string;\n}\n\nexport interface OrganisationSelectorProps {\n\tgetToken: (options?: GetTokenSilentlyOptions) => Promise<string>;\n\tgetOrganisations: GetOrganisationsFn | string;\n\tselectedOrganisationId: number;\n\tonChange: (organisationId: number) => void;\n\t[key: string]: object | string | number | boolean;\n}\n\nexport const OrganisationSelector: FC<OrganisationSelectorProps> = ({\n\tgetToken,\n\tgetOrganisations,\n\tselectedOrganisationId,\n\tonChange,\n\t...rest\n}) => {\n\tconst [organisations, setOrganisations] = useState<OrganisationV3[]>([]);\n\tconst { language } = useLanguage();\n\n\tconst [status, setStatus] = useState<\"LOADING\" | \"ERROR\" | \"SUCCESS\">(\n\t\t\"LOADING\",\n\t);\n\n\tuseEffect(() => {\n\t\tconst fetchOrganisations = async () => {\n\t\t\tconst token = await getToken();\n\t\t\tlet organisations: OrganisationV3[];\n\t\t\tif (typeof getOrganisations === \"string\") {\n\t\t\t\torganisations = await fetch(getOrganisations, {\n\t\t\t\t\theaders: {\n\t\t\t\t\t\tAuthorization: `Bearer ${token}`,\n\t\t\t\t\t\tAccept: \"application/json\",\n\t\t\t\t\t},\n\t\t\t\t}).then((response) => response.json());\n\t\t\t} else {\n\t\t\t\torganisations = await getOrganisations(token);\n\t\t\t}\n\t\t\tsetOrganisations(organisations);\n\t\t\tsetStatus(\"SUCCESS\");\n\t\t};\n\n\t\tfetchOrganisations().catch((error) => {\n\t\t\tif (process.env.NODE_ENV === \"development\") {\n\t\t\t\tconsole.error(error);\n\t\t\t}\n\t\t\tsetStatus(\"ERROR\");\n\t\t});\n\t}, [getOrganisations, getToken]);\n\n\tswitch (status) {\n\t\tcase \"LOADING\":\n\t\t\treturn (\n\t\t\t\t<div className=\"eds-contrast\">\n\t\t\t\t\t<SkeletonRectangle style={{ height: \"2.4rem\" }} />\n\t\t\t\t</div>\n\t\t\t);\n\t\tcase \"SUCCESS\":\n\t\t\treturn (\n\t\t\t\t<OrganisationDropDown\n\t\t\t\t\tlabel={\n\t\t\t\t\t\tlanguage === \"nb\" || language === \"nb-NO\"\n\t\t\t\t\t\t\t? \"Organisasjon\"\n\t\t\t\t\t\t\t: \"Organisation\"\n\t\t\t\t\t}\n\t\t\t\t\tselectedOrganisationId={selectedOrganisationId}\n\t\t\t\t\torganisations={organisations}\n\t\t\t\t\tonChange={onChange}\n\t\t\t\t\t{...rest}\n\t\t\t\t/>\n\t\t\t);\n\t\tcase \"ERROR\":\n\t\t\tthrow new OrganisationsError();\n\t\tdefault:\n\t\t\treturn null;\n\t}\n};\n","import postHog from \"posthog-js\";\nimport { PostHogProvider } from \"posthog-js/react\";\nimport React, { type ReactNode, useEffect } from \"react\";\nimport { useConsentManager } from \"./ConsentManagerProvider\";\n\ntype Props = {\n\t/**\n\t * Debug mode for PostHog.\n\t */\n\tdebug?: boolean;\n\t/**\n\t * PostHog API key for initializing the PostHog client.\n\t * If not provided, PostHog will not be initialized.\n\t */\n\tpostHogApiKey?: string;\n\t/**\n\t * Flag to indicate if the application is running in a standalone mode or as a micro-frontend.\n\t * When true, it will turn on autocapture and go directly to PostHog's cloud.\n\t * When false, it will turn off autocapture and the local ingest endpoint from App-Shell. Instead auto-capture\n\t * will be handled by the App-Shell.\n\t */\n\tisStandalone: boolean;\n\t/**\n\t * Optional project identifier for PostHog.\n\t * This can be used to differentiate between different projects in PostHog.\n\t */\n\tproject?: string;\n\t/**\n\t * Flag to force disable PostHog tracking.\n\t * If true, PostHog will not be initialized even if postHogApiKey is provided.\n\t */\n\tforceDisablePostHog?: boolean;\n\tchildren: ReactNode;\n};\n\nexport const PostHogProviderWrapper = ({\n\tdebug = false,\n\tpostHogApiKey,\n\tisStandalone,\n\tproject,\n\tforceDisablePostHog = false,\n\tchildren,\n}: Props) => {\n\tconst consents = useConsentManager();\n\n\tuseEffect(() => {\n\t\tif (!postHogApiKey || forceDisablePostHog) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (consents?.PostHog.consentGiven) {\n\t\t\tpostHog.opt_in_capturing();\n\t\t} else {\n\t\t\tpostHog.opt_out_capturing();\n\t\t}\n\t}, [consents.PostHog.consentGiven, forceDisablePostHog, postHogApiKey]);\n\n\t// If no API key is provided or PostHog is forced to be disabled, do not initialize PostHog\n\tif (!postHogApiKey || forceDisablePostHog) {\n\t\tif (!forceDisablePostHog) {\n\t\t\tconsole.warn(\n\t\t\t\t\"AppShellStandalone Warning: PostHog API key is not provided. PostHog will not be initialized.\",\n\t\t\t);\n\t\t} else {\n\t\t\tconsole.warn(\n\t\t\t\t\"AppShellStandalone Warning: PostHog tracking is disabled by force. PostHog will not be initialized.\",\n\t\t\t);\n\t\t}\n\n\t\treturn <>{children}</>;\n\t}\n\n\tpostHog.init(\n\t\tpostHogApiKey,\n\t\t{\n\t\t\tdebug,\n\t\t\tapi_host: isStandalone ? \"https://eu.posthog.com\" : \"/ingest\",\n\t\t\tui_host: \"https://eu.posthog.com\",\n\t\t\topt_out_capturing_by_default: true,\n\t\t\tautocapture: isStandalone,\n\t\t},\n\t\tproject,\n\t);\n\n\treturn <PostHogProvider client={postHog}>{children}</PostHogProvider>;\n};\n"],"names":["EnvironmentBanner","_ref","environment","React","createElement","className","style","position","zIndex","top","left","right","width","height","backgroundColor","getColorForEnvironment","userLogout","logout","_window$location","window","location","protocol","hostname","port","logoutParams","returnTo","Authenticate","children","decorateUser","getReturnPath","_useState","useState","undefined","userWithPermission","setUserWithPermission","_useAuth","useAuth0","user","getAccessTokenSilently","loginWithRedirect","isLoading","isAuthenticated","error","useEffect","fetchUserData","_ref2","_asyncToGenerator","_regenerator","m","_callee","token","decoratedUser","_t","w","_context","p","n","v","console","a","apply","arguments","appState","Loader","marginTop","space","extraLarge9","process","env","NODE_ENV","BannerAlertBox","variant","title","maxWidth","margin","Paragraph","Link","href","CodeText","toString","assertIsDefined","Fragment","getToken","AppShell","_ref3","audience","domain","clientId","redirectUri","navigate","getCurrentAppPath","pathname","search","hash","handleRedirectCallback","target","destination","replace","history","replaceState","Auth0Provider","authorizationParams","redirect_uri","origin","onRedirectCallback","params","Environment","Production","ORGANISATION_STORAGE_KEY","organisationStorage","get","localStorage","getItem","set","value","setItem","LANGUAGE_STORAGE_KEY","languageStorage","UC_UI_STORAGE_KEY","ucUiStorage","SERVICE_NAMES","Usercentrics","PostHog","Sentry","DEFAULT_CONSENT_GIVEN","consentGiven","convertUCServicesToConsents","services","map","service","_Object$entries$find","serviceName","Object","entries","find","keyValue","name","consent","given","reduce","acc","curr","_extends","ConsentContext","createContext","useConsentManager","context","useContext","ConsentManagerProvider","consentManager","setConsentManager","ucData","data","JSON","parse","values","handleConsentEvent","event","customEvent","updatedConsentManager","detail","_x","addEventListener","removeEventListener","Provider","LanguageContext","useLanguageState","language","activeLanguage","setLanguage","useLanguage","LanguageProvider","_useLanguageState","MenuContext","addItems","getItemsForPath","getMFNavigate","setMFNavigate","useMenuGroupItems","path","useMenu","useMFNavigation","_useMenu","MenuProvider","groups","setGroups","_useState2","navFuncs","setNavFuncs","useCallback","newItems","prevState","_extends2","navigation","prev","_extends3","_groups$path","isModifiedEvent","metaKey","altKey","ctrlKey","shiftKey","MicroFrontendLink","onClick","rest","_objectWithoutPropertiesLoose","_excluded","ex","preventDefault","defaultPrevented","button","OrganisationContext","useOrganisation","useOrganisationId","organisationId","useOrganisationState","initialOrganisationId","Number","setOrganisationId","OrganisationProvider","_useOrganisationState","orgId","OrganisationsError","_Error","_this","_len","length","args","Array","_key","call","concat","message","_inheritsLoose","_wrapNativeSuper","Error","OrganisationSelector","getOrganisations","selectedOrganisationId","onChange","organisations","setOrganisations","_useLanguage","status","setStatus","fetchOrganisations","fetch","headers","Authorization","Accept","then","response","json","SkeletonRectangle","OrganisationDropDown","label","PostHogProviderWrapper","_ref$debug","debug","postHogApiKey","isStandalone","project","_ref$forceDisablePost","forceDisablePostHog","consents","postHog","opt_in_capturing","opt_out_capturing","warn","init","api_host","ui_host","opt_out_capturing_by_default","autocapture","PostHogProvider","client"],"mappings":"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"}
1
+ {"version":3,"file":"app-shell.esm.js","sources":["../src/EnvironmentBanner.tsx","../src/AppShell.tsx","../src/storage.ts","../src/types/ConsentTypes.ts","../src/util/convertUCServicesToConsents.ts","../src/ConsentManagerProvider.tsx","../src/LanguageProvider.tsx","../src/MenuProvider.tsx","../src/MicroFrontendLink.tsx","../src/OrganisationProvider.tsx","../src/OrganisationsError.ts","../src/OrganisationSelector.tsx","../src/PostHogProviderWrapper.tsx"],"sourcesContent":["import {\n\ttype Environment,\n\tgetColorForEnvironment,\n} from \"@entur-partner/common\";\n\ntype EnvironmentBannerProps = {\n\tenvironment: Exclude<Environment, Environment.Production>;\n};\n\nexport const EnvironmentBanner = ({ environment }: EnvironmentBannerProps) => {\n\treturn (\n\t\t<div\n\t\t\tclassName=\"epp-environment-banner\"\n\t\t\tstyle={{\n\t\t\t\tposition: \"fixed\",\n\t\t\t\tzIndex: 9999,\n\t\t\t\ttop: 0,\n\t\t\t\tleft: 0,\n\t\t\t\tright: 0,\n\t\t\t\twidth: \"100vw\",\n\t\t\t\theight: \"16px\",\n\t\t\t\tbackgroundColor: getColorForEnvironment(environment),\n\t\t\t}}\n\t\t/>\n\t);\n};\n","import {\n\ttype Auth0ContextInterface,\n\tAuth0Provider,\n\ttype GetTokenSilentlyOptions,\n\tuseAuth0,\n} from \"@auth0/auth0-react\";\nimport { BannerAlertBox } from \"@entur/alert\";\nimport { Loader } from \"@entur/loader\";\nimport { space } from \"@entur/tokens\";\nimport { CodeText, Link, Paragraph } from \"@entur/typography\";\nimport { Environment } from \"@entur-partner/common\";\nimport type { User } from \"@entur-partner/micro-frontend\";\nimport { assertIsDefined } from \"@entur-partner/util\";\nimport { type FC, type ReactNode, useEffect, useState } from \"react\";\nimport { EnvironmentBanner } from \"./EnvironmentBanner\";\nimport type { DecorateUserFn } from \"./types/UserTypes\";\n\nfunction userLogout(logout: Auth0ContextInterface[\"logout\"]) {\n\tconst { protocol, hostname, port } = window.location;\n\treturn logout({\n\t\tlogoutParams: { returnTo: `${protocol}//${hostname}:${port}` },\n\t});\n}\n\nexport interface AppShellValues {\n\tlogout: Auth0ContextInterface[\"logout\"];\n\tuser: User;\n\tgetToken(options?: GetTokenSilentlyOptions): Promise<string>;\n}\n\ninterface AuthenticateProps {\n\tchildren: (options: AppShellValues) => ReactNode;\n\tdecorateUser: DecorateUserFn;\n\tgetReturnPath: () => string;\n}\n\nconst Authenticate: FC<AuthenticateProps> = ({\n\tchildren,\n\tdecorateUser,\n\tgetReturnPath,\n}) => {\n\tconst [userWithPermission, setUserWithPermission] = useState<\n\t\tUser | undefined\n\t>(undefined);\n\tconst {\n\t\tuser,\n\t\tgetAccessTokenSilently,\n\t\tloginWithRedirect,\n\t\tlogout,\n\t\tisLoading,\n\t\tisAuthenticated,\n\t\terror,\n\t} = useAuth0();\n\n\tuseEffect(() => {\n\t\tconst fetchUserData = async () => {\n\t\t\ttry {\n\t\t\t\tconst token = await getAccessTokenSilently();\n\t\t\t\tconst decoratedUser = await decorateUser(user as User, token);\n\t\t\t\tsetUserWithPermission(decoratedUser);\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error(\"Error fetching user data:\", error);\n\t\t\t}\n\t\t};\n\n\t\tif (isAuthenticated) {\n\t\t\tfetchUserData();\n\t\t}\n\t}, [decorateUser, getAccessTokenSilently, isAuthenticated, user]);\n\n\tif (!isLoading && !isAuthenticated) {\n\t\tloginWithRedirect({\n\t\t\tappState: {\n\t\t\t\treturnTo: getReturnPath(),\n\t\t\t},\n\t\t});\n\t\treturn (\n\t\t\t<Loader style={{ marginTop: space.extraLarge9 }}>\n\t\t\t\tRedirecting to login page\n\t\t\t</Loader>\n\t\t);\n\t}\n\n\tif (isLoading || !userWithPermission) {\n\t\treturn (\n\t\t\t<Loader style={{ marginTop: space.extraLarge9 }}>Authenticating</Loader>\n\t\t);\n\t}\n\n\tif (error) {\n\t\tprocess.env.NODE_ENV !== \"production\" && console.error(error);\n\t\treturn (\n\t\t\t<BannerAlertBox\n\t\t\t\tvariant=\"error\"\n\t\t\t\ttitle=\"Authentication failed\"\n\t\t\t\tstyle={{ maxWidth: \"600px\", margin: \"0 auto\" }}\n\t\t\t>\n\t\t\t\t<Paragraph>\n\t\t\t\t\tSomething went wrong while trying to authenticate you. If the problem\n\t\t\t\t\tpersists you should contact{\" \"}\n\t\t\t\t\t<Link href=\"mailto:support@entur.org\">support@entur.org</Link> to get\n\t\t\t\t\tit resolved.\n\t\t\t\t</Paragraph>\n\t\t\t\t<Paragraph>\n\t\t\t\t\tAuthentication failed with: <CodeText>{error?.toString()}</CodeText>\n\t\t\t\t</Paragraph>\n\t\t\t</BannerAlertBox>\n\t\t);\n\t}\n\tassertIsDefined(userWithPermission);\n\treturn (\n\t\t<>\n\t\t\t{children({\n\t\t\t\tuser: userWithPermission,\n\t\t\t\tlogout: () => userLogout(logout),\n\t\t\t\tgetToken: getAccessTokenSilently,\n\t\t\t})}\n\t\t</>\n\t);\n};\n\nexport interface AppShellProps {\n\tchildren: (options: AppShellValues) => ReactNode;\n\taudience: string;\n\tdomain: string;\n\tclientId: string;\n\tdecorateUser: DecorateUserFn;\n\t/**\n\t * Optional redirect URI to use after login. If not provided, the intended path or \"/\" will be used.\n\t */\n\tredirectUri?: string;\n\tenvironment?: Environment;\n\tnavigate?: (to: string, options?: { replace?: boolean }) => void;\n}\n\nexport const AppShell = ({\n\tchildren,\n\taudience,\n\tdomain,\n\tclientId,\n\tdecorateUser,\n\tenvironment,\n\tredirectUri,\n\tnavigate,\n}: AppShellProps) => {\n\t// Central place to derive current in-app location (excluding origin)\n\tconst getCurrentAppPath = () =>\n\t\t`${window.location.pathname}${window.location.search}${window.location.hash}`;\n\n\t// Provide an Auth0 onRedirectCallback that restores the stored path\n\tconst handleRedirectCallback = (appState?: { returnTo?: string }) => {\n\t\tconst target = appState?.returnTo;\n\t\tconst destination = redirectUri || target || \"/\";\n\t\tif (navigate) {\n\t\t\tnavigate(destination, { replace: true });\n\t\t} else {\n\t\t\t// Fallback: use History API\n\t\t\twindow.history.replaceState({}, \"\", destination);\n\t\t}\n\t};\n\treturn (\n\t\t<Auth0Provider\n\t\t\tdomain={domain}\n\t\t\tclientId={clientId}\n\t\t\tauthorizationParams={{\n\t\t\t\tredirect_uri: redirectUri ?? window.location.origin,\n\t\t\t\taudience: audience,\n\t\t\t}}\n\t\t\tonRedirectCallback={handleRedirectCallback}\n\t\t>\n\t\t\t<Authenticate\n\t\t\t\tdecorateUser={decorateUser}\n\t\t\t\tgetReturnPath={getCurrentAppPath}\n\t\t\t>\n\t\t\t\t{(params) => (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{environment && environment !== Environment.Production && (\n\t\t\t\t\t\t\t<EnvironmentBanner environment={environment} />\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{children(params)}\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t</Authenticate>\n\t\t</Auth0Provider>\n\t);\n};\n","export const ORGANISATION_STORAGE_KEY = \"EP::activeOrgId\";\n\nexport const organisationStorage = {\n\tget: () => localStorage.getItem(ORGANISATION_STORAGE_KEY),\n\tset: (value: string) => localStorage.setItem(ORGANISATION_STORAGE_KEY, value),\n};\n\nexport const LANGUAGE_STORAGE_KEY = \"EP::locale\";\n\nexport const languageStorage = {\n\tget: () => localStorage.getItem(LANGUAGE_STORAGE_KEY),\n\tset: (value: string) => localStorage.setItem(LANGUAGE_STORAGE_KEY, value),\n};\n\nexport const UC_UI_STORAGE_KEY = \"ucData\";\n\nexport const ucUiStorage = {\n\tget: () => localStorage.getItem(UC_UI_STORAGE_KEY),\n};\n","export const SERVICE_NAMES = {\n\tUsercentrics: \"Usercentrics Consent Management Platform\",\n\tPostHog: \"PostHog.com\",\n\tSentry: \"Sentry\",\n} as const;\n\nexport interface ServiceConsent {\n\tname: (typeof SERVICE_NAMES)[keyof typeof SERVICE_NAMES];\n\tconsent: { given: boolean };\n}\n\nexport interface UCDataConsentDataFromLocalStorage {\n\tconsent: {\n\t\tservices: {\n\t\t\t[key: string]: {\n\t\t\t\tname: string;\n\t\t\t\tconsent: boolean;\n\t\t\t};\n\t\t};\n\t};\n}\n\nexport type UCServiceArray = Array<\n\tUCDataConsentDataFromLocalStorage[\"consent\"][\"services\"][keyof UCDataConsentDataFromLocalStorage[\"consent\"][\"services\"]]\n>;\n\nexport interface Consents {\n\tUsercentrics: {\n\t\tconsentGiven: boolean;\n\t};\n\tPostHog: {\n\t\tconsentGiven: boolean;\n\t};\n\tSentry: {\n\t\tconsentGiven: boolean;\n\t};\n}\n","import { assertIsDefined } from \"@entur-partner/util\";\n\nimport {\n\ttype Consents,\n\tSERVICE_NAMES,\n\ttype ServiceConsent,\n\ttype UCServiceArray,\n} from \"../types/ConsentTypes\";\n\nexport const DEFAULT_CONSENT_GIVEN = {\n\tUsercentrics: { consentGiven: false },\n\tPostHog: { consentGiven: false },\n\tSentry: { consentGiven: false },\n} as const;\n\nexport const convertUCServicesToConsents = (\n\tservices: ServiceConsent[] | UCServiceArray,\n): Consents => {\n\treturn services\n\t\t.map((service) => {\n\t\t\tconst serviceName = Object.entries(SERVICE_NAMES).find(\n\t\t\t\t(keyValue) => keyValue[1] === service.name,\n\t\t\t)?.[0] as keyof typeof SERVICE_NAMES;\n\n\t\t\t// Ensure the service name exists in SERVICE_NAMES\n\t\t\tassertIsDefined(\n\t\t\t\tserviceName,\n\t\t\t\t`Service name ${service.name} not found in SERVICE_NAMES`,\n\t\t\t);\n\n\t\t\tif (typeof service.consent === \"boolean\") {\n\t\t\t\tconst consentGiven = service.consent as boolean;\n\t\t\t\treturn {\n\t\t\t\t\t[serviceName]: {\n\t\t\t\t\t\tconsentGiven: consentGiven,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t} else if (\n\t\t\t\ttypeof service.consent === \"object\" &&\n\t\t\t\t\"given\" in service.consent\n\t\t\t) {\n\t\t\t\tconst consentGiven = service.consent.given;\n\t\t\t\treturn {\n\t\t\t\t\t[serviceName]: {\n\t\t\t\t\t\tconsentGiven: consentGiven,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t[serviceName]: {\n\t\t\t\t\tconsentGiven: false,\n\t\t\t\t},\n\t\t\t};\n\t\t})\n\t\t.reduce(\n\t\t\t// biome-ignore lint/performance/noAccumulatingSpread: Ignore it for now. No changes in code.\n\t\t\t(acc, curr) => ({ ...acc, ...curr }),\n\t\t\tDEFAULT_CONSENT_GIVEN as Consents,\n\t\t);\n};\n","import {\n\tcreateContext,\n\ttype ReactNode,\n\tuseContext,\n\tuseEffect,\n\tuseState,\n} from \"react\";\n\nimport { ucUiStorage } from \"./storage\";\nimport type {\n\tConsents,\n\tServiceConsent,\n\tUCDataConsentDataFromLocalStorage,\n} from \"./types/ConsentTypes\";\nimport {\n\tconvertUCServicesToConsents,\n\tDEFAULT_CONSENT_GIVEN,\n} from \"./util/convertUCServicesToConsents\";\n\ndeclare global {\n\tinterface Window {\n\t\tUC_UI: {\n\t\t\tshowFirstLayer: () => void;\n\t\t\tshowSecondLayer: () => void;\n\t\t};\n\t}\n}\n\nconst ConsentContext = createContext<Consents>(DEFAULT_CONSENT_GIVEN);\n\nexport const useConsentManager = () => {\n\tconst context = useContext(ConsentContext);\n\treturn context;\n};\n\ntype Props = {\n\tchildren: ReactNode;\n};\n\nexport const ConsentManagerProvider = ({ children }: Props) => {\n\tconst [consentManager, setConsentManager] = useState<Consents>(\n\t\tDEFAULT_CONSENT_GIVEN,\n\t);\n\n\t// Initialize consent manager from local storage once\n\tuseEffect(() => {\n\t\tif (typeof window === \"undefined\") return;\n\n\t\tconst ucData = ucUiStorage.get();\n\n\t\tif (ucData) {\n\t\t\tconst data = JSON.parse(ucData) as UCDataConsentDataFromLocalStorage;\n\t\t\tconst services = convertUCServicesToConsents(\n\t\t\t\tObject.values(data.consent.services),\n\t\t\t);\n\n\t\t\tsetConsentManager(services);\n\t\t}\n\t}, []);\n\n\t// Listen for Usercentrics consent events and update consent manager state\n\tuseEffect(() => {\n\t\tconst handleConsentEvent = async (event: Event) => {\n\t\t\tif (typeof window === \"undefined\") return;\n\n\t\t\tconst customEvent = event as CustomEvent;\n\t\t\tconst services = Object.values(\n\t\t\t\tcustomEvent.detail.services as ServiceConsent[],\n\t\t\t);\n\n\t\t\tconst updatedConsentManager = convertUCServicesToConsents(services);\n\t\t\tsetConsentManager(updatedConsentManager);\n\t\t};\n\n\t\twindow.addEventListener(\"UC_CONSENT\", handleConsentEvent);\n\n\t\treturn () => window.removeEventListener(\"UC_CONSENT\", handleConsentEvent);\n\t}, []);\n\n\treturn (\n\t\t<ConsentContext.Provider value={consentManager}>\n\t\t\t{children}\n\t\t</ConsentContext.Provider>\n\t);\n};\n","import { assertIsDefined } from \"@entur-partner/util\";\nimport {\n\tcreateContext,\n\ttype Dispatch,\n\ttype FC,\n\ttype ReactNode,\n\ttype SetStateAction,\n\tuseContext,\n\tuseEffect,\n\tuseState,\n} from \"react\";\n\nimport { languageStorage } from \"./storage\";\n\ninterface LanguageContextType {\n\tlanguage: string;\n\tsetLanguage: (language: string) => void;\n}\n\nconst LanguageContext = createContext<LanguageContextType | undefined>(\n\tundefined,\n);\n\nconst useLanguageState = (\n\tlanguage: string,\n): [string, Dispatch<SetStateAction<string>>] => {\n\tconst [activeLanguage, setLanguage] = useState(language);\n\n\tuseEffect(() => {\n\t\tlanguageStorage.set(activeLanguage);\n\t}, [activeLanguage]);\n\n\treturn [activeLanguage, setLanguage];\n};\n\nexport const useLanguage = () => {\n\tconst context = useContext(LanguageContext);\n\tassertIsDefined(context);\n\treturn context;\n};\n\ninterface LanguageProviderProps {\n\tchildren: ReactNode;\n\tlanguage: string;\n}\n\nexport const LanguageProvider: FC<LanguageProviderProps> = ({\n\tchildren,\n\tlanguage,\n}) => {\n\tconst [activeLanguage, setLanguage] = useLanguageState(language);\n\treturn (\n\t\t<LanguageContext.Provider value={{ language: activeLanguage, setLanguage }}>\n\t\t\t{children}\n\t\t</LanguageContext.Provider>\n\t);\n};\n","import type {\n\tMenuItem,\n\tNavigationFunction,\n} from \"@entur-partner/micro-frontend\";\nimport {\n\tcreateContext,\n\ttype FC,\n\ttype ReactNode,\n\tuseCallback,\n\tuseContext,\n\tuseState,\n} from \"react\";\n\ninterface MenuGroups {\n\t[path: string]: MenuItem[];\n}\n\ninterface MenuContextType {\n\tgetItemsForPath: (path: string) => MenuItem[];\n\taddItems: (items: MenuItem[], path: string) => void;\n\tgetMFNavigate: (path: string) => NavigationFunction | undefined;\n\tsetMFNavigate: (path: string, navigation: NavigationFunction) => void;\n}\n\nexport const MenuContext = createContext<MenuContextType>({\n\taddItems: () => {},\n\tgetItemsForPath: () => [],\n\tgetMFNavigate: () => undefined,\n\tsetMFNavigate: () => {},\n});\n\nexport const useMenuGroupItems = (path: string) => {\n\tconst context = useContext(MenuContext);\n\treturn context.getItemsForPath(path);\n};\n\nexport const useMenu = () => {\n\treturn useContext(MenuContext);\n};\n\nexport const useMFNavigation = (path: string) => {\n\tconst { getMFNavigate } = useMenu();\n\treturn getMFNavigate(path);\n};\n\ninterface MenuProviderProps {\n\tchildren: ReactNode;\n}\n\nexport const MenuProvider: FC<MenuProviderProps> = ({ children }) => {\n\tconst [groups, setGroups] = useState<MenuGroups>({});\n\tconst [navFuncs, setNavFuncs] = useState<Record<string, NavigationFunction>>(\n\t\t{},\n\t);\n\n\tconst addItems = useCallback((newItems: MenuItem[], path: string) => {\n\t\tsetGroups((prevState) => ({\n\t\t\t...prevState,\n\t\t\t[path]: newItems,\n\t\t}));\n\t}, []);\n\n\tconst getMFNavigate = (path: string) => navFuncs[path];\n\tconst setMFNavigate = (path: string, navigation: NavigationFunction) =>\n\t\tsetNavFuncs((prev) => ({ ...prev, [path]: navigation }));\n\n\treturn (\n\t\t<MenuContext.Provider\n\t\t\tvalue={{\n\t\t\t\taddItems,\n\t\t\t\tgetItemsForPath: (path) => groups[path] ?? [],\n\t\t\t\tgetMFNavigate,\n\t\t\t\tsetMFNavigate,\n\t\t\t}}\n\t\t>\n\t\t\t{children}\n\t\t</MenuContext.Provider>\n\t);\n};\n","import {\n\ttype AnchorHTMLAttributes,\n\ttype FC,\n\ttype MouseEvent,\n\ttype ReactNode,\n} from \"react\";\n\ninterface LinkProps extends AnchorHTMLAttributes<HTMLAnchorElement> {\n\thref: string;\n\tnavigate: () => void;\n\tchildren: ReactNode;\n}\n\nfunction isModifiedEvent(event: MouseEvent) {\n\treturn !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\nexport const MicroFrontendLink: FC<LinkProps> = ({\n\tnavigate,\n\tchildren,\n\tonClick,\n\ttarget,\n\t...rest\n}) => {\n\treturn (\n\t\t// biome-ignore lint/a11y/noStaticElementInteractions: Ignore lint rule for now. No changes in code.\n\t\t<a\n\t\t\t// biome-ignore lint/a11y/useValidAnchor: Ignore lint rule for now. No changes in code.\n\t\t\tonClick={(event) => {\n\t\t\t\ttry {\n\t\t\t\t\tif (onClick) onClick(event);\n\t\t\t\t} catch (ex) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tthrow ex;\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t!event.defaultPrevented && // onClick prevented default\n\t\t\t\t\tevent.button === 0 && // ignore everything but right clicks\n\t\t\t\t\t(!target || target === \"_self\") && // let browser handle \"target=_blank\" etc.\n\t\t\t\t\t!isModifiedEvent(event) // ignore clicks with modifier keys\n\t\t\t\t) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tnavigate();\n\t\t\t\t}\n\t\t\t}}\n\t\t\ttarget={target}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{children}\n\t\t</a>\n\t);\n};\n","import { assertIsDefined } from \"@entur-partner/util\";\nimport {\n\tcreateContext,\n\ttype Dispatch,\n\ttype FC,\n\ttype ReactNode,\n\ttype SetStateAction,\n\tuseContext,\n\tuseEffect,\n\tuseState,\n} from \"react\";\n\nimport { organisationStorage } from \"./storage\";\n\ninterface OrganisationContextType {\n\torganisationId: number;\n\tsetOrganisationId: (organisationId: number) => void;\n}\n\nconst OrganisationContext = createContext<OrganisationContextType | undefined>(\n\tundefined,\n);\n\nexport const useOrganisation = () => {\n\tconst context = useContext(OrganisationContext);\n\tassertIsDefined(context);\n\treturn context;\n};\n\nexport const useOrganisationId = () => {\n\tconst context = useContext(OrganisationContext);\n\tassertIsDefined(context);\n\treturn context.organisationId;\n};\n\nconst useOrganisationState = (\n\tinitialOrganisationId: string,\n): [number, Dispatch<SetStateAction<number>>] => {\n\tconst [organisationId, setOrganisationId] = useState<number>(\n\t\tNumber(initialOrganisationId),\n\t);\n\n\tuseEffect(() => {\n\t\torganisationStorage.set(organisationId.toString());\n\t}, [organisationId]);\n\n\treturn [organisationId, setOrganisationId];\n};\n\ninterface OrganisationProviderProps {\n\tchildren: ReactNode;\n\torganisationId: string;\n}\n\nexport const OrganisationProvider: FC<OrganisationProviderProps> = ({\n\tchildren,\n\torganisationId,\n}) => {\n\tconst [orgId, setOrganisationId] = useOrganisationState(organisationId);\n\treturn (\n\t\t<OrganisationContext.Provider\n\t\t\tvalue={{ organisationId: orgId, setOrganisationId }}\n\t\t>\n\t\t\t{children}\n\t\t</OrganisationContext.Provider>\n\t);\n};\n","export class OrganisationsError extends Error {\n\tmessage = \"Failed fetching organisations\";\n}\n","import type { GetTokenSilentlyOptions } from \"@auth0/auth0-spa-js\";\nimport { SkeletonRectangle } from \"@entur/loader\";\nimport { OrganisationDropDown } from \"@entur-partner/common\";\nimport { type FC, useEffect, useState } from \"react\";\nimport { useLanguage } from \"./LanguageProvider\";\nimport { OrganisationsError } from \"./OrganisationsError\";\n\nexport type GetOrganisationsFn = (token: string) => Promise<OrganisationV3[]>;\n\nexport interface OrganisationV3 {\n\torganisationId: number;\n\ttradingName: string;\n}\n\nexport interface OrganisationSelectorProps {\n\tgetToken: (options?: GetTokenSilentlyOptions) => Promise<string>;\n\tgetOrganisations: GetOrganisationsFn | string;\n\tselectedOrganisationId: number;\n\tonChange: (organisationId: number) => void;\n\t[key: string]: object | string | number | boolean;\n}\n\nexport const OrganisationSelector: FC<OrganisationSelectorProps> = ({\n\tgetToken,\n\tgetOrganisations,\n\tselectedOrganisationId,\n\tonChange,\n\t...rest\n}) => {\n\tconst [organisations, setOrganisations] = useState<OrganisationV3[]>([]);\n\tconst { language } = useLanguage();\n\n\tconst [status, setStatus] = useState<\"LOADING\" | \"ERROR\" | \"SUCCESS\">(\n\t\t\"LOADING\",\n\t);\n\n\tuseEffect(() => {\n\t\tconst fetchOrganisations = async () => {\n\t\t\tconst token = await getToken();\n\t\t\tlet organisations: OrganisationV3[];\n\t\t\tif (typeof getOrganisations === \"string\") {\n\t\t\t\torganisations = await fetch(getOrganisations, {\n\t\t\t\t\theaders: {\n\t\t\t\t\t\tAuthorization: `Bearer ${token}`,\n\t\t\t\t\t\tAccept: \"application/json\",\n\t\t\t\t\t},\n\t\t\t\t}).then((response) => response.json());\n\t\t\t} else {\n\t\t\t\torganisations = await getOrganisations(token);\n\t\t\t}\n\t\t\tsetOrganisations(organisations);\n\t\t\tsetStatus(\"SUCCESS\");\n\t\t};\n\n\t\tfetchOrganisations().catch((error) => {\n\t\t\tif (process.env.NODE_ENV === \"development\") {\n\t\t\t\tconsole.error(error);\n\t\t\t}\n\t\t\tsetStatus(\"ERROR\");\n\t\t});\n\t}, [getOrganisations, getToken]);\n\n\tswitch (status) {\n\t\tcase \"LOADING\":\n\t\t\treturn (\n\t\t\t\t<div className=\"eds-contrast\">\n\t\t\t\t\t<SkeletonRectangle style={{ height: \"2.4rem\" }} />\n\t\t\t\t</div>\n\t\t\t);\n\t\tcase \"SUCCESS\":\n\t\t\treturn (\n\t\t\t\t<OrganisationDropDown\n\t\t\t\t\tlabel={\n\t\t\t\t\t\tlanguage === \"nb\" || language === \"nb-NO\"\n\t\t\t\t\t\t\t? \"Organisasjon\"\n\t\t\t\t\t\t\t: \"Organisation\"\n\t\t\t\t\t}\n\t\t\t\t\tselectedOrganisationId={selectedOrganisationId}\n\t\t\t\t\torganisations={organisations}\n\t\t\t\t\tonChange={onChange}\n\t\t\t\t\t{...rest}\n\t\t\t\t/>\n\t\t\t);\n\t\tcase \"ERROR\":\n\t\t\tthrow new OrganisationsError();\n\t\tdefault:\n\t\t\treturn null;\n\t}\n};\n","import postHog from \"posthog-js\";\nimport { PostHogProvider } from \"posthog-js/react\";\nimport { type ReactNode, useEffect } from \"react\";\nimport { useConsentManager } from \"./ConsentManagerProvider\";\n\ntype Props = {\n\t/**\n\t * Debug mode for PostHog.\n\t */\n\tdebug?: boolean;\n\t/**\n\t * PostHog API key for initializing the PostHog client.\n\t * If not provided, PostHog will not be initialized.\n\t */\n\tpostHogApiKey?: string;\n\t/**\n\t * Flag to indicate if the application is running in a standalone mode or as a micro-frontend.\n\t * When true, it will turn on autocapture and go directly to PostHog's cloud.\n\t * When false, it will turn off autocapture and the local ingest endpoint from App-Shell. Instead auto-capture\n\t * will be handled by the App-Shell.\n\t */\n\tisStandalone: boolean;\n\t/**\n\t * Optional project identifier for PostHog.\n\t * This can be used to differentiate between different projects in PostHog.\n\t */\n\tproject?: string;\n\t/**\n\t * Flag to force disable PostHog tracking.\n\t * If true, PostHog will not be initialized even if postHogApiKey is provided.\n\t */\n\tforceDisablePostHog?: boolean;\n\tchildren: ReactNode;\n};\n\nexport const PostHogProviderWrapper = ({\n\tdebug = false,\n\tpostHogApiKey,\n\tisStandalone,\n\tproject,\n\tforceDisablePostHog = false,\n\tchildren,\n}: Props) => {\n\tconst consents = useConsentManager();\n\n\tuseEffect(() => {\n\t\tif (!postHogApiKey || forceDisablePostHog) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (consents?.PostHog.consentGiven) {\n\t\t\tpostHog.opt_in_capturing();\n\t\t} else {\n\t\t\tpostHog.opt_out_capturing();\n\t\t}\n\t}, [consents.PostHog.consentGiven, forceDisablePostHog, postHogApiKey]);\n\n\t// If no API key is provided or PostHog is forced to be disabled, do not initialize PostHog\n\tif (!postHogApiKey || forceDisablePostHog) {\n\t\tif (!forceDisablePostHog) {\n\t\t\tconsole.warn(\n\t\t\t\t\"AppShellStandalone Warning: PostHog API key is not provided. PostHog will not be initialized.\",\n\t\t\t);\n\t\t} else {\n\t\t\tconsole.warn(\n\t\t\t\t\"AppShellStandalone Warning: PostHog tracking is disabled by force. PostHog will not be initialized.\",\n\t\t\t);\n\t\t}\n\n\t\treturn <>{children}</>;\n\t}\n\n\tpostHog.init(\n\t\tpostHogApiKey,\n\t\t{\n\t\t\tdebug,\n\t\t\tapi_host: isStandalone ? \"https://eu.posthog.com\" : \"/ingest\",\n\t\t\tui_host: \"https://eu.posthog.com\",\n\t\t\topt_out_capturing_by_default: true,\n\t\t\tautocapture: isStandalone,\n\t\t},\n\t\tproject,\n\t);\n\n\treturn <PostHogProvider client={postHog}>{children}</PostHogProvider>;\n};\n"],"names":["EnvironmentBanner","_ref","environment","_jsx","className","style","position","zIndex","top","left","right","width","height","backgroundColor","getColorForEnvironment","userLogout","logout","_window$location","window","location","protocol","hostname","port","logoutParams","returnTo","Authenticate","children","decorateUser","getReturnPath","_useState","useState","undefined","userWithPermission","setUserWithPermission","_useAuth","useAuth0","user","getAccessTokenSilently","loginWithRedirect","isLoading","isAuthenticated","error","useEffect","fetchUserData","_ref2","_asyncToGenerator","_regenerator","m","_callee","token","decoratedUser","_t","w","_context","p","n","v","console","a","apply","arguments","appState","Loader","marginTop","space","extraLarge9","process","env","NODE_ENV","_jsxs","BannerAlertBox","variant","title","maxWidth","margin","Paragraph","Link","href","CodeText","toString","assertIsDefined","_Fragment","getToken","AppShell","_ref3","audience","domain","clientId","redirectUri","navigate","getCurrentAppPath","pathname","search","hash","handleRedirectCallback","target","destination","replace","history","replaceState","Auth0Provider","authorizationParams","redirect_uri","origin","onRedirectCallback","params","Environment","Production","ORGANISATION_STORAGE_KEY","organisationStorage","get","localStorage","getItem","set","value","setItem","LANGUAGE_STORAGE_KEY","languageStorage","UC_UI_STORAGE_KEY","ucUiStorage","SERVICE_NAMES","Usercentrics","PostHog","Sentry","DEFAULT_CONSENT_GIVEN","consentGiven","convertUCServicesToConsents","services","map","service","_Object$entries$find","serviceName","Object","entries","find","keyValue","name","consent","given","reduce","acc","curr","_extends","ConsentContext","createContext","useConsentManager","context","useContext","ConsentManagerProvider","consentManager","setConsentManager","ucData","data","JSON","parse","values","handleConsentEvent","event","customEvent","updatedConsentManager","detail","_x","addEventListener","removeEventListener","Provider","LanguageContext","useLanguageState","language","activeLanguage","setLanguage","useLanguage","LanguageProvider","_useLanguageState","MenuContext","addItems","getItemsForPath","getMFNavigate","setMFNavigate","useMenuGroupItems","path","useMenu","useMFNavigation","_useMenu","MenuProvider","groups","setGroups","_useState2","navFuncs","setNavFuncs","useCallback","newItems","prevState","_extends2","navigation","prev","_extends3","_groups$path","isModifiedEvent","metaKey","altKey","ctrlKey","shiftKey","MicroFrontendLink","onClick","rest","_objectWithoutPropertiesLoose","_excluded","ex","preventDefault","defaultPrevented","button","OrganisationContext","useOrganisation","useOrganisationId","organisationId","useOrganisationState","initialOrganisationId","Number","setOrganisationId","OrganisationProvider","_useOrganisationState","orgId","OrganisationsError","_Error","_this","_len","length","args","Array","_key","call","concat","message","_inheritsLoose","_wrapNativeSuper","Error","OrganisationSelector","getOrganisations","selectedOrganisationId","onChange","organisations","setOrganisations","_useLanguage","status","setStatus","fetchOrganisations","fetch","headers","Authorization","Accept","then","response","json","SkeletonRectangle","OrganisationDropDown","label","PostHogProviderWrapper","_ref$debug","debug","postHogApiKey","isStandalone","project","_ref$forceDisablePost","forceDisablePostHog","consents","postHog","opt_in_capturing","opt_out_capturing","warn","init","api_host","ui_host","opt_out_capturing_by_default","autocapture","PostHogProvider","client"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@entur-partner/app-shell",
3
- "version": "6.3.0",
3
+ "version": "6.3.2",
4
4
  "license": "EUPL-1.2",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/app-shell.esm.js",
@@ -34,14 +34,14 @@
34
34
  "react-router-dom": ">=6.30.1"
35
35
  },
36
36
  "dependencies": {
37
- "@auth0/auth0-react": "2.13.0",
38
- "@entur-partner/common": "^11.0.0",
39
- "@entur-partner/micro-frontend": "^2.7.0",
40
- "@entur-partner/util": "^1.3.6"
37
+ "@auth0/auth0-react": "2.15.1",
38
+ "@entur-partner/common": "^11.0.1",
39
+ "@entur-partner/micro-frontend": "^2.7.2",
40
+ "@entur-partner/util": "^1.3.7"
41
41
  },
42
42
  "devDependencies": {
43
- "@entur-partner/permission-client-node": "3.6.1",
44
- "react-router-dom": "7.13.0"
43
+ "@entur-partner/permission-client-node": "3.6.2",
44
+ "react-router-dom": "7.13.1"
45
45
  },
46
46
  "jest": {
47
47
  "globalSetup": "../../global-jest-setup.js",
@@ -57,5 +57,5 @@
57
57
  "reportFile": "jest-sonar-report.xml",
58
58
  "indent": 4
59
59
  },
60
- "gitHead": "b167f46c19c7ae5949e8df86b375eb56067dbbc8"
60
+ "gitHead": "ac3f0e337d01bc50b0a4b1c52f22685c4ab4e444"
61
61
  }