UNPKG

@norges-domstoler/development-utils

Version:

Development utilities for developing applications in Norges Domstoler

1 lines 4.51 kB
{"version":3,"sources":["../src/EnvironmentBannerProvider/EnvironmentBanner.module.css","../src/EnvironmentBannerProvider/EnvironmentBanner.tsx","../src/EnvironmentBannerProvider/EnvironmentBannerProvider.tsx"],"sourcesContent":[".banner {\n padding: 8px;\n width: 100%;\n height: 2rem;\n text-align: center;\n font-weight: bolder;\n letter-spacing: 0.15em;\n z-index: 9999;\n top: 0;\n left: 0;\n right: 0;\n}\n\n.banner-wrapper {\n padding-top: 2rem;\n position: relative;\n}\n\n.banner--position-fixed {\n position: fixed;\n}\n\n.banner--position-absolute {\n position: absolute;\n}\n\n.banner--environment-TEST {\n background-color: #f957a5;\n color: #5e032f;\n}\n\n.banner--environment-AT {\n background-color: #2cc3f2;\n color: #064b60;\n}\n\n.banner--environment-KURS {\n background-color: #7ab73d;\n color: #2b4116;\n}\n\n.banner--environment-LOKAL {\n background-color: #f2d32c;\n color: #695b07;\n}\n\n.banner--environment-PROTOTYPE {\n background-color: #e9e1fb;\n color: #5e032f;\n}\n\n.banner--environment-PROD {\n background-color: inherit;\n color: inherit;\n}\n","import styles from './EnvironmentBanner.module.css';\n\nexport const environments = [\n 'LOKAL',\n 'TEST',\n 'AT',\n 'KURS',\n 'PROD',\n 'PROTOTYPE',\n] as const;\nexport type Environment = (typeof environments)[number];\n\nexport type BannerPosition = 'fixed' | 'absolute';\n\nexport interface EnvironmentBannerProps {\n /**\n * Miljøet som applikasjonen kjører i.\n * Hvis miljøet er PROD, vises ikke banneren.\n */\n environment: Environment;\n /**\n * @default 'fixed'\n */\n bannerPosition?: BannerPosition;\n}\n\nexport const ENVIRONMENT_BANNER_HEIGHT = '2rem';\n\nfunction cn(...classNames: Array<unknown>) {\n return classNames.filter(Boolean).join(' ');\n}\n\nexport const EnvironmentBanner = ({\n environment,\n bannerPosition = 'fixed',\n}: EnvironmentBannerProps) => {\n return (\n <div\n className={cn(\n styles.banner,\n styles[`banner--position-${bannerPosition}`],\n styles[`banner--environment-${environment}`],\n )}\n >\n {environment}\n </div>\n );\n};\n\nEnvironmentBanner.displayName = 'EnvironmentBanner';\n","import type { ReactNode } from 'react';\n\nimport {\n type BannerPosition,\n type Environment,\n EnvironmentBanner,\n} from './EnvironmentBanner';\nimport styles from './EnvironmentBanner.module.css';\n\nexport interface EnvironmentBannerProviderProps {\n /**\n * Miljøet som applikasjonen kjører i.\n * Hvis miljøet er PROD, vises ikke banneren.\n */\n environment: Environment;\n /**\n * Applikasjonskoden din.\n */\n children: ReactNode;\n /**\n * @default 'fixed'\n */\n bannerPosition?: BannerPosition;\n}\n\n/**\n * Viser et banner med miljøet applikasjonen kjører i.\n */\nexport const EnvironmentBannerProvider = ({\n environment,\n children,\n bannerPosition = 'fixed',\n}: EnvironmentBannerProviderProps) => {\n if (environment === 'PROD') {\n return <>{children}</>;\n }\n\n return (\n <div className={styles['banner-wrapper']}>\n <EnvironmentBanner\n environment={environment}\n bannerPosition={bannerPosition}\n />\n {children}\n </div>\n );\n};\n\nEnvironmentBannerProvider.displayName = 'EnvironmentBannerProvider';\n"],"mappings":";;;AAAA;AAAA,EAAC,QAAAA;AAAA,EAaA,kBAAAC;AAAA,EAKA,0BAAAC;AAAA,EAIA,6BAAAC;AAAA,EAIA,4BAAAC;AAAA,EAKA,0BAAAC;AAAA,EAKA,4BAAAC;AAAA,EAKA,6BAAAC;AAAA,EAKA,iCAAAC;AAAA,EAKA,4BAAAC;AAAA;;;ACdG;AAnCG,IAAM,eAAe;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAiBO,IAAM,4BAA4B;AAEzC,SAAS,MAAM,YAA4B;AACzC,SAAO,WAAW,OAAO,OAAO,EAAE,KAAK,GAAG;AAC5C;AAEO,IAAM,oBAAoB,CAAC;AAAA,EAChC;AAAA,EACA,iBAAiB;AACnB,MAA8B;AAC5B,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,QACT,0BAAO;AAAA,QACP,0BAAO,oBAAoB,cAAc,EAAE;AAAA,QAC3C,0BAAO,uBAAuB,WAAW,EAAE;AAAA,MAC7C;AAAA,MAEC;AAAA;AAAA,EACH;AAEJ;AAEA,kBAAkB,cAAc;;;ACfrB,0BAAAC,MAIP,YAJO;AANJ,IAAM,4BAA4B,CAAC;AAAA,EACxC;AAAA,EACA;AAAA,EACA,iBAAiB;AACnB,MAAsC;AACpC,MAAI,gBAAgB,QAAQ;AAC1B,WAAO,gBAAAA,KAAA,YAAG,UAAS;AAAA,EACrB;AAEA,SACE,qBAAC,SAAI,WAAW,0BAAO,gBAAgB,GACrC;AAAA,oBAAAA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA;AAAA,IACF;AAAA,IACC;AAAA,KACH;AAEJ;AAEA,0BAA0B,cAAc;","names":["banner","banner-wrapper","banner--position-fixed","banner--position-absolute","banner--environment-TEST","banner--environment-AT","banner--environment-KURS","banner--environment-LOKAL","banner--environment-PROTOTYPE","banner--environment-PROD","jsx"]}