{"version":3,"file":"static/js/main--8d8d48.js","mappings":"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","sources":["../../application-core/src/tokens.ts","../../application-core/src/utils/debugUtils.ts","../../components/src/namedObserver.tsx","../../components/src/reactUtils.tsx","../../components/src/withDisplayName.tsx","../../frontend-core/src/core/createApplicationRoot.tsx","../../components/src/ShowAfterDelay.tsx","AppLoader.scss","AppLoader.tsx","../../material/src/material-ui/StyledEngineProvider.tsx","../../frontend-core/src/material-ui/muiThemeUtils.ts","core/theme/themeOverrides.ts","core/theme/AppThemeProvider.tsx","index.tsx","../../material/src/Flex.tsx","../../material/src/FlexItem.tsx","../../material/src/Stack.tsx","../../material/src/breakpointUtils.ts","../../utils/src/performance-polyfill.ts","../../utils/src/Logger.ts","../../utils/src/ResourceLoader.ts","../../utils/src/autobind-decorator.ts","../../utils/src/ts-utils.ts","../../webpack-config/build/core-js-import.js"],"sourcesContent":["// @description This file contains the tokens required for dependency injection, routing, etc.\r\n\r\n/* eslint-disable import/first, jsdoc/require-jsdoc */\r\nimport { createToken } from 'tpendency';\r\n\r\nimport type { LocationStore } from '@dirico/utils/LocationStore';\r\nimport type EvalService from '@dirico/utils/services/EvalService';\r\nimport type ConditionCheckerService from '@dirico/utils/services/conditionChecker/ConditionCheckerService';\r\nimport type ValidationService from '@dirico/utils/services/ValidationService';\r\nimport type ModalService from '@dirico/utils/services/ModalService';\r\n\r\n// ============================================================\r\n// IMPORTS\r\n// ============================================================\r\n\r\nimport type ApplicationInjector from './services/ApplicationInjector';\r\nimport type AppTranslator from './services/AppTranslator';\r\nimport type AuthService from './services/auth/AuthService';\r\nimport type { BaseApplicationServices } from './BaseApplication';\r\nimport type LocalStorageService from './services/LocalStorageService';\r\nimport type ViewManager from './services/ViewManager';\r\nimport type ViewRouter from './services/ViewRouter';\r\nimport type { ViewTokenRouter } from './types';\r\n//\r\n// CORE SERVICES\r\n//\r\nimport type ApplicationInsightsService from './services/insights/ApplicationInsightsService';\r\nimport type MetricsService from './services/insights/MetricsService';\r\nimport type ToastService from './services/ToastService';\r\nimport type { IViewTitleService, ViewTitleServiceOptions } from './services/ViewTitleService';\r\n\r\n// ============================================================\r\n// TOKENS\r\n// ============================================================\r\n\r\nexport const InjectorToken = createToken('Injector');\r\nexport const TranslatorToken = createToken('Translator');\r\nexport const AuthToken = createToken('Auth');\r\nexport const BaseServicesToken = createToken('BaseApplicationServices');\r\nexport const LocalStorageServiceToken = createToken('LocalStorageService');\r\nexport const ViewManagerToken = createToken('ViewManager');\r\nexport const ViewRouterToken = createToken('ViewRouter');\r\n\r\nexport const LocationStoreToken = createToken('LocationStore');\r\nexport const RouterToken = createToken('Router');\r\n\r\n// CORE SERVICES\r\n\r\nexport const ApplicationInsightsServiceToken = createToken('ApplicationInsightsService');\r\nexport const ConditionCheckerServiceToken = createToken('ConditionCheckerService');\r\nexport const EvalServiceToken = createToken('EvalService');\r\nexport const MetricsServiceToken = createToken('MetricsService');\r\nexport const ModalsServiceToken = createToken('ModalService');\r\nexport const ToastServiceToken = createToken('ToastService');\r\nexport const ValidationServiceToken = createToken('ValidationService');\r\nexport const ViewTitleServiceOptionsToken = createToken('ViewTitleServiceOptions');\r\nexport const ViewTitleServiceToken = createToken('ViewTitleService');\r\n","// @description Utilities for debugging an application which will be appended to window._debug on load\r\n\r\nimport { configure, observable, reaction, runInAction, toJS, autorun, trace, getDependencyTree, getDebugName, getObserverTree, getAtom } from 'mobx';\r\n\r\nimport * as Tokens from '@dirico/application-core/tokens';\r\nimport type ApplicationInjector from '@dirico/application-core/services/ApplicationInjector';\r\n\r\n\r\ndeclare global {\r\n // eslint-disable-next-line no-var\r\n var _debug: unknown;\r\n}\r\n\r\nfunction getMobxStrictMode() {\r\n const obs = observable({ v: 0 });\r\n const r = reaction(() => obs.v, () => undefined);\r\n try {\r\n obs.v = 1; // Try changing an observable - if it throws, the current mode is \"observed\"\r\n return false;\r\n } catch {\r\n return true;\r\n } finally {\r\n r();\r\n }\r\n}\r\n\r\nfunction toggleMobxStrict(enabled: boolean = !getMobxStrictMode()) {\r\n configure({ enforceActions: enabled ? 'observed' : 'never' });\r\n}\r\n\r\n/** Extends globalThis._debug object with the provided utils */\r\nexport function extendDebugVar(utils: Record) {\r\n const debugObj = globalThis._debug || (globalThis._debug = {});\r\n Object.defineProperties(debugObj, Object.getOwnPropertyDescriptors(utils));\r\n // Object.assign(debugObj, utils);\r\n}\r\n\r\n/** Creates some debugging utilities to be added to globalThis._debug */\r\nexport async function createCoreDebugUtils(injector: ApplicationInjector) {\r\n const translator = await injector.get(Tokens.TranslatorToken);\r\n const viewManager = await injector.get(Tokens.ViewManagerToken);\r\n const modalService = await injector.get(Tokens.ModalsServiceToken);\r\n return {\r\n injector,\r\n translator,\r\n get view() { return viewManager.view; },\r\n deps: injector.deps,\r\n modalService,\r\n get topModal() { return modalService.stackTop; },\r\n } as const;\r\n}\r\n\r\nextendDebugVar({\r\n mobx: {\r\n /** runInAction from mobx package */\r\n runInAction,\r\n toJS,\r\n autorun,\r\n trace,\r\n getDependencyTree,\r\n getDebugName,\r\n getObserverTree,\r\n getAtom,\r\n /** Toggles mobx enforceActions option between 'observed' (strict) and 'never' */\r\n toggleStrictMode: toggleMobxStrict,\r\n },\r\n});\r\n","import type React from 'react';\r\nimport { observer } from 'mobx-react-lite';\r\n\r\nimport withDisplayName from './withDisplayName';\r\n\r\nexport default function namedObserver

(baseComponent: React.VoidFunctionComponent

): React.VoidFunctionComponent

;\r\nexport default function namedObserver

(name: string, baseComponent: React.VoidFunctionComponent

): React.VoidFunctionComponent

;\r\n/**\r\n * Same as mobx.observer, but assigns the function a name before doing so.\r\n * This allows using lambdas without loosing display names.\r\n * Also names will be minification-safe.\r\n */\r\nexport default function namedObserver

(nameOrComponent: string | React.FunctionComponent

, baseComponent?: React.FunctionComponent

) {\r\n if (typeof nameOrComponent !== 'string') {\r\n return observer(nameOrComponent);\r\n } else {\r\n return withDisplayName(nameOrComponent, observer(baseComponent!));\r\n }\r\n}\r\n\r\nexport function namedObserverWithRef

(baseComponent: React.ForwardRefRenderFunction):\r\n React.MemoExoticComponent>>;\r\nexport function namedObserverWithRef

(name: string, baseComponent: React.ForwardRefRenderFunction):\r\n React.MemoExoticComponent>>;\r\n/**\r\n * Same as mobx.observer, but assigns the function a name before doing so.\r\n * This allows using lambdas without loosing display names.\r\n * Also names will be minification-safe.\r\n */\r\nexport function namedObserverWithRef

(\r\n nameOrComponent: string | React.ForwardRefRenderFunction,\r\n baseComponent?: React.ForwardRefRenderFunction\r\n) {\r\n if (typeof nameOrComponent !== 'string') {\r\n return observer(nameOrComponent, { forwardRef: true });\r\n } else {\r\n return withDisplayName(nameOrComponent, observer(baseComponent!, { forwardRef: true }));\r\n }\r\n}\r\n","import React from 'react';\r\n\r\ndeclare module 'csstype' {\r\n interface Properties {\r\n // Allow any CSS Custom Properties\r\n [index: `--${string}`]: any;\r\n }\r\n}\r\n\r\n/**\r\n * Return an array with the separator React element interspersed between\r\n * each React node of the input children.\r\n *\r\n * > joinChildren([1,2,3], 0)\r\n * [1,0,2,0,3]\r\n */\r\nexport function joinChildren(children: React.ReactNode, separator: React.ReactElement) {\r\n const childrenArray = React.Children.toArray(children).filter(Boolean);\r\n const result: React.ReactNode[] = [];\r\n for (let index = 0; index < childrenArray.length; index++) {\r\n result.push(childrenArray[index]);\r\n if (index < childrenArray.length - 1) {\r\n result.push(React.cloneElement(separator, { key: `separator-${index}` }));\r\n }\r\n }\r\n return result;\r\n}\r\n\r\nexport const stopPropagationHandler = (e: React.SyntheticEvent) => e.stopPropagation();\r\n\r\n/** If a react node is just a single ReactFragment, return its children instead. Otherwise returns the passed element */\r\nexport function unwrapReactFragment(node?: React.ReactNode): React.ReactNode {\r\n return React.isValidElement(node) && node.type === React.Fragment ? node.props.children : node;\r\n}\r\n\r\n// TODO-2: Add tests for unwrapReactFragments\r\n\r\n/**\r\n * Helper function to unwrap an array of React.Fragment elements.\r\n * This can be useful for providing content to a MUI Menu component\r\n * \r\n * @example\r\n * unwrapReactFragments(groups.map(([key, items]) => (\r\n * \r\n *

{group}

\r\n * {items.map(item => (\r\n *
  • \r\n * {item.title}\r\n *
  • \r\n * ))}\r\n * \r\n * )))\r\n */\r\nexport function unwrapReactFragments(element: React.ReactNode): React.ReactNode[] {\r\n if (!React.isValidElement(element) || element.type !== React.Fragment) {\r\n return [element];\r\n }\r\n const result: React.ReactNode[] = [];\r\n function handleChildren(children: React.ReactNode, baseKey: React.Key | null) {\r\n React.Children.map(children, child => {\r\n if (!React.isValidElement<{ children?: React.ReactNode; }>(child)) {\r\n result.push(child);\r\n } else if (child.type !== React.Fragment) {\r\n result.push(!baseKey ? child : React.cloneElement(child, { ...child.props, key: baseKey + '_' + child.key }));\r\n } else {\r\n handleChildren(child.props.children, baseKey ? baseKey + '_' + child.key : child.key);\r\n }\r\n });\r\n }\r\n handleChildren(element.props.children, element.key);\r\n return result;\r\n}\r\n\r\n/** Returns an array of only React.ReactElement items from the input children prop */\r\nexport function elementChildren(children?: React.ReactNode) {\r\n return React.Children.toArray(children).filter(x => React.isValidElement(x)) as React.ReactElement[];\r\n}\r\n\r\n/**\r\n * Returns true, if the bubbled event should trigger a form submit where appropriate\r\n */\r\nexport function isFormSubmitEvent(event: React.KeyboardEvent) {\r\n if (event.key !== 'Enter') {\r\n return;\r\n }\r\n let activeElement = window.document.activeElement as HTMLElement;\r\n if (activeElement) {\r\n if (activeElement.tagName === 'TEXTAREA' || activeElement.tagName === 'BUTTON' || activeElement.tagName === 'A') {\r\n return;\r\n }\r\n while (activeElement && activeElement !== document.body) {\r\n if (activeElement.isContentEditable) {\r\n return;\r\n }\r\n activeElement = activeElement.parentElement as HTMLElement;\r\n }\r\n }\r\n return true;\r\n}\r\n\r\n/**\r\n * Type guard function to check if the passed variable is a React.RefObject (object with `current` property)\r\n */\r\nexport function isRefObject(x: any): x is React.RefObject {\r\n return x && typeof x === 'object' && Object.hasOwnProperty.call(x, 'current');\r\n}\r\n","import type React from 'react';\r\n\r\n/**\r\n * Returns the same component but with a displayName assigned to it\r\n */\r\nexport default function withDisplayName>(name: string | undefined | false, component: T): T {\r\n if (name) {\r\n const fn = getInnermostFunction(component);\r\n if (fn) {\r\n fn.displayName = name;\r\n Object.defineProperty(fn, 'name', { value: name, enumerable: false });\r\n } else {\r\n component.displayName = name;\r\n }\r\n }\r\n return component;\r\n}\r\n\r\ntype AnyReactComponentType

    = React.ComponentType

    | React.MemoExoticComponent> | React.NamedExoticComponent

    ;\r\n\r\nfunction getInnermostFunction(cmp: AnyReactComponentType): AnyReactComponentType {\r\n return typeof (cmp as any) === 'function' ? cmp as any :\r\n isMemoComponent(cmp) ? getInnermostFunction(cmp.type) :\r\n isForwardRefComponent(cmp) ? getInnermostFunction(cmp.render) :\r\n undefined;\r\n}\r\n\r\nfunction isMemoComponent

    (cmp: AnyReactComponentType

    ): cmp is React.MemoExoticComponent> {\r\n return (\r\n typeof cmp === 'object' &&\r\n Object.prototype.hasOwnProperty.call(cmp, 'compare') &&\r\n Object.prototype.hasOwnProperty.call(cmp, 'type')\r\n );\r\n}\r\n\r\nfunction isForwardRefComponent

    (cmp: AnyReactComponentType

    ): cmp is React.ForwardRefExoticComponent

    & { render: any; } {\r\n return (\r\n typeof cmp === 'object' &&\r\n Object.prototype.hasOwnProperty.call(cmp, 'render')\r\n );\r\n}\r\n","import React from 'react';\r\n\r\nimport { getLogger } from '@dirico/utils/Logger';\r\nimport ResourceLoader from '@dirico/utils/ResourceLoader';\r\n\r\nimport type ApplicationInjector from '@dirico/application-core/services/ApplicationInjector';\r\n\r\n/** Creates a new lazy application root component which also has a dispose function linked for use with hot-reload */\r\nexport default function createApplicationRoot(\r\n loaderFn: () => Promise<{ appLoader: ResourceLoader, node: JSX.Element; }>,\r\n setupHotReload?: (acceptFn: () => void) => void,\r\n) {\r\n const appLoader = new ResourceLoader(loaderFn);\r\n let forceUpdate: () => void = () => undefined;\r\n // Accept hot-reload updates for application root\r\n if (module && module.hot && setupHotReload) {\r\n setupHotReload(() => {\r\n const oldInjector = appLoader.value?.appLoader.value;\r\n // Invalidate loader\r\n appLoader.invalidate();\r\n // force-update the app component once new app is loaded\r\n appLoader.getAsync().then(() => {\r\n forceUpdate();\r\n if (oldInjector) {\r\n // Dispose old application\r\n getLogger('lifecycle').warn('Disposing old application because of hot reload', { debugData: { injector: oldInjector } });\r\n oldInjector.dispose();\r\n }\r\n });\r\n });\r\n }\r\n return () => {\r\n const forceUpdateFn = React.useState(0)[1];\r\n forceUpdate = React.useCallback(() => forceUpdateFn(x => x + 1), []);\r\n return appLoader.suspenseValue.node;\r\n };\r\n}\r\n","import React from 'react';\r\n\r\nconst ShowAfterDelay = (props: { children: React.ReactElement; delay: number; before?: React.ReactElement; }) => {\r\n const {\r\n children,\r\n delay,\r\n before,\r\n } = props;\r\n const [isAfter, setAfter] = React.useState(false);\r\n React.useEffect(() => {\r\n const t = setTimeout(() => setAfter(true), delay);\r\n return () => clearTimeout(t);\r\n }, []);\r\n return isAfter ? children : before! || null;\r\n};\r\n\r\nexport default ShowAfterDelay;\r\n","// extracted by mini-css-extract-plugin\nexport {};","// @description Lazy loads the app while showing a loading animation\r\n\r\nimport React from 'react';\r\nimport {\r\n CircularProgress,\r\n Typography,\r\n CssBaseline,\r\n} from '@mui/material';\r\n\r\nimport { VStack } from '@dirico/material/Stack';\r\nimport ShowAfterDelay from '@dirico/components/ShowAfterDelay';\r\n\r\nimport createApplicationRoot from '@dirico/frontend-core/core/createApplicationRoot';\r\n\r\nimport AppThemeProvider from '@dirico/main-frontend/core/theme/AppThemeProvider';\r\n\r\nimport './AppLoader.scss';\r\n\r\n// WARNING: Do not include any application core references here as this module is responsible for showing the splash screen\r\n\r\nconst LazyApp = createApplicationRoot(\r\n () => import(/* webpackChunkName: \"core\", webpackPreload: true */ './DiricoApplicationRoot')\r\n .then(async ({ createApplicationResource, DiricoApplicationLoader }) => {\r\n const appLoader = createApplicationResource();\r\n // Await initialization of application\r\n await appLoader.getAsync();\r\n return {\r\n appLoader,\r\n node: ,\r\n };\r\n }),\r\n (accept) => module.hot!.accept('./DiricoApplicationRoot', accept)\r\n);\r\n\r\nexport const LoaderSplashScreen = () => (\r\n \r\n \r\n \r\n Loading app...\r\n \r\n \r\n);\r\n\r\nconst AppLoader = () => (\r\n \r\n \r\n }>\r\n \r\n \r\n \r\n);\r\n\r\nexport default AppLoader;\r\n","// @description Provider component for MUI theming\r\n\r\nimport React from 'react';\r\nimport createCache from '@emotion/cache';\r\nimport { CacheProvider } from '@emotion/react';\r\nimport { TssCacheProvider } from 'tss-react';\r\n\r\nexport const muiCache = createCache({\r\n key: 'mui',\r\n prepend: true,\r\n // We don't need no vendor prefixes as we use evergreen browser features only!\r\n stylisPlugins: [],\r\n});\r\n\r\nexport const tssCache = createCache({\r\n key: 'tss-react',\r\n // We don't need no vendor prefixes as we use evergreen browser features only!\r\n stylisPlugins: [],\r\n});\r\n\r\nconst StyledEngineProvider = React.memo((props: { children: React.ReactNode; }) => {\r\n return (\r\n \r\n \r\n {props.children}\r\n \r\n \r\n );\r\n});\r\n\r\nexport default StyledEngineProvider;\r\n","// @description Utilities to create mui themes\r\n\r\nimport {\r\n createTheme as createMuiTheme,\r\n PaletteColorOptions,\r\n SimplePaletteColorOptions,\r\n Theme,\r\n ThemeOptions,\r\n} from '@mui/material/styles';\r\n\r\n/** Calculates rem value for a certain target and body font size */\r\nexport function pxToRem(size: number, fontSizePx = 14) {\r\n const htmlFontSize = 16; // px\r\n const coefficient = fontSizePx / 14;\r\n return `${(size / htmlFontSize) * coefficient}rem`;\r\n}\r\n\r\n/** Checks, if the palette options are of SimplePaletteColorOptions type */\r\nexport function isSimplePaletteColorOptions(opt: PaletteColorOptions): opt is SimplePaletteColorOptions {\r\n return Boolean((opt as any).main);\r\n}\r\n\r\n/** */\r\nexport function createThemeWithOverrides(options: ThemeOptions, defaultOverrides: (buildTheme: Theme) => ThemeOptions, overrides?: (theme: Theme) => ThemeOptions) {\r\n const baseTheme = createMuiTheme(options);\r\n return overrides ?\r\n createMuiTheme(baseTheme, defaultOverrides(baseTheme), overrides(baseTheme)) :\r\n createMuiTheme(baseTheme, defaultOverrides(baseTheme));\r\n}\r\n","// @description Provider component for MUI theming\r\n\r\nimport { switchClasses } from '@mui/material/Switch';\r\nimport { inputBaseClasses } from '@mui/material/InputBase';\r\nimport { Theme, ThemeOptions, alpha } from '@mui/material/styles';\r\n\r\nimport { pxToRem } from '@dirico/frontend-core/material-ui/muiThemeUtils';\r\n\r\nexport const themeColorTransition = 'color var(--theme-transition-duration) linear, background-color var(--theme-transition-duration) linear';\r\n\r\ndeclare module '@mui/material/Button' {\r\n interface ButtonPropsColorOverrides {\r\n grey: true;\r\n transparent: true;\r\n }\r\n}\r\n\r\ndeclare module '@mui/material/SvgIcon' {\r\n interface SvgIconPropsColorOverrides {\r\n functionalBlue: true;\r\n }\r\n}\r\n\r\ndeclare module '@mui/material/IconButton' {\r\n interface IconButtonPropsColorOverrides {\r\n functionalBlue: true;\r\n }\r\n}\r\n\r\nconst overrides = (theme: Theme): ThemeOptions => {\r\n const light = theme.palette.mode === 'light';\r\n return {\r\n components: {\r\n MuiCssBaseline: {\r\n styleOverrides: {\r\n body: {\r\n '--theme-transition-duration': '0ms',\r\n // Apply color and background only to main div, so that other features that work on body are not affected (ie. copy to clipboard)\r\n backgroundColor: 'initial',\r\n color: 'initial',\r\n '&>#root': {\r\n backgroundColor: theme.palette.background.default,\r\n color: theme.palette.text.primary,\r\n transition: themeColorTransition,\r\n },\r\n ...theme.typography.body2,\r\n },\r\n a: {\r\n textDecoration: 'none',\r\n color: 'inherit',\r\n '&:visited': {\r\n color: 'inherit',\r\n },\r\n // '&:hover': {\r\n // textDecoration: 'underline',\r\n // },\r\n },\r\n }\r\n },\r\n // Keep all component overrides alphabetically sorted please\r\n MuiAvatar: {\r\n styleOverrides: {\r\n root: {\r\n width: 32,\r\n height: 32,\r\n backgroundColor: theme.palette.text.disabled,\r\n fontSize: '12px',\r\n fontWeight: 600,\r\n },\r\n },\r\n },\r\n MuiBreadcrumbs: {\r\n defaultProps: {\r\n separator: ' > ',\r\n },\r\n styleOverrides: {\r\n li: {\r\n color: theme.palette.text.secondary,\r\n '&:last-child > *': {\r\n color: theme.palette.text.primary,\r\n },\r\n '&:hover > *, &:active > *': {\r\n color: theme.palette.text.primary,\r\n },\r\n },\r\n root: {\r\n '&:not(.no-bold-last-item) > ol > li:last-child > *': {\r\n fontWeight: 600,\r\n }\r\n },\r\n separator: {\r\n color: theme.palette.text.secondary,\r\n },\r\n },\r\n },\r\n MuiButton: {\r\n defaultProps: {\r\n disableElevation: true,\r\n variant: 'contained',\r\n },\r\n variants: [\r\n // contained-grey\r\n {\r\n props: { variant: 'contained', color: 'grey' },\r\n style: {\r\n color: theme.palette.getContrastText(theme.palette.grey[300])\r\n }\r\n },\r\n // outlined-grey\r\n {\r\n props: { variant: 'outlined', color: 'grey' },\r\n style: {\r\n color: theme.palette.text.secondary,\r\n borderColor: light ? theme.palette.text.secondary : 'rgba(255, 255, 255, 0.23)',\r\n '&.Mui-disabled': {\r\n border: `1px solid ${theme.palette.action.disabledBackground}`\r\n },\r\n '&:hover': {\r\n color: light ? theme.palette.text.primary : 'rgba(255, 255, 255, 0.23)',\r\n borderColor: light ? theme.palette.text.primary : 'rgba(255, 255, 255, 0.23)',\r\n backgroundColor: 'transparent',\r\n },\r\n }\r\n },\r\n // text-grey\r\n {\r\n props: { variant: 'text', color: 'grey' },\r\n style: {\r\n color: theme.palette.text.primary,\r\n '&:hover': {\r\n backgroundColor: alpha(\r\n theme.palette.text.primary,\r\n theme.palette.action.hoverOpacity\r\n )\r\n }\r\n }\r\n },\r\n ],\r\n styleOverrides: {\r\n root: {\r\n minHeight: 32,\r\n padding: '6px 12px', // original mui: 6px 16px\r\n },\r\n startIcon: {\r\n marginLeft: -2,\r\n },\r\n contained: {\r\n '&.Mui-disabled': {\r\n color: theme.palette.text.disabled,\r\n },\r\n },\r\n containedSizeSmall: {\r\n padding: '1px 10px',\r\n fontSize: theme.typography.pxToRem(12),\r\n },\r\n containedPrimary: {\r\n [`&$focusVisible`]: {\r\n backgroundColor: theme.palette.primary.dark,\r\n },\r\n },\r\n outlined: {\r\n padding: '5px 12px', // original mui: 5px 15px\r\n transition: 'color 100ms linear, border-color 100ms linear',\r\n '&:hover': {\r\n backgroundColor: 'transparent',\r\n },\r\n '&.Mui-disabled': {\r\n backgroundColor: theme.palette.action.hover,\r\n color: theme.palette.text.disabled,\r\n }\r\n },\r\n outlinedPrimary: {\r\n borderColor: theme.palette.primary.main,\r\n transition: 'color 100ms linear, border-color 100ms linear',\r\n '&:hover': {\r\n backgroundColor: 'transparent',\r\n color: light ? theme.palette.primary.dark : theme.palette.primary.light,\r\n borderColor: light ? theme.palette.primary.dark : theme.palette.primary.light,\r\n }\r\n },\r\n outlinedSecondary: {\r\n borderColor: theme.palette.secondary.main,\r\n transition: 'color 100ms linear, border-color 100ms linear',\r\n '&:hover': {\r\n backgroundColor: 'transparent',\r\n color: light ? theme.palette.secondary.dark : theme.palette.secondary.light,\r\n borderColor: light ? theme.palette.secondary.dark : theme.palette.secondary.light,\r\n }\r\n },\r\n outlinedSizeSmall: {\r\n padding: '0px 9px',\r\n fontSize: theme.typography.pxToRem(12),\r\n },\r\n text: {\r\n padding: '7px 12px',\r\n },\r\n textPrimary: {\r\n '&:hover': {\r\n backgroundColor: theme.palette.action.hover,\r\n },\r\n },\r\n textSizeSmall: {\r\n padding: '1px 5px',\r\n fontSize: theme.typography.pxToRem(12),\r\n }\r\n },\r\n },\r\n MuiToggleButtonGroup: {\r\n styleOverrides: {\r\n root: {\r\n background: theme.palette.background.paper,\r\n '.MuiButtonBase-root': {\r\n border: 'none',\r\n color: theme.palette.info.main\r\n },\r\n '.MuiButtonBase-root.Mui-selected': {\r\n background: theme.palette.info.main,\r\n color: theme.palette.common.white,\r\n borderRadius: 4,\r\n ':hover': {\r\n background: theme.palette.info.dark\r\n }\r\n }\r\n }\r\n }\r\n },\r\n MuiButtonGroup: {\r\n defaultProps: {\r\n disableElevation: true,\r\n variant: 'contained',\r\n },\r\n styleOverrides: {\r\n contained: {\r\n boxShadow: undefined,\r\n },\r\n\r\n groupedContainedHorizontal: {\r\n '&:not(:last-child)': {\r\n '&.Mui-disabled': {\r\n borderRightColor: 'rgba(255, 255, 255, 0.75)',\r\n },\r\n },\r\n },\r\n groupedContainedVertical: {\r\n '&:not(:last-child)': {\r\n '&.Mui-disabled': {\r\n borderBottomColor: 'rgba(255, 255, 255, 0.75)',\r\n },\r\n },\r\n },\r\n groupedContainedPrimary: {\r\n '&:not(:last-child)': {\r\n borderColor: theme.palette.primary.light,\r\n },\r\n },\r\n groupedContainedSecondary: {\r\n '&:not(:last-child)': {\r\n borderColor: theme.palette.secondary.light,\r\n },\r\n },\r\n },\r\n },\r\n MuiCheckbox: {\r\n defaultProps: {\r\n size: 'small', // All checkboxes default to small size\r\n },\r\n styleOverrides: {\r\n root: {\r\n color: theme.palette.divider,\r\n '&.Mui-disabled': {\r\n color: theme.palette.divider,\r\n },\r\n '&.PrivateSwitchBase-edgeStart': {\r\n marginLeft: -9,\r\n },\r\n },\r\n colorPrimary: {\r\n '&.Mui-checked': {\r\n color: theme.palette.primary.main,\r\n '&:hover': {\r\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.hoverOpacity),\r\n // Reset on touch devices, it doesn't add specificity\r\n '@media (hover: none)': {\r\n backgroundColor: 'transparent',\r\n },\r\n },\r\n '&.Mui-disabled': {\r\n // Reset transparent disabled color. Instead use opacity\r\n opacity: 0.5,\r\n },\r\n },\r\n },\r\n colorSecondary: {\r\n '&.Mui-checked': {\r\n color: theme.palette.secondary.main,\r\n '&:hover': {\r\n backgroundColor: alpha(theme.palette.secondary.main, theme.palette.action.hoverOpacity),\r\n // Reset on touch devices, it doesn't add specificity\r\n '@media (hover: none)': {\r\n backgroundColor: 'transparent',\r\n },\r\n },\r\n '&.Mui-disabled': {\r\n // Reset transparent disabled color. Instead use opacity\r\n opacity: 0.5,\r\n },\r\n },\r\n },\r\n },\r\n },\r\n MuiChip: {\r\n styleOverrides: {\r\n avatar: {\r\n backgroundColor: 'unset',\r\n margin: 2,\r\n marginRight: -4,\r\n },\r\n avatarMedium: {\r\n height: 28,\r\n width: 28,\r\n },\r\n avatarSmall: {\r\n height: 20,\r\n width: 20,\r\n },\r\n icon: {\r\n marginLeft: 12,\r\n color: theme.palette.text.primary,\r\n },\r\n iconSmall: {\r\n fontSize: 20,\r\n },\r\n label: {\r\n ...theme.typography.body2,\r\n },\r\n labelSmall: {\r\n paddingLeft: 12,\r\n paddingRight: 12,\r\n },\r\n sizeSmall: {\r\n borderRadius: 12,\r\n },\r\n deleteIcon: {\r\n marginLeft: -8,\r\n },\r\n },\r\n },\r\n MuiDialogTitle: {\r\n styleOverrides: {\r\n root: {\r\n padding: '32px 24px 4px 24px',\r\n display: 'flex',\r\n alignItems: 'center',\r\n ...theme.typography.h5,\r\n },\r\n },\r\n },\r\n MuiDialogContent: {\r\n styleOverrides: {\r\n root: {\r\n padding: '20px 24px 18px',\r\n '.MuiDialogTitle-root + &': {\r\n paddingTop: 20,\r\n },\r\n },\r\n dividers: {\r\n borderBottom: 'none'\r\n }\r\n },\r\n },\r\n MuiDialogContentText: {\r\n styleOverrides: {\r\n root: {\r\n ...theme.typography.body2,\r\n color: theme.palette.text.primary,\r\n },\r\n },\r\n },\r\n MuiDialogActions: {\r\n styleOverrides: {\r\n root: {\r\n padding: '18px 24px 24px'\r\n },\r\n spacing: {\r\n '& > :not(:first-of-type)': {\r\n marginLeft: 20,\r\n },\r\n }\r\n },\r\n },\r\n MuiFormControlLabel: {\r\n styleOverrides: {\r\n label: theme.typography.body2,\r\n },\r\n },\r\n MuiFormHelperText: {\r\n styleOverrides: {\r\n root: {\r\n color: '#999999',\r\n marginTop: 4,\r\n },\r\n },\r\n },\r\n MuiIconButton: {\r\n styleOverrides: {\r\n sizeSmall: {\r\n padding: 3,\r\n }\r\n },\r\n variants: [\r\n {\r\n props: { color: 'functionalBlue' },\r\n style: {\r\n color: light ? theme.palette.functionalBlue.main : theme.palette.functionalBlue.light,\r\n }\r\n },\r\n ]\r\n },\r\n MuiInput: {\r\n defaultProps: {\r\n disableUnderline: true,\r\n },\r\n styleOverrides: {\r\n root: {\r\n backgroundColor: light ? '#FFFFFF' : 'transparent',\r\n border: `1px solid ${theme.palette.divider}`,\r\n borderRadius: 4,\r\n minHeight: 32,\r\n '&:hover:not(.Mui-disabled)': {\r\n borderColor: light ? '#000000' : '#BBBBBB',\r\n },\r\n [`&.Mui-focused.Mui-focused`]: {\r\n borderColor: theme.palette.primary.main,\r\n },\r\n [`&.Mui-error`]: {\r\n borderColor: theme.palette.error.main,\r\n },\r\n '&.Mui-disabled': {\r\n backgroundColor: theme.palette.action.hover,\r\n },\r\n },\r\n input: {\r\n // minHeight: 17,\r\n // Number input customization\r\n '&[type=\"number\"]': {\r\n marginRight: '-12px',\r\n width: 'calc(100% + 12px)',\r\n },\r\n '&::-webkit-inner-spin-button': {\r\n opacity: 1,\r\n pointerEvents: 'auto',\r\n height: 30,\r\n },\r\n '&::-moz-number-spin-box': {\r\n height: '30px',\r\n },\r\n // Show and hide the placeholder logic\r\n [`label[data-shrink=false] + .${inputBaseClasses.formControl} &`]: {\r\n '&::-webkit-input-placeholder': { opacity: '1 !important', color: `${theme.palette.text.disabled} !important` },\r\n '&::-moz-placeholder': { opacity: '1 !important', color: `${theme.palette.text.disabled} !important` }, // Firefox 19+\r\n '&:-ms-input-placeholder': { opacity: '1 !important', color: `${theme.palette.text.disabled} !important` }, // IE 11\r\n '&::-ms-input-placeholder': { opacity: '1 !important', color: `${theme.palette.text.disabled} !important` }, // Edge\r\n },\r\n },\r\n formControl: {\r\n 'label + &': {\r\n marginTop: 20,\r\n }\r\n }\r\n },\r\n },\r\n MuiInputAdornment: {\r\n styleOverrides: {\r\n root: {\r\n // height: undefined,\r\n },\r\n positionStart: {\r\n marginLeft: 12,\r\n marginRight: -4,\r\n },\r\n positionEnd: {\r\n marginLeft: -4,\r\n marginRight: 12,\r\n },\r\n },\r\n },\r\n MuiInputBase: {\r\n styleOverrides: {\r\n root: {\r\n // alignItems: 'stretch',\r\n },\r\n input: {\r\n ...theme.typography.body2,\r\n padding: '3px 0',\r\n paddingLeft: 12,\r\n paddingRight: 12,\r\n height: 'auto',\r\n // minHeight: 24,\r\n display: 'flex',\r\n alignItems: 'center',\r\n },\r\n multiline: {\r\n padding: 0,\r\n },\r\n inputMultiline: {\r\n paddingLeft: 12,\r\n paddingRight: 12,\r\n },\r\n },\r\n },\r\n MuiInputLabel: {\r\n defaultProps: {\r\n // shrink: true,\r\n },\r\n styleOverrides: {\r\n root: {\r\n whiteSpace: 'nowrap',\r\n overflow: 'hidden',\r\n maxWidth: '125%',\r\n textOverflow: 'ellipsis',\r\n height: '1.25em',\r\n '&.Mui-disabled': {\r\n color: theme.palette.text.secondary,\r\n }\r\n },\r\n // formControl: {\r\n // transform: 'translate(0, 2px) scale(0.75)',\r\n // },\r\n // shrink: {\r\n // transform: 'translate(0, 2px) scale(0.75)',\r\n // },\r\n // sizeSmall: {\r\n // transform: 'translate(0, 2px) scale(0.75)',\r\n // },\r\n standard: {\r\n transform: 'translate(0, 2px) scale(0.75) !important',\r\n lineHeight: theme.typography.body2.lineHeight,\r\n },\r\n outlined: {\r\n transform: 'translate(14px, 7px) scale(1)',\r\n },\r\n },\r\n },\r\n MuiLink: {\r\n defaultProps: {\r\n underline: 'hover',\r\n },\r\n styleOverrides: {\r\n root: {\r\n '&&[disabled]': {\r\n color: theme.palette.text.primary,\r\n pointerEvents: 'none',\r\n }\r\n }\r\n },\r\n },\r\n MuiListItemAvatar: {\r\n styleOverrides: {\r\n root: {\r\n minWidth: 36,\r\n },\r\n },\r\n },\r\n MuiListItemIcon: {\r\n styleOverrides: {\r\n root: {\r\n minWidth: 32,\r\n color: 'inherit',\r\n },\r\n },\r\n },\r\n MuiListItemText: {\r\n styleOverrides: {\r\n primary: {\r\n textOverflow: 'ellipsis',\r\n overflow: 'hidden',\r\n },\r\n secondary: {\r\n textOverflow: 'ellipsis',\r\n overflow: 'hidden',\r\n }\r\n }\r\n },\r\n MuiListSubheader: {\r\n styleOverrides: {\r\n root: {\r\n lineHeight: '40px',\r\n fontSize: theme.typography.caption.fontSize,\r\n color: theme.palette.text.disabled,\r\n }\r\n }\r\n },\r\n MuiMenu: {\r\n styleOverrides: {\r\n root: {\r\n zIndex: theme.zIndex.modal + 10,\r\n },\r\n paper: {\r\n [theme.breakpoints.up('sm')]: {\r\n maxHeight: 'max(60vh, 350px)'\r\n },\r\n '.select-menu &': {\r\n marginTop: 2,\r\n },\r\n }\r\n }\r\n },\r\n MuiMenuItem: {\r\n styleOverrides: {\r\n root: {\r\n ...theme.typography.body2,\r\n color: theme.palette.text.primary,\r\n minHeight: 40,\r\n paddingLeft: 12,\r\n paddingRight: 24,\r\n paddingTop: 3,\r\n paddingBottom: 3,\r\n [`&.Mui-selected`]: {\r\n backgroundColor: alpha(theme.palette.primary.main, .1), // default is 0.08\r\n '&:hover': {\r\n backgroundColor: alpha(theme.palette.primary.main, .18), // default is 0.12\r\n },\r\n '&.Mui-focusVisible': {\r\n backgroundColor: alpha(theme.palette.primary.main, .18), // default is 0.2\r\n },\r\n },\r\n [theme.breakpoints.up('sm')]: {\r\n minHeight: 40,\r\n },\r\n '& .MuiListItemText-primary': {\r\n fontSize: theme.typography.body2.fontSize,\r\n },\r\n '& .MuiListItemIcon-root': {\r\n minWidth: 32,\r\n },\r\n },\r\n },\r\n },\r\n MuiPaper: {\r\n defaultProps: {\r\n elevation: 0\r\n },\r\n styleOverrides: {\r\n root: {\r\n transition: themeColorTransition,\r\n backgroundImage: 'unset', // Disable opacity based on the elevation in dark mode\r\n },\r\n },\r\n },\r\n MuiRadio: {\r\n defaultProps: {\r\n color: 'primary',\r\n size: 'small', // All radios default to small size\r\n },\r\n styleOverrides: {\r\n root: {\r\n '&.Mui-disabled': {\r\n // Reset transparent disabled color. Instead use opacity\r\n color: theme.palette.text.secondary,\r\n opacity: 0.5,\r\n },\r\n },\r\n colorPrimary: {\r\n '&.Mui-checked': {\r\n color: theme.palette.primary.main,\r\n '&:hover': {\r\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.hoverOpacity),\r\n // Reset on touch devices, it doesn't add specificity\r\n '@media (hover: none)': {\r\n backgroundColor: 'transparent',\r\n },\r\n },\r\n },\r\n },\r\n colorSecondary: {\r\n '&.Mui-checked': {\r\n color: theme.palette.secondary.main,\r\n '&:hover': {\r\n backgroundColor: alpha(theme.palette.secondary.main, theme.palette.action.hoverOpacity),\r\n // Reset on touch devices, it doesn't add specificity\r\n '@media (hover: none)': {\r\n backgroundColor: 'transparent',\r\n },\r\n },\r\n },\r\n },\r\n },\r\n },\r\n MuiSelect: {\r\n defaultProps: {\r\n variant: 'standard',\r\n MenuProps: {\r\n anchorOrigin: { vertical: 'bottom', horizontal: 'left' },\r\n transformOrigin: { vertical: 'top', horizontal: 'left' },\r\n className: 'select-menu',\r\n },\r\n },\r\n styleOverrides: {\r\n select: {\r\n minHeight: 24,\r\n paddingTop: 3,\r\n paddingBottom: 3,\r\n '&:focus': {\r\n backgroundColor: undefined,\r\n },\r\n '&>*': {\r\n textOverflow: 'ellipsis',\r\n overflow: 'hidden',\r\n },\r\n '& .MuiListItemText-root': {\r\n marginTop: 0,\r\n marginBottom: 0,\r\n },\r\n // Make primary text smaller rendered value\r\n '& .MuiListItemText-primary': {\r\n fontSize: theme.typography.body2.fontSize,\r\n lineHeight: '1.5',\r\n },\r\n // Hide secondary text in rendered value\r\n '& .MuiListItemText-secondary': {\r\n display: 'none',\r\n },\r\n },\r\n },\r\n },\r\n MuiSlider: {\r\n styleOverrides: {\r\n thumb: {\r\n background: 'white',\r\n border: `2px solid ${theme.palette.info.main}`\r\n },\r\n rail: {\r\n backgroundColor: theme.palette.action.selected,\r\n },\r\n }\r\n },\r\n MuiSvgIcon: {\r\n styleOverrides: {\r\n fontSizeLarge: {\r\n fontSize: pxToRem(32),\r\n }\r\n }\r\n },\r\n MuiSwitch: {\r\n defaultProps: {\r\n color: 'primary',\r\n // size: 'small', // All switches default to small size\r\n },\r\n styleOverrides: {\r\n root: {\r\n // (2 * padding) + size\r\n height: 2 * 12 + 14,\r\n width: 2 * 12 + 30,\r\n },\r\n switchBase: {\r\n color: '#999999',\r\n padding: 13,\r\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\r\n opacity: 1,\r\n backgroundColor: 'transparent',\r\n },\r\n [`&.${switchClasses.disabled} + .${switchClasses.track}`]: {\r\n opacity: 0.5,\r\n },\r\n [`&.${switchClasses.disabled}`]: {\r\n opacity: 0.5,\r\n color: '#999999',\r\n },\r\n [`&.${switchClasses.checked}`]: {\r\n transform: 'translateX(16px)',\r\n },\r\n },\r\n thumb: {\r\n width: 12,\r\n height: 12,\r\n },\r\n sizeSmall: {\r\n marginLeft: 5,\r\n padding: 7,\r\n // (2 * padding) + size\r\n width: 2 * 7 + 26,\r\n height: 2 * 7 + 10,\r\n '& .MuiSwitch-thumb': {\r\n width: 8,\r\n height: 8,\r\n },\r\n [`& .${switchClasses.switchBase}`]: {\r\n padding: 8,\r\n },\r\n },\r\n track: {\r\n backgroundColor: 'transparent',\r\n boxShadow: `0 0 0px 1px ${theme.palette.action.active}`,\r\n opacity: 1,\r\n },\r\n colorPrimary: {\r\n [`&.${switchClasses.checked}`]: {\r\n color: theme.palette.primary.main,\r\n '&:hover': {\r\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.hoverOpacity),\r\n '@media (hover: none)': {\r\n backgroundColor: 'transparent'\r\n }\r\n },\r\n [`&.${switchClasses.disabled}`]: {\r\n color: theme.palette.primary.main,\r\n }\r\n },\r\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\r\n // backgroundColor: theme.palette.primary.main,\r\n backgroundColor: 'transparent',\r\n boxShadow: `0 0 0px 1px ${theme.palette.primary.main}`,\r\n }\r\n },\r\n },\r\n },\r\n MuiTab: {\r\n defaultProps: {\r\n color: 'primary',\r\n },\r\n },\r\n MuiTextField: {\r\n defaultProps: {\r\n variant: 'standard',\r\n },\r\n },\r\n MuiTooltip: {\r\n defaultProps: {\r\n enterDelay: 100,\r\n enterNextDelay: 100,\r\n },\r\n styleOverrides: {\r\n popper: {\r\n pointerEvents: 'none',\r\n },\r\n tooltip: {\r\n ...theme.typography.caption,\r\n backgroundColor: '#000000',\r\n color: '#ffffff',\r\n padding: '4px 12px',\r\n [`.MuiTooltip-popper[data-popper-placement*=\"bottom\"] &`]: {\r\n marginTop: 8,\r\n },\r\n [`.MuiTooltip-popper[data-popper-placement*=\"left\"] &`]: {\r\n marginRight: 8,\r\n },\r\n [`.MuiTooltip-popper[data-popper-placement*=\"top\"] &`]: {\r\n marginBottom: 8,\r\n },\r\n [`.MuiTooltip-popper[data-popper-placement*=\"right\"] &`]: {\r\n marginLeft: 8,\r\n },\r\n },\r\n },\r\n },\r\n MuiTypography: {\r\n styleOverrides: {\r\n root: {\r\n wordWrap: 'break-word',\r\n overflowWrap: 'break-word',\r\n hyphens: 'auto',\r\n // Give simple a elements without a class attribute the link color by default\r\n '& a:not([class])': {\r\n color: `${theme.palette.primary.main}`,\r\n },\r\n '&.color-blue': {\r\n color: light ? theme.palette.functionalBlue.main : theme.palette.functionalBlue.light,\r\n },\r\n },\r\n },\r\n },\r\n // labs package component overrides are not typed properly\r\n // ...{\r\n // MuiTabPanel: {\r\n // styleOverrides: {\r\n // root: {\r\n // flex: 1,\r\n // },\r\n // }\r\n // },\r\n // } as {},\r\n },\r\n };\r\n};\r\nexport default overrides;\r\n","// @description Provider component for MUI theming\r\n\r\nimport React from 'react';\r\nimport { pickBy } from 'lodash';\r\nimport tinycolor from 'tinycolor2';\r\nimport { action, computed, observable, reaction } from 'mobx';\r\nimport { GlobalStyles } from '@mui/material';\r\nimport { ThemeProvider, createTheme as createMuiTheme, ThemeOptions, Theme as MuiTheme, alpha } from '@mui/material/styles';\r\nimport grey from '@mui/material/colors/grey';\r\n\r\nimport StyledEngineProvider from '@dirico/material/material-ui/StyledEngineProvider';\r\nimport namedObserver from '@dirico/components/namedObserver';\r\n\r\nimport { extendDebugVar } from '@dirico/application-core/utils/debugUtils';\r\n\r\nimport { pxToRem } from '@dirico/frontend-core/material-ui/muiThemeUtils';\r\n\r\nimport themeOverrides from './themeOverrides';\r\n\r\nexport { themeColorTransition } from './themeOverrides';\r\n\r\ndeclare module '@emotion/react' {\r\n export interface Theme extends MuiTheme { }\r\n}\r\n\r\ninterface NavBarPalette {\r\n background: string;\r\n text: string;\r\n highlight: string;\r\n}\r\n\r\ninterface EntityStatusPalette {\r\n draft: string;\r\n open: string;\r\n inProduction: string;\r\n pending: string;\r\n done: string;\r\n backlog: string;\r\n rejected: string;\r\n approvedForCommunication: string;\r\n scheduled: string;\r\n waitingOnApproval: string;\r\n approved: string;\r\n scheduledOnFacebook: string;\r\n published: string;\r\n}\r\n\r\ndeclare module '@mui/material/styles/createPalette' {\r\n interface SimplePaletteColorOptions {\r\n background?: string;\r\n transparentBackground?: string;\r\n }\r\n\r\n interface PaletteOptions {\r\n navBar?: Partial;\r\n functionalBlue?: PaletteColorOptions;\r\n entityStatus?: EntityStatusPalette;\r\n }\r\n\r\n interface Palette {\r\n navBar: NavBarPalette;\r\n functionalBlue: PaletteColor;\r\n entityStatus: EntityStatusPalette;\r\n }\r\n\r\n interface PaletteColor {\r\n background?: string;\r\n transparentBackground?: string;\r\n }\r\n\r\n interface TypeText {\r\n inverse: string;\r\n }\r\n}\r\n\r\ninterface IThemeCustomizationOptionsBase {\r\n primaryLight?: string;\r\n primaryMain?: string;\r\n primaryDark?: string;\r\n navBarBackground?: string;\r\n navBarText?: string;\r\n navBarHighlight?: string;\r\n}\r\n\r\ninterface IThemeCustomizationOptions extends IThemeCustomizationOptionsBase {\r\n primaryMain: string;\r\n darkModeOptions?: IThemeCustomizationOptionsBase;\r\n}\r\n\r\nconst defaultThemeCustomizationOptions: IThemeCustomizationOptions = {\r\n primaryLight: '#569AE8',\r\n primaryMain: '#147EE2',\r\n primaryDark: '#005593',\r\n navBarBackground: '#FFFFFF',\r\n navBarText: '#00396F',\r\n navBarHighlight: '#F6DD78',\r\n darkModeOptions: {\r\n navBarText: '#569AE8',\r\n navBarBackground: '#2E2E2E',\r\n navBarHighlight: 'hsl(48, 88%, 28%)',\r\n }\r\n};\r\n\r\nfunction createThemeOptions(options: IThemeCustomizationOptions, dark?: boolean): ThemeOptions {\r\n const light = !dark;\r\n options = dark ? { ...options, ...options.darkModeOptions } : options;\r\n return {\r\n typography: {\r\n fontFamily: \"'Open Sans', sans-serif\",\r\n h1: {\r\n fontSize: pxToRem(40), lineHeight: pxToRem(50), fontWeight: 300\r\n },\r\n h2: {\r\n fontSize: pxToRem(32), lineHeight: pxToRem(40), fontWeight: 400\r\n },\r\n h3: {\r\n fontSize: pxToRem(28), lineHeight: pxToRem(36), fontWeight: 400\r\n },\r\n h4: {\r\n fontSize: pxToRem(20), lineHeight: pxToRem(28), fontWeight: 600\r\n },\r\n h5: {\r\n fontSize: pxToRem(16), lineHeight: pxToRem(22), fontWeight: 600\r\n },\r\n h6: {\r\n fontSize: pxToRem(14), lineHeight: pxToRem(18), fontWeight: 600\r\n },\r\n subtitle1: {\r\n fontSize: pxToRem(16), lineHeight: pxToRem(20), fontWeight: 400\r\n },\r\n subtitle2: {\r\n fontSize: pxToRem(14), lineHeight: pxToRem(18), fontWeight: 600\r\n },\r\n body1: {\r\n fontSize: pxToRem(16), lineHeight: pxToRem(20), fontWeight: 400\r\n },\r\n body2: {\r\n fontSize: pxToRem(14), lineHeight: pxToRem(18), fontWeight: 400\r\n },\r\n caption: {\r\n fontSize: pxToRem(12), lineHeight: pxToRem(16), fontWeight: 400\r\n },\r\n button: {\r\n fontSize: pxToRem(14),\r\n lineHeight: pxToRem(18),\r\n fontWeight: 600,\r\n textTransform: undefined,\r\n },\r\n overline: {\r\n fontSize: pxToRem(14),\r\n lineHeight: pxToRem(18),\r\n fontWeight: 400,\r\n textTransform: undefined,\r\n },\r\n },\r\n palette: {\r\n mode: light ? 'light' : 'dark',\r\n tonalOffset: {\r\n light: 0.35, // 0.2\r\n dark: 0.35, // 0.3\r\n },\r\n background: {\r\n // TODO-3: Dark background palette\r\n default: light ? '#F7F8FA' : '#1F1F1F', // mui default: #303030\r\n paper: light ? '#FFFFFF' : '#2E2E2E', // mui default: #424242\r\n dark: alpha('#000000', 0.75),\r\n } as any,\r\n text: light ? {\r\n primary: '#333333',\r\n secondary: '#666666',\r\n disabled: '#999999',\r\n inverse: '#FFFFFF',\r\n } : {\r\n // TODO-3: Dark text palette\r\n // primary: undefined, // #fff\r\n // secondary: undefined, // rgba(255, 255, 255, 0.7)\r\n disabled: '#a3a3a3',\r\n inverse: '#000000',\r\n },\r\n // Filter out undefined keys or automatic color generation will not work\r\n primary: pickBy({\r\n light: options.primaryLight,\r\n main: options.primaryMain || defaultThemeCustomizationOptions.primaryMain,\r\n dark: options.primaryDark,\r\n background: tinycolor.mix(light ? '#FFFFFF' : '#000000', tinycolor(options.primaryMain || defaultThemeCustomizationOptions.primaryMain), 10).toHexString(),\r\n transparentBackground: alpha(options.primaryMain, 0.08),\r\n }, v => Boolean(v)),\r\n secondary: {\r\n light: '#F5E6AA',\r\n main: '#F6DD78',\r\n dark: '#D3B21A',\r\n background: light ? '#FFFAE5' : '#484123',\r\n transparentBackground: alpha('#D3B21A', 0.1),\r\n },\r\n functionalBlue: {\r\n light: '#41639E',\r\n main: '#00396F',\r\n dark: '#001443',\r\n contrastText: '#FFFFFF',\r\n background: light ? '#E5EFFF' : '#2B333B',\r\n transparentBackground: alpha('#00396F', 0.08),\r\n },\r\n navBar: {\r\n background: options.navBarBackground || defaultThemeCustomizationOptions.navBarBackground,\r\n text: options.navBarText || defaultThemeCustomizationOptions.navBarText,\r\n highlight: options.navBarHighlight || defaultThemeCustomizationOptions.navBarHighlight,\r\n },\r\n grey: {\r\n // Required overrides to make grey-variant button work correctly\r\n main: grey[300],\r\n dark: grey[400],\r\n } as any,\r\n // action: {\r\n // active: light ? 'rgba(0, 0, 0, 0.54)' : 'rgba(255, 255, 255, 0.54)',\r\n // },\r\n success: {\r\n light: '#72E6AD',\r\n main: '#30BF78',\r\n dark: '#008E4B',\r\n contrastText: '#FFFFFF',\r\n background: light ? '#EDF8F2' : '#2B4036',\r\n transparentBackground: alpha('#30BF78', 0.1),\r\n },\r\n info: {\r\n light: '#569AE8',\r\n main: '#147EE2',\r\n dark: '#005593',\r\n contrastText: '#FFFFFF',\r\n background: light ? '#E7F3FF' : '#2B333B',\r\n transparentBackground: alpha('#3A81C4', 0.08),\r\n },\r\n warning: {\r\n light: '#FCCD6F',\r\n main: '#FAAD14',\r\n dark: '#C7860C',\r\n contrastText: '#FFFFFF',\r\n background: light ? '#FFF6E4' : '#4A3E21',\r\n transparentBackground: alpha('#FAAD14', 0.1),\r\n },\r\n error: {\r\n light: '#FF5C52',\r\n main: '#DA1E28',\r\n dark: '#AF1515',\r\n contrastText: '#FFFFFF',\r\n background: light ? '#FBEAEB' : '#3E282A',\r\n transparentBackground: alpha('#E03F48', 0.08), // warning! base color different from main!\r\n },\r\n entityStatus: {\r\n open: '#14A0C1',\r\n inProduction: '#722ED1',\r\n pending: '#FAAD14',\r\n done: '#008E4B',\r\n draft: '#AF6E48',\r\n backlog: '#F6DD78',\r\n rejected: '#DA1E28',\r\n approvedForCommunication: '#008E4B',\r\n scheduled: '#F6DD78',\r\n waitingOnApproval: '#30BF78',\r\n approved: '#C160DE',\r\n scheduledOnFacebook: '#41639E',\r\n published: '#008E4B',\r\n },\r\n },\r\n };\r\n}\r\n\r\n/** Creates a new theme */\r\nexport function createTheme(themeOptions: ThemeOptions) {\r\n const tempTheme = createMuiTheme(themeOptions);\r\n return createMuiTheme(tempTheme, themeOverrides(tempTheme));\r\n}\r\n\r\nconst defaultTheme = createTheme(createThemeOptions(defaultThemeCustomizationOptions));\r\n\r\n// function calculateTones(main: string) {\r\n// return {\r\n// light: tinycolor(main).saturate(10).lighten(20).toHexString(),\r\n// main: main,\r\n// dark: tinycolor(main).darken(18).saturate(30).toHexString(),\r\n// };\r\n// }\r\n\r\n/*\r\nTest theming in the browser by executing this in the console:\r\n\r\n_debug.themeStore.setPrimary('#CC0000');\r\n_debug.themeStore.setNavbar({\r\n navBarBackground: '#008800',\r\n navBarText: '#c00',\r\n navBarHighlight: '#e88',\r\n});\r\n*/\r\n\r\n/** */\r\nexport class ThemeStore {\r\n\r\n @observable\r\n public dark = false;\r\n\r\n @observable\r\n public options: IThemeCustomizationOptions = defaultThemeCustomizationOptions;\r\n\r\n constructor() {\r\n try {\r\n const themeData = JSON.parse(localStorage.getItem('theme-data') || '{}');\r\n // TODO-3: Enable once application bootstrap takes care of setting theme options based on customer?\r\n // Object.assign(this.options, themeData.options);\r\n this.dark = themeData.dark;\r\n } catch { /**/ }\r\n reaction(\r\n () => JSON.stringify({\r\n dark: this.dark,\r\n options: this.options,\r\n }),\r\n data => {\r\n try {\r\n localStorage.setItem('theme-data', data);\r\n } catch { /**/ }\r\n }\r\n );\r\n }\r\n\r\n @computed\r\n public get themeOptions(): ThemeOptions {\r\n return createThemeOptions(this.options, this.dark);\r\n }\r\n\r\n @computed\r\n private get _theme() {\r\n try {\r\n return createTheme(this.themeOptions);\r\n } catch {\r\n return undefined;\r\n }\r\n }\r\n\r\n public get themeHasError() {\r\n return !this._theme;\r\n }\r\n\r\n public get theme() {\r\n return this._theme || defaultTheme;\r\n }\r\n\r\n @action\r\n public reset() {\r\n this.options = defaultThemeCustomizationOptions;\r\n }\r\n\r\n @action\r\n public setPrimary(primary?: string) {\r\n this.options.primaryMain = primary || defaultThemeCustomizationOptions.primaryMain;\r\n this.options.primaryLight = undefined;\r\n this.options.primaryDark = undefined;\r\n }\r\n\r\n @action\r\n public setNavbar(options: Pick) {\r\n this.options.navBarBackground = options.navBarBackground;\r\n this.options.navBarHighlight = options.navBarHighlight;\r\n this.options.navBarText = options.navBarText;\r\n }\r\n\r\n @action.bound\r\n public toggleDarkMode(): void {\r\n this.dark = !this.dark;\r\n }\r\n}\r\n\r\nexport const themeStore = new ThemeStore();\r\nextendDebugVar({ themeStore });\r\n\r\nclass ViewportStore {\r\n\r\n @observable\r\n public mobileMode = true;\r\n\r\n constructor() {\r\n window.addEventListener('resize', () => this.updateViewport());\r\n reaction(\r\n () => this.mobileMode,\r\n () => this.updateViewport()\r\n );\r\n }\r\n\r\n private updateViewport() {\r\n const metaEl = document.querySelector('meta[name=\"viewport\"]') as HTMLMetaElement;\r\n metaEl.content = !this.mobileMode && window.screen.width < 598 ? 'width=598' : 'width=device-width, initial-scale=1';\r\n }\r\n}\r\n\r\nexport const viewportStore = new ViewportStore();\r\n\r\nconst AppThemeProvider = namedObserver('AppThemeProvider', (props: { children: React.ReactNode; }) => {\r\n React.useEffect(() => {\r\n window.document.body.style.setProperty('--theme-transition-duration', '200ms');\r\n });\r\n return (\r\n \r\n \r\n ({\r\n /* This fixes a weird chrome bug where sometimes color on links would sometimes not be inherited correctly */\r\n ':where(a:any-link > *)': {\r\n color: 'inherit',\r\n textDecoration: 'inherit',\r\n },\r\n '.os-theme-dark': {\r\n '& > .os-scrollbar': {\r\n '& > .os-scrollbar-track > .os-scrollbar-handle': {\r\n background: theme.palette.mode === 'light' ? 'rgba(0, 0, 0, 0.24)' : 'rgba(255, 255, 255, 0.24)',\r\n },\r\n '&:hover > .os-scrollbar-track>.os-scrollbar-handle': {\r\n background: theme.palette.mode === 'light' ? 'rgba(0, 0, 0, 0.38)' : 'rgba(255, 255, 255, 0.38)',\r\n },\r\n '& > .os-scrollbar-track > .os-scrollbar-handle.active': {\r\n background: theme.palette.mode === 'light' ? 'rgba(0, 0, 0, 0.5)' : 'rgba(255, 255, 255, 0.5)',\r\n },\r\n },\r\n },\r\n })} />\r\n {props.children}\r\n \r\n \r\n );\r\n});\r\n\r\nexport default AppThemeProvider;\r\n\r\n\r\n","// @description Main entry point which initialized authentication and renders the AppLoader (loading spinner)\r\n\r\nimport '@dirico/utils/Logger';\r\n\r\nimport React from 'react';\r\nimport { createRoot } from 'react-dom/client';\r\n\r\nimport AppLoader from './AppLoader';\r\n\r\nconst rootElement = document.getElementById('root')!;\r\n\r\nconst root = createRoot(rootElement);\r\nroot.render();\r\n\r\nif ('serviceWorker' in navigator) {\r\n // Use the window load event to keep the page load performant\r\n window.addEventListener('load', () => {\r\n navigator.serviceWorker.register('/sw.js');\r\n });\r\n}\r\n","// @description CSS Flexbox utility component for responsive designs\r\n\r\nimport { styled } from '@mui/material/styles';\r\nimport isPropValid from '@emotion/is-prop-valid';\r\nimport type { Property } from 'csstype';\r\nimport type { CSSObject } from '@emotion/core';\r\n\r\nimport { getResponsiveStyles, ResponsiveValue } from './breakpointUtils';\r\n\r\nexport { default as FlexItem } from './FlexItem';\r\nexport type { FlexItemProps } from './FlexItem';\r\n\r\nexport interface FlexBaseProps {\r\n alignContent?: ResponsiveValue;\r\n alignItems?: ResponsiveValue;\r\n direction: ResponsiveValue<'row' | 'row-reverse' | 'column' | 'column-reverse'>;\r\n flex?: boolean | number;\r\n gap?: ResponsiveValue;\r\n inline?: boolean;\r\n justifyContent?: ResponsiveValue;\r\n spacing?: ResponsiveValue;\r\n wrap?: ResponsiveValue;\r\n}\r\n\r\nconst isFlexPropMap: Record = {\r\n alignContent: true,\r\n alignItems: true,\r\n direction: true,\r\n flex: true,\r\n gap: true,\r\n inline: true,\r\n justifyContent: true,\r\n spacing: true,\r\n wrap: true,\r\n};\r\n\r\n/* eslint-disable sonarjs/cognitive-complexity */\r\nconst Flex = styled('div', {\r\n name: 'Flex',\r\n shouldForwardProp: (p: string) => !isFlexPropMap[p as keyof FlexBaseProps] && isPropValid(p),\r\n})((props) => {\r\n const {\r\n alignContent,\r\n alignItems,\r\n direction,\r\n flex,\r\n gap,\r\n inline,\r\n justifyContent,\r\n spacing,\r\n theme,\r\n wrap,\r\n } = props;\r\n const responsiveProps = {\r\n alignContent,\r\n alignItems,\r\n direction,\r\n flex,\r\n gap,\r\n justifyContent,\r\n spacing,\r\n wrap,\r\n };\r\n const responsiveStyles = getResponsiveStyles(theme, responsiveProps, p => {\r\n const rProps: CSSObject = {};\r\n if (p.direction) {\r\n rProps.flexDirection = p.direction;\r\n }\r\n const gap = Array.isArray(p.gap) ? p.gap :\r\n typeof p.gap === 'number' ? [p.gap + 'px', p.gap + 'px'] :\r\n Array.isArray(p.spacing) ? p.spacing.map(s => theme.spacing(s)) :\r\n typeof p.spacing === 'number' ? [theme.spacing(p.spacing), theme.spacing(p.spacing)] :\r\n undefined;\r\n if (gap) {\r\n rProps.gap = `${gap[0]} ${gap[1]}`;\r\n rProps['--hGap'] = gap[0];\r\n rProps['--vGap'] = gap[1];\r\n }\r\n // if (p.spacing) {\r\n // if (Array.isArray(p.spacing)) {\r\n // rProps.gap = `${theme.spacing(p.spacing[0])} ${theme.spacing(p.spacing[1])}`;\r\n // } else {\r\n // rProps.gap = theme.spacing(p.spacing);\r\n // }\r\n // }\r\n // if (p.gap) {\r\n // if (Array.isArray(p.gap)) {\r\n // rProps.gap = `${p.gap[0]}px ${p.gap[1]}px`;\r\n // } else {\r\n // rProps.gap = p.gap;\r\n // }\r\n // }\r\n if (p.wrap) {\r\n rProps.flexWrap = p.wrap === 'reverse' ? 'wrap-reverse' :\r\n p.wrap ? 'wrap' :\r\n 'nowrap';\r\n }\r\n if (p.alignItems) {\r\n rProps.alignItems = p.alignItems;\r\n }\r\n if (p.alignContent) {\r\n rProps.alignContent = p.alignContent;\r\n }\r\n if (p.justifyContent) {\r\n rProps.justifyContent = p.justifyContent;\r\n }\r\n if (p.flex) {\r\n rProps.flex = p.flex === true ? 1 : p.flex;\r\n }\r\n return rProps;\r\n });\r\n return {\r\n display: inline ? 'inline-flex' : 'flex',\r\n boxSizing: 'border-box',\r\n ...responsiveStyles,\r\n };\r\n});\r\n\r\nexport default Flex;\r\n\r\n// const testSimple = (\r\n// \r\n// );\r\n\r\n// const testBreakpoints = (\r\n// \r\n// );\r\n","import type React from 'react';\r\nimport isPropValid from '@emotion/is-prop-valid';\r\nimport { Breakpoint, styled } from '@mui/material/styles';\r\nimport type { GridSize } from '@mui/material';\r\nimport type { CSSObject } from '@emotion/core';\r\n\r\nimport { objectEntries } from '@dirico/utils/ts-utils';\r\n\r\nexport type BreakpointGridSizes = { [k in Breakpoint]?: boolean | GridSize; };\r\n\r\nexport interface FlexItemBaseProps extends BreakpointGridSizes {\r\n /**\r\n * If set, the item will try to use the width specified through `xs` & co. or flex-basis,\r\n * but can still grow larger to take up remaining space in wrapping layouts\r\n */\r\n grow?: boolean;\r\n flexBasis?: string | number;\r\n}\r\n\r\nfunction flexItemBreakpoint(value: boolean | GridSize | undefined, minWidth: number = 0, grow?: boolean) {\r\n if (value === undefined || value === false) {\r\n return undefined;\r\n }\r\n const styles = value === true ? {\r\n flexGrow: 1,\r\n maxWidth: '100%',\r\n flexBasis: 0,\r\n } : typeof value === 'number' ? (\r\n grow ? {\r\n flexGrow: 1,\r\n minWidth: 0,\r\n flexBasis: `calc((100% - var(--hGap, 0px)) * ${value / 12})`,\r\n } : {\r\n flexGrow: 0,\r\n maxWidth: `${100 / 12 * value}%`,\r\n flexBasis: `${100 / 12 * value}%`,\r\n }\r\n ) : {};\r\n return minWidth <= 0 ? styles : { [`@media (min-width: ${minWidth}px)`]: styles };\r\n}\r\n\r\nconst FlexItem = styled('div', {\r\n name: 'FlexItem',\r\n shouldForwardProp: isPropValid,\r\n})((props) => {\r\n const result: CSSObject = Object.assign(\r\n {\r\n label: 'FlexItem',\r\n maxWidth: '100%'\r\n },\r\n props.flexBasis && { flexBasis: props.flexBasis },\r\n props.grow && { flexGrow: 1 },\r\n ...objectEntries(props.theme.breakpoints.values).map(([key, minWidth]) => flexItemBreakpoint(props[key], minWidth, props.grow)),\r\n );\r\n return result;\r\n});\r\nFlexItem.displayName = 'FlexItem';\r\n\r\nexport default FlexItem;\r\n\r\nexport type FlexItemProps = React.ComponentProps;\r\n","// @description Wrapper around mui Stack component to give it more semantic meaning\r\n\r\nimport React from 'react';\r\nimport type { Property } from 'csstype';\r\n// import { Stack, StackProps } from '@mui/material';\r\n\r\nimport { joinChildren } from '@dirico/components/reactUtils';\r\n\r\nimport Flex, { FlexBaseProps } from './Flex';\r\n\r\nexport { default as FlexItem } from './FlexItem';\r\nexport type { FlexItemProps } from './FlexItem';\r\n\r\ntype BasePlacements = 'space-between' | 'space-around' | 'space-evenly';\r\ntype VerticalPlacements = 'top' | 'middle' | 'bottom';\r\ntype HorizontalPlacements = 'left' | 'center' | 'right';\r\n\r\nexport type HBoxVerticalAlign = VerticalPlacements | 'stretch';\r\nexport type HBoxVerticalPosition = VerticalPlacements | BasePlacements;\r\nexport type HBoxHorizontalPosition = HorizontalPlacements | BasePlacements;\r\n\r\nexport type VBoxHorizontalAlign = HorizontalPlacements | 'stretch';\r\nexport type VBoxHorizontalPosition = HorizontalPlacements | BasePlacements;\r\nexport type VBoxVerticalPosition = VerticalPlacements | BasePlacements;\r\n\r\ntype ContentDistribution = 'space-around' | 'space-between' | 'space-evenly' | 'stretch';\r\ntype ContentPosition = 'center' | 'end' | 'flex-end' | 'flex-start' | 'start';\r\n\r\nconst BasePlacementAttributes: Record = {\r\n 'space-around': 'space-around',\r\n 'space-between': 'space-between',\r\n 'space-evenly': 'space-evenly',\r\n};\r\n\r\nconst HorizontalPlacementAttributes: Record = {\r\n 'left': 'flex-start',\r\n 'center': 'center',\r\n 'right': 'flex-end',\r\n};\r\n\r\nconst VerticalPlacementAttributes: Record = {\r\n 'top': 'flex-start',\r\n 'middle': 'center',\r\n 'bottom': 'flex-end',\r\n};\r\n\r\nconst HBoxVerticalAligns: Record = {\r\n ...VerticalPlacementAttributes,\r\n 'stretch': 'stretch',\r\n};\r\n\r\nconst HBoxVerticalPositions: Record = {\r\n ...BasePlacementAttributes,\r\n ...VerticalPlacementAttributes,\r\n};\r\n\r\nconst HBoxHorizontalPositions: Record = {\r\n ...BasePlacementAttributes,\r\n ...HorizontalPlacementAttributes,\r\n};\r\n\r\nconst VBoxHorizontalAligns: Record = {\r\n ...HorizontalPlacementAttributes,\r\n 'stretch': 'stretch',\r\n};\r\n\r\nconst VBoxHorizontalPositions: Record = {\r\n ...BasePlacementAttributes,\r\n ...HorizontalPlacementAttributes,\r\n};\r\n\r\nconst VBoxVerticalPositions: Record = {\r\n ...BasePlacementAttributes,\r\n ...VerticalPlacementAttributes,\r\n};\r\n\r\ntype FlexOmittedProps = 'direction' | 'alignItems' | 'alignContent' | 'justifyContent';\r\n\r\nexport interface HStackBaseProps extends Omit {\r\n divider?: React.ReactElement;\r\n verticalAlign?: HBoxVerticalAlign;\r\n verticalPosition?: HBoxVerticalPosition;\r\n horizontalPosition?: HBoxHorizontalPosition;\r\n}\r\n\r\nexport type HStackProps = HStackBaseProps & Omit, FlexOmittedProps>;\r\n// export type HStackProps = HStackBaseProps & React.HTMLAttributes;\r\n\r\nexport const HStack = React.forwardRef((props: HStackProps, ref: React.Ref): React.ReactElement => {\r\n const {\r\n children,\r\n divider,\r\n verticalAlign,\r\n verticalPosition,\r\n horizontalPosition,\r\n ...rest\r\n } = props;\r\n return (\r\n \r\n {divider ? joinChildren(children, divider) : children}\r\n \r\n );\r\n});\r\nHStack.displayName = 'HStack';\r\n\r\nexport interface VStackBaseProps extends Omit {\r\n divider?: React.ReactElement;\r\n horizontalAlign?: VBoxHorizontalAlign;\r\n horizontalPosition?: VBoxHorizontalPosition;\r\n verticalPosition?: VBoxVerticalPosition;\r\n}\r\n\r\nexport type VStackProps = VStackBaseProps & Omit, FlexOmittedProps>;\r\n// export type VStackProps = VStackBaseProps & React.HTMLAttributes;\r\n\r\nexport const VStack = React.forwardRef((props: VStackProps, ref: React.Ref): React.ReactElement => {\r\n const {\r\n children,\r\n horizontalAlign,\r\n horizontalPosition,\r\n verticalPosition,\r\n divider,\r\n ...rest\r\n } = props;\r\n return (\r\n \r\n {divider ? joinChildren(children, divider) : children}\r\n \r\n );\r\n});\r\nVStack.displayName = 'VStack';\r\n","// @description utilities to build responsive components\r\n\r\nimport type { Breakpoint, Theme } from '@mui/material';\r\nimport type { CSSObject } from '@emotion/core';\r\n\r\nimport { objectEntries, objectFromEntries, objectKeys, PartialRecord } from '@dirico/utils/ts-utils';\r\n\r\nexport type ResponsiveValue = T | PartialRecord;\r\n\r\nexport type UnwrapResponsiveValues = { [k in keyof T]?: T[k] extends ResponsiveValue ? V : never };\r\n\r\nexport type MapResponsiveProps>> = Record>;\r\n\r\nexport type MapResponsivePropsIsDefined>> = Record>;\r\n\r\n/** */\r\nexport function populateBreakpointsBase(breakpoints: Breakpoint[], props: Record>) {\r\n const base: PartialRecord = { [breakpoints[0]]: true };\r\n for (const prop of Object.values(props)) {\r\n if (prop && typeof prop === 'object') {\r\n for (const breakpoint of breakpoints) {\r\n if ((prop as any)[breakpoint] != null) {\r\n base[breakpoint] = true;\r\n }\r\n }\r\n }\r\n }\r\n return base;\r\n}\r\n\r\n/** */\r\nexport function mapResponsiveProps>>(base: PartialRecord, props: T) {\r\n const breakpoints = objectKeys(base);\r\n const result: MapResponsiveProps = objectFromEntries(breakpoints.map(brk => [brk, {}])) as any;\r\n const isDefinedMap: MapResponsivePropsIsDefined = objectFromEntries(breakpoints.map(brk => [brk, {}])) as any;\r\n for (const [key, value] of objectEntries(props)) {\r\n if (value && typeof value === 'object' && !Array.isArray(value)) {\r\n let last: any = undefined;\r\n for (const breakpoint of breakpoints) {\r\n if (Object.prototype.hasOwnProperty.call(value, breakpoint)) {\r\n last = result[breakpoint][key] = value[breakpoint];\r\n isDefinedMap[breakpoint][key] = true;\r\n } else {\r\n result[breakpoint][key] = last;\r\n }\r\n }\r\n } else {\r\n isDefinedMap[breakpoints[0]][key] = true;\r\n for (const breakpoint of breakpoints) {\r\n result[breakpoint][key] = value;\r\n }\r\n }\r\n }\r\n return { responsiveProps: result, isDefinedMap };\r\n}\r\n\r\n/** \r\n * Main function to build responsive styles for components.\r\n * Pass it an object of ResponsiveValue values and it will use `styleFunction` callback to generate proper responsive styles\r\n */\r\nexport function getResponsiveStyles>>(\r\n theme: Theme,\r\n props: T,\r\n styleFunction: (resolvedProps: UnwrapResponsiveValues, definedProps: Record) => CSSObject\r\n) {\r\n const base = populateBreakpointsBase(theme.breakpoints.keys, props);\r\n const breakpointProps = mapResponsiveProps(base, props);\r\n const styles: Record = {};\r\n for (const [breakpoint, p] of objectEntries(breakpointProps.responsiveProps)) {\r\n const breakpointStyles: CSSObject = styleFunction(p, breakpointProps.isDefinedMap[breakpoint]);\r\n if (theme.breakpoints.values[breakpoint] <= 0) {\r\n Object.assign(styles, breakpointStyles);\r\n } else {\r\n styles[theme.breakpoints.up(breakpoint)] = breakpointStyles;\r\n }\r\n }\r\n return styles;\r\n}\r\n","// @description Fix for Firefox bug with performance.mark() and performance.measure() not returning any value\r\n// see https://bugzilla.mozilla.org/show_bug.cgi?id=1724645\r\n// TODO-3: Has been fixed in Firefox on 2022-04-27 - can be removed soon\r\n\r\nif (typeof window !== 'undefined' && typeof window.performance?.mark !== 'undefined' && window.performance.mark('$test-for-polyfill') === undefined) {\r\n const markMap = new Map();\r\n\r\n const performanceMark = window.performance.mark;\r\n window.performance.mark = (name, markOptions) => {\r\n const startTime = window.performance.now();\r\n performanceMark.call(window.performance, name, markOptions);\r\n const mark: PerformanceMark = {\r\n entryType: 'mark',\r\n name,\r\n startTime,\r\n duration: 0,\r\n detail: null,\r\n toJSON: undefined as any,\r\n };\r\n markMap.set(name, mark);\r\n return mark;\r\n };\r\n\r\n const performanceMeasure = window.performance.measure;\r\n window.performance.measure = (name, startOrMeasureOptions, endMark) => {\r\n const now = window.performance.now();\r\n performanceMeasure.call(window.performance, name, startOrMeasureOptions, endMark);\r\n\r\n const measureOptions: PerformanceMeasureOptions = typeof startOrMeasureOptions === 'object' ? startOrMeasureOptions : {\r\n start: startOrMeasureOptions,\r\n end: endMark,\r\n };\r\n const startTime = (typeof measureOptions.start === 'string' ?\r\n markMap.get(measureOptions.start)?.startTime :\r\n measureOptions.start\r\n ) || window.performance.getEntriesByType('navigation')[0]?.startTime || 0;\r\n const endTime = (typeof measureOptions.end === 'string' ?\r\n markMap.get(measureOptions.end)?.startTime :\r\n measureOptions.end\r\n ) || now;\r\n const duration = endTime - startTime;\r\n\r\n const measure: PerformanceMeasure = {\r\n entryType: 'measure',\r\n name,\r\n duration,\r\n startTime,\r\n detail: null,\r\n toJSON: undefined as any,\r\n };\r\n return measure;\r\n };\r\n}\r\n\r\nexport { };\r\n","/* eslint-disable no-restricted-syntax */\r\n// @description Temporary global logging solution - should be improved\r\n// @authors bzeutzheim\r\n\r\nimport { observable, action, runInAction } from 'mobx';\r\n\r\nimport autobind from '@dirico/utils/autobind-decorator';\r\n\r\nimport './performance-polyfill';\r\n\r\ndeclare global {\r\n // eslint-disable-next-line no-var\r\n var _logger: typeof Logger;\r\n}\r\n\r\nexport type ReadonlyRecord = {\r\n readonly [P in K]: T;\r\n};\r\n\r\ntype StackType = string | undefined;\r\n// type StackType = StackFrame[];\r\n\r\ntype Primitive = string | number | boolean | Date;\r\n\r\nexport interface LogData {\r\n /**\r\n * Each entry in this record is logged inside a collapsed group within the parent log message.\r\n * Also, this data is will be passed on to logging hooks for ingestion into eg. Application Insights\r\n */\r\n data?: Record;\r\n /** Log level */\r\n level: LogLevel;\r\n /** Name of the logger which created this message */\r\n loggerName: string;\r\n /** The full, stringified message */\r\n message: string;\r\n /** Whether this message was logged or skipped by it's logger */\r\n shouldLog: boolean;\r\n /** Stack trace for where this message was logged */\r\n stack: StackType;\r\n /** If there is any error associated with this log message, pass it here */\r\n error?: unknown;\r\n}\r\n\r\nexport interface ILoggerHook {\r\n log(data: LogData): void;\r\n}\r\n\r\nexport enum LogLevel {\r\n trace = 1,\r\n debug = 2,\r\n info = 3,\r\n warn = 4,\r\n error = 5,\r\n critical = 6,\r\n silent = 10,\r\n}\r\n\r\nexport type LogLevelString = keyof typeof LogLevel;\r\n\r\nexport type LogLevelInput = LogLevel | LogLevelString;\r\n\r\nexport function parseLogLevel(level: LogLevel): LogLevel;\r\nexport function parseLogLevel(level: LogLevelInput | undefined): LogLevel | undefined;\r\n/** Converts LogLevelInput into LogLevel enum value */\r\nexport function parseLogLevel(level: LogLevelInput | undefined) {\r\n return typeof level === 'string' ? LogLevel[level as any] :\r\n typeof level === 'number' ? level as LogLevel :\r\n undefined;\r\n}\r\n\r\nconst LogLevelStyle: ReadonlyRecord = {\r\n [LogLevel.trace]: 'color: violet;',\r\n [LogLevel.debug]: 'color: #4D88FF;',\r\n [LogLevel.info]: '',\r\n [LogLevel.warn]: 'color: orange;',\r\n [LogLevel.error]: 'color: red;',\r\n [LogLevel.critical]: 'color: red; text-decoration: underline; font-weight: bold;',\r\n [LogLevel.silent]: '',\r\n};\r\n\r\nexport interface LoggerOptions {\r\n prependLevel?: boolean;\r\n prependTimestamp?: false | 'time' | 'dateTime';\r\n logDebugData?: boolean;\r\n traceDebug?: boolean;\r\n traceInfo?: boolean;\r\n}\r\n\r\nexport interface LogOptions {\r\n /**\r\n * CSS infos to apply to the log message\r\n */\r\n css?: string[];\r\n /**\r\n * Each entry in this record is logged inside a collapsed group within the parent log message.\r\n * Also, this data is will be passed on to logging hooks for ingestion into eg. Application Insights\r\n */\r\n data?: Record;\r\n /**\r\n * Same as {@link data}, but instead this information will only be logged and is intended for debugging and not for any kind of persistence\r\n */\r\n debugData?: Record;\r\n /**\r\n * Additional console log messages which should be printed inside the collapsed group of the parent log message.\r\n */\r\n debugLogs?: unknown[][];\r\n /**\r\n * If there is any error associated with this log message, pass it here\r\n */\r\n error?: unknown;\r\n /**\r\n * How many stack frames to skip when logging stack trace\r\n */\r\n skipStackFrames?: number;\r\n}\r\n\r\nexport interface IPerfMeasurer {\r\n /** stops the performance measuring block */\r\n end(): void;\r\n /** places a new mark and measurement for this performance measuring block */\r\n step(step: string): void;\r\n}\r\n\r\n// const stackTraceGps = new StackTraceGps();\r\n\r\n// Grab console functions to prevent later overrides to be used\r\nconst {\r\n error: consoleError,\r\n groupCollapsed: consoleGroupCollapsed,\r\n groupEnd: consoleGroupEnd,\r\n info: consoleInfo,\r\n log: consoleLog,\r\n trace: consoleTrace,\r\n warn: consoleWarn,\r\n} = console;\r\n\r\ntype LogArgs = [message: string, ...rest: unknown[]];\r\n\r\nfunction getDefaultLogLevel(): LogLevel {\r\n if (typeof window === 'undefined') {\r\n return LogLevel.info;\r\n }\r\n // Check if a default level was persisted to localStorage\r\n const persistedLevel = parseLogLevel(window.localStorage.getItem('logger:') as LogLevelString);\r\n if (persistedLevel) {\r\n return persistedLevel;\r\n }\r\n if (window.location.hostname === 'localhost' || process.env.NODE_ENV !== 'production') {\r\n // Always use info as default for localhost testing\r\n return LogLevel.info;\r\n }\r\n // If none of the above apply, use error level by default\r\n return LogLevel.error;\r\n}\r\n\r\n/** */\r\nexport class Logger {\r\n\r\n public static readonly loggers = observable.map(undefined, { deep: false });\r\n\r\n public static readonly hooks = new Set();\r\n\r\n public static readonly LogLevel = LogLevel;\r\n\r\n @observable\r\n public static defaultLevel: LogLevel = getDefaultLogLevel();\r\n\r\n public static readonly globalOptions: LoggerOptions = observable({\r\n prependLevel: false,\r\n prependTimestamp: false,\r\n logDebugData: true,\r\n traceDebug: true,\r\n traceInfo: true,\r\n });\r\n\r\n // Members\r\n\r\n public readonly name: string;\r\n\r\n @observable\r\n public shortName: string;\r\n\r\n @observable\r\n private _defaultLevel?: LogLevel;\r\n\r\n @observable\r\n private _level?: LogLevel;\r\n\r\n @observable\r\n public options: LoggerOptions = {};\r\n\r\n private readonly _localStorageKey: string;\r\n\r\n constructor(identifier: string, defaultLevel?: LogLevelInput) {\r\n this.shortName = this.name = identifier;\r\n this._localStorageKey = `logger:${this.name}`;\r\n this._defaultLevel = parseLogLevel(defaultLevel);\r\n this._level = typeof window === 'undefined' ? undefined : parseLogLevel(window.localStorage.getItem(this._localStorageKey) as LogLevelString);\r\n // this._level = LogLevel.trace;\r\n }\r\n\r\n public static getLogger(identifier: string) {\r\n if (!identifier) {\r\n identifier = '';\r\n }\r\n let logger = Logger.loggers.get(identifier);\r\n if (!logger) {\r\n runInAction(() => {\r\n logger = new Logger(identifier);\r\n Logger.loggers.set(identifier, logger);\r\n });\r\n }\r\n return logger!;\r\n }\r\n\r\n @action\r\n public static setDefaultLogLevel(level: LogLevelInput, persist = false) {\r\n const logLevel = parseLogLevel(level);\r\n if (logLevel) {\r\n Logger.defaultLevel = logLevel;\r\n if (persist && typeof window !== 'undefined') {\r\n window.localStorage.setItem('logger:', LogLevel[logLevel]);\r\n }\r\n }\r\n }\r\n\r\n public getLogger(identifier: string) {\r\n return Logger.getLogger(identifier);\r\n }\r\n\r\n public get configuredLevel() {\r\n return this._level;\r\n }\r\n\r\n public get level() {\r\n return this._level || this.defaultLevel;\r\n }\r\n\r\n public get defaultLevel() {\r\n return this._defaultLevel || Logger.defaultLevel;\r\n }\r\n\r\n public get traceInfo() {\r\n return this.options.traceInfo ?? Logger.globalOptions.traceInfo ?? true;\r\n }\r\n\r\n public get traceDebug() {\r\n return this.options.traceDebug ?? Logger.globalOptions.traceDebug ?? true;\r\n }\r\n\r\n public get logDebugData() {\r\n return this.options.logDebugData ?? Logger.globalOptions.logDebugData ?? true;\r\n }\r\n\r\n public get prependLevel() {\r\n return this.options.prependLevel ?? Logger.globalOptions.prependLevel ?? false;\r\n }\r\n\r\n public get prependTimestamp() {\r\n return this.options.prependTimestamp ?? Logger.globalOptions.prependTimestamp ?? false;\r\n }\r\n\r\n @action\r\n public setShortIdentifier(shortIdentifier: string) {\r\n this.shortName = shortIdentifier;\r\n return this;\r\n }\r\n\r\n @action\r\n public setLevel(level: LogLevelInput, persist = false) {\r\n const levelNum = parseLogLevel(level);\r\n if (levelNum) {\r\n this._level = levelNum;\r\n if (persist && typeof window !== 'undefined') {\r\n window.localStorage.setItem(this._localStorageKey, LogLevel[levelNum]);\r\n }\r\n } else {\r\n this._level = undefined;\r\n if (persist && typeof window !== 'undefined') {\r\n window.localStorage.removeItem(this._localStorageKey);\r\n }\r\n }\r\n return this;\r\n }\r\n\r\n @action\r\n public clearLevel(persist = true) {\r\n this._level = undefined;\r\n if (persist && typeof window !== 'undefined') {\r\n window.localStorage.removeItem(this._localStorageKey);\r\n }\r\n }\r\n\r\n @action\r\n public setDefaultLevel(level: LogLevelInput) {\r\n const levelNum = parseLogLevel(level);\r\n if (levelNum) {\r\n this._defaultLevel = levelNum;\r\n }\r\n return this;\r\n }\r\n\r\n public shouldLog(level: LogLevelInput) {\r\n const levelNum = parseLogLevel(level);\r\n if (!levelNum) {\r\n return false;\r\n }\r\n return levelNum >= this.level;\r\n }\r\n\r\n public callHooks(data: LogData) {\r\n for (const hook of Logger.hooks) {\r\n hook.log(data);\r\n }\r\n }\r\n\r\n public triggerHooks(level: LogLevel, args: LogArgs, stack: StackType, error?: unknown) {\r\n if (Logger.hooks.size === 0) {\r\n return;\r\n }\r\n // const mappedStack = await Promise.all(stack.map(frame => stackTraceGps.pinpoint(frame)));\r\n this.callHooks({\r\n loggerName: this.name,\r\n level,\r\n shouldLog: this.shouldLog(level),\r\n message: args[0],\r\n stack,\r\n error,\r\n });\r\n }\r\n\r\n private _stringifyMessage(messageArgs: Primitive[]): string {\r\n return !messageArgs ? '' : messageArgs.map(x =>\r\n x instanceof Date ? x.toISOString() :\r\n x\r\n ).join(' ');\r\n }\r\n\r\n private _getStack(error: Error, skipStackFrames = 0) {\r\n // return ErrorStackParser.parse(error).slice(1);\r\n return error.stack?.split('\\n').slice(2 + skipStackFrames).join('\\n');\r\n }\r\n\r\n private _getErrorLogArgs(\r\n errorOrMessage: string | Error | unknown | Primitive[],\r\n messageOrOptions?: string | Primitive[] | LogOptions,\r\n options?: LogOptions\r\n ): [string | Primitive[], LogOptions] {\r\n if (typeof messageOrOptions === 'string' || Array.isArray(messageOrOptions)) {\r\n // 1st arg is error, 2nd arg is message, 3rd arg is options or undefined\r\n let msg = messageOrOptions;\r\n const error = errorOrMessage;\r\n if (isError(error)) {\r\n if (typeof msg === 'string') {\r\n msg = msg + ': ' + error.message;\r\n } else if (msg) {\r\n msg = [...msg, error.message];\r\n } else {\r\n msg = error.message;\r\n }\r\n }\r\n return [msg, { error, ...options }];\r\n } else {\r\n // 1st arg is message, 2nd arg is options or undefined\r\n return [errorOrMessage as string | Primitive[], messageOrOptions || {}];\r\n }\r\n }\r\n\r\n public critical(error: Error | unknown, message: string | Primitive[], options?: LogOptions): void;\r\n public critical(message: string | Primitive[], options?: LogOptions): void;\r\n @autobind\r\n public critical(errorOrMessage: Error | unknown | string | Primitive[], messageOrOptions?: string | Primitive[] | LogOptions, _options?: LogOptions) {\r\n const [message, options] = this._getErrorLogArgs(errorOrMessage, messageOrOptions, _options);\r\n const {\r\n shouldLog,\r\n hasDetails,\r\n logArgs,\r\n } = this._prepareLog(LogLevel.critical, message, options, new Error());\r\n if (!shouldLog) {\r\n return;\r\n }\r\n if (hasDetails) {\r\n consoleGroupCollapsed(...logArgs);\r\n try {\r\n this._logDetails(options);\r\n // Log trace\r\n consoleGroupCollapsed(`%cExpand to see trace for this message`, 'font-style: italic; color: #808080;');\r\n consoleTrace();\r\n consoleGroupEnd();\r\n } finally {\r\n // Close log group\r\n consoleGroupEnd();\r\n }\r\n } else {\r\n consoleError(...logArgs);\r\n }\r\n }\r\n\r\n public error(error: Error, message: string | Primitive[], options?: LogOptions): void;\r\n public error(message: string | Primitive[], options?: LogOptions): void;\r\n @autobind\r\n public error(errorOrMessage: Error | string | Primitive[], messageOrOptions?: string | Primitive[] | LogOptions, _options?: LogOptions) {\r\n const [message, options] = this._getErrorLogArgs(errorOrMessage, messageOrOptions, _options);\r\n const {\r\n shouldLog,\r\n hasDetails,\r\n logArgs,\r\n } = this._prepareLog(LogLevel.error, message, options, new Error());\r\n if (!shouldLog) {\r\n return;\r\n }\r\n if (hasDetails) {\r\n consoleGroupCollapsed(...logArgs);\r\n try {\r\n this._logDetails(options);\r\n // Log trace\r\n consoleGroupCollapsed(`%cExpand to see trace for this message`, 'font-style: italic; color: #808080;');\r\n consoleTrace();\r\n consoleGroupEnd();\r\n } finally {\r\n // Close log group\r\n consoleGroupEnd();\r\n }\r\n } else {\r\n consoleError(...logArgs);\r\n }\r\n }\r\n\r\n @autobind\r\n public warn(message: string | Primitive[], options: LogOptions = {}) {\r\n const {\r\n shouldLog,\r\n hasDetails,\r\n logArgs,\r\n } = this._prepareLog(LogLevel.warn, message, options, new Error());\r\n if (!shouldLog) {\r\n return;\r\n }\r\n if (hasDetails) {\r\n consoleGroupCollapsed(...logArgs);\r\n try {\r\n this._logDetails(options);\r\n // Log trace\r\n consoleGroupCollapsed(`%cExpand to see trace for this message`, 'font-style: italic; color: #808080;');\r\n consoleTrace();\r\n consoleGroupEnd();\r\n } finally {\r\n // Close log group\r\n consoleGroupEnd();\r\n }\r\n } else {\r\n consoleWarn(...logArgs);\r\n }\r\n }\r\n\r\n @autobind\r\n public info(message: string | Primitive[], options: LogOptions = {}) {\r\n const {\r\n shouldLog,\r\n hasDetails,\r\n logArgs,\r\n } = this._prepareLog(LogLevel.info, message, options, new Error());\r\n if (!shouldLog) {\r\n return;\r\n }\r\n if (hasDetails) {\r\n consoleGroupCollapsed(...logArgs);\r\n try {\r\n this._logDetails(options);\r\n if (this.traceDebug) {\r\n // Log trace\r\n consoleGroupCollapsed(`%cExpand to see trace for this message`, 'font-style: italic; color: #808080;');\r\n consoleTrace();\r\n consoleGroupEnd();\r\n }\r\n } finally {\r\n // Close log group\r\n consoleGroupEnd();\r\n }\r\n } else {\r\n consoleInfo(...logArgs);\r\n }\r\n }\r\n\r\n @autobind\r\n public debug(message: string | Primitive[], options: LogOptions = {}) {\r\n const {\r\n shouldLog,\r\n hasDetails,\r\n logArgs,\r\n } = this._prepareLog(LogLevel.debug, message, options, new Error());\r\n if (!shouldLog) {\r\n return;\r\n }\r\n if (hasDetails) {\r\n consoleGroupCollapsed(...logArgs);\r\n try {\r\n this._logDetails(options);\r\n if (this.traceDebug) {\r\n // Log trace\r\n consoleGroupCollapsed(`%cExpand to see trace for this message`, 'font-style: italic; color: #808080;');\r\n consoleTrace();\r\n consoleGroupEnd();\r\n }\r\n } finally {\r\n // Close log group\r\n consoleGroupEnd();\r\n }\r\n } else {\r\n consoleTrace(...logArgs);\r\n }\r\n }\r\n\r\n @autobind\r\n public trace(message: string | Primitive[], options: LogOptions = {}) {\r\n const {\r\n shouldLog,\r\n hasDetails,\r\n logArgs,\r\n } = this._prepareLog(LogLevel.trace, message, options, new Error());\r\n if (!shouldLog) {\r\n return;\r\n }\r\n if (hasDetails) {\r\n consoleGroupCollapsed(...logArgs);\r\n try {\r\n this._logDetails(options);\r\n if (this.traceDebug) {\r\n // Log trace\r\n consoleGroupCollapsed(`%cExpand to see trace for this message`, 'font-style: italic; color: #808080;');\r\n consoleTrace();\r\n consoleGroupEnd();\r\n }\r\n } finally {\r\n // Close log group\r\n consoleGroupEnd();\r\n }\r\n } else {\r\n consoleTrace(...logArgs);\r\n }\r\n }\r\n\r\n @autobind\r\n public log(logLevelInput: LogLevelInput, message: string | Primitive[], options: LogOptions = {}) {\r\n const logLevel = parseLogLevel(logLevelInput);\r\n if (logLevel === undefined) {\r\n throw new Error(`Invalid log level argument ${logLevelInput}`);\r\n }\r\n if (logLevel === LogLevel.silent) {\r\n return;\r\n }\r\n const {\r\n shouldLog,\r\n hasDetails,\r\n logArgs,\r\n } = this._prepareLog(logLevel, message, options, new Error());\r\n if (!shouldLog) {\r\n return;\r\n }\r\n if (hasDetails) {\r\n consoleGroupCollapsed(...logArgs);\r\n try {\r\n this._logDetails(options);\r\n if (this.traceDebug) {\r\n // Log trace\r\n consoleGroupCollapsed(`%cExpand to see trace for this message`, 'font-style: italic; color: #808080;');\r\n consoleTrace();\r\n consoleGroupEnd();\r\n }\r\n } finally {\r\n // Close log group\r\n consoleGroupEnd();\r\n }\r\n } else {\r\n consoleLog(...logArgs);\r\n }\r\n }\r\n\r\n /**\r\n * Logs additional data from LogOptions\r\n */\r\n private _logDetails(options: LogOptions) {\r\n if (options.error) {\r\n consoleError(options.error);\r\n if (typeof options.error === 'object' && options.error.constructor !== Error) {\r\n consoleLog(`Error properties:`, { ...options.error });\r\n }\r\n }\r\n if (options.debugLogs) {\r\n for (const extraLog of options.debugLogs) {\r\n consoleLog(...extraLog);\r\n }\r\n }\r\n if (options.data) {\r\n this._logData(options.data, 'Data');\r\n }\r\n if (options.debugData && this.logDebugData) {\r\n this._logData(options.debugData, 'Debug data');\r\n }\r\n }\r\n\r\n /**\r\n * Logs a record of data with a prefix before keys\r\n */\r\n private _logData(data: Record, prefix: string) {\r\n for (const [key, value] of Object.entries(data)) {\r\n if (value === undefined) {\r\n continue;\r\n }\r\n if (typeof value === 'object' || typeof value === 'string' && value.length > 500) {\r\n consoleGroupCollapsed(`${prefix} ${key}${isNonPlainObject(value) ? ` #${getObjectId(value)}` : ''}:`);\r\n consoleLog(value);\r\n consoleGroupEnd();\r\n } else {\r\n consoleLog(`${prefix} ${key}:`, value);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Common handling for any kind of log message\r\n */\r\n private _prepareLog(level: LogLevel, message: string | Primitive[], options: LogOptions, stackError: Error) {\r\n const stack = this._getStack(stackError, options.skipStackFrames);\r\n const shouldLog = this.shouldLog(level);\r\n\r\n const messageParts = Array.isArray(message) ? message : [message];\r\n const joinedMessage = this._stringifyMessage(messageParts);\r\n\r\n this.callHooks({\r\n data: options.data,\r\n error: options.error,\r\n level,\r\n loggerName: this.name,\r\n message: joinedMessage.replace(/%c/g, ''),\r\n shouldLog,\r\n stack,\r\n });\r\n\r\n let prefix = '';\r\n if (this.prependLevel) {\r\n prefix += `[${LogLevel[level]}] `;\r\n }\r\n if (this.prependTimestamp) {\r\n prefix += new Date().toISOString().slice(this.prependTimestamp === 'dateTime' ? 0 : 11, 19) + ' ';\r\n }\r\n // Prefix with logger name\r\n prefix += `[${this.shortName}] `;\r\n const logArgs = [\r\n `${prefix.length > 0 ? `%c${prefix}%c` : ''}${joinedMessage}`,\r\n LogLevelStyle[level],\r\n '',\r\n ...(options.css || []),\r\n ];\r\n\r\n const hasDetails = this.traceDebug || options.data || this.logDebugData && (options.debugLogs || options.debugData);\r\n return { shouldLog, hasDetails, logArgs };\r\n }\r\n\r\n public measurePerformance(baseName: string, logLevel: LogLevelInput = LogLevel.trace, stepLogLevel: LogLevelInput = LogLevel.silent): IPerfMeasurer {\r\n if (typeof window !== 'undefined' && window.performance.mark !== undefined && window.performance.measure !== undefined) {\r\n return new WindowPerformanceMeasurer(this, baseName, logLevel, stepLogLevel);\r\n } else {\r\n return new DatePerformanceMeasurer(this, baseName, logLevel, stepLogLevel);\r\n }\r\n }\r\n\r\n public getObjectId = getObjectId;\r\n\r\n}\r\n\r\nclass DatePerformanceMeasurer implements IPerfMeasurer {\r\n\r\n private readonly startTime: number;\r\n\r\n private lastStepName: string;\r\n\r\n private lastStepTime: number;\r\n\r\n private stepMeasures: [string, string, number][] = [];\r\n\r\n constructor(\r\n public readonly logger: Logger,\r\n public readonly name: string,\r\n public logLevel: LogLevelInput = LogLevel.trace,\r\n public stepLogLevel: LogLevelInput = LogLevel.silent,\r\n ) {\r\n this.lastStepName = 'start';\r\n this.lastStepTime = this.startTime = Date.now();\r\n }\r\n\r\n public step(stepName: string) {\r\n const stepTime = Date.now();\r\n const fullStepName = `${this.name}: ${this.lastStepName}>${stepName}`;\r\n const stepDuration = stepTime - this.lastStepTime;\r\n this.stepMeasures.push([this.lastStepName, stepName, stepDuration]);\r\n this.lastStepTime = stepTime;\r\n this.lastStepName = stepName;\r\n if (this.stepLogLevel < LogLevel.silent) {\r\n this.logger.log(this.stepLogLevel, `Measure \"${fullStepName}\" took ${stepDuration}ms`);\r\n }\r\n }\r\n\r\n public end() {\r\n this.step('end');\r\n const totalDuration = this.lastStepTime - this.startTime;\r\n this.logger.log(this.logLevel, `Measured \"${this.name}\" over ${totalDuration}ms`, {\r\n data: this.stepMeasures.length === 1 ? undefined : { steps: this.stepMeasures }\r\n });\r\n }\r\n}\r\n\r\nclass WindowPerformanceMeasurer implements IPerfMeasurer {\r\n\r\n private readonly id: string;\r\n\r\n private readonly startMark: PerformanceMark;\r\n\r\n private lastStepName: string;\r\n private lastStepMark: PerformanceMark;\r\n\r\n private stepMeasures: [string, string, number][] = [];\r\n\r\n constructor(\r\n public readonly logger: Logger,\r\n public readonly name: string,\r\n public logLevel: LogLevelInput = LogLevel.trace,\r\n public stepLogLevel: LogLevelInput = LogLevel.silent,\r\n ) {\r\n this.id = name + '-' + Math.random();\r\n this.lastStepName = 'start';\r\n this.startMark = this.lastStepMark = window.performance.mark(this.getMarkName(this.lastStepName));\r\n }\r\n\r\n private getMarkName(step: string) {\r\n return this.id + '-' + step;\r\n }\r\n\r\n public step(stepName: string) {\r\n const stepMark = window.performance.mark(this.getMarkName(stepName));\r\n const fullStepName = `${this.name}: ${this.lastStepName}>${stepName}`;\r\n const measure = window.performance.measure(fullStepName, this.getMarkName(this.lastStepName), stepMark.name);\r\n const stepDuration = measure?.duration ?? stepMark.startTime - this.lastStepMark.startTime;\r\n this.stepMeasures.push([this.lastStepName, stepName, stepDuration]);\r\n this.lastStepMark = stepMark;\r\n this.lastStepName = stepName;\r\n if (this.stepLogLevel < LogLevel.silent) {\r\n this.logger.log(this.stepLogLevel, `Measure \"${fullStepName}\" took ${stepDuration}ms`);\r\n }\r\n }\r\n\r\n public end() {\r\n this.step('end');\r\n const measure = window.performance.measure(this.name, this.startMark.name, this.getMarkName(this.lastStepName));\r\n const totalDuration = measure?.duration ?? this.lastStepMark.startTime - this.startMark.startTime;\r\n this.logger.log(this.logLevel, `Measured \"${this.name}\" over ${totalDuration}ms`, {\r\n data: this.stepMeasures.length === 1 ? undefined : { steps: this.stepMeasures }\r\n });\r\n }\r\n}\r\n\r\nfunction isError(error: any): error is Error {\r\n return Boolean(\r\n error &&\r\n typeof error === 'object' &&\r\n 'stack' in error &&\r\n 'message' in error &&\r\n typeof error.message === 'string'\r\n );\r\n}\r\n\r\n/** Returns true, if the passed value is an object, but not a plain one (eg. {}, Date, String, ...) */\r\nexport function isNonPlainObject(value: any) {\r\n if (!value || typeof value !== 'object' || Array.isArray(value)) {\r\n return false;\r\n }\r\n const proto = Object.getPrototypeOf(value);\r\n return (\r\n proto !== Object.prototype &&\r\n proto !== Date.prototype\r\n );\r\n}\r\n\r\nlet nextObjectId = 0;\r\nconst objectIdMap = new WeakMap();\r\n\r\n/** Returns a unique index for any object, by caching it inside a weak map */\r\nexport function getObjectId(value: object) {\r\n let id = objectIdMap.get(value);\r\n if (id === undefined) {\r\n id = nextObjectId++;\r\n objectIdMap.set(value, id);\r\n }\r\n return id;\r\n}\r\n\r\nexport default Logger;\r\n\r\nexport const defaultLogger = Logger.getLogger('').setShortIdentifier('default');\r\n\r\nexport const getLogger = Logger.getLogger.bind(Logger);\r\n\r\n// /** */\r\n// export function patchConsole() {\r\n// console.log = defaultLogger.info.bind(defaultLogger);\r\n// console.info = defaultLogger.info.bind(defaultLogger);\r\n// console.debug = defaultLogger.debug.bind(defaultLogger);\r\n// }\r\n\r\n/**\r\n * Can be used to pass uncaught errors to the logger error hooks: \r\n * `globalThis.addEventListener('error', globalErrorEventHandler);`.\r\n * \r\n * However, this might not be necessary, because Application Insights already logs uncaught exceptions properly.\r\n */\r\nexport function globalErrorEventHandler(event: ErrorEvent) {\r\n // Cross origin error - pass this on to the browser console\r\n if (event.message.toLowerCase().includes('script error:')) {\r\n return;\r\n }\r\n // Trigger logger hooks so that uncaught exceptions are forwarded to AI\r\n defaultLogger.triggerHooks(LogLevel.error, ['Uncaught exception'], event.error.stack, event.error);\r\n}\r\n\r\n/** */\r\nexport function registerGlobalErrorHandler() {\r\n globalThis.addEventListener('error', globalErrorEventHandler);\r\n}\r\n\r\nglobalThis._logger = Logger;\r\n\r\n// defaultLogger.log('warn', ['bool', true, 'number', 3, 'date', new Date()], {\r\n// error: new Error(),\r\n// data: {\r\n// data1: 3,\r\n// data2: { obj: 1 },\r\n// },\r\n// });\r\n","// @description see exports\r\n\r\nimport { action, observable, runInAction, _allowStateChangesInsideComputed } from 'mobx';\r\n\r\nimport { getLogger } from '@dirico/utils/Logger';\r\n\r\nconst logger = getLogger('ResourceLoader');\r\n\r\nexport interface LoaderOptions {\r\n maxAge?: number;\r\n disposer?: (oldValue: T) => void,\r\n}\r\n\r\n/**\r\n * This class simplifies loading resources asynchronously with mobx & react suspense\r\n */\r\nexport default class ResourceLoader {\r\n\r\n @observable\r\n private _loaded = false;\r\n\r\n @observable\r\n private _loading = false;\r\n\r\n @observable\r\n private _timestamp = 0;\r\n\r\n @observable.ref\r\n private _value?: T;\r\n\r\n @observable.ref\r\n private _promise?: Promise;\r\n\r\n @observable.ref\r\n private _error: unknown;\r\n\r\n public constructor(\r\n public readonly loader: () => Promise,\r\n public readonly options: LoaderOptions = {},\r\n ) { }\r\n\r\n /**\r\n * Boolean flag indicating if the loader finished executing and was successful\r\n */\r\n public get isLoaded() {\r\n return this._loaded;\r\n }\r\n\r\n public get isInvalidated() {\r\n return this._loaded && !this._promise;\r\n }\r\n\r\n public get isLoading() {\r\n return this._loading;\r\n }\r\n\r\n /**\r\n * Returns true if the value is outdated (max age exceeded) and should be fetched again\r\n */\r\n public get isOutdated() {\r\n return this.options.maxAge && Date.now() > this._timestamp + this.options.maxAge;\r\n }\r\n\r\n /**\r\n * Error result of the loader it failed to load the value\r\n */\r\n public get error() {\r\n return this._error;\r\n }\r\n\r\n /**\r\n * Get value or undefined, if it was not loaded yet\r\n */\r\n public get value() {\r\n return this._value;\r\n }\r\n\r\n private set value(value: T | undefined) {\r\n if (this._value && this.options.disposer) {\r\n this.options.disposer(this._value);\r\n }\r\n this._value = value;\r\n }\r\n\r\n /**\r\n * Timestamp when this value was last updated\r\n */\r\n public get timestamp() {\r\n return this._timestamp;\r\n }\r\n\r\n /**\r\n * Clears the cached value and promise\r\n */\r\n @action\r\n public clear() {\r\n this._loaded = false;\r\n this._promise = undefined;\r\n this.value = undefined;\r\n this._timestamp = 0;\r\n }\r\n\r\n /**\r\n * Invalidates the value, causing it to be loaded again on next access\r\n */\r\n @action\r\n public invalidate() {\r\n // Reset promise to cause refetch\r\n this._promise = undefined;\r\n }\r\n\r\n /**\r\n * Returns a promise which will resolve to the value.\r\n * If the value is already loaded, it will return the already resolved promise.\r\n */\r\n public getAsync = () => {\r\n if (!this._promise || this.isOutdated && !this._loading) {\r\n this.startLoading();\r\n }\r\n return this._promise!;\r\n };\r\n\r\n @action\r\n private startLoading() {\r\n _allowStateChangesInsideComputed(() => {\r\n this._loading = true;\r\n this._promise = Promise.resolve().then(this.loader);\r\n // The handling of the promise result is not included in the saved promise\r\n // This is to make sure we do not end up with unhandled promise errors when lazy access is used\r\n this._promise.then(action(value => {\r\n this._loading = false;\r\n this._loaded = true;\r\n this.value = value;\r\n this._error = undefined;\r\n this._timestamp = Date.now();\r\n }), action(error => {\r\n this._loading = false;\r\n this._loaded = false;\r\n this.value = undefined;\r\n this._timestamp = Date.now();\r\n this._error = error;\r\n logger.warn('ResourceLoader Error:', { error });\r\n }));\r\n });\r\n }\r\n\r\n @action\r\n public setValue(value: T) {\r\n this._promise = Promise.resolve(value);\r\n this._loaded = true;\r\n this.value = value;\r\n this._timestamp = Date.now();\r\n }\r\n\r\n /**\r\n * Returns value if loaded, otherwise starts loading and returns undefined\r\n */\r\n public get lazyValue() {\r\n this.getAsync();\r\n if (this._loaded) {\r\n return this._value!;\r\n } else {\r\n return undefined;\r\n }\r\n }\r\n\r\n public set lazyValue(value: T | undefined) {\r\n if (!value) {\r\n throw new Error(process.env.NODE_ENV === 'production' ? undefined : `Value cannot be set to undefined`);\r\n }\r\n this.setValue(value);\r\n }\r\n\r\n /**\r\n * Suspense-Loads the resource and returns a tuple containing either the value or an error\r\n */\r\n public get lazyData() {\r\n return [this.lazyValue, this.error] as const;\r\n }\r\n\r\n /**\r\n * Returns value if loaded, otherwise throws loading promise.\r\n * Should be used for `React.Suspense` functionality\r\n */\r\n public get suspenseValue(): T {\r\n const promise = this.getAsync();\r\n if (this._loaded) {\r\n return this._value!;\r\n } else if (this._error) {\r\n throw this._error;\r\n } else {\r\n throw promise;\r\n }\r\n }\r\n\r\n /**\r\n * Suspense-Loads the resource and returns a tuple containing either the value or an error\r\n */\r\n public get suspenseData() {\r\n this.getAsync();\r\n return [this._value, this._error] as const;\r\n }\r\n}\r\n\r\n/**\r\n * This class simplifies loading multiple resources asynchronously with mobx & react suspense by some kind of id\r\n */\r\nexport class MultiResourceLoader {\r\n\r\n @observable\r\n private _loaders = new Map>();\r\n\r\n constructor(\r\n /** Loader function */\r\n public readonly loader: (id: ID) => Promise,\r\n public readonly options: LoaderOptions = {},\r\n ) { }\r\n\r\n public get loaders() {\r\n return Array.from(this._loaders.values());\r\n }\r\n\r\n /**\r\n * Removes all resource loaders\r\n */\r\n public clear() {\r\n this._loaders.clear();\r\n }\r\n\r\n /**\r\n * Removes the resource loader for a specific id\r\n */\r\n public delete(id: ID) {\r\n this._loaders.delete(id);\r\n }\r\n\r\n /**\r\n * Invalidates all loaded values\r\n */\r\n public invalidateAll() {\r\n for (const value of this._loaders.values()) {\r\n value.invalidate();\r\n }\r\n }\r\n\r\n /**\r\n * Returns the resource loader for a specific id\r\n */\r\n public getLoader(id: ID, createIfMissing: false): ResourceLoader | undefined;\r\n public getLoader(id: ID, createIfMissing?: true): ResourceLoader;\r\n public getLoader(id: ID, createIfMissing = true) {\r\n let ressource = this._loaders.get(id);\r\n if (!ressource && createIfMissing) {\r\n runInAction(() => {\r\n ressource = new ResourceLoader(() => this.loader(id), this.options);\r\n this._loaders.set(id, ressource);\r\n });\r\n }\r\n return ressource;\r\n }\r\n\r\n /**\r\n * Invalidates the value, causing it to be loaded again on next access\r\n */\r\n public invalidate(id: ID) {\r\n this.getLoader(id).invalidate();\r\n }\r\n\r\n /**\r\n * Returns a promise which will resolve to the value.\r\n * If the value is already loaded, it will return the already resolved promise.\r\n */\r\n public get(id: ID) {\r\n return this.getLoader(id).getAsync();\r\n }\r\n\r\n /**\r\n * Returns cached value, otherwise undefined\r\n */\r\n public getCached(id: ID) {\r\n return this.getLoader(id).value;\r\n }\r\n\r\n /**\r\n * Returns value if loaded, otherwise starts loading and returns undefined\r\n */\r\n public getLazyValue(id: ID) {\r\n return this.getLoader(id).lazyValue;\r\n }\r\n\r\n /**\r\n * Returns a tuple of [value, error] depending on what is currently present\r\n */\r\n public getLazyData(id: ID) {\r\n return this.getLoader(id).lazyData;\r\n }\r\n\r\n /**\r\n * Returns value if loaded, otherwise throws loading promise.\r\n * Should be used for `React.Suspense` functionality\r\n */\r\n public getSuspenseValue(id: ID) {\r\n return this.getLoader(id).suspenseValue;\r\n }\r\n\r\n /**\r\n * Returns a tuple of [value, error] depending on what is currently present.\r\n * Throws promise when value is not loaded yet for React suspense.\r\n */\r\n public getSuspenseData(id: ID) {\r\n return this.getLoader(id).suspenseData;\r\n }\r\n}\r\n","// @description A decorator to automatically bind the this keyword of the method to the component instance.\r\n// @authors bzeutzheim\r\n\r\n/* eslint-disable @typescript-eslint/ban-ts-comment */\r\nconst PROTO_SYMBOL: symbol = (global as any).LIVE_REBIND_PROTO_SYMBOL || ((global as any).LIVE_REBIND_PROTO_SYMBOL = Symbol('isPrototype'));\r\n\r\n/**\r\n * Use this decorator for functions that are used in render calls and are ok to be updated on next access.\r\n */\r\nexport default function autobind(_target: object, propertyKey: string, descriptor: TypedPropertyDescriptor): TypedPropertyDescriptor | void {\r\n if (!descriptor || (typeof descriptor.value !== 'function')) {\r\n throw new TypeError(`Only methods can be decorated with bind decorators. <${propertyKey}> is not a method!`/*`*/);\r\n }\r\n return {\r\n configurable: true,\r\n // eslint-disable-next-line\r\n get(this: T): T {\r\n // Escape-hatch to still get the actual prototype function and not a wrapper\r\n // @ts-ignore-next-line\r\n if (this[PROTO_SYMBOL]) { return descriptor.value; }\r\n let bound: T & { originalFn: T; disableRebinding?: boolean; } = descriptor.value!.bind(this);\r\n bound.originalFn = descriptor.value!;\r\n Object.defineProperty(this, propertyKey, {\r\n // eslint-disable-next-line\r\n get(this: T): T {\r\n const proto = Object.getPrototypeOf(this); // Get prototype\r\n proto[PROTO_SYMBOL] = true; // Set flag to prevent returning a new wrapper function\r\n const protoFn = proto[propertyKey]; // Get original prototype function\r\n proto[PROTO_SYMBOL] = false; // Clear flag\r\n // Check if prototype changed\r\n if (bound.originalFn !== protoFn && !bound.disableRebinding) {\r\n bound = protoFn.bind(this);\r\n bound.originalFn = protoFn;\r\n }\r\n return bound;\r\n },\r\n // eslint-disable-next-line\r\n set(this: T, value: any) {\r\n bound = value;\r\n bound.disableRebinding = true;\r\n },\r\n configurable: true,\r\n });\r\n return bound;\r\n }\r\n };\r\n}\r\n\r\n/**\r\n * Use this decorator for stuff like timers etc. that are not updated each render call (warning: could performance impact).\r\n */\r\nexport function autobindLive(_target: object, propertyKey: string, descriptor: TypedPropertyDescriptor): TypedPropertyDescriptor | void {\r\n if (!descriptor || (typeof descriptor.value !== 'function')) {\r\n throw new TypeError(`Only methods can be decorated with bind decorators. <${propertyKey}> is not a method!`/*`*/);\r\n }\r\n return {\r\n configurable: true,\r\n // eslint-disable-next-line\r\n get(this: T): T {\r\n // Escape-hatch to still get the actual prototype function and not a wrapper\r\n // @ts-ignore-next-line\r\n if (this[PROTO_SYMBOL]) { return descriptor.value; }\r\n // Create new function which always checks the current prototype for the correct prototype function to call\r\n const wrapper = ((...args: any[]) => {\r\n const proto = Object.getPrototypeOf(this); // Get prototype\r\n proto[PROTO_SYMBOL] = true; // Set flag to prevent returning a new wrapper function\r\n const protoFn = proto[propertyKey]; // Get original prototype function\r\n proto[PROTO_SYMBOL] = false; // Clear flag\r\n return protoFn.apply(this, args); // Call prototype function whith correct this and arguments\r\n }) as any as T;\r\n // Overwrite [propertyKey] function ONLY for [this] instance - not the prototype\r\n Object.defineProperty(this, propertyKey, {\r\n value: wrapper,\r\n configurable: true,\r\n writable: true,\r\n });\r\n return wrapper;\r\n }\r\n };\r\n}\r\n\r\n// export class AutobindTest extends React.Component {\r\n//\r\n// private static testValue = '4';\r\n//\r\n// @autobindOnAccessV2\r\n// public test_autobind() {\r\n// console.log('autobind:', AutobindTest.testValue);\r\n// }\r\n//\r\n// @autobindLiveDecorator\r\n// public test_autobindLive() {\r\n// console.log('autobindLive:', AutobindTest.testValue);\r\n// }\r\n//\r\n// public componentDidMount() {\r\n// setInterval(this.test_autobind, 4000);\r\n// setInterval(this.test_autobindLive, 4000);\r\n// }\r\n//\r\n// public render(): React.ReactNode {\r\n// // debugger;\r\n// console.log('----');\r\n// this.test_autobind();\r\n// this.test_autobindLive();\r\n// return null;\r\n// }\r\n// }\r\n","// @description see default export\r\n/// \r\n\r\n/**\r\n * Returns all keys in the object where key extends the KeyCondition type and the value in the object extends the ValueCondition type.\r\n * \r\n * @example\r\n * type _T1 = FilterKeys<{ a: number; b: string; c: string[]; }, string>; // = 'b'\r\n * type _T2 = FilterKeys<{ a: number; b: string; c: string[]; }, Array>; // = 'c'\r\n * type _T3 = FilterKeys<{ a: number; [mySymbol]: number; }, number, string>; // = 'a'\r\n */\r\nexport type FilterKeys = {\r\n [Key in keyof O]: Key extends KeyCondition ? O[Key] extends ValueCondition ? Key : never : never\r\n}[keyof O];\r\n\r\nexport type FilterObject = Pick>;\r\n\r\nexport type ArrayType> = T extends ReadonlyArray ? R : never;\r\n\r\nexport type PromiseResult> = T extends Promise ? R : never;\r\n\r\nexport type Writeable = {\r\n -readonly [P in keyof T]: T[P];\r\n};\r\n\r\nexport type PartialRecord = { [P in K]?: T; };\r\n\r\nexport type MakePartial = { [P in PartialKeys]?: T[P]; } & Omit;\r\n\r\n/** Returns only the string keys of an object. Used to get the available keys of an enum object */\r\nexport const enumKeys = (enumType: T) => Object.keys(enumType).filter(x => typeof x === 'string') as (keyof T)[];\r\n\r\n/** Returns only the non-string values of an object. Used to get the available values of an enum object */\r\nexport const enumValues = (enumType: T) => Object.values(enumType).filter(x => typeof x !== 'string') as (T[keyof T])[];\r\n\r\n/** Object.entries with improved typings only */\r\nexport const objectEntries: (obj: T) => [keyof T, T[keyof T]][] = Object.entries;\r\n\r\n/** Object.fromEntries with improved typings only */\r\nexport const objectFromEntries: (entries: Iterable) => Partial> = Object.fromEntries;\r\n\r\n/** Object.fromEntries with improved typings only (returns non-partial record) */\r\nexport const objectFromEntriesNonPartial: (entries: Iterable) => Record = Object.fromEntries;\r\n\r\n/** Object.keys with improved typings only */\r\nexport const objectKeys: (obj: T) => (keyof T)[] = Object.keys;\r\n\r\n/** Object.values with improved typings only */\r\nexport const objectValues: (obj: T) => (T[keyof T])[] = Object.values;\r\n\r\n/** class decorator to force static fields to be implemented */\r\nexport function StaticImplements() {\r\n return (_constructor: T) => { /* nop */ };\r\n}\r\n\r\n/** \r\n * Allows creating records with a fixed value type, but a dynamic, typed set of keys\r\n * \r\n * @example\r\n * const MyMap = createRecord<{ value: number }>()({\r\n * a: { value: 1 },\r\n * b: { value: 2 },\r\n * });\r\n * // keyof typeof MyMap === 'a' | 'b';\r\n */\r\nexport function createRecord() {\r\n return (rec: Record) => rec;\r\n}\r\n\r\n/**\r\n * Type guard to filter out falsy values \r\n */\r\nexport function isTruthy(x: T | undefined | null | false | 0): x is T {\r\n return Boolean(x);\r\n}\r\n","// eslint-disable-next-line no-undef\r\nrequire('core-js/stable');\r\n// eslint-disable-next-line no-undef\r\nrequire('regenerator-runtime/runtime');\r\n"],"names":["createToken","InjectorToken","TranslatorToken","AuthToken","BaseServicesToken","LocalStorageServiceToken","ViewManagerToken","ViewRouterToken","LocationStoreToken","RouterToken","ApplicationInsightsServiceToken","ConditionCheckerServiceToken","EvalServiceToken","MetricsServiceToken","ModalsServiceToken","ToastServiceToken","ValidationServiceToken","ViewTitleServiceOptionsToken","ViewTitleServiceToken","configure","observable","reaction","runInAction","toJS","autorun","trace","getDependencyTree","getDebugName","getObserverTree","getAtom","Tokens","getMobxStrictMode","obs","v","r","undefined","toggleMobxStrict","enabled","enforceActions","extendDebugVar","utils","debugObj","globalThis","_debug","Object","defineProperties","getOwnPropertyDescriptors","createCoreDebugUtils","injector","translator","get","viewManager","modalService","view","deps","topModal","stackTop","mobx","toggleStrictMode","observer","withDisplayName","namedObserver","nameOrComponent","baseComponent","namedObserverWithRef","forwardRef","React","joinChildren","children","separator","childrenArray","Children","toArray","filter","Boolean","result","index","length","push","cloneElement","key","stopPropagationHandler","e","stopPropagation","unwrapReactFragment","node","isValidElement","type","Fragment","props","unwrapReactFragments","element","handleChildren","baseKey","map","child","elementChildren","x","isFormSubmitEvent","event","activeElement","window","document","tagName","body","isContentEditable","parentElement","isRefObject","hasOwnProperty","call","name","component","fn","getInnermostFunction","displayName","defineProperty","value","enumerable","cmp","isMemoComponent","isForwardRefComponent","render","prototype","getLogger","ResourceLoader","createApplicationRoot","loaderFn","setupHotReload","appLoader","forceUpdate","module","hot","oldInjector","invalidate","getAsync","then","warn","debugData","dispose","forceUpdateFn","useState","useCallback","suspenseValue","ShowAfterDelay","delay","before","isAfter","setAfter","useEffect","t","setTimeout","clearTimeout","VStack","AppThemeProvider","LazyApp","createApplicationResource","DiricoApplicationLoader","accept","LoaderSplashScreen","height","marginTop","AppLoader","createCache","CacheProvider","TssCacheProvider","muiCache","prepend","stylisPlugins","tssCache","StyledEngineProvider","memo","createTheme","createMuiTheme","pxToRem","size","fontSizePx","htmlFontSize","coefficient","isSimplePaletteColorOptions","opt","main","createThemeWithOverrides","options","defaultOverrides","overrides","baseTheme","switchClasses","inputBaseClasses","alpha","themeColorTransition","theme","light","palette","mode","components","MuiCssBaseline","styleOverrides","backgroundColor","color","background","default","text","primary","transition","typography","body2","a","textDecoration","MuiAvatar","root","width","disabled","fontSize","fontWeight","MuiBreadcrumbs","defaultProps","li","secondary","MuiButton","disableElevation","variant","variants","style","getContrastText","grey","borderColor","border","action","disabledBackground","hoverOpacity","minHeight","padding","startIcon","marginLeft","contained","containedSizeSmall","containedPrimary","dark","outlined","hover","outlinedPrimary","outlinedSecondary","outlinedSizeSmall","textPrimary","textSizeSmall","MuiToggleButtonGroup","paper","info","common","white","borderRadius","MuiButtonGroup","boxShadow","groupedContainedHorizontal","borderRightColor","groupedContainedVertical","borderBottomColor","groupedContainedPrimary","groupedContainedSecondary","MuiCheckbox","divider","colorPrimary","opacity","colorSecondary","MuiChip","avatar","margin","marginRight","avatarMedium","avatarSmall","icon","iconSmall","label","labelSmall","paddingLeft","paddingRight","sizeSmall","deleteIcon","MuiDialogTitle","display","alignItems","h5","MuiDialogContent","paddingTop","dividers","borderBottom","MuiDialogContentText","MuiDialogActions","spacing","MuiFormControlLabel","MuiFormHelperText","MuiIconButton","functionalBlue","MuiInput","disableUnderline","error","input","pointerEvents","formControl","MuiInputAdornment","positionStart","positionEnd","MuiInputBase","multiline","inputMultiline","MuiInputLabel","whiteSpace","overflow","maxWidth","textOverflow","standard","transform","lineHeight","MuiLink","underline","MuiListItemAvatar","minWidth","MuiListItemIcon","MuiListItemText","MuiListSubheader","caption","MuiMenu","zIndex","modal","breakpoints","up","maxHeight","MuiMenuItem","paddingBottom","MuiPaper","elevation","backgroundImage","MuiRadio","MuiSelect","MenuProps","anchorOrigin","vertical","horizontal","transformOrigin","className","select","marginBottom","MuiSlider","thumb","rail","selected","MuiSvgIcon","fontSizeLarge","MuiSwitch","switchBase","checked","track","active","MuiTab","MuiTextField","MuiTooltip","enterDelay","enterNextDelay","popper","tooltip","MuiTypography","wordWrap","overflowWrap","hyphens","tinycolor","computed","ThemeProvider","themeOverrides","defaultThemeCustomizationOptions","primaryLight","primaryMain","primaryDark","navBarBackground","navBarText","navBarHighlight","darkModeOptions","createThemeOptions","fontFamily","h1","h2","h3","h4","h6","subtitle1","subtitle2","body1","button","textTransform","overline","tonalOffset","inverse","pickBy","mix","toHexString","transparentBackground","contrastText","navBar","highlight","success","warning","entityStatus","open","inProduction","pending","done","draft","backlog","rejected","approvedForCommunication","scheduled","waitingOnApproval","approved","scheduledOnFacebook","published","themeOptions","tempTheme","defaultTheme","ThemeStore","bound","constructor","themeData","JSON","parse","localStorage","getItem","stringify","data","setItem","_theme","themeHasError","reset","setPrimary","setNavbar","toggleDarkMode","themeStore","ViewportStore","addEventListener","updateViewport","mobileMode","metaEl","querySelector","content","screen","viewportStore","setProperty","createRoot","rootElement","getElementById","navigator","serviceWorker","register","styled","isPropValid","getResponsiveStyles","FlexItem","isFlexPropMap","alignContent","direction","flex","gap","inline","justifyContent","wrap","Flex","shouldForwardProp","p","responsiveProps","responsiveStyles","rProps","flexDirection","Array","isArray","s","flexWrap","boxSizing","objectEntries","flexItemBreakpoint","grow","styles","flexGrow","flexBasis","assign","values","BasePlacementAttributes","HorizontalPlacementAttributes","VerticalPlacementAttributes","HBoxVerticalAligns","HBoxVerticalPositions","HBoxHorizontalPositions","VBoxHorizontalAligns","VBoxHorizontalPositions","VBoxVerticalPositions","HStack","ref","verticalAlign","verticalPosition","horizontalPosition","rest","horizontalAlign","objectFromEntries","objectKeys","populateBreakpointsBase","base","prop","breakpoint","mapResponsiveProps","brk","isDefinedMap","last","styleFunction","keys","breakpointProps","breakpointStyles","performance","mark","markMap","Map","performanceMark","markOptions","startTime","now","entryType","duration","detail","toJSON","set","performanceMeasure","measure","startOrMeasureOptions","endMark","measureOptions","start","end","getEntriesByType","endTime","autobind","LogLevel","parseLogLevel","level","LogLevelStyle","debug","critical","silent","consoleError","groupCollapsed","consoleGroupCollapsed","groupEnd","consoleGroupEnd","consoleInfo","log","consoleLog","consoleTrace","consoleWarn","console","getDefaultLogLevel","persistedLevel","location","hostname","process","env","NODE_ENV","Logger","identifier","defaultLevel","_localStorageKey","getObjectId","shortName","_defaultLevel","_level","logger","loggers","setDefaultLogLevel","persist","logLevel","configuredLevel","traceInfo","globalOptions","traceDebug","logDebugData","prependLevel","prependTimestamp","setShortIdentifier","shortIdentifier","setLevel","levelNum","removeItem","clearLevel","setDefaultLevel","shouldLog","callHooks","hook","hooks","triggerHooks","args","stack","loggerName","message","_stringifyMessage","messageArgs","Date","toISOString","join","_getStack","skipStackFrames","split","slice","_getErrorLogArgs","errorOrMessage","messageOrOptions","msg","isError","_options","hasDetails","logArgs","_prepareLog","Error","_logDetails","logLevelInput","debugLogs","extraLog","_logData","prefix","entries","isNonPlainObject","stackError","messageParts","joinedMessage","replace","css","measurePerformance","baseName","stepLogLevel","WindowPerformanceMeasurer","DatePerformanceMeasurer","deep","Set","lastStepName","lastStepTime","stepMeasures","step","stepName","stepTime","fullStepName","stepDuration","totalDuration","steps","id","startMark","lastStepMark","Math","random","getMarkName","stepMark","proto","getPrototypeOf","nextObjectId","objectIdMap","WeakMap","defaultLogger","bind","globalErrorEventHandler","toLowerCase","includes","registerGlobalErrorHandler","_logger","_allowStateChangesInsideComputed","loader","_promise","isOutdated","_loading","startLoading","isLoaded","_loaded","isInvalidated","isLoading","maxAge","_timestamp","_error","_value","disposer","timestamp","clear","Promise","resolve","setValue","lazyValue","lazyData","promise","suspenseData","MultiResourceLoader","loaders","from","_loaders","delete","invalidateAll","getLoader","createIfMissing","ressource","getCached","getLazyValue","getLazyData","getSuspenseValue","getSuspenseData","PROTO_SYMBOL","global","LIVE_REBIND_PROTO_SYMBOL","Symbol","_target","propertyKey","descriptor","TypeError","configurable","originalFn","protoFn","disableRebinding","autobindLive","wrapper","apply","writable","enumKeys","enumType","enumValues","fromEntries","objectFromEntriesNonPartial","objectValues","StaticImplements","_constructor","createRecord","rec","isTruthy"],"sourceRoot":""}