@entur-partner/app-shell-standalone 7.1.0-alpha.2 → 7.1.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/README.md +1 -0
- package/dist/PublicAppShellStandalone.d.ts +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +2 -2
- package/dist/index.mjs.map +1 -1
- package/package.json +15 -15
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@ import { type AppShellProps } from "@entur-partner/app-shell";
|
|
|
2
2
|
import { type Environment } from "@entur-partner/common";
|
|
3
3
|
import type { PublicMicroFrontendPayload } from "@entur-partner/micro-frontend";
|
|
4
4
|
import { type ReactNode } from "react";
|
|
5
|
-
export interface PublicAppShellStandaloneProps extends Omit<AppShellProps, "children"
|
|
5
|
+
export interface PublicAppShellStandaloneProps extends Omit<AppShellProps, "children"> {
|
|
6
6
|
children: (options: PublicMicroFrontendPayload) => ReactNode;
|
|
7
7
|
/**
|
|
8
8
|
* Either a function for fetching organisations or an url where organisations
|
package/dist/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=(n,r,a)=>(a=n==null?{}:e(i(n)),s(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let l=require(`@entur-partner/app-shell`),u=require(`@entur-partner/common`),d=require(`@entur-partner/util`),f=require(`@entur/menu`),p=require(`@entur/tokens`),m=require(`react/jsx-runtime`),h=require(`@entur/button`);require(`react`);var g=e=>{switch(e){case`nb`:case`nb-NO`:return`nb-NO`;case`en`:case`en-GB`:return`en-GB`;default:return`nb-NO`}},_=({getOrganisations:e,user:t,getToken:n,logout:r,environment:i})=>{let{getItemsForPath:a}=(0,l.useMenu)(),{language:o,setLanguage:s}=(0,l.useLanguage)(),{setOrganisationId:c,organisationId:h}=(0,l.useOrganisation)(),_=a(`app-shell`),v=g(o);return(0,d.assertIsDefined)(t,`User must be defined to render Menu`),(0,d.assertIsDefined)(h,`Organisation ID must be defined to render Menu`),(0,m.jsxs)(u.Menu,{children:[(0,m.jsx)(`div`,{style:{marginLeft:p.space.extraLarge2,marginTop:p.space.large,marginBottom:p.space.extraLarge},children:(0,m.jsx)(u.EnturPartnerLogo,{altText:`Entur partner logo`,className:`menu-space menu-logo`,environment:i})}),(0,m.jsx)(`div`,{style:{margin:p.space.large},children:(0,m.jsxs)(u.Stack,{space:`small`,children:[(0,m.jsx)(u.UserMenu,{className:`ph-no-capture`,onLocaleChange:s,onLogout:async()=>{await r()},locale:v,userName:t.given_name?`${t.given_name} ${t.family_name}`:t.name,environment:i,showVersionItem:!1,showMyProfileItem:!1,showCookieSettingsItem:!0,onCookieSettingsOpen:()=>{window.UC_UI.showSecondLayer()},onNavigateToMyProfile:()=>{}}),(0,m.jsx)(l.OrganisationSelector,{getOrganisations:e,getToken:n,selectedOrganisationId:h,onChange:e=>c(e)})]})}),(0,m.jsx)(f.SideNavigation,{children:_.map(({to:e,title:t,disabled:n,navigate:r})=>(0,m.jsx)(f.SideNavigationItem,{as:l.MicroFrontendLink,href:e,navigate:n?null:()=>r(e),disabled:!!n,children:t},e.toString()))})]})},v=({children:e,values:t})=>{let{addItems:n,setMFNavigate:r}=(0,l.useMenu)(),i=(0,l.useOrganisationId)(),{language:a}=(0,l.useLanguage)(),o=e=>n(e,`app-shell`);return(0,d.assertIsDefined)(t.user,`User must be defined in AppShell`),(0,d.assertIsDefined)(i,`Organisation ID must be defined in AppShell`),(0,m.jsx)(u.Content,{children:e({...t,user:t.user,language:a,navigate:()=>{process.env.NODE_ENV!==`production`&&console.warn(`Calling navigate() from app shell has no effect. It is only provided so that the app shell values are equal to MicroFrontendPayload.`)},addMenuItems:o,organisationId:i.toString(),setMFNavigate:e=>r(`app-shell`,e)})})},y=({children:e,audience:t,domain:n,clientId:r,decorateUser:i,getOrganisations:a,redirectUri:o,environment:s,navigate:c})=>(0,m.jsx)(l.AppShell,{audience:t,domain:n,clientId:r,decorateUser:i,redirectUri:o,environment:s,navigate:c,isPublicView:!1,children:t=>(0,m.jsx)(l.LanguageProvider,{language:l.languageStorage.get()??`nb-NO`,children:(0,m.jsx)(l.OrganisationProvider,{organisationId:l.organisationStorage.get()??t.user?.[`https://entur.io/organisationID`].toString()??``,children:(0,m.jsxs)(l.MenuProvider,{children:[(0,m.jsx)(_,{...t,getOrganisations:a,environment:s}),(0,m.jsx)(v,{values:t,children:e})]})})})}),b=c(o(((e,t)=>{(function(){"use strict";var e={}.hasOwnProperty;function n(){for(var e=``,t=0;t<arguments.length;t++){var n=arguments[t];n&&(e=i(e,r(n)))}return e}function r(t){if(typeof t==`string`||typeof t==`number`)return t;if(typeof t!=`object`)return``;if(Array.isArray(t))return n.apply(null,t);if(t.toString!==Object.prototype.toString&&!t.toString.toString().includes(`[native code]`))return t.toString();var r=``;for(var a in t)e.call(t,a)&&t[a]&&(r=i(r,a));return r}function i(e,t){return t?e?e+` `+t:e+t:e}t!==void 0&&t.exports?(n.default=n,t.exports=n):typeof define==`function`&&typeof define.amd==`object`&&define.amd?define(`classnames`,[],function(){return n}):window.classNames=n})()}))(),1),x=({environment:e,user:t,onLogin:n,onLogout:r})=>{let i=!!t,{language:a,setLanguage:o}=(0,l.useLanguage)(),s=window.location.pathname===`/`,{getItemsForPath:c}=(0,l.useMenu)(),d=c(`app-shell`);return(0,m.jsxs)(`nav`,{className:(0,b.default)(`top-navigation`,`eds-contrast`,{"top-navigation--frontpage":s}),"aria-label"
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=(n,r,a)=>(a=n==null?{}:e(i(n)),s(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let l=require(`@entur-partner/app-shell`),u=require(`@entur-partner/common`),d=require(`@entur-partner/util`),f=require(`@entur/menu`),p=require(`@entur/tokens`),m=require(`react/jsx-runtime`),h=require(`@entur/button`);require(`react`);var g=e=>{switch(e){case`nb`:case`nb-NO`:return`nb-NO`;case`en`:case`en-GB`:return`en-GB`;default:return`nb-NO`}},_=({getOrganisations:e,user:t,getToken:n,logout:r,environment:i})=>{let{getItemsForPath:a}=(0,l.useMenu)(),{language:o,setLanguage:s}=(0,l.useLanguage)(),{setOrganisationId:c,organisationId:h}=(0,l.useOrganisation)(),_=a(`app-shell`),v=g(o);return(0,d.assertIsDefined)(t,`User must be defined to render Menu`),(0,d.assertIsDefined)(h,`Organisation ID must be defined to render Menu`),(0,m.jsxs)(u.Menu,{children:[(0,m.jsx)(`div`,{style:{marginLeft:p.space.extraLarge2,marginTop:p.space.large,marginBottom:p.space.extraLarge},children:(0,m.jsx)(u.EnturPartnerLogo,{altText:`Entur partner logo`,className:`menu-space menu-logo`,environment:i})}),(0,m.jsx)(`div`,{style:{margin:p.space.large},children:(0,m.jsxs)(u.Stack,{space:`small`,children:[(0,m.jsx)(u.UserMenu,{className:`ph-no-capture`,onLocaleChange:s,onLogout:async()=>{await r()},locale:v,userName:t.given_name?`${t.given_name} ${t.family_name}`:t.name,environment:i,showVersionItem:!1,showMyProfileItem:!1,showCookieSettingsItem:!0,onCookieSettingsOpen:()=>{window.UC_UI.showSecondLayer()},onNavigateToMyProfile:()=>{}}),(0,m.jsx)(l.OrganisationSelector,{getOrganisations:e,getToken:n,selectedOrganisationId:h,onChange:e=>c(e)})]})}),(0,m.jsx)(f.SideNavigation,{children:_.map(({to:e,title:t,disabled:n,navigate:r})=>(0,m.jsx)(f.SideNavigationItem,{as:l.MicroFrontendLink,href:e,navigate:n?null:()=>r(e),disabled:!!n,children:t},e.toString()))})]})},v=({children:e,values:t})=>{let{addItems:n,setMFNavigate:r}=(0,l.useMenu)(),i=(0,l.useOrganisationId)(),{language:a}=(0,l.useLanguage)(),o=e=>n(e,`app-shell`);return(0,d.assertIsDefined)(t.user,`User must be defined in AppShell`),(0,d.assertIsDefined)(i,`Organisation ID must be defined in AppShell`),(0,m.jsx)(u.Content,{children:e({...t,user:t.user,language:a,navigate:()=>{process.env.NODE_ENV!==`production`&&console.warn(`Calling navigate() from app shell has no effect. It is only provided so that the app shell values are equal to MicroFrontendPayload.`)},addMenuItems:o,organisationId:i.toString(),setMFNavigate:e=>r(`app-shell`,e)})})},y=({children:e,audience:t,domain:n,clientId:r,decorateUser:i,getOrganisations:a,redirectUri:o,environment:s,navigate:c})=>(0,m.jsx)(l.AppShell,{audience:t,domain:n,clientId:r,decorateUser:i,redirectUri:o,environment:s,navigate:c,isPublicView:!1,children:t=>(0,m.jsx)(l.LanguageProvider,{language:l.languageStorage.get()??`nb-NO`,children:(0,m.jsx)(l.OrganisationProvider,{organisationId:l.organisationStorage.get()??t.user?.[`https://entur.io/organisationID`].toString()??``,children:(0,m.jsxs)(l.MenuProvider,{children:[(0,m.jsx)(_,{...t,getOrganisations:a,environment:s}),(0,m.jsx)(v,{values:t,children:e})]})})})}),b=c(o(((e,t)=>{(function(){"use strict";var e={}.hasOwnProperty;function n(){for(var e=``,t=0;t<arguments.length;t++){var n=arguments[t];n&&(e=i(e,r(n)))}return e}function r(t){if(typeof t==`string`||typeof t==`number`)return t;if(typeof t!=`object`)return``;if(Array.isArray(t))return n.apply(null,t);if(t.toString!==Object.prototype.toString&&!t.toString.toString().includes(`[native code]`))return t.toString();var r=``;for(var a in t)e.call(t,a)&&t[a]&&(r=i(r,a));return r}function i(e,t){return t?e?e+` `+t:e+t:e}t!==void 0&&t.exports?(n.default=n,t.exports=n):typeof define==`function`&&typeof define.amd==`object`&&define.amd?define(`classnames`,[],function(){return n}):window.classNames=n})()}))(),1),x=({environment:e,user:t,onLogin:n,onLogout:r})=>{let i=!!t,{language:a,setLanguage:o}=(0,l.useLanguage)(),s=window.location.pathname===`/`,{getItemsForPath:c}=(0,l.useMenu)(),d=c(`app-shell`);return(0,m.jsxs)(`nav`,{className:(0,b.default)(`top-navigation`,`eds-contrast`,{"top-navigation--frontpage":s}),"aria-label":a===`nb-NO`?`Navigasjon, hovedseksjoner`:`Navigation, main sections`,children:[(0,m.jsx)(`a`,{href:`/`,className:`top-navigation__logo`,children:(0,m.jsx)(u.EnturPartnerLogo,{altText:`Entur partner logo`,className:`menu-space menu-logo`,environment:e})}),d.filter(({isPublic:e,disabled:t})=>!t&&(e||i)).map(({to:e,title:t,navigate:n})=>(0,m.jsx)(S,{to:e,navigate:()=>n(e),children:t},e.toString())),(0,m.jsx)(`div`,{className:`top-navigation__actions`,children:i?(0,m.jsx)(u.UserMenu,{className:`ph-no-capture`,onLocaleChange:o,onLogout:r,locale:a,userName:t?.name??``,environment:e,showVersionItem:!1,showMyProfileItem:!1,showCookieSettingsItem:!0,onCookieSettingsOpen:()=>{window.UC_UI.showSecondLayer()},onNavigateToMyProfile:()=>{}}):(0,m.jsx)(h.SecondaryButton,{onClick:n,className:`top-navigation__button`,children:a===`nb-NO`?`Logg inn`:`Log In`})})]})},S=({to:e,navigate:t,children:n})=>(0,m.jsx)(f.TopNavigationItem,{as:l.MicroFrontendLink,href:e,navigate:t,active:window.location.pathname.startsWith(e),children:n}),C=({children:e,values:t})=>{let{addItems:n,setMFNavigate:r}=(0,l.useMenu)(),{language:i}=(0,l.useLanguage)(),a=e=>n(e,`app-shell`);return(0,m.jsx)(u.Content,{className:`eps-public-content`,children:e({...t,language:i,navigate:()=>{process.env.NODE_ENV!==`production`&&console.warn(`Calling navigate() from app shell has no effect. It is only provided so that the app shell values are equal to MicroFrontendPayload.`)},addMenuItems:a,setMFNavigate:e=>r(`app-shell`,e)})})},w=({children:e,audience:t,domain:n,clientId:r,decorateUser:i,redirectUri:a,environment:o,navigate:s})=>(0,m.jsx)(l.AppShell,{audience:t,domain:n,clientId:r,decorateUser:i,redirectUri:a,navigate:s,isPublicView:!0,children:t=>(0,m.jsx)(l.LanguageProvider,{language:l.languageStorage.get()??`nb-NO`,children:(0,m.jsxs)(l.MenuProvider,{children:[(0,m.jsx)(x,{environment:o,user:t.user,onLogin:()=>t.loginWithRedirect(),onLogout:t.logout}),(0,m.jsx)(C,{values:t,children:e})]})})});exports.AppShellStandalone=y,exports.PublicAppShellStandalone=w;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":[],"sources":["../src/Menu.tsx","../src/AppShellStandalone.tsx","../../../node_modules/classnames/index.js","../src/BetaTopNavigation.tsx","../src/PublicAppShellStandalone.tsx"],"sourcesContent":["import { SideNavigation, SideNavigationItem } from \"@entur/menu\";\nimport { space } from \"@entur/tokens\";\nimport {\n\ttype AppShellValues,\n\ttype GetOrganisationsFn,\n\tMicroFrontendLink,\n\tOrganisationSelector,\n\tuseLanguage,\n\tuseMenu,\n\tuseOrganisation,\n} from \"@entur-partner/app-shell\";\nimport {\n\tEnturPartnerLogo,\n\ttype Environment,\n\tMenu as MenuContainer,\n\tStack,\n\tUserMenu,\n} from \"@entur-partner/common\";\nimport { assertIsDefined } from \"@entur-partner/util\";\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\ninterface MenuProps extends AppShellValues {\n\tgetOrganisations: GetOrganisationsFn | string;\n\tenvironment?: Environment;\n}\n\nconst convertToLocale = (language: string): \"nb-NO\" | \"en-GB\" => {\n\tswitch (language) {\n\t\tcase \"nb\":\n\t\tcase \"nb-NO\":\n\t\t\treturn \"nb-NO\";\n\t\tcase \"en\":\n\t\tcase \"en-GB\":\n\t\t\treturn \"en-GB\";\n\t\tdefault:\n\t\t\treturn \"nb-NO\";\n\t}\n};\n\nexport const Menu = ({\n\tgetOrganisations,\n\tuser,\n\tgetToken,\n\tlogout,\n\tenvironment,\n}: MenuProps) => {\n\tconst { getItemsForPath } = useMenu();\n\tconst { language, setLanguage } = useLanguage();\n\tconst { setOrganisationId, organisationId } = useOrganisation();\n\tconst items = getItemsForPath(\"app-shell\");\n\tconst locale = convertToLocale(language);\n\n\tassertIsDefined(user, \"User must be defined to render Menu\");\n\tassertIsDefined(\n\t\torganisationId,\n\t\t\"Organisation ID must be defined to render Menu\",\n\t);\n\n\treturn (\n\t\t<MenuContainer>\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tmarginLeft: space.extraLarge2,\n\t\t\t\t\tmarginTop: space.large,\n\t\t\t\t\tmarginBottom: space.extraLarge,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<EnturPartnerLogo\n\t\t\t\t\taltText={\"Entur partner logo\"}\n\t\t\t\t\tclassName=\"menu-space menu-logo\"\n\t\t\t\t\tenvironment={environment}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div style={{ margin: space.large }}>\n\t\t\t\t<Stack space=\"small\">\n\t\t\t\t\t<UserMenu\n\t\t\t\t\t\tclassName=\"ph-no-capture\"\n\t\t\t\t\t\tonLocaleChange={setLanguage}\n\t\t\t\t\t\tonLogout={async () => {\n\t\t\t\t\t\t\tawait logout();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tlocale={locale}\n\t\t\t\t\t\tuserName={\n\t\t\t\t\t\t\tuser.given_name\n\t\t\t\t\t\t\t\t? `${user.given_name} ${user.family_name}`\n\t\t\t\t\t\t\t\t: user.name\n\t\t\t\t\t\t}\n\t\t\t\t\t\tenvironment={environment}\n\t\t\t\t\t\tshowVersionItem={false}\n\t\t\t\t\t\tshowMyProfileItem={false}\n\t\t\t\t\t\tshowCookieSettingsItem={true}\n\t\t\t\t\t\tonCookieSettingsOpen={() => {\n\t\t\t\t\t\t\twindow.UC_UI.showSecondLayer();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonNavigateToMyProfile={() => {}}\n\t\t\t\t\t/>\n\t\t\t\t\t<OrganisationSelector\n\t\t\t\t\t\tgetOrganisations={getOrganisations}\n\t\t\t\t\t\tgetToken={getToken}\n\t\t\t\t\t\tselectedOrganisationId={organisationId}\n\t\t\t\t\t\tonChange={(organisationId: number) =>\n\t\t\t\t\t\t\tsetOrganisationId(organisationId)\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</Stack>\n\t\t\t</div>\n\t\t\t<SideNavigation>\n\t\t\t\t{items.map(({ to, title, disabled, navigate }) => {\n\t\t\t\t\tconst itemProps = {\n\t\t\t\t\t\tas: MicroFrontendLink,\n\t\t\t\t\t\thref: to,\n\t\t\t\t\t\tnavigate: disabled ? null : () => navigate(to),\n\t\t\t\t\t\tdisabled: !!disabled,\n\t\t\t\t\t};\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<SideNavigationItem key={to.toString()} {...itemProps}>\n\t\t\t\t\t\t\t{title}\n\t\t\t\t\t\t</SideNavigationItem>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</SideNavigation>\n\t\t</MenuContainer>\n\t);\n};\n","import {\n\tAppShell,\n\ttype AppShellProps,\n\ttype AppShellValues,\n\ttype GetOrganisationsFn,\n\tLanguageProvider,\n\tlanguageStorage,\n\tMenuProvider,\n\tOrganisationProvider,\n\torganisationStorage,\n\tuseLanguage,\n\tuseMenu,\n\tuseOrganisationId,\n} from \"@entur-partner/app-shell\";\nimport { Content as ContentWrapper, Environment } from \"@entur-partner/common\";\nimport type {\n\tMenuItem,\n\tMicroFrontendPayload,\n} from \"@entur-partner/micro-frontend\";\nimport { assertIsDefined } from \"@entur-partner/util\";\nimport { type ReactNode } from \"react\";\nimport { Menu } from \"./Menu\";\n\ntype ContentProps = {\n\tvalues: AppShellValues;\n\tchildren: (options: MicroFrontendPayload) => ReactNode;\n};\n\nconst Content = ({ children, values }: ContentProps) => {\n\tconst { addItems, setMFNavigate } = useMenu();\n\tconst organisationId = useOrganisationId();\n\tconst { language } = useLanguage();\n\n\tconst addMenuItems = (items: MenuItem[]) => addItems(items, \"app-shell\");\n\n\tassertIsDefined(values.user, \"User must be defined in AppShell\");\n\tassertIsDefined(\n\t\torganisationId,\n\t\t\"Organisation ID must be defined in AppShell\",\n\t);\n\n\treturn (\n\t\t<ContentWrapper>\n\t\t\t{children({\n\t\t\t\t...values,\n\t\t\t\tuser: values.user,\n\t\t\t\tlanguage,\n\t\t\t\tnavigate: () => {\n\t\t\t\t\tif (process.env.NODE_ENV !== \"production\") {\n\t\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\t\t\"Calling navigate() from app shell has no effect. It is only provided so that the app shell values are equal to MicroFrontendPayload.\",\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\taddMenuItems,\n\t\t\t\torganisationId: organisationId.toString(),\n\t\t\t\tsetMFNavigate: (navigate) => setMFNavigate(\"app-shell\", navigate),\n\t\t\t})}\n\t\t</ContentWrapper>\n\t);\n};\n\nexport interface AppShellStandaloneProps\n\textends Omit<AppShellProps, \"children\"> {\n\tchildren: (options: MicroFrontendPayload) => ReactNode;\n\t/**\n\t * Either a function for fetching organisations or an url where organisations\n\t * can be fetched. Url will be called with access token in header.\n\t */\n\tgetOrganisations: GetOrganisationsFn | string;\n\tenvironment?: Environment;\n\tpostHogApiKey?: string;\n}\n\nexport const AppShellStandalone = ({\n\tchildren,\n\taudience,\n\tdomain,\n\tclientId,\n\tdecorateUser,\n\tgetOrganisations,\n\tredirectUri,\n\tenvironment,\n\tnavigate,\n}: AppShellStandaloneProps) => {\n\treturn (\n\t\t<AppShell\n\t\t\taudience={audience}\n\t\t\tdomain={domain}\n\t\t\tclientId={clientId}\n\t\t\tdecorateUser={decorateUser}\n\t\t\tredirectUri={redirectUri}\n\t\t\tenvironment={environment}\n\t\t\tnavigate={navigate}\n\t\t\tisPublicView={false}\n\t\t>\n\t\t\t{(values) => (\n\t\t\t\t<LanguageProvider language={languageStorage.get() ?? \"nb-NO\"}>\n\t\t\t\t\t<OrganisationProvider\n\t\t\t\t\t\torganisationId={\n\t\t\t\t\t\t\torganisationStorage.get() ??\n\t\t\t\t\t\t\tvalues.user?.[\"https://entur.io/organisationID\"].toString() ??\n\t\t\t\t\t\t\t\"\"\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<MenuProvider>\n\t\t\t\t\t\t\t<Menu\n\t\t\t\t\t\t\t\t{...values}\n\t\t\t\t\t\t\t\tgetOrganisations={getOrganisations}\n\t\t\t\t\t\t\t\tenvironment={environment}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<Content values={values}>{children}</Content>\n\t\t\t\t\t\t</MenuProvider>\n\t\t\t\t\t</OrganisationProvider>\n\t\t\t\t</LanguageProvider>\n\t\t\t)}\n\t\t</AppShell>\n\t);\n};\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import \"./BetaTopNavigation.scss\";\nimport { SecondaryButton } from \"@entur/button\";\nimport { TopNavigationItem } from \"@entur/menu\";\nimport {\n\tMicroFrontendLink,\n\tuseLanguage,\n\tuseMenu,\n} from \"@entur-partner/app-shell\";\nimport { EnturPartnerLogo, Environment, UserMenu } from \"@entur-partner/common\";\nimport type { User } from \"@entur-partner/micro-frontend\";\nimport classNames from \"classnames\";\nimport React from \"react\";\n\ninterface TopMenuProps {\n\tenvironment?: Environment;\n\tuser?: User;\n\tonLogin: () => void;\n\tonLogout: () => void;\n}\n\nexport const BetaTopNavigation = ({\n\tenvironment,\n\tuser,\n\tonLogin,\n\tonLogout,\n}: TopMenuProps) => {\n\tconst isAuthenticated = !!user;\n\tconst { language, setLanguage } = useLanguage();\n\tconst isFrontpage = window.location.pathname === \"/\";\n\n\tconst { getItemsForPath } = useMenu();\n\tconst items = getItemsForPath(\"app-shell\");\n\n\treturn (\n\t\t<nav\n\t\t\tclassName={classNames(\"top-navigation\", \"eds-contrast\", {\n\t\t\t\t\"top-navigation--frontpage\": isFrontpage,\n\t\t\t})}\n\t\t\taria-label=\"Navigasjon, hovedseksjoner\"\n\t\t>\n\t\t\t<a href=\"/\" className=\"top-navigation__logo\">\n\t\t\t\t<EnturPartnerLogo\n\t\t\t\t\taltText={\"Entur partner logo\"}\n\t\t\t\t\tclassName=\"menu-space menu-logo\"\n\t\t\t\t\tenvironment={environment}\n\t\t\t\t/>\n\t\t\t</a>\n\n\t\t\t{items\n\t\t\t\t.filter(({ isPublic, disabled }) => {\n\t\t\t\t\treturn !disabled && (isPublic || isAuthenticated);\n\t\t\t\t})\n\t\t\t\t.map(({ to, title, navigate }) => (\n\t\t\t\t\t<NavItem key={to.toString()} to={to} navigate={() => navigate(to)}>\n\t\t\t\t\t\t{title}\n\t\t\t\t\t</NavItem>\n\t\t\t\t))}\n\n\t\t\t<div className=\"top-navigation__actions\">\n\t\t\t\t{isAuthenticated ? (\n\t\t\t\t\t<UserMenu\n\t\t\t\t\t\tclassName=\"ph-no-capture\"\n\t\t\t\t\t\tonLocaleChange={setLanguage}\n\t\t\t\t\t\tonLogout={onLogout}\n\t\t\t\t\t\tlocale={language as \"nb-NO\" | \"en-GB\"}\n\t\t\t\t\t\tuserName={user?.name ?? \"\"}\n\t\t\t\t\t\tenvironment={environment}\n\t\t\t\t\t\tshowVersionItem={false}\n\t\t\t\t\t\tshowMyProfileItem={false}\n\t\t\t\t\t\tshowCookieSettingsItem={true}\n\t\t\t\t\t\tonCookieSettingsOpen={() => {\n\t\t\t\t\t\t\twindow.UC_UI.showSecondLayer();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonNavigateToMyProfile={() => {}}\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<SecondaryButton onClick={onLogin} className=\"top-navigation__button\">\n\t\t\t\t\t\t{language === \"nb-NO\" ? \"Logg inn\" : \"Log In\"}\n\t\t\t\t\t</SecondaryButton>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</nav>\n\t);\n};\n\ntype NavItemProps = {\n\tto: string;\n\tnavigate: () => void;\n\tchildren: React.ReactNode;\n};\n\nconst NavItem: React.FC<NavItemProps> = ({ to, navigate, children }) => {\n\tconst isActive = window.location.pathname.startsWith(to);\n\n\treturn (\n\t\t<TopNavigationItem\n\t\t\tas={MicroFrontendLink}\n\t\t\thref={to}\n\t\t\tnavigate={navigate}\n\t\t\tactive={isActive}\n\t\t>\n\t\t\t{children}\n\t\t</TopNavigationItem>\n\t);\n};\n","import {\n\tAppShell,\n\ttype AppShellProps,\n\ttype AppShellValues,\n\tLanguageProvider,\n\tlanguageStorage,\n\tMenuProvider,\n\tuseLanguage,\n\tuseMenu,\n} from \"@entur-partner/app-shell\";\nimport {\n\ttype Environment,\n\tContent as PublicContentWrapper,\n} from \"@entur-partner/common\";\nimport type {\n\tMenuItem,\n\tNavigationFunction,\n\tPublicMicroFrontendPayload,\n} from \"@entur-partner/micro-frontend\";\nimport { type ReactNode } from \"react\";\nimport { BetaTopNavigation } from \"./BetaTopNavigation\";\n\ntype ContentProps = {\n\tvalues: AppShellValues;\n\tchildren: (options: PublicMicroFrontendPayload) => ReactNode;\n};\n\nconst Content = ({ children, values }: ContentProps) => {\n\tconst { addItems, setMFNavigate } = useMenu();\n\tconst { language } = useLanguage();\n\n\tconst addMenuItems = (items: MenuItem[]) => addItems(items, \"app-shell\");\n\n\treturn (\n\t\t<PublicContentWrapper className=\"eps-public-content\">\n\t\t\t{children({\n\t\t\t\t...values,\n\t\t\t\tlanguage,\n\t\t\t\tnavigate: () => {\n\t\t\t\t\tif (process.env.NODE_ENV !== \"production\") {\n\t\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\t\t\"Calling navigate() from app shell has no effect. It is only provided so that the app shell values are equal to MicroFrontendPayload.\",\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\taddMenuItems,\n\t\t\t\tsetMFNavigate: (navigate: NavigationFunction) =>\n\t\t\t\t\tsetMFNavigate(\"app-shell\", navigate),\n\t\t\t})}\n\t\t</PublicContentWrapper>\n\t);\n};\n\nexport interface PublicAppShellStandaloneProps\n\textends Omit<AppShellProps, \"children\" | \"getOrganisations\"> {\n\tchildren: (options: PublicMicroFrontendPayload) => ReactNode;\n\t/**\n\t * Either a function for fetching organisations or an url where organisations\n\t * can be fetched. Url will be called with access token in header.\n\t */\n\tenvironment?: Environment;\n\tpostHogApiKey?: string;\n}\n\nexport const PublicAppShellStandalone = ({\n\tchildren,\n\taudience,\n\tdomain,\n\tclientId,\n\tdecorateUser,\n\tredirectUri,\n\tenvironment,\n\tnavigate,\n}: PublicAppShellStandaloneProps) => {\n\treturn (\n\t\t<AppShell\n\t\t\taudience={audience}\n\t\t\tdomain={domain}\n\t\t\tclientId={clientId}\n\t\t\tdecorateUser={decorateUser}\n\t\t\tredirectUri={redirectUri}\n\t\t\tnavigate={navigate}\n\t\t\tisPublicView={true}\n\t\t>\n\t\t\t{(values) => (\n\t\t\t\t<LanguageProvider language={languageStorage.get() ?? \"nb-NO\"}>\n\t\t\t\t\t<MenuProvider>\n\t\t\t\t\t\t<BetaTopNavigation\n\t\t\t\t\t\t\tenvironment={environment}\n\t\t\t\t\t\t\tuser={values.user}\n\t\t\t\t\t\t\tonLogin={() => values.loginWithRedirect()}\n\t\t\t\t\t\t\tonLogout={values.logout}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Content values={values}>{children}</Content>\n\t\t\t\t\t</MenuProvider>\n\t\t\t\t</LanguageProvider>\n\t\t\t)}\n\t\t</AppShell>\n\t);\n};\n"],"x_google_ignoreList":[2],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs","names":[],"sources":["../src/Menu.tsx","../src/AppShellStandalone.tsx","../../../node_modules/classnames/index.js","../src/BetaTopNavigation.tsx","../src/PublicAppShellStandalone.tsx"],"sourcesContent":["import { SideNavigation, SideNavigationItem } from \"@entur/menu\";\nimport { space } from \"@entur/tokens\";\nimport {\n\ttype AppShellValues,\n\ttype GetOrganisationsFn,\n\tMicroFrontendLink,\n\tOrganisationSelector,\n\tuseLanguage,\n\tuseMenu,\n\tuseOrganisation,\n} from \"@entur-partner/app-shell\";\nimport {\n\tEnturPartnerLogo,\n\ttype Environment,\n\tMenu as MenuContainer,\n\tStack,\n\tUserMenu,\n} from \"@entur-partner/common\";\nimport { assertIsDefined } from \"@entur-partner/util\";\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\ninterface MenuProps extends AppShellValues {\n\tgetOrganisations: GetOrganisationsFn | string;\n\tenvironment?: Environment;\n}\n\nconst convertToLocale = (language: string): \"nb-NO\" | \"en-GB\" => {\n\tswitch (language) {\n\t\tcase \"nb\":\n\t\tcase \"nb-NO\":\n\t\t\treturn \"nb-NO\";\n\t\tcase \"en\":\n\t\tcase \"en-GB\":\n\t\t\treturn \"en-GB\";\n\t\tdefault:\n\t\t\treturn \"nb-NO\";\n\t}\n};\n\nexport const Menu = ({\n\tgetOrganisations,\n\tuser,\n\tgetToken,\n\tlogout,\n\tenvironment,\n}: MenuProps) => {\n\tconst { getItemsForPath } = useMenu();\n\tconst { language, setLanguage } = useLanguage();\n\tconst { setOrganisationId, organisationId } = useOrganisation();\n\tconst items = getItemsForPath(\"app-shell\");\n\tconst locale = convertToLocale(language);\n\n\tassertIsDefined(user, \"User must be defined to render Menu\");\n\tassertIsDefined(\n\t\torganisationId,\n\t\t\"Organisation ID must be defined to render Menu\",\n\t);\n\n\treturn (\n\t\t<MenuContainer>\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tmarginLeft: space.extraLarge2,\n\t\t\t\t\tmarginTop: space.large,\n\t\t\t\t\tmarginBottom: space.extraLarge,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<EnturPartnerLogo\n\t\t\t\t\taltText={\"Entur partner logo\"}\n\t\t\t\t\tclassName=\"menu-space menu-logo\"\n\t\t\t\t\tenvironment={environment}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div style={{ margin: space.large }}>\n\t\t\t\t<Stack space=\"small\">\n\t\t\t\t\t<UserMenu\n\t\t\t\t\t\tclassName=\"ph-no-capture\"\n\t\t\t\t\t\tonLocaleChange={setLanguage}\n\t\t\t\t\t\tonLogout={async () => {\n\t\t\t\t\t\t\tawait logout();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tlocale={locale}\n\t\t\t\t\t\tuserName={\n\t\t\t\t\t\t\tuser.given_name\n\t\t\t\t\t\t\t\t? `${user.given_name} ${user.family_name}`\n\t\t\t\t\t\t\t\t: user.name\n\t\t\t\t\t\t}\n\t\t\t\t\t\tenvironment={environment}\n\t\t\t\t\t\tshowVersionItem={false}\n\t\t\t\t\t\tshowMyProfileItem={false}\n\t\t\t\t\t\tshowCookieSettingsItem={true}\n\t\t\t\t\t\tonCookieSettingsOpen={() => {\n\t\t\t\t\t\t\twindow.UC_UI.showSecondLayer();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonNavigateToMyProfile={() => {}}\n\t\t\t\t\t/>\n\t\t\t\t\t<OrganisationSelector\n\t\t\t\t\t\tgetOrganisations={getOrganisations}\n\t\t\t\t\t\tgetToken={getToken}\n\t\t\t\t\t\tselectedOrganisationId={organisationId}\n\t\t\t\t\t\tonChange={(organisationId: number) =>\n\t\t\t\t\t\t\tsetOrganisationId(organisationId)\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</Stack>\n\t\t\t</div>\n\t\t\t<SideNavigation>\n\t\t\t\t{items.map(({ to, title, disabled, navigate }) => {\n\t\t\t\t\tconst itemProps = {\n\t\t\t\t\t\tas: MicroFrontendLink,\n\t\t\t\t\t\thref: to,\n\t\t\t\t\t\tnavigate: disabled ? null : () => navigate(to),\n\t\t\t\t\t\tdisabled: !!disabled,\n\t\t\t\t\t};\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<SideNavigationItem key={to.toString()} {...itemProps}>\n\t\t\t\t\t\t\t{title}\n\t\t\t\t\t\t</SideNavigationItem>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</SideNavigation>\n\t\t</MenuContainer>\n\t);\n};\n","import {\n\tAppShell,\n\ttype AppShellProps,\n\ttype AppShellValues,\n\ttype GetOrganisationsFn,\n\tLanguageProvider,\n\tlanguageStorage,\n\tMenuProvider,\n\tOrganisationProvider,\n\torganisationStorage,\n\tuseLanguage,\n\tuseMenu,\n\tuseOrganisationId,\n} from \"@entur-partner/app-shell\";\nimport { Content as ContentWrapper, Environment } from \"@entur-partner/common\";\nimport type {\n\tMenuItem,\n\tMicroFrontendPayload,\n} from \"@entur-partner/micro-frontend\";\nimport { assertIsDefined } from \"@entur-partner/util\";\nimport { type ReactNode } from \"react\";\nimport { Menu } from \"./Menu\";\n\ntype ContentProps = {\n\tvalues: AppShellValues;\n\tchildren: (options: MicroFrontendPayload) => ReactNode;\n};\n\nconst Content = ({ children, values }: ContentProps) => {\n\tconst { addItems, setMFNavigate } = useMenu();\n\tconst organisationId = useOrganisationId();\n\tconst { language } = useLanguage();\n\n\tconst addMenuItems = (items: MenuItem[]) => addItems(items, \"app-shell\");\n\n\tassertIsDefined(values.user, \"User must be defined in AppShell\");\n\tassertIsDefined(\n\t\torganisationId,\n\t\t\"Organisation ID must be defined in AppShell\",\n\t);\n\n\treturn (\n\t\t<ContentWrapper>\n\t\t\t{children({\n\t\t\t\t...values,\n\t\t\t\tuser: values.user,\n\t\t\t\tlanguage,\n\t\t\t\tnavigate: () => {\n\t\t\t\t\tif (process.env.NODE_ENV !== \"production\") {\n\t\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\t\t\"Calling navigate() from app shell has no effect. It is only provided so that the app shell values are equal to MicroFrontendPayload.\",\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\taddMenuItems,\n\t\t\t\torganisationId: organisationId.toString(),\n\t\t\t\tsetMFNavigate: (navigate) => setMFNavigate(\"app-shell\", navigate),\n\t\t\t})}\n\t\t</ContentWrapper>\n\t);\n};\n\nexport interface AppShellStandaloneProps\n\textends Omit<AppShellProps, \"children\"> {\n\tchildren: (options: MicroFrontendPayload) => ReactNode;\n\t/**\n\t * Either a function for fetching organisations or an url where organisations\n\t * can be fetched. Url will be called with access token in header.\n\t */\n\tgetOrganisations: GetOrganisationsFn | string;\n\tenvironment?: Environment;\n\tpostHogApiKey?: string;\n}\n\nexport const AppShellStandalone = ({\n\tchildren,\n\taudience,\n\tdomain,\n\tclientId,\n\tdecorateUser,\n\tgetOrganisations,\n\tredirectUri,\n\tenvironment,\n\tnavigate,\n}: AppShellStandaloneProps) => {\n\treturn (\n\t\t<AppShell\n\t\t\taudience={audience}\n\t\t\tdomain={domain}\n\t\t\tclientId={clientId}\n\t\t\tdecorateUser={decorateUser}\n\t\t\tredirectUri={redirectUri}\n\t\t\tenvironment={environment}\n\t\t\tnavigate={navigate}\n\t\t\tisPublicView={false}\n\t\t>\n\t\t\t{(values) => (\n\t\t\t\t<LanguageProvider language={languageStorage.get() ?? \"nb-NO\"}>\n\t\t\t\t\t<OrganisationProvider\n\t\t\t\t\t\torganisationId={\n\t\t\t\t\t\t\torganisationStorage.get() ??\n\t\t\t\t\t\t\tvalues.user?.[\"https://entur.io/organisationID\"].toString() ??\n\t\t\t\t\t\t\t\"\"\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<MenuProvider>\n\t\t\t\t\t\t\t<Menu\n\t\t\t\t\t\t\t\t{...values}\n\t\t\t\t\t\t\t\tgetOrganisations={getOrganisations}\n\t\t\t\t\t\t\t\tenvironment={environment}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<Content values={values}>{children}</Content>\n\t\t\t\t\t\t</MenuProvider>\n\t\t\t\t\t</OrganisationProvider>\n\t\t\t\t</LanguageProvider>\n\t\t\t)}\n\t\t</AppShell>\n\t);\n};\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import \"./BetaTopNavigation.scss\";\nimport { SecondaryButton } from \"@entur/button\";\nimport { TopNavigationItem } from \"@entur/menu\";\nimport {\n\tMicroFrontendLink,\n\tuseLanguage,\n\tuseMenu,\n} from \"@entur-partner/app-shell\";\nimport { EnturPartnerLogo, Environment, UserMenu } from \"@entur-partner/common\";\nimport type { User } from \"@entur-partner/micro-frontend\";\nimport classNames from \"classnames\";\nimport React from \"react\";\n\ninterface TopMenuProps {\n\tenvironment?: Environment;\n\tuser?: User;\n\tonLogin: () => void;\n\tonLogout: () => void;\n}\n\nexport const BetaTopNavigation = ({\n\tenvironment,\n\tuser,\n\tonLogin,\n\tonLogout,\n}: TopMenuProps) => {\n\tconst isAuthenticated = !!user;\n\tconst { language, setLanguage } = useLanguage();\n\tconst isFrontpage = window.location.pathname === \"/\";\n\n\tconst { getItemsForPath } = useMenu();\n\tconst items = getItemsForPath(\"app-shell\");\n\n\treturn (\n\t\t<nav\n\t\t\tclassName={classNames(\"top-navigation\", \"eds-contrast\", {\n\t\t\t\t\"top-navigation--frontpage\": isFrontpage,\n\t\t\t})}\n\t\t\taria-label={\n\t\t\t\tlanguage === \"nb-NO\"\n\t\t\t\t\t? \"Navigasjon, hovedseksjoner\"\n\t\t\t\t\t: \"Navigation, main sections\"\n\t\t\t}\n\t\t>\n\t\t\t<a href=\"/\" className=\"top-navigation__logo\">\n\t\t\t\t<EnturPartnerLogo\n\t\t\t\t\taltText={\"Entur partner logo\"}\n\t\t\t\t\tclassName=\"menu-space menu-logo\"\n\t\t\t\t\tenvironment={environment}\n\t\t\t\t/>\n\t\t\t</a>\n\n\t\t\t{items\n\t\t\t\t.filter(({ isPublic, disabled }) => {\n\t\t\t\t\treturn !disabled && (isPublic || isAuthenticated);\n\t\t\t\t})\n\t\t\t\t.map(({ to, title, navigate }) => (\n\t\t\t\t\t<NavItem key={to.toString()} to={to} navigate={() => navigate(to)}>\n\t\t\t\t\t\t{title}\n\t\t\t\t\t</NavItem>\n\t\t\t\t))}\n\n\t\t\t<div className=\"top-navigation__actions\">\n\t\t\t\t{isAuthenticated ? (\n\t\t\t\t\t<UserMenu\n\t\t\t\t\t\tclassName=\"ph-no-capture\"\n\t\t\t\t\t\tonLocaleChange={setLanguage}\n\t\t\t\t\t\tonLogout={onLogout}\n\t\t\t\t\t\tlocale={language as \"nb-NO\" | \"en-GB\"}\n\t\t\t\t\t\tuserName={user?.name ?? \"\"}\n\t\t\t\t\t\tenvironment={environment}\n\t\t\t\t\t\tshowVersionItem={false}\n\t\t\t\t\t\tshowMyProfileItem={false}\n\t\t\t\t\t\tshowCookieSettingsItem={true}\n\t\t\t\t\t\tonCookieSettingsOpen={() => {\n\t\t\t\t\t\t\twindow.UC_UI.showSecondLayer();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonNavigateToMyProfile={() => {}}\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<SecondaryButton onClick={onLogin} className=\"top-navigation__button\">\n\t\t\t\t\t\t{language === \"nb-NO\" ? \"Logg inn\" : \"Log In\"}\n\t\t\t\t\t</SecondaryButton>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</nav>\n\t);\n};\n\ntype NavItemProps = {\n\tto: string;\n\tnavigate: () => void;\n\tchildren: React.ReactNode;\n};\n\nconst NavItem: React.FC<NavItemProps> = ({ to, navigate, children }) => {\n\tconst isActive = window.location.pathname.startsWith(to);\n\n\treturn (\n\t\t<TopNavigationItem\n\t\t\tas={MicroFrontendLink}\n\t\t\thref={to}\n\t\t\tnavigate={navigate}\n\t\t\tactive={isActive}\n\t\t>\n\t\t\t{children}\n\t\t</TopNavigationItem>\n\t);\n};\n","import {\n\tAppShell,\n\ttype AppShellProps,\n\ttype AppShellValues,\n\tLanguageProvider,\n\tlanguageStorage,\n\tMenuProvider,\n\tuseLanguage,\n\tuseMenu,\n} from \"@entur-partner/app-shell\";\nimport {\n\ttype Environment,\n\tContent as PublicContentWrapper,\n} from \"@entur-partner/common\";\nimport type {\n\tMenuItem,\n\tNavigationFunction,\n\tPublicMicroFrontendPayload,\n} from \"@entur-partner/micro-frontend\";\nimport { type ReactNode } from \"react\";\nimport { BetaTopNavigation } from \"./BetaTopNavigation\";\n\ntype ContentProps = {\n\tvalues: AppShellValues;\n\tchildren: (options: PublicMicroFrontendPayload) => ReactNode;\n};\n\nconst Content = ({ children, values }: ContentProps) => {\n\tconst { addItems, setMFNavigate } = useMenu();\n\tconst { language } = useLanguage();\n\n\tconst addMenuItems = (items: MenuItem[]) => addItems(items, \"app-shell\");\n\n\treturn (\n\t\t<PublicContentWrapper className=\"eps-public-content\">\n\t\t\t{children({\n\t\t\t\t...values,\n\t\t\t\tlanguage,\n\t\t\t\tnavigate: () => {\n\t\t\t\t\tif (process.env.NODE_ENV !== \"production\") {\n\t\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\t\t\"Calling navigate() from app shell has no effect. It is only provided so that the app shell values are equal to MicroFrontendPayload.\",\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\taddMenuItems,\n\t\t\t\tsetMFNavigate: (navigate: NavigationFunction) =>\n\t\t\t\t\tsetMFNavigate(\"app-shell\", navigate),\n\t\t\t})}\n\t\t</PublicContentWrapper>\n\t);\n};\n\nexport interface PublicAppShellStandaloneProps\n\textends Omit<AppShellProps, \"children\"> {\n\tchildren: (options: PublicMicroFrontendPayload) => ReactNode;\n\t/**\n\t * Either a function for fetching organisations or an url where organisations\n\t * can be fetched. Url will be called with access token in header.\n\t */\n\tenvironment?: Environment;\n\tpostHogApiKey?: string;\n}\n\nexport const PublicAppShellStandalone = ({\n\tchildren,\n\taudience,\n\tdomain,\n\tclientId,\n\tdecorateUser,\n\tredirectUri,\n\tenvironment,\n\tnavigate,\n}: PublicAppShellStandaloneProps) => {\n\treturn (\n\t\t<AppShell\n\t\t\taudience={audience}\n\t\t\tdomain={domain}\n\t\t\tclientId={clientId}\n\t\t\tdecorateUser={decorateUser}\n\t\t\tredirectUri={redirectUri}\n\t\t\tnavigate={navigate}\n\t\t\tisPublicView={true}\n\t\t>\n\t\t\t{(values) => (\n\t\t\t\t<LanguageProvider language={languageStorage.get() ?? \"nb-NO\"}>\n\t\t\t\t\t<MenuProvider>\n\t\t\t\t\t\t<BetaTopNavigation\n\t\t\t\t\t\t\tenvironment={environment}\n\t\t\t\t\t\t\tuser={values.user}\n\t\t\t\t\t\t\tonLogin={() => values.loginWithRedirect()}\n\t\t\t\t\t\t\tonLogout={values.logout}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Content values={values}>{children}</Content>\n\t\t\t\t\t</MenuProvider>\n\t\t\t\t</LanguageProvider>\n\t\t\t)}\n\t\t</AppShell>\n\t);\n};\n"],"x_google_ignoreList":[2],"mappings":"i1BAkCA,IAAM,EAAmB,GAAwC,CAChE,OAAQ,EAAR,CACC,IAAK,KACL,IAAK,QACJ,MAAO,QACR,IAAK,KACL,IAAK,QACJ,MAAO,QACR,QACC,MAAO,UAIG,GAAQ,CACpB,mBACA,OACA,WACA,SACA,iBACgB,CAChB,GAAM,CAAE,oBAAA,EAAA,EAAA,UAA6B,CAC/B,CAAE,WAAU,gBAAA,EAAA,EAAA,cAA6B,CACzC,CAAE,oBAAmB,mBAAA,EAAA,EAAA,kBAAoC,CACzD,EAAQ,EAAgB,YAAY,CACpC,EAAS,EAAgB,EAAS,CAQxC,OANA,EAAA,EAAA,iBAAgB,EAAM,sCAAsC,EAC5D,EAAA,EAAA,iBACC,EACA,iDACA,EAGA,EAAA,EAAA,MAAC,EAAA,KAAD,CAAA,SAAA,EACC,EAAA,EAAA,KAAC,MAAD,CACC,MAAO,CACN,WAAY,EAAA,MAAM,YAClB,UAAW,EAAA,MAAM,MACjB,aAAc,EAAA,MAAM,WACpB,WAED,EAAA,EAAA,KAAC,EAAA,iBAAD,CACC,QAAS,qBACT,UAAU,uBACG,cACZ,CAAA,CACG,CAAA,EACN,EAAA,EAAA,KAAC,MAAD,CAAK,MAAO,CAAE,OAAQ,EAAA,MAAM,MAAO,WAClC,EAAA,EAAA,MAAC,EAAA,MAAD,CAAO,MAAM,iBAAb,EACC,EAAA,EAAA,KAAC,EAAA,SAAD,CACC,UAAU,gBACV,eAAgB,EAChB,SAAU,SAAY,CACrB,MAAM,GAAQ,EAEP,SACR,SACC,EAAK,WACF,GAAG,EAAK,WAAW,GAAG,EAAK,cAC3B,EAAK,KAEI,cACb,gBAAiB,GACjB,kBAAmB,GACnB,uBAAwB,GACxB,yBAA4B,CAC3B,OAAO,MAAM,iBAAiB,EAE/B,0BAA6B,GAC5B,CAAA,EACF,EAAA,EAAA,KAAC,EAAA,qBAAD,CACmB,mBACR,WACV,uBAAwB,EACxB,SAAW,GACV,EAAkB,EAAe,CAEjC,CAAA,CACK,GACH,CAAA,EACN,EAAA,EAAA,KAAC,EAAA,eAAD,CAAA,SACE,EAAM,KAAK,CAAE,KAAI,QAAO,WAAU,eAQjC,EAAA,EAAA,KAAC,EAAA,mBAAD,CANA,GAAI,EAAA,kBACJ,KAAM,EACN,SAAU,EAAW,SAAa,EAAS,EAAG,CAC9C,SAAU,CAAC,CAAC,WAIV,EACmB,CAFI,EAAG,UAAU,CAEjB,CAErB,CACc,CAAA,CACF,CAAA,CAAA,ECrGZ,GAAW,CAAE,WAAU,YAA2B,CACvD,GAAM,CAAE,WAAU,kBAAA,EAAA,EAAA,UAA2B,CACvC,GAAA,EAAA,EAAA,oBAAoC,CACpC,CAAE,aAAA,EAAA,EAAA,cAA0B,CAE5B,EAAgB,GAAsB,EAAS,EAAO,YAAY,CAQxE,OANA,EAAA,EAAA,iBAAgB,EAAO,KAAM,mCAAmC,EAChE,EAAA,EAAA,iBACC,EACA,8CACA,EAGA,EAAA,EAAA,KAAC,EAAA,QAAD,CAAA,SACE,EAAS,CACT,GAAG,EACH,KAAM,EAAO,KACb,WACA,aAAgB,CACf,QAAA,IAAA,WAA6B,cAC5B,QAAQ,KACP,uIACA,EAGH,eACA,eAAgB,EAAe,UAAU,CACzC,cAAgB,GAAa,EAAc,YAAa,EAAS,CACjE,CAAC,CACc,CAAA,EAgBN,GAAsB,CAClC,WACA,WACA,SACA,WACA,eACA,mBACA,cACA,cACA,eAGC,EAAA,EAAA,KAAC,EAAA,SAAD,CACW,WACF,SACE,WACI,eACD,cACA,cACH,WACV,aAAc,YAEZ,IACD,EAAA,EAAA,KAAC,EAAA,iBAAD,CAAkB,SAAU,EAAA,gBAAgB,KAAK,EAAI,kBACpD,EAAA,EAAA,KAAC,EAAA,qBAAD,CACC,eACC,EAAA,oBAAoB,KAAK,EACzB,EAAO,OAAO,mCAAmC,UAAU,EAC3D,aAGD,EAAA,EAAA,MAAC,EAAA,aAAD,CAAA,SAAA,EACC,EAAA,EAAA,KAAC,EAAD,CACC,GAAI,EACc,mBACL,cACZ,CAAA,EACF,EAAA,EAAA,KAAC,EAAD,CAAiB,SAAS,WAAmB,CAAA,CAC/B,CAAA,CAAA,CACO,CAAA,CACL,CAAA,CAEV,CAAA,iBC7GZ,UAAY,CACZ,aAEA,IAAI,EAAS,EAAE,CAAC,eAEhB,SAAS,GAAc,CAGtB,IAAK,IAFD,EAAU,GAEL,EAAI,EAAG,EAAI,UAAU,OAAQ,IAAK,CAC1C,IAAI,EAAM,UAAU,GAChB,IACH,EAAU,EAAY,EAAS,EAAW,EAAI,CAAC,EAIjD,OAAO,EAGR,SAAS,EAAY,EAAK,CACzB,GAAI,OAAO,GAAQ,UAAY,OAAO,GAAQ,SAC7C,OAAO,EAGR,GAAI,OAAO,GAAQ,SAClB,MAAO,GAGR,GAAI,MAAM,QAAQ,EAAI,CACrB,OAAO,EAAW,MAAM,KAAM,EAAI,CAGnC,GAAI,EAAI,WAAa,OAAO,UAAU,UAAY,CAAC,EAAI,SAAS,UAAU,CAAC,SAAS,gBAAgB,CACnG,OAAO,EAAI,UAAU,CAGtB,IAAI,EAAU,GAEd,IAAK,IAAI,KAAO,EACX,EAAO,KAAK,EAAK,EAAI,EAAI,EAAI,KAChC,EAAU,EAAY,EAAS,EAAI,EAIrC,OAAO,EAGR,SAAS,EAAa,EAAO,EAAU,CAStC,OARK,EAID,EACI,EAAQ,IAAM,EAGf,EAAQ,EAPP,EAUE,IAAW,QAAe,EAAO,SAC3C,EAAW,QAAU,EACrB,EAAO,QAAU,GACP,OAAO,QAAW,YAAc,OAAO,OAAO,KAAQ,UAAY,OAAO,IAEnF,OAAO,aAAc,EAAE,CAAE,UAAY,CACpC,OAAO,GACN,CAEF,OAAO,WAAa,KAEnB,SCxDU,GAAqB,CACjC,cACA,OACA,UACA,cACmB,CACnB,IAAM,EAAkB,CAAC,CAAC,EACpB,CAAE,WAAU,gBAAA,EAAA,EAAA,cAA6B,CACzC,EAAc,OAAO,SAAS,WAAa,IAE3C,CAAE,oBAAA,EAAA,EAAA,UAA6B,CAC/B,EAAQ,EAAgB,YAAY,CAE1C,OACC,EAAA,EAAA,MAAC,MAAD,CACC,WAAA,EAAA,EAAA,SAAsB,iBAAkB,eAAgB,CACvD,4BAA6B,EAC7B,CAAC,CACF,aACC,IAAa,QACV,6BACA,qCAPL,EAUC,EAAA,EAAA,KAAC,IAAD,CAAG,KAAK,IAAI,UAAU,iCACrB,EAAA,EAAA,KAAC,EAAA,iBAAD,CACC,QAAS,qBACT,UAAU,uBACG,cACZ,CAAA,CACC,CAAA,CAEH,EACC,QAAQ,CAAE,WAAU,cACb,CAAC,IAAa,GAAY,GAChC,CACD,KAAK,CAAE,KAAI,QAAO,eAClB,EAAA,EAAA,KAAC,EAAD,CAAiC,KAAI,aAAgB,EAAS,EAAG,UAC/D,EACQ,CAFI,EAAG,UAAU,CAEjB,CACT,EAEH,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,mCACb,GACA,EAAA,EAAA,KAAC,EAAA,SAAD,CACC,UAAU,gBACV,eAAgB,EACN,WACV,OAAQ,EACR,SAAU,GAAM,MAAQ,GACX,cACb,gBAAiB,GACjB,kBAAmB,GACnB,uBAAwB,GACxB,yBAA4B,CAC3B,OAAO,MAAM,iBAAiB,EAE/B,0BAA6B,GAC5B,CAAA,EAEF,EAAA,EAAA,KAAC,EAAA,gBAAD,CAAiB,QAAS,EAAS,UAAU,kCAC3C,IAAa,QAAU,WAAa,SACpB,CAAA,CAEd,CAAA,CACD,IAUF,GAAmC,CAAE,KAAI,WAAU,eAIvD,EAAA,EAAA,KAAC,EAAA,kBAAD,CACC,GAAI,EAAA,kBACJ,KAAM,EACI,WACV,OAPe,OAAO,SAAS,SAAS,WAAW,EAO3C,CAEP,WACkB,CAAA,CC/EhB,GAAW,CAAE,WAAU,YAA2B,CACvD,GAAM,CAAE,WAAU,kBAAA,EAAA,EAAA,UAA2B,CACvC,CAAE,aAAA,EAAA,EAAA,cAA0B,CAE5B,EAAgB,GAAsB,EAAS,EAAO,YAAY,CAExE,OACC,EAAA,EAAA,KAAC,EAAA,QAAD,CAAsB,UAAU,8BAC9B,EAAS,CACT,GAAG,EACH,WACA,aAAgB,CACf,QAAA,IAAA,WAA6B,cAC5B,QAAQ,KACP,uIACA,EAGH,eACA,cAAgB,GACf,EAAc,YAAa,EAAS,CACrC,CAAC,CACoB,CAAA,EAeZ,GAA4B,CACxC,WACA,WACA,SACA,WACA,eACA,cACA,cACA,eAGC,EAAA,EAAA,KAAC,EAAA,SAAD,CACW,WACF,SACE,WACI,eACD,cACH,WACV,aAAc,YAEZ,IACD,EAAA,EAAA,KAAC,EAAA,iBAAD,CAAkB,SAAU,EAAA,gBAAgB,KAAK,EAAI,kBACpD,EAAA,EAAA,MAAC,EAAA,aAAD,CAAA,SAAA,EACC,EAAA,EAAA,KAAC,EAAD,CACc,cACb,KAAM,EAAO,KACb,YAAe,EAAO,mBAAmB,CACzC,SAAU,EAAO,OAChB,CAAA,EACF,EAAA,EAAA,KAAC,EAAD,CAAiB,SAAS,WAAmB,CAAA,CAC/B,CAAA,CAAA,CACG,CAAA,CAEV,CAAA"}
|
package/dist/index.mjs
CHANGED
|
@@ -7,7 +7,7 @@ import { jsx as S, jsxs as C } from "react/jsx-runtime";
|
|
|
7
7
|
import { SecondaryButton as w } from "@entur/button";
|
|
8
8
|
import "react";
|
|
9
9
|
//#region \0rolldown/runtime.js
|
|
10
|
-
var T = Object.create, E = Object.defineProperty, D = Object.getOwnPropertyDescriptor, O = Object.getOwnPropertyNames, k = Object.getPrototypeOf, A = Object.prototype.hasOwnProperty, j = (e, t) => () => (t || e((t = { exports: {} }).exports, t), t.exports), M = (e, t, n, r) => {
|
|
10
|
+
var T = Object.create, E = Object.defineProperty, D = Object.getOwnPropertyDescriptor, O = Object.getOwnPropertyNames, k = Object.getPrototypeOf, A = Object.prototype.hasOwnProperty, j = (e, t) => () => (t || (e((t = { exports: {} }).exports, t), e = null), t.exports), M = (e, t, n, r) => {
|
|
11
11
|
if (t && typeof t == "object" || typeof t == "function") for (var i = O(t), a = 0, o = i.length, s; a < o; a++) s = i[a], !A.call(e, s) && s !== n && E(e, s, {
|
|
12
12
|
get: ((e) => t[e]).bind(null, s),
|
|
13
13
|
enumerable: !(r = D(t, s)) || r.enumerable
|
|
@@ -141,7 +141,7 @@ var T = Object.create, E = Object.defineProperty, D = Object.getOwnPropertyDescr
|
|
|
141
141
|
let i = !!t, { language: a, setLanguage: o } = c(), s = window.location.pathname === "/", { getItemsForPath: u } = l(), d = u("app-shell");
|
|
142
142
|
return /* @__PURE__ */ C("nav", {
|
|
143
143
|
className: (0, R.default)("top-navigation", "eds-contrast", { "top-navigation--frontpage": s }),
|
|
144
|
-
"aria-label": "Navigasjon, hovedseksjoner",
|
|
144
|
+
"aria-label": a === "nb-NO" ? "Navigasjon, hovedseksjoner" : "Navigation, main sections",
|
|
145
145
|
children: [
|
|
146
146
|
/* @__PURE__ */ S("a", {
|
|
147
147
|
href: "/",
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":[],"sources":["../src/Menu.tsx","../src/AppShellStandalone.tsx","../../../node_modules/classnames/index.js","../src/BetaTopNavigation.tsx","../src/PublicAppShellStandalone.tsx"],"sourcesContent":["import { SideNavigation, SideNavigationItem } from \"@entur/menu\";\nimport { space } from \"@entur/tokens\";\nimport {\n\ttype AppShellValues,\n\ttype GetOrganisationsFn,\n\tMicroFrontendLink,\n\tOrganisationSelector,\n\tuseLanguage,\n\tuseMenu,\n\tuseOrganisation,\n} from \"@entur-partner/app-shell\";\nimport {\n\tEnturPartnerLogo,\n\ttype Environment,\n\tMenu as MenuContainer,\n\tStack,\n\tUserMenu,\n} from \"@entur-partner/common\";\nimport { assertIsDefined } from \"@entur-partner/util\";\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\ninterface MenuProps extends AppShellValues {\n\tgetOrganisations: GetOrganisationsFn | string;\n\tenvironment?: Environment;\n}\n\nconst convertToLocale = (language: string): \"nb-NO\" | \"en-GB\" => {\n\tswitch (language) {\n\t\tcase \"nb\":\n\t\tcase \"nb-NO\":\n\t\t\treturn \"nb-NO\";\n\t\tcase \"en\":\n\t\tcase \"en-GB\":\n\t\t\treturn \"en-GB\";\n\t\tdefault:\n\t\t\treturn \"nb-NO\";\n\t}\n};\n\nexport const Menu = ({\n\tgetOrganisations,\n\tuser,\n\tgetToken,\n\tlogout,\n\tenvironment,\n}: MenuProps) => {\n\tconst { getItemsForPath } = useMenu();\n\tconst { language, setLanguage } = useLanguage();\n\tconst { setOrganisationId, organisationId } = useOrganisation();\n\tconst items = getItemsForPath(\"app-shell\");\n\tconst locale = convertToLocale(language);\n\n\tassertIsDefined(user, \"User must be defined to render Menu\");\n\tassertIsDefined(\n\t\torganisationId,\n\t\t\"Organisation ID must be defined to render Menu\",\n\t);\n\n\treturn (\n\t\t<MenuContainer>\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tmarginLeft: space.extraLarge2,\n\t\t\t\t\tmarginTop: space.large,\n\t\t\t\t\tmarginBottom: space.extraLarge,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<EnturPartnerLogo\n\t\t\t\t\taltText={\"Entur partner logo\"}\n\t\t\t\t\tclassName=\"menu-space menu-logo\"\n\t\t\t\t\tenvironment={environment}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div style={{ margin: space.large }}>\n\t\t\t\t<Stack space=\"small\">\n\t\t\t\t\t<UserMenu\n\t\t\t\t\t\tclassName=\"ph-no-capture\"\n\t\t\t\t\t\tonLocaleChange={setLanguage}\n\t\t\t\t\t\tonLogout={async () => {\n\t\t\t\t\t\t\tawait logout();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tlocale={locale}\n\t\t\t\t\t\tuserName={\n\t\t\t\t\t\t\tuser.given_name\n\t\t\t\t\t\t\t\t? `${user.given_name} ${user.family_name}`\n\t\t\t\t\t\t\t\t: user.name\n\t\t\t\t\t\t}\n\t\t\t\t\t\tenvironment={environment}\n\t\t\t\t\t\tshowVersionItem={false}\n\t\t\t\t\t\tshowMyProfileItem={false}\n\t\t\t\t\t\tshowCookieSettingsItem={true}\n\t\t\t\t\t\tonCookieSettingsOpen={() => {\n\t\t\t\t\t\t\twindow.UC_UI.showSecondLayer();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonNavigateToMyProfile={() => {}}\n\t\t\t\t\t/>\n\t\t\t\t\t<OrganisationSelector\n\t\t\t\t\t\tgetOrganisations={getOrganisations}\n\t\t\t\t\t\tgetToken={getToken}\n\t\t\t\t\t\tselectedOrganisationId={organisationId}\n\t\t\t\t\t\tonChange={(organisationId: number) =>\n\t\t\t\t\t\t\tsetOrganisationId(organisationId)\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</Stack>\n\t\t\t</div>\n\t\t\t<SideNavigation>\n\t\t\t\t{items.map(({ to, title, disabled, navigate }) => {\n\t\t\t\t\tconst itemProps = {\n\t\t\t\t\t\tas: MicroFrontendLink,\n\t\t\t\t\t\thref: to,\n\t\t\t\t\t\tnavigate: disabled ? null : () => navigate(to),\n\t\t\t\t\t\tdisabled: !!disabled,\n\t\t\t\t\t};\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<SideNavigationItem key={to.toString()} {...itemProps}>\n\t\t\t\t\t\t\t{title}\n\t\t\t\t\t\t</SideNavigationItem>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</SideNavigation>\n\t\t</MenuContainer>\n\t);\n};\n","import {\n\tAppShell,\n\ttype AppShellProps,\n\ttype AppShellValues,\n\ttype GetOrganisationsFn,\n\tLanguageProvider,\n\tlanguageStorage,\n\tMenuProvider,\n\tOrganisationProvider,\n\torganisationStorage,\n\tuseLanguage,\n\tuseMenu,\n\tuseOrganisationId,\n} from \"@entur-partner/app-shell\";\nimport { Content as ContentWrapper, Environment } from \"@entur-partner/common\";\nimport type {\n\tMenuItem,\n\tMicroFrontendPayload,\n} from \"@entur-partner/micro-frontend\";\nimport { assertIsDefined } from \"@entur-partner/util\";\nimport { type ReactNode } from \"react\";\nimport { Menu } from \"./Menu\";\n\ntype ContentProps = {\n\tvalues: AppShellValues;\n\tchildren: (options: MicroFrontendPayload) => ReactNode;\n};\n\nconst Content = ({ children, values }: ContentProps) => {\n\tconst { addItems, setMFNavigate } = useMenu();\n\tconst organisationId = useOrganisationId();\n\tconst { language } = useLanguage();\n\n\tconst addMenuItems = (items: MenuItem[]) => addItems(items, \"app-shell\");\n\n\tassertIsDefined(values.user, \"User must be defined in AppShell\");\n\tassertIsDefined(\n\t\torganisationId,\n\t\t\"Organisation ID must be defined in AppShell\",\n\t);\n\n\treturn (\n\t\t<ContentWrapper>\n\t\t\t{children({\n\t\t\t\t...values,\n\t\t\t\tuser: values.user,\n\t\t\t\tlanguage,\n\t\t\t\tnavigate: () => {\n\t\t\t\t\tif (process.env.NODE_ENV !== \"production\") {\n\t\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\t\t\"Calling navigate() from app shell has no effect. It is only provided so that the app shell values are equal to MicroFrontendPayload.\",\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\taddMenuItems,\n\t\t\t\torganisationId: organisationId.toString(),\n\t\t\t\tsetMFNavigate: (navigate) => setMFNavigate(\"app-shell\", navigate),\n\t\t\t})}\n\t\t</ContentWrapper>\n\t);\n};\n\nexport interface AppShellStandaloneProps\n\textends Omit<AppShellProps, \"children\"> {\n\tchildren: (options: MicroFrontendPayload) => ReactNode;\n\t/**\n\t * Either a function for fetching organisations or an url where organisations\n\t * can be fetched. Url will be called with access token in header.\n\t */\n\tgetOrganisations: GetOrganisationsFn | string;\n\tenvironment?: Environment;\n\tpostHogApiKey?: string;\n}\n\nexport const AppShellStandalone = ({\n\tchildren,\n\taudience,\n\tdomain,\n\tclientId,\n\tdecorateUser,\n\tgetOrganisations,\n\tredirectUri,\n\tenvironment,\n\tnavigate,\n}: AppShellStandaloneProps) => {\n\treturn (\n\t\t<AppShell\n\t\t\taudience={audience}\n\t\t\tdomain={domain}\n\t\t\tclientId={clientId}\n\t\t\tdecorateUser={decorateUser}\n\t\t\tredirectUri={redirectUri}\n\t\t\tenvironment={environment}\n\t\t\tnavigate={navigate}\n\t\t\tisPublicView={false}\n\t\t>\n\t\t\t{(values) => (\n\t\t\t\t<LanguageProvider language={languageStorage.get() ?? \"nb-NO\"}>\n\t\t\t\t\t<OrganisationProvider\n\t\t\t\t\t\torganisationId={\n\t\t\t\t\t\t\torganisationStorage.get() ??\n\t\t\t\t\t\t\tvalues.user?.[\"https://entur.io/organisationID\"].toString() ??\n\t\t\t\t\t\t\t\"\"\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<MenuProvider>\n\t\t\t\t\t\t\t<Menu\n\t\t\t\t\t\t\t\t{...values}\n\t\t\t\t\t\t\t\tgetOrganisations={getOrganisations}\n\t\t\t\t\t\t\t\tenvironment={environment}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<Content values={values}>{children}</Content>\n\t\t\t\t\t\t</MenuProvider>\n\t\t\t\t\t</OrganisationProvider>\n\t\t\t\t</LanguageProvider>\n\t\t\t)}\n\t\t</AppShell>\n\t);\n};\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import \"./BetaTopNavigation.scss\";\nimport { SecondaryButton } from \"@entur/button\";\nimport { TopNavigationItem } from \"@entur/menu\";\nimport {\n\tMicroFrontendLink,\n\tuseLanguage,\n\tuseMenu,\n} from \"@entur-partner/app-shell\";\nimport { EnturPartnerLogo, Environment, UserMenu } from \"@entur-partner/common\";\nimport type { User } from \"@entur-partner/micro-frontend\";\nimport classNames from \"classnames\";\nimport React from \"react\";\n\ninterface TopMenuProps {\n\tenvironment?: Environment;\n\tuser?: User;\n\tonLogin: () => void;\n\tonLogout: () => void;\n}\n\nexport const BetaTopNavigation = ({\n\tenvironment,\n\tuser,\n\tonLogin,\n\tonLogout,\n}: TopMenuProps) => {\n\tconst isAuthenticated = !!user;\n\tconst { language, setLanguage } = useLanguage();\n\tconst isFrontpage = window.location.pathname === \"/\";\n\n\tconst { getItemsForPath } = useMenu();\n\tconst items = getItemsForPath(\"app-shell\");\n\n\treturn (\n\t\t<nav\n\t\t\tclassName={classNames(\"top-navigation\", \"eds-contrast\", {\n\t\t\t\t\"top-navigation--frontpage\": isFrontpage,\n\t\t\t})}\n\t\t\taria-label=\"Navigasjon, hovedseksjoner\"\n\t\t>\n\t\t\t<a href=\"/\" className=\"top-navigation__logo\">\n\t\t\t\t<EnturPartnerLogo\n\t\t\t\t\taltText={\"Entur partner logo\"}\n\t\t\t\t\tclassName=\"menu-space menu-logo\"\n\t\t\t\t\tenvironment={environment}\n\t\t\t\t/>\n\t\t\t</a>\n\n\t\t\t{items\n\t\t\t\t.filter(({ isPublic, disabled }) => {\n\t\t\t\t\treturn !disabled && (isPublic || isAuthenticated);\n\t\t\t\t})\n\t\t\t\t.map(({ to, title, navigate }) => (\n\t\t\t\t\t<NavItem key={to.toString()} to={to} navigate={() => navigate(to)}>\n\t\t\t\t\t\t{title}\n\t\t\t\t\t</NavItem>\n\t\t\t\t))}\n\n\t\t\t<div className=\"top-navigation__actions\">\n\t\t\t\t{isAuthenticated ? (\n\t\t\t\t\t<UserMenu\n\t\t\t\t\t\tclassName=\"ph-no-capture\"\n\t\t\t\t\t\tonLocaleChange={setLanguage}\n\t\t\t\t\t\tonLogout={onLogout}\n\t\t\t\t\t\tlocale={language as \"nb-NO\" | \"en-GB\"}\n\t\t\t\t\t\tuserName={user?.name ?? \"\"}\n\t\t\t\t\t\tenvironment={environment}\n\t\t\t\t\t\tshowVersionItem={false}\n\t\t\t\t\t\tshowMyProfileItem={false}\n\t\t\t\t\t\tshowCookieSettingsItem={true}\n\t\t\t\t\t\tonCookieSettingsOpen={() => {\n\t\t\t\t\t\t\twindow.UC_UI.showSecondLayer();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonNavigateToMyProfile={() => {}}\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<SecondaryButton onClick={onLogin} className=\"top-navigation__button\">\n\t\t\t\t\t\t{language === \"nb-NO\" ? \"Logg inn\" : \"Log In\"}\n\t\t\t\t\t</SecondaryButton>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</nav>\n\t);\n};\n\ntype NavItemProps = {\n\tto: string;\n\tnavigate: () => void;\n\tchildren: React.ReactNode;\n};\n\nconst NavItem: React.FC<NavItemProps> = ({ to, navigate, children }) => {\n\tconst isActive = window.location.pathname.startsWith(to);\n\n\treturn (\n\t\t<TopNavigationItem\n\t\t\tas={MicroFrontendLink}\n\t\t\thref={to}\n\t\t\tnavigate={navigate}\n\t\t\tactive={isActive}\n\t\t>\n\t\t\t{children}\n\t\t</TopNavigationItem>\n\t);\n};\n","import {\n\tAppShell,\n\ttype AppShellProps,\n\ttype AppShellValues,\n\tLanguageProvider,\n\tlanguageStorage,\n\tMenuProvider,\n\tuseLanguage,\n\tuseMenu,\n} from \"@entur-partner/app-shell\";\nimport {\n\ttype Environment,\n\tContent as PublicContentWrapper,\n} from \"@entur-partner/common\";\nimport type {\n\tMenuItem,\n\tNavigationFunction,\n\tPublicMicroFrontendPayload,\n} from \"@entur-partner/micro-frontend\";\nimport { type ReactNode } from \"react\";\nimport { BetaTopNavigation } from \"./BetaTopNavigation\";\n\ntype ContentProps = {\n\tvalues: AppShellValues;\n\tchildren: (options: PublicMicroFrontendPayload) => ReactNode;\n};\n\nconst Content = ({ children, values }: ContentProps) => {\n\tconst { addItems, setMFNavigate } = useMenu();\n\tconst { language } = useLanguage();\n\n\tconst addMenuItems = (items: MenuItem[]) => addItems(items, \"app-shell\");\n\n\treturn (\n\t\t<PublicContentWrapper className=\"eps-public-content\">\n\t\t\t{children({\n\t\t\t\t...values,\n\t\t\t\tlanguage,\n\t\t\t\tnavigate: () => {\n\t\t\t\t\tif (process.env.NODE_ENV !== \"production\") {\n\t\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\t\t\"Calling navigate() from app shell has no effect. It is only provided so that the app shell values are equal to MicroFrontendPayload.\",\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\taddMenuItems,\n\t\t\t\tsetMFNavigate: (navigate: NavigationFunction) =>\n\t\t\t\t\tsetMFNavigate(\"app-shell\", navigate),\n\t\t\t})}\n\t\t</PublicContentWrapper>\n\t);\n};\n\nexport interface PublicAppShellStandaloneProps\n\textends Omit<AppShellProps, \"children\" | \"getOrganisations\"> {\n\tchildren: (options: PublicMicroFrontendPayload) => ReactNode;\n\t/**\n\t * Either a function for fetching organisations or an url where organisations\n\t * can be fetched. Url will be called with access token in header.\n\t */\n\tenvironment?: Environment;\n\tpostHogApiKey?: string;\n}\n\nexport const PublicAppShellStandalone = ({\n\tchildren,\n\taudience,\n\tdomain,\n\tclientId,\n\tdecorateUser,\n\tredirectUri,\n\tenvironment,\n\tnavigate,\n}: PublicAppShellStandaloneProps) => {\n\treturn (\n\t\t<AppShell\n\t\t\taudience={audience}\n\t\t\tdomain={domain}\n\t\t\tclientId={clientId}\n\t\t\tdecorateUser={decorateUser}\n\t\t\tredirectUri={redirectUri}\n\t\t\tnavigate={navigate}\n\t\t\tisPublicView={true}\n\t\t>\n\t\t\t{(values) => (\n\t\t\t\t<LanguageProvider language={languageStorage.get() ?? \"nb-NO\"}>\n\t\t\t\t\t<MenuProvider>\n\t\t\t\t\t\t<BetaTopNavigation\n\t\t\t\t\t\t\tenvironment={environment}\n\t\t\t\t\t\t\tuser={values.user}\n\t\t\t\t\t\t\tonLogin={() => values.loginWithRedirect()}\n\t\t\t\t\t\t\tonLogout={values.logout}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Content values={values}>{children}</Content>\n\t\t\t\t\t</MenuProvider>\n\t\t\t\t</LanguageProvider>\n\t\t\t)}\n\t\t</AppShell>\n\t);\n};\n"],"x_google_ignoreList":[2],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../src/Menu.tsx","../src/AppShellStandalone.tsx","../../../node_modules/classnames/index.js","../src/BetaTopNavigation.tsx","../src/PublicAppShellStandalone.tsx"],"sourcesContent":["import { SideNavigation, SideNavigationItem } from \"@entur/menu\";\nimport { space } from \"@entur/tokens\";\nimport {\n\ttype AppShellValues,\n\ttype GetOrganisationsFn,\n\tMicroFrontendLink,\n\tOrganisationSelector,\n\tuseLanguage,\n\tuseMenu,\n\tuseOrganisation,\n} from \"@entur-partner/app-shell\";\nimport {\n\tEnturPartnerLogo,\n\ttype Environment,\n\tMenu as MenuContainer,\n\tStack,\n\tUserMenu,\n} from \"@entur-partner/common\";\nimport { assertIsDefined } from \"@entur-partner/util\";\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\ninterface MenuProps extends AppShellValues {\n\tgetOrganisations: GetOrganisationsFn | string;\n\tenvironment?: Environment;\n}\n\nconst convertToLocale = (language: string): \"nb-NO\" | \"en-GB\" => {\n\tswitch (language) {\n\t\tcase \"nb\":\n\t\tcase \"nb-NO\":\n\t\t\treturn \"nb-NO\";\n\t\tcase \"en\":\n\t\tcase \"en-GB\":\n\t\t\treturn \"en-GB\";\n\t\tdefault:\n\t\t\treturn \"nb-NO\";\n\t}\n};\n\nexport const Menu = ({\n\tgetOrganisations,\n\tuser,\n\tgetToken,\n\tlogout,\n\tenvironment,\n}: MenuProps) => {\n\tconst { getItemsForPath } = useMenu();\n\tconst { language, setLanguage } = useLanguage();\n\tconst { setOrganisationId, organisationId } = useOrganisation();\n\tconst items = getItemsForPath(\"app-shell\");\n\tconst locale = convertToLocale(language);\n\n\tassertIsDefined(user, \"User must be defined to render Menu\");\n\tassertIsDefined(\n\t\torganisationId,\n\t\t\"Organisation ID must be defined to render Menu\",\n\t);\n\n\treturn (\n\t\t<MenuContainer>\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tmarginLeft: space.extraLarge2,\n\t\t\t\t\tmarginTop: space.large,\n\t\t\t\t\tmarginBottom: space.extraLarge,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<EnturPartnerLogo\n\t\t\t\t\taltText={\"Entur partner logo\"}\n\t\t\t\t\tclassName=\"menu-space menu-logo\"\n\t\t\t\t\tenvironment={environment}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div style={{ margin: space.large }}>\n\t\t\t\t<Stack space=\"small\">\n\t\t\t\t\t<UserMenu\n\t\t\t\t\t\tclassName=\"ph-no-capture\"\n\t\t\t\t\t\tonLocaleChange={setLanguage}\n\t\t\t\t\t\tonLogout={async () => {\n\t\t\t\t\t\t\tawait logout();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tlocale={locale}\n\t\t\t\t\t\tuserName={\n\t\t\t\t\t\t\tuser.given_name\n\t\t\t\t\t\t\t\t? `${user.given_name} ${user.family_name}`\n\t\t\t\t\t\t\t\t: user.name\n\t\t\t\t\t\t}\n\t\t\t\t\t\tenvironment={environment}\n\t\t\t\t\t\tshowVersionItem={false}\n\t\t\t\t\t\tshowMyProfileItem={false}\n\t\t\t\t\t\tshowCookieSettingsItem={true}\n\t\t\t\t\t\tonCookieSettingsOpen={() => {\n\t\t\t\t\t\t\twindow.UC_UI.showSecondLayer();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonNavigateToMyProfile={() => {}}\n\t\t\t\t\t/>\n\t\t\t\t\t<OrganisationSelector\n\t\t\t\t\t\tgetOrganisations={getOrganisations}\n\t\t\t\t\t\tgetToken={getToken}\n\t\t\t\t\t\tselectedOrganisationId={organisationId}\n\t\t\t\t\t\tonChange={(organisationId: number) =>\n\t\t\t\t\t\t\tsetOrganisationId(organisationId)\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</Stack>\n\t\t\t</div>\n\t\t\t<SideNavigation>\n\t\t\t\t{items.map(({ to, title, disabled, navigate }) => {\n\t\t\t\t\tconst itemProps = {\n\t\t\t\t\t\tas: MicroFrontendLink,\n\t\t\t\t\t\thref: to,\n\t\t\t\t\t\tnavigate: disabled ? null : () => navigate(to),\n\t\t\t\t\t\tdisabled: !!disabled,\n\t\t\t\t\t};\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<SideNavigationItem key={to.toString()} {...itemProps}>\n\t\t\t\t\t\t\t{title}\n\t\t\t\t\t\t</SideNavigationItem>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</SideNavigation>\n\t\t</MenuContainer>\n\t);\n};\n","import {\n\tAppShell,\n\ttype AppShellProps,\n\ttype AppShellValues,\n\ttype GetOrganisationsFn,\n\tLanguageProvider,\n\tlanguageStorage,\n\tMenuProvider,\n\tOrganisationProvider,\n\torganisationStorage,\n\tuseLanguage,\n\tuseMenu,\n\tuseOrganisationId,\n} from \"@entur-partner/app-shell\";\nimport { Content as ContentWrapper, Environment } from \"@entur-partner/common\";\nimport type {\n\tMenuItem,\n\tMicroFrontendPayload,\n} from \"@entur-partner/micro-frontend\";\nimport { assertIsDefined } from \"@entur-partner/util\";\nimport { type ReactNode } from \"react\";\nimport { Menu } from \"./Menu\";\n\ntype ContentProps = {\n\tvalues: AppShellValues;\n\tchildren: (options: MicroFrontendPayload) => ReactNode;\n};\n\nconst Content = ({ children, values }: ContentProps) => {\n\tconst { addItems, setMFNavigate } = useMenu();\n\tconst organisationId = useOrganisationId();\n\tconst { language } = useLanguage();\n\n\tconst addMenuItems = (items: MenuItem[]) => addItems(items, \"app-shell\");\n\n\tassertIsDefined(values.user, \"User must be defined in AppShell\");\n\tassertIsDefined(\n\t\torganisationId,\n\t\t\"Organisation ID must be defined in AppShell\",\n\t);\n\n\treturn (\n\t\t<ContentWrapper>\n\t\t\t{children({\n\t\t\t\t...values,\n\t\t\t\tuser: values.user,\n\t\t\t\tlanguage,\n\t\t\t\tnavigate: () => {\n\t\t\t\t\tif (process.env.NODE_ENV !== \"production\") {\n\t\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\t\t\"Calling navigate() from app shell has no effect. It is only provided so that the app shell values are equal to MicroFrontendPayload.\",\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\taddMenuItems,\n\t\t\t\torganisationId: organisationId.toString(),\n\t\t\t\tsetMFNavigate: (navigate) => setMFNavigate(\"app-shell\", navigate),\n\t\t\t})}\n\t\t</ContentWrapper>\n\t);\n};\n\nexport interface AppShellStandaloneProps\n\textends Omit<AppShellProps, \"children\"> {\n\tchildren: (options: MicroFrontendPayload) => ReactNode;\n\t/**\n\t * Either a function for fetching organisations or an url where organisations\n\t * can be fetched. Url will be called with access token in header.\n\t */\n\tgetOrganisations: GetOrganisationsFn | string;\n\tenvironment?: Environment;\n\tpostHogApiKey?: string;\n}\n\nexport const AppShellStandalone = ({\n\tchildren,\n\taudience,\n\tdomain,\n\tclientId,\n\tdecorateUser,\n\tgetOrganisations,\n\tredirectUri,\n\tenvironment,\n\tnavigate,\n}: AppShellStandaloneProps) => {\n\treturn (\n\t\t<AppShell\n\t\t\taudience={audience}\n\t\t\tdomain={domain}\n\t\t\tclientId={clientId}\n\t\t\tdecorateUser={decorateUser}\n\t\t\tredirectUri={redirectUri}\n\t\t\tenvironment={environment}\n\t\t\tnavigate={navigate}\n\t\t\tisPublicView={false}\n\t\t>\n\t\t\t{(values) => (\n\t\t\t\t<LanguageProvider language={languageStorage.get() ?? \"nb-NO\"}>\n\t\t\t\t\t<OrganisationProvider\n\t\t\t\t\t\torganisationId={\n\t\t\t\t\t\t\torganisationStorage.get() ??\n\t\t\t\t\t\t\tvalues.user?.[\"https://entur.io/organisationID\"].toString() ??\n\t\t\t\t\t\t\t\"\"\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<MenuProvider>\n\t\t\t\t\t\t\t<Menu\n\t\t\t\t\t\t\t\t{...values}\n\t\t\t\t\t\t\t\tgetOrganisations={getOrganisations}\n\t\t\t\t\t\t\t\tenvironment={environment}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<Content values={values}>{children}</Content>\n\t\t\t\t\t\t</MenuProvider>\n\t\t\t\t\t</OrganisationProvider>\n\t\t\t\t</LanguageProvider>\n\t\t\t)}\n\t\t</AppShell>\n\t);\n};\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import \"./BetaTopNavigation.scss\";\nimport { SecondaryButton } from \"@entur/button\";\nimport { TopNavigationItem } from \"@entur/menu\";\nimport {\n\tMicroFrontendLink,\n\tuseLanguage,\n\tuseMenu,\n} from \"@entur-partner/app-shell\";\nimport { EnturPartnerLogo, Environment, UserMenu } from \"@entur-partner/common\";\nimport type { User } from \"@entur-partner/micro-frontend\";\nimport classNames from \"classnames\";\nimport React from \"react\";\n\ninterface TopMenuProps {\n\tenvironment?: Environment;\n\tuser?: User;\n\tonLogin: () => void;\n\tonLogout: () => void;\n}\n\nexport const BetaTopNavigation = ({\n\tenvironment,\n\tuser,\n\tonLogin,\n\tonLogout,\n}: TopMenuProps) => {\n\tconst isAuthenticated = !!user;\n\tconst { language, setLanguage } = useLanguage();\n\tconst isFrontpage = window.location.pathname === \"/\";\n\n\tconst { getItemsForPath } = useMenu();\n\tconst items = getItemsForPath(\"app-shell\");\n\n\treturn (\n\t\t<nav\n\t\t\tclassName={classNames(\"top-navigation\", \"eds-contrast\", {\n\t\t\t\t\"top-navigation--frontpage\": isFrontpage,\n\t\t\t})}\n\t\t\taria-label={\n\t\t\t\tlanguage === \"nb-NO\"\n\t\t\t\t\t? \"Navigasjon, hovedseksjoner\"\n\t\t\t\t\t: \"Navigation, main sections\"\n\t\t\t}\n\t\t>\n\t\t\t<a href=\"/\" className=\"top-navigation__logo\">\n\t\t\t\t<EnturPartnerLogo\n\t\t\t\t\taltText={\"Entur partner logo\"}\n\t\t\t\t\tclassName=\"menu-space menu-logo\"\n\t\t\t\t\tenvironment={environment}\n\t\t\t\t/>\n\t\t\t</a>\n\n\t\t\t{items\n\t\t\t\t.filter(({ isPublic, disabled }) => {\n\t\t\t\t\treturn !disabled && (isPublic || isAuthenticated);\n\t\t\t\t})\n\t\t\t\t.map(({ to, title, navigate }) => (\n\t\t\t\t\t<NavItem key={to.toString()} to={to} navigate={() => navigate(to)}>\n\t\t\t\t\t\t{title}\n\t\t\t\t\t</NavItem>\n\t\t\t\t))}\n\n\t\t\t<div className=\"top-navigation__actions\">\n\t\t\t\t{isAuthenticated ? (\n\t\t\t\t\t<UserMenu\n\t\t\t\t\t\tclassName=\"ph-no-capture\"\n\t\t\t\t\t\tonLocaleChange={setLanguage}\n\t\t\t\t\t\tonLogout={onLogout}\n\t\t\t\t\t\tlocale={language as \"nb-NO\" | \"en-GB\"}\n\t\t\t\t\t\tuserName={user?.name ?? \"\"}\n\t\t\t\t\t\tenvironment={environment}\n\t\t\t\t\t\tshowVersionItem={false}\n\t\t\t\t\t\tshowMyProfileItem={false}\n\t\t\t\t\t\tshowCookieSettingsItem={true}\n\t\t\t\t\t\tonCookieSettingsOpen={() => {\n\t\t\t\t\t\t\twindow.UC_UI.showSecondLayer();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonNavigateToMyProfile={() => {}}\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<SecondaryButton onClick={onLogin} className=\"top-navigation__button\">\n\t\t\t\t\t\t{language === \"nb-NO\" ? \"Logg inn\" : \"Log In\"}\n\t\t\t\t\t</SecondaryButton>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</nav>\n\t);\n};\n\ntype NavItemProps = {\n\tto: string;\n\tnavigate: () => void;\n\tchildren: React.ReactNode;\n};\n\nconst NavItem: React.FC<NavItemProps> = ({ to, navigate, children }) => {\n\tconst isActive = window.location.pathname.startsWith(to);\n\n\treturn (\n\t\t<TopNavigationItem\n\t\t\tas={MicroFrontendLink}\n\t\t\thref={to}\n\t\t\tnavigate={navigate}\n\t\t\tactive={isActive}\n\t\t>\n\t\t\t{children}\n\t\t</TopNavigationItem>\n\t);\n};\n","import {\n\tAppShell,\n\ttype AppShellProps,\n\ttype AppShellValues,\n\tLanguageProvider,\n\tlanguageStorage,\n\tMenuProvider,\n\tuseLanguage,\n\tuseMenu,\n} from \"@entur-partner/app-shell\";\nimport {\n\ttype Environment,\n\tContent as PublicContentWrapper,\n} from \"@entur-partner/common\";\nimport type {\n\tMenuItem,\n\tNavigationFunction,\n\tPublicMicroFrontendPayload,\n} from \"@entur-partner/micro-frontend\";\nimport { type ReactNode } from \"react\";\nimport { BetaTopNavigation } from \"./BetaTopNavigation\";\n\ntype ContentProps = {\n\tvalues: AppShellValues;\n\tchildren: (options: PublicMicroFrontendPayload) => ReactNode;\n};\n\nconst Content = ({ children, values }: ContentProps) => {\n\tconst { addItems, setMFNavigate } = useMenu();\n\tconst { language } = useLanguage();\n\n\tconst addMenuItems = (items: MenuItem[]) => addItems(items, \"app-shell\");\n\n\treturn (\n\t\t<PublicContentWrapper className=\"eps-public-content\">\n\t\t\t{children({\n\t\t\t\t...values,\n\t\t\t\tlanguage,\n\t\t\t\tnavigate: () => {\n\t\t\t\t\tif (process.env.NODE_ENV !== \"production\") {\n\t\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\t\t\"Calling navigate() from app shell has no effect. It is only provided so that the app shell values are equal to MicroFrontendPayload.\",\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\taddMenuItems,\n\t\t\t\tsetMFNavigate: (navigate: NavigationFunction) =>\n\t\t\t\t\tsetMFNavigate(\"app-shell\", navigate),\n\t\t\t})}\n\t\t</PublicContentWrapper>\n\t);\n};\n\nexport interface PublicAppShellStandaloneProps\n\textends Omit<AppShellProps, \"children\"> {\n\tchildren: (options: PublicMicroFrontendPayload) => ReactNode;\n\t/**\n\t * Either a function for fetching organisations or an url where organisations\n\t * can be fetched. Url will be called with access token in header.\n\t */\n\tenvironment?: Environment;\n\tpostHogApiKey?: string;\n}\n\nexport const PublicAppShellStandalone = ({\n\tchildren,\n\taudience,\n\tdomain,\n\tclientId,\n\tdecorateUser,\n\tredirectUri,\n\tenvironment,\n\tnavigate,\n}: PublicAppShellStandaloneProps) => {\n\treturn (\n\t\t<AppShell\n\t\t\taudience={audience}\n\t\t\tdomain={domain}\n\t\t\tclientId={clientId}\n\t\t\tdecorateUser={decorateUser}\n\t\t\tredirectUri={redirectUri}\n\t\t\tnavigate={navigate}\n\t\t\tisPublicView={true}\n\t\t>\n\t\t\t{(values) => (\n\t\t\t\t<LanguageProvider language={languageStorage.get() ?? \"nb-NO\"}>\n\t\t\t\t\t<MenuProvider>\n\t\t\t\t\t\t<BetaTopNavigation\n\t\t\t\t\t\t\tenvironment={environment}\n\t\t\t\t\t\t\tuser={values.user}\n\t\t\t\t\t\t\tonLogin={() => values.loginWithRedirect()}\n\t\t\t\t\t\t\tonLogout={values.logout}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Content values={values}>{children}</Content>\n\t\t\t\t\t</MenuProvider>\n\t\t\t\t</LanguageProvider>\n\t\t\t)}\n\t\t</AppShell>\n\t);\n};\n"],"x_google_ignoreList":[2],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@entur-partner/app-shell-standalone",
|
|
3
|
-
"version": "7.1.0
|
|
3
|
+
"version": "7.1.0",
|
|
4
4
|
"license": "EUPL-1.2",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -33,29 +33,29 @@
|
|
|
33
33
|
"react-dom": ">=18.0.0"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@entur-partner/app-shell": "^6.5.0
|
|
37
|
-
"@entur-partner/common": "^11.3.0
|
|
38
|
-
"posthog-js": "^1.
|
|
36
|
+
"@entur-partner/app-shell": "^6.5.0",
|
|
37
|
+
"@entur-partner/common": "^11.3.0",
|
|
38
|
+
"posthog-js": "^1.369.5"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
|
-
"@entur/alert": "0.18.
|
|
41
|
+
"@entur/alert": "0.18.10",
|
|
42
42
|
"@entur/button": "4.0.5",
|
|
43
|
-
"@entur/dropdown": "8.1.
|
|
43
|
+
"@entur/dropdown": "8.1.2",
|
|
44
44
|
"@entur/expand": "3.7.6",
|
|
45
|
-
"@entur/form": "9.3.
|
|
45
|
+
"@entur/form": "9.3.2",
|
|
46
46
|
"@entur/icons": "8.4.5",
|
|
47
|
-
"@entur/layout": "3.6.
|
|
47
|
+
"@entur/layout": "3.6.1",
|
|
48
48
|
"@entur/loader": "0.6.6",
|
|
49
|
-
"@entur/menu": "6.1.
|
|
50
|
-
"@entur/modal": "1.8.
|
|
49
|
+
"@entur/menu": "6.1.5",
|
|
50
|
+
"@entur/modal": "1.8.10",
|
|
51
51
|
"@entur/tokens": "3.22.4",
|
|
52
|
-
"@entur/tooltip": "5.3.
|
|
52
|
+
"@entur/tooltip": "5.3.10",
|
|
53
53
|
"@entur/typography": "2.1.6",
|
|
54
54
|
"react": "19.2.5",
|
|
55
55
|
"react-dom": "19.2.5",
|
|
56
|
-
"typescript": "6.0.
|
|
57
|
-
"vite": "8.0.
|
|
58
|
-
"vitest": "4.1.
|
|
56
|
+
"typescript": "6.0.3",
|
|
57
|
+
"vite": "8.0.10",
|
|
58
|
+
"vitest": "4.1.5"
|
|
59
59
|
},
|
|
60
|
-
"gitHead": "
|
|
60
|
+
"gitHead": "456dafa57c8f73fee42bee4b740904b2e03d7ce8"
|
|
61
61
|
}
|