{"version":3,"file":"js/x.5eb1145a.js","sources":["../../frontend/src/base/components/common/Toast.module.scss?c9a3","../../frontend/src/base/components/common/primitives/BaseElement.tsx","../../frontend/src/base/components/common/primitives/Button.module.scss?d2b5","../../frontend/src/base/components/common/primitives/Button.tsx","../../frontend/src/base/components/common/primitives/Loader.tsx","../../frontend/src/base/components/common/primitives/Loader.module.scss?83df","../../frontend/src/base/core/ServerSentEvents.ts","../../frontend/src/base/core/numericLimits.ts","../../frontend/src/base/hooks/useOrgStore.ts"],"sourcesContent":["// extracted by css-extract-rspack-plugin\nexport default {\"toastGroupHolder\":\"toastGroupHolder_TDa6eF\",\"toastContainer\":\"toastContainer__K1JMw\"};","import clsx from \"clsx\";\nimport React, { HTMLAttributes } from \"react\";\n\nexport type BaseSizeList =\n\t| \"-025x\"\n\t| \"-05x\"\n\t| \"-1x\"\n\t| \"-2x\"\n\t| \"-3x\"\n\t| \"-4x\"\n\t| \"-5x\"\n\t| \"-6x\"\n\t| \"-7x\"\n\t| \"-8x\"\n\t| \"-9x\"\n\t| \"-10x\"\n\t| \"-11x\"\n\t| \"-12x\"\n\t| \"-13x\"\n\t| \"-14x\"\n\t| \"-15x\"\n\t| \"-16x\"\n\t| \"-17x\"\n\t| \"-18x\"\n\t| \"-19x\"\n\t| \"-20x\"\n\t| \"-21x\"\n\t| \"-22x\"\n\t| \"-23x\"\n\t| \"-24x\"\n\t| \"-25x\"\n\t| \"-26x\"\n\t| \"-27x\"\n\t| \"-28x\"\n\t| \"-29x\"\n\t| \"-30x\"\n\t| \"-31x\"\n\t| \"-32x\"\n\t| \"-33x\"\n\t| \"-34x\"\n\t| \"-35x\"\n\t| \"-36x\"\n\t| \"-37x\"\n\t| \"-38x\"\n\t| \"-39x\"\n\t| \"-40x\"\n\t| \"-41x\"\n\t| \"-42x\"\n\t| \"-43x\"\n\t| \"-44x\"\n\t| \"-45x\"\n\t| \"-46x\"\n\t| \"-47x\"\n\t| \"-48x\"\n\t| \"-49x\"\n\t| \"-50x\"\n\t| \"-51x\"\n\t| \"-52x\"\n\t| \"-53x\"\n\t| \"-54x\"\n\t| \"-55x\"\n\t| \"-56x\"\n\t| \"-57x\"\n\t| \"-58x\"\n\t| \"-59x\"\n\t| \"-60x\"\n\t| \"-70x\"\n\t| \"-80x\"\n\t| \"-92x\"\n\t| \"-100x\"\n\t| \"0\"\n\t| \"025x\"\n\t| \"05x\"\n\t| \"1x\"\n\t| \"2x\"\n\t| \"3x\"\n\t| \"4x\"\n\t| \"5x\"\n\t| \"6x\"\n\t| \"7x\"\n\t| \"8x\"\n\t| \"9x\"\n\t| \"10x\"\n\t| \"11x\"\n\t| \"12x\"\n\t| \"13x\"\n\t| \"14x\"\n\t| \"15x\"\n\t| \"16x\"\n\t| \"17x\"\n\t| \"18x\"\n\t| \"19x\"\n\t| \"20x\"\n\t| \"21x\"\n\t| \"22x\"\n\t| \"23x\"\n\t| \"24x\"\n\t| \"25x\"\n\t| \"26x\"\n\t| \"27x\"\n\t| \"28x\"\n\t| \"29x\"\n\t| \"30x\"\n\t| \"31x\"\n\t| \"32x\"\n\t| \"33x\"\n\t| \"34x\"\n\t| \"35x\"\n\t| \"36x\"\n\t| \"37x\"\n\t| \"38x\"\n\t| \"39x\"\n\t| \"40x\"\n\t| \"41x\"\n\t| \"42x\"\n\t| \"43x\"\n\t| \"44x\"\n\t| \"45x\"\n\t| \"46x\"\n\t| \"47x\"\n\t| \"48x\"\n\t| \"49x\"\n\t| \"50x\"\n\t| \"51x\"\n\t| \"52x\"\n\t| \"53x\"\n\t| \"54x\"\n\t| \"55x\"\n\t| \"56x\"\n\t| \"57x\"\n\t| \"58x\"\n\t| \"59x\"\n\t| \"60x\"\n\t| \"70x\"\n\t| \"80x\"\n\t| \"92x\"\n\t| \"100x\"\n\t| \"full\"\n\t| \"half\"\n\t| \"max-content\"\n\t| \"fit-content\"\n\t| \"min-content\"\n\t| \"auto\";\n\nexport type BaseSizes =\n\t| \"full\"\n\t| \"minimal\"\n\t| \"full-width\"\n\t| \"full-height\"\n\t| \"half-width\"\n\t| \"half-height\"\n\t| \"minimal-width\"\n\t| \"minimal-height\"\n\t| \"small\"\n\t| \"regular\"\n\t| \"big\";\n\nexport type BaseColors =\n\t| \"primary\"\n\t| \"primary-dark\"\n\t| \"primary-darker\"\n\t| \"primary-light\"\n\t| \"primary-lighter\"\n\t| \"secondary\"\n\t| \"secondary-dark\"\n\t| \"secondary-darker\"\n\t| \"secondary-light\"\n\t| \"secondary-lighter\"\n\t| \"tertiary\"\n\t| \"tertiary-dark\"\n\t| \"tertiary-darker\"\n\t| \"tertiary-light\"\n\t| \"tertiary-lighter\"\n\t| \"white\"\n\t| \"black\"\n\t| \"gray\"\n\t| \"gray-dark\"\n\t| \"gray-darker\"\n\t| \"gray-light\"\n\t| \"gray-lighter\"\n\t| \"info\"\n\t| \"info-dark\"\n\t| \"info-darker\"\n\t| \"info-light\"\n\t| \"info-lighter\"\n\t| \"success\"\n\t| \"success-dark\"\n\t| \"success-darker\"\n\t| \"success-light\"\n\t| \"success-lighter\"\n\t| \"warning\"\n\t| \"warning-dark\"\n\t| \"warning-darker\"\n\t| \"warning-light\"\n\t| \"warning-lighter\"\n\t| \"error\"\n\t| \"error-dark\"\n\t| \"error-darker\"\n\t| \"error-light\"\n\t| \"error-lighter\"\n\t| \"support\"\n\t| \"support-dark\"\n\t| \"support-darker\"\n\t| \"support-light\"\n\t| \"support-lighter\"\n\t| \"transparent\";\n\nexport interface DefaultProps {\n\tclassName?: string;\n\tposition?: \"left\" | \"center\" | \"right\";\n\tmargin?: Array<BaseSizeList> | BaseSizeList;\n\tmarginTop?: BaseSizeList;\n\tmarginBottom?: BaseSizeList;\n\tmarginLeft?: BaseSizeList;\n\tmarginRight?: BaseSizeList;\n\tpadding?: Array<BaseSizeList> | BaseSizeList;\n\tpaddingTop?: BaseSizeList;\n\tpaddingBottom?: BaseSizeList;\n\tpaddingLeft?: BaseSizeList;\n\tpaddingRight?: BaseSizeList;\n\tminHeight?: BaseSizeList;\n\theight?: BaseSizeList;\n\tmaxHeight?: BaseSizeList;\n\tminWidth?: BaseSizeList;\n\twidth?: BaseSizeList;\n\tmaxWidth?: BaseSizeList;\n\tsize?: Array<BaseSizes> | BaseSizes;\n\tchildren?: React.ReactNode;\n\tbackground?: BaseColors;\n\tbackgroundColor?: BaseColors;\n\tborderColor?: BaseColors;\n\tborderRadius?: \"default\" | \"big\" | \"small\" | \"tiny\" | \"micro\" | \"none\";\n\tborderStyle?: \"solid\" | \"dashed\";\n}\n\nexport interface BaseElementProps extends DefaultProps, HTMLAttributes<HTMLElement> {\n\tchildren?: React.ReactNode;\n}\n\nexport const BaseElement = React.forwardRef(\n\t(\n\t\t{\n\t\t\tposition,\n\t\t\tmargin,\n\t\t\tmarginTop,\n\t\t\tmarginBottom,\n\t\t\tmarginLeft,\n\t\t\tmarginRight,\n\t\t\tpadding,\n\t\t\tpaddingTop,\n\t\t\tpaddingBottom,\n\t\t\tpaddingLeft,\n\t\t\tpaddingRight,\n\t\t\tsize,\n\t\t\tminHeight,\n\t\t\theight,\n\t\t\tmaxHeight,\n\t\t\tminWidth,\n\t\t\twidth,\n\t\t\tmaxWidth,\n\t\t\tbackground,\n\t\t\tbackgroundColor,\n\t\t\tborderColor,\n\t\t\tborderRadius,\n\t\t\tborderStyle,\n\t\t\tclassName,\n\t\t\tchildren,\n\t\t\t...props\n\t\t}: BaseElementProps,\n\t\tref: React.Ref<HTMLDivElement>\n\t) => {\n\t\tconst cssClasses = clsx([\n\t\t\tclassName,\n\t\t\tposition && `position-${position}`,\n\t\t\tsize && getSize(size),\n\t\t\tgetDefaultMarginClasses({ margin, marginTop, marginBottom, marginLeft, marginRight }),\n\t\t\tbackground && `background-${background}`,\n\t\t\tbackgroundColor && `background-color-${backgroundColor}`,\n\t\t\tpadding && getPadding(padding),\n\t\t\tpaddingTop && `padding-top-${paddingTop}`,\n\t\t\tpaddingBottom && `padding-bottom-${paddingBottom}`,\n\t\t\tpaddingLeft && `padding-left-${paddingLeft}`,\n\t\t\tpaddingRight && `padding-right-${paddingRight}`,\n\t\t\tminHeight && `min-height-${minHeight}`,\n\t\t\theight && `height-${height}`,\n\t\t\tmaxHeight && `max-height-${maxHeight}`,\n\t\t\tminWidth && `min-width-${minWidth}`,\n\t\t\twidth && `width-${width}`,\n\t\t\tmaxWidth && `max-width-${maxWidth}`,\n\t\t\tborderColor && `border-color-${borderColor}`,\n\t\t\tborderRadius && `border-radius-${borderRadius}`,\n\t\t\tborderStyle && `border-style-${borderStyle}`,\n\t\t]);\n\n\t\treturn (\n\t\t\t<div ref={ref} {...props} className={cssClasses} style={props.style} data-layer=\"primitive\">\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t);\n\t}\n);\n\nfunction getSize(size?: Array<string> | string) {\n\tif (Array.isArray(size)) {\n\t\treturn size.map((s) => `size-${s}`).join(\" \");\n\t}\n\treturn `size-${size}`;\n}\n\nfunction getPadding(padding: Array<string> | string) {\n\tif (Array.isArray(padding)) {\n\t\tswitch (padding.length) {\n\t\t\tdefault:\n\t\t\tcase 1:\n\t\t\t\treturn `padding-${padding[0]}`;\n\t\t\tcase 2:\n\t\t\t\treturn `padding-vertical-${padding[0]} padding-horizontal-${padding[1]}`;\n\t\t\tcase 3:\n\t\t\t\treturn `padding-top-${padding[0]} padding-horizontal-${padding[1]}\n                padding-bottom-${padding[2]}`;\n\t\t\tcase 4:\n\t\t\t\treturn `padding-top-${padding[0]} padding-right-${padding[1]}\n                padding-bottom-${padding[2]} padding-left-${padding[3]}`;\n\t\t}\n\t}\n\n\treturn `padding-${padding}`;\n}\n\nexport function getDefaultMarginClasses(\n\tprops: Pick<DefaultProps, \"margin\" | \"marginTop\" | \"marginBottom\" | \"marginLeft\" | \"marginRight\">\n) {\n\treturn [\n\t\tprops.margin && getMargin(props.margin),\n\t\tprops.marginTop && `margin-top-${props.marginTop}`,\n\t\tprops.marginBottom && `margin-bottom-${props.marginBottom}`,\n\t\tprops.marginLeft && `margin-left-${props.marginLeft}`,\n\t\tprops.marginRight && `margin-right-${props.marginRight}`,\n\t];\n}\n\nexport function getMargin(margin: Array<string> | string) {\n\tif (Array.isArray(margin)) {\n\t\tswitch (margin.length) {\n\t\t\tdefault:\n\t\t\tcase 1:\n\t\t\t\treturn `margin-${margin[0]}`;\n\t\t\tcase 2:\n\t\t\t\treturn `margin-vertical-${margin[0]} margin-horizontal-${margin[1]}`;\n\t\t\tcase 3:\n\t\t\t\treturn `margin-top-${margin[0]} margin-horizontal-${margin[1]}\n                                margin-bottom-${margin[2]}`;\n\t\t\tcase 4:\n\t\t\t\treturn `margin-top-${margin[0]} margin-right-${margin[1]}\n                                margin-bottom-${margin[2]} margin-left-${margin[3]}`;\n\t\t}\n\t}\n\n\treturn `margin-${margin}`;\n}\n","// extracted by css-extract-rspack-plugin\nexport default {\"common\":\"common_QV4hmg\",\"primary\":\"primary_XygM4g\",\"secondary\":\"secondary_vgSA8R\",\"tertiary\":\"tertiary_gxmjWF\",\"outlined\":\"outlined_acsuJp\",\"link\":\"link_WEfHWC\",\"error\":\"error_QOJ7wq\",\"admin\":\"admin_Y5wq_C\",\"tiny\":\"tiny_FDpmjO\",\"iconOnly\":\"iconOnly_vYJZMQ\",\"small\":\"small_OYLnnc\",\"iconRight\":\"iconRight_V_1KXE\",\"iconLeft\":\"iconLeft_XleJm6\",\"regular\":\"regular_tGHnlG\",\"big\":\"big_O1WrdQ\",\"loading\":\"loading_vQE1GK\"};","import { DefaultProps, getDefaultMarginClasses } from \"@base/components/common/primitives/BaseElement\";\nimport { Icon, IconProps } from \"@base/components/common/primitives/Icon\";\nimport { Loader } from \"@base/components/common/primitives/Loader\";\nimport clsx from \"clsx\";\nimport React from \"react\";\nimport styles from \"./Button.module.scss\";\nimport { capitalizeString } from \"@base/utils/stringFormatter\";\n\nexport type ButtonVariants = \"primary\" | \"secondary\" | \"tertiary\" | \"outlined\" | \"link\" | \"error\" | \"admin\";\n\nexport interface ButtonProps\n\textends Omit<DefaultProps, \"size\" | \"background\">, React.ButtonHTMLAttributes<HTMLButtonElement> {\n\tvariant?: ButtonVariants;\n\tloading?: boolean;\n\tsize?: \"tiny\" | \"small\" | \"regular\" | \"big\";\n\ticon?: IconProps;\n\ticonPlacement?: \"left\" | \"right\";\n\tdataTest?: string;\n}\n\nexport const Button = ({\n\tchildren,\n\tsize = \"regular\",\n\tvariant = \"primary\",\n\tloading = false,\n\tclassName,\n\ticon,\n\ticonPlacement = \"left\",\n\tmargin,\n\tmarginTop,\n\tmarginBottom,\n\tmarginLeft,\n\tmarginRight,\n\twidth,\n\tdataTest,\n\tdisabled,\n\t...props\n}: ButtonProps) => {\n\tconst cssClasses = clsx([\n\t\t...getDefaultMarginClasses({ margin, marginTop, marginBottom, marginLeft, marginRight }),\n\t\tloading && styles.loading,\n\t\tstyles.common,\n\t\tstyles[variant],\n\t\tstyles[size],\n\t\t(icon || loading) && !children && styles.iconOnly,\n\t\ticon?.source ? styles[`icon${capitalizeString(iconPlacement)}`] : \"\",\n\t\twidth && `width-${width}`,\n\t\tclassName,\n\t]);\n\n\tconst iconProp = icon?.source ? icon : undefined;\n\n\treturn (\n\t\t<button\n\t\t\tdata-test={dataTest}\n\t\t\tclassName={cssClasses}\n\t\t\tdisabled={loading || disabled}\n\t\t\ttype=\"button\"\n\t\t\t{...props}\n\t\t\tdata-is=\"button\"\n\t\t\tdata-layer=\"primitive\">\n\t\t\t{loading && <Loader size={size} />}\n\t\t\t{!loading && iconProp && <Icon {...iconProp} />}\n\t\t\t{children}\n\t\t</button>\n\t);\n};\n","import { ButtonProps } from \"@base/components/common/primitives/Button\";\nimport { clsx } from \"clsx\";\nimport React from \"react\";\nimport styles from \"./Loader.module.scss\";\n\ninterface LoaderProps {\n\tsize: ButtonProps[\"size\"];\n}\n\nconst loaderSizes = {\n\tsmall: styles.loaderSmall,\n\tregular: styles.loaderRegular,\n\tbig: styles.loaderBig,\n};\n\nconst Loader = ({ size }: LoaderProps) => {\n\treturn (\n\t\t// @ts-expect-error STRICT_NULL_CHECKS undefined as index\n\t\t<div className={clsx(styles.loader, loaderSizes[size])} data-layer=\"primitive\" data-is=\"loader\">\n\t\t\t{Array.from({ length: 12 }, (_, index) => (\n\t\t\t\t<div key={index} className={styles.loaderIcon} />\n\t\t\t))}\n\t\t</div>\n\t);\n};\n\nexport { Loader };\n","// extracted by css-extract-rspack-plugin\nexport default {\"loader\":\"loader_BDNDCD\",\"loaderIcon\":\"loaderIcon_teev8P\",\"loaderSmall\":\"loaderSmall_jNMp5Z\",\"loaderRegular\":\"loaderRegular_yCHeVx\",\"loaderBig\":\"loaderBig_XnJfws\",\"loaderAnimation\":\"loaderAnimation_hWxuQO\"};","import { ToastError, ToastSuccess } from \"@base/components/common/Toast\";\nimport { PlatformVersionDocument } from \"@base/core/graphql\";\nimport { useOrgStore } from \"@base/hooks/useOrgStore\";\nimport ReconnectingEventSource from \"reconnecting-eventsource\";\nimport { getAppContext, useAppConfig } from \"./CakeStore\";\n\n// @ts-expect-error STRICT_NULL_CHECKS implicit any rest\ntype ServerSentEventCallback = (Object) => void;\n\nclass ReconnectingEventSourceWithTimeout extends ReconnectingEventSource {\n\t#retryCount: number = 0;\n\t#minRetryTime: number = 5000;\n\t#jitterTime: number = 3000;\n\tstatic MAX_RETRIES = 10; // After ~1 minute stop trying\n\n\t_onerror(event: Event) {\n\t\tif (this.readyState === 1) {\n\t\t\tthis.readyState = 0;\n\t\t\tthis.onerror(event);\n\t\t} else {\n\t\t\tthis.#retryCount += 1;\n\t\t\tconsole.debug(`SSE connection error (retry ${this.#retryCount}) ${new Date().toISOString()}`, event);\n\t\t\tif (this.#retryCount >= ReconnectingEventSourceWithTimeout.MAX_RETRIES) {\n\t\t\t\tconsole.error(\"Maximum SSE retry attempts reached, closing connection.\");\n\t\t\t\tToastError(\"Could not connect to the server. Please refresh\", Infinity);\n\t\t\t\t// @ts-expect-error STRICT_NULL_CHECKS object possibly null\n\t\t\t\tthis._eventSource.close();\n\t\t\t\tthis._eventSource = null;\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tif (this._eventSource) {\n\t\t\tif (this._eventSource.readyState === 2) {\n\t\t\t\t// reconnect with new object\n\t\t\t\tthis._eventSource.close();\n\t\t\t\tthis._eventSource = null;\n\n\t\t\t\t// reconnect after random timeout < max_retry_time\n\t\t\t\tconst timeout = Math.round(this.#minRetryTime + Math.random() * this.#jitterTime);\n\t\t\t\tthis._timer = setTimeout(() => this._start(), timeout);\n\t\t\t}\n\t\t}\n\t}\n\n\t_onopen(event: Event): void {\n\t\tconsole.debug(\"SSE connection opened\", event, this._eventSource);\n\t\tthis.#retryCount = 0;\n\t\tsuper._onopen(event);\n\t}\n}\n\nclass ServerSentEvents {\n\t#privateEvents?: ReconnectingEventSourceWithTimeout = undefined;\n\t#listeners: Array<ServerSentEventCallback> = [];\n\t#skipSseOrgCheck: boolean = false;\n\n\tpublic addListener = (listener: ServerSentEventCallback) => {\n\t\tthis.#listeners.push(listener);\n\t\treturn () => this.removeListener(listener);\n\t};\n\n\tpublic removeListener = (listener: ServerSentEventCallback) => {\n\t\tthis.#listeners = this.#listeners.filter((l) => l !== listener);\n\t};\n\n\t#onEvent = (e: MessageEvent) => {\n\t\tconsole.debug(\"SSE event received\", e.data);\n\t\ttry {\n\t\t\tconst event = JSON.parse(e.data);\n\t\t\tconsole.debug(\"event received\", event);\n\t\t\tif (event.error) {\n\t\t\t\tToastError(event.error[\"message\"] || \"Unknown error\");\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (event.success) {\n\t\t\t\tToastSuccess(event.success[\"message\"]);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (!this.#skipSseOrgCheck) {\n\t\t\t\tconst organisationId =\n\t\t\t\t\tuseOrgStore.getState().selectedOrgId ?? getAppContext()?.DEFAULT_SELECTED_COMPANY_ID;\n\t\t\t\tif ((event.organisation_id || organisationId) != organisationId) {\n\t\t\t\t\tconsole.debug(\"Ignoring event from other organisation\");\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.#listeners.forEach((l) => l(event));\n\t\t} catch (err) {\n\t\t\tconsole.warn(\"failed to trigger server-side event\", err, e.data);\n\t\t}\n\t};\n\n\t#onStreamError = (e: MessageEvent) => {\n\t\t// ... client fell behind, reinitialize ...\n\t\tconsole.debug(\"stream-reset\", e);\n\t};\n\n\t#onOpen = () => {\n\t\tconsole.log(\"onOpen - checking platform version\");\n\t\tuseAppConfig\n\t\t\t.getState()\n\t\t\t?.apolloClient?.query({ query: PlatformVersionDocument })\n\t\t\t.then((response) => {\n\t\t\t\tif (response.error) {\n\t\t\t\t\treturn Promise.reject(response);\n\t\t\t\t}\n\t\t\t\tif (\n\t\t\t\t\t!window.cakeUpdateAvailable &&\n\t\t\t\t\t// @ts-expect-error STRICT_NULL_CHECKS possibly undefined value\n\t\t\t\t\tresponse.data.platformVersion !== (getAppContext()?.PLATFORM_VERSION || \"\")\n\t\t\t\t) {\n\t\t\t\t\twindow.cakeUpdateAvailable = true;\n\t\t\t\t\twindow.riot?.update();\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch(console.trace);\n\t};\n\n\tpublic initialize = (userId: string, skipSseOrgCheck: boolean = false) => {\n\t\tthis.#destroy();\n\n\t\t// Private per-user events\n\t\tthis.#privateEvents = new ReconnectingEventSourceWithTimeout(`/sse/u/${userId}/`);\n\t\tthis.#privateEvents.onopen = this.#onOpen;\n\t\tthis.#privateEvents.onerror = this.#onStreamError;\n\t\tthis.#privateEvents.onmessage = this.#onEvent;\n\t\tthis.#skipSseOrgCheck = skipSseOrgCheck;\n\t};\n\n\t#destroy = () => {\n\t\tif (this.#privateEvents) {\n\t\t\tthis.#privateEvents.close();\n\t\t\tthis.#privateEvents = undefined;\n\t\t}\n\t};\n}\n\nexport { ServerSentEvents };\n","// DecimalField(max_digits=30, decimal_places=15) allows 15 integer digits.\nexport const MAX_DECIMAL_INPUT = 1e15 - 1;\n","import type { OrganisationsOrganisationExperienceLevelChoices } from \"@base/core/graphql/enums\";\nimport Cookies from \"js-cookie\";\nimport { create } from \"zustand\";\nimport { createJSONStorage, persist } from \"zustand/middleware\";\n\nconst cookieStorage = {\n\tgetItem: (name: string) => Cookies.get(name) ?? null,\n\tsetItem: (name: string, value: string) => {\n\t\tCookies.set(name, value, { expires: 7 });\n\t},\n\tremoveItem: (name: string) => Cookies.remove(name),\n};\n\nexport interface OrganisationData {\n\tid: string;\n\tname: string;\n\tcountry: string;\n\tbillingCurrency: string;\n\tcurrency: string;\n\tcapabilities: Record<string, boolean>;\n\tpartner: { id: string; name: string; logo: string } | null;\n\tuserRoles: string[];\n\tisValid: boolean;\n\ttype: string;\n\tcompanyType: string;\n\tfundingPhase?: string;\n\tcreatorRole?: string;\n\texperienceLevel?: OrganisationsOrganisationExperienceLevelChoices;\n\tcreated?: string;\n\tlogoImage?: string;\n\tenableLedger?: boolean;\n}\n\ninterface OrgStore {\n\tselectedOrgId: string;\n\torganisationData: OrganisationData | null;\n\tloading: boolean;\n\tshowChecklist: boolean;\n\thideAuthorizedSharesPrompt: boolean;\n\torgResetting: boolean;\n\tinitialize: (orgData: OrganisationData) => void;\n\tresetOrganisation: (orgId?: string, redirectPath?: string) => void;\n\tsetShowChecklist: (show: boolean) => void;\n\tsetHideAuthorizedSharesPrompt: (hide: boolean) => void;\n\tcanEditShareRegistry: boolean;\n\tcanAdminShareRegistry: boolean;\n\tcanManageSalaries: boolean;\n\tisLLC: boolean;\n\tisCSF: boolean;\n}\n\nconst REDIRECT_KEY = \"org-bad-redirects\";\nconst REDIRECT_LIMIT = 3;\n\nconst safeCount = (): number => {\n\tconst raw = localStorage.getItem(REDIRECT_KEY);\n\tconst parsed = parseInt(raw || \"0\", 10);\n\treturn Number.isNaN(parsed) ? 0 : parsed;\n};\n\nconst badOrgDetection = (orgId: string) => {\n\tif (orgId === \"00000000-0000-0000-0000-00000000000\") {\n\t\tconsole.error(\"Invalid organisation ID detected.\");\n\t\tCookies.remove(\"org-store\", { path: \"/\" });\n\n\t\t// Increment counter safely\n\t\tconst count = safeCount() + 1;\n\t\ttry {\n\t\t\tlocalStorage.setItem(REDIRECT_KEY, String(count));\n\t\t} catch {\n\t\t\t// If localStorage is full or inaccessible, fallback to in-memory redirect\n\t\t\tconsole.warn(\"Could not write redirect counter to localStorage.\");\n\t\t}\n\n\t\tif (count >= REDIRECT_LIMIT) {\n\t\t\talert(\n\t\t\t\t\"We detected repeated redirects while loading your organisation. \" +\n\t\t\t\t\t\"We'll log you out to reset your session. If this keeps happening, please contact support.\"\n\t\t\t);\n\t\t\tlocalStorage.removeItem(REDIRECT_KEY);\n\t\t\twindow.location.replace(\"/resetsession\");\n\t\t} else {\n\t\t\twindow.location.replace(\"/\");\n\t\t}\n\t\treturn true;\n\t}\n\n\t// Success: clear counter\n\tlocalStorage.removeItem(REDIRECT_KEY);\n\treturn false;\n};\n\nexport const useOrgStore = create<OrgStore>()(\n\tpersist(\n\t\t(set, get) => ({\n\t\t\tselectedOrgId: \"\",\n\t\t\torgResetting: false,\n\n\t\t\torganisationData: null,\n\t\t\tloading: false,\n\t\t\terror: null,\n\n\t\t\tshowChecklist: true,\n\t\t\thideAuthorizedSharesPrompt: false,\n\t\t\tcanAdminShareRegistry: false,\n\t\t\tcanEditShareRegistry: false,\n\t\t\tcanManageSalaries: false,\n\t\t\tisLLC: false,\n\t\t\tisCSF: false,\n\n\t\t\tresetOrganisation: (id, redirectPath = \"/\") => {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tset({ organisationData: null, loading: false, selectedOrgId: id || \"\", orgResetting: true });\n\t\t\t\t\twindow.location.replace(redirectPath);\n\t\t\t\t}, 0);\n\t\t\t},\n\n\t\t\tsetShowChecklist: (show) => set({ showChecklist: show }),\n\t\t\tsetHideAuthorizedSharesPrompt: (hide) => set({ hideAuthorizedSharesPrompt: hide }),\n\t\t\tinitialize: (orgData) => {\n\t\t\t\tconst orgResetting = get().orgResetting;\n\t\t\t\tif (badOrgDetection(orgData.id)) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// @ts-expect-error STRICT_NULL_CHECKS implicit any parameter\n\t\t\t\tconst hasUserCompanyRoles = (roles) => {\n\t\t\t\t\tconst desiredRoles = Array.isArray(roles) ? roles : [roles];\n\t\t\t\t\tif (!orgData.userRoles) return false;\n\t\t\t\t\treturn desiredRoles.some((role) => orgData.userRoles.includes(role));\n\t\t\t\t};\n\n\t\t\t\tconst canAdminShareRegistry = hasUserCompanyRoles([\"ADVISOR\", \"ADMIN\", \"SUPPORT\"]);\n\n\t\t\t\tset({\n\t\t\t\t\tselectedOrgId: orgData.id,\n\t\t\t\t\torganisationData: orgData,\n\t\t\t\t\tloading: false,\n\t\t\t\t\torgResetting: false,\n\t\t\t\t\tcanAdminShareRegistry: canAdminShareRegistry,\n\t\t\t\t\tcanManageSalaries: canAdminShareRegistry,\n\t\t\t\t\tcanEditShareRegistry: hasUserCompanyRoles([\"ADVISOR\", \"EDIT\", \"ADMIN\", \"SUPPORT\"]),\n\t\t\t\t\tisLLC: orgData.type === \"LLC\",\n\t\t\t\t\tisCSF: orgData.type === \"CSF\",\n\t\t\t\t});\n\n\t\t\t\tif (orgResetting) {\n\t\t\t\t\tconsole.debug(\"Organisation reset detected, reloading organisation data.\");\n\t\t\t\t}\n\t\t\t},\n\t\t}),\n\t\t{\n\t\t\tname: \"org-store\",\n\t\t\tstorage: createJSONStorage(() => cookieStorage),\n\t\t\tpartialize: (state) => {\n\t\t\t\tif (badOrgDetection(state?.selectedOrgId)) {\n\t\t\t\t\treturn undefined;\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tselectedOrgId: state.selectedOrgId,\n\t\t\t\t\tshowChecklist: state.showChecklist,\n\t\t\t\t\thideAuthorizedSharesPrompt: state.hideAuthorizedSharesPrompt,\n\t\t\t\t};\n\t\t\t},\n\t\t}\n\t)\n);\n"],"names":["e","BaseElement","React","position","margin","marginTop","marginBottom","marginLeft","marginRight","padding","paddingTop","paddingBottom","paddingLeft","paddingRight","size","minHeight","height","maxHeight","minWidth","width","maxWidth","background","backgroundColor","borderColor","borderRadius","borderStyle","className","children","props","ref","cssClasses","clsx","Array","s","getDefaultMarginClasses","getPadding","getMargin","Button","variant","loading","icon","iconPlacement","dataTest","disabled","styles","capitalizeString","iconProp","undefined","Loader","Icon","loaderSizes","_","index","ReconnectingEventSourceWithTimeout","ReconnectingEventSource","event","console","Date","ToastError","Infinity","timeout","Math","setTimeout","ServerSentEvents","listener","l","JSON","ToastSuccess","organisationId","useOrgStore","getAppContext","err","useAppConfig","PlatformVersionDocument","response","Promise","window","userId","skipSseOrgCheck","cookieStorage","name","Cookies","value","REDIRECT_KEY","badOrgDetection","orgId","parsed","count","safeCount","Number","parseInt","raw","localStorage","String","alert","create","persist","set","get","id","redirectPath","show","hide","orgData","orgResetting","hasUserCompanyRoles","roles","desiredRoles","role","canAdminShareRegistry","createJSONStorage","state"],"mappings":"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"}