@nemme/js-sdk 0.2.1 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../../node_modules/react-dom/client.js","../../node_modules/react-i18next/dist/es/utils.js","../../node_modules/react-i18next/dist/es/unescape.js","../../node_modules/react-i18next/dist/es/defaults.js","../../node_modules/react-i18next/dist/es/i18nInstance.js","../../node_modules/react-i18next/dist/es/initReactI18next.js","../../node_modules/react-i18next/dist/es/context.js","../../node_modules/react-i18next/dist/es/useTranslation.js","../../node_modules/react-i18next/dist/es/I18nextProvider.js","../../node_modules/react/cjs/react-jsx-runtime.production.min.js","../../node_modules/react/jsx-runtime.js","../src/forms/form-wrapper/step.tsx","../src/forms/form-wrapper/form-wrapper.tsx","../../node_modules/@phosphor-icons/react/dist/defs/ArrowSquareOut.es.js","../../node_modules/@phosphor-icons/react/dist/defs/CaretLeft.es.js","../../node_modules/@phosphor-icons/react/dist/defs/CaretRight.es.js","../../node_modules/@phosphor-icons/react/dist/defs/X.es.js","../../node_modules/@phosphor-icons/react/dist/lib/context.es.js","../../node_modules/@phosphor-icons/react/dist/lib/IconBase.es.js","../../node_modules/@phosphor-icons/react/dist/csr/ArrowSquareOut.es.js","../../node_modules/@phosphor-icons/react/dist/csr/CaretLeft.es.js","../../node_modules/@phosphor-icons/react/dist/csr/CaretRight.es.js","../../node_modules/@phosphor-icons/react/dist/csr/X.es.js","../../ui-kit/dist/index.es.js","../src/forms/question-wrapper.tsx","../src/forms/question-choice/question-choice.tsx","../src/forms/question-text/question-text.tsx","../src/forms/transition-wrapper.tsx","../src/forms/transition-end/transition-end.tsx","../src/forms/transition-start/transition-start.tsx","../../node_modules/date-fns/_lib/defaultOptions.js","../../node_modules/date-fns/locale/en-US/_lib/formatDistance.js","../../node_modules/date-fns/locale/_lib/buildFormatLongFn.js","../../node_modules/date-fns/locale/en-US/_lib/formatRelative.js","../../node_modules/date-fns/locale/_lib/buildLocalizeFn.js","../../node_modules/date-fns/locale/en-US/_lib/localize.js","../../node_modules/date-fns/locale/_lib/buildMatchFn.js","../../node_modules/date-fns/locale/_lib/buildMatchPatternFn.js","../../node_modules/date-fns/locale/en-US/_lib/match.js","../../node_modules/date-fns/setDefaultOptions.js","../../node_modules/date-fns/locale/en-GB/_lib/formatLong.js","../../node_modules/date-fns/locale/en-GB.js","../../node_modules/i18next/dist/esm/i18next.js","../../node_modules/i18next-browser-languagedetector/dist/esm/i18nextBrowserLanguageDetector.js","../src/config.ts","../src/i18n.ts","../src/utils/logger.ts","../src/networking/httpClient.ts","../src/forms/form-manager.ts","../src/deliveries/delivery-manager.ts","../src/tracking/tracking-manager.ts","../src/client.ts","../src/react/context.ts","../src/react/NemmeProvider.tsx","../src/react/useNemmeContext.ts","../src/react/useNemme.ts","../src/browser.ts"],"sourcesContent":["'use strict';\n\nvar m = require('react-dom');\nif (process.env.NODE_ENV === 'production') {\n exports.createRoot = m.createRoot;\n exports.hydrateRoot = m.hydrateRoot;\n} else {\n var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n exports.createRoot = function(c, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.createRoot(c, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n exports.hydrateRoot = function(c, h, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.hydrateRoot(c, h, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n}\n","export const warn = (i18n, code, msg, rest) => {\n const args = [msg, {\n code,\n ...(rest || {})\n }];\n if (i18n?.services?.logger?.forward) {\n return i18n.services.logger.forward(args, 'warn', 'react-i18next::', true);\n }\n if (isString(args[0])) args[0] = `react-i18next:: ${args[0]}`;\n if (i18n?.services?.logger?.warn) {\n i18n.services.logger.warn(...args);\n } else if (console?.warn) {\n console.warn(...args);\n }\n};\nconst alreadyWarned = {};\nexport const warnOnce = (i18n, code, msg, rest) => {\n if (isString(msg) && alreadyWarned[msg]) return;\n if (isString(msg)) alreadyWarned[msg] = new Date();\n warn(i18n, code, msg, rest);\n};\nconst loadedClb = (i18n, cb) => () => {\n if (i18n.isInitialized) {\n cb();\n } else {\n const initialized = () => {\n setTimeout(() => {\n i18n.off('initialized', initialized);\n }, 0);\n cb();\n };\n i18n.on('initialized', initialized);\n }\n};\nexport const loadNamespaces = (i18n, ns, cb) => {\n i18n.loadNamespaces(ns, loadedClb(i18n, cb));\n};\nexport const loadLanguages = (i18n, lng, ns, cb) => {\n if (isString(ns)) ns = [ns];\n if (i18n.options.preload && i18n.options.preload.indexOf(lng) > -1) return loadNamespaces(i18n, ns, cb);\n ns.forEach(n => {\n if (i18n.options.ns.indexOf(n) < 0) i18n.options.ns.push(n);\n });\n i18n.loadLanguages(lng, loadedClb(i18n, cb));\n};\nexport const hasLoadedNamespace = (ns, i18n, options = {}) => {\n if (!i18n.languages || !i18n.languages.length) {\n warnOnce(i18n, 'NO_LANGUAGES', 'i18n.languages were undefined or empty', {\n languages: i18n.languages\n });\n return true;\n }\n return i18n.hasLoadedNamespace(ns, {\n lng: options.lng,\n precheck: (i18nInstance, loadNotPending) => {\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18nInstance.services.backendConnector.backend && i18nInstance.isLanguageChangingTo && !loadNotPending(i18nInstance.isLanguageChangingTo, ns)) return false;\n }\n });\n};\nexport const getDisplayName = Component => Component.displayName || Component.name || (isString(Component) && Component.length > 0 ? Component : 'Unknown');\nexport const isString = obj => typeof obj === 'string';\nexport const isObject = obj => typeof obj === 'object' && obj !== null;","const matchHtmlEntity = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g;\nconst htmlEntities = {\n '&amp;': '&',\n '&#38;': '&',\n '&lt;': '<',\n '&#60;': '<',\n '&gt;': '>',\n '&#62;': '>',\n '&apos;': \"'\",\n '&#39;': \"'\",\n '&quot;': '\"',\n '&#34;': '\"',\n '&nbsp;': ' ',\n '&#160;': ' ',\n '&copy;': '©',\n '&#169;': '©',\n '&reg;': '®',\n '&#174;': '®',\n '&hellip;': '…',\n '&#8230;': '…',\n '&#x2F;': '/',\n '&#47;': '/'\n};\nconst unescapeHtmlEntity = m => htmlEntities[m];\nexport const unescape = text => text.replace(matchHtmlEntity, unescapeHtmlEntity);","import { unescape } from './unescape.js';\nlet defaultOptions = {\n bindI18n: 'languageChanged',\n bindI18nStore: '',\n transEmptyNodeValue: '',\n transSupportBasicHtmlNodes: true,\n transWrapTextNodes: '',\n transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p'],\n useSuspense: true,\n unescape\n};\nexport const setDefaults = (options = {}) => {\n defaultOptions = {\n ...defaultOptions,\n ...options\n };\n};\nexport const getDefaults = () => defaultOptions;","let i18nInstance;\nexport const setI18n = instance => {\n i18nInstance = instance;\n};\nexport const getI18n = () => i18nInstance;","import { setDefaults } from './defaults.js';\nimport { setI18n } from './i18nInstance.js';\nexport const initReactI18next = {\n type: '3rdParty',\n init(instance) {\n setDefaults(instance.options.react);\n setI18n(instance);\n }\n};","import { createContext } from 'react';\nimport { getDefaults, setDefaults } from './defaults.js';\nimport { getI18n, setI18n } from './i18nInstance.js';\nimport { initReactI18next } from './initReactI18next.js';\nexport { getDefaults, setDefaults, getI18n, setI18n, initReactI18next };\nexport const I18nContext = createContext();\nexport class ReportNamespaces {\n constructor() {\n this.usedNamespaces = {};\n }\n addUsedNamespaces(namespaces) {\n namespaces.forEach(ns => {\n if (!this.usedNamespaces[ns]) this.usedNamespaces[ns] = true;\n });\n }\n getUsedNamespaces() {\n return Object.keys(this.usedNamespaces);\n }\n}\nexport const composeInitialProps = ForComponent => async ctx => {\n const componentsInitialProps = (await ForComponent.getInitialProps?.(ctx)) ?? {};\n const i18nInitialProps = getInitialProps();\n return {\n ...componentsInitialProps,\n ...i18nInitialProps\n };\n};\nexport const getInitialProps = () => {\n const i18n = getI18n();\n const namespaces = i18n.reportNamespaces?.getUsedNamespaces() ?? [];\n const ret = {};\n const initialI18nStore = {};\n i18n.languages.forEach(l => {\n initialI18nStore[l] = {};\n namespaces.forEach(ns => {\n initialI18nStore[l][ns] = i18n.getResourceBundle(l, ns) || {};\n });\n });\n ret.initialI18nStore = initialI18nStore;\n ret.initialLanguage = i18n.language;\n return ret;\n};","import { useState, useEffect, useContext, useRef, useCallback } from 'react';\nimport { getI18n, getDefaults, ReportNamespaces, I18nContext } from './context.js';\nimport { warnOnce, loadNamespaces, loadLanguages, hasLoadedNamespace, isString, isObject } from './utils.js';\nconst usePrevious = (value, ignore) => {\n const ref = useRef();\n useEffect(() => {\n ref.current = ignore ? ref.current : value;\n }, [value, ignore]);\n return ref.current;\n};\nconst alwaysNewT = (i18n, language, namespace, keyPrefix) => i18n.getFixedT(language, namespace, keyPrefix);\nconst useMemoizedT = (i18n, language, namespace, keyPrefix) => useCallback(alwaysNewT(i18n, language, namespace, keyPrefix), [i18n, language, namespace, keyPrefix]);\nexport const useTranslation = (ns, props = {}) => {\n const {\n i18n: i18nFromProps\n } = props;\n const {\n i18n: i18nFromContext,\n defaultNS: defaultNSFromContext\n } = useContext(I18nContext) || {};\n const i18n = i18nFromProps || i18nFromContext || getI18n();\n if (i18n && !i18n.reportNamespaces) i18n.reportNamespaces = new ReportNamespaces();\n if (!i18n) {\n warnOnce(i18n, 'NO_I18NEXT_INSTANCE', 'useTranslation: You will need to pass in an i18next instance by using initReactI18next');\n const notReadyT = (k, optsOrDefaultValue) => {\n if (isString(optsOrDefaultValue)) return optsOrDefaultValue;\n if (isObject(optsOrDefaultValue) && isString(optsOrDefaultValue.defaultValue)) return optsOrDefaultValue.defaultValue;\n return Array.isArray(k) ? k[k.length - 1] : k;\n };\n const retNotReady = [notReadyT, {}, false];\n retNotReady.t = notReadyT;\n retNotReady.i18n = {};\n retNotReady.ready = false;\n return retNotReady;\n }\n if (i18n.options.react?.wait) warnOnce(i18n, 'DEPRECATED_OPTION', 'useTranslation: It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.');\n const i18nOptions = {\n ...getDefaults(),\n ...i18n.options.react,\n ...props\n };\n const {\n useSuspense,\n keyPrefix\n } = i18nOptions;\n let namespaces = ns || defaultNSFromContext || i18n.options?.defaultNS;\n namespaces = isString(namespaces) ? [namespaces] : namespaces || ['translation'];\n i18n.reportNamespaces.addUsedNamespaces?.(namespaces);\n const ready = (i18n.isInitialized || i18n.initializedStoreOnce) && namespaces.every(n => hasLoadedNamespace(n, i18n, i18nOptions));\n const memoGetT = useMemoizedT(i18n, props.lng || null, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0], keyPrefix);\n const getT = () => memoGetT;\n const getNewT = () => alwaysNewT(i18n, props.lng || null, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0], keyPrefix);\n const [t, setT] = useState(getT);\n let joinedNS = namespaces.join();\n if (props.lng) joinedNS = `${props.lng}${joinedNS}`;\n const previousJoinedNS = usePrevious(joinedNS);\n const isMounted = useRef(true);\n useEffect(() => {\n const {\n bindI18n,\n bindI18nStore\n } = i18nOptions;\n isMounted.current = true;\n if (!ready && !useSuspense) {\n if (props.lng) {\n loadLanguages(i18n, props.lng, namespaces, () => {\n if (isMounted.current) setT(getNewT);\n });\n } else {\n loadNamespaces(i18n, namespaces, () => {\n if (isMounted.current) setT(getNewT);\n });\n }\n }\n if (ready && previousJoinedNS && previousJoinedNS !== joinedNS && isMounted.current) {\n setT(getNewT);\n }\n const boundReset = () => {\n if (isMounted.current) setT(getNewT);\n };\n if (bindI18n) i18n?.on(bindI18n, boundReset);\n if (bindI18nStore) i18n?.store.on(bindI18nStore, boundReset);\n return () => {\n isMounted.current = false;\n if (i18n && bindI18n) bindI18n?.split(' ').forEach(e => i18n.off(e, boundReset));\n if (bindI18nStore && i18n) bindI18nStore.split(' ').forEach(e => i18n.store.off(e, boundReset));\n };\n }, [i18n, joinedNS]);\n useEffect(() => {\n if (isMounted.current && ready) {\n setT(getT);\n }\n }, [i18n, keyPrefix, ready]);\n const ret = [t, i18n, ready];\n ret.t = t;\n ret.i18n = i18n;\n ret.ready = ready;\n if (ready) return ret;\n if (!ready && !useSuspense) return ret;\n throw new Promise(resolve => {\n if (props.lng) {\n loadLanguages(i18n, props.lng, namespaces, () => resolve());\n } else {\n loadNamespaces(i18n, namespaces, () => resolve());\n }\n });\n};","import { createElement, useMemo } from 'react';\nimport { I18nContext } from './context.js';\nexport function I18nextProvider({\n i18n,\n defaultNS,\n children\n}) {\n const value = useMemo(() => ({\n i18n,\n defaultNS\n }), [i18n, defaultNS]);\n return createElement(I18nContext.Provider, {\n value\n }, children);\n}","/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","import { FC } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { QuestionChoice, QuestionText, TransitionEnd, TransitionStart } from '..';\nimport { FormState } from './form-wrapper';\n\ntype Props = {\n step: number;\n form: Form;\n formState: FormState;\n onDismiss: (formState: FormState) => void;\n onNextStep: () => void;\n onPreviousStep: () => void;\n onUpdateResponse: (questionId: number, answer: string | number[]) => void;\n};\n\nexport const Step: FC<Props> = ({ step, form, formState, onDismiss, onNextStep, onPreviousStep, onUpdateResponse }) => {\n const { t } = useTranslation();\n\n // Helper function to determine what type of step we're on\n const getStepInfo = (stepOrder: number) => {\n let currentOrder = 0;\n\n // Check if this is the start transition\n if (form.startTransition) {\n if (stepOrder === currentOrder) {\n return { type: 'start' as const, transition: form.startTransition };\n }\n currentOrder++;\n }\n\n // Check if this is a question\n const questionIndex = stepOrder - currentOrder;\n if (questionIndex >= 0 && questionIndex < form.questions.length) {\n return { type: 'question' as const, questionIndex, question: form.questions[questionIndex] };\n }\n currentOrder += form.questions.length;\n\n // Check if this is the end transition\n if (form.endTransition && stepOrder === currentOrder) {\n return { type: 'end' as const, transition: form.endTransition };\n }\n\n return null;\n };\n\n const stepInfo = getStepInfo(step);\n\n if (stepInfo?.type === 'start') {\n const {\n title,\n description,\n image,\n includeOptOut,\n customStartButton,\n startButtonText,\n customOptOutButton,\n optOutButtonText\n } = stepInfo.transition as StartTransition;\n return (\n <TransitionStart\n title={title}\n description={description}\n icon={form.icon}\n image={image}\n quitText={includeOptOut ? (customOptOutButton ? optOutButtonText : t('Quit')) : undefined}\n onQuit={includeOptOut ? () => onDismiss(formState) : undefined}\n startText={customStartButton ? startButtonText : t('Start')}\n onStart={onNextStep}\n />\n );\n }\n\n if (stepInfo?.type === 'end') {\n const { title, description, image, customEndButton, endButtonText, customEndButtonLink, endButtonLink } =\n stepInfo.transition as EndTransition;\n return (\n <TransitionEnd\n title={title}\n description={description}\n icon={form.icon}\n image={image}\n quitText={customEndButton ? endButtonText : t('Done')}\n onQuit={onNextStep}\n externalLink={customEndButtonLink ? endButtonLink : undefined}\n />\n );\n }\n\n if (stepInfo?.type === 'question') {\n const { question } = stepInfo;\n\n if (question.questionType === 'choice') {\n const { title, description, image, alternatives, maxSelections, required } = question as ChoiceQuestion;\n const selectedAlternatives = (formState.responses[question.id] as number[]) || [];\n const isValid =\n (maxSelections ? selectedAlternatives.length <= maxSelections || maxSelections === 4 : true) &&\n (required ? selectedAlternatives.length > 0 : true);\n\n return (\n <QuestionChoice\n title={title}\n description={description}\n image={image}\n alternatives={alternatives}\n onPrevious={onPreviousStep}\n onNext={onNextStep}\n icon={form.icon}\n maxAlternatives={maxSelections}\n onQuit={() => onDismiss(formState)}\n selectedAlternatives={selectedAlternatives}\n onAlternativeSelect={(alternativeIndex: number) => {\n // Handle single or multiple selection based on question config\n const isMultiple = maxSelections > 1;\n if (isMultiple) {\n const current = selectedAlternatives;\n const updated = current.includes(alternativeIndex)\n ? current.filter(i => i !== alternativeIndex)\n : maxSelections && current.length >= maxSelections && maxSelections != 4\n ? current\n : [...current, alternativeIndex];\n onUpdateResponse(question.id, updated);\n } else {\n if (selectedAlternatives.includes(alternativeIndex)) {\n onUpdateResponse(question.id, []);\n } else {\n onUpdateResponse(question.id, [alternativeIndex]);\n }\n }\n }}\n isValid={isValid}\n />\n );\n }\n\n if (question.questionType === 'text') {\n const { title, description, image, maxChars, limited, required } = question as TextQuestion;\n const inputText = (formState.responses[question.id] as string) || '';\n const isValid =\n (limited && maxChars ? inputText.length <= maxChars : true) && (required ? inputText.length > 0 : true);\n\n return (\n <QuestionText\n title={title}\n icon={form.icon}\n description={description}\n onNext={onNextStep}\n onPrevious={onPreviousStep}\n onQuit={() => onDismiss(formState)}\n image={image}\n maxCharacters={limited ? maxChars : undefined}\n inputText={inputText}\n setInputText={(text: string) => {\n if (limited && maxChars && text.length > maxChars) return;\n onUpdateResponse(question.id, text);\n }}\n isValid={isValid}\n />\n );\n }\n }\n\n return null;\n};\n","import { FC, useCallback, useState } from 'react';\nimport { Step } from './step';\n\nexport type FormState = {\n responses: Record<number, string | number[]>; // questionId -> response\n currentStep: number; // Sequential step number\n startedAt: Date;\n completedAt?: Date;\n};\n\nexport type Props = {\n form: Form;\n onDismiss: (formState: FormState) => Promise<void>;\n onComplete: (formState: FormState) => Promise<void>;\n};\n\nexport const FormWrapper: FC<Props> = ({ form, onDismiss, onComplete }) => {\n // Calculate total steps: startTransition + questions + endTransition\n const totalSteps = (form.startTransition ? 1 : 0) + form.questions.length + (form.endTransition ? 1 : 0);\n const lastStepIndex = totalSteps - 1;\n\n const [formState, setFormState] = useState<FormState>({\n responses: {},\n currentStep: 0,\n startedAt: new Date()\n });\n\n const updateResponse = useCallback((questionId: number, answer: string | number[]) => {\n setFormState(prev => ({\n ...prev,\n responses: {\n ...prev.responses,\n [questionId]: answer\n }\n }));\n }, []);\n\n const navigateToStep = useCallback((stepOrder: number) => {\n setFormState(prev => ({\n ...prev,\n currentStep: stepOrder\n }));\n }, []);\n\n const nextStep = useCallback(() => {\n if (formState.currentStep < lastStepIndex) {\n navigateToStep(formState.currentStep + 1);\n } else {\n const completedFormState = {\n ...formState,\n completedAt: new Date()\n };\n onComplete(completedFormState);\n }\n }, [formState, lastStepIndex, navigateToStep, onComplete]);\n\n const previousStep = useCallback(() => {\n if (formState.currentStep > 0) {\n navigateToStep(formState.currentStep - 1);\n }\n }, [formState.currentStep, navigateToStep]);\n return (\n <div className=\"flex flex-col justify-center items-center absolute inset-0 bg-overlay-background-default-light dark:bg-overlay-background-default-dark\">\n <Step\n step={formState.currentStep}\n form={form}\n formState={formState}\n onDismiss={onDismiss}\n onNextStep={nextStep}\n onPreviousStep={previousStep}\n onUpdateResponse={updateResponse}\n />\n </div>\n );\n};\n","import * as a from \"react\";\nconst e = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M228,104a12,12,0,0,1-24,0V69l-59.51,59.51a12,12,0,0,1-17-17L187,52H152a12,12,0,0,1,0-24h64a12,12,0,0,1,12,12Zm-44,24a12,12,0,0,0-12,12v64H52V84h64a12,12,0,0,0,0-24H48A20,20,0,0,0,28,80V208a20,20,0,0,0,20,20H176a20,20,0,0,0,20-20V140A12,12,0,0,0,184,128Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\n \"path\",\n {\n d: \"M184,80V208a8,8,0,0,1-8,8H48a8,8,0,0,1-8-8V80a8,8,0,0,1,8-8H176A8,8,0,0,1,184,80Z\",\n opacity: \"0.2\"\n }\n ), /* @__PURE__ */ a.createElement(\"path\", { d: \"M224,104a8,8,0,0,1-16,0V59.32l-66.33,66.34a8,8,0,0,1-11.32-11.32L196.68,48H152a8,8,0,0,1,0-16h64a8,8,0,0,1,8,8Zm-40,24a8,8,0,0,0-8,8v72H48V80h72a8,8,0,0,0,0-16H48A16,16,0,0,0,32,80V208a16,16,0,0,0,16,16H176a16,16,0,0,0,16-16V136A8,8,0,0,0,184,128Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M192,136v72a16,16,0,0,1-16,16H48a16,16,0,0,1-16-16V80A16,16,0,0,1,48,64h72a8,8,0,0,1,0,16H48V208H176V136a8,8,0,0,1,16,0Zm32-96a8,8,0,0,0-8-8H152a8,8,0,0,0-5.66,13.66L172.69,72l-42.35,42.34a8,8,0,0,0,11.32,11.32L184,83.31l26.34,26.35A8,8,0,0,0,224,104Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M222,104a6,6,0,0,1-12,0V54.49l-69.75,69.75a6,6,0,0,1-8.48-8.48L201.51,46H152a6,6,0,0,1,0-12h64a6,6,0,0,1,6,6Zm-38,26a6,6,0,0,0-6,6v72a2,2,0,0,1-2,2H48a2,2,0,0,1-2-2V80a2,2,0,0,1,2-2h72a6,6,0,0,0,0-12H48A14,14,0,0,0,34,80V208a14,14,0,0,0,14,14H176a14,14,0,0,0,14-14V136A6,6,0,0,0,184,130Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M224,104a8,8,0,0,1-16,0V59.32l-66.33,66.34a8,8,0,0,1-11.32-11.32L196.68,48H152a8,8,0,0,1,0-16h64a8,8,0,0,1,8,8Zm-40,24a8,8,0,0,0-8,8v72H48V80h72a8,8,0,0,0,0-16H48A16,16,0,0,0,32,80V208a16,16,0,0,0,16,16H176a16,16,0,0,0,16-16V136A8,8,0,0,0,184,128Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M220,104a4,4,0,0,1-8,0V49.66l-73.16,73.17a4,4,0,0,1-5.66-5.66L206.34,44H152a4,4,0,0,1,0-8h64a4,4,0,0,1,4,4Zm-36,28a4,4,0,0,0-4,4v72a4,4,0,0,1-4,4H48a4,4,0,0,1-4-4V80a4,4,0,0,1,4-4h72a4,4,0,0,0,0-8H48A12,12,0,0,0,36,80V208a12,12,0,0,0,12,12H176a12,12,0,0,0,12-12V136A4,4,0,0,0,184,132Z\" }))\n ]\n]);\nexport {\n e as default\n};\n","import * as e from \"react\";\nconst a = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M168.49,199.51a12,12,0,0,1-17,17l-80-80a12,12,0,0,1,0-17l80-80a12,12,0,0,1,17,17L97,128Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M160,48V208L80,128Z\", opacity: \"0.2\" }), /* @__PURE__ */ e.createElement(\"path\", { d: \"M163.06,40.61a8,8,0,0,0-8.72,1.73l-80,80a8,8,0,0,0,0,11.32l80,80A8,8,0,0,0,168,208V48A8,8,0,0,0,163.06,40.61ZM152,188.69,91.31,128,152,67.31Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M168,48V208a8,8,0,0,1-13.66,5.66l-80-80a8,8,0,0,1,0-11.32l80-80A8,8,0,0,1,168,48Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M164.24,203.76a6,6,0,1,1-8.48,8.48l-80-80a6,6,0,0,1,0-8.48l80-80a6,6,0,0,1,8.48,8.48L88.49,128Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M165.66,202.34a8,8,0,0,1-11.32,11.32l-80-80a8,8,0,0,1,0-11.32l80-80a8,8,0,0,1,11.32,11.32L91.31,128Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M162.83,205.17a4,4,0,0,1-5.66,5.66l-80-80a4,4,0,0,1,0-5.66l80-80a4,4,0,1,1,5.66,5.66L85.66,128Z\" }))\n ]\n]);\nexport {\n a as default\n};\n","import * as e from \"react\";\nconst t = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M184.49,136.49l-80,80a12,12,0,0,1-17-17L159,128,87.51,56.49a12,12,0,1,1,17-17l80,80A12,12,0,0,1,184.49,136.49Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M176,128,96,208V48Z\", opacity: \"0.2\" }), /* @__PURE__ */ e.createElement(\"path\", { d: \"M181.66,122.34l-80-80A8,8,0,0,0,88,48V208a8,8,0,0,0,13.66,5.66l80-80A8,8,0,0,0,181.66,122.34ZM104,188.69V67.31L164.69,128Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M181.66,133.66l-80,80A8,8,0,0,1,88,208V48a8,8,0,0,1,13.66-5.66l80,80A8,8,0,0,1,181.66,133.66Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M180.24,132.24l-80,80a6,6,0,0,1-8.48-8.48L167.51,128,91.76,52.24a6,6,0,0,1,8.48-8.48l80,80A6,6,0,0,1,180.24,132.24Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M181.66,133.66l-80,80a8,8,0,0,1-11.32-11.32L164.69,128,90.34,53.66a8,8,0,0,1,11.32-11.32l80,80A8,8,0,0,1,181.66,133.66Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M178.83,130.83l-80,80a4,4,0,0,1-5.66-5.66L170.34,128,93.17,50.83a4,4,0,0,1,5.66-5.66l80,80A4,4,0,0,1,178.83,130.83Z\" }))\n ]\n]);\nexport {\n t as default\n};\n","import * as e from \"react\";\nconst a = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M208.49,191.51a12,12,0,0,1-17,17L128,145,64.49,208.49a12,12,0,0,1-17-17L111,128,47.51,64.49a12,12,0,0,1,17-17L128,111l63.51-63.52a12,12,0,0,1,17,17L145,128Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\n \"path\",\n {\n d: \"M216,56V200a16,16,0,0,1-16,16H56a16,16,0,0,1-16-16V56A16,16,0,0,1,56,40H200A16,16,0,0,1,216,56Z\",\n opacity: \"0.2\"\n }\n ), /* @__PURE__ */ e.createElement(\"path\", { d: \"M205.66,194.34a8,8,0,0,1-11.32,11.32L128,139.31,61.66,205.66a8,8,0,0,1-11.32-11.32L116.69,128,50.34,61.66A8,8,0,0,1,61.66,50.34L128,116.69l66.34-66.35a8,8,0,0,1,11.32,11.32L139.31,128Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM181.66,170.34a8,8,0,0,1-11.32,11.32L128,139.31,85.66,181.66a8,8,0,0,1-11.32-11.32L116.69,128,74.34,85.66A8,8,0,0,1,85.66,74.34L128,116.69l42.34-42.35a8,8,0,0,1,11.32,11.32L139.31,128Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M204.24,195.76a6,6,0,1,1-8.48,8.48L128,136.49,60.24,204.24a6,6,0,0,1-8.48-8.48L119.51,128,51.76,60.24a6,6,0,0,1,8.48-8.48L128,119.51l67.76-67.75a6,6,0,0,1,8.48,8.48L136.49,128Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M205.66,194.34a8,8,0,0,1-11.32,11.32L128,139.31,61.66,205.66a8,8,0,0,1-11.32-11.32L116.69,128,50.34,61.66A8,8,0,0,1,61.66,50.34L128,116.69l66.34-66.35a8,8,0,0,1,11.32,11.32L139.31,128Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M202.83,197.17a4,4,0,0,1-5.66,5.66L128,133.66,58.83,202.83a4,4,0,0,1-5.66-5.66L122.34,128,53.17,58.83a4,4,0,0,1,5.66-5.66L128,122.34l69.17-69.17a4,4,0,1,1,5.66,5.66L133.66,128Z\" }))\n ]\n]);\nexport {\n a as default\n};\n","import { createContext as r } from \"react\";\nconst o = r({\n color: \"currentColor\",\n size: \"1em\",\n weight: \"regular\",\n mirrored: !1\n});\nexport {\n o as IconContext\n};\n","import * as e from \"react\";\nimport { IconContext as h } from \"./context.es.js\";\nconst p = e.forwardRef(\n (s, a) => {\n const {\n alt: n,\n color: r,\n size: t,\n weight: o,\n mirrored: c,\n children: i,\n weights: m,\n ...x\n } = s, {\n color: d = \"currentColor\",\n size: l,\n weight: f = \"regular\",\n mirrored: g = !1,\n ...w\n } = e.useContext(h);\n return /* @__PURE__ */ e.createElement(\n \"svg\",\n {\n ref: a,\n xmlns: \"http://www.w3.org/2000/svg\",\n width: t != null ? t : l,\n height: t != null ? t : l,\n fill: r != null ? r : d,\n viewBox: \"0 0 256 256\",\n transform: c || g ? \"scale(-1, 1)\" : void 0,\n ...w,\n ...x\n },\n !!n && /* @__PURE__ */ e.createElement(\"title\", null, n),\n i,\n m.get(o != null ? o : f)\n );\n }\n);\np.displayName = \"IconBase\";\nexport {\n p as default\n};\n","import * as r from \"react\";\nimport a from \"../lib/IconBase.es.js\";\nimport m from \"../defs/ArrowSquareOut.es.js\";\nconst o = r.forwardRef((e, t) => /* @__PURE__ */ r.createElement(a, { ref: t, ...e, weights: m }));\no.displayName = \"ArrowSquareOutIcon\";\nconst n = o;\nexport {\n n as ArrowSquareOut,\n o as ArrowSquareOutIcon\n};\n","import * as e from \"react\";\nimport a from \"../lib/IconBase.es.js\";\nimport f from \"../defs/CaretLeft.es.js\";\nconst t = e.forwardRef((o, r) => /* @__PURE__ */ e.createElement(a, { ref: r, ...o, weights: f }));\nt.displayName = \"CaretLeftIcon\";\nconst s = t;\nexport {\n s as CaretLeft,\n t as CaretLeftIcon\n};\n","import * as t from \"react\";\nimport a from \"../lib/IconBase.es.js\";\nimport i from \"../defs/CaretRight.es.js\";\nconst e = t.forwardRef((o, r) => /* @__PURE__ */ t.createElement(a, { ref: r, ...o, weights: i }));\ne.displayName = \"CaretRightIcon\";\nconst s = e;\nexport {\n s as CaretRight,\n e as CaretRightIcon\n};\n","import * as o from \"react\";\nimport a from \"../lib/IconBase.es.js\";\nimport m from \"../defs/X.es.js\";\nconst e = o.forwardRef((r, t) => /* @__PURE__ */ o.createElement(a, { ref: t, ...r, weights: m }));\ne.displayName = \"XIcon\";\nconst n = e;\nexport {\n n as X,\n e as XIcon\n};\n","import W2, { useState as $, useRef as f2, useEffect as p2, Fragment as Z2 } from \"react\";\nimport { IconContext as z, CaretDownIcon as _0, XIcon as Y2, MagnifyingGlassIcon as B0, CheckIcon as K2, CopyIcon as T0 } from \"@phosphor-icons/react\";\nvar a2 = { exports: {} }, Y = {};\n/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nvar O2;\nfunction D0() {\n if (O2) return Y;\n O2 = 1;\n var a = W2, t = Symbol.for(\"react.element\"), c = Symbol.for(\"react.fragment\"), n = Object.prototype.hasOwnProperty, o = a.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, d = { key: !0, ref: !0, __self: !0, __source: !0 };\n function u(g, h, D) {\n var m, w = {}, F = null, H = null;\n D !== void 0 && (F = \"\" + D), h.key !== void 0 && (F = \"\" + h.key), h.ref !== void 0 && (H = h.ref);\n for (m in h) n.call(h, m) && !d.hasOwnProperty(m) && (w[m] = h[m]);\n if (g && g.defaultProps) for (m in h = g.defaultProps, h) w[m] === void 0 && (w[m] = h[m]);\n return { $$typeof: t, type: g, key: F, ref: H, props: w, _owner: o.current };\n }\n return Y.Fragment = c, Y.jsx = u, Y.jsxs = u, Y;\n}\nvar K = {};\n/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nvar S2;\nfunction L0() {\n return S2 || (S2 = 1, process.env.NODE_ENV !== \"production\" && (function() {\n var a = W2, t = Symbol.for(\"react.element\"), c = Symbol.for(\"react.portal\"), n = Symbol.for(\"react.fragment\"), o = Symbol.for(\"react.strict_mode\"), d = Symbol.for(\"react.profiler\"), u = Symbol.for(\"react.provider\"), g = Symbol.for(\"react.context\"), h = Symbol.for(\"react.forward_ref\"), D = Symbol.for(\"react.suspense\"), m = Symbol.for(\"react.suspense_list\"), w = Symbol.for(\"react.memo\"), F = Symbol.for(\"react.lazy\"), H = Symbol.for(\"react.offscreen\"), P = Symbol.iterator, L = \"@@iterator\";\n function S(e) {\n if (e === null || typeof e != \"object\")\n return null;\n var i = P && e[P] || e[L];\n return typeof i == \"function\" ? i : null;\n }\n var V = a.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n function j(e) {\n {\n for (var i = arguments.length, s = new Array(i > 1 ? i - 1 : 0), x = 1; x < i; x++)\n s[x - 1] = arguments[x];\n G(\"error\", e, s);\n }\n }\n function G(e, i, s) {\n {\n var x = V.ReactDebugCurrentFrame, y = x.getStackAddendum();\n y !== \"\" && (i += \"%s\", s = s.concat([y]));\n var C = s.map(function(p) {\n return String(p);\n });\n C.unshift(\"Warning: \" + i), Function.prototype.apply.call(console[e], console, C);\n }\n }\n var J = !1, t2 = !1, i2 = !1, E = !1, I = !1, X;\n X = Symbol.for(\"react.module.reference\");\n function J2(e) {\n return !!(typeof e == \"string\" || typeof e == \"function\" || e === n || e === d || I || e === o || e === D || e === m || E || e === H || J || t2 || i2 || typeof e == \"object\" && e !== null && (e.$$typeof === F || e.$$typeof === w || e.$$typeof === u || e.$$typeof === g || e.$$typeof === h || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n e.$$typeof === X || e.getModuleId !== void 0));\n }\n function X2(e, i, s) {\n var x = e.displayName;\n if (x)\n return x;\n var y = i.displayName || i.name || \"\";\n return y !== \"\" ? s + \"(\" + y + \")\" : s;\n }\n function h2(e) {\n return e.displayName || \"Context\";\n }\n function N(e) {\n if (e == null)\n return null;\n if (typeof e.tag == \"number\" && j(\"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"), typeof e == \"function\")\n return e.displayName || e.name || null;\n if (typeof e == \"string\")\n return e;\n switch (e) {\n case n:\n return \"Fragment\";\n case c:\n return \"Portal\";\n case d:\n return \"Profiler\";\n case o:\n return \"StrictMode\";\n case D:\n return \"Suspense\";\n case m:\n return \"SuspenseList\";\n }\n if (typeof e == \"object\")\n switch (e.$$typeof) {\n case g:\n var i = e;\n return h2(i) + \".Consumer\";\n case u:\n var s = e;\n return h2(s._context) + \".Provider\";\n case h:\n return X2(e, e.render, \"ForwardRef\");\n case w:\n var x = e.displayName || null;\n return x !== null ? x : N(e.type) || \"Memo\";\n case F: {\n var y = e, C = y._payload, p = y._init;\n try {\n return N(p(C));\n } catch {\n return null;\n }\n }\n }\n return null;\n }\n var A = Object.assign, W = 0, y2, C2, b2, k2, v2, m2, w2;\n function j2() {\n }\n j2.__reactDisabledLog = !0;\n function Q2() {\n {\n if (W === 0) {\n y2 = console.log, C2 = console.info, b2 = console.warn, k2 = console.error, v2 = console.group, m2 = console.groupCollapsed, w2 = console.groupEnd;\n var e = {\n configurable: !0,\n enumerable: !0,\n value: j2,\n writable: !0\n };\n Object.defineProperties(console, {\n info: e,\n log: e,\n warn: e,\n error: e,\n group: e,\n groupCollapsed: e,\n groupEnd: e\n });\n }\n W++;\n }\n }\n function e0() {\n {\n if (W--, W === 0) {\n var e = {\n configurable: !0,\n enumerable: !0,\n writable: !0\n };\n Object.defineProperties(console, {\n log: A({}, e, {\n value: y2\n }),\n info: A({}, e, {\n value: C2\n }),\n warn: A({}, e, {\n value: b2\n }),\n error: A({}, e, {\n value: k2\n }),\n group: A({}, e, {\n value: v2\n }),\n groupCollapsed: A({}, e, {\n value: m2\n }),\n groupEnd: A({}, e, {\n value: w2\n })\n });\n }\n W < 0 && j(\"disabledDepth fell below zero. This is a bug in React. Please file an issue.\");\n }\n }\n var c2 = V.ReactCurrentDispatcher, n2;\n function Q(e, i, s) {\n {\n if (n2 === void 0)\n try {\n throw Error();\n } catch (y) {\n var x = y.stack.trim().match(/\\n( *(at )?)/);\n n2 = x && x[1] || \"\";\n }\n return `\n` + n2 + e;\n }\n }\n var s2 = !1, e2;\n {\n var r0 = typeof WeakMap == \"function\" ? WeakMap : Map;\n e2 = new r0();\n }\n function E2(e, i) {\n if (!e || s2)\n return \"\";\n {\n var s = e2.get(e);\n if (s !== void 0)\n return s;\n }\n var x;\n s2 = !0;\n var y = Error.prepareStackTrace;\n Error.prepareStackTrace = void 0;\n var C;\n C = c2.current, c2.current = null, Q2();\n try {\n if (i) {\n var p = function() {\n throw Error();\n };\n if (Object.defineProperty(p.prototype, \"props\", {\n set: function() {\n throw Error();\n }\n }), typeof Reflect == \"object\" && Reflect.construct) {\n try {\n Reflect.construct(p, []);\n } catch (T) {\n x = T;\n }\n Reflect.construct(e, [], p);\n } else {\n try {\n p.call();\n } catch (T) {\n x = T;\n }\n e.call(p.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (T) {\n x = T;\n }\n e();\n }\n } catch (T) {\n if (T && x && typeof T.stack == \"string\") {\n for (var f = T.stack.split(`\n`), _ = x.stack.split(`\n`), k = f.length - 1, v = _.length - 1; k >= 1 && v >= 0 && f[k] !== _[v]; )\n v--;\n for (; k >= 1 && v >= 0; k--, v--)\n if (f[k] !== _[v]) {\n if (k !== 1 || v !== 1)\n do\n if (k--, v--, v < 0 || f[k] !== _[v]) {\n var R = `\n` + f[k].replace(\" at new \", \" at \");\n return e.displayName && R.includes(\"<anonymous>\") && (R = R.replace(\"<anonymous>\", e.displayName)), typeof e == \"function\" && e2.set(e, R), R;\n }\n while (k >= 1 && v >= 0);\n break;\n }\n }\n } finally {\n s2 = !1, c2.current = C, e0(), Error.prepareStackTrace = y;\n }\n var q = e ? e.displayName || e.name : \"\", O = q ? Q(q) : \"\";\n return typeof e == \"function\" && e2.set(e, O), O;\n }\n function l0(e, i, s) {\n return E2(e, !1);\n }\n function a0(e) {\n var i = e.prototype;\n return !!(i && i.isReactComponent);\n }\n function r2(e, i, s) {\n if (e == null)\n return \"\";\n if (typeof e == \"function\")\n return E2(e, a0(e));\n if (typeof e == \"string\")\n return Q(e);\n switch (e) {\n case D:\n return Q(\"Suspense\");\n case m:\n return Q(\"SuspenseList\");\n }\n if (typeof e == \"object\")\n switch (e.$$typeof) {\n case h:\n return l0(e.render);\n case w:\n return r2(e.type);\n case F: {\n var x = e, y = x._payload, C = x._init;\n try {\n return r2(C(y));\n } catch {\n }\n }\n }\n return \"\";\n }\n var Z = Object.prototype.hasOwnProperty, F2 = {}, _2 = V.ReactDebugCurrentFrame;\n function l2(e) {\n if (e) {\n var i = r2(e.type);\n _2.setExtraStackFrame(i);\n } else\n _2.setExtraStackFrame(null);\n }\n function t0(e, i, s, x, y) {\n {\n var C = Function.call.bind(Z);\n for (var p in e)\n if (C(e, p)) {\n var f = void 0;\n try {\n if (typeof e[p] != \"function\") {\n var _ = Error((x || \"React class\") + \": \" + s + \" type `\" + p + \"` is invalid; it must be a function, usually from the `prop-types` package, but received `\" + typeof e[p] + \"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");\n throw _.name = \"Invariant Violation\", _;\n }\n f = e[p](i, p, x, s, null, \"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\");\n } catch (k) {\n f = k;\n }\n f && !(f instanceof Error) && (l2(y), j(\"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\", x || \"React class\", s, p, typeof f), l2(null)), f instanceof Error && !(f.message in F2) && (F2[f.message] = !0, l2(y), j(\"Failed %s type: %s\", s, f.message), l2(null));\n }\n }\n }\n var i0 = Array.isArray;\n function o2(e) {\n return i0(e);\n }\n function c0(e) {\n {\n var i = typeof Symbol == \"function\" && Symbol.toStringTag, s = i && e[Symbol.toStringTag] || e.constructor.name || \"Object\";\n return s;\n }\n }\n function n0(e) {\n try {\n return !1;\n } catch {\n return !0;\n }\n }\n function s0(e) {\n return \"\" + e;\n }\n function B2(e) {\n if (n0())\n return j(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\", c0(e)), s0(e);\n }\n var o0 = V.ReactCurrentOwner, d0 = {\n key: !0,\n ref: !0,\n __self: !0,\n __source: !0\n }, T2, D2;\n function u0(e) {\n if (Z.call(e, \"ref\")) {\n var i = Object.getOwnPropertyDescriptor(e, \"ref\").get;\n if (i && i.isReactWarning)\n return !1;\n }\n return e.ref !== void 0;\n }\n function x0(e) {\n if (Z.call(e, \"key\")) {\n var i = Object.getOwnPropertyDescriptor(e, \"key\").get;\n if (i && i.isReactWarning)\n return !1;\n }\n return e.key !== void 0;\n }\n function g0(e, i) {\n {\n var s = function() {\n T2 || (T2 = !0, j(\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\", i));\n };\n s.isReactWarning = !0, Object.defineProperty(e, \"key\", {\n get: s,\n configurable: !0\n });\n }\n }\n function f0(e, i) {\n {\n var s = function() {\n D2 || (D2 = !0, j(\"%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\", i));\n };\n s.isReactWarning = !0, Object.defineProperty(e, \"ref\", {\n get: s,\n configurable: !0\n });\n }\n }\n var p0 = function(e, i, s, x, y, C, p) {\n var f = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: t,\n // Built-in properties that belong on the element\n type: e,\n key: i,\n ref: s,\n props: p,\n // Record the component responsible for creating this element.\n _owner: C\n };\n return f._store = {}, Object.defineProperty(f._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: !1\n }), Object.defineProperty(f, \"_self\", {\n configurable: !1,\n enumerable: !1,\n writable: !1,\n value: x\n }), Object.defineProperty(f, \"_source\", {\n configurable: !1,\n enumerable: !1,\n writable: !1,\n value: y\n }), Object.freeze && (Object.freeze(f.props), Object.freeze(f)), f;\n };\n function h0(e, i, s, x, y) {\n {\n var C, p = {}, f = null, _ = null;\n s !== void 0 && (B2(s), f = \"\" + s), x0(i) && (B2(i.key), f = \"\" + i.key), u0(i) && (_ = i.ref);\n for (C in i)\n Z.call(i, C) && !d0.hasOwnProperty(C) && (p[C] = i[C]);\n if (e && e.defaultProps) {\n var k = e.defaultProps;\n for (C in k)\n p[C] === void 0 && (p[C] = k[C]);\n }\n if (f || _) {\n var v = typeof e == \"function\" ? e.displayName || e.name || \"Unknown\" : e;\n f && g0(p, v), _ && f0(p, v);\n }\n return p0(e, f, _, y, x, o0.current, p);\n }\n }\n var d2 = V.ReactCurrentOwner, L2 = V.ReactDebugCurrentFrame;\n function M(e) {\n if (e) {\n var i = r2(e.type);\n L2.setExtraStackFrame(i);\n } else\n L2.setExtraStackFrame(null);\n }\n var u2;\n u2 = !1;\n function x2(e) {\n return typeof e == \"object\" && e !== null && e.$$typeof === t;\n }\n function R2() {\n {\n if (d2.current) {\n var e = N(d2.current.type);\n if (e)\n return `\n\nCheck the render method of \\`` + e + \"`.\";\n }\n return \"\";\n }\n }\n function y0(e) {\n return \"\";\n }\n var H2 = {};\n function C0(e) {\n {\n var i = R2();\n if (!i) {\n var s = typeof e == \"string\" ? e : e.displayName || e.name;\n s && (i = `\n\nCheck the top-level render call using <` + s + \">.\");\n }\n return i;\n }\n }\n function P2(e, i) {\n {\n if (!e._store || e._store.validated || e.key != null)\n return;\n e._store.validated = !0;\n var s = C0(i);\n if (H2[s])\n return;\n H2[s] = !0;\n var x = \"\";\n e && e._owner && e._owner !== d2.current && (x = \" It was passed a child from \" + N(e._owner.type) + \".\"), M(e), j('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.', s, x), M(null);\n }\n }\n function V2(e, i) {\n {\n if (typeof e != \"object\")\n return;\n if (o2(e))\n for (var s = 0; s < e.length; s++) {\n var x = e[s];\n x2(x) && P2(x, i);\n }\n else if (x2(e))\n e._store && (e._store.validated = !0);\n else if (e) {\n var y = S(e);\n if (typeof y == \"function\" && y !== e.entries)\n for (var C = y.call(e), p; !(p = C.next()).done; )\n x2(p.value) && P2(p.value, i);\n }\n }\n }\n function b0(e) {\n {\n var i = e.type;\n if (i == null || typeof i == \"string\")\n return;\n var s;\n if (typeof i == \"function\")\n s = i.propTypes;\n else if (typeof i == \"object\" && (i.$$typeof === h || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n i.$$typeof === w))\n s = i.propTypes;\n else\n return;\n if (s) {\n var x = N(i);\n t0(s, e.props, \"prop\", x, e);\n } else if (i.PropTypes !== void 0 && !u2) {\n u2 = !0;\n var y = N(i);\n j(\"Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?\", y || \"Unknown\");\n }\n typeof i.getDefaultProps == \"function\" && !i.getDefaultProps.isReactClassApproved && j(\"getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.\");\n }\n }\n function k0(e) {\n {\n for (var i = Object.keys(e.props), s = 0; s < i.length; s++) {\n var x = i[s];\n if (x !== \"children\" && x !== \"key\") {\n M(e), j(\"Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.\", x), M(null);\n break;\n }\n }\n e.ref !== null && (M(e), j(\"Invalid attribute `ref` supplied to `React.Fragment`.\"), M(null));\n }\n }\n var N2 = {};\n function A2(e, i, s, x, y, C) {\n {\n var p = J2(e);\n if (!p) {\n var f = \"\";\n (e === void 0 || typeof e == \"object\" && e !== null && Object.keys(e).length === 0) && (f += \" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.\");\n var _ = y0();\n _ ? f += _ : f += R2();\n var k;\n e === null ? k = \"null\" : o2(e) ? k = \"array\" : e !== void 0 && e.$$typeof === t ? (k = \"<\" + (N(e.type) || \"Unknown\") + \" />\", f = \" Did you accidentally export a JSX literal instead of a component?\") : k = typeof e, j(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\", k, f);\n }\n var v = h0(e, i, s, y, C);\n if (v == null)\n return v;\n if (p) {\n var R = i.children;\n if (R !== void 0)\n if (x)\n if (o2(R)) {\n for (var q = 0; q < R.length; q++)\n V2(R[q], e);\n Object.freeze && Object.freeze(R);\n } else\n j(\"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.\");\n else\n V2(R, e);\n }\n if (Z.call(i, \"key\")) {\n var O = N(e), T = Object.keys(i).filter(function(F0) {\n return F0 !== \"key\";\n }), g2 = T.length > 0 ? \"{key: someKey, \" + T.join(\": ..., \") + \": ...}\" : \"{key: someKey}\";\n if (!N2[O + g2]) {\n var E0 = T.length > 0 ? \"{\" + T.join(\": ..., \") + \": ...}\" : \"{}\";\n j(`A props object containing a \"key\" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />`, g2, O, E0, O), N2[O + g2] = !0;\n }\n }\n return e === n ? k0(v) : b0(v), v;\n }\n }\n function v0(e, i, s) {\n return A2(e, i, s, !0);\n }\n function m0(e, i, s) {\n return A2(e, i, s, !1);\n }\n var w0 = m0, j0 = v0;\n K.Fragment = n, K.jsx = w0, K.jsxs = j0;\n })()), K;\n}\nvar I2;\nfunction R0() {\n return I2 || (I2 = 1, process.env.NODE_ENV === \"production\" ? a2.exports = /* @__PURE__ */ D0() : a2.exports = /* @__PURE__ */ L0()), a2.exports;\n}\nvar r = /* @__PURE__ */ R0();\nconst z2 = ({\n variant: a = \"primary\",\n size: t = \"medium\",\n text: c,\n iconBefore: n,\n iconAfter: o,\n className: d,\n disabled: u = !1,\n ...g\n}) => /* @__PURE__ */ r.jsx(\n \"button\",\n {\n className: b(\n \"flex gap-2 justify-center items-center rounded-lg disabled:pointer-events-none\",\n H0(a),\n P0(t),\n d\n ),\n disabled: u,\n ...g,\n children: /* @__PURE__ */ r.jsxs(\n z.Provider,\n {\n value: {\n size: t === \"xsmall\" ? 8 : 16,\n weight: \"regular\",\n className: b(M2(a, u))\n },\n children: [\n n && n,\n c && /* @__PURE__ */ r.jsx(\"span\", { className: b(M2(a, u), V0(t)), children: c }),\n o && o\n ]\n }\n )\n }\n), H0 = (a) => {\n switch (a) {\n case \"primary\":\n return \"border border-grey-0/0 bg-primary-action-button-light dark:bg-primary-action-button-dark hover:bg-primary-action-button-hover-light dark:hover:bg-primary-action-button-hover-dark disabled:bg-primary-action-disabled-light dark:disabled:bg-primary-action-disabled-dark\";\n case \"secondary\":\n return \"border border-grey-0/0 bg-secondary-action-base-light dark:bg-secondary-action-base-dark hover:bg-system-neutral-grey-8-light dark:hover:bg-system-neutral-grey-8-dark disabled:bg-secondary-action-disabled-light dark:disabled:bg-secondary-action-disabled-dark\";\n case \"neutral\":\n return \"border border-separator-regular-light dark:border-separator-regular-dark hover:bg-background-universal-overlay-light dark:hover:bg-background-universal-overlay-dark disabled:bg-secondary-action-disabled-light dark:disabled:bg-secondary-action-disabled-dark disabled:border-separator-opaque-light dark:disabled:border-separator-opaque-dark\";\n case \"subtle\":\n return \"border border-grey-0/0 hover:bg-background-universal-overlay-light dark:hover:bg-background-universal-overlay-dark\";\n }\n}, M2 = (a, t) => {\n if (t) return \"text-label-tertiary-light dark:text-label-tertiary-dark\";\n switch (a) {\n case \"primary\":\n return \"text-nonadaptable-text-light\";\n case \"secondary\":\n return \"text-label-quaternary-light dark:text-label-quaternary-dark\";\n case \"neutral\":\n return \"text-label-primary-light dark:text-label-primary-dark\";\n case \"subtle\":\n return \"text-label-primary-light dark:text-label-primary-dark\";\n }\n}, P0 = (a) => {\n switch (a) {\n case \"xsmall\":\n return \"p-1\";\n case \"small\":\n return \"p-2\";\n case \"medium\":\n return \"p-3\";\n }\n}, V0 = (a) => {\n switch (a) {\n case \"xsmall\":\n return \"text-[10px] leading-[14px]\";\n case \"small\":\n return \"text-[13px] leading-[14px]\";\n case \"medium\":\n return \"text-[15px] leading-[16px] -tracking-0,1\";\n }\n}, q2 = ({ text: a, active: t = !1 }) => /* @__PURE__ */ r.jsx(\n \"div\",\n {\n className: b(\n \"flex p-2 rounded-lg hover:bg-background-universal-overlay-light dark:hover:bg-background-universal-overlay-dark\",\n t && \"bg-background-universal-overlay-light dark:bg-background-universal-overlay-dark\"\n ),\n children: /* @__PURE__ */ r.jsx(B, { variant: \"B2Button\", children: a })\n }\n), N0 = ({ text: a, selected: t, significance: c, onClick: n }) => /* @__PURE__ */ r.jsx(\n \"button\",\n {\n onClick: n,\n className: b(\n \"flex items-center p-2 border border-grey-0/0\",\n t && \"border-b-label-primary-light dark:border-b-label-primary-dark\"\n ),\n children: /* @__PURE__ */ r.jsx(B, { variant: \"B2Button\", significance: c, children: a })\n }\n), X0 = ({\n variant: a = \"primary\",\n size: t = \"medium\",\n text: c,\n iconBefore: n,\n iconAfter: o,\n className: d,\n disabled: u = !1,\n ...g\n}) => {\n const h = !c && (!!n || !!o);\n return /* @__PURE__ */ r.jsx(\n \"button\",\n {\n className: b(\n \"flex gap-2 justify-center items-center group\",\n A0(a),\n O0(t),\n {\n \"rounded-full\": h,\n \"rounded-md\": !h\n },\n d\n ),\n disabled: u,\n ...g,\n children: /* @__PURE__ */ r.jsx(r.Fragment, { children: /* @__PURE__ */ r.jsxs(\n z.Provider,\n {\n value: {\n size: t === \"xsmall\" ? 8 : 16,\n weight: \"regular\",\n className: b($2(a), {\n \"[&]:text-label-tertiary-light [&]:dark:text-label-tertiary-dark [&]:group-hover:text-label-tertiary-light [&]:group-hover:dark:text-label-tertiary-dark\": u\n })\n },\n children: [\n n && n,\n c && /* @__PURE__ */ r.jsx(\n B,\n {\n variant: t === \"xsmall\" ? \"M\" : t === \"small\" ? \"B2Button\" : \"B1Button\",\n className: b($2(a), {\n \"[&]:text-label-tertiary-light [&]:dark:text-label-tertiary-dark [&]:group-hover:text-label-tertiary-light [&]:group-hover:dark:text-label-tertiary-dark\": u\n }),\n children: c\n }\n ),\n o && o\n ]\n }\n ) })\n }\n );\n}, A0 = (a) => {\n switch (a) {\n case \"primary\":\n return \"bg-danger-background-light dark:bg-danger-background-dark hover:bg-danger-hover-light dark:hover:bg-danger-hover-dark disabled:bg-primary-action-disabled-light dark:disabled:bg-primary-action-disabled-dark disabled:border disabled:border-separator-opaque-light dark:disabled:border-separator-opaque-dark\";\n case \"subtle\":\n return \"hover:bg-danger-background-light dark:hover:bg-danger-background-dark border border-[rgba(255,255,255,0.0)] hover:border-danger-accessible-light hover:dark:border-danger-accessible-dark disabled:bg-secondary-action-disabled-light dark:disabled:bg-secondary-action-disabled-dark disabled:border-separator-opaque-light dark:disabled:border-separator-opaque-dark\";\n }\n}, $2 = (a) => {\n switch (a) {\n case \"primary\":\n return \"[&]:text-danger-accessible-light [&]:dark:text-danger-accessible-dark group-hover:text-label-quaternary-light dark:group-hover:text-label-quaternary-dark\";\n case \"subtle\":\n return \"[&]:text-danger-accessible-light [&]:dark:text-danger-accessible-dark\";\n }\n}, O0 = (a) => {\n switch (a) {\n case \"xsmall\":\n return \"p-1\";\n case \"small\":\n return \"p-2\";\n case \"medium\":\n return \"p-3\";\n }\n}, Q0 = ({\n label: a,\n selectedKey: t,\n setSelectedKey: c,\n options: n\n}) => {\n const o = n.find((g) => g.key === t), [d, u] = $(!1);\n return /* @__PURE__ */ r.jsxs(\"div\", { className: \"flex flex-col gap-3 pt-4 pb-6\", children: [\n a && /* @__PURE__ */ r.jsx(\n \"div\",\n {\n onClick: () => u(!d),\n \"aria-expanded\": d,\n \"aria-controls\": \"dropdown-menu\",\n role: \"label\",\n className: \"flex cursor-pointer\",\n children: /* @__PURE__ */ r.jsx(B, { variant: \"H4\", children: a })\n }\n ),\n /* @__PURE__ */ r.jsxs(\"div\", { className: \"flex flex-col\", children: [\n /* @__PURE__ */ r.jsxs(\n \"button\",\n {\n role: \"button\",\n \"aria-expanded\": d,\n \"aria-controls\": \"dropdown-menu\",\n onClick: () => u(!d),\n className: \"flex items-center gap-2 justify-between px-2 py-3 border rounded-lg border-separator-regular-light dark:border-separator-regular-dark\",\n children: [\n /* @__PURE__ */ r.jsx(B, { variant: \"B1Button\", children: o == null ? void 0 : o.value }),\n /* @__PURE__ */ r.jsx(_0, { size: 16 })\n ]\n }\n ),\n /* @__PURE__ */ r.jsx(\"div\", { className: \"flex flex-col relative\", children: d && /* @__PURE__ */ r.jsx(\"div\", { className: \"flex flex-col absolute w-full top-1 gap-2 px-2 py-3 shadow-lg rounded-lg z-10 backdrop-blur-xl bg-background-universal-overlay-light dark:bg-background-universal-overlay-dark border-separator-regular-light dark:border-separator-regular-dark\", children: n.map((g) => /* @__PURE__ */ r.jsx(\n \"button\",\n {\n role: \"option\",\n \"aria-selected\": g.key === t,\n \"aria-label\": g.value,\n \"aria-controls\": \"dropdown-menu\",\n \"aria-expanded\": d,\n className: b(\n \"flex items-center gap-2 py-1 px-2 rounded text-label-primary-light dark:text-label-primary-dark hover:bg-overlay-fill-default-light dark:hover:bg-overlay-fill-default-dark\",\n g.key === t && \"bg-overlay-fill-default-light dark:bg-overlay-fill-default-dark\"\n ),\n onClick: () => {\n c(g.key), u(!1);\n },\n children: /* @__PURE__ */ r.jsx(B, { children: g.value })\n },\n g.key\n )) }) })\n ] })\n ] });\n};\nfunction G2(a) {\n var t, c, n = \"\";\n if (typeof a == \"string\" || typeof a == \"number\") n += a;\n else if (typeof a == \"object\") if (Array.isArray(a)) {\n var o = a.length;\n for (t = 0; t < o; t++) a[t] && (c = G2(a[t])) && (n && (n += \" \"), n += c);\n } else for (c in a) a[c] && (n && (n += \" \"), n += c);\n return n;\n}\nfunction S0() {\n for (var a, t, c = 0, n = \"\", o = arguments.length; c < o; c++) (a = arguments[c]) && (t = G2(a)) && (n && (n += \" \"), n += t);\n return n;\n}\nconst b = S0, B = ({ children: a, className: t, variant: c = \"B1\", significance: n = \"primary\", as: o }) => {\n const d = o ?? I0[c], u = U[c];\n return /* @__PURE__ */ r.jsx(d, { className: b(\"font-sans\", M0[n], t, u), children: a });\n}, U = {\n Di1: \"text-[72px] font-bold leading-[90px] -tracking-2,5\",\n Di2: \"text-[60px] font-bold leading-[72px] -tracking-2,0\",\n Di3: \"text-[48px] font-bold leading-[60px] -tracking-1,5\",\n T1: \"text-[40px] font-bold leading-[48px] -tracking-1,5\",\n T2: \"text-[32px] font-bold leading-[40px] -tracking-1\",\n T3: \"text-[24px] font-bold leading-[32px] -tracking-0,5\",\n H1: \"text-[24px] font-bold leading-[32px] -tracking-0,5\",\n H2: \"text-[20px] font-bold leading-[24px]\",\n H3: \"text-[15px] font-bold leading-[20px]\",\n H4: \"text-[13px] font-bold leading-[16px]\",\n B1B: \"text-[15px] font-bold leading-[24px] -tracking-0,1\",\n B1: \"text-[15px] leading-[24px] -tracking-0,1\",\n B1Button: \"text-[15px] leading-[16px] -tracking-0,1\",\n B2: \"text-[13px] leading-[20px]\",\n B2Button: \"text-[13px] leading-[16px]\",\n D1B: \"text-[12px] font-bold leading-[16px]\",\n D1: \"text-[12px] leading-[16px]\",\n M: \"text-[10px] leading-[16px]\"\n}, I0 = {\n Di1: \"h1\",\n Di2: \"h2\",\n Di3: \"h3\",\n T1: \"h1\",\n T2: \"h2\",\n T3: \"h3\",\n H1: \"h1\",\n H2: \"h2\",\n H3: \"h3\",\n H4: \"h4\",\n B1B: \"p\",\n B1: \"p\",\n B1Button: \"span\",\n B2: \"p\",\n B2Button: \"span\",\n D1B: \"p\",\n D1: \"p\",\n M: \"p\"\n}, M0 = {\n primary: \"text-label-primary-light dark:text-label-primary-dark\",\n secondary: \"text-label-secondary-light dark:text-label-secondary-dark\",\n tertiary: \"text-label-tertiary-light dark:text-label-tertiary-dark\",\n quaternary: \"text-label-quaternary-light dark:text-label-quaternary-dark\",\n placeholder: \"text-label-placeholder-light dark:text-label-placeholder-dark\",\n \"nonadaptable-text\": \"text-nonadaptable-text-light dark:text-nonadaptable-text-dark\",\n disabled: \"text-primary-action-disabled-light dark:text-primary-action-disabled-dark\"\n}, U2 = ({ children: a, className: t, variant: c = \"B1\", significance: n = \"primary\", as: o }) => {\n const d = o ?? $0[c], u = q0[c];\n return /* @__PURE__ */ r.jsx(d, { className: b(\"font-code\", U0[n], t, u), children: a });\n}, q0 = {\n B1B: \"text-[15px] font-bold leading-[24px]\",\n B1: \"text-[15px] leading-[24px]\",\n B1Button: \"text-[15px] leading-[16px]\",\n B2: \"text-[13px] leading-[20px]\",\n B2Button: \"text-[13px] leading-[16px]\"\n}, $0 = {\n B1B: \"p\",\n B1: \"p\",\n B1Button: \"span\",\n B2: \"p\",\n B2Button: \"span\"\n}, U0 = {\n primary: \"text-label-primary-light dark:text-label-primary-dark\",\n secondary: \"text-label-secondary-light dark:text-label-secondary-dark\",\n tertiary: \"text-label-tertiary-light dark:text-label-tertiary-dark\",\n quaternary: \"text-label-quaternary-light dark:text-label-quaternary-dark\",\n placeholder: \"text-label-placeholder-light dark:text-label-placeholder-dark\",\n \"nonadaptable-text\": \"text-nonadaptable-text-light dark:text-nonadaptable-text-dark\",\n disabled: \"text-primary-action-disabled-light dark:text-primary-action-disabled-dark\"\n}, ee = ({ children: a, className: t, variant: c = \"H1B\", significance: n = \"primary\", as: o }) => {\n const d = o ?? Z0[c], u = W0[c];\n return /* @__PURE__ */ r.jsx(d, { className: b(\"font-mc\", Y0[n], t, u), children: a });\n}, W0 = {\n Di1: \"text-[72px] font-semibold leading-[90px] -tracking-0,1\",\n Di2: \"text-[60px] font-semibold leading-[72px] -tracking-0,1\",\n Di3: \"text-[48px] font-semibold leading-[60px] -tracking-0,1\",\n T1: \"text-[40px] font-semibold leading-[48px]\",\n T2: \"text-[32px] font-semibold leading-[40px]\",\n T3: \"text-[24px] font-semibold leading-[32px]\",\n H1B: \"text-[24px] font-semibold leading-[32px]\",\n H1: \"text-[24px] font-medium leading-[32px]\",\n H2B: \"text-[20px] font-semibold leading-[24px]\",\n H2: \"text-[20px] font-medium leading-[24px]\",\n H3B: \"text-[15px] font-semibold leading-[20px]\",\n H3: \"text-[15px] font-medium leading-[20px]\"\n}, Z0 = {\n Di1: \"h1\",\n Di2: \"h2\",\n Di3: \"h3\",\n T1: \"h1\",\n T2: \"h2\",\n T3: \"h3\",\n H1: \"h1\",\n H1B: \"h1\",\n H2: \"h2\",\n H2B: \"h2\",\n H3: \"h3\",\n H3B: \"h3\"\n}, Y0 = {\n primary: \"text-label-primary-light dark:text-label-primary-dark\",\n secondary: \"text-label-secondary-light dark:text-label-secondary-dark\",\n tertiary: \"text-label-tertiary-light dark:text-label-tertiary-dark\",\n quaternary: \"text-label-quaternary-light dark:text-label-quaternary-dark\",\n placeholder: \"text-label-placeholder-light dark:text-label-placeholder-dark\",\n \"nonadaptable-text\": \"text-nonadaptable-text-light dark:text-nonadaptable-text-dark\",\n disabled: \"text-primary-action-disabled-light dark:text-primary-action-disabled-dark\"\n}, re = ({\n textVariant: a = \"B1\",\n significance: t = \"primary\",\n placeholder: c,\n value: n,\n onSave: o,\n onCancel: d,\n onChange: u,\n initialState: g = \"view\",\n autoEdit: h = \"off\",\n saveOnBlur: D = !1\n}) => {\n const [m, w] = $(g === \"edit\"), F = f2(null);\n p2(() => {\n var L, S;\n m && (h === \"on\" && ((L = F.current) == null || L.focus()), h === \"mark\" && ((S = F.current) == null || S.select()));\n }, [F, h, m]);\n const H = async () => {\n w(!1), await (o == null ? void 0 : o());\n }, P = (L) => {\n if (L.key === \"Enter\") {\n H();\n return;\n }\n if (L.key === \"Escape\") {\n w(!1), d == null || d();\n return;\n }\n };\n return /* @__PURE__ */ r.jsx(\"div\", { className: \"flex grow\", children: m ? /* @__PURE__ */ r.jsx(\n \"input\",\n {\n className: b(\n U[a],\n \"outline-none w-full\",\n `text-label-${t}-light dark:text-label-${t}-dark bg-transparent placeholder:text-label-placeholder-light dark:placeholder:text-label-placeholder-dark`\n ),\n value: n,\n onChange: (L) => {\n u == null || u(L.target.value);\n },\n onBlur: D ? H : void 0,\n onKeyUp: P,\n ref: F,\n placeholder: c\n }\n ) : /* @__PURE__ */ r.jsx(\"button\", { onClick: () => w(!0), children: /* @__PURE__ */ r.jsx(B, { variant: a, significance: t, children: n }) }) });\n}, le = ({ placeholder: a, value: t, onChange: c, onClear: n, disabled: o, size: d = \"medium\" }) => {\n const u = d === \"small\" ? \"p-2\" : \"py-3 px-4\", g = \"text-label-primary-light dark:text-label-primary-dark placeholder:text-label-placeholder-light dark:placeholder:text-label-placeholder-dark disabled:text-primary-action-disabled-light dark:disabled:text-primary-action-disabled-dark\";\n return /* @__PURE__ */ r.jsxs(\n \"div\",\n {\n \"aria-disabled\": o,\n className: b(\n \"flex gap-2 rounded-lg border items-center\",\n u,\n \"border-separator-regular-light dark:border-separator-regular-dark\",\n \"bg-background-universal-overlay-light dark:bg-background-universal-overlay-dark\"\n ),\n children: [\n /* @__PURE__ */ r.jsx(\n \"input\",\n {\n type: \"text\",\n placeholder: a,\n value: t,\n onChange: (h) => c == null ? void 0 : c(h.target.value),\n disabled: o,\n className: b(\"flex-1 bg-transparent outline-none\", g, {\n [U.B1Button]: d === \"medium\",\n [U.B2Button]: d === \"small\"\n })\n }\n ),\n /* @__PURE__ */ r.jsx(\"button\", { onClick: n, disabled: o, className: g, children: t ? /* @__PURE__ */ r.jsx(Y2, { size: 16 }) : /* @__PURE__ */ r.jsx(B0, { size: 16 }) })\n ]\n }\n );\n}, ae = ({ options: a, onChange: t, selectedValue: c, size: n = \"small\", contrast: o = \"low\" }) => {\n const d = {\n small: {\n wrapper: \"p-[2px] rounded-[8px]\",\n icon: 16,\n button: \"h-[28px] w-[28px] rounded-[6px]\"\n },\n xsmall: {\n wrapper: \"p-[1.5px] rounded-[6px]\",\n icon: 12,\n button: \"h-[21px] w-[21px] rounded-[4.5px]\"\n },\n xxsmall: {\n wrapper: \"p-[1.25px] rounded-[5px]\",\n icon: 12,\n button: \"h-[17.5px] w-[17.5px] rounded-[3.75px]\"\n }\n }, u = o === \"high\" ? \"bg-secondary-action-base-light dark:bg-secondary-action-base-dark text-label-quaternary-light dark:text-label-quaternary-dark\" : \"bg-background-grouped-secondary-light dark:bg-background-grouped-secondary-dark text-label-primary-light dark:text-label-primary-dark\";\n return /* @__PURE__ */ r.jsx(\n \"div\",\n {\n className: b(\n \"flex bg-overlay-fill-alternative-light dark:bg-overlay-fill-alternative-dark\",\n d[n].wrapper\n ),\n children: a.map((g) => /* @__PURE__ */ r.jsx(\n \"button\",\n {\n onClick: () => t(g.value),\n className: b(\n \"flex items-center justify-center\",\n d[n].button,\n {\n [u]: g.value === c\n },\n {\n \"text-label-secondary-light dark:text-label-secondary-dark\": g.value !== c\n }\n ),\n children: /* @__PURE__ */ r.jsx(z.Provider, { value: { size: d[n].icon }, children: g.icon })\n },\n g.value\n ))\n }\n );\n}, te = ({\n label: a,\n description: t,\n variant: c = \"medium\",\n className: n,\n inputClassName: o,\n value: d,\n rules: u = [],\n onUpdate: g,\n onBlur: h,\n onChange: D,\n labelOnlyForScreenReaders: m,\n disabled: w,\n autoEdit: F = !1,\n ...H\n}) => {\n const [P, L] = $(d), [S, V] = $(!1), [j, G] = $([]), J = f2(null);\n p2(() => {\n var E;\n L(d), F && ((E = J.current) == null || E.focus());\n }, [d, F]);\n const t2 = (E) => {\n const I = E.target.value;\n S && G(u.map((X) => X(I, a || \"\")).filter(Boolean)), L(I);\n }, i2 = () => {\n G(u.map((E) => E(P, a || \"\")).filter(Boolean)), V(!0);\n };\n return /* @__PURE__ */ r.jsxs(\"label\", { className: b(n, \"flex flex-col gap-2 grow\", m && \"sr-only\"), children: [\n a && /* @__PURE__ */ r.jsx(B, { variant: c === \"small\" ? \"B2\" : \"B1\", significance: w ? \"disabled\" : \"primary\", children: a }),\n t && /* @__PURE__ */ r.jsx(\n B,\n {\n significance: w ? \"disabled\" : \"secondary\",\n variant: c === \"small\" ? \"B2Button\" : \"B1Button\",\n children: t\n }\n ),\n /* @__PURE__ */ r.jsx(\n \"input\",\n {\n className: b(\n o,\n \"border-solid border focus:outline-none rounded-lg bg-background-primary-light dark:bg-background-primary-dark\",\n {\n \"px-4 py-3\": c === \"medium\",\n \"px-4 py-2\": c === \"small\",\n [U.B1Button]: c === \"medium\",\n [U.B2Button]: c === \"small\",\n \"text-label-primary-light dark:text-label-primary-dark\": !w,\n \"text-label-placeholder-light dark:text-label-placeholder-dark\": w,\n \"border-separator-opaque-light dark:border-separator-opaque-dark\": j.length === 0,\n \"border-danger-default-light dark:border-danger-default-dark\": j.length > 0\n }\n ),\n value: P,\n onChange: (E) => {\n t2(E), D == null || D(E);\n },\n onBlur: (E) => {\n i2(), g == null || g(P), h == null || h(E);\n },\n onMouseUp: (E) => E.preventDefault(),\n ref: J,\n ...H\n }\n ),\n j.map((E, I) => /* @__PURE__ */ r.jsx(\n B,\n {\n as: \"p\",\n variant: c === \"small\" ? \"B2Button\" : \"B1Button\",\n significance: w ? \"disabled\" : \"primary\",\n children: E\n },\n I\n ))\n ] });\n}, ie = ({\n isOn: a,\n onChange: t,\n size: c = \"medium\",\n onBackgroundColor: n,\n offIcon: o,\n onIcon: d,\n ariaLabel: u\n}) => {\n const g = n || \"bg-overlay-fill-alternative-light\", h = {\n medium: {\n wrapper: \"h-[40px] w-[65px] p-[2.5px] rounded-[10px]\",\n icon: 20,\n button: \"h-[35px] w-[35px] rounded-[7.5px]\",\n translateX: \"translate-x-[25px]\"\n },\n small: {\n wrapper: \"h-[32px] w-[52px] p-[2px] rounded-[8px]\",\n icon: 16,\n button: \"h-[28px] w-[28px] rounded-[6px]\",\n translateX: \"translate-x-[20px]\"\n },\n xsmall: {\n wrapper: \"h-[24px] w-[39px] p-[1.5px] rounded-[6px]\",\n icon: 12,\n button: \"h-[21px] w-[21px] rounded-[4.5px]\",\n translateX: \"translate-x-[15px]\"\n },\n xxsmall: {\n wrapper: \"h-[20px] w-[32.5px] p-[1.5px] rounded-[5px]\",\n icon: 10,\n button: \"h-[17.5px] w-[17.5px] rounded-[3.75px]\",\n translateX: \"translate-x-[12px]\"\n }\n };\n return /* @__PURE__ */ r.jsx(\"div\", { className: \"flex items-center\", children: /* @__PURE__ */ r.jsx(\n \"div\",\n {\n className: b(\n \"transition-colors duration-300 ease-in-out flex items-center\",\n h[c].wrapper,\n {\n [g]: a\n },\n {\n \"bg-overlay-fill-alternative-light\": !a\n }\n ),\n children: /* @__PURE__ */ r.jsx(\n \"button\",\n {\n onClick: () => {\n t(!a);\n },\n \"aria-label\": u,\n className: b(\n \"flex transition-transform duration-300 ease-in-out items-center justify-center text-nonadaptable-text-dark bg-nonadaptable-text-light\",\n h[c].button,\n {\n [`${h[c].translateX} `]: a\n }\n ),\n children: /* @__PURE__ */ r.jsxs(z.Provider, { value: { size: h[c].icon }, children: [\n d && a && d,\n o && !a && o\n ] })\n }\n )\n }\n ) });\n}, ce = ({\n options: a,\n selectedFirst: t,\n selectedSecond: c,\n onSelectedFirst: n,\n onSelectedSecond: o,\n onClear: d\n}) => /* @__PURE__ */ r.jsxs(\"div\", { className: \"flex gap-3 py-3\", children: [\n t && /* @__PURE__ */ r.jsx(z2, { variant: \"neutral\", size: \"small\", iconAfter: /* @__PURE__ */ r.jsx(Y2, {}), onClick: d }),\n t ? a.filter((u) => u.key === t.key).map((u) => /* @__PURE__ */ r.jsxs(Z2, { children: [\n /* @__PURE__ */ r.jsx(q2, { text: u.value, active: !0 }),\n u.options.map((g) => /* @__PURE__ */ r.jsx(\n N0,\n {\n onClick: () => o(g),\n selected: (c == null ? void 0 : c.key) == g.key,\n text: g.value,\n significance: (c == null ? void 0 : c.key) == g.key || !c ? \"primary\" : \"secondary\"\n },\n g.key\n ))\n ] }, u.key)) : a.map((u) => /* @__PURE__ */ r.jsx(\"button\", { onClick: () => n(u), children: /* @__PURE__ */ r.jsx(q2, { text: u.value }) }, u.key))\n] }), ne = ({ groups: a, align: t = \"left\" }) => {\n const c = a.some((n) => n.items.some((o) => o.selected));\n return /* @__PURE__ */ r.jsx(\"div\", { className: \"relative\", children: /* @__PURE__ */ r.jsx(\n \"div\",\n {\n className: b(\n \"absolute top-1 shadow-lg p-4 rounded-lg z-10 backdrop-blur-xl w-max bg-background-universal-overlay-light dark:bg-background-universal-overlay-dark\",\n {\n \"right-0\": t === \"right\",\n \"left-0\": t === \"left\"\n }\n ),\n children: /* @__PURE__ */ r.jsx(\"div\", { className: \"flex flex-col gap-3\", children: a.map((n, o) => /* @__PURE__ */ r.jsxs(Z2, { children: [\n /* @__PURE__ */ r.jsxs(\"div\", { className: \"flex flex-col gap-1\", children: [\n n.title && /* @__PURE__ */ r.jsx(B, { variant: \"D1B\", significance: \"secondary\", children: n.title }),\n n.items.map((d, u) => /* @__PURE__ */ r.jsxs(\n \"button\",\n {\n onClick: d.onClick,\n className: \"flex items-center gap-2 py-1 px-2 rounded text-label-primary-light dark:text-label-primary-dark hover:bg-overlay-fill-default-light dark:hover:bg-overlay-fill-default-dark\",\n children: [\n /* @__PURE__ */ r.jsxs(z.Provider, { value: { size: 16 }, children: [\n c ? /* @__PURE__ */ r.jsx(\"div\", { className: \"shrink-0\", children: d.selected ? /* @__PURE__ */ r.jsx(K2, {}) : /* @__PURE__ */ r.jsx(\"div\", { className: \"w-4 shrink-0\" }) }) : null,\n d.icon\n ] }),\n /* @__PURE__ */ r.jsx(B, { variant: \"B2\", children: d.label })\n ]\n },\n `item-${o}-${u}`\n ))\n ] }),\n o < a.length - 1 && /* @__PURE__ */ r.jsx(z0, {}, `separator-${o}`)\n ] }, `group-${o}`)) })\n }\n ) });\n}, se = ({ title: a, code: t, singleLine: c = !1 }) => {\n const [n, o] = $(!1), d = /* @__PURE__ */ r.jsx(\n z2,\n {\n \"aria-label\": \"Copy code block to clipboard\",\n size: \"small\",\n variant: \"neutral\",\n iconAfter: n ? /* @__PURE__ */ r.jsx(K2, {}) : /* @__PURE__ */ r.jsx(T0, {}),\n onClick: () => {\n navigator.clipboard.writeText(t), o(!0), setTimeout(() => o(!1), 2e3);\n }\n }\n );\n return /* @__PURE__ */ r.jsxs(\"div\", { className: \"flex flex-col py-2 gap-3\", children: [\n a && /* @__PURE__ */ r.jsx(\"div\", { className: \"flex flex-col py-2\", children: /* @__PURE__ */ r.jsx(B, { variant: \"H4\", children: a }) }),\n c ? /* @__PURE__ */ r.jsxs(\"div\", { className: \"flex gap-2 pl-3 py-1 pr-1 items-center justify-between rounded-lg border-[0.5px] group relative border-separator-regular-light dark:border-separator-regular-dark\", children: [\n /* @__PURE__ */ r.jsx(\"pre\", { children: /* @__PURE__ */ r.jsx(U2, { variant: \"B2\", children: t.trim() }) }),\n /* @__PURE__ */ r.jsx(\"div\", { className: \"flex invisible group-hover:visible\", children: d })\n ] }) : /* @__PURE__ */ r.jsxs(\"div\", { className: \"flex p-3 rounded-lg border-[0.5px] group relative border-separator-regular-light dark:border-separator-regular-dark\", children: [\n /* @__PURE__ */ r.jsx(\"pre\", { children: /* @__PURE__ */ r.jsx(U2, { variant: \"B2\", children: t.trim() }) }),\n /* @__PURE__ */ r.jsx(\"div\", { className: \"absolute top-2 right-2 invisible group-hover:visible\", children: d })\n ] })\n ] });\n}, oe = ({ children: a, onExit: t }) => {\n const c = f2(null);\n return p2(() => {\n var o;\n const n = (d) => {\n d.key === \"Escape\" && t();\n };\n return (o = c.current) == null || o.focus(), document.addEventListener(\"keydown\", n), () => {\n document.removeEventListener(\"keydown\", n);\n };\n }, [t]), /* @__PURE__ */ r.jsx(\n \"div\",\n {\n ref: c,\n className: \"flex flex-col z-10 items-center justify-center fixed inset-0 bg-overlay-background-default-light dark:bg-overlay-background-default-dark outline-none\",\n tabIndex: -1,\n onClick: (n) => {\n n.target === n.currentTarget && t();\n },\n children: a\n }\n );\n}, de = ({ title: a, texts: t }) => /* @__PURE__ */ r.jsxs(\"div\", { className: \"flex flex-col py-3 rounded-lg bg-background-universal-overlay-light dark:bg-background-universal-overlay-dark\", children: [\n /* @__PURE__ */ r.jsx(\"div\", { className: \"flex px-3 py-2\", children: /* @__PURE__ */ r.jsx(B, { variant: \"H4\", children: a }) }),\n /* @__PURE__ */ r.jsx(\"div\", { className: \"flex flex-col gap-6 px-3 py-1\", children: t.map((c, n) => /* @__PURE__ */ r.jsx(B, { children: c }, n)) })\n] }), ue = ({ size: a = 7, animation: t = \"animate-spin\" }) => /* @__PURE__ */ r.jsx(\"div\", { className: \"flex flex-col items-center justify-center\", children: /* @__PURE__ */ r.jsx(\"div\", { className: b(\"flex items-center justify-center\", t), children: /* @__PURE__ */ r.jsx(K0, { size: a * 4 }) }) }), K0 = ({ dark: a, size: t }) => a ? /* @__PURE__ */ r.jsxs(\n \"svg\",\n {\n width: t || 413,\n height: t || 413,\n viewBox: \"0 0 413 413\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /* @__PURE__ */ r.jsxs(\"g\", { clipPath: \"url(#clip0_1096_247)\", children: [\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"207\", cy: \"206\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"324\", cy: \"207\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"258\", cy: \"236\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"258\", cy: \"177\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"156\", cy: \"177\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"207\", cy: \"266\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"207\", cy: \"147\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"207\", cy: \"89\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"148\", cy: \"105\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"105\", cy: \"147\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"89\", cy: \"206\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"148\", cy: \"308\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"207\", cy: \"324\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"265\", cy: \"308\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"308\", cy: \"266\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"105\", cy: \"266\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"156\", cy: \"236\", r: \"20\", fill: \"#FEBE00\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"265\", cy: \"105\", r: \"20\", fill: \"#55D4B9\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"309\", cy: \"147\", r: \"20\", fill: \"#FF6832\" })\n ] }),\n /* @__PURE__ */ r.jsx(\"defs\", { children: /* @__PURE__ */ r.jsx(\"clipPath\", { id: \"clip0_1096_247\", children: /* @__PURE__ */ r.jsx(\"rect\", { width: \"275\", height: \"275\", fill: \"white\", transform: \"translate(69 69)\" }) }) })\n ]\n }\n) : /* @__PURE__ */ r.jsxs(\n \"svg\",\n {\n width: t || 413,\n height: t || 413,\n viewBox: \"0 0 413 413\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /* @__PURE__ */ r.jsxs(\"g\", { clipPath: \"url(#clip0_1096_218)\", children: [\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"207\", cy: \"206\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"324\", cy: \"207\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"258\", cy: \"236\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"258\", cy: \"177\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"156\", cy: \"177\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"207\", cy: \"266\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"207\", cy: \"147\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"207\", cy: \"89\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"148\", cy: \"105\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"105\", cy: \"147\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"89\", cy: \"206\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"148\", cy: \"308\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"207\", cy: \"324\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"265\", cy: \"308\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"308\", cy: \"266\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"105\", cy: \"266\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"156\", cy: \"236\", r: \"20\", fill: \"#FEBE00\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"265\", cy: \"105\", r: \"20\", fill: \"#55D4B9\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"309\", cy: \"147\", r: \"20\", fill: \"#FF6832\" })\n ] }),\n /* @__PURE__ */ r.jsx(\"defs\", { children: /* @__PURE__ */ r.jsx(\"clipPath\", { id: \"clip0_1096_218\", children: /* @__PURE__ */ r.jsx(\"rect\", { width: \"275\", height: \"275\", fill: \"white\", transform: \"translate(69 69)\" }) }) })\n ]\n }\n), xe = ({ dark: a, width: t, height: c }) => {\n const d = 3.1666666666666665;\n return c ? t = c * d : t ? c = t / d : (c = 48, t = 152), a ? /* @__PURE__ */ r.jsxs(\"svg\", { width: t, height: c, viewBox: \"0 0 152 48\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", children: [\n /* @__PURE__ */ r.jsxs(\"g\", { clipPath: \"url(#clip0_8_5921)\", children: [\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"23.4698\", cy: \"23.3296\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"39.9786\", cy: \"23.4703\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"30.667\", cy: \"27.5621\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"30.667\", cy: \"19.2378\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"16.2749\", cy: \"19.2378\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"23.4698\", cy: \"31.795\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"23.4698\", cy: \"15.0049\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"23.4698\", cy: \"6.82182\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"15.146\", cy: \"9.07914\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"9.08012\", cy: \"15.0049\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"6.82182\", cy: \"23.3296\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"15.146\", cy: \"37.7207\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"23.4698\", cy: \"39.9781\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"31.6534\", cy: \"37.7207\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"37.7203\", cy: \"31.795\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"9.08012\", cy: \"31.795\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"16.2749\", cy: \"27.5621\", r: \"2.82182\", fill: \"#FEBE00\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"31.6534\", cy: \"9.07914\", r: \"2.82182\", fill: \"#55D4B9\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"37.8619\", cy: \"15.0049\", r: \"2.82182\", fill: \"#FF6832\" }),\n /* @__PURE__ */ r.jsx(\n \"path\",\n {\n d: \"M60.112 33V16.2H63.76L72.568 28.2L71.776 28.08C71.696 27.552 71.632 27.048 71.584 26.568C71.536 26.088 71.488 25.616 71.44 25.152C71.408 24.688 71.376 24.216 71.344 23.736C71.328 23.256 71.312 22.736 71.296 22.176C71.296 21.616 71.296 21.008 71.296 20.352V16.2H75.256V33H71.56L62.368 20.616L63.592 20.784C63.672 21.552 63.736 22.208 63.784 22.752C63.848 23.28 63.896 23.752 63.928 24.168C63.976 24.584 64.008 24.96 64.024 25.296C64.04 25.632 64.048 25.968 64.048 26.304C64.064 26.624 64.072 26.984 64.072 27.384V33H60.112ZM85.1354 33.24C83.7274 33.24 82.5034 32.96 81.4634 32.4C80.4234 31.824 79.6154 31.048 79.0394 30.072C78.4634 29.08 78.1754 27.952 78.1754 26.688C78.1754 25.712 78.3354 24.816 78.6554 24C78.9754 23.184 79.4234 22.48 79.9994 21.888C80.5754 21.28 81.2554 20.816 82.0394 20.496C82.8394 20.16 83.7114 19.992 84.6554 19.992C85.5514 19.992 86.3674 20.152 87.1034 20.472C87.8554 20.792 88.5034 21.24 89.0474 21.816C89.5914 22.392 90.0074 23.072 90.2954 23.856C90.5834 24.64 90.7114 25.496 90.6794 26.424L90.6554 27.456H80.5034L79.9514 25.296H87.5354L87.1274 25.752V25.272C87.0954 24.872 86.9674 24.52 86.7434 24.216C86.5354 23.896 86.2554 23.648 85.9034 23.472C85.5514 23.296 85.1514 23.208 84.7034 23.208C84.0794 23.208 83.5434 23.336 83.0954 23.592C82.6634 23.832 82.3354 24.192 82.1114 24.672C81.8874 25.136 81.7754 25.712 81.7754 26.4C81.7754 27.104 81.9194 27.72 82.2074 28.248C82.5114 28.76 82.9434 29.16 83.5034 29.448C84.0794 29.736 84.7594 29.88 85.5434 29.88C86.0874 29.88 86.5674 29.8 86.9834 29.64C87.4154 29.48 87.8794 29.208 88.3754 28.824L90.1754 31.368C89.6794 31.8 89.1514 32.152 88.5914 32.424C88.0314 32.696 87.4554 32.896 86.8634 33.024C86.2874 33.168 85.7114 33.24 85.1354 33.24ZM93.1019 33V20.256H96.7499L96.8699 22.56L96.3659 22.584C96.5579 22.168 96.7979 21.8 97.0859 21.48C97.3899 21.16 97.7259 20.896 98.0939 20.688C98.4779 20.464 98.8699 20.296 99.2699 20.184C99.6859 20.072 100.102 20.016 100.518 20.016C101.142 20.016 101.71 20.112 102.222 20.304C102.734 20.496 103.182 20.808 103.566 21.24C103.95 21.656 104.254 22.224 104.478 22.944L103.878 22.896L104.07 22.512C104.278 22.128 104.542 21.784 104.862 21.48C105.198 21.16 105.566 20.896 105.966 20.688C106.366 20.464 106.782 20.296 107.214 20.184C107.646 20.072 108.062 20.016 108.462 20.016C109.47 20.016 110.31 20.216 110.982 20.616C111.654 21 112.158 21.584 112.494 22.368C112.846 23.152 113.022 24.104 113.022 25.224V33H109.158V25.536C109.158 25.024 109.086 24.6 108.942 24.264C108.798 23.928 108.582 23.68 108.294 23.52C108.022 23.344 107.678 23.256 107.262 23.256C106.926 23.256 106.614 23.312 106.326 23.424C106.054 23.536 105.814 23.688 105.606 23.88C105.414 24.072 105.262 24.296 105.15 24.552C105.038 24.808 104.982 25.096 104.982 25.416V33H101.118V25.512C101.118 25.032 101.046 24.624 100.902 24.288C100.758 23.952 100.542 23.696 100.254 23.52C99.9659 23.344 99.6299 23.256 99.2459 23.256C98.9099 23.256 98.5979 23.312 98.3099 23.424C98.0379 23.536 97.7979 23.688 97.5899 23.88C97.3979 24.072 97.2459 24.296 97.1339 24.552C97.0219 24.808 96.9659 25.088 96.9659 25.392V33H93.1019ZM116.188 33V20.256H119.836L119.956 22.56L119.452 22.584C119.644 22.168 119.884 21.8 120.172 21.48C120.476 21.16 120.812 20.896 121.18 20.688C121.564 20.464 121.956 20.296 122.356 20.184C122.772 20.072 123.188 20.016 123.604 20.016C124.228 20.016 124.796 20.112 125.308 20.304C125.82 20.496 126.268 20.808 126.652 21.24C127.036 21.656 127.34 22.224 127.564 22.944L126.964 22.896L127.156 22.512C127.364 22.128 127.628 21.784 127.948 21.48C128.284 21.16 128.652 20.896 129.052 20.688C129.452 20.464 129.868 20.296 130.3 20.184C130.732 20.072 131.148 20.016 131.548 20.016C132.556 20.016 133.396 20.216 134.068 20.616C134.74 21 135.244 21.584 135.58 22.368C135.932 23.152 136.108 24.104 136.108 25.224V33H132.244V25.536C132.244 25.024 132.172 24.6 132.028 24.264C131.884 23.928 131.668 23.68 131.38 23.52C131.108 23.344 130.764 23.256 130.348 23.256C130.012 23.256 129.7 23.312 129.412 23.424C129.14 23.536 128.9 23.688 128.692 23.88C128.5 24.072 128.348 24.296 128.236 24.552C128.124 24.808 128.068 25.096 128.068 25.416V33H124.204V25.512C124.204 25.032 124.132 24.624 123.988 24.288C123.844 23.952 123.628 23.696 123.34 23.52C123.052 23.344 122.716 23.256 122.332 23.256C121.996 23.256 121.684 23.312 121.396 23.424C121.124 23.536 120.884 23.688 120.676 23.88C120.484 24.072 120.332 24.296 120.22 24.552C120.108 24.808 120.052 25.088 120.052 25.392V33H116.188ZM145.37 33.24C143.962 33.24 142.738 32.96 141.698 32.4C140.658 31.824 139.85 31.048 139.274 30.072C138.698 29.08 138.41 27.952 138.41 26.688C138.41 25.712 138.57 24.816 138.89 24C139.21 23.184 139.658 22.48 140.234 21.888C140.81 21.28 141.49 20.816 142.274 20.496C143.074 20.16 143.946 19.992 144.89 19.992C145.786 19.992 146.602 20.152 147.338 20.472C148.09 20.792 148.738 21.24 149.282 21.816C149.826 22.392 150.242 23.072 150.53 23.856C150.818 24.64 150.946 25.496 150.914 26.424L150.89 27.456H140.738L140.186 25.296H147.77L147.362 25.752V25.272C147.33 24.872 147.202 24.52 146.978 24.216C146.77 23.896 146.49 23.648 146.138 23.472C145.786 23.296 145.386 23.208 144.938 23.208C144.314 23.208 143.778 23.336 143.33 23.592C142.898 23.832 142.57 24.192 142.346 24.672C142.122 25.136 142.01 25.712 142.01 26.4C142.01 27.104 142.154 27.72 142.442 28.248C142.746 28.76 143.178 29.16 143.738 29.448C144.314 29.736 144.994 29.88 145.778 29.88C146.322 29.88 146.802 29.8 147.218 29.64C147.65 29.48 148.114 29.208 148.61 28.824L150.41 31.368C149.914 31.8 149.386 32.152 148.826 32.424C148.266 32.696 147.69 32.896 147.098 33.024C146.522 33.168 145.946 33.24 145.37 33.24Z\",\n fill: \"white\"\n }\n )\n ] }),\n /* @__PURE__ */ r.jsx(\"defs\", { children: /* @__PURE__ */ r.jsx(\"clipPath\", { id: \"clip0_8_5921\", children: /* @__PURE__ */ r.jsx(\"rect\", { width: \"152\", height: \"48\", fill: \"white\" }) }) })\n ] }) : /* @__PURE__ */ r.jsxs(\"svg\", { width: t, height: c, viewBox: \"0 0 152 48\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", children: [\n /* @__PURE__ */ r.jsxs(\"g\", { clipPath: \"url(#clip0_8_6077)\", children: [\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"23.4698\", cy: \"23.3296\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"39.9786\", cy: \"23.4703\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"30.667\", cy: \"27.5621\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"30.667\", cy: \"19.2378\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"16.2749\", cy: \"19.2378\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"23.4698\", cy: \"31.795\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"23.4698\", cy: \"15.0049\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"23.4698\", cy: \"6.82182\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"15.1462\", cy: \"9.07914\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"9.08012\", cy: \"15.0049\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"6.82182\", cy: \"23.3296\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"15.1462\", cy: \"37.7207\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"23.4698\", cy: \"39.9781\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"31.6534\", cy: \"37.7207\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"37.7203\", cy: \"31.795\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"9.08012\", cy: \"31.795\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"16.2749\", cy: \"27.5621\", r: \"2.82182\", fill: \"#FEBE00\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"31.6534\", cy: \"9.07914\", r: \"2.82182\", fill: \"#55D4B9\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"37.8619\", cy: \"15.0049\", r: \"2.82182\", fill: \"#FF6832\" }),\n /* @__PURE__ */ r.jsx(\n \"path\",\n {\n d: \"M60.112 33V16.2H63.76L72.568 28.2L71.776 28.08C71.696 27.552 71.632 27.048 71.584 26.568C71.536 26.088 71.488 25.616 71.44 25.152C71.408 24.688 71.376 24.216 71.344 23.736C71.328 23.256 71.312 22.736 71.296 22.176C71.296 21.616 71.296 21.008 71.296 20.352V16.2H75.256V33H71.56L62.368 20.616L63.592 20.784C63.672 21.552 63.736 22.208 63.784 22.752C63.848 23.28 63.896 23.752 63.928 24.168C63.976 24.584 64.008 24.96 64.024 25.296C64.04 25.632 64.048 25.968 64.048 26.304C64.064 26.624 64.072 26.984 64.072 27.384V33H60.112ZM85.1354 33.24C83.7274 33.24 82.5034 32.96 81.4634 32.4C80.4234 31.824 79.6154 31.048 79.0394 30.072C78.4634 29.08 78.1754 27.952 78.1754 26.688C78.1754 25.712 78.3354 24.816 78.6554 24C78.9754 23.184 79.4234 22.48 79.9994 21.888C80.5754 21.28 81.2554 20.816 82.0394 20.496C82.8394 20.16 83.7114 19.992 84.6554 19.992C85.5514 19.992 86.3674 20.152 87.1034 20.472C87.8554 20.792 88.5034 21.24 89.0474 21.816C89.5914 22.392 90.0074 23.072 90.2954 23.856C90.5834 24.64 90.7114 25.496 90.6794 26.424L90.6554 27.456H80.5034L79.9514 25.296H87.5354L87.1274 25.752V25.272C87.0954 24.872 86.9674 24.52 86.7434 24.216C86.5354 23.896 86.2554 23.648 85.9034 23.472C85.5514 23.296 85.1514 23.208 84.7034 23.208C84.0794 23.208 83.5434 23.336 83.0954 23.592C82.6634 23.832 82.3354 24.192 82.1114 24.672C81.8874 25.136 81.7754 25.712 81.7754 26.4C81.7754 27.104 81.9194 27.72 82.2074 28.248C82.5114 28.76 82.9434 29.16 83.5034 29.448C84.0794 29.736 84.7594 29.88 85.5434 29.88C86.0874 29.88 86.5674 29.8 86.9834 29.64C87.4154 29.48 87.8794 29.208 88.3754 28.824L90.1754 31.368C89.6794 31.8 89.1514 32.152 88.5914 32.424C88.0314 32.696 87.4554 32.896 86.8634 33.024C86.2874 33.168 85.7114 33.24 85.1354 33.24ZM93.1019 33V20.256H96.7499L96.8699 22.56L96.3659 22.584C96.5579 22.168 96.7979 21.8 97.0859 21.48C97.3899 21.16 97.7259 20.896 98.0939 20.688C98.4779 20.464 98.8699 20.296 99.2699 20.184C99.6859 20.072 100.102 20.016 100.518 20.016C101.142 20.016 101.71 20.112 102.222 20.304C102.734 20.496 103.182 20.808 103.566 21.24C103.95 21.656 104.254 22.224 104.478 22.944L103.878 22.896L104.07 22.512C104.278 22.128 104.542 21.784 104.862 21.48C105.198 21.16 105.566 20.896 105.966 20.688C106.366 20.464 106.782 20.296 107.214 20.184C107.646 20.072 108.062 20.016 108.462 20.016C109.47 20.016 110.31 20.216 110.982 20.616C111.654 21 112.158 21.584 112.494 22.368C112.846 23.152 113.022 24.104 113.022 25.224V33H109.158V25.536C109.158 25.024 109.086 24.6 108.942 24.264C108.798 23.928 108.582 23.68 108.294 23.52C108.022 23.344 107.678 23.256 107.262 23.256C106.926 23.256 106.614 23.312 106.326 23.424C106.054 23.536 105.814 23.688 105.606 23.88C105.414 24.072 105.262 24.296 105.15 24.552C105.038 24.808 104.982 25.096 104.982 25.416V33H101.118V25.512C101.118 25.032 101.046 24.624 100.902 24.288C100.758 23.952 100.542 23.696 100.254 23.52C99.9659 23.344 99.6299 23.256 99.2459 23.256C98.9099 23.256 98.5979 23.312 98.3099 23.424C98.0379 23.536 97.7979 23.688 97.5899 23.88C97.3979 24.072 97.2459 24.296 97.1339 24.552C97.0219 24.808 96.9659 25.088 96.9659 25.392V33H93.1019ZM116.188 33V20.256H119.836L119.956 22.56L119.452 22.584C119.644 22.168 119.884 21.8 120.172 21.48C120.476 21.16 120.812 20.896 121.18 20.688C121.564 20.464 121.956 20.296 122.356 20.184C122.772 20.072 123.188 20.016 123.604 20.016C124.228 20.016 124.796 20.112 125.308 20.304C125.82 20.496 126.268 20.808 126.652 21.24C127.036 21.656 127.34 22.224 127.564 22.944L126.964 22.896L127.156 22.512C127.364 22.128 127.628 21.784 127.948 21.48C128.284 21.16 128.652 20.896 129.052 20.688C129.452 20.464 129.868 20.296 130.3 20.184C130.732 20.072 131.148 20.016 131.548 20.016C132.556 20.016 133.396 20.216 134.068 20.616C134.74 21 135.244 21.584 135.58 22.368C135.932 23.152 136.108 24.104 136.108 25.224V33H132.244V25.536C132.244 25.024 132.172 24.6 132.028 24.264C131.884 23.928 131.668 23.68 131.38 23.52C131.108 23.344 130.764 23.256 130.348 23.256C130.012 23.256 129.7 23.312 129.412 23.424C129.14 23.536 128.9 23.688 128.692 23.88C128.5 24.072 128.348 24.296 128.236 24.552C128.124 24.808 128.068 25.096 128.068 25.416V33H124.204V25.512C124.204 25.032 124.132 24.624 123.988 24.288C123.844 23.952 123.628 23.696 123.34 23.52C123.052 23.344 122.716 23.256 122.332 23.256C121.996 23.256 121.684 23.312 121.396 23.424C121.124 23.536 120.884 23.688 120.676 23.88C120.484 24.072 120.332 24.296 120.22 24.552C120.108 24.808 120.052 25.088 120.052 25.392V33H116.188ZM145.37 33.24C143.962 33.24 142.738 32.96 141.698 32.4C140.658 31.824 139.85 31.048 139.274 30.072C138.698 29.08 138.41 27.952 138.41 26.688C138.41 25.712 138.57 24.816 138.89 24C139.21 23.184 139.658 22.48 140.234 21.888C140.81 21.28 141.49 20.816 142.274 20.496C143.074 20.16 143.946 19.992 144.89 19.992C145.786 19.992 146.602 20.152 147.338 20.472C148.09 20.792 148.738 21.24 149.282 21.816C149.826 22.392 150.242 23.072 150.53 23.856C150.818 24.64 150.946 25.496 150.914 26.424L150.89 27.456H140.738L140.186 25.296H147.77L147.362 25.752V25.272C147.33 24.872 147.202 24.52 146.978 24.216C146.77 23.896 146.49 23.648 146.138 23.472C145.786 23.296 145.386 23.208 144.938 23.208C144.314 23.208 143.778 23.336 143.33 23.592C142.898 23.832 142.57 24.192 142.346 24.672C142.122 25.136 142.01 25.712 142.01 26.4C142.01 27.104 142.154 27.72 142.442 28.248C142.746 28.76 143.178 29.16 143.738 29.448C144.314 29.736 144.994 29.88 145.778 29.88C146.322 29.88 146.802 29.8 147.218 29.64C147.65 29.48 148.114 29.208 148.61 28.824L150.41 31.368C149.914 31.8 149.386 32.152 148.826 32.424C148.266 32.696 147.69 32.896 147.098 33.024C146.522 33.168 145.946 33.24 145.37 33.24Z\",\n fill: \"black\"\n }\n )\n ] }),\n /* @__PURE__ */ r.jsx(\"defs\", { children: /* @__PURE__ */ r.jsx(\"clipPath\", { id: \"clip0_8_6077\", children: /* @__PURE__ */ r.jsx(\"rect\", { width: \"152\", height: \"48\", fill: \"white\" }) }) })\n ] });\n}, z0 = ({ className: a, vertical: t = !1, opaque: c = !1, opaqueAlternative: n = !1 }) => {\n const o = n ? \"bg-separator-opaque-alternative-light dark:bg-separator-opaque-alternative-dark\" : c ? \"bg-separator-opaque-light dark:bg-separator-opaque-dark\" : \"bg-separator-regular-light dark:bg-separator-regular-dark\";\n return /* @__PURE__ */ r.jsx(\n \"div\",\n {\n className: b(\n o,\n {\n \"w-full h-px\": !t,\n \"h-full w-px\": t\n },\n a\n )\n }\n );\n}, ge = \"data:image/svg+xml,%3csvg%20width='152'%20height='48'%20viewBox='0%200%20152%2048'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_8_5921)'%3e%3ccircle%20cx='23.4698'%20cy='23.3296'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='39.9786'%20cy='23.4703'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='30.667'%20cy='27.5621'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='30.667'%20cy='19.2378'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='16.2749'%20cy='19.2378'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='23.4698'%20cy='31.795'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='23.4698'%20cy='15.0049'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='23.4698'%20cy='6.82182'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='15.146'%20cy='9.07914'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='9.08012'%20cy='15.0049'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='6.82182'%20cy='23.3296'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='15.146'%20cy='37.7207'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='23.4698'%20cy='39.9781'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='31.6534'%20cy='37.7207'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='37.7203'%20cy='31.795'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='9.08012'%20cy='31.795'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='16.2749'%20cy='27.5621'%20r='2.82182'%20fill='%23FEBE00'/%3e%3ccircle%20cx='31.6534'%20cy='9.07914'%20r='2.82182'%20fill='%2355D4B9'/%3e%3ccircle%20cx='37.8619'%20cy='15.0049'%20r='2.82182'%20fill='%23FF6832'/%3e%3cpath%20d='M60.112%2033V16.2H63.76L72.568%2028.2L71.776%2028.08C71.696%2027.552%2071.632%2027.048%2071.584%2026.568C71.536%2026.088%2071.488%2025.616%2071.44%2025.152C71.408%2024.688%2071.376%2024.216%2071.344%2023.736C71.328%2023.256%2071.312%2022.736%2071.296%2022.176C71.296%2021.616%2071.296%2021.008%2071.296%2020.352V16.2H75.256V33H71.56L62.368%2020.616L63.592%2020.784C63.672%2021.552%2063.736%2022.208%2063.784%2022.752C63.848%2023.28%2063.896%2023.752%2063.928%2024.168C63.976%2024.584%2064.008%2024.96%2064.024%2025.296C64.04%2025.632%2064.048%2025.968%2064.048%2026.304C64.064%2026.624%2064.072%2026.984%2064.072%2027.384V33H60.112ZM85.1354%2033.24C83.7274%2033.24%2082.5034%2032.96%2081.4634%2032.4C80.4234%2031.824%2079.6154%2031.048%2079.0394%2030.072C78.4634%2029.08%2078.1754%2027.952%2078.1754%2026.688C78.1754%2025.712%2078.3354%2024.816%2078.6554%2024C78.9754%2023.184%2079.4234%2022.48%2079.9994%2021.888C80.5754%2021.28%2081.2554%2020.816%2082.0394%2020.496C82.8394%2020.16%2083.7114%2019.992%2084.6554%2019.992C85.5514%2019.992%2086.3674%2020.152%2087.1034%2020.472C87.8554%2020.792%2088.5034%2021.24%2089.0474%2021.816C89.5914%2022.392%2090.0074%2023.072%2090.2954%2023.856C90.5834%2024.64%2090.7114%2025.496%2090.6794%2026.424L90.6554%2027.456H80.5034L79.9514%2025.296H87.5354L87.1274%2025.752V25.272C87.0954%2024.872%2086.9674%2024.52%2086.7434%2024.216C86.5354%2023.896%2086.2554%2023.648%2085.9034%2023.472C85.5514%2023.296%2085.1514%2023.208%2084.7034%2023.208C84.0794%2023.208%2083.5434%2023.336%2083.0954%2023.592C82.6634%2023.832%2082.3354%2024.192%2082.1114%2024.672C81.8874%2025.136%2081.7754%2025.712%2081.7754%2026.4C81.7754%2027.104%2081.9194%2027.72%2082.2074%2028.248C82.5114%2028.76%2082.9434%2029.16%2083.5034%2029.448C84.0794%2029.736%2084.7594%2029.88%2085.5434%2029.88C86.0874%2029.88%2086.5674%2029.8%2086.9834%2029.64C87.4154%2029.48%2087.8794%2029.208%2088.3754%2028.824L90.1754%2031.368C89.6794%2031.8%2089.1514%2032.152%2088.5914%2032.424C88.0314%2032.696%2087.4554%2032.896%2086.8634%2033.024C86.2874%2033.168%2085.7114%2033.24%2085.1354%2033.24ZM93.1019%2033V20.256H96.7499L96.8699%2022.56L96.3659%2022.584C96.5579%2022.168%2096.7979%2021.8%2097.0859%2021.48C97.3899%2021.16%2097.7259%2020.896%2098.0939%2020.688C98.4779%2020.464%2098.8699%2020.296%2099.2699%2020.184C99.6859%2020.072%20100.102%2020.016%20100.518%2020.016C101.142%2020.016%20101.71%2020.112%20102.222%2020.304C102.734%2020.496%20103.182%2020.808%20103.566%2021.24C103.95%2021.656%20104.254%2022.224%20104.478%2022.944L103.878%2022.896L104.07%2022.512C104.278%2022.128%20104.542%2021.784%20104.862%2021.48C105.198%2021.16%20105.566%2020.896%20105.966%2020.688C106.366%2020.464%20106.782%2020.296%20107.214%2020.184C107.646%2020.072%20108.062%2020.016%20108.462%2020.016C109.47%2020.016%20110.31%2020.216%20110.982%2020.616C111.654%2021%20112.158%2021.584%20112.494%2022.368C112.846%2023.152%20113.022%2024.104%20113.022%2025.224V33H109.158V25.536C109.158%2025.024%20109.086%2024.6%20108.942%2024.264C108.798%2023.928%20108.582%2023.68%20108.294%2023.52C108.022%2023.344%20107.678%2023.256%20107.262%2023.256C106.926%2023.256%20106.614%2023.312%20106.326%2023.424C106.054%2023.536%20105.814%2023.688%20105.606%2023.88C105.414%2024.072%20105.262%2024.296%20105.15%2024.552C105.038%2024.808%20104.982%2025.096%20104.982%2025.416V33H101.118V25.512C101.118%2025.032%20101.046%2024.624%20100.902%2024.288C100.758%2023.952%20100.542%2023.696%20100.254%2023.52C99.9659%2023.344%2099.6299%2023.256%2099.2459%2023.256C98.9099%2023.256%2098.5979%2023.312%2098.3099%2023.424C98.0379%2023.536%2097.7979%2023.688%2097.5899%2023.88C97.3979%2024.072%2097.2459%2024.296%2097.1339%2024.552C97.0219%2024.808%2096.9659%2025.088%2096.9659%2025.392V33H93.1019ZM116.188%2033V20.256H119.836L119.956%2022.56L119.452%2022.584C119.644%2022.168%20119.884%2021.8%20120.172%2021.48C120.476%2021.16%20120.812%2020.896%20121.18%2020.688C121.564%2020.464%20121.956%2020.296%20122.356%2020.184C122.772%2020.072%20123.188%2020.016%20123.604%2020.016C124.228%2020.016%20124.796%2020.112%20125.308%2020.304C125.82%2020.496%20126.268%2020.808%20126.652%2021.24C127.036%2021.656%20127.34%2022.224%20127.564%2022.944L126.964%2022.896L127.156%2022.512C127.364%2022.128%20127.628%2021.784%20127.948%2021.48C128.284%2021.16%20128.652%2020.896%20129.052%2020.688C129.452%2020.464%20129.868%2020.296%20130.3%2020.184C130.732%2020.072%20131.148%2020.016%20131.548%2020.016C132.556%2020.016%20133.396%2020.216%20134.068%2020.616C134.74%2021%20135.244%2021.584%20135.58%2022.368C135.932%2023.152%20136.108%2024.104%20136.108%2025.224V33H132.244V25.536C132.244%2025.024%20132.172%2024.6%20132.028%2024.264C131.884%2023.928%20131.668%2023.68%20131.38%2023.52C131.108%2023.344%20130.764%2023.256%20130.348%2023.256C130.012%2023.256%20129.7%2023.312%20129.412%2023.424C129.14%2023.536%20128.9%2023.688%20128.692%2023.88C128.5%2024.072%20128.348%2024.296%20128.236%2024.552C128.124%2024.808%20128.068%2025.096%20128.068%2025.416V33H124.204V25.512C124.204%2025.032%20124.132%2024.624%20123.988%2024.288C123.844%2023.952%20123.628%2023.696%20123.34%2023.52C123.052%2023.344%20122.716%2023.256%20122.332%2023.256C121.996%2023.256%20121.684%2023.312%20121.396%2023.424C121.124%2023.536%20120.884%2023.688%20120.676%2023.88C120.484%2024.072%20120.332%2024.296%20120.22%2024.552C120.108%2024.808%20120.052%2025.088%20120.052%2025.392V33H116.188ZM145.37%2033.24C143.962%2033.24%20142.738%2032.96%20141.698%2032.4C140.658%2031.824%20139.85%2031.048%20139.274%2030.072C138.698%2029.08%20138.41%2027.952%20138.41%2026.688C138.41%2025.712%20138.57%2024.816%20138.89%2024C139.21%2023.184%20139.658%2022.48%20140.234%2021.888C140.81%2021.28%20141.49%2020.816%20142.274%2020.496C143.074%2020.16%20143.946%2019.992%20144.89%2019.992C145.786%2019.992%20146.602%2020.152%20147.338%2020.472C148.09%2020.792%20148.738%2021.24%20149.282%2021.816C149.826%2022.392%20150.242%2023.072%20150.53%2023.856C150.818%2024.64%20150.946%2025.496%20150.914%2026.424L150.89%2027.456H140.738L140.186%2025.296H147.77L147.362%2025.752V25.272C147.33%2024.872%20147.202%2024.52%20146.978%2024.216C146.77%2023.896%20146.49%2023.648%20146.138%2023.472C145.786%2023.296%20145.386%2023.208%20144.938%2023.208C144.314%2023.208%20143.778%2023.336%20143.33%2023.592C142.898%2023.832%20142.57%2024.192%20142.346%2024.672C142.122%2025.136%20142.01%2025.712%20142.01%2026.4C142.01%2027.104%20142.154%2027.72%20142.442%2028.248C142.746%2028.76%20143.178%2029.16%20143.738%2029.448C144.314%2029.736%20144.994%2029.88%20145.778%2029.88C146.322%2029.88%20146.802%2029.8%20147.218%2029.64C147.65%2029.48%20148.114%2029.208%20148.61%2028.824L150.41%2031.368C149.914%2031.8%20149.386%2032.152%20148.826%2032.424C148.266%2032.696%20147.69%2032.896%20147.098%2033.024C146.522%2033.168%20145.946%2033.24%20145.37%2033.24Z'%20fill='white'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_8_5921'%3e%3crect%20width='152'%20height='48'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e\", fe = \"data:image/svg+xml,%3csvg%20width='413'%20height='413'%20viewBox='0%200%20413%20413'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_1096_247)'%3e%3ccircle%20cx='207'%20cy='206'%20r='20'%20fill='white'/%3e%3ccircle%20cx='324'%20cy='207'%20r='20'%20fill='white'/%3e%3ccircle%20cx='258'%20cy='236'%20r='20'%20fill='white'/%3e%3ccircle%20cx='258'%20cy='177'%20r='20'%20fill='white'/%3e%3ccircle%20cx='156'%20cy='177'%20r='20'%20fill='white'/%3e%3ccircle%20cx='207'%20cy='266'%20r='20'%20fill='white'/%3e%3ccircle%20cx='207'%20cy='147'%20r='20'%20fill='white'/%3e%3ccircle%20cx='207'%20cy='89'%20r='20'%20fill='white'/%3e%3ccircle%20cx='148'%20cy='105'%20r='20'%20fill='white'/%3e%3ccircle%20cx='105'%20cy='147'%20r='20'%20fill='white'/%3e%3ccircle%20cx='89'%20cy='206'%20r='20'%20fill='white'/%3e%3ccircle%20cx='148'%20cy='308'%20r='20'%20fill='white'/%3e%3ccircle%20cx='207'%20cy='324'%20r='20'%20fill='white'/%3e%3ccircle%20cx='265'%20cy='308'%20r='20'%20fill='white'/%3e%3ccircle%20cx='308'%20cy='266'%20r='20'%20fill='white'/%3e%3ccircle%20cx='105'%20cy='266'%20r='20'%20fill='white'/%3e%3ccircle%20cx='156'%20cy='236'%20r='20'%20fill='%23FEBE00'/%3e%3ccircle%20cx='265'%20cy='105'%20r='20'%20fill='%2355D4B9'/%3e%3ccircle%20cx='309'%20cy='147'%20r='20'%20fill='%23FF6832'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_1096_247'%3e%3crect%20width='275'%20height='275'%20fill='white'%20transform='translate(69%2069)'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e\", pe = \"data:image/svg+xml,%3csvg%20width='152'%20height='48'%20viewBox='0%200%20152%2048'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_8_6077)'%3e%3ccircle%20cx='23.4698'%20cy='23.3296'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='39.9786'%20cy='23.4703'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='30.667'%20cy='27.5621'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='30.667'%20cy='19.2378'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='16.2749'%20cy='19.2378'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='23.4698'%20cy='31.795'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='23.4698'%20cy='15.0049'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='23.4698'%20cy='6.82182'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='15.1462'%20cy='9.07914'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='9.08012'%20cy='15.0049'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='6.82182'%20cy='23.3296'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='15.1462'%20cy='37.7207'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='23.4698'%20cy='39.9781'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='31.6534'%20cy='37.7207'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='37.7203'%20cy='31.795'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='9.08012'%20cy='31.795'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='16.2749'%20cy='27.5621'%20r='2.82182'%20fill='%23FEBE00'/%3e%3ccircle%20cx='31.6534'%20cy='9.07914'%20r='2.82182'%20fill='%2355D4B9'/%3e%3ccircle%20cx='37.8619'%20cy='15.0049'%20r='2.82182'%20fill='%23FF6832'/%3e%3cpath%20d='M60.112%2033V16.2H63.76L72.568%2028.2L71.776%2028.08C71.696%2027.552%2071.632%2027.048%2071.584%2026.568C71.536%2026.088%2071.488%2025.616%2071.44%2025.152C71.408%2024.688%2071.376%2024.216%2071.344%2023.736C71.328%2023.256%2071.312%2022.736%2071.296%2022.176C71.296%2021.616%2071.296%2021.008%2071.296%2020.352V16.2H75.256V33H71.56L62.368%2020.616L63.592%2020.784C63.672%2021.552%2063.736%2022.208%2063.784%2022.752C63.848%2023.28%2063.896%2023.752%2063.928%2024.168C63.976%2024.584%2064.008%2024.96%2064.024%2025.296C64.04%2025.632%2064.048%2025.968%2064.048%2026.304C64.064%2026.624%2064.072%2026.984%2064.072%2027.384V33H60.112ZM85.1354%2033.24C83.7274%2033.24%2082.5034%2032.96%2081.4634%2032.4C80.4234%2031.824%2079.6154%2031.048%2079.0394%2030.072C78.4634%2029.08%2078.1754%2027.952%2078.1754%2026.688C78.1754%2025.712%2078.3354%2024.816%2078.6554%2024C78.9754%2023.184%2079.4234%2022.48%2079.9994%2021.888C80.5754%2021.28%2081.2554%2020.816%2082.0394%2020.496C82.8394%2020.16%2083.7114%2019.992%2084.6554%2019.992C85.5514%2019.992%2086.3674%2020.152%2087.1034%2020.472C87.8554%2020.792%2088.5034%2021.24%2089.0474%2021.816C89.5914%2022.392%2090.0074%2023.072%2090.2954%2023.856C90.5834%2024.64%2090.7114%2025.496%2090.6794%2026.424L90.6554%2027.456H80.5034L79.9514%2025.296H87.5354L87.1274%2025.752V25.272C87.0954%2024.872%2086.9674%2024.52%2086.7434%2024.216C86.5354%2023.896%2086.2554%2023.648%2085.9034%2023.472C85.5514%2023.296%2085.1514%2023.208%2084.7034%2023.208C84.0794%2023.208%2083.5434%2023.336%2083.0954%2023.592C82.6634%2023.832%2082.3354%2024.192%2082.1114%2024.672C81.8874%2025.136%2081.7754%2025.712%2081.7754%2026.4C81.7754%2027.104%2081.9194%2027.72%2082.2074%2028.248C82.5114%2028.76%2082.9434%2029.16%2083.5034%2029.448C84.0794%2029.736%2084.7594%2029.88%2085.5434%2029.88C86.0874%2029.88%2086.5674%2029.8%2086.9834%2029.64C87.4154%2029.48%2087.8794%2029.208%2088.3754%2028.824L90.1754%2031.368C89.6794%2031.8%2089.1514%2032.152%2088.5914%2032.424C88.0314%2032.696%2087.4554%2032.896%2086.8634%2033.024C86.2874%2033.168%2085.7114%2033.24%2085.1354%2033.24ZM93.1019%2033V20.256H96.7499L96.8699%2022.56L96.3659%2022.584C96.5579%2022.168%2096.7979%2021.8%2097.0859%2021.48C97.3899%2021.16%2097.7259%2020.896%2098.0939%2020.688C98.4779%2020.464%2098.8699%2020.296%2099.2699%2020.184C99.6859%2020.072%20100.102%2020.016%20100.518%2020.016C101.142%2020.016%20101.71%2020.112%20102.222%2020.304C102.734%2020.496%20103.182%2020.808%20103.566%2021.24C103.95%2021.656%20104.254%2022.224%20104.478%2022.944L103.878%2022.896L104.07%2022.512C104.278%2022.128%20104.542%2021.784%20104.862%2021.48C105.198%2021.16%20105.566%2020.896%20105.966%2020.688C106.366%2020.464%20106.782%2020.296%20107.214%2020.184C107.646%2020.072%20108.062%2020.016%20108.462%2020.016C109.47%2020.016%20110.31%2020.216%20110.982%2020.616C111.654%2021%20112.158%2021.584%20112.494%2022.368C112.846%2023.152%20113.022%2024.104%20113.022%2025.224V33H109.158V25.536C109.158%2025.024%20109.086%2024.6%20108.942%2024.264C108.798%2023.928%20108.582%2023.68%20108.294%2023.52C108.022%2023.344%20107.678%2023.256%20107.262%2023.256C106.926%2023.256%20106.614%2023.312%20106.326%2023.424C106.054%2023.536%20105.814%2023.688%20105.606%2023.88C105.414%2024.072%20105.262%2024.296%20105.15%2024.552C105.038%2024.808%20104.982%2025.096%20104.982%2025.416V33H101.118V25.512C101.118%2025.032%20101.046%2024.624%20100.902%2024.288C100.758%2023.952%20100.542%2023.696%20100.254%2023.52C99.9659%2023.344%2099.6299%2023.256%2099.2459%2023.256C98.9099%2023.256%2098.5979%2023.312%2098.3099%2023.424C98.0379%2023.536%2097.7979%2023.688%2097.5899%2023.88C97.3979%2024.072%2097.2459%2024.296%2097.1339%2024.552C97.0219%2024.808%2096.9659%2025.088%2096.9659%2025.392V33H93.1019ZM116.188%2033V20.256H119.836L119.956%2022.56L119.452%2022.584C119.644%2022.168%20119.884%2021.8%20120.172%2021.48C120.476%2021.16%20120.812%2020.896%20121.18%2020.688C121.564%2020.464%20121.956%2020.296%20122.356%2020.184C122.772%2020.072%20123.188%2020.016%20123.604%2020.016C124.228%2020.016%20124.796%2020.112%20125.308%2020.304C125.82%2020.496%20126.268%2020.808%20126.652%2021.24C127.036%2021.656%20127.34%2022.224%20127.564%2022.944L126.964%2022.896L127.156%2022.512C127.364%2022.128%20127.628%2021.784%20127.948%2021.48C128.284%2021.16%20128.652%2020.896%20129.052%2020.688C129.452%2020.464%20129.868%2020.296%20130.3%2020.184C130.732%2020.072%20131.148%2020.016%20131.548%2020.016C132.556%2020.016%20133.396%2020.216%20134.068%2020.616C134.74%2021%20135.244%2021.584%20135.58%2022.368C135.932%2023.152%20136.108%2024.104%20136.108%2025.224V33H132.244V25.536C132.244%2025.024%20132.172%2024.6%20132.028%2024.264C131.884%2023.928%20131.668%2023.68%20131.38%2023.52C131.108%2023.344%20130.764%2023.256%20130.348%2023.256C130.012%2023.256%20129.7%2023.312%20129.412%2023.424C129.14%2023.536%20128.9%2023.688%20128.692%2023.88C128.5%2024.072%20128.348%2024.296%20128.236%2024.552C128.124%2024.808%20128.068%2025.096%20128.068%2025.416V33H124.204V25.512C124.204%2025.032%20124.132%2024.624%20123.988%2024.288C123.844%2023.952%20123.628%2023.696%20123.34%2023.52C123.052%2023.344%20122.716%2023.256%20122.332%2023.256C121.996%2023.256%20121.684%2023.312%20121.396%2023.424C121.124%2023.536%20120.884%2023.688%20120.676%2023.88C120.484%2024.072%20120.332%2024.296%20120.22%2024.552C120.108%2024.808%20120.052%2025.088%20120.052%2025.392V33H116.188ZM145.37%2033.24C143.962%2033.24%20142.738%2032.96%20141.698%2032.4C140.658%2031.824%20139.85%2031.048%20139.274%2030.072C138.698%2029.08%20138.41%2027.952%20138.41%2026.688C138.41%2025.712%20138.57%2024.816%20138.89%2024C139.21%2023.184%20139.658%2022.48%20140.234%2021.888C140.81%2021.28%20141.49%2020.816%20142.274%2020.496C143.074%2020.16%20143.946%2019.992%20144.89%2019.992C145.786%2019.992%20146.602%2020.152%20147.338%2020.472C148.09%2020.792%20148.738%2021.24%20149.282%2021.816C149.826%2022.392%20150.242%2023.072%20150.53%2023.856C150.818%2024.64%20150.946%2025.496%20150.914%2026.424L150.89%2027.456H140.738L140.186%2025.296H147.77L147.362%2025.752V25.272C147.33%2024.872%20147.202%2024.52%20146.978%2024.216C146.77%2023.896%20146.49%2023.648%20146.138%2023.472C145.786%2023.296%20145.386%2023.208%20144.938%2023.208C144.314%2023.208%20143.778%2023.336%20143.33%2023.592C142.898%2023.832%20142.57%2024.192%20142.346%2024.672C142.122%2025.136%20142.01%2025.712%20142.01%2026.4C142.01%2027.104%20142.154%2027.72%20142.442%2028.248C142.746%2028.76%20143.178%2029.16%20143.738%2029.448C144.314%2029.736%20144.994%2029.88%20145.778%2029.88C146.322%2029.88%20146.802%2029.8%20147.218%2029.64C147.65%2029.48%20148.114%2029.208%20148.61%2028.824L150.41%2031.368C149.914%2031.8%20149.386%2032.152%20148.826%2032.424C148.266%2032.696%20147.69%2032.896%20147.098%2033.024C146.522%2033.168%20145.946%2033.24%20145.37%2033.24Z'%20fill='black'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_8_6077'%3e%3crect%20width='152'%20height='48'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e\", he = \"data:image/svg+xml,%3csvg%20width='413'%20height='413'%20viewBox='0%200%20413%20413'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_1096_218)'%3e%3ccircle%20cx='207'%20cy='206'%20r='20'%20fill='black'/%3e%3ccircle%20cx='324'%20cy='207'%20r='20'%20fill='black'/%3e%3ccircle%20cx='258'%20cy='236'%20r='20'%20fill='black'/%3e%3ccircle%20cx='258'%20cy='177'%20r='20'%20fill='black'/%3e%3ccircle%20cx='156'%20cy='177'%20r='20'%20fill='black'/%3e%3ccircle%20cx='207'%20cy='266'%20r='20'%20fill='black'/%3e%3ccircle%20cx='207'%20cy='147'%20r='20'%20fill='black'/%3e%3ccircle%20cx='207'%20cy='89'%20r='20'%20fill='black'/%3e%3ccircle%20cx='148'%20cy='105'%20r='20'%20fill='black'/%3e%3ccircle%20cx='105'%20cy='147'%20r='20'%20fill='black'/%3e%3ccircle%20cx='89'%20cy='206'%20r='20'%20fill='black'/%3e%3ccircle%20cx='148'%20cy='308'%20r='20'%20fill='black'/%3e%3ccircle%20cx='207'%20cy='324'%20r='20'%20fill='black'/%3e%3ccircle%20cx='265'%20cy='308'%20r='20'%20fill='black'/%3e%3ccircle%20cx='308'%20cy='266'%20r='20'%20fill='black'/%3e%3ccircle%20cx='105'%20cy='266'%20r='20'%20fill='black'/%3e%3ccircle%20cx='156'%20cy='236'%20r='20'%20fill='%23FEBE00'/%3e%3ccircle%20cx='265'%20cy='105'%20r='20'%20fill='%2355D4B9'/%3e%3ccircle%20cx='309'%20cy='147'%20r='20'%20fill='%23FF6832'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_1096_218'%3e%3crect%20width='275'%20height='275'%20fill='white'%20transform='translate(69%2069)'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e\", l = {\n transparent: \"#00000000\",\n grey: {\n 0: \"#FFFFFF\",\n 5: \"#FBFBFD\",\n 10: \"#F2F2F7\",\n 50: \"#E5E5EA\",\n 75: \"#DEDEE1\",\n 100: \"#D1D1D6\",\n 200: \"#C7C7CC\",\n 300: \"#AEAEB2\",\n 400: \"#8E8E93\",\n 500: \"#636366\",\n 600: \"#48484A\",\n 700: \"#3A3A3C\",\n 800: \"#2C2C2E\",\n 900: \"#242426\",\n 950: \"#1C1C1E\",\n 990: \"#101011\",\n 995: \"#090909\",\n 1e3: \"#000000\"\n },\n \"strong-blue\": {\n 50: \"#A8C7FA\",\n 100: \"#6598EC\",\n 300: \"#1C73E8\",\n 400: \"#3461DA\",\n 500: \"#325FCB\",\n 600: \"#2C4DB9\",\n 950: \"#001833\"\n },\n \"banana-yellow\": {\n 50: \"#FEE085\",\n 100: \"#FECB33\",\n 400: \"#FEBE00\"\n },\n \"bright-coral\": {\n 50: \"#FFD2C1\",\n 100: \"#FF865B\",\n 400: \"#FF6832\"\n },\n \"minty-blue\": {\n 50: \"#99E5D5\",\n 100: \"#77DDC7\",\n 400: \"#55D4B9\"\n },\n red: {\n 10: \"#FEF1F2\",\n 75: \"#FF8680\",\n 100: \"#FF6861\",\n 300: \"#FF453A\",\n 400: \"#FF3B2F\",\n 600: \"#D70015\",\n 800: \"#A10010\"\n },\n orange: {\n 100: \"#FFB33F\",\n 300: \"#FF9F0B\",\n 400: \"#FF9500\",\n 600: \"#C93400\"\n },\n yellow: {\n 10: \"#FFF8EB\",\n 75: \"#FFE372\",\n 100: \"#FFD426\",\n 300: \"#FED709\",\n 400: \"#FFCC02\",\n 600: \"#B25001\",\n 800: \"#873C00\"\n },\n green: {\n 10: \"#EDFDF8\",\n 75: \"#7AF299\",\n 100: \"#30DB5B\",\n 300: \"#31D158\",\n 400: \"#35C759\",\n 600: \"#248A3D\",\n 800: \"#0D5C20\"\n },\n mint: {\n 100: \"#66D5CF\",\n 300: \"#67D3CF\",\n 400: \"#04C7BE\",\n 600: \"#0D817C\"\n },\n teal: {\n 100: \"#5DE6FF\",\n 300: \"#40C8E0\",\n 400: \"#30B0C7\",\n 600: \"#008299\"\n },\n cyan: {\n 100: \"#70D7FF\",\n 300: \"#64D3FF\",\n 400: \"#31ADE6\",\n 600: \"#0171A4\"\n },\n blue: {\n 100: \"#419CFF\",\n 300: \"#0B84FF\",\n 400: \"#007AFF\",\n 600: \"#0040DD\"\n },\n indigo: {\n 100: \"#7E7AFF\",\n 300: \"#5E5CE6\",\n 400: \"#5856D7\",\n 600: \"#3634A3\"\n },\n purple: {\n 100: \"#DA8FFF\",\n 300: \"#BF5AF2\",\n 400: \"#AF52DE\",\n 600: \"#8944AB\"\n },\n pink: {\n 100: \"#FF6482\",\n 300: \"#FF375F\",\n 400: \"#FF2C55\",\n 600: \"#D20F44\"\n },\n brown: {\n 100: \"#B59469\",\n 300: \"#AC8E68\",\n 400: \"#A2845E\",\n 600: \"#7F6545\"\n }\n}, ye = {\n background: {\n primary: {\n light: l.grey[5],\n dark: l.grey[990]\n },\n secondary: {\n light: l.grey[10],\n dark: l.grey[950]\n },\n tertiary: {\n light: l.grey[50],\n dark: l.grey[900]\n },\n \"grouped-primary\": {\n light: l.grey[50],\n dark: l.grey[990]\n },\n \"grouped-secondary\": {\n light: l.grey[5],\n dark: l.grey[950]\n },\n \"grouped-tertiary\": {\n light: l.grey[10],\n dark: l.grey[900]\n },\n \"primary-hover\": {\n light: l.grey[10],\n dark: l.grey[900]\n },\n \"secondary-hover\": {\n light: l.grey[50],\n dark: l.grey[900]\n },\n \"tertiary-hover\": {\n light: l.grey[100],\n dark: l.grey[800]\n },\n \"universal-overlay\": {\n light: l.grey[1e3].concat(\"12\"),\n // 7% opacity\n dark: l.grey[0].concat(\"0F\")\n // 6% opacity\n }\n },\n overlay: {\n \"fill-default\": {\n light: l.grey[1e3].concat(\"12\"),\n // 7% opacity\n dark: l.grey[0].concat(\"0F\")\n // 6% opacity\n },\n \"fill-alternative\": {\n light: l.grey[1e3].concat(\"24\"),\n // 14% opacity\n dark: l.grey[0].concat(\"24\")\n // 14% opacity\n },\n \"background-default\": {\n light: l.grey[1e3].concat(\"33\"),\n // 20% opacity\n dark: l.grey[1e3].concat(\"80\")\n // 50% opacity\n }\n },\n label: {\n primary: {\n light: l.grey[1e3],\n dark: l.grey[0]\n },\n secondary: {\n light: l.grey[500],\n dark: l.grey[400]\n },\n tertiary: {\n light: l.grey[400],\n dark: l.grey[500]\n },\n placeholder: {\n light: l.grey[400],\n dark: l.grey[400]\n },\n quaternary: {\n light: l.grey[0],\n dark: l.grey[1e3]\n },\n disabled: {\n light: l.grey[100],\n dark: l.grey[700]\n }\n },\n \"primary-action\": {\n graphical: {\n light: l[\"strong-blue\"][600],\n dark: l[\"strong-blue\"][300]\n },\n button: {\n light: l[\"strong-blue\"][400],\n dark: l[\"strong-blue\"][500]\n },\n \"button-hover\": {\n light: l[\"strong-blue\"][600],\n dark: l[\"strong-blue\"][600]\n },\n background: {\n light: l[\"strong-blue\"][50],\n dark: l[\"strong-blue\"][950]\n },\n \"background-2\": {\n light: l[\"strong-blue\"][950],\n dark: l[\"strong-blue\"][50]\n },\n disabled: {\n light: l.grey[100],\n dark: l.grey[700]\n }\n },\n \"secondary-action\": {\n base: {\n light: l.grey[1e3],\n dark: l.grey[0]\n },\n complementary: {\n light: l.grey[0],\n dark: l.grey[1e3]\n },\n alternative: {\n light: l.grey[1e3].concat(\"24\"),\n // HEX 24 = 14% opacity\n dark: l.grey[0].concat(\"24\")\n // HEX 24 = 14% opacity\n },\n disabled: {\n light: l.grey[100],\n dark: l.grey[700]\n }\n },\n \"brand-yellow\": {\n default: {\n light: l[\"banana-yellow\"][400],\n dark: l[\"banana-yellow\"][400]\n },\n alternative: {\n light: l[\"banana-yellow\"][100],\n dark: l[\"banana-yellow\"][100]\n },\n light: {\n light: l[\"banana-yellow\"][50],\n dark: l[\"banana-yellow\"][50]\n }\n },\n \"brand-coral\": {\n default: {\n light: l[\"bright-coral\"][400],\n dark: l[\"bright-coral\"][400]\n },\n alternative: {\n light: l[\"bright-coral\"][100],\n dark: l[\"bright-coral\"][100]\n },\n light: {\n light: l[\"bright-coral\"][50],\n dark: l[\"bright-coral\"][50]\n }\n },\n \"brand-mint\": {\n default: {\n light: l[\"minty-blue\"][400],\n dark: l[\"minty-blue\"][400]\n },\n alternative: {\n light: l[\"minty-blue\"][100],\n dark: l[\"minty-blue\"][100]\n },\n light: {\n light: l[\"minty-blue\"][50],\n dark: l[\"minty-blue\"][50]\n }\n },\n separator: {\n regular: {\n light: l.grey[300],\n dark: l.grey[600]\n },\n opaque: {\n light: l.grey[50],\n dark: l.grey[900]\n },\n \"opaque-alternative\": {\n light: l.grey[100],\n dark: l.grey[800]\n }\n },\n \"system-fill\": {\n primary: {\n light: l.grey[100],\n dark: l.grey[700]\n },\n secondary: {\n light: l.grey[10],\n dark: l.grey[900]\n },\n tertiary: {\n light: l.grey[5],\n dark: l.grey[990]\n }\n },\n \"nonadaptable-text\": {\n light: l.grey[0],\n dark: l.grey[1e3]\n },\n success: {\n background: {\n light: l.green[10],\n dark: l.green[800]\n },\n default: {\n light: l.green[400],\n dark: l.green[300]\n },\n hover: {\n light: l.green[600],\n dark: l.green[75]\n },\n accessible: {\n light: l.green[800],\n dark: l.green[10]\n }\n },\n warning: {\n background: {\n light: l.yellow[10],\n dark: l.yellow[800]\n },\n default: {\n light: l.yellow[400],\n dark: l.yellow[300]\n },\n hover: {\n light: l.yellow[600],\n dark: l.yellow[75]\n },\n accessible: {\n light: l.yellow[800],\n dark: l.yellow[10]\n }\n },\n danger: {\n background: {\n light: l.red[10],\n dark: l.red[800]\n },\n default: {\n light: l.red[400],\n dark: l.red[300]\n },\n hover: {\n light: l.red[600],\n dark: l.red[75]\n },\n accessible: {\n light: l.red[800],\n dark: l.red[10]\n }\n },\n \"system-neutral\": {\n \"grey-0\": {\n light: l.grey[0],\n dark: l.grey[1e3]\n },\n \"grey-1\": {\n light: l.grey[10],\n dark: l.grey[950]\n },\n \"grey-2\": {\n light: l.grey[100],\n dark: l.grey[900]\n },\n \"grey-3\": {\n light: l.grey[300],\n dark: l.grey[800]\n },\n \"grey-4\": {\n light: l.grey[400],\n dark: l.grey[700]\n },\n \"grey-5\": {\n light: l.grey[600],\n dark: l.grey[600]\n },\n \"grey-6\": {\n light: l.grey[700],\n dark: l.grey[400]\n },\n \"grey-7\": {\n light: l.grey[800],\n dark: l.grey[300]\n },\n \"grey-8\": {\n light: l.grey[900],\n dark: l.grey[100]\n },\n \"grey-9\": {\n light: l.grey[950],\n dark: l.grey[10]\n },\n \"grey-10\": {\n light: l.grey[1e3],\n dark: l.grey[0]\n }\n },\n red: {\n default: {\n light: l.red[400],\n dark: l.red[300]\n },\n accessible: {\n light: l.red[600],\n dark: l.red[100]\n }\n },\n orange: {\n default: {\n light: l.orange[400],\n dark: l.orange[300]\n },\n accessible: {\n light: l.orange[600],\n dark: l.orange[100]\n }\n },\n yellow: {\n default: {\n light: l.yellow[400],\n dark: l.yellow[300]\n },\n accessible: {\n light: l.yellow[600],\n dark: l.yellow[100]\n }\n },\n green: {\n default: {\n light: l.green[400],\n dark: l.green[300]\n },\n accessible: {\n light: l.green[600],\n dark: l.green[100]\n }\n },\n mint: {\n default: {\n light: l.mint[400],\n dark: l.mint[300]\n },\n accessible: {\n light: l.mint[600],\n dark: l.mint[100]\n }\n },\n teal: {\n default: {\n light: l.teal[400],\n dark: l.teal[300]\n },\n accessible: {\n light: l.teal[600],\n dark: l.teal[100]\n }\n },\n cyan: {\n default: {\n light: l.cyan[400],\n dark: l.cyan[300]\n },\n accessible: {\n light: l.cyan[600],\n dark: l.cyan[100]\n }\n },\n blue: {\n default: {\n light: l.blue[400],\n dark: l.blue[300]\n },\n accessible: {\n light: l.blue[600],\n dark: l.blue[100]\n }\n },\n indigo: {\n default: {\n light: l.indigo[400],\n dark: l.indigo[300]\n },\n accessible: {\n light: l.indigo[600],\n dark: l.indigo[100]\n }\n },\n purple: {\n default: {\n light: l.purple[400],\n dark: l.purple[300]\n },\n accessible: {\n light: l.purple[600],\n dark: l.purple[100]\n }\n },\n pink: {\n default: {\n light: l.pink[400],\n dark: l.pink[300]\n },\n accessible: {\n light: l.pink[600],\n dark: l.pink[100]\n }\n },\n brown: {\n default: {\n light: l.brown[400],\n dark: l.brown[300]\n },\n accessible: {\n light: l.brown[600],\n dark: l.brown[100]\n }\n }\n}, Ce = () => {\n}, be = (a, t) => [...Array(t + 1 - a)].map((c, n) => n + a), ke = (a) => a.charAt(0).toUpperCase() + a.slice(1), ve = (a) => a.split(new RegExp(\"(?<=\\\\.) \"));\nexport {\n z2 as Button,\n U2 as CText,\n se as CodeBlock,\n Q0 as Dropdown,\n oe as FullScreenModal,\n de as InfoBox,\n re as InplaceInput,\n ue as Loader,\n K0 as Logo,\n xe as LogoText,\n ee as MCText,\n ne as MenuGroupModal,\n B as NText,\n q2 as NavPill,\n N0 as NavTab,\n le as Search,\n ae as Select,\n z0 as Separator,\n X0 as SignalButton,\n te as TextInput,\n ie as Toggle,\n ce as TwoLevelSelector,\n ke as capitalize,\n l as colors,\n b as cx,\n Ce as includeGlobalStyles,\n fe as nemmeDark,\n ge as nemmeDarkText,\n he as nemmeLight,\n pe as nemmeLightText,\n be as range,\n ye as semanticColors,\n ve as splitDotSpaceKeepDot,\n U as variantToClassName\n};\n//# sourceMappingURL=index.es.js.map\n","import { Button, cx, NText } from '@nemme/ui-kit';\nimport { CaretLeftIcon, CaretRightIcon, XIcon } from '@phosphor-icons/react';\nimport { FC, ReactNode } from 'react';\nimport { useTranslation } from 'react-i18next';\n\ntype Props = {\n title: string;\n icon?: string;\n description?: string;\n image?: string;\n children: ReactNode;\n onPrevious?: () => void;\n onNext?: () => void;\n onQuit?: () => void;\n isValid?: boolean;\n};\nexport const QuestionWrapper: FC<Props> = ({\n title,\n icon,\n description,\n image,\n children,\n onPrevious,\n onNext,\n onQuit,\n isValid\n}) => {\n const { t } = useTranslation();\n return (\n <div\n className={cx(\n 'grid mx-4 my-8 rounded-xl border relative',\n 'grid-cols-1 p-4 pt-10',\n 'md:p-8 md:gap-16 md:max-w-[960px] md:min-w-[660px]',\n !image ? 'md:grid-cols-1' : 'md:grid-cols-2',\n 'border-separator-opaque-light dark:border-separator-opaque-dark material-ultra-thick-light dark:material-ultra-thick-dark'\n )}\n >\n <div className=\"flex flex-col justify-between order-2 md:order-1\">\n <div className=\"flex flex-col\">\n <div className=\"flex flex-col gap-1 md:gap-2 pb-3\">\n {icon && (\n <div\n className={cx('h-8 w-8 rounded-lg overflow-hidden mb-1 md:mb-2', !image ? 'block' : 'hidden md:block')}\n >\n <img className=\"w-full h-full object-cover\" src={icon} alt=\"icon\" />\n </div>\n )}\n <NText variant=\"H2\">{title}</NText>\n {description &&\n description\n .trim()\n .replace(/\\n{3,}/g, '\\n\\n')\n .split('\\n\\n')\n .map((text, index) => (\n <NText significance=\"secondary\" key={index}>\n {text.trim()}\n </NText>\n ))}\n </div>\n {children}\n </div>\n <div className=\"flex justify-end pt-4 gap-2\">\n <Button\n variant=\"subtle\"\n onClick={onPrevious}\n iconBefore={<CaretLeftIcon />}\n disabled={!onPrevious}\n text={t('Previous')}\n />\n <Button\n variant=\"subtle\"\n onClick={onNext}\n iconAfter={<CaretRightIcon />}\n disabled={!onNext || !isValid}\n text={t('Next')}\n />\n </div>\n {onQuit && (\n <Button\n className=\"absolute top-0 right-1 md:top-1\"\n variant=\"subtle\"\n size=\"small\"\n onClick={onQuit}\n iconAfter={<XIcon />}\n aria-label=\"quit\"\n />\n )}\n </div>\n {image && (\n <div className=\"flex flex-col justify-center order-1 md:order-2\">\n <div className=\"rounded-lg overflow-hidden mb-6 md:mb-0\">\n <img className=\"w-full h-full object-cover aspect-video md:aspect-square\" src={image} alt=\"image\" />\n </div>\n </div>\n )}\n </div>\n );\n};\n","import { cx, NText } from '@nemme/ui-kit';\nimport { FC } from 'react';\nimport { QuestionWrapper } from '../question-wrapper';\n\nexport type Alternatives = {\n id: number;\n text: string;\n};\n\nexport type Props = {\n title: string;\n icon?: string;\n description?: string;\n image?: string;\n onPrevious?: () => void;\n onNext?: () => void;\n onQuit?: () => void;\n alternatives: Alternatives[];\n onAlternativeSelect: (id: number) => void;\n selectedAlternatives: number[];\n maxAlternatives?: number;\n isValid?: boolean;\n};\n\nexport const QuestionChoice: FC<Props> = ({\n title,\n icon,\n description,\n image,\n onPrevious,\n onNext,\n onQuit,\n alternatives = [],\n onAlternativeSelect,\n selectedAlternatives,\n maxAlternatives,\n isValid\n}) => {\n return (\n <QuestionWrapper\n title={title}\n icon={icon}\n description={description}\n image={image}\n onPrevious={onPrevious}\n onNext={onNext}\n onQuit={onQuit}\n isValid={isValid}\n >\n <div className=\"flex flex-col max-h-[272px] md:max-h-full overflow-y-auto\">\n {maxAlternatives === 1 ? (\n <div className=\"flex flex-col py-3 md:py-4 gap-2 items-end md:items-start\">\n {alternatives.map(alternative => (\n <button\n key={alternative.id}\n onClick={() => onAlternativeSelect(alternative.id)}\n className=\"flex items-center gap-2 p-3 justify-end rounded-lg border text-label-primary-light dark:text-label-primary-dark border-separator-regular-light dark:border-separator-regular-dark\"\n >\n <NText variant=\"B1Button\">{alternative.text}</NText>\n <Option size={20} selected={selectedAlternatives.includes(alternative.id)} />\n </button>\n ))}\n </div>\n ) : (\n <div className=\"flex py-3 md:py-4 gap-2 justify-end md:justify-start flex-wrap\">\n {alternatives.map(alternative => (\n <button\n key={alternative.id}\n onClick={() => onAlternativeSelect(alternative.id)}\n className={cx(\n 'flex items-center gap-2 p-3 justify-end rounded-lg border',\n selectedAlternatives.includes(alternative.id)\n ? 'text-label-quaternary-light dark:text-label-quaternary-dark border-label-quaternary-light dark:border-label-quaternary-dark bg-secondary-action-base-light dark:bg-secondary-action-base-dark'\n : 'text-label-primary-light dark:text-label-primary-dark border-separator-regular-light dark:border-separator-regular-dark'\n )}\n >\n <NText\n variant=\"B1Button\"\n significance={selectedAlternatives.includes(alternative.id) ? 'quaternary' : 'primary'}\n >\n {alternative.text}\n </NText>\n </button>\n ))}\n </div>\n )}\n </div>\n </QuestionWrapper>\n );\n};\n\ntype OptionProps = {\n size?: number;\n strokeColor?: string;\n fillColor?: string;\n selected?: boolean;\n};\n\nconst Option: FC<OptionProps> = ({ size = 16, strokeColor = 'currentColor', fillColor = 'none', selected = false }) => {\n const viewBoxSize = size + 1; // Adding 1 for padding\n const center = viewBoxSize / 2;\n const radius = (size - 2) / 2; // Slightly smaller to account for stroke\n\n return (\n <svg\n width={size}\n height={size}\n viewBox={`0 0 ${viewBoxSize} ${viewBoxSize}`}\n fill={selected ? fillColor : 'none'}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n cx={center}\n cy={center}\n r={radius}\n stroke={strokeColor}\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n {selected && (\n <circle\n cx={center}\n cy={center}\n r={radius - 3} // Inner circle for selected state\n fill={strokeColor}\n />\n )}\n </svg>\n );\n};\n","import { cx, NText, variantToClassName } from '@nemme/ui-kit';\nimport { FC } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { QuestionWrapper } from '../question-wrapper';\n\nexport type Props = {\n title: string;\n icon?: string;\n description?: string;\n image?: string;\n onPrevious?: () => void;\n onNext?: () => void;\n onQuit?: () => void;\n\n inputText: string;\n setInputText: (text: string) => void;\n maxCharacters?: number;\n isValid?: boolean;\n};\n\nexport const QuestionText: FC<Props> = ({\n title,\n icon,\n description,\n image,\n onPrevious,\n onNext,\n onQuit,\n inputText,\n setInputText,\n maxCharacters,\n isValid\n}) => {\n const { t } = useTranslation();\n return (\n <QuestionWrapper\n title={title}\n icon={icon}\n description={description}\n image={image}\n onPrevious={onPrevious}\n onNext={onNext}\n onQuit={onQuit}\n isValid={isValid}\n >\n <div className=\"flex flex-col py-3 gap-2\">\n {maxCharacters && (\n <div className=\"flex items-center justify-between\">\n <NText significance=\"secondary\">{t('Max {{maxCharacters}} characters', { maxCharacters })}</NText>\n <NText significance=\"secondary\">{`${inputText.length}/${maxCharacters}`}</NText>\n </div>\n )}\n <div className=\"flex flex-col relative\">\n <NText\n as=\"div\"\n className={cx(\n 'overflow-y-hidden whitespace-pre-wrap invisible break-words rounded-lg py-3 px-4 min-h-20 border-separator-opaque-light dark:border-separator-opaque-dark'\n )}\n >\n {inputText}\n </NText>\n <textarea\n id=\"primary\"\n placeholder={t('Type your answer here')}\n className={cx(\n 'absolute inset-0 resize-none',\n 'overflow-hidden break-words outline-none resize-none bg-grey-0/0',\n 'rounded-lg py-3 px-4 min-h-20 border border-separator-opaque-light dark:border-separator-opaque-dark',\n `text-label-primary-light dark:text-label-primary-dark`,\n variantToClassName['B1']\n )}\n value={inputText}\n onChange={e => setInputText(e.target.value)}\n />\n </div>\n </div>\n </QuestionWrapper>\n );\n};\n","import { cx, NText } from '@nemme/ui-kit';\nimport { FC, ReactNode } from 'react';\n\ntype Props = {\n title: string;\n icon?: string;\n description?: string;\n image?: string;\n /** This is the button section and the absolute exit button in top right. */\n children: ReactNode;\n wrapperClassName?: string;\n};\nexport const TransitionWrapper: FC<Props> = ({ title, icon, description, image, children, wrapperClassName }) => {\n return (\n <div\n className={cx(\n 'grid mx-4 my-8 rounded-xl border',\n 'grid-cols-1 p-4 pt-10',\n 'md:p-8 md:gap-16 md:max-w-[960px] md:min-w-[660px]',\n !image ? 'md:grid-cols-1' : 'md:grid-cols-2',\n 'border-separator-opaque-light dark:border-separator-opaque-dark material-ultra-thick-light dark:material-ultra-thick-dark',\n wrapperClassName\n )}\n >\n <div className=\"flex flex-col justify-between gap-6 md:gap-8 order-2 md:order-1\">\n <div className=\"flex flex-col gap-6 md:gap-8\">\n <div className=\"flex flex-col gap-2 md:gap-4\">\n {icon && (\n <div className={cx('h-8 w-8 rounded-lg overflow-hidden', !image ? 'block' : 'hidden md:block')}>\n <img className=\"w-full h-full object-cover\" src={icon} alt=\"icon\" />\n </div>\n )}\n <NText variant=\"H2\">{title}</NText>\n </div>\n {description &&\n description\n .trim()\n .replace(/\\n{3,}/g, '\\n\\n')\n .split('\\n\\n')\n .map((text, index) => <NText key={index}>{text.trim()}</NText>)}\n </div>\n {children}\n </div>\n {image && (\n <div className=\"flex flex-col justify-center order-1 md:order-2\">\n <div className=\"rounded-lg overflow-hidden mb-6 md:mb-0\">\n <img className=\"w-full h-full object-cover aspect-video md:aspect-square\" src={image} alt=\"image\" />\n </div>\n </div>\n )}\n </div>\n );\n};\n","import { Button } from '@nemme/ui-kit';\nimport { ArrowSquareOutIcon, XIcon } from '@phosphor-icons/react';\nimport { FC } from 'react';\nimport { TransitionWrapper } from '../transition-wrapper';\n\nexport type Props = {\n title: string;\n icon?: string;\n description?: string;\n image?: string;\n quitText?: string;\n onQuit?: () => void;\n externalLink?: string;\n};\n\nexport const TransitionEnd: FC<Props> = ({ title, icon, description, image, quitText, onQuit, externalLink }) => {\n return (\n <TransitionWrapper title={title} icon={icon} description={description} image={image}>\n <div className=\"flex justify-end gap-2\">\n {externalLink ? (\n <Button\n variant=\"secondary\"\n text={quitText}\n iconAfter={<ArrowSquareOutIcon />}\n onClick={() => {\n window.open(externalLink, '_blank');\n onQuit?.();\n }}\n />\n ) : (\n <Button variant=\"secondary\" onClick={onQuit} text={quitText} />\n )}\n </div>\n {onQuit && (\n <Button\n className=\"absolute -top-2 -right-2 md:-top-4 md:-right-4\"\n variant=\"secondary\"\n size=\"small\"\n onClick={onQuit}\n iconAfter={<XIcon />}\n aria-label=\"quit\"\n />\n )}\n </TransitionWrapper>\n );\n};\n","import { Button } from '@nemme/ui-kit';\nimport { XIcon } from '@phosphor-icons/react';\nimport { FC } from 'react';\nimport { TransitionWrapper } from '../transition-wrapper';\n\nexport type Props = {\n title: string;\n icon?: string;\n description?: string;\n image?: string;\n quitText?: string;\n onQuit?: () => void;\n startText?: string;\n onStart?: () => void;\n};\n\nexport const TransitionStart: FC<Props> = ({\n title,\n icon,\n description,\n image,\n quitText,\n onQuit,\n startText,\n onStart\n}) => {\n return (\n <TransitionWrapper title={title} icon={icon} description={description} image={image} wrapperClassName=\"relative\">\n <div className=\"flex justify-end gap-2\">\n {onQuit && quitText && <Button variant=\"subtle\" text={quitText} onClick={onQuit} />}\n <Button variant=\"secondary\" text={startText} onClick={onStart} />\n </div>\n {onQuit && (\n <Button\n className=\"absolute top-0 right-1 md:top-1\"\n variant=\"subtle\"\n size=\"small\"\n onClick={onQuit}\n iconAfter={<XIcon />}\n aria-label=\"quit\"\n />\n )}\n </TransitionWrapper>\n );\n};\n","let defaultOptions = {};\n\nexport function getDefaultOptions() {\n return defaultOptions;\n}\n\nexport function setDefaultOptions(newOptions) {\n defaultOptions = newOptions;\n}\n","const formatDistanceLocale = {\n lessThanXSeconds: {\n one: \"less than a second\",\n other: \"less than {{count}} seconds\",\n },\n\n xSeconds: {\n one: \"1 second\",\n other: \"{{count}} seconds\",\n },\n\n halfAMinute: \"half a minute\",\n\n lessThanXMinutes: {\n one: \"less than a minute\",\n other: \"less than {{count}} minutes\",\n },\n\n xMinutes: {\n one: \"1 minute\",\n other: \"{{count}} minutes\",\n },\n\n aboutXHours: {\n one: \"about 1 hour\",\n other: \"about {{count}} hours\",\n },\n\n xHours: {\n one: \"1 hour\",\n other: \"{{count}} hours\",\n },\n\n xDays: {\n one: \"1 day\",\n other: \"{{count}} days\",\n },\n\n aboutXWeeks: {\n one: \"about 1 week\",\n other: \"about {{count}} weeks\",\n },\n\n xWeeks: {\n one: \"1 week\",\n other: \"{{count}} weeks\",\n },\n\n aboutXMonths: {\n one: \"about 1 month\",\n other: \"about {{count}} months\",\n },\n\n xMonths: {\n one: \"1 month\",\n other: \"{{count}} months\",\n },\n\n aboutXYears: {\n one: \"about 1 year\",\n other: \"about {{count}} years\",\n },\n\n xYears: {\n one: \"1 year\",\n other: \"{{count}} years\",\n },\n\n overXYears: {\n one: \"over 1 year\",\n other: \"over {{count}} years\",\n },\n\n almostXYears: {\n one: \"almost 1 year\",\n other: \"almost {{count}} years\",\n },\n};\n\nexport const formatDistance = (token, count, options) => {\n let result;\n\n const tokenValue = formatDistanceLocale[token];\n if (typeof tokenValue === \"string\") {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace(\"{{count}}\", count.toString());\n }\n\n if (options?.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return \"in \" + result;\n } else {\n return result + \" ago\";\n }\n }\n\n return result;\n};\n","export function buildFormatLongFn(args) {\n return (options = {}) => {\n // TODO: Remove String()\n const width = options.width ? String(options.width) : args.defaultWidth;\n const format = args.formats[width] || args.formats[args.defaultWidth];\n return format;\n };\n}\n","const formatRelativeLocale = {\n lastWeek: \"'last' eeee 'at' p\",\n yesterday: \"'yesterday at' p\",\n today: \"'today at' p\",\n tomorrow: \"'tomorrow at' p\",\n nextWeek: \"eeee 'at' p\",\n other: \"P\",\n};\n\nexport const formatRelative = (token, _date, _baseDate, _options) =>\n formatRelativeLocale[token];\n","/**\n * The localize function argument callback which allows to convert raw value to\n * the actual type.\n *\n * @param value - The value to convert\n *\n * @returns The converted value\n */\n\n/**\n * The map of localized values for each width.\n */\n\n/**\n * The index type of the locale unit value. It types conversion of units of\n * values that don't start at 0 (i.e. quarters).\n */\n\n/**\n * Converts the unit value to the tuple of values.\n */\n\n/**\n * The tuple of localized era values. The first element represents BC,\n * the second element represents AD.\n */\n\n/**\n * The tuple of localized quarter values. The first element represents Q1.\n */\n\n/**\n * The tuple of localized day values. The first element represents Sunday.\n */\n\n/**\n * The tuple of localized month values. The first element represents January.\n */\n\nexport function buildLocalizeFn(args) {\n return (value, options) => {\n const context = options?.context ? String(options.context) : \"standalone\";\n\n let valuesArray;\n if (context === \"formatting\" && args.formattingValues) {\n const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;\n const width = options?.width ? String(options.width) : defaultWidth;\n\n valuesArray =\n args.formattingValues[width] || args.formattingValues[defaultWidth];\n } else {\n const defaultWidth = args.defaultWidth;\n const width = options?.width ? String(options.width) : args.defaultWidth;\n\n valuesArray = args.values[width] || args.values[defaultWidth];\n }\n const index = args.argumentCallback ? args.argumentCallback(value) : value;\n\n // @ts-expect-error - For some reason TypeScript just don't want to match it, no matter how hard we try. I challenge you to try to remove it!\n return valuesArray[index];\n };\n}\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.js\";\n\nconst eraValues = {\n narrow: [\"B\", \"A\"],\n abbreviated: [\"BC\", \"AD\"],\n wide: [\"Before Christ\", \"Anno Domini\"],\n};\n\nconst quarterValues = {\n narrow: [\"1\", \"2\", \"3\", \"4\"],\n abbreviated: [\"Q1\", \"Q2\", \"Q3\", \"Q4\"],\n wide: [\"1st quarter\", \"2nd quarter\", \"3rd quarter\", \"4th quarter\"],\n};\n\n// Note: in English, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\nconst monthValues = {\n narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n abbreviated: [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\",\n ],\n\n wide: [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\",\n ],\n};\n\nconst dayValues = {\n narrow: [\"S\", \"M\", \"T\", \"W\", \"T\", \"F\", \"S\"],\n short: [\"Su\", \"Mo\", \"Tu\", \"We\", \"Th\", \"Fr\", \"Sa\"],\n abbreviated: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n wide: [\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\",\n ],\n};\n\nconst dayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n};\n\nconst formattingDayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n};\n\nconst ordinalNumber = (dirtyNumber, _options) => {\n const number = Number(dirtyNumber);\n\n // If ordinal numbers depend on context, for example,\n // if they are different for different grammatical genders,\n // use `options.unit`.\n //\n // `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',\n // 'day', 'hour', 'minute', 'second'.\n\n const rem100 = number % 100;\n if (rem100 > 20 || rem100 < 10) {\n switch (rem100 % 10) {\n case 1:\n return number + \"st\";\n case 2:\n return number + \"nd\";\n case 3:\n return number + \"rd\";\n }\n }\n return number + \"th\";\n};\n\nexport const localize = {\n ordinalNumber,\n\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: \"wide\",\n }),\n\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: \"wide\",\n argumentCallback: (quarter) => quarter - 1,\n }),\n\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: \"wide\",\n }),\n\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: \"wide\",\n }),\n\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: \"wide\",\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: \"wide\",\n }),\n};\n","export function buildMatchFn(args) {\n return (string, options = {}) => {\n const width = options.width;\n\n const matchPattern =\n (width && args.matchPatterns[width]) ||\n args.matchPatterns[args.defaultMatchWidth];\n const matchResult = string.match(matchPattern);\n\n if (!matchResult) {\n return null;\n }\n const matchedString = matchResult[0];\n\n const parsePatterns =\n (width && args.parsePatterns[width]) ||\n args.parsePatterns[args.defaultParseWidth];\n\n const key = Array.isArray(parsePatterns)\n ? findIndex(parsePatterns, (pattern) => pattern.test(matchedString))\n : // [TODO] -- I challenge you to fix the type\n findKey(parsePatterns, (pattern) => pattern.test(matchedString));\n\n let value;\n\n value = args.valueCallback ? args.valueCallback(key) : key;\n value = options.valueCallback\n ? // [TODO] -- I challenge you to fix the type\n options.valueCallback(value)\n : value;\n\n const rest = string.slice(matchedString.length);\n\n return { value, rest };\n };\n}\n\nfunction findKey(object, predicate) {\n for (const key in object) {\n if (\n Object.prototype.hasOwnProperty.call(object, key) &&\n predicate(object[key])\n ) {\n return key;\n }\n }\n return undefined;\n}\n\nfunction findIndex(array, predicate) {\n for (let key = 0; key < array.length; key++) {\n if (predicate(array[key])) {\n return key;\n }\n }\n return undefined;\n}\n","export function buildMatchPatternFn(args) {\n return (string, options = {}) => {\n const matchResult = string.match(args.matchPattern);\n if (!matchResult) return null;\n const matchedString = matchResult[0];\n\n const parseResult = string.match(args.parsePattern);\n if (!parseResult) return null;\n let value = args.valueCallback\n ? args.valueCallback(parseResult[0])\n : parseResult[0];\n\n // [TODO] I challenge you to fix the type\n value = options.valueCallback ? options.valueCallback(value) : value;\n\n const rest = string.slice(matchedString.length);\n\n return { value, rest };\n };\n}\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.js\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.js\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n narrow: /^(b|a)/i,\n abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n wide: /^(before christ|before common era|anno domini|common era)/i,\n};\nconst parseEraPatterns = {\n any: [/^b/i, /^(a|c)/i],\n};\n\nconst matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](th|st|nd|rd)? quarter/i,\n};\nconst parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i,\n};\nconst parseMonthPatterns = {\n narrow: [\n /^j/i,\n /^f/i,\n /^m/i,\n /^a/i,\n /^m/i,\n /^j/i,\n /^j/i,\n /^a/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n\n any: [\n /^ja/i,\n /^f/i,\n /^mar/i,\n /^ap/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^au/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n};\n\nconst matchDayPatterns = {\n narrow: /^[smtwf]/i,\n short: /^(su|mo|tu|we|th|fr|sa)/i,\n abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i,\n};\nconst parseDayPatterns = {\n narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i],\n};\n\nconst matchDayPeriodPatterns = {\n narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i,\n};\nconst parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mi/i,\n noon: /^no/i,\n morning: /morning/i,\n afternoon: /afternoon/i,\n evening: /evening/i,\n night: /night/i,\n },\n};\n\nexport const match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: (value) => parseInt(value, 10),\n }),\n\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseEraPatterns,\n defaultParseWidth: \"any\",\n }),\n\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: \"any\",\n valueCallback: (index) => index + 1,\n }),\n\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: \"any\",\n }),\n\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseDayPatterns,\n defaultParseWidth: \"any\",\n }),\n\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: \"any\",\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: \"any\",\n }),\n};\n","import {\n getDefaultOptions,\n setDefaultOptions as setInternalDefaultOptions,\n} from \"./_lib/defaultOptions.js\";\n\n/**\n * @name setDefaultOptions\n * @category Common Helpers\n * @summary Set default options including locale.\n * @pure false\n *\n * @description\n * Sets the defaults for\n * `options.locale`, `options.weekStartsOn` and `options.firstWeekContainsDate`\n * arguments for all functions.\n *\n * @param options - An object with options\n *\n * @example\n * // Set global locale:\n * import { es } from 'date-fns/locale'\n * setDefaultOptions({ locale: es })\n * const result = format(new Date(2014, 8, 2), 'PPPP')\n * //=> 'martes, 2 de septiembre de 2014'\n *\n * @example\n * // Start of the week for 2 September 2014:\n * const result = startOfWeek(new Date(2014, 8, 2))\n * //=> Sun Aug 31 2014 00:00:00\n *\n * @example\n * // Start of the week for 2 September 2014,\n * // when we set that week starts on Monday by default:\n * setDefaultOptions({ weekStartsOn: 1 })\n * const result = startOfWeek(new Date(2014, 8, 2))\n * //=> Mon Sep 01 2014 00:00:00\n *\n * @example\n * // Manually set options take priority over default options:\n * setDefaultOptions({ weekStartsOn: 1 })\n * const result = startOfWeek(new Date(2014, 8, 2), { weekStartsOn: 0 })\n * //=> Sun Aug 31 2014 00:00:00\n *\n * @example\n * // Remove the option by setting it to `undefined`:\n * setDefaultOptions({ weekStartsOn: 1 })\n * setDefaultOptions({ weekStartsOn: undefined })\n * const result = startOfWeek(new Date(2014, 8, 2))\n * //=> Sun Aug 31 2014 00:00:00\n */\nexport function setDefaultOptions(options) {\n const result = {};\n const defaultOptions = getDefaultOptions();\n\n for (const property in defaultOptions) {\n if (Object.prototype.hasOwnProperty.call(defaultOptions, property)) {\n // [TODO] I challenge you to fix the type\n result[property] = defaultOptions[property];\n }\n }\n\n for (const property in options) {\n if (Object.prototype.hasOwnProperty.call(options, property)) {\n if (options[property] === undefined) {\n // [TODO] I challenge you to fix the type\n delete result[property];\n } else {\n // [TODO] I challenge you to fix the type\n result[property] = options[property];\n }\n }\n }\n\n setInternalDefaultOptions(result);\n}\n\n// Fallback for modularized imports:\nexport default setDefaultOptions;\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.js\";\n\nconst dateFormats = {\n full: \"EEEE, d MMMM yyyy\",\n long: \"d MMMM yyyy\",\n medium: \"d MMM yyyy\",\n short: \"dd/MM/yyyy\",\n};\n\nconst timeFormats = {\n full: \"HH:mm:ss zzzz\",\n long: \"HH:mm:ss z\",\n medium: \"HH:mm:ss\",\n short: \"HH:mm\",\n};\n\nconst dateTimeFormats = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: \"{{date}}, {{time}}\",\n short: \"{{date}}, {{time}}\",\n};\n\nexport const formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: \"full\",\n }),\n\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: \"full\",\n }),\n\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: \"full\",\n }),\n};\n","import { formatDistance } from \"./en-US/_lib/formatDistance.js\";\nimport { formatRelative } from \"./en-US/_lib/formatRelative.js\";\nimport { localize } from \"./en-US/_lib/localize.js\";\nimport { match } from \"./en-US/_lib/match.js\";\n\nimport { formatLong } from \"./en-GB/_lib/formatLong.js\";\n\n/**\n * @category Locales\n * @summary English locale (United Kingdom).\n * @language English\n * @iso-639-2 eng\n * @author Alex [@glintik](https://github.com/glintik)\n */\nexport const enGB = {\n code: \"en-GB\",\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 1 /* Monday */,\n firstWeekContainsDate: 4,\n },\n};\n\n// Fallback for modularized imports:\nexport default enGB;\n","const isString = obj => typeof obj === 'string';\nconst defer = () => {\n let res;\n let rej;\n const promise = new Promise((resolve, reject) => {\n res = resolve;\n rej = reject;\n });\n promise.resolve = res;\n promise.reject = rej;\n return promise;\n};\nconst makeString = object => {\n if (object == null) return '';\n return '' + object;\n};\nconst copy = (a, s, t) => {\n a.forEach(m => {\n if (s[m]) t[m] = s[m];\n });\n};\nconst lastOfPathSeparatorRegExp = /###/g;\nconst cleanKey = key => key && key.indexOf('###') > -1 ? key.replace(lastOfPathSeparatorRegExp, '.') : key;\nconst canNotTraverseDeeper = object => !object || isString(object);\nconst getLastOfPath = (object, path, Empty) => {\n const stack = !isString(path) ? path : path.split('.');\n let stackIndex = 0;\n while (stackIndex < stack.length - 1) {\n if (canNotTraverseDeeper(object)) return {};\n const key = cleanKey(stack[stackIndex]);\n if (!object[key] && Empty) object[key] = new Empty();\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n ++stackIndex;\n }\n if (canNotTraverseDeeper(object)) return {};\n return {\n obj: object,\n k: cleanKey(stack[stackIndex])\n };\n};\nconst setPath = (object, path, newValue) => {\n const {\n obj,\n k\n } = getLastOfPath(object, path, Object);\n if (obj !== undefined || path.length === 1) {\n obj[k] = newValue;\n return;\n }\n let e = path[path.length - 1];\n let p = path.slice(0, path.length - 1);\n let last = getLastOfPath(object, p, Object);\n while (last.obj === undefined && p.length) {\n e = `${p[p.length - 1]}.${e}`;\n p = p.slice(0, p.length - 1);\n last = getLastOfPath(object, p, Object);\n if (last?.obj && typeof last.obj[`${last.k}.${e}`] !== 'undefined') {\n last.obj = undefined;\n }\n }\n last.obj[`${last.k}.${e}`] = newValue;\n};\nconst pushPath = (object, path, newValue, concat) => {\n const {\n obj,\n k\n } = getLastOfPath(object, path, Object);\n obj[k] = obj[k] || [];\n obj[k].push(newValue);\n};\nconst getPath = (object, path) => {\n const {\n obj,\n k\n } = getLastOfPath(object, path);\n if (!obj) return undefined;\n if (!Object.prototype.hasOwnProperty.call(obj, k)) return undefined;\n return obj[k];\n};\nconst getPathWithDefaults = (data, defaultData, key) => {\n const value = getPath(data, key);\n if (value !== undefined) {\n return value;\n }\n return getPath(defaultData, key);\n};\nconst deepExtend = (target, source, overwrite) => {\n for (const prop in source) {\n if (prop !== '__proto__' && prop !== 'constructor') {\n if (prop in target) {\n if (isString(target[prop]) || target[prop] instanceof String || isString(source[prop]) || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n }\n return target;\n};\nconst regexEscape = str => str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\nvar _entityMap = {\n '&': '&amp;',\n '<': '&lt;',\n '>': '&gt;',\n '\"': '&quot;',\n \"'\": '&#39;',\n '/': '&#x2F;'\n};\nconst escape = data => {\n if (isString(data)) {\n return data.replace(/[&<>\"'\\/]/g, s => _entityMap[s]);\n }\n return data;\n};\nclass RegExpCache {\n constructor(capacity) {\n this.capacity = capacity;\n this.regExpMap = new Map();\n this.regExpQueue = [];\n }\n getRegExp(pattern) {\n const regExpFromCache = this.regExpMap.get(pattern);\n if (regExpFromCache !== undefined) {\n return regExpFromCache;\n }\n const regExpNew = new RegExp(pattern);\n if (this.regExpQueue.length === this.capacity) {\n this.regExpMap.delete(this.regExpQueue.shift());\n }\n this.regExpMap.set(pattern, regExpNew);\n this.regExpQueue.push(pattern);\n return regExpNew;\n }\n}\nconst chars = [' ', ',', '?', '!', ';'];\nconst looksLikeObjectPathRegExpCache = new RegExpCache(20);\nconst looksLikeObjectPath = (key, nsSeparator, keySeparator) => {\n nsSeparator = nsSeparator || '';\n keySeparator = keySeparator || '';\n const possibleChars = chars.filter(c => nsSeparator.indexOf(c) < 0 && keySeparator.indexOf(c) < 0);\n if (possibleChars.length === 0) return true;\n const r = looksLikeObjectPathRegExpCache.getRegExp(`(${possibleChars.map(c => c === '?' ? '\\\\?' : c).join('|')})`);\n let matched = !r.test(key);\n if (!matched) {\n const ki = key.indexOf(keySeparator);\n if (ki > 0 && !r.test(key.substring(0, ki))) {\n matched = true;\n }\n }\n return matched;\n};\nconst deepFind = (obj, path, keySeparator = '.') => {\n if (!obj) return undefined;\n if (obj[path]) {\n if (!Object.prototype.hasOwnProperty.call(obj, path)) return undefined;\n return obj[path];\n }\n const tokens = path.split(keySeparator);\n let current = obj;\n for (let i = 0; i < tokens.length;) {\n if (!current || typeof current !== 'object') {\n return undefined;\n }\n let next;\n let nextPath = '';\n for (let j = i; j < tokens.length; ++j) {\n if (j !== i) {\n nextPath += keySeparator;\n }\n nextPath += tokens[j];\n next = current[nextPath];\n if (next !== undefined) {\n if (['string', 'number', 'boolean'].indexOf(typeof next) > -1 && j < tokens.length - 1) {\n continue;\n }\n i += j - i + 1;\n break;\n }\n }\n current = next;\n }\n return current;\n};\nconst getCleanedCode = code => code?.replace('_', '-');\n\nconst consoleLogger = {\n type: 'logger',\n log(args) {\n this.output('log', args);\n },\n warn(args) {\n this.output('warn', args);\n },\n error(args) {\n this.output('error', args);\n },\n output(type, args) {\n console?.[type]?.apply?.(console, args);\n }\n};\nclass Logger {\n constructor(concreteLogger, options = {}) {\n this.init(concreteLogger, options);\n }\n init(concreteLogger, options = {}) {\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n }\n log(...args) {\n return this.forward(args, 'log', '', true);\n }\n warn(...args) {\n return this.forward(args, 'warn', '', true);\n }\n error(...args) {\n return this.forward(args, 'error', '');\n }\n deprecate(...args) {\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n }\n forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (isString(args[0])) args[0] = `${prefix}${this.prefix} ${args[0]}`;\n return this.logger[lvl](args);\n }\n create(moduleName) {\n return new Logger(this.logger, {\n ...{\n prefix: `${this.prefix}:${moduleName}:`\n },\n ...this.options\n });\n }\n clone(options) {\n options = options || this.options;\n options.prefix = options.prefix || this.prefix;\n return new Logger(this.logger, options);\n }\n}\nvar baseLogger = new Logger();\n\nclass EventEmitter {\n constructor() {\n this.observers = {};\n }\n on(events, listener) {\n events.split(' ').forEach(event => {\n if (!this.observers[event]) this.observers[event] = new Map();\n const numListeners = this.observers[event].get(listener) || 0;\n this.observers[event].set(listener, numListeners + 1);\n });\n return this;\n }\n off(event, listener) {\n if (!this.observers[event]) return;\n if (!listener) {\n delete this.observers[event];\n return;\n }\n this.observers[event].delete(listener);\n }\n emit(event, ...args) {\n if (this.observers[event]) {\n const cloned = Array.from(this.observers[event].entries());\n cloned.forEach(([observer, numTimesAdded]) => {\n for (let i = 0; i < numTimesAdded; i++) {\n observer(...args);\n }\n });\n }\n if (this.observers['*']) {\n const cloned = Array.from(this.observers['*'].entries());\n cloned.forEach(([observer, numTimesAdded]) => {\n for (let i = 0; i < numTimesAdded; i++) {\n observer.apply(observer, [event, ...args]);\n }\n });\n }\n }\n}\n\nclass ResourceStore extends EventEmitter {\n constructor(data, options = {\n ns: ['translation'],\n defaultNS: 'translation'\n }) {\n super();\n this.data = data || {};\n this.options = options;\n if (this.options.keySeparator === undefined) {\n this.options.keySeparator = '.';\n }\n if (this.options.ignoreJSONStructure === undefined) {\n this.options.ignoreJSONStructure = true;\n }\n }\n addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n }\n removeNamespaces(ns) {\n const index = this.options.ns.indexOf(ns);\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n }\n getResource(lng, ns, key, options = {}) {\n const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n const ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure;\n let path;\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n } else {\n path = [lng, ns];\n if (key) {\n if (Array.isArray(key)) {\n path.push(...key);\n } else if (isString(key) && keySeparator) {\n path.push(...key.split(keySeparator));\n } else {\n path.push(key);\n }\n }\n }\n const result = getPath(this.data, path);\n if (!result && !ns && !key && lng.indexOf('.') > -1) {\n lng = path[0];\n ns = path[1];\n key = path.slice(2).join('.');\n }\n if (result || !ignoreJSONStructure || !isString(key)) return result;\n return deepFind(this.data?.[lng]?.[ns], key, keySeparator);\n }\n addResource(lng, ns, key, value, options = {\n silent: false\n }) {\n const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n let path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n addResources(lng, ns, resources, options = {\n silent: false\n }) {\n for (const m in resources) {\n if (isString(resources[m]) || Array.isArray(resources[m])) this.addResource(lng, ns, m, resources[m], {\n silent: true\n });\n }\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n addResourceBundle(lng, ns, resources, deep, overwrite, options = {\n silent: false,\n skipCopy: false\n }) {\n let path = [lng, ns];\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n let pack = getPath(this.data, path) || {};\n if (!options.skipCopy) resources = JSON.parse(JSON.stringify(resources));\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = {\n ...pack,\n ...resources\n };\n }\n setPath(this.data, path, pack);\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n }\n hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n }\n getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n return this.getResource(lng, ns);\n }\n getDataByLanguage(lng) {\n return this.data[lng];\n }\n hasLanguageSomeTranslations(lng) {\n const data = this.getDataByLanguage(lng);\n const n = data && Object.keys(data) || [];\n return !!n.find(v => data[v] && Object.keys(data[v]).length > 0);\n }\n toJSON() {\n return this.data;\n }\n}\n\nvar postProcessor = {\n processors: {},\n addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle(processors, value, key, options, translator) {\n processors.forEach(processor => {\n value = this.processors[processor]?.process(value, key, options, translator) ?? value;\n });\n return value;\n }\n};\n\nconst PATH_KEY = Symbol('i18next/PATH_KEY');\nfunction createProxy() {\n const state = [];\n const handler = Object.create(null);\n let proxy;\n handler.get = (target, key) => {\n proxy?.revoke?.();\n if (key === PATH_KEY) return state;\n state.push(key);\n proxy = Proxy.revocable(target, handler);\n return proxy.proxy;\n };\n return Proxy.revocable(Object.create(null), handler).proxy;\n}\nfunction keysFromSelector(selector, opts) {\n const {\n [PATH_KEY]: path\n } = selector(createProxy());\n return path.join(opts?.keySeparator ?? '.');\n}\n\nconst checkedLoadedFor = {};\nconst shouldHandleAsObject = res => !isString(res) && typeof res !== 'boolean' && typeof res !== 'number';\nclass Translator extends EventEmitter {\n constructor(services, options = {}) {\n super();\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, this);\n this.options = options;\n if (this.options.keySeparator === undefined) {\n this.options.keySeparator = '.';\n }\n this.logger = baseLogger.create('translator');\n }\n changeLanguage(lng) {\n if (lng) this.language = lng;\n }\n exists(key, o = {\n interpolation: {}\n }) {\n const opt = {\n ...o\n };\n if (key == null) return false;\n const resolved = this.resolve(key, opt);\n return resolved?.res !== undefined;\n }\n extractFromKey(key, opt) {\n let nsSeparator = opt.nsSeparator !== undefined ? opt.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n const keySeparator = opt.keySeparator !== undefined ? opt.keySeparator : this.options.keySeparator;\n let namespaces = opt.ns || this.options.defaultNS || [];\n const wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1;\n const seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !opt.keySeparator && !this.options.userDefinedNsSeparator && !opt.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator);\n if (wouldCheckForNsInKey && !seemsNaturalLanguage) {\n const m = key.match(this.interpolator.nestingRegexp);\n if (m && m.length > 0) {\n return {\n key,\n namespaces: isString(namespaces) ? [namespaces] : namespaces\n };\n }\n const parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n return {\n key,\n namespaces: isString(namespaces) ? [namespaces] : namespaces\n };\n }\n translate(keys, o, lastKey) {\n let opt = typeof o === 'object' ? {\n ...o\n } : o;\n if (typeof opt !== 'object' && this.options.overloadTranslationOptionHandler) {\n opt = this.options.overloadTranslationOptionHandler(arguments);\n }\n if (typeof opt === 'object') opt = {\n ...opt\n };\n if (!opt) opt = {};\n if (keys == null) return '';\n if (typeof keys === 'function') keys = keysFromSelector(keys, {\n ...this.options,\n ...opt\n });\n if (!Array.isArray(keys)) keys = [String(keys)];\n const returnDetails = opt.returnDetails !== undefined ? opt.returnDetails : this.options.returnDetails;\n const keySeparator = opt.keySeparator !== undefined ? opt.keySeparator : this.options.keySeparator;\n const {\n key,\n namespaces\n } = this.extractFromKey(keys[keys.length - 1], opt);\n const namespace = namespaces[namespaces.length - 1];\n let nsSeparator = opt.nsSeparator !== undefined ? opt.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n const lng = opt.lng || this.language;\n const appendNamespaceToCIMode = opt.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n if (lng?.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n if (returnDetails) {\n return {\n res: `${namespace}${nsSeparator}${key}`,\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace,\n usedParams: this.getUsedParamsDetails(opt)\n };\n }\n return `${namespace}${nsSeparator}${key}`;\n }\n if (returnDetails) {\n return {\n res: key,\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace,\n usedParams: this.getUsedParamsDetails(opt)\n };\n }\n return key;\n }\n const resolved = this.resolve(keys, opt);\n let res = resolved?.res;\n const resUsedKey = resolved?.usedKey || key;\n const resExactUsedKey = resolved?.exactUsedKey || key;\n const noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n const joinArrays = opt.joinArrays !== undefined ? opt.joinArrays : this.options.joinArrays;\n const handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n const needsPluralHandling = opt.count !== undefined && !isString(opt.count);\n const hasDefaultValue = Translator.hasDefaultValue(opt);\n const defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, opt.count, opt) : '';\n const defaultValueSuffixOrdinalFallback = opt.ordinal && needsPluralHandling ? this.pluralResolver.getSuffix(lng, opt.count, {\n ordinal: false\n }) : '';\n const needsZeroSuffixLookup = needsPluralHandling && !opt.ordinal && opt.count === 0;\n const defaultValue = needsZeroSuffixLookup && opt[`defaultValue${this.options.pluralSeparator}zero`] || opt[`defaultValue${defaultValueSuffix}`] || opt[`defaultValue${defaultValueSuffixOrdinalFallback}`] || opt.defaultValue;\n let resForObjHndl = res;\n if (handleAsObjectInI18nFormat && !res && hasDefaultValue) {\n resForObjHndl = defaultValue;\n }\n const handleAsObject = shouldHandleAsObject(resForObjHndl);\n const resType = Object.prototype.toString.apply(resForObjHndl);\n if (handleAsObjectInI18nFormat && resForObjHndl && handleAsObject && noObject.indexOf(resType) < 0 && !(isString(joinArrays) && Array.isArray(resForObjHndl))) {\n if (!opt.returnObjects && !this.options.returnObjects) {\n if (!this.options.returnedObjectHandler) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n }\n const r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, resForObjHndl, {\n ...opt,\n ns: namespaces\n }) : `key '${key} (${this.language})' returned an object instead of string.`;\n if (returnDetails) {\n resolved.res = r;\n resolved.usedParams = this.getUsedParamsDetails(opt);\n return resolved;\n }\n return r;\n }\n if (keySeparator) {\n const resTypeIsArray = Array.isArray(resForObjHndl);\n const copy = resTypeIsArray ? [] : {};\n const newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n for (const m in resForObjHndl) {\n if (Object.prototype.hasOwnProperty.call(resForObjHndl, m)) {\n const deepKey = `${newKeyToUse}${keySeparator}${m}`;\n if (hasDefaultValue && !res) {\n copy[m] = this.translate(deepKey, {\n ...opt,\n defaultValue: shouldHandleAsObject(defaultValue) ? defaultValue[m] : undefined,\n ...{\n joinArrays: false,\n ns: namespaces\n }\n });\n } else {\n copy[m] = this.translate(deepKey, {\n ...opt,\n ...{\n joinArrays: false,\n ns: namespaces\n }\n });\n }\n if (copy[m] === deepKey) copy[m] = resForObjHndl[m];\n }\n }\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && isString(joinArrays) && Array.isArray(res)) {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, opt, lastKey);\n } else {\n let usedDefault = false;\n let usedKey = false;\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n const missingKeyNoValueFallbackToKey = opt.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey;\n const resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res;\n const updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n if (keySeparator) {\n const fk = this.resolve(key, {\n ...opt,\n keySeparator: false\n });\n if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.');\n }\n let lngs = [];\n const fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, opt.lng || this.language);\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (let i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(opt.lng || this.language);\n } else {\n lngs.push(opt.lng || this.language);\n }\n const send = (l, k, specificDefaultValue) => {\n const defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing;\n if (this.options.missingKeyHandler) {\n this.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, opt);\n } else if (this.backendConnector?.saveMissing) {\n this.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, opt);\n }\n this.emit('missingKey', l, namespace, k, res);\n };\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(language => {\n const suffixes = this.pluralResolver.getSuffixes(language, opt);\n if (needsZeroSuffixLookup && opt[`defaultValue${this.options.pluralSeparator}zero`] && suffixes.indexOf(`${this.options.pluralSeparator}zero`) < 0) {\n suffixes.push(`${this.options.pluralSeparator}zero`);\n }\n suffixes.forEach(suffix => {\n send([language], key + suffix, opt[`defaultValue${suffix}`] || defaultValue);\n });\n });\n } else {\n send(lngs, key, defaultValue);\n }\n }\n }\n res = this.extendTranslation(res, keys, opt, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) {\n res = `${namespace}${nsSeparator}${key}`;\n }\n if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) {\n res = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? `${namespace}${nsSeparator}${key}` : key, usedDefault ? res : undefined, opt);\n }\n }\n if (returnDetails) {\n resolved.res = res;\n resolved.usedParams = this.getUsedParamsDetails(opt);\n return resolved;\n }\n return res;\n }\n extendTranslation(res, key, opt, resolved, lastKey) {\n if (this.i18nFormat?.parse) {\n res = this.i18nFormat.parse(res, {\n ...this.options.interpolation.defaultVariables,\n ...opt\n }, opt.lng || this.language || resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved\n });\n } else if (!opt.skipInterpolation) {\n if (opt.interpolation) this.interpolator.init({\n ...opt,\n ...{\n interpolation: {\n ...this.options.interpolation,\n ...opt.interpolation\n }\n }\n });\n const skipOnVariables = isString(res) && (opt?.interpolation?.skipOnVariables !== undefined ? opt.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables);\n let nestBef;\n if (skipOnVariables) {\n const nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n let data = opt.replace && !isString(opt.replace) ? opt.replace : opt;\n if (this.options.interpolation.defaultVariables) data = {\n ...this.options.interpolation.defaultVariables,\n ...data\n };\n res = this.interpolator.interpolate(res, data, opt.lng || this.language || resolved.usedLng, opt);\n if (skipOnVariables) {\n const na = res.match(this.interpolator.nestingRegexp);\n const nestAft = na && na.length;\n if (nestBef < nestAft) opt.nest = false;\n }\n if (!opt.lng && resolved && resolved.res) opt.lng = this.language || resolved.usedLng;\n if (opt.nest !== false) res = this.interpolator.nest(res, (...args) => {\n if (lastKey?.[0] === args[0] && !opt.context) {\n this.logger.warn(`It seems you are nesting recursively key: ${args[0]} in key: ${key[0]}`);\n return null;\n }\n return this.translate(...args, key);\n }, opt);\n if (opt.interpolation) this.interpolator.reset();\n }\n const postProcess = opt.postProcess || this.options.postProcess;\n const postProcessorNames = isString(postProcess) ? [postProcess] : postProcess;\n if (res != null && postProcessorNames?.length && opt.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? {\n i18nResolved: {\n ...resolved,\n usedParams: this.getUsedParamsDetails(opt)\n },\n ...opt\n } : opt, this);\n }\n return res;\n }\n resolve(keys, opt = {}) {\n let found;\n let usedKey;\n let exactUsedKey;\n let usedLng;\n let usedNS;\n if (isString(keys)) keys = [keys];\n keys.forEach(k => {\n if (this.isValidLookup(found)) return;\n const extracted = this.extractFromKey(k, opt);\n const key = extracted.key;\n usedKey = key;\n let namespaces = extracted.namespaces;\n if (this.options.fallbackNS) namespaces = namespaces.concat(this.options.fallbackNS);\n const needsPluralHandling = opt.count !== undefined && !isString(opt.count);\n const needsZeroSuffixLookup = needsPluralHandling && !opt.ordinal && opt.count === 0;\n const needsContextHandling = opt.context !== undefined && (isString(opt.context) || typeof opt.context === 'number') && opt.context !== '';\n const codes = opt.lngs ? opt.lngs : this.languageUtils.toResolveHierarchy(opt.lng || this.language, opt.fallbackLng);\n namespaces.forEach(ns => {\n if (this.isValidLookup(found)) return;\n usedNS = ns;\n if (!checkedLoadedFor[`${codes[0]}-${ns}`] && this.utils?.hasLoadedNamespace && !this.utils?.hasLoadedNamespace(usedNS)) {\n checkedLoadedFor[`${codes[0]}-${ns}`] = true;\n this.logger.warn(`key \"${usedKey}\" for languages \"${codes.join(', ')}\" won't get resolved as namespace \"${usedNS}\" was not yet loaded`, 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n }\n codes.forEach(code => {\n if (this.isValidLookup(found)) return;\n usedLng = code;\n const finalKeys = [key];\n if (this.i18nFormat?.addLookupKeys) {\n this.i18nFormat.addLookupKeys(finalKeys, key, code, ns, opt);\n } else {\n let pluralSuffix;\n if (needsPluralHandling) pluralSuffix = this.pluralResolver.getSuffix(code, opt.count, opt);\n const zeroSuffix = `${this.options.pluralSeparator}zero`;\n const ordinalPrefix = `${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;\n if (needsPluralHandling) {\n if (opt.ordinal && pluralSuffix.indexOf(ordinalPrefix) === 0) {\n finalKeys.push(key + pluralSuffix.replace(ordinalPrefix, this.options.pluralSeparator));\n }\n finalKeys.push(key + pluralSuffix);\n if (needsZeroSuffixLookup) {\n finalKeys.push(key + zeroSuffix);\n }\n }\n if (needsContextHandling) {\n const contextKey = `${key}${this.options.contextSeparator || '_'}${opt.context}`;\n finalKeys.push(contextKey);\n if (needsPluralHandling) {\n if (opt.ordinal && pluralSuffix.indexOf(ordinalPrefix) === 0) {\n finalKeys.push(contextKey + pluralSuffix.replace(ordinalPrefix, this.options.pluralSeparator));\n }\n finalKeys.push(contextKey + pluralSuffix);\n if (needsZeroSuffixLookup) {\n finalKeys.push(contextKey + zeroSuffix);\n }\n }\n }\n }\n let possibleKey;\n while (possibleKey = finalKeys.pop()) {\n if (!this.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = this.getResource(code, ns, possibleKey, opt);\n }\n }\n });\n });\n });\n return {\n res: found,\n usedKey,\n exactUsedKey,\n usedLng,\n usedNS\n };\n }\n isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n }\n getResource(code, ns, key, options = {}) {\n if (this.i18nFormat?.getResource) return this.i18nFormat.getResource(code, ns, key, options);\n return this.resourceStore.getResource(code, ns, key, options);\n }\n getUsedParamsDetails(options = {}) {\n const optionsKeys = ['defaultValue', 'ordinal', 'context', 'replace', 'lng', 'lngs', 'fallbackLng', 'ns', 'keySeparator', 'nsSeparator', 'returnObjects', 'returnDetails', 'joinArrays', 'postProcess', 'interpolation'];\n const useOptionsReplaceForData = options.replace && !isString(options.replace);\n let data = useOptionsReplaceForData ? options.replace : options;\n if (useOptionsReplaceForData && typeof options.count !== 'undefined') {\n data.count = options.count;\n }\n if (this.options.interpolation.defaultVariables) {\n data = {\n ...this.options.interpolation.defaultVariables,\n ...data\n };\n }\n if (!useOptionsReplaceForData) {\n data = {\n ...data\n };\n for (const key of optionsKeys) {\n delete data[key];\n }\n }\n return data;\n }\n static hasDefaultValue(options) {\n const prefix = 'defaultValue';\n for (const option in options) {\n if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) {\n return true;\n }\n }\n return false;\n }\n}\n\nclass LanguageUtil {\n constructor(options) {\n this.options = options;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\n getScriptPartFromCode(code) {\n code = getCleanedCode(code);\n if (!code || code.indexOf('-') < 0) return null;\n const p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n if (p[p.length - 1].toLowerCase() === 'x') return null;\n return this.formatLanguageCode(p.join('-'));\n }\n getLanguagePartFromCode(code) {\n code = getCleanedCode(code);\n if (!code || code.indexOf('-') < 0) return code;\n const p = code.split('-');\n return this.formatLanguageCode(p[0]);\n }\n formatLanguageCode(code) {\n if (isString(code) && code.indexOf('-') > -1) {\n let formattedCode;\n try {\n formattedCode = Intl.getCanonicalLocales(code)[0];\n } catch (e) {}\n if (formattedCode && this.options.lowerCaseLng) {\n formattedCode = formattedCode.toLowerCase();\n }\n if (formattedCode) return formattedCode;\n if (this.options.lowerCaseLng) {\n return code.toLowerCase();\n }\n return code;\n }\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n isSupportedCode(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) {\n code = this.getLanguagePartFromCode(code);\n }\n return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1;\n }\n getBestMatchFromCodes(codes) {\n if (!codes) return null;\n let found;\n codes.forEach(code => {\n if (found) return;\n const cleanedLng = this.formatLanguageCode(code);\n if (!this.options.supportedLngs || this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n if (!found && this.options.supportedLngs) {\n codes.forEach(code => {\n if (found) return;\n const lngScOnly = this.getScriptPartFromCode(code);\n if (this.isSupportedCode(lngScOnly)) return found = lngScOnly;\n const lngOnly = this.getLanguagePartFromCode(code);\n if (this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = this.options.supportedLngs.find(supportedLng => {\n if (supportedLng === lngOnly) return supportedLng;\n if (supportedLng.indexOf('-') < 0 && lngOnly.indexOf('-') < 0) return;\n if (supportedLng.indexOf('-') > 0 && lngOnly.indexOf('-') < 0 && supportedLng.substring(0, supportedLng.indexOf('-')) === lngOnly) return supportedLng;\n if (supportedLng.indexOf(lngOnly) === 0 && lngOnly.length > 1) return supportedLng;\n });\n });\n }\n if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0];\n return found;\n }\n getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'function') fallbacks = fallbacks(code);\n if (isString(fallbacks)) fallbacks = [fallbacks];\n if (Array.isArray(fallbacks)) return fallbacks;\n if (!code) return fallbacks.default || [];\n let found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks[this.getLanguagePartFromCode(code)];\n if (!found) found = fallbacks.default;\n return found || [];\n }\n toResolveHierarchy(code, fallbackCode) {\n const fallbackCodes = this.getFallbackCodes((fallbackCode === false ? [] : fallbackCode) || this.options.fallbackLng || [], code);\n const codes = [];\n const addCode = c => {\n if (!c) return;\n if (this.isSupportedCode(c)) {\n codes.push(c);\n } else {\n this.logger.warn(`rejecting language code not found in supportedLngs: ${c}`);\n }\n };\n if (isString(code) && (code.indexOf('-') > -1 || code.indexOf('_') > -1)) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (isString(code)) {\n addCode(this.formatLanguageCode(code));\n }\n fallbackCodes.forEach(fc => {\n if (codes.indexOf(fc) < 0) addCode(this.formatLanguageCode(fc));\n });\n return codes;\n }\n}\n\nconst suffixesOrder = {\n zero: 0,\n one: 1,\n two: 2,\n few: 3,\n many: 4,\n other: 5\n};\nconst dummyRule = {\n select: count => count === 1 ? 'one' : 'other',\n resolvedOptions: () => ({\n pluralCategories: ['one', 'other']\n })\n};\nclass PluralResolver {\n constructor(languageUtils, options = {}) {\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n this.pluralRulesCache = {};\n }\n addRule(lng, obj) {\n this.rules[lng] = obj;\n }\n clearCache() {\n this.pluralRulesCache = {};\n }\n getRule(code, options = {}) {\n const cleanedCode = getCleanedCode(code === 'dev' ? 'en' : code);\n const type = options.ordinal ? 'ordinal' : 'cardinal';\n const cacheKey = JSON.stringify({\n cleanedCode,\n type\n });\n if (cacheKey in this.pluralRulesCache) {\n return this.pluralRulesCache[cacheKey];\n }\n let rule;\n try {\n rule = new Intl.PluralRules(cleanedCode, {\n type\n });\n } catch (err) {\n if (!Intl) {\n this.logger.error('No Intl support, please use an Intl polyfill!');\n return dummyRule;\n }\n if (!code.match(/-|_/)) return dummyRule;\n const lngPart = this.languageUtils.getLanguagePartFromCode(code);\n rule = this.getRule(lngPart, options);\n }\n this.pluralRulesCache[cacheKey] = rule;\n return rule;\n }\n needsPlural(code, options = {}) {\n let rule = this.getRule(code, options);\n if (!rule) rule = this.getRule('dev', options);\n return rule?.resolvedOptions().pluralCategories.length > 1;\n }\n getPluralFormsOfKey(code, key, options = {}) {\n return this.getSuffixes(code, options).map(suffix => `${key}${suffix}`);\n }\n getSuffixes(code, options = {}) {\n let rule = this.getRule(code, options);\n if (!rule) rule = this.getRule('dev', options);\n if (!rule) return [];\n return rule.resolvedOptions().pluralCategories.sort((pluralCategory1, pluralCategory2) => suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2]).map(pluralCategory => `${this.options.prepend}${options.ordinal ? `ordinal${this.options.prepend}` : ''}${pluralCategory}`);\n }\n getSuffix(code, count, options = {}) {\n const rule = this.getRule(code, options);\n if (rule) {\n return `${this.options.prepend}${options.ordinal ? `ordinal${this.options.prepend}` : ''}${rule.select(count)}`;\n }\n this.logger.warn(`no plural rule found for: ${code}`);\n return this.getSuffix('dev', count, options);\n }\n}\n\nconst deepFindWithDefaults = (data, defaultData, key, keySeparator = '.', ignoreJSONStructure = true) => {\n let path = getPathWithDefaults(data, defaultData, key);\n if (!path && ignoreJSONStructure && isString(key)) {\n path = deepFind(data, key, keySeparator);\n if (path === undefined) path = deepFind(defaultData, key, keySeparator);\n }\n return path;\n};\nconst regexSafe = val => val.replace(/\\$/g, '$$$$');\nclass Interpolator {\n constructor(options = {}) {\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n this.format = options?.interpolation?.format || (value => value);\n this.init(options);\n }\n init(options = {}) {\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n const {\n escape: escape$1,\n escapeValue,\n useRawValueToEscape,\n prefix,\n prefixEscaped,\n suffix,\n suffixEscaped,\n formatSeparator,\n unescapeSuffix,\n unescapePrefix,\n nestingPrefix,\n nestingPrefixEscaped,\n nestingSuffix,\n nestingSuffixEscaped,\n nestingOptionsSeparator,\n maxReplaces,\n alwaysFormat\n } = options.interpolation;\n this.escape = escape$1 !== undefined ? escape$1 : escape;\n this.escapeValue = escapeValue !== undefined ? escapeValue : true;\n this.useRawValueToEscape = useRawValueToEscape !== undefined ? useRawValueToEscape : false;\n this.prefix = prefix ? regexEscape(prefix) : prefixEscaped || '{{';\n this.suffix = suffix ? regexEscape(suffix) : suffixEscaped || '}}';\n this.formatSeparator = formatSeparator || ',';\n this.unescapePrefix = unescapeSuffix ? '' : unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : unescapeSuffix || '';\n this.nestingPrefix = nestingPrefix ? regexEscape(nestingPrefix) : nestingPrefixEscaped || regexEscape('$t(');\n this.nestingSuffix = nestingSuffix ? regexEscape(nestingSuffix) : nestingSuffixEscaped || regexEscape(')');\n this.nestingOptionsSeparator = nestingOptionsSeparator || ',';\n this.maxReplaces = maxReplaces || 1000;\n this.alwaysFormat = alwaysFormat !== undefined ? alwaysFormat : false;\n this.resetRegExp();\n }\n reset() {\n if (this.options) this.init(this.options);\n }\n resetRegExp() {\n const getOrResetRegExp = (existingRegExp, pattern) => {\n if (existingRegExp?.source === pattern) {\n existingRegExp.lastIndex = 0;\n return existingRegExp;\n }\n return new RegExp(pattern, 'g');\n };\n this.regexp = getOrResetRegExp(this.regexp, `${this.prefix}(.+?)${this.suffix}`);\n this.regexpUnescape = getOrResetRegExp(this.regexpUnescape, `${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`);\n this.nestingRegexp = getOrResetRegExp(this.nestingRegexp, `${this.nestingPrefix}((?:[^()\"']+|\"[^\"]*\"|'[^']*'|\\\\((?:[^()]|\"[^\"]*\"|'[^']*')*\\\\))*?)${this.nestingSuffix}`);\n }\n interpolate(str, data, lng, options) {\n let match;\n let value;\n let replaces;\n const defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n const handleFormat = key => {\n if (key.indexOf(this.formatSeparator) < 0) {\n const path = deepFindWithDefaults(data, defaultData, key, this.options.keySeparator, this.options.ignoreJSONStructure);\n return this.alwaysFormat ? this.format(path, undefined, lng, {\n ...options,\n ...data,\n interpolationkey: key\n }) : path;\n }\n const p = key.split(this.formatSeparator);\n const k = p.shift().trim();\n const f = p.join(this.formatSeparator).trim();\n return this.format(deepFindWithDefaults(data, defaultData, k, this.options.keySeparator, this.options.ignoreJSONStructure), f, lng, {\n ...options,\n ...data,\n interpolationkey: k\n });\n };\n this.resetRegExp();\n const missingInterpolationHandler = options?.missingInterpolationHandler || this.options.missingInterpolationHandler;\n const skipOnVariables = options?.interpolation?.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables;\n const todos = [{\n regex: this.regexpUnescape,\n safeValue: val => regexSafe(val)\n }, {\n regex: this.regexp,\n safeValue: val => this.escapeValue ? regexSafe(this.escape(val)) : regexSafe(val)\n }];\n todos.forEach(todo => {\n replaces = 0;\n while (match = todo.regex.exec(str)) {\n const matchedVar = match[1].trim();\n value = handleFormat(matchedVar);\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n const temp = missingInterpolationHandler(str, match, options);\n value = isString(temp) ? temp : '';\n } else if (options && Object.prototype.hasOwnProperty.call(options, matchedVar)) {\n value = '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n this.logger.warn(`missed to pass in variable ${matchedVar} for interpolating ${str}`);\n value = '';\n }\n } else if (!isString(value) && !this.useRawValueToEscape) {\n value = makeString(value);\n }\n const safeValue = todo.safeValue(value);\n str = str.replace(match[0], safeValue);\n if (skipOnVariables) {\n todo.regex.lastIndex += value.length;\n todo.regex.lastIndex -= match[0].length;\n } else {\n todo.regex.lastIndex = 0;\n }\n replaces++;\n if (replaces >= this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n nest(str, fc, options = {}) {\n let match;\n let value;\n let clonedOptions;\n const handleHasOptions = (key, inheritedOptions) => {\n const sep = this.nestingOptionsSeparator;\n if (key.indexOf(sep) < 0) return key;\n const c = key.split(new RegExp(`${sep}[ ]*{`));\n let optionsString = `{${c[1]}`;\n key = c[0];\n optionsString = this.interpolate(optionsString, clonedOptions);\n const matchedSingleQuotes = optionsString.match(/'/g);\n const matchedDoubleQuotes = optionsString.match(/\"/g);\n if ((matchedSingleQuotes?.length ?? 0) % 2 === 0 && !matchedDoubleQuotes || matchedDoubleQuotes.length % 2 !== 0) {\n optionsString = optionsString.replace(/'/g, '\"');\n }\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = {\n ...inheritedOptions,\n ...clonedOptions\n };\n } catch (e) {\n this.logger.warn(`failed parsing options string in nesting for key ${key}`, e);\n return `${key}${sep}${optionsString}`;\n }\n if (clonedOptions.defaultValue && clonedOptions.defaultValue.indexOf(this.prefix) > -1) delete clonedOptions.defaultValue;\n return key;\n };\n while (match = this.nestingRegexp.exec(str)) {\n let formatters = [];\n clonedOptions = {\n ...options\n };\n clonedOptions = clonedOptions.replace && !isString(clonedOptions.replace) ? clonedOptions.replace : clonedOptions;\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n const keyEndIndex = /{.*}/.test(match[1]) ? match[1].lastIndexOf('}') + 1 : match[1].indexOf(this.formatSeparator);\n if (keyEndIndex !== -1) {\n formatters = match[1].slice(keyEndIndex).split(this.formatSeparator).map(elem => elem.trim()).filter(Boolean);\n match[1] = match[1].slice(0, keyEndIndex);\n }\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && !isString(value)) return value;\n if (!isString(value)) value = makeString(value);\n if (!value) {\n this.logger.warn(`missed to resolve ${match[1]} for nesting ${str}`);\n value = '';\n }\n if (formatters.length) {\n value = formatters.reduce((v, f) => this.format(v, f, options.lng, {\n ...options,\n interpolationkey: match[1].trim()\n }), value.trim());\n }\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n return str;\n }\n}\n\nconst parseFormatStr = formatStr => {\n let formatName = formatStr.toLowerCase().trim();\n const formatOptions = {};\n if (formatStr.indexOf('(') > -1) {\n const p = formatStr.split('(');\n formatName = p[0].toLowerCase().trim();\n const optStr = p[1].substring(0, p[1].length - 1);\n if (formatName === 'currency' && optStr.indexOf(':') < 0) {\n if (!formatOptions.currency) formatOptions.currency = optStr.trim();\n } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) {\n if (!formatOptions.range) formatOptions.range = optStr.trim();\n } else {\n const opts = optStr.split(';');\n opts.forEach(opt => {\n if (opt) {\n const [key, ...rest] = opt.split(':');\n const val = rest.join(':').trim().replace(/^'+|'+$/g, '');\n const trimmedKey = key.trim();\n if (!formatOptions[trimmedKey]) formatOptions[trimmedKey] = val;\n if (val === 'false') formatOptions[trimmedKey] = false;\n if (val === 'true') formatOptions[trimmedKey] = true;\n if (!isNaN(val)) formatOptions[trimmedKey] = parseInt(val, 10);\n }\n });\n }\n }\n return {\n formatName,\n formatOptions\n };\n};\nconst createCachedFormatter = fn => {\n const cache = {};\n return (v, l, o) => {\n let optForCache = o;\n if (o && o.interpolationkey && o.formatParams && o.formatParams[o.interpolationkey] && o[o.interpolationkey]) {\n optForCache = {\n ...optForCache,\n [o.interpolationkey]: undefined\n };\n }\n const key = l + JSON.stringify(optForCache);\n let frm = cache[key];\n if (!frm) {\n frm = fn(getCleanedCode(l), o);\n cache[key] = frm;\n }\n return frm(v);\n };\n};\nconst createNonCachedFormatter = fn => (v, l, o) => fn(getCleanedCode(l), o)(v);\nclass Formatter {\n constructor(options = {}) {\n this.logger = baseLogger.create('formatter');\n this.options = options;\n this.init(options);\n }\n init(services, options = {\n interpolation: {}\n }) {\n this.formatSeparator = options.interpolation.formatSeparator || ',';\n const cf = options.cacheInBuiltFormats ? createCachedFormatter : createNonCachedFormatter;\n this.formats = {\n number: cf((lng, opt) => {\n const formatter = new Intl.NumberFormat(lng, {\n ...opt\n });\n return val => formatter.format(val);\n }),\n currency: cf((lng, opt) => {\n const formatter = new Intl.NumberFormat(lng, {\n ...opt,\n style: 'currency'\n });\n return val => formatter.format(val);\n }),\n datetime: cf((lng, opt) => {\n const formatter = new Intl.DateTimeFormat(lng, {\n ...opt\n });\n return val => formatter.format(val);\n }),\n relativetime: cf((lng, opt) => {\n const formatter = new Intl.RelativeTimeFormat(lng, {\n ...opt\n });\n return val => formatter.format(val, opt.range || 'day');\n }),\n list: cf((lng, opt) => {\n const formatter = new Intl.ListFormat(lng, {\n ...opt\n });\n return val => formatter.format(val);\n })\n };\n }\n add(name, fc) {\n this.formats[name.toLowerCase().trim()] = fc;\n }\n addCached(name, fc) {\n this.formats[name.toLowerCase().trim()] = createCachedFormatter(fc);\n }\n format(value, format, lng, options = {}) {\n const formats = format.split(this.formatSeparator);\n if (formats.length > 1 && formats[0].indexOf('(') > 1 && formats[0].indexOf(')') < 0 && formats.find(f => f.indexOf(')') > -1)) {\n const lastIndex = formats.findIndex(f => f.indexOf(')') > -1);\n formats[0] = [formats[0], ...formats.splice(1, lastIndex)].join(this.formatSeparator);\n }\n const result = formats.reduce((mem, f) => {\n const {\n formatName,\n formatOptions\n } = parseFormatStr(f);\n if (this.formats[formatName]) {\n let formatted = mem;\n try {\n const valOptions = options?.formatParams?.[options.interpolationkey] || {};\n const l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng;\n formatted = this.formats[formatName](mem, l, {\n ...formatOptions,\n ...options,\n ...valOptions\n });\n } catch (error) {\n this.logger.warn(error);\n }\n return formatted;\n } else {\n this.logger.warn(`there was no format function for ${formatName}`);\n }\n return mem;\n }, value);\n return result;\n }\n}\n\nconst removePending = (q, name) => {\n if (q.pending[name] !== undefined) {\n delete q.pending[name];\n q.pendingCount--;\n }\n};\nclass Connector extends EventEmitter {\n constructor(backend, store, services, options = {}) {\n super();\n this.backend = backend;\n this.store = store;\n this.services = services;\n this.languageUtils = services.languageUtils;\n this.options = options;\n this.logger = baseLogger.create('backendConnector');\n this.waitingReads = [];\n this.maxParallelReads = options.maxParallelReads || 10;\n this.readingCalls = 0;\n this.maxRetries = options.maxRetries >= 0 ? options.maxRetries : 5;\n this.retryTimeout = options.retryTimeout >= 1 ? options.retryTimeout : 350;\n this.state = {};\n this.queue = [];\n this.backend?.init?.(services, options.backend, options);\n }\n queueLoad(languages, namespaces, options, callback) {\n const toLoad = {};\n const pending = {};\n const toLoadLanguages = {};\n const toLoadNamespaces = {};\n languages.forEach(lng => {\n let hasAllNamespaces = true;\n namespaces.forEach(ns => {\n const name = `${lng}|${ns}`;\n if (!options.reload && this.store.hasResourceBundle(lng, ns)) {\n this.state[name] = 2;\n } else if (this.state[name] < 0) ; else if (this.state[name] === 1) {\n if (pending[name] === undefined) pending[name] = true;\n } else {\n this.state[name] = 1;\n hasAllNamespaces = false;\n if (pending[name] === undefined) pending[name] = true;\n if (toLoad[name] === undefined) toLoad[name] = true;\n if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true;\n }\n });\n if (!hasAllNamespaces) toLoadLanguages[lng] = true;\n });\n if (Object.keys(toLoad).length || Object.keys(pending).length) {\n this.queue.push({\n pending,\n pendingCount: Object.keys(pending).length,\n loaded: {},\n errors: [],\n callback\n });\n }\n return {\n toLoad: Object.keys(toLoad),\n pending: Object.keys(pending),\n toLoadLanguages: Object.keys(toLoadLanguages),\n toLoadNamespaces: Object.keys(toLoadNamespaces)\n };\n }\n loaded(name, err, data) {\n const s = name.split('|');\n const lng = s[0];\n const ns = s[1];\n if (err) this.emit('failedLoading', lng, ns, err);\n if (!err && data) {\n this.store.addResourceBundle(lng, ns, data, undefined, undefined, {\n skipCopy: true\n });\n }\n this.state[name] = err ? -1 : 2;\n if (err && data) this.state[name] = 0;\n const loaded = {};\n this.queue.forEach(q => {\n pushPath(q.loaded, [lng], ns);\n removePending(q, name);\n if (err) q.errors.push(err);\n if (q.pendingCount === 0 && !q.done) {\n Object.keys(q.loaded).forEach(l => {\n if (!loaded[l]) loaded[l] = {};\n const loadedKeys = q.loaded[l];\n if (loadedKeys.length) {\n loadedKeys.forEach(n => {\n if (loaded[l][n] === undefined) loaded[l][n] = true;\n });\n }\n });\n q.done = true;\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n this.emit('loaded', loaded);\n this.queue = this.queue.filter(q => !q.done);\n }\n read(lng, ns, fcName, tried = 0, wait = this.retryTimeout, callback) {\n if (!lng.length) return callback(null, {});\n if (this.readingCalls >= this.maxParallelReads) {\n this.waitingReads.push({\n lng,\n ns,\n fcName,\n tried,\n wait,\n callback\n });\n return;\n }\n this.readingCalls++;\n const resolver = (err, data) => {\n this.readingCalls--;\n if (this.waitingReads.length > 0) {\n const next = this.waitingReads.shift();\n this.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback);\n }\n if (err && data && tried < this.maxRetries) {\n setTimeout(() => {\n this.read.call(this, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n callback(err, data);\n };\n const fc = this.backend[fcName].bind(this.backend);\n if (fc.length === 2) {\n try {\n const r = fc(lng, ns);\n if (r && typeof r.then === 'function') {\n r.then(data => resolver(null, data)).catch(resolver);\n } else {\n resolver(null, r);\n }\n } catch (err) {\n resolver(err);\n }\n return;\n }\n return fc(lng, ns, resolver);\n }\n prepareLoading(languages, namespaces, options = {}, callback) {\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n if (isString(languages)) languages = this.languageUtils.toResolveHierarchy(languages);\n if (isString(namespaces)) namespaces = [namespaces];\n const toLoad = this.queueLoad(languages, namespaces, options, callback);\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n toLoad.toLoad.forEach(name => {\n this.loadOne(name);\n });\n }\n load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n }\n reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {\n reload: true\n }, callback);\n }\n loadOne(name, prefix = '') {\n const s = name.split('|');\n const lng = s[0];\n const ns = s[1];\n this.read(lng, ns, 'read', undefined, undefined, (err, data) => {\n if (err) this.logger.warn(`${prefix}loading namespace ${ns} for language ${lng} failed`, err);\n if (!err && data) this.logger.log(`${prefix}loaded namespace ${ns} for language ${lng}`, data);\n this.loaded(name, err, data);\n });\n }\n saveMissing(languages, namespace, key, fallbackValue, isUpdate, options = {}, clb = () => {}) {\n if (this.services?.utils?.hasLoadedNamespace && !this.services?.utils?.hasLoadedNamespace(namespace)) {\n this.logger.warn(`did not save key \"${key}\" as the namespace \"${namespace}\" was not yet loaded`, 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n return;\n }\n if (key === undefined || key === null || key === '') return;\n if (this.backend?.create) {\n const opts = {\n ...options,\n isUpdate\n };\n const fc = this.backend.create.bind(this.backend);\n if (fc.length < 6) {\n try {\n let r;\n if (fc.length === 5) {\n r = fc(languages, namespace, key, fallbackValue, opts);\n } else {\n r = fc(languages, namespace, key, fallbackValue);\n }\n if (r && typeof r.then === 'function') {\n r.then(data => clb(null, data)).catch(clb);\n } else {\n clb(null, r);\n }\n } catch (err) {\n clb(err);\n }\n } else {\n fc(languages, namespace, key, fallbackValue, clb, opts);\n }\n }\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n}\n\nconst get = () => ({\n debug: false,\n initAsync: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n supportedLngs: false,\n nonExplicitSupportedLngs: false,\n load: 'all',\n preload: false,\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n partialBundledLanguages: false,\n saveMissing: false,\n updateMissing: false,\n saveMissingTo: 'fallback',\n saveMissingPlurals: true,\n missingKeyHandler: false,\n missingInterpolationHandler: false,\n postProcess: false,\n postProcessPassResolved: false,\n returnNull: false,\n returnEmptyString: true,\n returnObjects: false,\n joinArrays: false,\n returnedObjectHandler: false,\n parseMissingKeyHandler: false,\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: args => {\n let ret = {};\n if (typeof args[1] === 'object') ret = args[1];\n if (isString(args[1])) ret.defaultValue = args[1];\n if (isString(args[2])) ret.tDescription = args[2];\n if (typeof args[2] === 'object' || typeof args[3] === 'object') {\n const options = args[3] || args[2];\n Object.keys(options).forEach(key => {\n ret[key] = options[key];\n });\n }\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: value => value,\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n nestingOptionsSeparator: ',',\n maxReplaces: 1000,\n skipOnVariables: true\n },\n cacheInBuiltFormats: true\n});\nconst transformOptions = options => {\n if (isString(options.ns)) options.ns = [options.ns];\n if (isString(options.fallbackLng)) options.fallbackLng = [options.fallbackLng];\n if (isString(options.fallbackNS)) options.fallbackNS = [options.fallbackNS];\n if (options.supportedLngs?.indexOf?.('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n if (typeof options.initImmediate === 'boolean') options.initAsync = options.initImmediate;\n return options;\n};\n\nconst noop = () => {};\nconst bindMemberFunctions = inst => {\n const mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst));\n mems.forEach(mem => {\n if (typeof inst[mem] === 'function') {\n inst[mem] = inst[mem].bind(inst);\n }\n });\n};\nclass I18n extends EventEmitter {\n constructor(options = {}, callback) {\n super();\n this.options = transformOptions(options);\n this.services = {};\n this.logger = baseLogger;\n this.modules = {\n external: []\n };\n bindMemberFunctions(this);\n if (callback && !this.isInitialized && !options.isClone) {\n if (!this.options.initAsync) {\n this.init(options, callback);\n return this;\n }\n setTimeout(() => {\n this.init(options, callback);\n }, 0);\n }\n }\n init(options = {}, callback) {\n this.isInitializing = true;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n if (options.defaultNS == null && options.ns) {\n if (isString(options.ns)) {\n options.defaultNS = options.ns;\n } else if (options.ns.indexOf('translation') < 0) {\n options.defaultNS = options.ns[0];\n }\n }\n const defOpts = get();\n this.options = {\n ...defOpts,\n ...this.options,\n ...transformOptions(options)\n };\n this.options.interpolation = {\n ...defOpts.interpolation,\n ...this.options.interpolation\n };\n if (options.keySeparator !== undefined) {\n this.options.userDefinedKeySeparator = options.keySeparator;\n }\n if (options.nsSeparator !== undefined) {\n this.options.userDefinedNsSeparator = options.nsSeparator;\n }\n const createClassOnDemand = ClassOrObject => {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n };\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n let formatter;\n if (this.modules.formatter) {\n formatter = this.modules.formatter;\n } else {\n formatter = Formatter;\n }\n const lu = new LanguageUtil(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n const s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, {\n prepend: this.options.pluralSeparator,\n simplifyPluralSuffix: this.options.simplifyPluralSuffix\n });\n const usingLegacyFormatFunction = this.options.interpolation.format && this.options.interpolation.format !== defOpts.interpolation.format;\n if (usingLegacyFormatFunction) {\n this.logger.deprecate(`init: you are still using the legacy format function, please use the new approach: https://www.i18next.com/translation-function/formatting`);\n }\n if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) {\n s.formatter = createClassOnDemand(formatter);\n if (s.formatter.init) s.formatter.init(s, this.options);\n this.options.interpolation.format = s.formatter.format.bind(s.formatter);\n }\n s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n s.backendConnector.on('*', (event, ...args) => {\n this.emit(event, ...args);\n });\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n if (s.languageDetector.init) s.languageDetector.init(s, this.options.detection, this.options);\n }\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n this.translator = new Translator(this.services, this.options);\n this.translator.on('*', (event, ...args) => {\n this.emit(event, ...args);\n });\n this.modules.external.forEach(m => {\n if (m.init) m.init(this);\n });\n }\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {\n const codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0];\n }\n if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n const storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(fcName => {\n this[fcName] = (...args) => this.store[fcName](...args);\n });\n const storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle'];\n storeApiChained.forEach(fcName => {\n this[fcName] = (...args) => {\n this.store[fcName](...args);\n return this;\n };\n });\n const deferred = defer();\n const load = () => {\n const finish = (err, t) => {\n this.isInitializing = false;\n if (this.isInitialized && !this.initializedStoreOnce) this.logger.warn('init: i18next is already initialized. You should call init just once!');\n this.isInitialized = true;\n if (!this.options.isClone) this.logger.log('initialized', this.options);\n this.emit('initialized', this.options);\n deferred.resolve(t);\n callback(err, t);\n };\n if (this.languages && !this.isInitialized) return finish(null, this.t.bind(this));\n this.changeLanguage(this.options.lng, finish);\n };\n if (this.options.resources || !this.options.initAsync) {\n load();\n } else {\n setTimeout(load, 0);\n }\n return deferred;\n }\n loadResources(language, callback = noop) {\n let usedCallback = callback;\n const usedLng = isString(language) ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng?.toLowerCase() === 'cimode' && (!this.options.preload || this.options.preload.length === 0)) return usedCallback();\n const toLoad = [];\n const append = lng => {\n if (!lng) return;\n if (lng === 'cimode') return;\n const lngs = this.services.languageUtils.toResolveHierarchy(lng);\n lngs.forEach(l => {\n if (l === 'cimode') return;\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n if (!usedLng) {\n const fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(l => append(l));\n } else {\n append(usedLng);\n }\n this.options.preload?.forEach?.(l => append(l));\n this.services.backendConnector.load(toLoad, this.options.ns, e => {\n if (!e && !this.resolvedLanguage && this.language) this.setResolvedLanguage(this.language);\n usedCallback(e);\n });\n } else {\n usedCallback(null);\n }\n }\n reloadResources(lngs, ns, callback) {\n const deferred = defer();\n if (typeof lngs === 'function') {\n callback = lngs;\n lngs = undefined;\n }\n if (typeof ns === 'function') {\n callback = ns;\n ns = undefined;\n }\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n if (!callback) callback = noop;\n this.services.backendConnector.reload(lngs, ns, err => {\n deferred.resolve();\n callback(err);\n });\n return deferred;\n }\n use(module) {\n if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()');\n if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()');\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n if (module.type === 'formatter') {\n this.modules.formatter = module;\n }\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n return this;\n }\n setResolvedLanguage(l) {\n if (!l || !this.languages) return;\n if (['cimode', 'dev'].indexOf(l) > -1) return;\n for (let li = 0; li < this.languages.length; li++) {\n const lngInLngs = this.languages[li];\n if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue;\n if (this.store.hasLanguageSomeTranslations(lngInLngs)) {\n this.resolvedLanguage = lngInLngs;\n break;\n }\n }\n if (!this.resolvedLanguage && this.languages.indexOf(l) < 0 && this.store.hasLanguageSomeTranslations(l)) {\n this.resolvedLanguage = l;\n this.languages.unshift(l);\n }\n }\n changeLanguage(lng, callback) {\n this.isLanguageChangingTo = lng;\n const deferred = defer();\n this.emit('languageChanging', lng);\n const setLngProps = l => {\n this.language = l;\n this.languages = this.services.languageUtils.toResolveHierarchy(l);\n this.resolvedLanguage = undefined;\n this.setResolvedLanguage(l);\n };\n const done = (err, l) => {\n if (l) {\n if (this.isLanguageChangingTo === lng) {\n setLngProps(l);\n this.translator.changeLanguage(l);\n this.isLanguageChangingTo = undefined;\n this.emit('languageChanged', l);\n this.logger.log('languageChanged', l);\n }\n } else {\n this.isLanguageChangingTo = undefined;\n }\n deferred.resolve((...args) => this.t(...args));\n if (callback) callback(err, (...args) => this.t(...args));\n };\n const setLng = lngs => {\n if (!lng && !lngs && this.services.languageDetector) lngs = [];\n const fl = isString(lngs) ? lngs : lngs && lngs[0];\n const l = this.store.hasLanguageSomeTranslations(fl) ? fl : this.services.languageUtils.getBestMatchFromCodes(isString(lngs) ? [lngs] : lngs);\n if (l) {\n if (!this.language) {\n setLngProps(l);\n }\n if (!this.translator.language) this.translator.changeLanguage(l);\n this.services.languageDetector?.cacheUserLanguage?.(l);\n }\n this.loadResources(l, err => {\n done(err, l);\n });\n };\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n if (this.services.languageDetector.detect.length === 0) {\n this.services.languageDetector.detect().then(setLng);\n } else {\n this.services.languageDetector.detect(setLng);\n }\n } else {\n setLng(lng);\n }\n return deferred;\n }\n getFixedT(lng, ns, keyPrefix) {\n const fixedT = (key, opts, ...rest) => {\n let o;\n if (typeof opts !== 'object') {\n o = this.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n o = {\n ...opts\n };\n }\n o.lng = o.lng || fixedT.lng;\n o.lngs = o.lngs || fixedT.lngs;\n o.ns = o.ns || fixedT.ns;\n if (o.keyPrefix !== '') o.keyPrefix = o.keyPrefix || keyPrefix || fixedT.keyPrefix;\n const keySeparator = this.options.keySeparator || '.';\n let resultKey;\n if (o.keyPrefix && Array.isArray(key)) {\n resultKey = key.map(k => {\n if (typeof k === 'function') k = keysFromSelector(k, {\n ...this.options,\n ...opts\n });\n return `${o.keyPrefix}${keySeparator}${k}`;\n });\n } else {\n if (typeof key === 'function') key = keysFromSelector(key, {\n ...this.options,\n ...opts\n });\n resultKey = o.keyPrefix ? `${o.keyPrefix}${keySeparator}${key}` : key;\n }\n return this.t(resultKey, o);\n };\n if (isString(lng)) {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n fixedT.ns = ns;\n fixedT.keyPrefix = keyPrefix;\n return fixedT;\n }\n t(...args) {\n return this.translator?.translate(...args);\n }\n exists(...args) {\n return this.translator?.exists(...args);\n }\n setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n hasLoadedNamespace(ns, options = {}) {\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n const lng = options.lng || this.resolvedLanguage || this.languages[0];\n const fallbackLng = this.options ? this.options.fallbackLng : false;\n const lastLng = this.languages[this.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n const loadNotPending = (l, n) => {\n const loadState = this.services.backendConnector.state[`${l}|${n}`];\n return loadState === -1 || loadState === 0 || loadState === 2;\n };\n if (options.precheck) {\n const preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n loadNamespaces(ns, callback) {\n const deferred = defer();\n if (!this.options.ns) {\n if (callback) callback();\n return Promise.resolve();\n }\n if (isString(ns)) ns = [ns];\n ns.forEach(n => {\n if (this.options.ns.indexOf(n) < 0) this.options.ns.push(n);\n });\n this.loadResources(err => {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n loadLanguages(lngs, callback) {\n const deferred = defer();\n if (isString(lngs)) lngs = [lngs];\n const preloaded = this.options.preload || [];\n const newLngs = lngs.filter(lng => preloaded.indexOf(lng) < 0 && this.services.languageUtils.isSupportedCode(lng));\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(err => {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n dir(lng) {\n if (!lng) lng = this.resolvedLanguage || (this.languages?.length > 0 ? this.languages[0] : this.language);\n if (!lng) return 'rtl';\n try {\n const l = new Intl.Locale(lng);\n if (l && l.getTextInfo) {\n const ti = l.getTextInfo();\n if (ti && ti.direction) return ti.direction;\n }\n } catch (e) {}\n const rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam', 'ckb'];\n const languageUtils = this.services?.languageUtils || new LanguageUtil(get());\n if (lng.toLowerCase().indexOf('-latn') > 1) return 'ltr';\n return rtlLngs.indexOf(languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr';\n }\n static createInstance(options = {}, callback) {\n return new I18n(options, callback);\n }\n cloneInstance(options = {}, callback = noop) {\n const forkResourceStore = options.forkResourceStore;\n if (forkResourceStore) delete options.forkResourceStore;\n const mergedOptions = {\n ...this.options,\n ...options,\n ...{\n isClone: true\n }\n };\n const clone = new I18n(mergedOptions);\n if (options.debug !== undefined || options.prefix !== undefined) {\n clone.logger = clone.logger.clone(options);\n }\n const membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(m => {\n clone[m] = this[m];\n });\n clone.services = {\n ...this.services\n };\n clone.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n if (forkResourceStore) {\n const clonedData = Object.keys(this.store.data).reduce((prev, l) => {\n prev[l] = {\n ...this.store.data[l]\n };\n prev[l] = Object.keys(prev[l]).reduce((acc, n) => {\n acc[n] = {\n ...prev[l][n]\n };\n return acc;\n }, prev[l]);\n return prev;\n }, {});\n clone.store = new ResourceStore(clonedData, mergedOptions);\n clone.services.resourceStore = clone.store;\n }\n clone.translator = new Translator(clone.services, mergedOptions);\n clone.translator.on('*', (event, ...args) => {\n clone.emit(event, ...args);\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = mergedOptions;\n clone.translator.backendConnector.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n return clone;\n }\n toJSON() {\n return {\n options: this.options,\n store: this.store,\n language: this.language,\n languages: this.languages,\n resolvedLanguage: this.resolvedLanguage\n };\n }\n}\nconst instance = I18n.createInstance();\ninstance.createInstance = I18n.createInstance;\n\nconst createInstance = instance.createInstance;\nconst dir = instance.dir;\nconst init = instance.init;\nconst loadResources = instance.loadResources;\nconst reloadResources = instance.reloadResources;\nconst use = instance.use;\nconst changeLanguage = instance.changeLanguage;\nconst getFixedT = instance.getFixedT;\nconst t = instance.t;\nconst exists = instance.exists;\nconst setDefaultNamespace = instance.setDefaultNamespace;\nconst hasLoadedNamespace = instance.hasLoadedNamespace;\nconst loadNamespaces = instance.loadNamespaces;\nconst loadLanguages = instance.loadLanguages;\n\nexport { changeLanguage, createInstance, instance as default, dir, exists, getFixedT, hasLoadedNamespace, init, loadLanguages, loadNamespaces, loadResources, reloadResources, setDefaultNamespace, t, use };\n","const {\n slice,\n forEach\n} = [];\nfunction defaults(obj) {\n forEach.call(slice.call(arguments, 1), source => {\n if (source) {\n for (const prop in source) {\n if (obj[prop] === undefined) obj[prop] = source[prop];\n }\n }\n });\n return obj;\n}\nfunction hasXSS(input) {\n if (typeof input !== 'string') return false;\n\n // Common XSS attack patterns\n const xssPatterns = [/<\\s*script.*?>/i, /<\\s*\\/\\s*script\\s*>/i, /<\\s*img.*?on\\w+\\s*=/i, /<\\s*\\w+\\s*on\\w+\\s*=.*?>/i, /javascript\\s*:/i, /vbscript\\s*:/i, /expression\\s*\\(/i, /eval\\s*\\(/i, /alert\\s*\\(/i, /document\\.cookie/i, /document\\.write\\s*\\(/i, /window\\.location/i, /innerHTML/i];\n return xssPatterns.some(pattern => pattern.test(input));\n}\n\n// eslint-disable-next-line no-control-regex\nconst fieldContentRegExp = /^[\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+$/;\nconst serializeCookie = function (name, val) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {\n path: '/'\n };\n const opt = options;\n const value = encodeURIComponent(val);\n let str = `${name}=${value}`;\n if (opt.maxAge > 0) {\n const maxAge = opt.maxAge - 0;\n if (Number.isNaN(maxAge)) throw new Error('maxAge should be a Number');\n str += `; Max-Age=${Math.floor(maxAge)}`;\n }\n if (opt.domain) {\n if (!fieldContentRegExp.test(opt.domain)) {\n throw new TypeError('option domain is invalid');\n }\n str += `; Domain=${opt.domain}`;\n }\n if (opt.path) {\n if (!fieldContentRegExp.test(opt.path)) {\n throw new TypeError('option path is invalid');\n }\n str += `; Path=${opt.path}`;\n }\n if (opt.expires) {\n if (typeof opt.expires.toUTCString !== 'function') {\n throw new TypeError('option expires is invalid');\n }\n str += `; Expires=${opt.expires.toUTCString()}`;\n }\n if (opt.httpOnly) str += '; HttpOnly';\n if (opt.secure) str += '; Secure';\n if (opt.sameSite) {\n const sameSite = typeof opt.sameSite === 'string' ? opt.sameSite.toLowerCase() : opt.sameSite;\n switch (sameSite) {\n case true:\n str += '; SameSite=Strict';\n break;\n case 'lax':\n str += '; SameSite=Lax';\n break;\n case 'strict':\n str += '; SameSite=Strict';\n break;\n case 'none':\n str += '; SameSite=None';\n break;\n default:\n throw new TypeError('option sameSite is invalid');\n }\n }\n if (opt.partitioned) str += '; Partitioned';\n return str;\n};\nconst cookie = {\n create(name, value, minutes, domain) {\n let cookieOptions = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n path: '/',\n sameSite: 'strict'\n };\n if (minutes) {\n cookieOptions.expires = new Date();\n cookieOptions.expires.setTime(cookieOptions.expires.getTime() + minutes * 60 * 1000);\n }\n if (domain) cookieOptions.domain = domain;\n document.cookie = serializeCookie(name, value, cookieOptions);\n },\n read(name) {\n const nameEQ = `${name}=`;\n const ca = document.cookie.split(';');\n for (let i = 0; i < ca.length; i++) {\n let c = ca[i];\n while (c.charAt(0) === ' ') c = c.substring(1, c.length);\n if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length);\n }\n return null;\n },\n remove(name, domain) {\n this.create(name, '', -1, domain);\n }\n};\nvar cookie$1 = {\n name: 'cookie',\n // Deconstruct the options object and extract the lookupCookie property\n lookup(_ref) {\n let {\n lookupCookie\n } = _ref;\n if (lookupCookie && typeof document !== 'undefined') {\n return cookie.read(lookupCookie) || undefined;\n }\n return undefined;\n },\n // Deconstruct the options object and extract the lookupCookie, cookieMinutes, cookieDomain, and cookieOptions properties\n cacheUserLanguage(lng, _ref2) {\n let {\n lookupCookie,\n cookieMinutes,\n cookieDomain,\n cookieOptions\n } = _ref2;\n if (lookupCookie && typeof document !== 'undefined') {\n cookie.create(lookupCookie, lng, cookieMinutes, cookieDomain, cookieOptions);\n }\n }\n};\n\nvar querystring = {\n name: 'querystring',\n // Deconstruct the options object and extract the lookupQuerystring property\n lookup(_ref) {\n let {\n lookupQuerystring\n } = _ref;\n let found;\n if (typeof window !== 'undefined') {\n let {\n search\n } = window.location;\n if (!window.location.search && window.location.hash?.indexOf('?') > -1) {\n search = window.location.hash.substring(window.location.hash.indexOf('?'));\n }\n const query = search.substring(1);\n const params = query.split('&');\n for (let i = 0; i < params.length; i++) {\n const pos = params[i].indexOf('=');\n if (pos > 0) {\n const key = params[i].substring(0, pos);\n if (key === lookupQuerystring) {\n found = params[i].substring(pos + 1);\n }\n }\n }\n }\n return found;\n }\n};\n\nvar hash = {\n name: 'hash',\n // Deconstruct the options object and extract the lookupHash property and the lookupFromHashIndex property\n lookup(_ref) {\n let {\n lookupHash,\n lookupFromHashIndex\n } = _ref;\n let found;\n if (typeof window !== 'undefined') {\n const {\n hash\n } = window.location;\n if (hash && hash.length > 2) {\n const query = hash.substring(1);\n if (lookupHash) {\n const params = query.split('&');\n for (let i = 0; i < params.length; i++) {\n const pos = params[i].indexOf('=');\n if (pos > 0) {\n const key = params[i].substring(0, pos);\n if (key === lookupHash) {\n found = params[i].substring(pos + 1);\n }\n }\n }\n }\n if (found) return found;\n if (!found && lookupFromHashIndex > -1) {\n const language = hash.match(/\\/([a-zA-Z-]*)/g);\n if (!Array.isArray(language)) return undefined;\n const index = typeof lookupFromHashIndex === 'number' ? lookupFromHashIndex : 0;\n return language[index]?.replace('/', '');\n }\n }\n }\n return found;\n }\n};\n\nlet hasLocalStorageSupport = null;\nconst localStorageAvailable = () => {\n if (hasLocalStorageSupport !== null) return hasLocalStorageSupport;\n try {\n hasLocalStorageSupport = typeof window !== 'undefined' && window.localStorage !== null;\n if (!hasLocalStorageSupport) {\n return false;\n }\n const testKey = 'i18next.translate.boo';\n window.localStorage.setItem(testKey, 'foo');\n window.localStorage.removeItem(testKey);\n } catch (e) {\n hasLocalStorageSupport = false;\n }\n return hasLocalStorageSupport;\n};\nvar localStorage = {\n name: 'localStorage',\n // Deconstruct the options object and extract the lookupLocalStorage property\n lookup(_ref) {\n let {\n lookupLocalStorage\n } = _ref;\n if (lookupLocalStorage && localStorageAvailable()) {\n return window.localStorage.getItem(lookupLocalStorage) || undefined; // Undefined ensures type consistency with the previous version of this function\n }\n return undefined;\n },\n // Deconstruct the options object and extract the lookupLocalStorage property\n cacheUserLanguage(lng, _ref2) {\n let {\n lookupLocalStorage\n } = _ref2;\n if (lookupLocalStorage && localStorageAvailable()) {\n window.localStorage.setItem(lookupLocalStorage, lng);\n }\n }\n};\n\nlet hasSessionStorageSupport = null;\nconst sessionStorageAvailable = () => {\n if (hasSessionStorageSupport !== null) return hasSessionStorageSupport;\n try {\n hasSessionStorageSupport = typeof window !== 'undefined' && window.sessionStorage !== null;\n if (!hasSessionStorageSupport) {\n return false;\n }\n const testKey = 'i18next.translate.boo';\n window.sessionStorage.setItem(testKey, 'foo');\n window.sessionStorage.removeItem(testKey);\n } catch (e) {\n hasSessionStorageSupport = false;\n }\n return hasSessionStorageSupport;\n};\nvar sessionStorage = {\n name: 'sessionStorage',\n lookup(_ref) {\n let {\n lookupSessionStorage\n } = _ref;\n if (lookupSessionStorage && sessionStorageAvailable()) {\n return window.sessionStorage.getItem(lookupSessionStorage) || undefined;\n }\n return undefined;\n },\n cacheUserLanguage(lng, _ref2) {\n let {\n lookupSessionStorage\n } = _ref2;\n if (lookupSessionStorage && sessionStorageAvailable()) {\n window.sessionStorage.setItem(lookupSessionStorage, lng);\n }\n }\n};\n\nvar navigator$1 = {\n name: 'navigator',\n lookup(options) {\n const found = [];\n if (typeof navigator !== 'undefined') {\n const {\n languages,\n userLanguage,\n language\n } = navigator;\n if (languages) {\n // chrome only; not an array, so can't use .push.apply instead of iterating\n for (let i = 0; i < languages.length; i++) {\n found.push(languages[i]);\n }\n }\n if (userLanguage) {\n found.push(userLanguage);\n }\n if (language) {\n found.push(language);\n }\n }\n return found.length > 0 ? found : undefined;\n }\n};\n\nvar htmlTag = {\n name: 'htmlTag',\n // Deconstruct the options object and extract the htmlTag property\n lookup(_ref) {\n let {\n htmlTag\n } = _ref;\n let found;\n const internalHtmlTag = htmlTag || (typeof document !== 'undefined' ? document.documentElement : null);\n if (internalHtmlTag && typeof internalHtmlTag.getAttribute === 'function') {\n found = internalHtmlTag.getAttribute('lang');\n }\n return found;\n }\n};\n\nvar path = {\n name: 'path',\n // Deconstruct the options object and extract the lookupFromPathIndex property\n lookup(_ref) {\n let {\n lookupFromPathIndex\n } = _ref;\n if (typeof window === 'undefined') return undefined;\n const language = window.location.pathname.match(/\\/([a-zA-Z-]*)/g);\n if (!Array.isArray(language)) return undefined;\n const index = typeof lookupFromPathIndex === 'number' ? lookupFromPathIndex : 0;\n return language[index]?.replace('/', '');\n }\n};\n\nvar subdomain = {\n name: 'subdomain',\n lookup(_ref) {\n let {\n lookupFromSubdomainIndex\n } = _ref;\n // If given get the subdomain index else 1\n const internalLookupFromSubdomainIndex = typeof lookupFromSubdomainIndex === 'number' ? lookupFromSubdomainIndex + 1 : 1;\n // get all matches if window.location. is existing\n // first item of match is the match itself and the second is the first group match which should be the first subdomain match\n // is the hostname no public domain get the or option of localhost\n const language = typeof window !== 'undefined' && window.location?.hostname?.match(/^(\\w{2,5})\\.(([a-z0-9-]{1,63}\\.[a-z]{2,6})|localhost)/i);\n\n // if there is no match (null) return undefined\n if (!language) return undefined;\n // return the given group match\n return language[internalLookupFromSubdomainIndex];\n }\n};\n\n// some environments, throws when accessing document.cookie\nlet canCookies = false;\ntry {\n // eslint-disable-next-line no-unused-expressions\n document.cookie;\n canCookies = true;\n // eslint-disable-next-line no-empty\n} catch (e) {}\nconst order = ['querystring', 'cookie', 'localStorage', 'sessionStorage', 'navigator', 'htmlTag'];\nif (!canCookies) order.splice(1, 1);\nconst getDefaults = () => ({\n order,\n lookupQuerystring: 'lng',\n lookupCookie: 'i18next',\n lookupLocalStorage: 'i18nextLng',\n lookupSessionStorage: 'i18nextLng',\n // cache user language\n caches: ['localStorage'],\n excludeCacheFor: ['cimode'],\n // cookieMinutes: 10,\n // cookieDomain: 'myDomain'\n\n convertDetectedLanguage: l => l\n});\nclass Browser {\n constructor(services) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.type = 'languageDetector';\n this.detectors = {};\n this.init(services, options);\n }\n init() {\n let services = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n languageUtils: {}\n };\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n let i18nOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n this.services = services;\n this.options = defaults(options, this.options || {}, getDefaults());\n if (typeof this.options.convertDetectedLanguage === 'string' && this.options.convertDetectedLanguage.indexOf('15897') > -1) {\n this.options.convertDetectedLanguage = l => l.replace('-', '_');\n }\n\n // backwards compatibility\n if (this.options.lookupFromUrlIndex) this.options.lookupFromPathIndex = this.options.lookupFromUrlIndex;\n this.i18nOptions = i18nOptions;\n this.addDetector(cookie$1);\n this.addDetector(querystring);\n this.addDetector(localStorage);\n this.addDetector(sessionStorage);\n this.addDetector(navigator$1);\n this.addDetector(htmlTag);\n this.addDetector(path);\n this.addDetector(subdomain);\n this.addDetector(hash);\n }\n addDetector(detector) {\n this.detectors[detector.name] = detector;\n return this;\n }\n detect() {\n let detectionOrder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.options.order;\n let detected = [];\n detectionOrder.forEach(detectorName => {\n if (this.detectors[detectorName]) {\n let lookup = this.detectors[detectorName].lookup(this.options);\n if (lookup && typeof lookup === 'string') lookup = [lookup];\n if (lookup) detected = detected.concat(lookup);\n }\n });\n detected = detected.filter(d => d !== undefined && d !== null && !hasXSS(d)).map(d => this.options.convertDetectedLanguage(d));\n if (this.services && this.services.languageUtils && this.services.languageUtils.getBestMatchFromCodes) return detected; // new i18next v19.5.0\n return detected.length > 0 ? detected[0] : null; // a little backward compatibility\n }\n cacheUserLanguage(lng) {\n let caches = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.options.caches;\n if (!caches) return;\n if (this.options.excludeCacheFor && this.options.excludeCacheFor.indexOf(lng) > -1) return;\n caches.forEach(cacheName => {\n if (this.detectors[cacheName]) this.detectors[cacheName].cacheUserLanguage(lng, this.options);\n });\n }\n}\nBrowser.type = 'languageDetector';\n\nexport { Browser as default };\n","export const config = {\n apiBaseUrl: import.meta.env['VITE_API_BASE_URL'],\n debug: import.meta.env.DEV\n};\n","import { setDefaultOptions } from 'date-fns';\nimport { enGB } from 'date-fns/locale';\nimport i18n from 'i18next';\nimport LanguageDetector from 'i18next-browser-languagedetector';\nimport { initReactI18next } from 'react-i18next';\nimport { config } from './config';\nimport en from './translations/en.json';\nimport nb from './translations/nb.json';\nsetDefaultOptions({ locale: enGB });\n\ni18n\n // detect user language\n // learn more: https://github.com/i18next/i18next-browser-languageDetector\n .use(LanguageDetector)\n // pass the i18n instance to react-i18next.\n .use(initReactI18next)\n // init i18next\n // for all options read: https://www.i18next.com/overview/configuration-options\n .init({\n debug: config.debug,\n fallbackLng: 'en',\n interpolation: {\n escapeValue: false // not needed for react as it escapes by default\n },\n resources: {\n en: {\n translation: en\n },\n nb: {\n tranlation: nb\n }\n }\n });\n\nexport default i18n;\n","/**\n * Logger utility for the SDK\n * Provides consistent logging across the SDK with different log levels\n */\n\nexport type LogLevel = 'debug' | 'info' | 'warn' | 'error';\n\ninterface LoggerOptions {\n prefix?: string;\n enabled?: boolean;\n level?: LogLevel;\n}\n\nconst LOG_LEVELS: Record<LogLevel, number> = {\n debug: 0,\n info: 1,\n warn: 2,\n error: 3\n};\n\nexport class Logger {\n private prefix: string;\n private enabled: boolean;\n private level: LogLevel;\n\n constructor(options: LoggerOptions = {}) {\n this.prefix = options.prefix || 'Nemme SDK';\n this.enabled = options.enabled !== undefined ? options.enabled : true;\n this.level = options.level || 'info';\n }\n\n private shouldLog(level: LogLevel): boolean {\n return this.enabled && LOG_LEVELS[level] >= LOG_LEVELS[this.level];\n }\n\n private formatMessage(message: string): string {\n return `[${this.prefix}] ${message}`;\n }\n\n debug(message: string, ...args: unknown[]): void {\n if (this.shouldLog('debug')) {\n console.debug(this.formatMessage(message), ...args);\n }\n }\n\n info(message: string, ...args: unknown[]): void {\n if (this.shouldLog('info')) {\n console.info(this.formatMessage(message), ...args);\n }\n }\n\n warn(message: string, ...args: unknown[]): void {\n if (this.shouldLog('warn')) {\n console.warn(this.formatMessage(message), ...args);\n }\n }\n\n error(message: string, ...args: unknown[]): void {\n if (this.shouldLog('error')) {\n console.error(this.formatMessage(message), ...args);\n }\n }\n\n // Create a child logger with a new prefix\n child(prefix: string): Logger {\n return new Logger({\n prefix: `${this.prefix}:${prefix}`,\n enabled: this.enabled,\n level: this.level\n });\n }\n\n // Configure logger settings\n configure(options: LoggerOptions): void {\n if (options.prefix !== undefined) {\n this.prefix = options.prefix;\n }\n if (options.enabled !== undefined) {\n this.enabled = options.enabled;\n }\n if (options.level !== undefined) {\n this.level = options.level;\n }\n }\n}\n\n// Create and export a default logger instance\nexport const logger = new Logger();\n","import { config } from '../config';\nimport { logger } from '../utils';\n\n// Create a network-specific logger\nconst networkLogger = logger.child('network');\n\nexport type HttpMethod = 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';\n\nexport interface RequestOptions {\n method?: HttpMethod;\n headers?: Record<string, string>;\n body?: unknown;\n params?: Record<string, string | number | boolean>;\n timeout?: number;\n}\n\nexport interface HttpResponse<T = unknown> {\n data: T;\n status: number;\n statusText: string;\n headers: Headers;\n ok: boolean;\n error?: {\n message: string;\n details?: unknown;\n };\n}\n\nconst DEFAULT_TIMEOUT = 30000; // 30 seconds\n\n/**\n * Creates a URL with query parameters\n */\nconst createUrl = (endpoint: string, params?: Record<string, string | number | boolean>): string => {\n const url = new URL(endpoint, config.apiBaseUrl);\n\n if (params) {\n Object.entries(params).forEach(([key, value]) => {\n if (value !== undefined && value !== null) {\n url.searchParams.append(key, String(value));\n }\n });\n }\n\n return url.toString();\n};\n\n/**\n * Global HTTP client for making API requests\n */\nexport const httpClient = {\n /**\n * Make an HTTP request\n */\n async request<T = unknown>(endpoint: string, options: RequestOptions = {}): Promise<HttpResponse<T>> {\n const { method = 'GET', headers = {}, body, params, timeout = DEFAULT_TIMEOUT } = options;\n\n const url = createUrl(endpoint, params);\n\n // Prepare headers with defaults\n const requestHeaders: Record<string, string> = {\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n ...headers\n };\n\n // Prepare request options\n const requestOptions: RequestInit = {\n method,\n headers: requestHeaders,\n body: body ? JSON.stringify(body) : undefined\n };\n\n // Create abort controller for timeout\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), timeout);\n requestOptions.signal = controller.signal;\n\n try {\n const response = await fetch(url, requestOptions);\n\n // Parse response data\n let data: T;\n const contentType = response.headers.get('content-type');\n\n if (contentType && contentType.includes('application/json')) {\n data = await response.json();\n } else {\n const text = await response.text();\n try {\n data = JSON.parse(text) as T;\n } catch {\n data = text as unknown as T;\n }\n }\n\n const result: HttpResponse<T> = {\n data,\n status: response.status,\n statusText: response.statusText,\n headers: response.headers,\n ok: response.ok\n };\n\n // Handle error responses but don't throw\n if (!response.ok) {\n const errorMessage = `Request failed with status ${response.status}: ${response.statusText}`;\n networkLogger.error(errorMessage, {\n url,\n method,\n status: response.status,\n data: result.data\n });\n\n result.ok = false;\n result.error = {\n message: errorMessage,\n details: result.data\n };\n } else {\n result.ok = true;\n }\n\n return result;\n } catch (error) {\n // Log the error but don't throw\n let errorMessage = 'Network request failed';\n let errorDetails = {};\n\n if (error instanceof DOMException && error.name === 'AbortError') {\n errorMessage = `Request timeout after ${timeout}ms`;\n errorDetails = { timeout, url };\n } else {\n errorDetails = {\n message: error instanceof Error ? error.message : String(error),\n url,\n method\n };\n }\n\n networkLogger.error(errorMessage, errorDetails);\n\n // Return an error response instead of throwing\n const errorResponse: HttpResponse<T> = {\n data: {} as T,\n status: 0,\n statusText: errorMessage,\n headers: new Headers(),\n ok: false,\n error: {\n message: errorMessage,\n details: errorDetails\n }\n };\n\n return errorResponse;\n } finally {\n clearTimeout(timeoutId);\n }\n },\n\n /**\n * Convenience methods for common HTTP methods\n */\n async get<T = unknown>(endpoint: string, options: Omit<RequestOptions, 'method'> = {}): Promise<HttpResponse<T>> {\n return this.request<T>(endpoint, { ...options, method: 'GET' });\n },\n\n async post<T = unknown>(\n endpoint: string,\n data?: unknown,\n options: Omit<RequestOptions, 'method' | 'body'> = {}\n ): Promise<HttpResponse<T>> {\n return this.request<T>(endpoint, { ...options, method: 'POST', body: data });\n },\n\n async put<T = unknown>(\n endpoint: string,\n data?: unknown,\n options: Omit<RequestOptions, 'method' | 'body'> = {}\n ): Promise<HttpResponse<T>> {\n return this.request<T>(endpoint, { ...options, method: 'PUT', body: data });\n },\n\n async patch<T = unknown>(\n endpoint: string,\n data?: unknown,\n options: Omit<RequestOptions, 'method' | 'body'> = {}\n ): Promise<HttpResponse<T>> {\n return this.request<T>(endpoint, { ...options, method: 'PATCH', body: data });\n },\n\n async delete<T = unknown>(endpoint: string, options: Omit<RequestOptions, 'method'> = {}): Promise<HttpResponse<T>> {\n return this.request<T>(endpoint, { ...options, method: 'DELETE' });\n }\n};\n","import { createElement } from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { I18nextProvider } from 'react-i18next';\nimport { FormWrapper } from '.';\nimport i18n from '../i18n';\nimport { httpClient } from '../networking';\nimport { Logger } from '../utils';\nimport { FormState } from './form-wrapper/form-wrapper';\n\ntype QuestionResponse = {\n id: number;\n answer: string | number | number[];\n};\n\nexport type FormResponse = {\n id: number;\n questions: QuestionResponse[];\n};\n\nexport class FormManager {\n private logger: Logger;\n private headers: Record<string, string>;\n\n constructor(logger: Logger, headers: Record<string, string>) {\n this.logger = logger;\n this.headers = headers;\n }\n\n public async fetchAndDisplayForm(\n productSlug: string,\n onDismiss: () => Promise<void>,\n onComplete: (formState?: FormState) => Promise<void>\n ): Promise<void> {\n this.logger.debug(`Fetching form config for: ${productSlug}`);\n\n try {\n const response = await httpClient.get<Form>(`/external/forms/${productSlug}`, {\n headers: this.headers\n });\n\n if (response.ok && response.data) {\n this.logger.info(`Form config loaded for: ${productSlug}`, response.data);\n this.displayForm(response.data, onDismiss, onComplete);\n } else {\n this.logger.warn(`No form config found for: ${productSlug}`);\n }\n } catch (error) {\n this.logger.error(`Failed to fetch form config for: ${productSlug}`, error);\n }\n }\n\n private displayForm(form: Form, onDismiss: () => Promise<void>, onComplete: () => Promise<void>) {\n // Create a container div for the form\n const container = document.createElement('div');\n container.id = 'nm';\n document.body.appendChild(container);\n\n // Create React root and render the component\n const root = createRoot(container);\n const formElement = createElement(\n I18nextProvider,\n { i18n },\n createElement(FormWrapper, {\n form,\n onDismiss: async (formState: FormState) => {\n await onDismiss();\n await this.postFormResponse(form, formState);\n root.unmount();\n container.remove();\n this.logger.info('Form dismissed', formState);\n },\n onComplete: async (formState: FormState) => {\n await onComplete();\n await this.postFormResponse(form, formState);\n root.unmount();\n container.remove();\n this.logger.info('Form completed', formState);\n }\n })\n );\n\n root.render(formElement);\n }\n\n private async postFormResponse(form: Form, formState: FormState) {\n this.logger.info('Posting form response', formState);\n const response = await httpClient.post<FormResponse>(`/external/forms/${form.slug}`, formState, {\n headers: this.headers\n });\n this.logger.info('Form response posted', response.data);\n }\n}\n","import { FormManager } from '../forms/form-manager';\nimport { httpClient } from '../networking';\nimport { Logger } from '../utils';\n\nexport type ProductType = 'FRM' | 'TRK';\n\nexport type Trigger = {\n triggerType: 'page_url' | 'custom_event';\n urlPattern?: string;\n eventName?: string;\n};\n\nexport type Channel = {\n channelType: string;\n channelStyle: string;\n};\n\nexport type Audience = {\n audienceType: string;\n};\n\nexport type Frequency = {\n frequencyType: string;\n};\n\nexport type Delivery = {\n id: number;\n productSlug: string;\n productType: ProductType;\n triggers: Trigger[];\n // channels: Channel[];\n // audiences: Audience[];\n // frequency: Frequency| null;\n};\n\nexport type DeliveryResponse = {\n id: number;\n shownAt: string;\n wasDismissed: boolean;\n wasCompleted: boolean;\n userId: string;\n respondedAt: string;\n};\n\nexport type TriggerContext = {\n url: string;\n eventName?: string;\n eventData?: Record<string, unknown>;\n};\n\nexport class DeliveryManager {\n private logger: Logger;\n private headers: Record<string, string>;\n private formManager: FormManager;\n private deliveries: Delivery[] = [];\n\n constructor(logger: Logger, headers: Record<string, string>) {\n this.logger = logger;\n this.headers = headers;\n this.formManager = new FormManager(logger, headers);\n }\n\n public async loadDeliveries(): Promise<void> {\n try {\n this.logger.debug('Loading deliveries');\n const response = await httpClient.get<Delivery[]>('/external/deliveries', { headers: this.headers });\n this.deliveries = response.data;\n this.logger.info(`Loaded ${this.deliveries.length} deliveries`);\n } catch (error) {\n this.logger.error('Failed to load deliveries', error);\n // Keep deliveries as empty array on failure\n this.deliveries = [];\n }\n }\n\n public async evaluateDeliveryTriggers(context: TriggerContext): Promise<void> {\n for (const delivery of this.deliveries) {\n for (const trigger of delivery.triggers) {\n if (this.shouldTriggerDelivery(trigger, context)) {\n const deliveryValid = await this.isDeliveryValid(delivery);\n if (!deliveryValid) {\n this.logger.debug(`Delivery ${delivery.id} is not valid, skipping`);\n continue;\n }\n await this.executeDelivery(delivery, trigger);\n return; // Stop after first match\n }\n }\n }\n }\n\n private shouldTriggerDelivery(trigger: Trigger, context: TriggerContext): boolean {\n if (this.hasActiveDelivery()) {\n return false;\n }\n switch (trigger.triggerType) {\n case 'page_url':\n return trigger.urlPattern ? this.matchesUrlPattern(context.url, trigger.urlPattern) : true;\n case 'custom_event':\n return trigger.eventName ? context.eventName === trigger.eventName : false;\n default:\n return false;\n }\n }\n\n private hasActiveDelivery(): boolean {\n return document.getElementById('nm') !== null;\n }\n\n private async executeDelivery(delivery: Delivery, trigger: Trigger): Promise<void> {\n const productType = delivery.productType;\n if (productType === 'FRM') {\n this.logger.debug(`Triggering form delivery: ${delivery.productSlug}`, {\n triggerType: trigger.triggerType,\n urlPattern: trigger.urlPattern,\n eventName: trigger.eventName\n });\n\n try {\n const deliveryResponse = await this.createDeliveryResponse(delivery);\n await this.formManager.fetchAndDisplayForm(\n delivery.productSlug,\n async () => {\n this.logger.debug(`Form for delivery: ${delivery.productSlug} was cancelled`);\n if (deliveryResponse) await this.updateDeliveryResponse(delivery.id, deliveryResponse.id, true);\n },\n async () => {\n this.logger.debug(`Form for delivery: ${delivery.productSlug} was completed`);\n if (deliveryResponse) await this.updateDeliveryResponse(delivery.id, deliveryResponse.id, false, true);\n }\n );\n } catch (error) {\n this.logger.error(`Failed to load form for delivery: ${delivery.productSlug}`, error);\n }\n }\n }\n\n private matchesUrlPattern(url: string, pattern: string): boolean {\n // Extract pathname from URL (remove protocol, host, query params, etc.)\n let pathname: string;\n try {\n const urlObj = new URL(url);\n pathname = urlObj.pathname;\n } catch {\n // If URL parsing fails, assume it's already a pathname\n pathname = url.startsWith('/') ? url : `/${url}`;\n }\n\n // Convert glob pattern to regex\n // * matches any characters except /\n // ** matches any characters including /\n const regexPattern = pattern\n .replace(/\\*\\*/g, '§DOUBLE_STAR§') // Temporary placeholder\n .replace(/\\*/g, '[^/]*') // Single * matches anything except /\n .replace(/§DOUBLE_STAR§/g, '.*') // ** matches anything including /\n .replace(/\\?/g, '.'); // ? matches single character\n\n const regex = new RegExp(`^${regexPattern}$`);\n const result = regex.test(pathname);\n\n this.logger.debug(`URL pattern matching`, {\n originalUrl: url,\n pathname,\n pattern,\n regexPattern,\n matches: result\n });\n\n return result;\n }\n\n private async createDeliveryResponse(delivery: Delivery): Promise<DeliveryResponse | undefined> {\n try {\n const response = await httpClient.post<DeliveryResponse>(\n `/external/deliveries/${delivery.id}/responses`,\n {},\n { headers: this.headers }\n );\n return response.data;\n } catch (error) {\n this.logger.error(`Failed to create delivery response for delivery: ${delivery.id}`, error);\n }\n }\n\n private async updateDeliveryResponse(\n deliveryId: number,\n deliveryResponseId: number,\n dismissed: boolean = false,\n completed: boolean = false\n ): Promise<void> {\n try {\n await httpClient.patch(\n `/external/deliveries/${deliveryId}/responses/${deliveryResponseId}`,\n { wasDismissed: dismissed, wasCompleted: completed },\n { headers: this.headers }\n );\n } catch (error) {\n this.logger.error(`Failed to update delivery response: ${deliveryResponseId} for delivery: ${deliveryId}`, error);\n }\n }\n\n private async isDeliveryValid(delivery: Delivery): Promise<boolean> {\n try {\n const response = await httpClient.get<boolean>(`/external/deliveries/${delivery.id}/should-deliver`, {\n headers: this.headers\n });\n return response.data;\n } catch (error) {\n this.logger.error(`Failed to get delivery should-deliver for delivery: ${delivery.id}`, error);\n return false;\n }\n }\n}\n","import { httpClient } from '../networking';\nimport { Logger } from '../utils';\n\nexport type Config = {\n logger: Logger;\n headers: Record<string, string>;\n sessionId: number;\n eventDefinitions: EventDefinition[];\n batchConfig?: boolean | BatchConfig;\n onPageView?: (url: string) => Promise<void>;\n};\n\nexport type BatchConfig = {\n enabled?: boolean;\n size?: number;\n delayMs?: number;\n sendOnUnload?: boolean;\n};\n\nexport type TrackEventOptions<T extends string = string> = {\n eventKey: T;\n data?: Record<string, unknown>;\n};\n\ntype HistoryParams = Parameters<typeof history.pushState>;\n\ntype EventOptions = TrackEventOptions & {\n sessionId: number;\n timestamp: string;\n page: string;\n};\n\ntype EventProperties = {\n name: string;\n type: string;\n};\n\nexport type EventDefinition = {\n properties: EventProperties[];\n eventKey: string;\n};\n\n/**\n * Manages event tracking, batching, and page view tracking\n */\nexport class TrackingManager {\n private logger: Logger;\n private headers: Record<string, string>;\n private sessionId?: number;\n private eventDefinitions: EventDefinition[] = [];\n private onPageView?: (url: string) => Promise<void>;\n\n // Batching\n private backlog: Array<EventOptions> = [];\n private flushTimeout: number | null = null;\n private batchConfig: Required<BatchConfig> = {\n enabled: true,\n size: 10,\n delayMs: 10000, // 10 seconds\n sendOnUnload: true\n };\n\n // Page view tracking\n private originalHistoryMethods: {\n pushState: typeof history.pushState;\n replaceState: typeof history.replaceState;\n } | null = null;\n\n private readonly EVENT_PAGE_VIEW = 'page_view';\n\n constructor({ logger, headers, sessionId, eventDefinitions, batchConfig, onPageView }: Config) {\n this.logger = logger;\n this.headers = headers;\n this.sessionId = sessionId;\n this.eventDefinitions = eventDefinitions;\n this.onPageView = onPageView;\n\n // Bind methods before setting up event listeners\n this.flushEvents = this.flushEvents.bind(this);\n this.handlePopState = this.handlePopState.bind(this);\n this.handleVisibilityChange = this.handleVisibilityChange.bind(this);\n\n this.setupBatching(batchConfig);\n }\n\n private setupBatching(batchConfig?: boolean | BatchConfig): void {\n if (typeof batchConfig === 'boolean') {\n this.batchConfig.enabled = batchConfig;\n } else if (batchConfig) {\n this.batchConfig = {\n ...this.batchConfig,\n ...batchConfig\n };\n }\n\n // Setup unload handler if batching is enabled\n if (this.batchConfig.enabled && this.batchConfig.sendOnUnload && typeof window !== 'undefined') {\n window.addEventListener('beforeunload', this.flushEvents);\n window.addEventListener('pagehide', this.flushEvents);\n }\n }\n\n public async setupPageViewTracking(): Promise<void> {\n if (typeof window === 'undefined') return;\n\n this.originalHistoryMethods = {\n pushState: history.pushState,\n replaceState: history.replaceState\n };\n\n const originalPushState = history.pushState;\n history.pushState = async (...args: HistoryParams) => {\n originalPushState.apply(history, args);\n await this.trackPageView();\n };\n\n const originalReplaceState = history.replaceState;\n history.replaceState = async (...args: HistoryParams) => {\n originalReplaceState.apply(history, args);\n await this.trackPageView();\n };\n\n window.addEventListener('popstate', this.handlePopState);\n document.addEventListener('visibilitychange', this.handleVisibilityChange);\n }\n\n public async track<T extends TrackEventOptions>(options: T): Promise<void> {\n if (!this.sessionId) {\n this.logger.warn('Tracking manager not initialized, cannot track event');\n return;\n }\n\n const { eventKey, data = {} } = options;\n this.logger.debug('Tracking event', { eventKey, data });\n\n const event: EventOptions = {\n sessionId: this.sessionId,\n eventKey,\n data: data || {},\n timestamp: new Date().toISOString(),\n page: window.location.href\n };\n\n this.validateEvent(event);\n\n if (this.batchConfig.enabled) {\n this.backlog.push(event);\n this.scheduleFlush();\n } else {\n await this.sendEvents([event]);\n }\n }\n\n public async trackPageView(): Promise<void> {\n if (typeof window === 'undefined') return;\n\n await this.track({\n eventKey: this.EVENT_PAGE_VIEW,\n data: {\n title: document.title\n }\n });\n\n this.onPageView?.(window.location.href);\n }\n\n /**\n * Manually flush any pending events\n */\n public async flush(): Promise<void> {\n return this.flushEvents();\n }\n\n /**\n * Clean up event listeners and restore original history methods\n */\n public destroy(): void {\n if (this.originalHistoryMethods) {\n history.pushState = this.originalHistoryMethods.pushState;\n history.replaceState = this.originalHistoryMethods.replaceState;\n this.originalHistoryMethods = null;\n }\n\n if (typeof window !== 'undefined') {\n window.removeEventListener('popstate', this.handlePopState);\n document.removeEventListener('visibilitychange', this.handleVisibilityChange);\n window.removeEventListener('beforeunload', this.flushEvents);\n window.removeEventListener('pagehide', this.flushEvents);\n }\n\n // Clear any pending flush timeout\n if (this.flushTimeout) {\n clearTimeout(this.flushTimeout);\n this.flushTimeout = null;\n }\n }\n\n private validateEvent(event: EventOptions): void {\n if (event.eventKey === this.EVENT_PAGE_VIEW) return;\n\n const eventDefinition = this.eventDefinitions.find(def => def.eventKey === event.eventKey);\n if (!eventDefinition) {\n this.logger.warn(`Event ${event.eventKey} is not registered`);\n return;\n }\n\n const definedProperties = eventDefinition.properties;\n const eventProperties = event.data;\n if (!eventProperties) return;\n\n for (const eventPropertyKey of Object.keys(eventProperties)) {\n const eventProperty = eventProperties[eventPropertyKey];\n const definedProperty = definedProperties.find(prop => prop.name === eventPropertyKey);\n\n if (!definedProperty) {\n this.logger.warn(`Property ${eventPropertyKey} is not registered for event ${event.eventKey}`);\n return;\n }\n\n if (definedProperty.type === 'string' && typeof eventProperty !== 'string') {\n this.logger.warn(\n `Property ${definedProperty.name} has type ${definedProperty.type} but value is of type ${typeof eventProperty}`\n );\n }\n\n if (definedProperty.type === 'boolean' && typeof eventProperty !== 'boolean') {\n this.logger.warn(\n `Property ${definedProperty.name} has type ${definedProperty.type} but value is of type ${typeof eventProperty}`\n );\n }\n\n if (definedProperty.type === 'number' && typeof eventProperty !== 'number') {\n this.logger.warn(\n `Property ${definedProperty.name} has type ${definedProperty.type} but value is of type ${typeof eventProperty}`\n );\n }\n }\n }\n\n private async handlePopState(): Promise<void> {\n await this.trackPageView();\n }\n\n private async handleVisibilityChange(): Promise<void> {\n if (document.visibilityState === 'visible') {\n await this.trackPageView();\n }\n }\n\n private scheduleFlush(): void {\n if (this.backlog.length >= this.batchConfig.size) {\n this.flushEvents();\n return;\n }\n\n if (!this.flushTimeout) {\n this.flushTimeout = window.setTimeout(() => {\n this.flushEvents();\n }, this.batchConfig.delayMs);\n }\n }\n\n private async flushEvents(): Promise<void> {\n if (this.flushTimeout) {\n clearTimeout(this.flushTimeout);\n this.flushTimeout = null;\n }\n\n if (this.backlog.length === 0) return;\n\n const eventsToSend = [...this.backlog];\n this.backlog = [];\n\n try {\n await this.sendEvents(eventsToSend);\n } catch (error) {\n this.backlog.unshift(...eventsToSend);\n this.logger.error('Failed to send batched events', error);\n }\n }\n\n private async sendEvents(events: Array<EventOptions>): Promise<void> {\n if (events.length === 0) return;\n\n if (events.length === 1) {\n const event = events[0];\n await httpClient.post('/external/trackings/track', event, { headers: this.headers });\n } else {\n await httpClient.post('/external/trackings/batch', events, { headers: this.headers });\n }\n }\n}\n","import { DeliveryManager } from './deliveries/delivery-manager';\nimport { httpClient, HttpResponse } from './networking';\nimport { BatchConfig, EventDefinition, TrackEventOptions, TrackingManager } from './tracking/tracking-manager';\nimport { Logger, logger } from './utils';\n\nexport type ClientConfigType = {\n userIdentifier: string;\n debug?: boolean;\n batch?: boolean | BatchConfig;\n};\n\n// Re-export types for backward compatibility\nexport type { BatchConfig, TrackEventOptions } from './tracking/tracking-manager';\n\ntype InitializeResponse = {\n sessionId: number;\n eventDefinitions: EventDefinition[];\n};\n\n/**\n * Main client class for the Nemme SDK\n * Coordinates initialization, tracking, and form management\n */\nexport class NemmeClient {\n clientKey: string;\n userIdentifier?: string;\n initialized = false;\n clientLogger: Logger = logger.child('client');\n headers: Record<string, string> = {};\n\n constructor(clientKey: string) {\n this.clientKey = clientKey;\n }\n\n // Module managers\n private trackingManager?: TrackingManager;\n\n /**\n * Create a new Nemme SDK client instance\n */\n public async init({ userIdentifier, debug = false, batch }: ClientConfigType): Promise<NemmeClient> {\n if (!userIdentifier) throw new Error('userIdentifier is required parameter');\n this.userIdentifier = userIdentifier;\n\n // Configure logger based on debug setting\n this.clientLogger.configure({\n enabled: debug,\n level: debug ? 'debug' : 'info'\n });\n\n this.headers = {\n 'X-Client-Key': this.clientKey,\n 'X-User-Id': this.userIdentifier\n };\n\n try {\n const session = await this.initializeSession();\n await this.initializeManagers(session, batch);\n this.initialized = true;\n this.clientLogger.info('Nemme client initialized', {\n clientKey: this.clientKey,\n userIdentifier: this.userIdentifier\n });\n } catch (error) {\n this.clientLogger.error('Error during initialization:', error);\n }\n\n return this;\n }\n\n public async flush(): Promise<void> {\n return this.trackingManager?.flush();\n }\n\n public destroy(): void {\n this.trackingManager?.destroy();\n }\n\n public async track<T extends TrackEventOptions>(options: T): Promise<void> {\n if (!this.initialized || !this.trackingManager) {\n this.clientLogger.warn('Nemme client not initialized, some operations may fail');\n return;\n }\n\n return this.trackingManager.track(options);\n }\n\n private async initializeSession(): Promise<InitializeResponse> {\n try {\n const response: HttpResponse<InitializeResponse> = await httpClient.post(\n '/external/trackings/initialize',\n {},\n { headers: this.headers }\n );\n if (!response.ok) {\n throw new Error(response.error?.message || 'Request for initialising session failed');\n }\n return response.data;\n } catch (error) {\n this.clientLogger.error('Error during initialization', error);\n throw error;\n }\n }\n\n private async initializeManagers(session: InitializeResponse, batchConfig?: boolean | BatchConfig): Promise<void> {\n const deliveryManager = new DeliveryManager(this.clientLogger, this.headers);\n const trackingManager = new TrackingManager({\n logger: this.clientLogger,\n headers: this.headers,\n sessionId: session.sessionId,\n eventDefinitions: session.eventDefinitions,\n batchConfig,\n onPageView: async (url: string) => {\n await deliveryManager.evaluateDeliveryTriggers({ url });\n }\n });\n\n await deliveryManager.loadDeliveries();\n\n if (typeof window !== 'undefined') {\n await trackingManager.setupPageViewTracking();\n await trackingManager.trackPageView();\n await trackingManager.flush();\n }\n\n this.trackingManager = trackingManager;\n }\n}\n\nexport const initAsModule = (clientKey: string) => new NemmeClient(clientKey);\n","import { createContext } from 'react';\nimport { NemmeClient } from '../client';\n\nexport interface NemmeContextType {\n client: NemmeClient | null;\n isInitialized: boolean;\n error: string | null;\n}\n\nexport const NemmeContext = createContext<NemmeContextType | undefined>(undefined);\n","import React, { useEffect, useState, ReactNode } from 'react';\nimport { NemmeClient, ClientConfigType } from '../client';\nimport { NemmeContext, NemmeContextType } from './context';\n\ninterface NemmeProviderProps {\n clientKey: string;\n config: ClientConfigType;\n children: ReactNode;\n}\n\nexport const NemmeProvider: React.FC<NemmeProviderProps> = ({\n clientKey,\n config,\n children\n}) => {\n const [client, setClient] = useState<NemmeClient | null>(null);\n const [isInitialized, setIsInitialized] = useState(false);\n const [error, setError] = useState<string | null>(null);\n\n useEffect(() => {\n let currentClient: NemmeClient | null = null;\n let isCancelled = false;\n \n const initializeClient = async () => {\n try {\n const nemmeClient = new NemmeClient(clientKey);\n await nemmeClient.init(config);\n \n // Check if effect was cancelled during async operation\n if (isCancelled) {\n nemmeClient.destroy();\n return;\n }\n \n currentClient = nemmeClient;\n setClient(nemmeClient);\n setIsInitialized(true);\n setError(null);\n } catch (err) {\n if (!isCancelled) {\n setError(err instanceof Error ? err.message : 'Failed to initialize Nemme client');\n setIsInitialized(false);\n }\n }\n };\n\n // Reset state when starting new initialization\n setClient(null);\n setIsInitialized(false);\n setError(null);\n \n initializeClient();\n\n return () => {\n isCancelled = true;\n if (currentClient) {\n currentClient.destroy();\n }\n };\n }, [clientKey, config]);\n\n const value: NemmeContextType = {\n client,\n isInitialized,\n error\n };\n\n return (\n <NemmeContext.Provider value={value}>\n {children}\n </NemmeContext.Provider>\n );\n};\n\n","import { useContext } from 'react';\nimport { NemmeContext } from './context';\n\nexport const useNemmeContext = () => {\n const context = useContext(NemmeContext);\n if (context === undefined) {\n throw new Error('useNemmeContext must be used within a NemmeProvider');\n }\n return context;\n};\n","import { useCallback } from 'react';\nimport { useNemmeContext } from './useNemmeContext';\nimport { TrackEventOptions } from '../client';\n\nexport const useNemme = () => {\n const { client, isInitialized, error } = useNemmeContext();\n\n const track = useCallback(async <T extends TrackEventOptions>(options: T) => {\n if (!client || !isInitialized) {\n console.warn('Nemme client not initialized');\n return;\n }\n return client.track(options);\n }, [client, isInitialized]);\n\n const flush = useCallback(async () => {\n if (!client || !isInitialized) {\n console.warn('Nemme client not initialized');\n return;\n }\n return client.flush();\n }, [client, isInitialized]);\n\n return {\n track,\n flush,\n isInitialized,\n error,\n client\n };\n};\n","import { NemmeClient, initAsModule, type ClientConfigType } from './client';\nimport './i18n';\nimport './index.css';\n\ndeclare global {\n interface Window {\n NemmeSDK: ((clientKey: string) => NemmeClient) & {\n NemmeClient: typeof NemmeClient;\n init: (config: ClientConfigType & { clientKey: string }) => Promise<NemmeClient>;\n };\n }\n}\n\n// Create a default instance factory for global usage\nconst nemme = (clientKey: string) => initAsModule(clientKey);\n\n// Create init function that matches the expected signature\nconst init = async (config: ClientConfigType & { clientKey: string }): Promise<NemmeClient> => {\n const { clientKey, ...clientConfig } = config;\n const client = initAsModule(clientKey);\n return await client.init(clientConfig);\n};\n\n// Create a callable object that also exposes helpers\nconst NemmeSDKCallable = Object.assign((clientKey: string) => nemme(clientKey), {\n NemmeClient,\n init\n});\n\n// Expose to browser globals\nif (typeof window !== 'undefined') {\n window.NemmeSDK = NemmeSDKCallable;\n}\n\nexport { NemmeClient, NemmeSDKCallable as default, NemmeSDKCallable as NemmeSDK };\n\n// Re-export React components for browser usage\nexport { NemmeProvider, useNemme, useNemmeContext } from './react';\n\n// Re-export types for package consumers\nexport type { ClientConfigType, TrackEventOptions } from './client';\n"],"names":["m","require$$0","client","warn","i18n","code","msg","rest","args","_b","_a","isString","_d","_c","alreadyWarned","warnOnce","loadedClb","cb","initialized","loadNamespaces","ns","loadLanguages","lng","n","hasLoadedNamespace","options","i18nInstance","loadNotPending","obj","isObject","matchHtmlEntity","htmlEntities","unescapeHtmlEntity","unescape","text","defaultOptions","setDefaults","getDefaults","setI18n","instance","getI18n","initReactI18next","I18nContext","createContext","ReportNamespaces","namespaces","usePrevious","value","ignore","ref","useRef","useEffect","alwaysNewT","language","namespace","keyPrefix","useMemoizedT","useCallback","useTranslation","props","i18nFromProps","i18nFromContext","defaultNSFromContext","useContext","notReadyT","optsOrDefaultValue","retNotReady","i18nOptions","useSuspense","ready","memoGetT","getT","getNewT","t","setT","useState","joinedNS","previousJoinedNS","isMounted","bindI18n","bindI18nStore","boundReset","e","ret","resolve","I18nextProvider","defaultNS","children","useMemo","createElement","f","k","l","p","q","c","a","g","b","d","h","reactJsxRuntime_production_min","jsxRuntimeModule","Step","step","form","formState","onDismiss","onNextStep","onPreviousStep","onUpdateResponse","stepInfo","stepOrder","currentOrder","questionIndex","title","description","image","includeOptOut","customStartButton","startButtonText","customOptOutButton","optOutButtonText","jsx","TransitionStart","customEndButton","endButtonText","customEndButtonLink","endButtonLink","TransitionEnd","question","alternatives","maxSelections","required","selectedAlternatives","isValid","QuestionChoice","alternativeIndex","current","updated","i","maxChars","limited","inputText","QuestionText","FormWrapper","onComplete","lastStepIndex","setFormState","updateResponse","questionId","answer","prev","navigateToStep","nextStep","completedFormState","previousStep","o","r","s","x","w","a2","Y","O2","D0","W2","u","D","F","H","I2","R0","z2","H0","P0","z","M2","V0","G2","S0","B","I0","U","M0","QuestionWrapper","icon","onPrevious","onNext","onQuit","jsxs","cx","NText","index","Button","CaretLeftIcon","CaretRightIcon","XIcon","onAlternativeSelect","maxAlternatives","alternative","Option","size","strokeColor","fillColor","selected","viewBoxSize","center","radius","setInputText","maxCharacters","variantToClassName","TransitionWrapper","wrapperClassName","quitText","externalLink","ArrowSquareOutIcon","startText","onStart","getDefaultOptions","setDefaultOptions","newOptions","formatDistanceLocale","formatDistance","token","count","result","tokenValue","buildFormatLongFn","width","formatRelativeLocale","formatRelative","_date","_baseDate","_options","buildLocalizeFn","context","valuesArray","defaultWidth","eraValues","quarterValues","monthValues","dayValues","dayPeriodValues","formattingDayPeriodValues","ordinalNumber","dirtyNumber","number","rem100","localize","quarter","buildMatchFn","string","matchPattern","matchResult","matchedString","parsePatterns","key","findIndex","pattern","findKey","object","predicate","array","buildMatchPatternFn","parseResult","matchOrdinalNumberPattern","parseOrdinalNumberPattern","matchEraPatterns","parseEraPatterns","matchQuarterPatterns","parseQuarterPatterns","matchMonthPatterns","parseMonthPatterns","matchDayPatterns","parseDayPatterns","matchDayPeriodPatterns","parseDayPeriodPatterns","match","property","setInternalDefaultOptions","dateFormats","timeFormats","dateTimeFormats","formatLong","enGB","defer","res","rej","promise","reject","makeString","copy","lastOfPathSeparatorRegExp","cleanKey","canNotTraverseDeeper","getLastOfPath","path","Empty","stack","stackIndex","setPath","newValue","last","pushPath","concat","getPath","getPathWithDefaults","data","defaultData","deepExtend","target","source","overwrite","prop","regexEscape","str","_entityMap","escape","RegExpCache","capacity","regExpFromCache","regExpNew","chars","looksLikeObjectPathRegExpCache","looksLikeObjectPath","nsSeparator","keySeparator","possibleChars","matched","ki","deepFind","tokens","next","nextPath","j","getCleanedCode","consoleLogger","type","Logger$1","Logger","concreteLogger","lvl","prefix","debugOnly","moduleName","baseLogger","EventEmitter","events","listener","event","numListeners","observer","numTimesAdded","ResourceStore","ignoreJSONStructure","resources","deep","pack","v","postProcessor","module","processors","translator","processor","PATH_KEY","createProxy","state","handler","proxy","keysFromSelector","selector","opts","checkedLoadedFor","shouldHandleAsObject","Translator","services","opt","resolved","wouldCheckForNsInKey","seemsNaturalLanguage","parts","keys","lastKey","returnDetails","appendNamespaceToCIMode","resUsedKey","resExactUsedKey","noObject","joinArrays","handleAsObjectInI18nFormat","needsPluralHandling","hasDefaultValue","defaultValueSuffix","defaultValueSuffixOrdinalFallback","needsZeroSuffixLookup","defaultValue","resForObjHndl","handleAsObject","resType","resTypeIsArray","newKeyToUse","deepKey","usedDefault","usedKey","resForMissing","updateMissing","fk","lngs","fallbackLngs","send","specificDefaultValue","defaultForMissing","suffixes","suffix","skipOnVariables","nestBef","nb","na","nestAft","postProcess","postProcessorNames","found","exactUsedKey","usedLng","usedNS","extracted","needsContextHandling","codes","finalKeys","pluralSuffix","zeroSuffix","ordinalPrefix","contextKey","possibleKey","optionsKeys","useOptionsReplaceForData","option","LanguageUtil","formattedCode","cleanedLng","lngScOnly","lngOnly","supportedLng","fallbacks","fallbackCode","fallbackCodes","addCode","fc","suffixesOrder","dummyRule","PluralResolver","languageUtils","cleanedCode","cacheKey","rule","lngPart","pluralCategory1","pluralCategory2","pluralCategory","deepFindWithDefaults","regexSafe","val","Interpolator","escape$1","escapeValue","useRawValueToEscape","prefixEscaped","suffixEscaped","formatSeparator","unescapeSuffix","unescapePrefix","nestingPrefix","nestingPrefixEscaped","nestingSuffix","nestingSuffixEscaped","nestingOptionsSeparator","maxReplaces","alwaysFormat","getOrResetRegExp","existingRegExp","replaces","handleFormat","missingInterpolationHandler","todo","matchedVar","temp","safeValue","clonedOptions","handleHasOptions","inheritedOptions","sep","optionsString","matchedSingleQuotes","matchedDoubleQuotes","formatters","keyEndIndex","elem","parseFormatStr","formatStr","formatName","formatOptions","optStr","trimmedKey","createCachedFormatter","fn","cache","optForCache","frm","createNonCachedFormatter","Formatter","cf","formatter","name","format","formats","lastIndex","mem","formatted","valOptions","error","removePending","Connector","backend","store","languages","callback","toLoad","pending","toLoadLanguages","toLoadNamespaces","hasAllNamespaces","err","loaded","loadedKeys","fcName","tried","wait","resolver","fallbackValue","isUpdate","clb","_e","get","transformOptions","noop","bindMemberFunctions","inst","I18n","defOpts","createClassOnDemand","ClassOrObject","lu","deferred","load","finish","usedCallback","append","li","lngInLngs","setLngProps","done","setLng","fl","fixedT","resultKey","fallbackLng","lastLng","loadState","preResult","preloaded","newLngs","ti","rtlLngs","forkResourceStore","mergedOptions","clone","clonedData","acc","slice","forEach","defaults","hasXSS","input","fieldContentRegExp","serializeCookie","maxAge","cookie","minutes","domain","cookieOptions","nameEQ","ca","cookie$1","_ref","lookupCookie","_ref2","cookieMinutes","cookieDomain","querystring","lookupQuerystring","search","params","pos","hash","lookupHash","lookupFromHashIndex","query","hasLocalStorageSupport","localStorageAvailable","testKey","localStorage","lookupLocalStorage","hasSessionStorageSupport","sessionStorageAvailable","sessionStorage","lookupSessionStorage","navigator$1","userLanguage","htmlTag","internalHtmlTag","lookupFromPathIndex","subdomain","lookupFromSubdomainIndex","internalLookupFromSubdomainIndex","canCookies","order","Browser","detector","detectionOrder","detected","detectorName","lookup","caches","cacheName","config","LanguageDetector","en","LOG_LEVELS","__publicField","level","message","logger","networkLogger","DEFAULT_TIMEOUT","createUrl","endpoint","url","httpClient","method","headers","body","timeout","requestHeaders","requestOptions","controller","timeoutId","response","contentType","errorMessage","errorDetails","FormManager","productSlug","container","root","createRoot","formElement","DeliveryManager","delivery","trigger","deliveryResponse","pathname","regexPattern","deliveryId","deliveryResponseId","dismissed","completed","TrackingManager","sessionId","eventDefinitions","batchConfig","onPageView","originalPushState","originalReplaceState","eventKey","eventDefinition","def","definedProperties","eventProperties","eventPropertyKey","eventProperty","definedProperty","eventsToSend","NemmeClient","clientKey","userIdentifier","debug","batch","session","deliveryManager","trackingManager","initAsModule","NemmeContext","NemmeProvider","setClient","isInitialized","setIsInitialized","setError","currentClient","isCancelled","initializeClient","nemmeClient","useNemmeContext","useNemme","track","flush","nemme","init","clientConfig","NemmeSDKCallable"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,13,14,15,16,17,18,19,20,21,22,30,31,32,33,34,35,36,37,38,39,40,41,42,43]}
1
+ {"version":3,"file":"index.esm.js","sources":["../../node_modules/react-i18next/dist/es/utils.js","../../node_modules/react-i18next/dist/es/unescape.js","../../node_modules/react-i18next/dist/es/defaults.js","../../node_modules/react-i18next/dist/es/i18nInstance.js","../../node_modules/react-i18next/dist/es/initReactI18next.js","../../node_modules/react-i18next/dist/es/context.js","../../node_modules/react-i18next/dist/es/useTranslation.js","../../node_modules/react-i18next/dist/es/I18nextProvider.js","../../node_modules/react/cjs/react-jsx-runtime.production.min.js","../../node_modules/react/jsx-runtime.js","../src/forms/form-wrapper/step.tsx","../src/forms/form-wrapper/form-wrapper.tsx","../../node_modules/@phosphor-icons/react/dist/defs/ArrowSquareOut.es.js","../../node_modules/@phosphor-icons/react/dist/defs/CaretLeft.es.js","../../node_modules/@phosphor-icons/react/dist/defs/CaretRight.es.js","../../node_modules/@phosphor-icons/react/dist/defs/X.es.js","../../node_modules/@phosphor-icons/react/dist/lib/context.es.js","../../node_modules/@phosphor-icons/react/dist/lib/IconBase.es.js","../../node_modules/@phosphor-icons/react/dist/csr/ArrowSquareOut.es.js","../../node_modules/@phosphor-icons/react/dist/csr/CaretLeft.es.js","../../node_modules/@phosphor-icons/react/dist/csr/CaretRight.es.js","../../node_modules/@phosphor-icons/react/dist/csr/X.es.js","../../ui-kit/dist/index.es.js","../src/forms/question-wrapper.tsx","../src/forms/question-choice/question-choice.tsx","../src/forms/question-text/question-text.tsx","../src/forms/transition-wrapper.tsx","../src/forms/transition-end/transition-end.tsx","../src/forms/transition-start/transition-start.tsx","../../node_modules/date-fns/_lib/defaultOptions.js","../../node_modules/date-fns/locale/en-US/_lib/formatDistance.js","../../node_modules/date-fns/locale/_lib/buildFormatLongFn.js","../../node_modules/date-fns/locale/en-US/_lib/formatRelative.js","../../node_modules/date-fns/locale/_lib/buildLocalizeFn.js","../../node_modules/date-fns/locale/en-US/_lib/localize.js","../../node_modules/date-fns/locale/_lib/buildMatchFn.js","../../node_modules/date-fns/locale/_lib/buildMatchPatternFn.js","../../node_modules/date-fns/locale/en-US/_lib/match.js","../../node_modules/date-fns/setDefaultOptions.js","../../node_modules/date-fns/locale/en-GB/_lib/formatLong.js","../../node_modules/date-fns/locale/en-GB.js","../../node_modules/i18next/dist/esm/i18next.js","../../node_modules/i18next-browser-languagedetector/dist/esm/i18nextBrowserLanguageDetector.js","../src/config.ts","../src/i18n.ts","../src/utils/logger.ts","../src/networking/httpClient.ts","../src/forms/form-manager.ts","../src/deliveries/delivery-manager.ts","../src/tracking/tracking-manager.ts","../src/client.ts","../src/react/context.ts","../src/react/NemmeProvider.tsx","../src/react/useNemmeContext.ts","../src/react/useNemme.ts","../src/browser.ts"],"sourcesContent":["export const warn = (i18n, code, msg, rest) => {\n const args = [msg, {\n code,\n ...(rest || {})\n }];\n if (i18n?.services?.logger?.forward) {\n return i18n.services.logger.forward(args, 'warn', 'react-i18next::', true);\n }\n if (isString(args[0])) args[0] = `react-i18next:: ${args[0]}`;\n if (i18n?.services?.logger?.warn) {\n i18n.services.logger.warn(...args);\n } else if (console?.warn) {\n console.warn(...args);\n }\n};\nconst alreadyWarned = {};\nexport const warnOnce = (i18n, code, msg, rest) => {\n if (isString(msg) && alreadyWarned[msg]) return;\n if (isString(msg)) alreadyWarned[msg] = new Date();\n warn(i18n, code, msg, rest);\n};\nconst loadedClb = (i18n, cb) => () => {\n if (i18n.isInitialized) {\n cb();\n } else {\n const initialized = () => {\n setTimeout(() => {\n i18n.off('initialized', initialized);\n }, 0);\n cb();\n };\n i18n.on('initialized', initialized);\n }\n};\nexport const loadNamespaces = (i18n, ns, cb) => {\n i18n.loadNamespaces(ns, loadedClb(i18n, cb));\n};\nexport const loadLanguages = (i18n, lng, ns, cb) => {\n if (isString(ns)) ns = [ns];\n if (i18n.options.preload && i18n.options.preload.indexOf(lng) > -1) return loadNamespaces(i18n, ns, cb);\n ns.forEach(n => {\n if (i18n.options.ns.indexOf(n) < 0) i18n.options.ns.push(n);\n });\n i18n.loadLanguages(lng, loadedClb(i18n, cb));\n};\nexport const hasLoadedNamespace = (ns, i18n, options = {}) => {\n if (!i18n.languages || !i18n.languages.length) {\n warnOnce(i18n, 'NO_LANGUAGES', 'i18n.languages were undefined or empty', {\n languages: i18n.languages\n });\n return true;\n }\n return i18n.hasLoadedNamespace(ns, {\n lng: options.lng,\n precheck: (i18nInstance, loadNotPending) => {\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18nInstance.services.backendConnector.backend && i18nInstance.isLanguageChangingTo && !loadNotPending(i18nInstance.isLanguageChangingTo, ns)) return false;\n }\n });\n};\nexport const getDisplayName = Component => Component.displayName || Component.name || (isString(Component) && Component.length > 0 ? Component : 'Unknown');\nexport const isString = obj => typeof obj === 'string';\nexport const isObject = obj => typeof obj === 'object' && obj !== null;","const matchHtmlEntity = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g;\nconst htmlEntities = {\n '&amp;': '&',\n '&#38;': '&',\n '&lt;': '<',\n '&#60;': '<',\n '&gt;': '>',\n '&#62;': '>',\n '&apos;': \"'\",\n '&#39;': \"'\",\n '&quot;': '\"',\n '&#34;': '\"',\n '&nbsp;': ' ',\n '&#160;': ' ',\n '&copy;': '©',\n '&#169;': '©',\n '&reg;': '®',\n '&#174;': '®',\n '&hellip;': '…',\n '&#8230;': '…',\n '&#x2F;': '/',\n '&#47;': '/'\n};\nconst unescapeHtmlEntity = m => htmlEntities[m];\nexport const unescape = text => text.replace(matchHtmlEntity, unescapeHtmlEntity);","import { unescape } from './unescape.js';\nlet defaultOptions = {\n bindI18n: 'languageChanged',\n bindI18nStore: '',\n transEmptyNodeValue: '',\n transSupportBasicHtmlNodes: true,\n transWrapTextNodes: '',\n transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p'],\n useSuspense: true,\n unescape\n};\nexport const setDefaults = (options = {}) => {\n defaultOptions = {\n ...defaultOptions,\n ...options\n };\n};\nexport const getDefaults = () => defaultOptions;","let i18nInstance;\nexport const setI18n = instance => {\n i18nInstance = instance;\n};\nexport const getI18n = () => i18nInstance;","import { setDefaults } from './defaults.js';\nimport { setI18n } from './i18nInstance.js';\nexport const initReactI18next = {\n type: '3rdParty',\n init(instance) {\n setDefaults(instance.options.react);\n setI18n(instance);\n }\n};","import { createContext } from 'react';\nimport { getDefaults, setDefaults } from './defaults.js';\nimport { getI18n, setI18n } from './i18nInstance.js';\nimport { initReactI18next } from './initReactI18next.js';\nexport { getDefaults, setDefaults, getI18n, setI18n, initReactI18next };\nexport const I18nContext = createContext();\nexport class ReportNamespaces {\n constructor() {\n this.usedNamespaces = {};\n }\n addUsedNamespaces(namespaces) {\n namespaces.forEach(ns => {\n if (!this.usedNamespaces[ns]) this.usedNamespaces[ns] = true;\n });\n }\n getUsedNamespaces() {\n return Object.keys(this.usedNamespaces);\n }\n}\nexport const composeInitialProps = ForComponent => async ctx => {\n const componentsInitialProps = (await ForComponent.getInitialProps?.(ctx)) ?? {};\n const i18nInitialProps = getInitialProps();\n return {\n ...componentsInitialProps,\n ...i18nInitialProps\n };\n};\nexport const getInitialProps = () => {\n const i18n = getI18n();\n const namespaces = i18n.reportNamespaces?.getUsedNamespaces() ?? [];\n const ret = {};\n const initialI18nStore = {};\n i18n.languages.forEach(l => {\n initialI18nStore[l] = {};\n namespaces.forEach(ns => {\n initialI18nStore[l][ns] = i18n.getResourceBundle(l, ns) || {};\n });\n });\n ret.initialI18nStore = initialI18nStore;\n ret.initialLanguage = i18n.language;\n return ret;\n};","import { useState, useEffect, useContext, useRef, useCallback } from 'react';\nimport { getI18n, getDefaults, ReportNamespaces, I18nContext } from './context.js';\nimport { warnOnce, loadNamespaces, loadLanguages, hasLoadedNamespace, isString, isObject } from './utils.js';\nconst usePrevious = (value, ignore) => {\n const ref = useRef();\n useEffect(() => {\n ref.current = ignore ? ref.current : value;\n }, [value, ignore]);\n return ref.current;\n};\nconst alwaysNewT = (i18n, language, namespace, keyPrefix) => i18n.getFixedT(language, namespace, keyPrefix);\nconst useMemoizedT = (i18n, language, namespace, keyPrefix) => useCallback(alwaysNewT(i18n, language, namespace, keyPrefix), [i18n, language, namespace, keyPrefix]);\nexport const useTranslation = (ns, props = {}) => {\n const {\n i18n: i18nFromProps\n } = props;\n const {\n i18n: i18nFromContext,\n defaultNS: defaultNSFromContext\n } = useContext(I18nContext) || {};\n const i18n = i18nFromProps || i18nFromContext || getI18n();\n if (i18n && !i18n.reportNamespaces) i18n.reportNamespaces = new ReportNamespaces();\n if (!i18n) {\n warnOnce(i18n, 'NO_I18NEXT_INSTANCE', 'useTranslation: You will need to pass in an i18next instance by using initReactI18next');\n const notReadyT = (k, optsOrDefaultValue) => {\n if (isString(optsOrDefaultValue)) return optsOrDefaultValue;\n if (isObject(optsOrDefaultValue) && isString(optsOrDefaultValue.defaultValue)) return optsOrDefaultValue.defaultValue;\n return Array.isArray(k) ? k[k.length - 1] : k;\n };\n const retNotReady = [notReadyT, {}, false];\n retNotReady.t = notReadyT;\n retNotReady.i18n = {};\n retNotReady.ready = false;\n return retNotReady;\n }\n if (i18n.options.react?.wait) warnOnce(i18n, 'DEPRECATED_OPTION', 'useTranslation: It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.');\n const i18nOptions = {\n ...getDefaults(),\n ...i18n.options.react,\n ...props\n };\n const {\n useSuspense,\n keyPrefix\n } = i18nOptions;\n let namespaces = ns || defaultNSFromContext || i18n.options?.defaultNS;\n namespaces = isString(namespaces) ? [namespaces] : namespaces || ['translation'];\n i18n.reportNamespaces.addUsedNamespaces?.(namespaces);\n const ready = (i18n.isInitialized || i18n.initializedStoreOnce) && namespaces.every(n => hasLoadedNamespace(n, i18n, i18nOptions));\n const memoGetT = useMemoizedT(i18n, props.lng || null, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0], keyPrefix);\n const getT = () => memoGetT;\n const getNewT = () => alwaysNewT(i18n, props.lng || null, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0], keyPrefix);\n const [t, setT] = useState(getT);\n let joinedNS = namespaces.join();\n if (props.lng) joinedNS = `${props.lng}${joinedNS}`;\n const previousJoinedNS = usePrevious(joinedNS);\n const isMounted = useRef(true);\n useEffect(() => {\n const {\n bindI18n,\n bindI18nStore\n } = i18nOptions;\n isMounted.current = true;\n if (!ready && !useSuspense) {\n if (props.lng) {\n loadLanguages(i18n, props.lng, namespaces, () => {\n if (isMounted.current) setT(getNewT);\n });\n } else {\n loadNamespaces(i18n, namespaces, () => {\n if (isMounted.current) setT(getNewT);\n });\n }\n }\n if (ready && previousJoinedNS && previousJoinedNS !== joinedNS && isMounted.current) {\n setT(getNewT);\n }\n const boundReset = () => {\n if (isMounted.current) setT(getNewT);\n };\n if (bindI18n) i18n?.on(bindI18n, boundReset);\n if (bindI18nStore) i18n?.store.on(bindI18nStore, boundReset);\n return () => {\n isMounted.current = false;\n if (i18n && bindI18n) bindI18n?.split(' ').forEach(e => i18n.off(e, boundReset));\n if (bindI18nStore && i18n) bindI18nStore.split(' ').forEach(e => i18n.store.off(e, boundReset));\n };\n }, [i18n, joinedNS]);\n useEffect(() => {\n if (isMounted.current && ready) {\n setT(getT);\n }\n }, [i18n, keyPrefix, ready]);\n const ret = [t, i18n, ready];\n ret.t = t;\n ret.i18n = i18n;\n ret.ready = ready;\n if (ready) return ret;\n if (!ready && !useSuspense) return ret;\n throw new Promise(resolve => {\n if (props.lng) {\n loadLanguages(i18n, props.lng, namespaces, () => resolve());\n } else {\n loadNamespaces(i18n, namespaces, () => resolve());\n }\n });\n};","import { createElement, useMemo } from 'react';\nimport { I18nContext } from './context.js';\nexport function I18nextProvider({\n i18n,\n defaultNS,\n children\n}) {\n const value = useMemo(() => ({\n i18n,\n defaultNS\n }), [i18n, defaultNS]);\n return createElement(I18nContext.Provider, {\n value\n }, children);\n}","/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","import { FC } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { QuestionChoice, QuestionText, TransitionEnd, TransitionStart } from '..';\nimport { FormState } from './form-wrapper';\n\ntype Props = {\n step: number;\n form: Form;\n formState: FormState;\n onDismiss: (formState: FormState) => void;\n onNextStep: () => void;\n onPreviousStep: () => void;\n onUpdateResponse: (questionId: number, answer: string | number[]) => void;\n};\n\nexport const Step: FC<Props> = ({ step, form, formState, onDismiss, onNextStep, onPreviousStep, onUpdateResponse }) => {\n const { t } = useTranslation();\n\n // Helper function to determine what type of step we're on\n const getStepInfo = (stepOrder: number) => {\n let currentOrder = 0;\n\n // Check if this is the start transition\n if (form.startTransition) {\n if (stepOrder === currentOrder) {\n return { type: 'start' as const, transition: form.startTransition };\n }\n currentOrder++;\n }\n\n // Check if this is a question\n const questionIndex = stepOrder - currentOrder;\n if (questionIndex >= 0 && questionIndex < form.questions.length) {\n return { type: 'question' as const, questionIndex, question: form.questions[questionIndex] };\n }\n currentOrder += form.questions.length;\n\n // Check if this is the end transition\n if (form.endTransition && stepOrder === currentOrder) {\n return { type: 'end' as const, transition: form.endTransition };\n }\n\n return null;\n };\n\n const stepInfo = getStepInfo(step);\n\n if (stepInfo?.type === 'start') {\n const {\n title,\n description,\n image,\n includeOptOut,\n customStartButton,\n startButtonText,\n customOptOutButton,\n optOutButtonText\n } = stepInfo.transition as StartTransition;\n return (\n <TransitionStart\n title={title}\n description={description}\n icon={form.icon}\n image={image}\n quitText={includeOptOut ? (customOptOutButton ? optOutButtonText : t('Quit')) : undefined}\n onQuit={includeOptOut ? () => onDismiss(formState) : undefined}\n startText={customStartButton ? startButtonText : t('Start')}\n onStart={onNextStep}\n />\n );\n }\n\n if (stepInfo?.type === 'end') {\n const { title, description, image, customEndButton, endButtonText, customEndButtonLink, endButtonLink } =\n stepInfo.transition as EndTransition;\n return (\n <TransitionEnd\n title={title}\n description={description}\n icon={form.icon}\n image={image}\n quitText={customEndButton ? endButtonText : t('Done')}\n onQuit={onNextStep}\n externalLink={customEndButtonLink ? endButtonLink : undefined}\n />\n );\n }\n\n if (stepInfo?.type === 'question') {\n const { question } = stepInfo;\n\n if (question.questionType === 'choice') {\n const { title, description, image, alternatives, maxSelections, required } = question as ChoiceQuestion;\n const selectedAlternatives = (formState.responses[question.id] as number[]) || [];\n const isValid =\n (maxSelections ? selectedAlternatives.length <= maxSelections || maxSelections === 4 : true) &&\n (required ? selectedAlternatives.length > 0 : true);\n\n return (\n <QuestionChoice\n title={title}\n description={description}\n image={image}\n alternatives={alternatives}\n onPrevious={onPreviousStep}\n onNext={onNextStep}\n icon={form.icon}\n maxAlternatives={maxSelections}\n onQuit={() => onDismiss(formState)}\n selectedAlternatives={selectedAlternatives}\n onAlternativeSelect={(alternativeIndex: number) => {\n // Handle single or multiple selection based on question config\n const isMultiple = maxSelections > 1;\n if (isMultiple) {\n const current = selectedAlternatives;\n const updated = current.includes(alternativeIndex)\n ? current.filter(i => i !== alternativeIndex)\n : maxSelections && current.length >= maxSelections && maxSelections != 4\n ? current\n : [...current, alternativeIndex];\n onUpdateResponse(question.id, updated);\n } else {\n if (selectedAlternatives.includes(alternativeIndex)) {\n onUpdateResponse(question.id, []);\n } else {\n onUpdateResponse(question.id, [alternativeIndex]);\n }\n }\n }}\n isValid={isValid}\n />\n );\n }\n\n if (question.questionType === 'text') {\n const { title, description, image, maxChars, limited, required } = question as TextQuestion;\n const inputText = (formState.responses[question.id] as string) || '';\n const isValid =\n (limited && maxChars ? inputText.length <= maxChars : true) && (required ? inputText.length > 0 : true);\n\n return (\n <QuestionText\n title={title}\n icon={form.icon}\n description={description}\n onNext={onNextStep}\n onPrevious={onPreviousStep}\n onQuit={() => onDismiss(formState)}\n image={image}\n maxCharacters={limited ? maxChars : undefined}\n inputText={inputText}\n setInputText={(text: string) => {\n if (limited && maxChars && text.length > maxChars) return;\n onUpdateResponse(question.id, text);\n }}\n isValid={isValid}\n />\n );\n }\n }\n\n return null;\n};\n","import { FC, useCallback, useState } from 'react';\nimport { Step } from './step';\n\nexport type FormState = {\n responses: Record<number, string | number[]>; // questionId -> response\n currentStep: number; // Sequential step number\n startedAt: Date;\n completedAt?: Date;\n};\n\nexport type Props = {\n form: Form;\n onDismiss: (formState: FormState) => Promise<void>;\n onComplete: (formState: FormState) => Promise<void>;\n zIndex?: number;\n};\n\nexport const FormWrapper: FC<Props> = ({ form, onDismiss, onComplete, zIndex = 100 }) => {\n // Calculate total steps: startTransition + questions + endTransition\n const totalSteps = (form.startTransition ? 1 : 0) + form.questions.length + (form.endTransition ? 1 : 0);\n const lastStepIndex = totalSteps - 1;\n\n const [formState, setFormState] = useState<FormState>({\n responses: {},\n currentStep: 0,\n startedAt: new Date()\n });\n\n const updateResponse = useCallback((questionId: number, answer: string | number[]) => {\n setFormState(prev => ({\n ...prev,\n responses: {\n ...prev.responses,\n [questionId]: answer\n }\n }));\n }, []);\n\n const navigateToStep = useCallback((stepOrder: number) => {\n setFormState(prev => ({\n ...prev,\n currentStep: stepOrder\n }));\n }, []);\n\n const nextStep = useCallback(() => {\n if (formState.currentStep < lastStepIndex) {\n navigateToStep(formState.currentStep + 1);\n } else {\n const completedFormState = {\n ...formState,\n completedAt: new Date()\n };\n onComplete(completedFormState);\n }\n }, [formState, lastStepIndex, navigateToStep, onComplete]);\n\n const previousStep = useCallback(() => {\n if (formState.currentStep > 0) {\n navigateToStep(formState.currentStep - 1);\n }\n }, [formState.currentStep, navigateToStep]);\n return (\n <div\n className=\"flex flex-col justify-center items-center absolute inset-0 bg-overlay-background-default-light dark:bg-overlay-background-default-dark\"\n style={{ zIndex }}\n >\n <Step\n step={formState.currentStep}\n form={form}\n formState={formState}\n onDismiss={onDismiss}\n onNextStep={nextStep}\n onPreviousStep={previousStep}\n onUpdateResponse={updateResponse}\n />\n </div>\n );\n};\n","import * as a from \"react\";\nconst e = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M228,104a12,12,0,0,1-24,0V69l-59.51,59.51a12,12,0,0,1-17-17L187,52H152a12,12,0,0,1,0-24h64a12,12,0,0,1,12,12Zm-44,24a12,12,0,0,0-12,12v64H52V84h64a12,12,0,0,0,0-24H48A20,20,0,0,0,28,80V208a20,20,0,0,0,20,20H176a20,20,0,0,0,20-20V140A12,12,0,0,0,184,128Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\n \"path\",\n {\n d: \"M184,80V208a8,8,0,0,1-8,8H48a8,8,0,0,1-8-8V80a8,8,0,0,1,8-8H176A8,8,0,0,1,184,80Z\",\n opacity: \"0.2\"\n }\n ), /* @__PURE__ */ a.createElement(\"path\", { d: \"M224,104a8,8,0,0,1-16,0V59.32l-66.33,66.34a8,8,0,0,1-11.32-11.32L196.68,48H152a8,8,0,0,1,0-16h64a8,8,0,0,1,8,8Zm-40,24a8,8,0,0,0-8,8v72H48V80h72a8,8,0,0,0,0-16H48A16,16,0,0,0,32,80V208a16,16,0,0,0,16,16H176a16,16,0,0,0,16-16V136A8,8,0,0,0,184,128Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M192,136v72a16,16,0,0,1-16,16H48a16,16,0,0,1-16-16V80A16,16,0,0,1,48,64h72a8,8,0,0,1,0,16H48V208H176V136a8,8,0,0,1,16,0Zm32-96a8,8,0,0,0-8-8H152a8,8,0,0,0-5.66,13.66L172.69,72l-42.35,42.34a8,8,0,0,0,11.32,11.32L184,83.31l26.34,26.35A8,8,0,0,0,224,104Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M222,104a6,6,0,0,1-12,0V54.49l-69.75,69.75a6,6,0,0,1-8.48-8.48L201.51,46H152a6,6,0,0,1,0-12h64a6,6,0,0,1,6,6Zm-38,26a6,6,0,0,0-6,6v72a2,2,0,0,1-2,2H48a2,2,0,0,1-2-2V80a2,2,0,0,1,2-2h72a6,6,0,0,0,0-12H48A14,14,0,0,0,34,80V208a14,14,0,0,0,14,14H176a14,14,0,0,0,14-14V136A6,6,0,0,0,184,130Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M224,104a8,8,0,0,1-16,0V59.32l-66.33,66.34a8,8,0,0,1-11.32-11.32L196.68,48H152a8,8,0,0,1,0-16h64a8,8,0,0,1,8,8Zm-40,24a8,8,0,0,0-8,8v72H48V80h72a8,8,0,0,0,0-16H48A16,16,0,0,0,32,80V208a16,16,0,0,0,16,16H176a16,16,0,0,0,16-16V136A8,8,0,0,0,184,128Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(\"path\", { d: \"M220,104a4,4,0,0,1-8,0V49.66l-73.16,73.17a4,4,0,0,1-5.66-5.66L206.34,44H152a4,4,0,0,1,0-8h64a4,4,0,0,1,4,4Zm-36,28a4,4,0,0,0-4,4v72a4,4,0,0,1-4,4H48a4,4,0,0,1-4-4V80a4,4,0,0,1,4-4h72a4,4,0,0,0,0-8H48A12,12,0,0,0,36,80V208a12,12,0,0,0,12,12H176a12,12,0,0,0,12-12V136A4,4,0,0,0,184,132Z\" }))\n ]\n]);\nexport {\n e as default\n};\n","import * as e from \"react\";\nconst a = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M168.49,199.51a12,12,0,0,1-17,17l-80-80a12,12,0,0,1,0-17l80-80a12,12,0,0,1,17,17L97,128Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M160,48V208L80,128Z\", opacity: \"0.2\" }), /* @__PURE__ */ e.createElement(\"path\", { d: \"M163.06,40.61a8,8,0,0,0-8.72,1.73l-80,80a8,8,0,0,0,0,11.32l80,80A8,8,0,0,0,168,208V48A8,8,0,0,0,163.06,40.61ZM152,188.69,91.31,128,152,67.31Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M168,48V208a8,8,0,0,1-13.66,5.66l-80-80a8,8,0,0,1,0-11.32l80-80A8,8,0,0,1,168,48Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M164.24,203.76a6,6,0,1,1-8.48,8.48l-80-80a6,6,0,0,1,0-8.48l80-80a6,6,0,0,1,8.48,8.48L88.49,128Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M165.66,202.34a8,8,0,0,1-11.32,11.32l-80-80a8,8,0,0,1,0-11.32l80-80a8,8,0,0,1,11.32,11.32L91.31,128Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M162.83,205.17a4,4,0,0,1-5.66,5.66l-80-80a4,4,0,0,1,0-5.66l80-80a4,4,0,1,1,5.66,5.66L85.66,128Z\" }))\n ]\n]);\nexport {\n a as default\n};\n","import * as e from \"react\";\nconst t = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M184.49,136.49l-80,80a12,12,0,0,1-17-17L159,128,87.51,56.49a12,12,0,1,1,17-17l80,80A12,12,0,0,1,184.49,136.49Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M176,128,96,208V48Z\", opacity: \"0.2\" }), /* @__PURE__ */ e.createElement(\"path\", { d: \"M181.66,122.34l-80-80A8,8,0,0,0,88,48V208a8,8,0,0,0,13.66,5.66l80-80A8,8,0,0,0,181.66,122.34ZM104,188.69V67.31L164.69,128Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M181.66,133.66l-80,80A8,8,0,0,1,88,208V48a8,8,0,0,1,13.66-5.66l80,80A8,8,0,0,1,181.66,133.66Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M180.24,132.24l-80,80a6,6,0,0,1-8.48-8.48L167.51,128,91.76,52.24a6,6,0,0,1,8.48-8.48l80,80A6,6,0,0,1,180.24,132.24Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M181.66,133.66l-80,80a8,8,0,0,1-11.32-11.32L164.69,128,90.34,53.66a8,8,0,0,1,11.32-11.32l80,80A8,8,0,0,1,181.66,133.66Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M178.83,130.83l-80,80a4,4,0,0,1-5.66-5.66L170.34,128,93.17,50.83a4,4,0,0,1,5.66-5.66l80,80A4,4,0,0,1,178.83,130.83Z\" }))\n ]\n]);\nexport {\n t as default\n};\n","import * as e from \"react\";\nconst a = /* @__PURE__ */ new Map([\n [\n \"bold\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M208.49,191.51a12,12,0,0,1-17,17L128,145,64.49,208.49a12,12,0,0,1-17-17L111,128,47.51,64.49a12,12,0,0,1,17-17L128,111l63.51-63.52a12,12,0,0,1,17,17L145,128Z\" }))\n ],\n [\n \"duotone\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\n \"path\",\n {\n d: \"M216,56V200a16,16,0,0,1-16,16H56a16,16,0,0,1-16-16V56A16,16,0,0,1,56,40H200A16,16,0,0,1,216,56Z\",\n opacity: \"0.2\"\n }\n ), /* @__PURE__ */ e.createElement(\"path\", { d: \"M205.66,194.34a8,8,0,0,1-11.32,11.32L128,139.31,61.66,205.66a8,8,0,0,1-11.32-11.32L116.69,128,50.34,61.66A8,8,0,0,1,61.66,50.34L128,116.69l66.34-66.35a8,8,0,0,1,11.32,11.32L139.31,128Z\" }))\n ],\n [\n \"fill\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM181.66,170.34a8,8,0,0,1-11.32,11.32L128,139.31,85.66,181.66a8,8,0,0,1-11.32-11.32L116.69,128,74.34,85.66A8,8,0,0,1,85.66,74.34L128,116.69l42.34-42.35a8,8,0,0,1,11.32,11.32L139.31,128Z\" }))\n ],\n [\n \"light\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M204.24,195.76a6,6,0,1,1-8.48,8.48L128,136.49,60.24,204.24a6,6,0,0,1-8.48-8.48L119.51,128,51.76,60.24a6,6,0,0,1,8.48-8.48L128,119.51l67.76-67.75a6,6,0,0,1,8.48,8.48L136.49,128Z\" }))\n ],\n [\n \"regular\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M205.66,194.34a8,8,0,0,1-11.32,11.32L128,139.31,61.66,205.66a8,8,0,0,1-11.32-11.32L116.69,128,50.34,61.66A8,8,0,0,1,61.66,50.34L128,116.69l66.34-66.35a8,8,0,0,1,11.32,11.32L139.31,128Z\" }))\n ],\n [\n \"thin\",\n /* @__PURE__ */ e.createElement(e.Fragment, null, /* @__PURE__ */ e.createElement(\"path\", { d: \"M202.83,197.17a4,4,0,0,1-5.66,5.66L128,133.66,58.83,202.83a4,4,0,0,1-5.66-5.66L122.34,128,53.17,58.83a4,4,0,0,1,5.66-5.66L128,122.34l69.17-69.17a4,4,0,1,1,5.66,5.66L133.66,128Z\" }))\n ]\n]);\nexport {\n a as default\n};\n","import { createContext as r } from \"react\";\nconst o = r({\n color: \"currentColor\",\n size: \"1em\",\n weight: \"regular\",\n mirrored: !1\n});\nexport {\n o as IconContext\n};\n","import * as e from \"react\";\nimport { IconContext as h } from \"./context.es.js\";\nconst p = e.forwardRef(\n (s, a) => {\n const {\n alt: n,\n color: r,\n size: t,\n weight: o,\n mirrored: c,\n children: i,\n weights: m,\n ...x\n } = s, {\n color: d = \"currentColor\",\n size: l,\n weight: f = \"regular\",\n mirrored: g = !1,\n ...w\n } = e.useContext(h);\n return /* @__PURE__ */ e.createElement(\n \"svg\",\n {\n ref: a,\n xmlns: \"http://www.w3.org/2000/svg\",\n width: t != null ? t : l,\n height: t != null ? t : l,\n fill: r != null ? r : d,\n viewBox: \"0 0 256 256\",\n transform: c || g ? \"scale(-1, 1)\" : void 0,\n ...w,\n ...x\n },\n !!n && /* @__PURE__ */ e.createElement(\"title\", null, n),\n i,\n m.get(o != null ? o : f)\n );\n }\n);\np.displayName = \"IconBase\";\nexport {\n p as default\n};\n","import * as r from \"react\";\nimport a from \"../lib/IconBase.es.js\";\nimport m from \"../defs/ArrowSquareOut.es.js\";\nconst o = r.forwardRef((e, t) => /* @__PURE__ */ r.createElement(a, { ref: t, ...e, weights: m }));\no.displayName = \"ArrowSquareOutIcon\";\nconst n = o;\nexport {\n n as ArrowSquareOut,\n o as ArrowSquareOutIcon\n};\n","import * as e from \"react\";\nimport a from \"../lib/IconBase.es.js\";\nimport f from \"../defs/CaretLeft.es.js\";\nconst t = e.forwardRef((o, r) => /* @__PURE__ */ e.createElement(a, { ref: r, ...o, weights: f }));\nt.displayName = \"CaretLeftIcon\";\nconst s = t;\nexport {\n s as CaretLeft,\n t as CaretLeftIcon\n};\n","import * as t from \"react\";\nimport a from \"../lib/IconBase.es.js\";\nimport i from \"../defs/CaretRight.es.js\";\nconst e = t.forwardRef((o, r) => /* @__PURE__ */ t.createElement(a, { ref: r, ...o, weights: i }));\ne.displayName = \"CaretRightIcon\";\nconst s = e;\nexport {\n s as CaretRight,\n e as CaretRightIcon\n};\n","import * as o from \"react\";\nimport a from \"../lib/IconBase.es.js\";\nimport m from \"../defs/X.es.js\";\nconst e = o.forwardRef((r, t) => /* @__PURE__ */ o.createElement(a, { ref: t, ...r, weights: m }));\ne.displayName = \"XIcon\";\nconst n = e;\nexport {\n n as X,\n e as XIcon\n};\n","import Z2, { useState as $, useRef as p2, useEffect as t2, Fragment as Y2 } from \"react\";\nimport { IconContext as z, CaretDownIcon as B0, XIcon as K2, MagnifyingGlassIcon as T0, CheckIcon as z2, CopyIcon as L0 } from \"@phosphor-icons/react\";\nvar a2 = { exports: {} }, Y = {};\n/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nvar S2;\nfunction D0() {\n if (S2) return Y;\n S2 = 1;\n var a = Z2, t = Symbol.for(\"react.element\"), i = Symbol.for(\"react.fragment\"), n = Object.prototype.hasOwnProperty, u = a.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, x = { key: !0, ref: !0, __self: !0, __source: !0 };\n function o(g, d, E) {\n var k, w = {}, _ = null, H = null;\n E !== void 0 && (_ = \"\" + E), d.key !== void 0 && (_ = \"\" + d.key), d.ref !== void 0 && (H = d.ref);\n for (k in d) n.call(d, k) && !x.hasOwnProperty(k) && (w[k] = d[k]);\n if (g && g.defaultProps) for (k in d = g.defaultProps, d) w[k] === void 0 && (w[k] = d[k]);\n return { $$typeof: t, type: g, key: _, ref: H, props: w, _owner: u.current };\n }\n return Y.Fragment = i, Y.jsx = o, Y.jsxs = o, Y;\n}\nvar K = {};\n/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nvar I2;\nfunction R0() {\n return I2 || (I2 = 1, process.env.NODE_ENV !== \"production\" && (function() {\n var a = Z2, t = Symbol.for(\"react.element\"), i = Symbol.for(\"react.portal\"), n = Symbol.for(\"react.fragment\"), u = Symbol.for(\"react.strict_mode\"), x = Symbol.for(\"react.profiler\"), o = Symbol.for(\"react.provider\"), g = Symbol.for(\"react.context\"), d = Symbol.for(\"react.forward_ref\"), E = Symbol.for(\"react.suspense\"), k = Symbol.for(\"react.suspense_list\"), w = Symbol.for(\"react.memo\"), _ = Symbol.for(\"react.lazy\"), H = Symbol.for(\"react.offscreen\"), P = Symbol.iterator, D = \"@@iterator\";\n function S(e) {\n if (e === null || typeof e != \"object\")\n return null;\n var c = P && e[P] || e[D];\n return typeof c == \"function\" ? c : null;\n }\n var V = a.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n function j(e) {\n {\n for (var c = arguments.length, s = new Array(c > 1 ? c - 1 : 0), f = 1; f < c; f++)\n s[f - 1] = arguments[f];\n G(\"error\", e, s);\n }\n }\n function G(e, c, s) {\n {\n var f = V.ReactDebugCurrentFrame, y = f.getStackAddendum();\n y !== \"\" && (c += \"%s\", s = s.concat([y]));\n var C = s.map(function(h) {\n return String(h);\n });\n C.unshift(\"Warning: \" + c), Function.prototype.apply.call(console[e], console, C);\n }\n }\n var J = !1, i2 = !1, c2 = !1, F = !1, I = !1, X;\n X = Symbol.for(\"react.module.reference\");\n function X2(e) {\n return !!(typeof e == \"string\" || typeof e == \"function\" || e === n || e === x || I || e === u || e === E || e === k || F || e === H || J || i2 || c2 || typeof e == \"object\" && e !== null && (e.$$typeof === _ || e.$$typeof === w || e.$$typeof === o || e.$$typeof === g || e.$$typeof === d || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n e.$$typeof === X || e.getModuleId !== void 0));\n }\n function Q2(e, c, s) {\n var f = e.displayName;\n if (f)\n return f;\n var y = c.displayName || c.name || \"\";\n return y !== \"\" ? s + \"(\" + y + \")\" : s;\n }\n function y2(e) {\n return e.displayName || \"Context\";\n }\n function A(e) {\n if (e == null)\n return null;\n if (typeof e.tag == \"number\" && j(\"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"), typeof e == \"function\")\n return e.displayName || e.name || null;\n if (typeof e == \"string\")\n return e;\n switch (e) {\n case n:\n return \"Fragment\";\n case i:\n return \"Portal\";\n case x:\n return \"Profiler\";\n case u:\n return \"StrictMode\";\n case E:\n return \"Suspense\";\n case k:\n return \"SuspenseList\";\n }\n if (typeof e == \"object\")\n switch (e.$$typeof) {\n case g:\n var c = e;\n return y2(c) + \".Consumer\";\n case o:\n var s = e;\n return y2(s._context) + \".Provider\";\n case d:\n return Q2(e, e.render, \"ForwardRef\");\n case w:\n var f = e.displayName || null;\n return f !== null ? f : A(e.type) || \"Memo\";\n case _: {\n var y = e, C = y._payload, h = y._init;\n try {\n return A(h(C));\n } catch {\n return null;\n }\n }\n }\n return null;\n }\n var N = Object.assign, W = 0, C2, b2, k2, v2, m2, w2, j2;\n function E2() {\n }\n E2.__reactDisabledLog = !0;\n function e0() {\n {\n if (W === 0) {\n C2 = console.log, b2 = console.info, k2 = console.warn, v2 = console.error, m2 = console.group, w2 = console.groupCollapsed, j2 = console.groupEnd;\n var e = {\n configurable: !0,\n enumerable: !0,\n value: E2,\n writable: !0\n };\n Object.defineProperties(console, {\n info: e,\n log: e,\n warn: e,\n error: e,\n group: e,\n groupCollapsed: e,\n groupEnd: e\n });\n }\n W++;\n }\n }\n function r0() {\n {\n if (W--, W === 0) {\n var e = {\n configurable: !0,\n enumerable: !0,\n writable: !0\n };\n Object.defineProperties(console, {\n log: N({}, e, {\n value: C2\n }),\n info: N({}, e, {\n value: b2\n }),\n warn: N({}, e, {\n value: k2\n }),\n error: N({}, e, {\n value: v2\n }),\n group: N({}, e, {\n value: m2\n }),\n groupCollapsed: N({}, e, {\n value: w2\n }),\n groupEnd: N({}, e, {\n value: j2\n })\n });\n }\n W < 0 && j(\"disabledDepth fell below zero. This is a bug in React. Please file an issue.\");\n }\n }\n var n2 = V.ReactCurrentDispatcher, s2;\n function Q(e, c, s) {\n {\n if (s2 === void 0)\n try {\n throw Error();\n } catch (y) {\n var f = y.stack.trim().match(/\\n( *(at )?)/);\n s2 = f && f[1] || \"\";\n }\n return `\n` + s2 + e;\n }\n }\n var o2 = !1, e2;\n {\n var l0 = typeof WeakMap == \"function\" ? WeakMap : Map;\n e2 = new l0();\n }\n function F2(e, c) {\n if (!e || o2)\n return \"\";\n {\n var s = e2.get(e);\n if (s !== void 0)\n return s;\n }\n var f;\n o2 = !0;\n var y = Error.prepareStackTrace;\n Error.prepareStackTrace = void 0;\n var C;\n C = n2.current, n2.current = null, e0();\n try {\n if (c) {\n var h = function() {\n throw Error();\n };\n if (Object.defineProperty(h.prototype, \"props\", {\n set: function() {\n throw Error();\n }\n }), typeof Reflect == \"object\" && Reflect.construct) {\n try {\n Reflect.construct(h, []);\n } catch (L) {\n f = L;\n }\n Reflect.construct(e, [], h);\n } else {\n try {\n h.call();\n } catch (L) {\n f = L;\n }\n e.call(h.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (L) {\n f = L;\n }\n e();\n }\n } catch (L) {\n if (L && f && typeof L.stack == \"string\") {\n for (var p = L.stack.split(`\n`), B = f.stack.split(`\n`), v = p.length - 1, m = B.length - 1; v >= 1 && m >= 0 && p[v] !== B[m]; )\n m--;\n for (; v >= 1 && m >= 0; v--, m--)\n if (p[v] !== B[m]) {\n if (v !== 1 || m !== 1)\n do\n if (v--, m--, m < 0 || p[v] !== B[m]) {\n var R = `\n` + p[v].replace(\" at new \", \" at \");\n return e.displayName && R.includes(\"<anonymous>\") && (R = R.replace(\"<anonymous>\", e.displayName)), typeof e == \"function\" && e2.set(e, R), R;\n }\n while (v >= 1 && m >= 0);\n break;\n }\n }\n } finally {\n o2 = !1, n2.current = C, r0(), Error.prepareStackTrace = y;\n }\n var q = e ? e.displayName || e.name : \"\", O = q ? Q(q) : \"\";\n return typeof e == \"function\" && e2.set(e, O), O;\n }\n function a0(e, c, s) {\n return F2(e, !1);\n }\n function t0(e) {\n var c = e.prototype;\n return !!(c && c.isReactComponent);\n }\n function r2(e, c, s) {\n if (e == null)\n return \"\";\n if (typeof e == \"function\")\n return F2(e, t0(e));\n if (typeof e == \"string\")\n return Q(e);\n switch (e) {\n case E:\n return Q(\"Suspense\");\n case k:\n return Q(\"SuspenseList\");\n }\n if (typeof e == \"object\")\n switch (e.$$typeof) {\n case d:\n return a0(e.render);\n case w:\n return r2(e.type);\n case _: {\n var f = e, y = f._payload, C = f._init;\n try {\n return r2(C(y));\n } catch {\n }\n }\n }\n return \"\";\n }\n var Z = Object.prototype.hasOwnProperty, _2 = {}, B2 = V.ReactDebugCurrentFrame;\n function l2(e) {\n if (e) {\n var c = r2(e.type);\n B2.setExtraStackFrame(c);\n } else\n B2.setExtraStackFrame(null);\n }\n function i0(e, c, s, f, y) {\n {\n var C = Function.call.bind(Z);\n for (var h in e)\n if (C(e, h)) {\n var p = void 0;\n try {\n if (typeof e[h] != \"function\") {\n var B = Error((f || \"React class\") + \": \" + s + \" type `\" + h + \"` is invalid; it must be a function, usually from the `prop-types` package, but received `\" + typeof e[h] + \"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");\n throw B.name = \"Invariant Violation\", B;\n }\n p = e[h](c, h, f, s, null, \"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\");\n } catch (v) {\n p = v;\n }\n p && !(p instanceof Error) && (l2(y), j(\"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\", f || \"React class\", s, h, typeof p), l2(null)), p instanceof Error && !(p.message in _2) && (_2[p.message] = !0, l2(y), j(\"Failed %s type: %s\", s, p.message), l2(null));\n }\n }\n }\n var c0 = Array.isArray;\n function d2(e) {\n return c0(e);\n }\n function n0(e) {\n {\n var c = typeof Symbol == \"function\" && Symbol.toStringTag, s = c && e[Symbol.toStringTag] || e.constructor.name || \"Object\";\n return s;\n }\n }\n function s0(e) {\n try {\n return !1;\n } catch {\n return !0;\n }\n }\n function o0(e) {\n return \"\" + e;\n }\n function T2(e) {\n if (s0())\n return j(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\", n0(e)), o0(e);\n }\n var d0 = V.ReactCurrentOwner, u0 = {\n key: !0,\n ref: !0,\n __self: !0,\n __source: !0\n }, L2, D2;\n function x0(e) {\n if (Z.call(e, \"ref\")) {\n var c = Object.getOwnPropertyDescriptor(e, \"ref\").get;\n if (c && c.isReactWarning)\n return !1;\n }\n return e.ref !== void 0;\n }\n function g0(e) {\n if (Z.call(e, \"key\")) {\n var c = Object.getOwnPropertyDescriptor(e, \"key\").get;\n if (c && c.isReactWarning)\n return !1;\n }\n return e.key !== void 0;\n }\n function f0(e, c) {\n {\n var s = function() {\n L2 || (L2 = !0, j(\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\", c));\n };\n s.isReactWarning = !0, Object.defineProperty(e, \"key\", {\n get: s,\n configurable: !0\n });\n }\n }\n function p0(e, c) {\n {\n var s = function() {\n D2 || (D2 = !0, j(\"%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\", c));\n };\n s.isReactWarning = !0, Object.defineProperty(e, \"ref\", {\n get: s,\n configurable: !0\n });\n }\n }\n var h0 = function(e, c, s, f, y, C, h) {\n var p = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: t,\n // Built-in properties that belong on the element\n type: e,\n key: c,\n ref: s,\n props: h,\n // Record the component responsible for creating this element.\n _owner: C\n };\n return p._store = {}, Object.defineProperty(p._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: !1\n }), Object.defineProperty(p, \"_self\", {\n configurable: !1,\n enumerable: !1,\n writable: !1,\n value: f\n }), Object.defineProperty(p, \"_source\", {\n configurable: !1,\n enumerable: !1,\n writable: !1,\n value: y\n }), Object.freeze && (Object.freeze(p.props), Object.freeze(p)), p;\n };\n function y0(e, c, s, f, y) {\n {\n var C, h = {}, p = null, B = null;\n s !== void 0 && (T2(s), p = \"\" + s), g0(c) && (T2(c.key), p = \"\" + c.key), x0(c) && (B = c.ref);\n for (C in c)\n Z.call(c, C) && !u0.hasOwnProperty(C) && (h[C] = c[C]);\n if (e && e.defaultProps) {\n var v = e.defaultProps;\n for (C in v)\n h[C] === void 0 && (h[C] = v[C]);\n }\n if (p || B) {\n var m = typeof e == \"function\" ? e.displayName || e.name || \"Unknown\" : e;\n p && f0(h, m), B && p0(h, m);\n }\n return h0(e, p, B, y, f, d0.current, h);\n }\n }\n var u2 = V.ReactCurrentOwner, R2 = V.ReactDebugCurrentFrame;\n function M(e) {\n if (e) {\n var c = r2(e.type);\n R2.setExtraStackFrame(c);\n } else\n R2.setExtraStackFrame(null);\n }\n var x2;\n x2 = !1;\n function g2(e) {\n return typeof e == \"object\" && e !== null && e.$$typeof === t;\n }\n function H2() {\n {\n if (u2.current) {\n var e = A(u2.current.type);\n if (e)\n return `\n\nCheck the render method of \\`` + e + \"`.\";\n }\n return \"\";\n }\n }\n function C0(e) {\n return \"\";\n }\n var P2 = {};\n function b0(e) {\n {\n var c = H2();\n if (!c) {\n var s = typeof e == \"string\" ? e : e.displayName || e.name;\n s && (c = `\n\nCheck the top-level render call using <` + s + \">.\");\n }\n return c;\n }\n }\n function V2(e, c) {\n {\n if (!e._store || e._store.validated || e.key != null)\n return;\n e._store.validated = !0;\n var s = b0(c);\n if (P2[s])\n return;\n P2[s] = !0;\n var f = \"\";\n e && e._owner && e._owner !== u2.current && (f = \" It was passed a child from \" + A(e._owner.type) + \".\"), M(e), j('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.', s, f), M(null);\n }\n }\n function A2(e, c) {\n {\n if (typeof e != \"object\")\n return;\n if (d2(e))\n for (var s = 0; s < e.length; s++) {\n var f = e[s];\n g2(f) && V2(f, c);\n }\n else if (g2(e))\n e._store && (e._store.validated = !0);\n else if (e) {\n var y = S(e);\n if (typeof y == \"function\" && y !== e.entries)\n for (var C = y.call(e), h; !(h = C.next()).done; )\n g2(h.value) && V2(h.value, c);\n }\n }\n }\n function k0(e) {\n {\n var c = e.type;\n if (c == null || typeof c == \"string\")\n return;\n var s;\n if (typeof c == \"function\")\n s = c.propTypes;\n else if (typeof c == \"object\" && (c.$$typeof === d || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n c.$$typeof === w))\n s = c.propTypes;\n else\n return;\n if (s) {\n var f = A(c);\n i0(s, e.props, \"prop\", f, e);\n } else if (c.PropTypes !== void 0 && !x2) {\n x2 = !0;\n var y = A(c);\n j(\"Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?\", y || \"Unknown\");\n }\n typeof c.getDefaultProps == \"function\" && !c.getDefaultProps.isReactClassApproved && j(\"getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.\");\n }\n }\n function v0(e) {\n {\n for (var c = Object.keys(e.props), s = 0; s < c.length; s++) {\n var f = c[s];\n if (f !== \"children\" && f !== \"key\") {\n M(e), j(\"Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.\", f), M(null);\n break;\n }\n }\n e.ref !== null && (M(e), j(\"Invalid attribute `ref` supplied to `React.Fragment`.\"), M(null));\n }\n }\n var N2 = {};\n function O2(e, c, s, f, y, C) {\n {\n var h = X2(e);\n if (!h) {\n var p = \"\";\n (e === void 0 || typeof e == \"object\" && e !== null && Object.keys(e).length === 0) && (p += \" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.\");\n var B = C0();\n B ? p += B : p += H2();\n var v;\n e === null ? v = \"null\" : d2(e) ? v = \"array\" : e !== void 0 && e.$$typeof === t ? (v = \"<\" + (A(e.type) || \"Unknown\") + \" />\", p = \" Did you accidentally export a JSX literal instead of a component?\") : v = typeof e, j(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\", v, p);\n }\n var m = y0(e, c, s, y, C);\n if (m == null)\n return m;\n if (h) {\n var R = c.children;\n if (R !== void 0)\n if (f)\n if (d2(R)) {\n for (var q = 0; q < R.length; q++)\n A2(R[q], e);\n Object.freeze && Object.freeze(R);\n } else\n j(\"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.\");\n else\n A2(R, e);\n }\n if (Z.call(c, \"key\")) {\n var O = A(e), L = Object.keys(c).filter(function(_0) {\n return _0 !== \"key\";\n }), f2 = L.length > 0 ? \"{key: someKey, \" + L.join(\": ..., \") + \": ...}\" : \"{key: someKey}\";\n if (!N2[O + f2]) {\n var F0 = L.length > 0 ? \"{\" + L.join(\": ..., \") + \": ...}\" : \"{}\";\n j(`A props object containing a \"key\" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />`, f2, O, F0, O), N2[O + f2] = !0;\n }\n }\n return e === n ? v0(m) : k0(m), m;\n }\n }\n function m0(e, c, s) {\n return O2(e, c, s, !0);\n }\n function w0(e, c, s) {\n return O2(e, c, s, !1);\n }\n var j0 = w0, E0 = m0;\n K.Fragment = n, K.jsx = j0, K.jsxs = E0;\n })()), K;\n}\nvar M2;\nfunction H0() {\n return M2 || (M2 = 1, process.env.NODE_ENV === \"production\" ? a2.exports = /* @__PURE__ */ D0() : a2.exports = /* @__PURE__ */ R0()), a2.exports;\n}\nvar r = /* @__PURE__ */ H0();\nconst G2 = ({\n variant: a = \"primary\",\n size: t = \"medium\",\n text: i,\n iconBefore: n,\n iconAfter: u,\n className: x,\n disabled: o = !1,\n ...g\n}) => /* @__PURE__ */ r.jsx(\n \"button\",\n {\n className: b(\n \"flex gap-2 justify-center items-center rounded-lg disabled:pointer-events-none\",\n P0(a),\n V0(t),\n x\n ),\n disabled: o,\n ...g,\n children: /* @__PURE__ */ r.jsxs(\n z.Provider,\n {\n value: {\n size: t === \"xsmall\" ? 8 : 16,\n weight: \"regular\",\n className: b(q2(a, o))\n },\n children: [\n n && n,\n i && /* @__PURE__ */ r.jsx(\"span\", { className: b(q2(a, o), A0(t)), children: i }),\n u && u\n ]\n }\n )\n }\n), P0 = (a) => {\n switch (a) {\n case \"primary\":\n return \"border border-grey-0/0 bg-primary-action-button-light dark:bg-primary-action-button-dark hover:bg-primary-action-button-hover-light dark:hover:bg-primary-action-button-hover-dark disabled:bg-primary-action-disabled-light dark:disabled:bg-primary-action-disabled-dark\";\n case \"secondary\":\n return \"border border-grey-0/0 bg-secondary-action-base-light dark:bg-secondary-action-base-dark hover:bg-system-neutral-grey-8-light dark:hover:bg-system-neutral-grey-8-dark disabled:bg-secondary-action-disabled-light dark:disabled:bg-secondary-action-disabled-dark\";\n case \"neutral\":\n return \"border border-separator-regular-light dark:border-separator-regular-dark hover:bg-background-universal-overlay-light dark:hover:bg-background-universal-overlay-dark disabled:bg-secondary-action-disabled-light dark:disabled:bg-secondary-action-disabled-dark disabled:border-separator-opaque-light dark:disabled:border-separator-opaque-dark\";\n case \"subtle\":\n return \"border border-grey-0/0 hover:bg-background-universal-overlay-light dark:hover:bg-background-universal-overlay-dark\";\n }\n}, q2 = (a, t) => {\n if (t) return \"text-label-tertiary-light dark:text-label-tertiary-dark\";\n switch (a) {\n case \"primary\":\n return \"text-nonadaptable-text-light\";\n case \"secondary\":\n return \"text-label-quaternary-light dark:text-label-quaternary-dark\";\n case \"neutral\":\n return \"text-label-primary-light dark:text-label-primary-dark\";\n case \"subtle\":\n return \"text-label-primary-light dark:text-label-primary-dark\";\n }\n}, V0 = (a) => {\n switch (a) {\n case \"xsmall\":\n return \"p-1\";\n case \"small\":\n return \"p-2\";\n case \"medium\":\n return \"p-3\";\n }\n}, A0 = (a) => {\n switch (a) {\n case \"xsmall\":\n return \"text-[10px] leading-[14px]\";\n case \"small\":\n return \"text-[13px] leading-[14px]\";\n case \"medium\":\n return \"text-[15px] leading-[16px] -tracking-0,1\";\n }\n}, $2 = ({ text: a, active: t = !1 }) => /* @__PURE__ */ r.jsx(\n \"div\",\n {\n className: b(\n \"flex p-2 rounded-lg hover:bg-background-universal-overlay-light dark:hover:bg-background-universal-overlay-dark\",\n t && \"bg-background-universal-overlay-light dark:bg-background-universal-overlay-dark\"\n ),\n children: /* @__PURE__ */ r.jsx(T, { variant: \"B2Button\", children: a })\n }\n), N0 = ({ text: a, selected: t, significance: i, onClick: n }) => /* @__PURE__ */ r.jsx(\n \"button\",\n {\n onClick: n,\n className: b(\n \"flex items-center p-2 border border-grey-0/0\",\n t && \"border-b-label-primary-light dark:border-b-label-primary-dark\"\n ),\n children: /* @__PURE__ */ r.jsx(T, { variant: \"B2Button\", significance: i, children: a })\n }\n), Q0 = ({\n variant: a = \"primary\",\n size: t = \"medium\",\n text: i,\n iconBefore: n,\n iconAfter: u,\n className: x,\n disabled: o = !1,\n ...g\n}) => {\n const d = !i && (!!n || !!u);\n return /* @__PURE__ */ r.jsx(\n \"button\",\n {\n className: b(\n \"flex gap-2 justify-center items-center group\",\n O0(a),\n S0(t),\n {\n \"rounded-full\": d,\n \"rounded-md\": !d\n },\n x\n ),\n disabled: o,\n ...g,\n children: /* @__PURE__ */ r.jsx(r.Fragment, { children: /* @__PURE__ */ r.jsxs(\n z.Provider,\n {\n value: {\n size: t === \"xsmall\" ? 8 : 16,\n weight: \"regular\",\n className: b(U2(a), {\n \"[&]:text-label-tertiary-light [&]:dark:text-label-tertiary-dark [&]:group-hover:text-label-tertiary-light [&]:group-hover:dark:text-label-tertiary-dark\": o\n })\n },\n children: [\n n && n,\n i && /* @__PURE__ */ r.jsx(\n T,\n {\n variant: t === \"xsmall\" ? \"M\" : t === \"small\" ? \"B2Button\" : \"B1Button\",\n className: b(U2(a), {\n \"[&]:text-label-tertiary-light [&]:dark:text-label-tertiary-dark [&]:group-hover:text-label-tertiary-light [&]:group-hover:dark:text-label-tertiary-dark\": o\n }),\n children: i\n }\n ),\n u && u\n ]\n }\n ) })\n }\n );\n}, O0 = (a) => {\n switch (a) {\n case \"primary\":\n return \"bg-danger-background-light dark:bg-danger-background-dark hover:bg-danger-hover-light dark:hover:bg-danger-hover-dark disabled:bg-primary-action-disabled-light dark:disabled:bg-primary-action-disabled-dark disabled:border disabled:border-separator-opaque-light dark:disabled:border-separator-opaque-dark\";\n case \"subtle\":\n return \"hover:bg-danger-background-light dark:hover:bg-danger-background-dark border border-[rgba(255,255,255,0.0)] hover:border-danger-accessible-light hover:dark:border-danger-accessible-dark disabled:bg-secondary-action-disabled-light dark:disabled:bg-secondary-action-disabled-dark disabled:border-separator-opaque-light dark:disabled:border-separator-opaque-dark\";\n }\n}, U2 = (a) => {\n switch (a) {\n case \"primary\":\n return \"[&]:text-danger-accessible-light [&]:dark:text-danger-accessible-dark group-hover:text-label-quaternary-light dark:group-hover:text-label-quaternary-dark\";\n case \"subtle\":\n return \"[&]:text-danger-accessible-light [&]:dark:text-danger-accessible-dark\";\n }\n}, S0 = (a) => {\n switch (a) {\n case \"xsmall\":\n return \"p-1\";\n case \"small\":\n return \"p-2\";\n case \"medium\":\n return \"p-3\";\n }\n}, ee = ({\n label: a,\n selectedKey: t,\n setSelectedKey: i,\n options: n\n}) => {\n const u = n.find((d) => d.key === t), [x, o] = $(!1), { ref: g } = h2({\n isActive: x,\n onDismiss: () => o(!1)\n });\n return /* @__PURE__ */ r.jsxs(\"div\", { ref: g, className: \"flex flex-col gap-3 pt-4 pb-6\", children: [\n a && /* @__PURE__ */ r.jsx(\n \"div\",\n {\n onClick: () => o(!x),\n \"aria-expanded\": x,\n \"aria-controls\": \"dropdown-menu\",\n role: \"label\",\n className: \"flex cursor-pointer\",\n children: /* @__PURE__ */ r.jsx(T, { variant: \"H4\", children: a })\n }\n ),\n /* @__PURE__ */ r.jsxs(\"div\", { className: \"flex flex-col\", children: [\n /* @__PURE__ */ r.jsxs(\n \"button\",\n {\n role: \"button\",\n \"aria-expanded\": x,\n \"aria-controls\": \"dropdown-menu\",\n onClick: () => o(!x),\n className: \"flex items-center gap-2 justify-between px-2 py-3 border rounded-lg border-separator-regular-light dark:border-separator-regular-dark\",\n children: [\n /* @__PURE__ */ r.jsx(T, { variant: \"B1Button\", children: u == null ? void 0 : u.value }),\n /* @__PURE__ */ r.jsx(B0, { size: 16 })\n ]\n }\n ),\n /* @__PURE__ */ r.jsx(\"div\", { className: \"flex flex-col relative\", children: x && /* @__PURE__ */ r.jsx(\"div\", { className: \"flex flex-col absolute w-full top-1 gap-2 px-2 py-3 shadow-lg rounded-lg z-10 backdrop-blur-xl bg-background-universal-overlay-light dark:bg-background-universal-overlay-dark border-separator-regular-light dark:border-separator-regular-dark\", children: n.map((d) => /* @__PURE__ */ r.jsx(\n \"button\",\n {\n role: \"option\",\n \"aria-selected\": d.key === t,\n \"aria-label\": d.value,\n \"aria-controls\": \"dropdown-menu\",\n \"aria-expanded\": x,\n className: b(\n \"flex items-center gap-2 py-1 px-2 rounded text-label-primary-light dark:text-label-primary-dark hover:bg-overlay-fill-default-light dark:hover:bg-overlay-fill-default-dark\",\n d.key === t && \"bg-overlay-fill-default-light dark:bg-overlay-fill-default-dark\"\n ),\n onClick: () => {\n i(d.key), o(!1);\n },\n children: /* @__PURE__ */ r.jsx(T, { variant: \"B2\", children: d.value })\n },\n d.key\n )) }) })\n ] })\n ] });\n};\nfunction J2(a) {\n var t, i, n = \"\";\n if (typeof a == \"string\" || typeof a == \"number\") n += a;\n else if (typeof a == \"object\") if (Array.isArray(a)) {\n var u = a.length;\n for (t = 0; t < u; t++) a[t] && (i = J2(a[t])) && (n && (n += \" \"), n += i);\n } else for (i in a) a[i] && (n && (n += \" \"), n += i);\n return n;\n}\nfunction I0() {\n for (var a, t, i = 0, n = \"\", u = arguments.length; i < u; i++) (a = arguments[i]) && (t = J2(a)) && (n && (n += \" \"), n += t);\n return n;\n}\nconst b = I0, T = ({ children: a, className: t, variant: i = \"B1\", significance: n = \"primary\", as: u }) => {\n const x = u ?? M0[i], o = U[i];\n return /* @__PURE__ */ r.jsx(x, { className: b(\"font-sans\", q0[n], t, o), children: a });\n}, U = {\n Di1: \"text-[72px] font-bold leading-[90px] -tracking-2,5\",\n Di2: \"text-[60px] font-bold leading-[72px] -tracking-2,0\",\n Di3: \"text-[48px] font-bold leading-[60px] -tracking-1,5\",\n T1: \"text-[40px] font-bold leading-[48px] -tracking-1,5\",\n T2: \"text-[32px] font-bold leading-[40px] -tracking-1\",\n T3: \"text-[24px] font-bold leading-[32px] -tracking-0,5\",\n H1: \"text-[24px] font-bold leading-[32px] -tracking-0,5\",\n H2: \"text-[20px] font-bold leading-[24px]\",\n H3: \"text-[15px] font-bold leading-[20px]\",\n H4: \"text-[13px] font-bold leading-[16px]\",\n B1B: \"text-[15px] font-bold leading-[24px] -tracking-0,1\",\n B1: \"text-[15px] leading-[24px] -tracking-0,1\",\n B1Button: \"text-[15px] leading-[16px] -tracking-0,1\",\n B2: \"text-[13px] leading-[20px]\",\n B2Button: \"text-[13px] leading-[16px]\",\n D1B: \"text-[12px] font-bold leading-[16px]\",\n D1: \"text-[12px] leading-[16px]\",\n M: \"text-[10px] leading-[16px]\"\n}, M0 = {\n Di1: \"h1\",\n Di2: \"h2\",\n Di3: \"h3\",\n T1: \"h1\",\n T2: \"h2\",\n T3: \"h3\",\n H1: \"h1\",\n H2: \"h2\",\n H3: \"h3\",\n H4: \"h4\",\n B1B: \"p\",\n B1: \"p\",\n B1Button: \"span\",\n B2: \"p\",\n B2Button: \"span\",\n D1B: \"p\",\n D1: \"p\",\n M: \"p\"\n}, q0 = {\n primary: \"text-label-primary-light dark:text-label-primary-dark\",\n secondary: \"text-label-secondary-light dark:text-label-secondary-dark\",\n tertiary: \"text-label-tertiary-light dark:text-label-tertiary-dark\",\n quaternary: \"text-label-quaternary-light dark:text-label-quaternary-dark\",\n placeholder: \"text-label-placeholder-light dark:text-label-placeholder-dark\",\n \"nonadaptable-text\": \"text-nonadaptable-text-light dark:text-nonadaptable-text-dark\",\n disabled: \"text-primary-action-disabled-light dark:text-primary-action-disabled-dark\"\n}, W2 = ({ children: a, className: t, variant: i = \"B1\", significance: n = \"primary\", as: u }) => {\n const x = u ?? U0[i], o = $0[i];\n return /* @__PURE__ */ r.jsx(x, { className: b(\"font-code\", W0[n], t, o), children: a });\n}, $0 = {\n B1B: \"text-[15px] font-bold leading-[24px]\",\n B1: \"text-[15px] leading-[24px]\",\n B1Button: \"text-[15px] leading-[16px]\",\n B2: \"text-[13px] leading-[20px]\",\n B2Button: \"text-[13px] leading-[16px]\"\n}, U0 = {\n B1B: \"p\",\n B1: \"p\",\n B1Button: \"span\",\n B2: \"p\",\n B2Button: \"span\"\n}, W0 = {\n primary: \"text-label-primary-light dark:text-label-primary-dark\",\n secondary: \"text-label-secondary-light dark:text-label-secondary-dark\",\n tertiary: \"text-label-tertiary-light dark:text-label-tertiary-dark\",\n quaternary: \"text-label-quaternary-light dark:text-label-quaternary-dark\",\n placeholder: \"text-label-placeholder-light dark:text-label-placeholder-dark\",\n \"nonadaptable-text\": \"text-nonadaptable-text-light dark:text-nonadaptable-text-dark\",\n disabled: \"text-primary-action-disabled-light dark:text-primary-action-disabled-dark\"\n}, re = ({ children: a, className: t, variant: i = \"H1B\", significance: n = \"primary\", as: u }) => {\n const x = u ?? Y0[i], o = Z0[i];\n return /* @__PURE__ */ r.jsx(x, { className: b(\"font-mc\", K0[n], t, o), children: a });\n}, Z0 = {\n Di1: \"text-[72px] font-semibold leading-[90px] -tracking-0,1\",\n Di2: \"text-[60px] font-semibold leading-[72px] -tracking-0,1\",\n Di3: \"text-[48px] font-semibold leading-[60px] -tracking-0,1\",\n T1: \"text-[40px] font-semibold leading-[48px]\",\n T2: \"text-[32px] font-semibold leading-[40px]\",\n T3: \"text-[24px] font-semibold leading-[32px]\",\n H1B: \"text-[24px] font-semibold leading-[32px]\",\n H1: \"text-[24px] font-medium leading-[32px]\",\n H2B: \"text-[20px] font-semibold leading-[24px]\",\n H2: \"text-[20px] font-medium leading-[24px]\",\n H3B: \"text-[15px] font-semibold leading-[20px]\",\n H3: \"text-[15px] font-medium leading-[20px]\"\n}, Y0 = {\n Di1: \"h1\",\n Di2: \"h2\",\n Di3: \"h3\",\n T1: \"h1\",\n T2: \"h2\",\n T3: \"h3\",\n H1: \"h1\",\n H1B: \"h1\",\n H2: \"h2\",\n H2B: \"h2\",\n H3: \"h3\",\n H3B: \"h3\"\n}, K0 = {\n primary: \"text-label-primary-light dark:text-label-primary-dark\",\n secondary: \"text-label-secondary-light dark:text-label-secondary-dark\",\n tertiary: \"text-label-tertiary-light dark:text-label-tertiary-dark\",\n quaternary: \"text-label-quaternary-light dark:text-label-quaternary-dark\",\n placeholder: \"text-label-placeholder-light dark:text-label-placeholder-dark\",\n \"nonadaptable-text\": \"text-nonadaptable-text-light dark:text-nonadaptable-text-dark\",\n disabled: \"text-primary-action-disabled-light dark:text-primary-action-disabled-dark\"\n}, le = ({\n textVariant: a = \"B1\",\n significance: t = \"primary\",\n placeholder: i,\n value: n,\n onSave: u,\n onCancel: x,\n onChange: o,\n initialState: g = \"view\",\n autoEdit: d = \"off\",\n saveOnBlur: E = !1\n}) => {\n const [k, w] = $(g === \"edit\"), _ = p2(null);\n t2(() => {\n var D, S;\n k && (d === \"on\" && ((D = _.current) == null || D.focus()), d === \"mark\" && ((S = _.current) == null || S.select()));\n }, [_, d, k]);\n const H = async () => {\n w(!1), await (u == null ? void 0 : u());\n }, P = (D) => {\n if (D.key === \"Enter\") {\n H();\n return;\n }\n if (D.key === \"Escape\") {\n w(!1), x == null || x();\n return;\n }\n };\n return /* @__PURE__ */ r.jsx(\"div\", { className: \"flex grow\", children: k ? /* @__PURE__ */ r.jsx(\n \"input\",\n {\n className: b(\n U[a],\n \"outline-none w-full\",\n `text-label-${t}-light dark:text-label-${t}-dark bg-transparent placeholder:text-label-placeholder-light dark:placeholder:text-label-placeholder-dark`\n ),\n value: n,\n onChange: (D) => {\n o == null || o(D.target.value);\n },\n onBlur: E ? H : void 0,\n onKeyUp: P,\n ref: _,\n placeholder: i\n }\n ) : /* @__PURE__ */ r.jsx(\"button\", { onClick: () => w(!0), children: /* @__PURE__ */ r.jsx(T, { variant: a, significance: t, children: n }) }) });\n}, ae = ({ placeholder: a, value: t, onChange: i, onClear: n, disabled: u, size: x = \"medium\" }) => {\n const o = x === \"small\" ? \"p-2\" : \"py-3 px-4\", g = \"text-label-primary-light dark:text-label-primary-dark placeholder:text-label-placeholder-light dark:placeholder:text-label-placeholder-dark disabled:text-primary-action-disabled-light dark:disabled:text-primary-action-disabled-dark\";\n return /* @__PURE__ */ r.jsxs(\n \"div\",\n {\n \"aria-disabled\": u,\n className: b(\n \"flex gap-2 rounded-lg border items-center\",\n o,\n \"border-separator-regular-light dark:border-separator-regular-dark\",\n \"bg-background-universal-overlay-light dark:bg-background-universal-overlay-dark\"\n ),\n children: [\n /* @__PURE__ */ r.jsx(\n \"input\",\n {\n type: \"text\",\n placeholder: a,\n value: t,\n onChange: (d) => i == null ? void 0 : i(d.target.value),\n disabled: u,\n className: b(\"flex-1 bg-transparent outline-none\", g, {\n [U.B1Button]: x === \"medium\",\n [U.B2Button]: x === \"small\"\n })\n }\n ),\n /* @__PURE__ */ r.jsx(\"button\", { onClick: n, disabled: u, className: g, children: t ? /* @__PURE__ */ r.jsx(K2, { size: 16 }) : /* @__PURE__ */ r.jsx(T0, { size: 16 }) })\n ]\n }\n );\n}, te = ({ options: a, onChange: t, selectedValue: i, size: n = \"small\", contrast: u = \"low\" }) => {\n const x = {\n small: {\n wrapper: \"p-[2px] rounded-[8px]\",\n icon: 16,\n button: \"h-[28px] w-[28px] rounded-[6px]\"\n },\n xsmall: {\n wrapper: \"p-[1.5px] rounded-[6px]\",\n icon: 12,\n button: \"h-[21px] w-[21px] rounded-[4.5px]\"\n },\n xxsmall: {\n wrapper: \"p-[1.25px] rounded-[5px]\",\n icon: 12,\n button: \"h-[17.5px] w-[17.5px] rounded-[3.75px]\"\n }\n }, o = u === \"high\" ? \"bg-secondary-action-base-light dark:bg-secondary-action-base-dark text-label-quaternary-light dark:text-label-quaternary-dark\" : \"bg-background-grouped-secondary-light dark:bg-background-grouped-secondary-dark text-label-primary-light dark:text-label-primary-dark\";\n return /* @__PURE__ */ r.jsx(\n \"div\",\n {\n className: b(\n \"flex bg-overlay-fill-alternative-light dark:bg-overlay-fill-alternative-dark\",\n x[n].wrapper\n ),\n children: a.map((g) => /* @__PURE__ */ r.jsx(\n \"button\",\n {\n onClick: () => t(g.value),\n className: b(\n \"flex items-center justify-center\",\n x[n].button,\n {\n [o]: g.value === i\n },\n {\n \"text-label-secondary-light dark:text-label-secondary-dark\": g.value !== i\n }\n ),\n children: /* @__PURE__ */ r.jsx(z.Provider, { value: { size: x[n].icon }, children: g.icon })\n },\n g.value\n ))\n }\n );\n}, ie = ({\n label: a,\n description: t,\n variant: i = \"medium\",\n className: n,\n inputClassName: u,\n value: x,\n rules: o = [],\n onUpdate: g,\n onBlur: d,\n onChange: E,\n labelOnlyForScreenReaders: k,\n disabled: w,\n autoEdit: _ = !1,\n ...H\n}) => {\n const [P, D] = $(x), [S, V] = $(!1), [j, G] = $([]), J = p2(null);\n t2(() => {\n var F;\n D(x), _ && ((F = J.current) == null || F.focus());\n }, [x, _]);\n const i2 = (F) => {\n const I = F.target.value;\n S && G(o.map((X) => X(I, a || \"\")).filter(Boolean)), D(I);\n }, c2 = () => {\n G(o.map((F) => F(P, a || \"\")).filter(Boolean)), V(!0);\n };\n return /* @__PURE__ */ r.jsxs(\"label\", { className: b(n, \"flex flex-col gap-2 grow\", k && \"sr-only\"), children: [\n a && /* @__PURE__ */ r.jsx(T, { variant: i === \"small\" ? \"B2\" : \"B1\", significance: w ? \"disabled\" : \"primary\", children: a }),\n t && /* @__PURE__ */ r.jsx(\n T,\n {\n significance: w ? \"disabled\" : \"secondary\",\n variant: i === \"small\" ? \"B2Button\" : \"B1Button\",\n children: t\n }\n ),\n /* @__PURE__ */ r.jsx(\n \"input\",\n {\n className: b(\n u,\n \"border-solid border focus:outline-none rounded-lg bg-background-primary-light dark:bg-background-primary-dark\",\n {\n \"px-4 py-3\": i === \"medium\",\n \"px-4 py-2\": i === \"small\",\n [U.B1Button]: i === \"medium\",\n [U.B2Button]: i === \"small\",\n \"text-label-primary-light dark:text-label-primary-dark\": !w,\n \"text-label-placeholder-light dark:text-label-placeholder-dark\": w,\n \"border-separator-opaque-light dark:border-separator-opaque-dark\": j.length === 0,\n \"border-danger-default-light dark:border-danger-default-dark\": j.length > 0\n }\n ),\n value: P,\n onChange: (F) => {\n i2(F), E == null || E(F);\n },\n onBlur: (F) => {\n c2(), g == null || g(P), d == null || d(F);\n },\n onMouseUp: (F) => F.preventDefault(),\n ref: J,\n ...H\n }\n ),\n j.map((F, I) => /* @__PURE__ */ r.jsx(\n T,\n {\n as: \"p\",\n variant: i === \"small\" ? \"B2Button\" : \"B1Button\",\n significance: w ? \"disabled\" : \"primary\",\n children: F\n },\n I\n ))\n ] });\n}, ce = ({\n isOn: a,\n onChange: t,\n size: i = \"medium\",\n onBackgroundColor: n,\n offIcon: u,\n onIcon: x,\n ariaLabel: o\n}) => {\n const g = n || \"bg-overlay-fill-alternative-light\", d = {\n medium: {\n wrapper: \"h-[40px] w-[65px] p-[2.5px] rounded-[10px]\",\n icon: 20,\n button: \"h-[35px] w-[35px] rounded-[7.5px]\",\n translateX: \"translate-x-[25px]\"\n },\n small: {\n wrapper: \"h-[32px] w-[52px] p-[2px] rounded-[8px]\",\n icon: 16,\n button: \"h-[28px] w-[28px] rounded-[6px]\",\n translateX: \"translate-x-[20px]\"\n },\n xsmall: {\n wrapper: \"h-[24px] w-[39px] p-[1.5px] rounded-[6px]\",\n icon: 12,\n button: \"h-[21px] w-[21px] rounded-[4.5px]\",\n translateX: \"translate-x-[15px]\"\n },\n xxsmall: {\n wrapper: \"h-[20px] w-[32.5px] p-[1.5px] rounded-[5px]\",\n icon: 10,\n button: \"h-[17.5px] w-[17.5px] rounded-[3.75px]\",\n translateX: \"translate-x-[12px]\"\n }\n };\n return /* @__PURE__ */ r.jsx(\"div\", { className: \"flex items-center\", children: /* @__PURE__ */ r.jsx(\n \"div\",\n {\n className: b(\n \"transition-colors duration-300 ease-in-out flex items-center\",\n d[i].wrapper,\n {\n [g]: a\n },\n {\n \"bg-overlay-fill-alternative-light\": !a\n }\n ),\n children: /* @__PURE__ */ r.jsx(\n \"button\",\n {\n onClick: () => {\n t(!a);\n },\n \"aria-label\": o,\n className: b(\n \"flex transition-transform duration-300 ease-in-out items-center justify-center text-nonadaptable-text-dark bg-nonadaptable-text-light\",\n d[i].button,\n {\n [`${d[i].translateX} `]: a\n }\n ),\n children: /* @__PURE__ */ r.jsxs(z.Provider, { value: { size: d[i].icon }, children: [\n x && a && x,\n u && !a && u\n ] })\n }\n )\n }\n ) });\n}, ne = ({\n options: a,\n selectedFirst: t,\n selectedSecond: i,\n onSelectedFirst: n,\n onSelectedSecond: u,\n onClear: x\n}) => /* @__PURE__ */ r.jsxs(\"div\", { className: \"flex gap-3 py-3\", children: [\n t && /* @__PURE__ */ r.jsx(G2, { variant: \"neutral\", size: \"small\", iconAfter: /* @__PURE__ */ r.jsx(K2, {}), onClick: x }),\n t ? a.filter((o) => o.key === t.key).map((o) => /* @__PURE__ */ r.jsxs(Y2, { children: [\n /* @__PURE__ */ r.jsx($2, { text: o.value, active: !0 }),\n o.options.map((g) => /* @__PURE__ */ r.jsx(\n N0,\n {\n onClick: () => u(g),\n selected: (i == null ? void 0 : i.key) == g.key,\n text: g.value,\n significance: (i == null ? void 0 : i.key) == g.key || !i ? \"primary\" : \"secondary\"\n },\n g.key\n ))\n ] }, o.key)) : a.map((o) => /* @__PURE__ */ r.jsx(\"button\", { onClick: () => n(o), children: /* @__PURE__ */ r.jsx($2, { text: o.value }) }, o.key))\n] }), se = ({ groups: a, align: t = \"left\", onDismiss: i, grow: n = !1 }) => {\n const u = a.some((o) => o.items.some((g) => g.selected)), { ref: x } = h2({\n isActive: !!i,\n onDismiss: () => i == null ? void 0 : i(),\n includeEscape: !0\n });\n return /* @__PURE__ */ r.jsx(\"div\", { ref: x, className: b(\"relative\", { \"flex flex-col grow\": n }), children: /* @__PURE__ */ r.jsx(\n \"div\",\n {\n className: b(\n \"absolute top-1 shadow-lg p-4 rounded-lg z-10 backdrop-blur-xl bg-background-universal-overlay-light dark:bg-background-universal-overlay-dark\",\n {\n \"right-0\": t === \"right\",\n \"left-0\": t === \"left\",\n \"w-full\": n,\n \"w-max\": !n\n }\n ),\n children: /* @__PURE__ */ r.jsx(\"div\", { className: \"flex flex-col gap-3\", children: a.map((o, g) => /* @__PURE__ */ r.jsxs(Y2, { children: [\n /* @__PURE__ */ r.jsxs(\"div\", { className: \"flex flex-col gap-1\", children: [\n o.title && /* @__PURE__ */ r.jsx(T, { variant: \"D1B\", significance: \"secondary\", children: o.title }),\n o.items.map((d, E) => /* @__PURE__ */ r.jsxs(\n \"button\",\n {\n onClick: d.onClick,\n className: \"flex items-center gap-2 py-1 px-2 rounded text-label-primary-light dark:text-label-primary-dark hover:bg-overlay-fill-default-light dark:hover:bg-overlay-fill-default-dark\",\n children: [\n /* @__PURE__ */ r.jsxs(z.Provider, { value: { size: 16 }, children: [\n u ? /* @__PURE__ */ r.jsx(\"div\", { className: \"shrink-0\", children: d.selected ? /* @__PURE__ */ r.jsx(z2, {}) : /* @__PURE__ */ r.jsx(\"div\", { className: \"w-4 shrink-0\" }) }) : null,\n d.icon\n ] }),\n /* @__PURE__ */ r.jsx(T, { variant: \"B2\", children: d.label })\n ]\n },\n `item-${g}-${E}`\n ))\n ] }),\n g < a.length - 1 && /* @__PURE__ */ r.jsx(G0, {}, `separator-${g}`)\n ] }, `group-${g}`)) })\n }\n ) });\n}, oe = ({ title: a, code: t, singleLine: i = !1 }) => {\n const [n, u] = $(!1), x = /* @__PURE__ */ r.jsx(\n G2,\n {\n \"aria-label\": \"Copy code block to clipboard\",\n size: \"small\",\n variant: \"neutral\",\n iconAfter: n ? /* @__PURE__ */ r.jsx(z2, {}) : /* @__PURE__ */ r.jsx(L0, {}),\n onClick: () => {\n navigator.clipboard.writeText(t), u(!0), setTimeout(() => u(!1), 2e3);\n }\n }\n );\n return /* @__PURE__ */ r.jsxs(\"div\", { className: \"flex flex-col py-2 gap-3\", children: [\n a && /* @__PURE__ */ r.jsx(\"div\", { className: \"flex flex-col py-2\", children: /* @__PURE__ */ r.jsx(T, { variant: \"H4\", children: a }) }),\n i ? /* @__PURE__ */ r.jsxs(\"div\", { className: \"flex gap-2 pl-3 py-1 pr-1 items-center justify-between rounded-lg border-[0.5px] group relative border-separator-regular-light dark:border-separator-regular-dark\", children: [\n /* @__PURE__ */ r.jsx(\"pre\", { children: /* @__PURE__ */ r.jsx(W2, { variant: \"B2\", children: t.trim() }) }),\n /* @__PURE__ */ r.jsx(\"div\", { className: \"flex invisible group-hover:visible\", children: x })\n ] }) : /* @__PURE__ */ r.jsxs(\"div\", { className: \"flex p-3 rounded-lg border-[0.5px] group relative border-separator-regular-light dark:border-separator-regular-dark\", children: [\n /* @__PURE__ */ r.jsx(\"pre\", { children: /* @__PURE__ */ r.jsx(W2, { variant: \"B2\", children: t.trim() }) }),\n /* @__PURE__ */ r.jsx(\"div\", { className: \"absolute top-2 right-2 invisible group-hover:visible\", children: x })\n ] })\n ] });\n}, de = ({ children: a, onExit: t }) => {\n const { ref: i } = h2({\n isActive: !0,\n onDismiss: t,\n includeEscape: !0\n });\n return t2(() => {\n var n;\n (n = i.current) == null || n.focus();\n }, [i]), /* @__PURE__ */ r.jsx(\n \"div\",\n {\n ref: i,\n className: \"flex flex-col z-10 items-center justify-center fixed inset-0 bg-overlay-background-default-light dark:bg-overlay-background-default-dark outline-none\",\n tabIndex: -1,\n onClick: (n) => {\n n.target === n.currentTarget && t();\n },\n children: a\n }\n );\n}, ue = ({ title: a, texts: t }) => /* @__PURE__ */ r.jsxs(\"div\", { className: \"flex flex-col py-3 rounded-lg bg-background-universal-overlay-light dark:bg-background-universal-overlay-dark\", children: [\n /* @__PURE__ */ r.jsx(\"div\", { className: \"flex px-3 py-2\", children: /* @__PURE__ */ r.jsx(T, { variant: \"H4\", children: a }) }),\n /* @__PURE__ */ r.jsx(\"div\", { className: \"flex flex-col gap-6 px-3 py-1\", children: t.map((i, n) => /* @__PURE__ */ r.jsx(T, { children: i }, n)) })\n] }), xe = ({ size: a = 7, animation: t = \"animate-spin\" }) => /* @__PURE__ */ r.jsx(\"div\", { className: \"flex flex-col items-center justify-center\", children: /* @__PURE__ */ r.jsx(\"div\", { className: b(\"flex items-center justify-center\", t), children: /* @__PURE__ */ r.jsx(z0, { size: a * 4 }) }) }), z0 = ({ dark: a, size: t }) => a ? /* @__PURE__ */ r.jsxs(\n \"svg\",\n {\n width: t || 413,\n height: t || 413,\n viewBox: \"0 0 413 413\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /* @__PURE__ */ r.jsxs(\"g\", { clipPath: \"url(#clip0_1096_247)\", children: [\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"207\", cy: \"206\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"324\", cy: \"207\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"258\", cy: \"236\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"258\", cy: \"177\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"156\", cy: \"177\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"207\", cy: \"266\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"207\", cy: \"147\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"207\", cy: \"89\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"148\", cy: \"105\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"105\", cy: \"147\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"89\", cy: \"206\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"148\", cy: \"308\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"207\", cy: \"324\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"265\", cy: \"308\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"308\", cy: \"266\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"105\", cy: \"266\", r: \"20\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"156\", cy: \"236\", r: \"20\", fill: \"#FEBE00\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"265\", cy: \"105\", r: \"20\", fill: \"#55D4B9\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"309\", cy: \"147\", r: \"20\", fill: \"#FF6832\" })\n ] }),\n /* @__PURE__ */ r.jsx(\"defs\", { children: /* @__PURE__ */ r.jsx(\"clipPath\", { id: \"clip0_1096_247\", children: /* @__PURE__ */ r.jsx(\"rect\", { width: \"275\", height: \"275\", fill: \"white\", transform: \"translate(69 69)\" }) }) })\n ]\n }\n) : /* @__PURE__ */ r.jsxs(\n \"svg\",\n {\n width: t || 413,\n height: t || 413,\n viewBox: \"0 0 413 413\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /* @__PURE__ */ r.jsxs(\"g\", { clipPath: \"url(#clip0_1096_218)\", children: [\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"207\", cy: \"206\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"324\", cy: \"207\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"258\", cy: \"236\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"258\", cy: \"177\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"156\", cy: \"177\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"207\", cy: \"266\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"207\", cy: \"147\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"207\", cy: \"89\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"148\", cy: \"105\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"105\", cy: \"147\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"89\", cy: \"206\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"148\", cy: \"308\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"207\", cy: \"324\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"265\", cy: \"308\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"308\", cy: \"266\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"105\", cy: \"266\", r: \"20\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"156\", cy: \"236\", r: \"20\", fill: \"#FEBE00\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"265\", cy: \"105\", r: \"20\", fill: \"#55D4B9\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"309\", cy: \"147\", r: \"20\", fill: \"#FF6832\" })\n ] }),\n /* @__PURE__ */ r.jsx(\"defs\", { children: /* @__PURE__ */ r.jsx(\"clipPath\", { id: \"clip0_1096_218\", children: /* @__PURE__ */ r.jsx(\"rect\", { width: \"275\", height: \"275\", fill: \"white\", transform: \"translate(69 69)\" }) }) })\n ]\n }\n), ge = ({ dark: a, width: t, height: i }) => {\n const x = 3.1666666666666665;\n return i ? t = i * x : t ? i = t / x : (i = 48, t = 152), a ? /* @__PURE__ */ r.jsxs(\"svg\", { width: t, height: i, viewBox: \"0 0 152 48\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", children: [\n /* @__PURE__ */ r.jsxs(\"g\", { clipPath: \"url(#clip0_8_5921)\", children: [\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"23.4698\", cy: \"23.3296\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"39.9786\", cy: \"23.4703\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"30.667\", cy: \"27.5621\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"30.667\", cy: \"19.2378\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"16.2749\", cy: \"19.2378\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"23.4698\", cy: \"31.795\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"23.4698\", cy: \"15.0049\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"23.4698\", cy: \"6.82182\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"15.146\", cy: \"9.07914\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"9.08012\", cy: \"15.0049\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"6.82182\", cy: \"23.3296\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"15.146\", cy: \"37.7207\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"23.4698\", cy: \"39.9781\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"31.6534\", cy: \"37.7207\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"37.7203\", cy: \"31.795\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"9.08012\", cy: \"31.795\", r: \"2.82182\", fill: \"white\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"16.2749\", cy: \"27.5621\", r: \"2.82182\", fill: \"#FEBE00\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"31.6534\", cy: \"9.07914\", r: \"2.82182\", fill: \"#55D4B9\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"37.8619\", cy: \"15.0049\", r: \"2.82182\", fill: \"#FF6832\" }),\n /* @__PURE__ */ r.jsx(\n \"path\",\n {\n d: \"M60.112 33V16.2H63.76L72.568 28.2L71.776 28.08C71.696 27.552 71.632 27.048 71.584 26.568C71.536 26.088 71.488 25.616 71.44 25.152C71.408 24.688 71.376 24.216 71.344 23.736C71.328 23.256 71.312 22.736 71.296 22.176C71.296 21.616 71.296 21.008 71.296 20.352V16.2H75.256V33H71.56L62.368 20.616L63.592 20.784C63.672 21.552 63.736 22.208 63.784 22.752C63.848 23.28 63.896 23.752 63.928 24.168C63.976 24.584 64.008 24.96 64.024 25.296C64.04 25.632 64.048 25.968 64.048 26.304C64.064 26.624 64.072 26.984 64.072 27.384V33H60.112ZM85.1354 33.24C83.7274 33.24 82.5034 32.96 81.4634 32.4C80.4234 31.824 79.6154 31.048 79.0394 30.072C78.4634 29.08 78.1754 27.952 78.1754 26.688C78.1754 25.712 78.3354 24.816 78.6554 24C78.9754 23.184 79.4234 22.48 79.9994 21.888C80.5754 21.28 81.2554 20.816 82.0394 20.496C82.8394 20.16 83.7114 19.992 84.6554 19.992C85.5514 19.992 86.3674 20.152 87.1034 20.472C87.8554 20.792 88.5034 21.24 89.0474 21.816C89.5914 22.392 90.0074 23.072 90.2954 23.856C90.5834 24.64 90.7114 25.496 90.6794 26.424L90.6554 27.456H80.5034L79.9514 25.296H87.5354L87.1274 25.752V25.272C87.0954 24.872 86.9674 24.52 86.7434 24.216C86.5354 23.896 86.2554 23.648 85.9034 23.472C85.5514 23.296 85.1514 23.208 84.7034 23.208C84.0794 23.208 83.5434 23.336 83.0954 23.592C82.6634 23.832 82.3354 24.192 82.1114 24.672C81.8874 25.136 81.7754 25.712 81.7754 26.4C81.7754 27.104 81.9194 27.72 82.2074 28.248C82.5114 28.76 82.9434 29.16 83.5034 29.448C84.0794 29.736 84.7594 29.88 85.5434 29.88C86.0874 29.88 86.5674 29.8 86.9834 29.64C87.4154 29.48 87.8794 29.208 88.3754 28.824L90.1754 31.368C89.6794 31.8 89.1514 32.152 88.5914 32.424C88.0314 32.696 87.4554 32.896 86.8634 33.024C86.2874 33.168 85.7114 33.24 85.1354 33.24ZM93.1019 33V20.256H96.7499L96.8699 22.56L96.3659 22.584C96.5579 22.168 96.7979 21.8 97.0859 21.48C97.3899 21.16 97.7259 20.896 98.0939 20.688C98.4779 20.464 98.8699 20.296 99.2699 20.184C99.6859 20.072 100.102 20.016 100.518 20.016C101.142 20.016 101.71 20.112 102.222 20.304C102.734 20.496 103.182 20.808 103.566 21.24C103.95 21.656 104.254 22.224 104.478 22.944L103.878 22.896L104.07 22.512C104.278 22.128 104.542 21.784 104.862 21.48C105.198 21.16 105.566 20.896 105.966 20.688C106.366 20.464 106.782 20.296 107.214 20.184C107.646 20.072 108.062 20.016 108.462 20.016C109.47 20.016 110.31 20.216 110.982 20.616C111.654 21 112.158 21.584 112.494 22.368C112.846 23.152 113.022 24.104 113.022 25.224V33H109.158V25.536C109.158 25.024 109.086 24.6 108.942 24.264C108.798 23.928 108.582 23.68 108.294 23.52C108.022 23.344 107.678 23.256 107.262 23.256C106.926 23.256 106.614 23.312 106.326 23.424C106.054 23.536 105.814 23.688 105.606 23.88C105.414 24.072 105.262 24.296 105.15 24.552C105.038 24.808 104.982 25.096 104.982 25.416V33H101.118V25.512C101.118 25.032 101.046 24.624 100.902 24.288C100.758 23.952 100.542 23.696 100.254 23.52C99.9659 23.344 99.6299 23.256 99.2459 23.256C98.9099 23.256 98.5979 23.312 98.3099 23.424C98.0379 23.536 97.7979 23.688 97.5899 23.88C97.3979 24.072 97.2459 24.296 97.1339 24.552C97.0219 24.808 96.9659 25.088 96.9659 25.392V33H93.1019ZM116.188 33V20.256H119.836L119.956 22.56L119.452 22.584C119.644 22.168 119.884 21.8 120.172 21.48C120.476 21.16 120.812 20.896 121.18 20.688C121.564 20.464 121.956 20.296 122.356 20.184C122.772 20.072 123.188 20.016 123.604 20.016C124.228 20.016 124.796 20.112 125.308 20.304C125.82 20.496 126.268 20.808 126.652 21.24C127.036 21.656 127.34 22.224 127.564 22.944L126.964 22.896L127.156 22.512C127.364 22.128 127.628 21.784 127.948 21.48C128.284 21.16 128.652 20.896 129.052 20.688C129.452 20.464 129.868 20.296 130.3 20.184C130.732 20.072 131.148 20.016 131.548 20.016C132.556 20.016 133.396 20.216 134.068 20.616C134.74 21 135.244 21.584 135.58 22.368C135.932 23.152 136.108 24.104 136.108 25.224V33H132.244V25.536C132.244 25.024 132.172 24.6 132.028 24.264C131.884 23.928 131.668 23.68 131.38 23.52C131.108 23.344 130.764 23.256 130.348 23.256C130.012 23.256 129.7 23.312 129.412 23.424C129.14 23.536 128.9 23.688 128.692 23.88C128.5 24.072 128.348 24.296 128.236 24.552C128.124 24.808 128.068 25.096 128.068 25.416V33H124.204V25.512C124.204 25.032 124.132 24.624 123.988 24.288C123.844 23.952 123.628 23.696 123.34 23.52C123.052 23.344 122.716 23.256 122.332 23.256C121.996 23.256 121.684 23.312 121.396 23.424C121.124 23.536 120.884 23.688 120.676 23.88C120.484 24.072 120.332 24.296 120.22 24.552C120.108 24.808 120.052 25.088 120.052 25.392V33H116.188ZM145.37 33.24C143.962 33.24 142.738 32.96 141.698 32.4C140.658 31.824 139.85 31.048 139.274 30.072C138.698 29.08 138.41 27.952 138.41 26.688C138.41 25.712 138.57 24.816 138.89 24C139.21 23.184 139.658 22.48 140.234 21.888C140.81 21.28 141.49 20.816 142.274 20.496C143.074 20.16 143.946 19.992 144.89 19.992C145.786 19.992 146.602 20.152 147.338 20.472C148.09 20.792 148.738 21.24 149.282 21.816C149.826 22.392 150.242 23.072 150.53 23.856C150.818 24.64 150.946 25.496 150.914 26.424L150.89 27.456H140.738L140.186 25.296H147.77L147.362 25.752V25.272C147.33 24.872 147.202 24.52 146.978 24.216C146.77 23.896 146.49 23.648 146.138 23.472C145.786 23.296 145.386 23.208 144.938 23.208C144.314 23.208 143.778 23.336 143.33 23.592C142.898 23.832 142.57 24.192 142.346 24.672C142.122 25.136 142.01 25.712 142.01 26.4C142.01 27.104 142.154 27.72 142.442 28.248C142.746 28.76 143.178 29.16 143.738 29.448C144.314 29.736 144.994 29.88 145.778 29.88C146.322 29.88 146.802 29.8 147.218 29.64C147.65 29.48 148.114 29.208 148.61 28.824L150.41 31.368C149.914 31.8 149.386 32.152 148.826 32.424C148.266 32.696 147.69 32.896 147.098 33.024C146.522 33.168 145.946 33.24 145.37 33.24Z\",\n fill: \"white\"\n }\n )\n ] }),\n /* @__PURE__ */ r.jsx(\"defs\", { children: /* @__PURE__ */ r.jsx(\"clipPath\", { id: \"clip0_8_5921\", children: /* @__PURE__ */ r.jsx(\"rect\", { width: \"152\", height: \"48\", fill: \"white\" }) }) })\n ] }) : /* @__PURE__ */ r.jsxs(\"svg\", { width: t, height: i, viewBox: \"0 0 152 48\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", children: [\n /* @__PURE__ */ r.jsxs(\"g\", { clipPath: \"url(#clip0_8_6077)\", children: [\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"23.4698\", cy: \"23.3296\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"39.9786\", cy: \"23.4703\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"30.667\", cy: \"27.5621\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"30.667\", cy: \"19.2378\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"16.2749\", cy: \"19.2378\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"23.4698\", cy: \"31.795\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"23.4698\", cy: \"15.0049\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"23.4698\", cy: \"6.82182\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"15.1462\", cy: \"9.07914\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"9.08012\", cy: \"15.0049\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"6.82182\", cy: \"23.3296\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"15.1462\", cy: \"37.7207\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"23.4698\", cy: \"39.9781\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"31.6534\", cy: \"37.7207\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"37.7203\", cy: \"31.795\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"9.08012\", cy: \"31.795\", r: \"2.82182\", fill: \"black\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"16.2749\", cy: \"27.5621\", r: \"2.82182\", fill: \"#FEBE00\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"31.6534\", cy: \"9.07914\", r: \"2.82182\", fill: \"#55D4B9\" }),\n /* @__PURE__ */ r.jsx(\"circle\", { cx: \"37.8619\", cy: \"15.0049\", r: \"2.82182\", fill: \"#FF6832\" }),\n /* @__PURE__ */ r.jsx(\n \"path\",\n {\n d: \"M60.112 33V16.2H63.76L72.568 28.2L71.776 28.08C71.696 27.552 71.632 27.048 71.584 26.568C71.536 26.088 71.488 25.616 71.44 25.152C71.408 24.688 71.376 24.216 71.344 23.736C71.328 23.256 71.312 22.736 71.296 22.176C71.296 21.616 71.296 21.008 71.296 20.352V16.2H75.256V33H71.56L62.368 20.616L63.592 20.784C63.672 21.552 63.736 22.208 63.784 22.752C63.848 23.28 63.896 23.752 63.928 24.168C63.976 24.584 64.008 24.96 64.024 25.296C64.04 25.632 64.048 25.968 64.048 26.304C64.064 26.624 64.072 26.984 64.072 27.384V33H60.112ZM85.1354 33.24C83.7274 33.24 82.5034 32.96 81.4634 32.4C80.4234 31.824 79.6154 31.048 79.0394 30.072C78.4634 29.08 78.1754 27.952 78.1754 26.688C78.1754 25.712 78.3354 24.816 78.6554 24C78.9754 23.184 79.4234 22.48 79.9994 21.888C80.5754 21.28 81.2554 20.816 82.0394 20.496C82.8394 20.16 83.7114 19.992 84.6554 19.992C85.5514 19.992 86.3674 20.152 87.1034 20.472C87.8554 20.792 88.5034 21.24 89.0474 21.816C89.5914 22.392 90.0074 23.072 90.2954 23.856C90.5834 24.64 90.7114 25.496 90.6794 26.424L90.6554 27.456H80.5034L79.9514 25.296H87.5354L87.1274 25.752V25.272C87.0954 24.872 86.9674 24.52 86.7434 24.216C86.5354 23.896 86.2554 23.648 85.9034 23.472C85.5514 23.296 85.1514 23.208 84.7034 23.208C84.0794 23.208 83.5434 23.336 83.0954 23.592C82.6634 23.832 82.3354 24.192 82.1114 24.672C81.8874 25.136 81.7754 25.712 81.7754 26.4C81.7754 27.104 81.9194 27.72 82.2074 28.248C82.5114 28.76 82.9434 29.16 83.5034 29.448C84.0794 29.736 84.7594 29.88 85.5434 29.88C86.0874 29.88 86.5674 29.8 86.9834 29.64C87.4154 29.48 87.8794 29.208 88.3754 28.824L90.1754 31.368C89.6794 31.8 89.1514 32.152 88.5914 32.424C88.0314 32.696 87.4554 32.896 86.8634 33.024C86.2874 33.168 85.7114 33.24 85.1354 33.24ZM93.1019 33V20.256H96.7499L96.8699 22.56L96.3659 22.584C96.5579 22.168 96.7979 21.8 97.0859 21.48C97.3899 21.16 97.7259 20.896 98.0939 20.688C98.4779 20.464 98.8699 20.296 99.2699 20.184C99.6859 20.072 100.102 20.016 100.518 20.016C101.142 20.016 101.71 20.112 102.222 20.304C102.734 20.496 103.182 20.808 103.566 21.24C103.95 21.656 104.254 22.224 104.478 22.944L103.878 22.896L104.07 22.512C104.278 22.128 104.542 21.784 104.862 21.48C105.198 21.16 105.566 20.896 105.966 20.688C106.366 20.464 106.782 20.296 107.214 20.184C107.646 20.072 108.062 20.016 108.462 20.016C109.47 20.016 110.31 20.216 110.982 20.616C111.654 21 112.158 21.584 112.494 22.368C112.846 23.152 113.022 24.104 113.022 25.224V33H109.158V25.536C109.158 25.024 109.086 24.6 108.942 24.264C108.798 23.928 108.582 23.68 108.294 23.52C108.022 23.344 107.678 23.256 107.262 23.256C106.926 23.256 106.614 23.312 106.326 23.424C106.054 23.536 105.814 23.688 105.606 23.88C105.414 24.072 105.262 24.296 105.15 24.552C105.038 24.808 104.982 25.096 104.982 25.416V33H101.118V25.512C101.118 25.032 101.046 24.624 100.902 24.288C100.758 23.952 100.542 23.696 100.254 23.52C99.9659 23.344 99.6299 23.256 99.2459 23.256C98.9099 23.256 98.5979 23.312 98.3099 23.424C98.0379 23.536 97.7979 23.688 97.5899 23.88C97.3979 24.072 97.2459 24.296 97.1339 24.552C97.0219 24.808 96.9659 25.088 96.9659 25.392V33H93.1019ZM116.188 33V20.256H119.836L119.956 22.56L119.452 22.584C119.644 22.168 119.884 21.8 120.172 21.48C120.476 21.16 120.812 20.896 121.18 20.688C121.564 20.464 121.956 20.296 122.356 20.184C122.772 20.072 123.188 20.016 123.604 20.016C124.228 20.016 124.796 20.112 125.308 20.304C125.82 20.496 126.268 20.808 126.652 21.24C127.036 21.656 127.34 22.224 127.564 22.944L126.964 22.896L127.156 22.512C127.364 22.128 127.628 21.784 127.948 21.48C128.284 21.16 128.652 20.896 129.052 20.688C129.452 20.464 129.868 20.296 130.3 20.184C130.732 20.072 131.148 20.016 131.548 20.016C132.556 20.016 133.396 20.216 134.068 20.616C134.74 21 135.244 21.584 135.58 22.368C135.932 23.152 136.108 24.104 136.108 25.224V33H132.244V25.536C132.244 25.024 132.172 24.6 132.028 24.264C131.884 23.928 131.668 23.68 131.38 23.52C131.108 23.344 130.764 23.256 130.348 23.256C130.012 23.256 129.7 23.312 129.412 23.424C129.14 23.536 128.9 23.688 128.692 23.88C128.5 24.072 128.348 24.296 128.236 24.552C128.124 24.808 128.068 25.096 128.068 25.416V33H124.204V25.512C124.204 25.032 124.132 24.624 123.988 24.288C123.844 23.952 123.628 23.696 123.34 23.52C123.052 23.344 122.716 23.256 122.332 23.256C121.996 23.256 121.684 23.312 121.396 23.424C121.124 23.536 120.884 23.688 120.676 23.88C120.484 24.072 120.332 24.296 120.22 24.552C120.108 24.808 120.052 25.088 120.052 25.392V33H116.188ZM145.37 33.24C143.962 33.24 142.738 32.96 141.698 32.4C140.658 31.824 139.85 31.048 139.274 30.072C138.698 29.08 138.41 27.952 138.41 26.688C138.41 25.712 138.57 24.816 138.89 24C139.21 23.184 139.658 22.48 140.234 21.888C140.81 21.28 141.49 20.816 142.274 20.496C143.074 20.16 143.946 19.992 144.89 19.992C145.786 19.992 146.602 20.152 147.338 20.472C148.09 20.792 148.738 21.24 149.282 21.816C149.826 22.392 150.242 23.072 150.53 23.856C150.818 24.64 150.946 25.496 150.914 26.424L150.89 27.456H140.738L140.186 25.296H147.77L147.362 25.752V25.272C147.33 24.872 147.202 24.52 146.978 24.216C146.77 23.896 146.49 23.648 146.138 23.472C145.786 23.296 145.386 23.208 144.938 23.208C144.314 23.208 143.778 23.336 143.33 23.592C142.898 23.832 142.57 24.192 142.346 24.672C142.122 25.136 142.01 25.712 142.01 26.4C142.01 27.104 142.154 27.72 142.442 28.248C142.746 28.76 143.178 29.16 143.738 29.448C144.314 29.736 144.994 29.88 145.778 29.88C146.322 29.88 146.802 29.8 147.218 29.64C147.65 29.48 148.114 29.208 148.61 28.824L150.41 31.368C149.914 31.8 149.386 32.152 148.826 32.424C148.266 32.696 147.69 32.896 147.098 33.024C146.522 33.168 145.946 33.24 145.37 33.24Z\",\n fill: \"black\"\n }\n )\n ] }),\n /* @__PURE__ */ r.jsx(\"defs\", { children: /* @__PURE__ */ r.jsx(\"clipPath\", { id: \"clip0_8_6077\", children: /* @__PURE__ */ r.jsx(\"rect\", { width: \"152\", height: \"48\", fill: \"white\" }) }) })\n ] });\n}, G0 = ({ className: a, vertical: t = !1, opaque: i = !1, opaqueAlternative: n = !1 }) => {\n const u = n ? \"bg-separator-opaque-alternative-light dark:bg-separator-opaque-alternative-dark\" : i ? \"bg-separator-opaque-light dark:bg-separator-opaque-dark\" : \"bg-separator-regular-light dark:bg-separator-regular-dark\";\n return /* @__PURE__ */ r.jsx(\n \"div\",\n {\n className: b(\n u,\n {\n \"w-full h-px\": !t,\n \"h-full w-px\": t\n },\n a\n )\n }\n );\n}, fe = \"data:image/svg+xml,%3csvg%20width='152'%20height='48'%20viewBox='0%200%20152%2048'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_8_5921)'%3e%3ccircle%20cx='23.4698'%20cy='23.3296'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='39.9786'%20cy='23.4703'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='30.667'%20cy='27.5621'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='30.667'%20cy='19.2378'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='16.2749'%20cy='19.2378'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='23.4698'%20cy='31.795'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='23.4698'%20cy='15.0049'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='23.4698'%20cy='6.82182'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='15.146'%20cy='9.07914'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='9.08012'%20cy='15.0049'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='6.82182'%20cy='23.3296'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='15.146'%20cy='37.7207'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='23.4698'%20cy='39.9781'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='31.6534'%20cy='37.7207'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='37.7203'%20cy='31.795'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='9.08012'%20cy='31.795'%20r='2.82182'%20fill='white'/%3e%3ccircle%20cx='16.2749'%20cy='27.5621'%20r='2.82182'%20fill='%23FEBE00'/%3e%3ccircle%20cx='31.6534'%20cy='9.07914'%20r='2.82182'%20fill='%2355D4B9'/%3e%3ccircle%20cx='37.8619'%20cy='15.0049'%20r='2.82182'%20fill='%23FF6832'/%3e%3cpath%20d='M60.112%2033V16.2H63.76L72.568%2028.2L71.776%2028.08C71.696%2027.552%2071.632%2027.048%2071.584%2026.568C71.536%2026.088%2071.488%2025.616%2071.44%2025.152C71.408%2024.688%2071.376%2024.216%2071.344%2023.736C71.328%2023.256%2071.312%2022.736%2071.296%2022.176C71.296%2021.616%2071.296%2021.008%2071.296%2020.352V16.2H75.256V33H71.56L62.368%2020.616L63.592%2020.784C63.672%2021.552%2063.736%2022.208%2063.784%2022.752C63.848%2023.28%2063.896%2023.752%2063.928%2024.168C63.976%2024.584%2064.008%2024.96%2064.024%2025.296C64.04%2025.632%2064.048%2025.968%2064.048%2026.304C64.064%2026.624%2064.072%2026.984%2064.072%2027.384V33H60.112ZM85.1354%2033.24C83.7274%2033.24%2082.5034%2032.96%2081.4634%2032.4C80.4234%2031.824%2079.6154%2031.048%2079.0394%2030.072C78.4634%2029.08%2078.1754%2027.952%2078.1754%2026.688C78.1754%2025.712%2078.3354%2024.816%2078.6554%2024C78.9754%2023.184%2079.4234%2022.48%2079.9994%2021.888C80.5754%2021.28%2081.2554%2020.816%2082.0394%2020.496C82.8394%2020.16%2083.7114%2019.992%2084.6554%2019.992C85.5514%2019.992%2086.3674%2020.152%2087.1034%2020.472C87.8554%2020.792%2088.5034%2021.24%2089.0474%2021.816C89.5914%2022.392%2090.0074%2023.072%2090.2954%2023.856C90.5834%2024.64%2090.7114%2025.496%2090.6794%2026.424L90.6554%2027.456H80.5034L79.9514%2025.296H87.5354L87.1274%2025.752V25.272C87.0954%2024.872%2086.9674%2024.52%2086.7434%2024.216C86.5354%2023.896%2086.2554%2023.648%2085.9034%2023.472C85.5514%2023.296%2085.1514%2023.208%2084.7034%2023.208C84.0794%2023.208%2083.5434%2023.336%2083.0954%2023.592C82.6634%2023.832%2082.3354%2024.192%2082.1114%2024.672C81.8874%2025.136%2081.7754%2025.712%2081.7754%2026.4C81.7754%2027.104%2081.9194%2027.72%2082.2074%2028.248C82.5114%2028.76%2082.9434%2029.16%2083.5034%2029.448C84.0794%2029.736%2084.7594%2029.88%2085.5434%2029.88C86.0874%2029.88%2086.5674%2029.8%2086.9834%2029.64C87.4154%2029.48%2087.8794%2029.208%2088.3754%2028.824L90.1754%2031.368C89.6794%2031.8%2089.1514%2032.152%2088.5914%2032.424C88.0314%2032.696%2087.4554%2032.896%2086.8634%2033.024C86.2874%2033.168%2085.7114%2033.24%2085.1354%2033.24ZM93.1019%2033V20.256H96.7499L96.8699%2022.56L96.3659%2022.584C96.5579%2022.168%2096.7979%2021.8%2097.0859%2021.48C97.3899%2021.16%2097.7259%2020.896%2098.0939%2020.688C98.4779%2020.464%2098.8699%2020.296%2099.2699%2020.184C99.6859%2020.072%20100.102%2020.016%20100.518%2020.016C101.142%2020.016%20101.71%2020.112%20102.222%2020.304C102.734%2020.496%20103.182%2020.808%20103.566%2021.24C103.95%2021.656%20104.254%2022.224%20104.478%2022.944L103.878%2022.896L104.07%2022.512C104.278%2022.128%20104.542%2021.784%20104.862%2021.48C105.198%2021.16%20105.566%2020.896%20105.966%2020.688C106.366%2020.464%20106.782%2020.296%20107.214%2020.184C107.646%2020.072%20108.062%2020.016%20108.462%2020.016C109.47%2020.016%20110.31%2020.216%20110.982%2020.616C111.654%2021%20112.158%2021.584%20112.494%2022.368C112.846%2023.152%20113.022%2024.104%20113.022%2025.224V33H109.158V25.536C109.158%2025.024%20109.086%2024.6%20108.942%2024.264C108.798%2023.928%20108.582%2023.68%20108.294%2023.52C108.022%2023.344%20107.678%2023.256%20107.262%2023.256C106.926%2023.256%20106.614%2023.312%20106.326%2023.424C106.054%2023.536%20105.814%2023.688%20105.606%2023.88C105.414%2024.072%20105.262%2024.296%20105.15%2024.552C105.038%2024.808%20104.982%2025.096%20104.982%2025.416V33H101.118V25.512C101.118%2025.032%20101.046%2024.624%20100.902%2024.288C100.758%2023.952%20100.542%2023.696%20100.254%2023.52C99.9659%2023.344%2099.6299%2023.256%2099.2459%2023.256C98.9099%2023.256%2098.5979%2023.312%2098.3099%2023.424C98.0379%2023.536%2097.7979%2023.688%2097.5899%2023.88C97.3979%2024.072%2097.2459%2024.296%2097.1339%2024.552C97.0219%2024.808%2096.9659%2025.088%2096.9659%2025.392V33H93.1019ZM116.188%2033V20.256H119.836L119.956%2022.56L119.452%2022.584C119.644%2022.168%20119.884%2021.8%20120.172%2021.48C120.476%2021.16%20120.812%2020.896%20121.18%2020.688C121.564%2020.464%20121.956%2020.296%20122.356%2020.184C122.772%2020.072%20123.188%2020.016%20123.604%2020.016C124.228%2020.016%20124.796%2020.112%20125.308%2020.304C125.82%2020.496%20126.268%2020.808%20126.652%2021.24C127.036%2021.656%20127.34%2022.224%20127.564%2022.944L126.964%2022.896L127.156%2022.512C127.364%2022.128%20127.628%2021.784%20127.948%2021.48C128.284%2021.16%20128.652%2020.896%20129.052%2020.688C129.452%2020.464%20129.868%2020.296%20130.3%2020.184C130.732%2020.072%20131.148%2020.016%20131.548%2020.016C132.556%2020.016%20133.396%2020.216%20134.068%2020.616C134.74%2021%20135.244%2021.584%20135.58%2022.368C135.932%2023.152%20136.108%2024.104%20136.108%2025.224V33H132.244V25.536C132.244%2025.024%20132.172%2024.6%20132.028%2024.264C131.884%2023.928%20131.668%2023.68%20131.38%2023.52C131.108%2023.344%20130.764%2023.256%20130.348%2023.256C130.012%2023.256%20129.7%2023.312%20129.412%2023.424C129.14%2023.536%20128.9%2023.688%20128.692%2023.88C128.5%2024.072%20128.348%2024.296%20128.236%2024.552C128.124%2024.808%20128.068%2025.096%20128.068%2025.416V33H124.204V25.512C124.204%2025.032%20124.132%2024.624%20123.988%2024.288C123.844%2023.952%20123.628%2023.696%20123.34%2023.52C123.052%2023.344%20122.716%2023.256%20122.332%2023.256C121.996%2023.256%20121.684%2023.312%20121.396%2023.424C121.124%2023.536%20120.884%2023.688%20120.676%2023.88C120.484%2024.072%20120.332%2024.296%20120.22%2024.552C120.108%2024.808%20120.052%2025.088%20120.052%2025.392V33H116.188ZM145.37%2033.24C143.962%2033.24%20142.738%2032.96%20141.698%2032.4C140.658%2031.824%20139.85%2031.048%20139.274%2030.072C138.698%2029.08%20138.41%2027.952%20138.41%2026.688C138.41%2025.712%20138.57%2024.816%20138.89%2024C139.21%2023.184%20139.658%2022.48%20140.234%2021.888C140.81%2021.28%20141.49%2020.816%20142.274%2020.496C143.074%2020.16%20143.946%2019.992%20144.89%2019.992C145.786%2019.992%20146.602%2020.152%20147.338%2020.472C148.09%2020.792%20148.738%2021.24%20149.282%2021.816C149.826%2022.392%20150.242%2023.072%20150.53%2023.856C150.818%2024.64%20150.946%2025.496%20150.914%2026.424L150.89%2027.456H140.738L140.186%2025.296H147.77L147.362%2025.752V25.272C147.33%2024.872%20147.202%2024.52%20146.978%2024.216C146.77%2023.896%20146.49%2023.648%20146.138%2023.472C145.786%2023.296%20145.386%2023.208%20144.938%2023.208C144.314%2023.208%20143.778%2023.336%20143.33%2023.592C142.898%2023.832%20142.57%2024.192%20142.346%2024.672C142.122%2025.136%20142.01%2025.712%20142.01%2026.4C142.01%2027.104%20142.154%2027.72%20142.442%2028.248C142.746%2028.76%20143.178%2029.16%20143.738%2029.448C144.314%2029.736%20144.994%2029.88%20145.778%2029.88C146.322%2029.88%20146.802%2029.8%20147.218%2029.64C147.65%2029.48%20148.114%2029.208%20148.61%2028.824L150.41%2031.368C149.914%2031.8%20149.386%2032.152%20148.826%2032.424C148.266%2032.696%20147.69%2032.896%20147.098%2033.024C146.522%2033.168%20145.946%2033.24%20145.37%2033.24Z'%20fill='white'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_8_5921'%3e%3crect%20width='152'%20height='48'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e\", pe = \"data:image/svg+xml,%3csvg%20width='413'%20height='413'%20viewBox='0%200%20413%20413'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_1096_247)'%3e%3ccircle%20cx='207'%20cy='206'%20r='20'%20fill='white'/%3e%3ccircle%20cx='324'%20cy='207'%20r='20'%20fill='white'/%3e%3ccircle%20cx='258'%20cy='236'%20r='20'%20fill='white'/%3e%3ccircle%20cx='258'%20cy='177'%20r='20'%20fill='white'/%3e%3ccircle%20cx='156'%20cy='177'%20r='20'%20fill='white'/%3e%3ccircle%20cx='207'%20cy='266'%20r='20'%20fill='white'/%3e%3ccircle%20cx='207'%20cy='147'%20r='20'%20fill='white'/%3e%3ccircle%20cx='207'%20cy='89'%20r='20'%20fill='white'/%3e%3ccircle%20cx='148'%20cy='105'%20r='20'%20fill='white'/%3e%3ccircle%20cx='105'%20cy='147'%20r='20'%20fill='white'/%3e%3ccircle%20cx='89'%20cy='206'%20r='20'%20fill='white'/%3e%3ccircle%20cx='148'%20cy='308'%20r='20'%20fill='white'/%3e%3ccircle%20cx='207'%20cy='324'%20r='20'%20fill='white'/%3e%3ccircle%20cx='265'%20cy='308'%20r='20'%20fill='white'/%3e%3ccircle%20cx='308'%20cy='266'%20r='20'%20fill='white'/%3e%3ccircle%20cx='105'%20cy='266'%20r='20'%20fill='white'/%3e%3ccircle%20cx='156'%20cy='236'%20r='20'%20fill='%23FEBE00'/%3e%3ccircle%20cx='265'%20cy='105'%20r='20'%20fill='%2355D4B9'/%3e%3ccircle%20cx='309'%20cy='147'%20r='20'%20fill='%23FF6832'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_1096_247'%3e%3crect%20width='275'%20height='275'%20fill='white'%20transform='translate(69%2069)'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e\", he = \"data:image/svg+xml,%3csvg%20width='152'%20height='48'%20viewBox='0%200%20152%2048'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_8_6077)'%3e%3ccircle%20cx='23.4698'%20cy='23.3296'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='39.9786'%20cy='23.4703'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='30.667'%20cy='27.5621'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='30.667'%20cy='19.2378'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='16.2749'%20cy='19.2378'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='23.4698'%20cy='31.795'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='23.4698'%20cy='15.0049'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='23.4698'%20cy='6.82182'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='15.1462'%20cy='9.07914'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='9.08012'%20cy='15.0049'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='6.82182'%20cy='23.3296'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='15.1462'%20cy='37.7207'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='23.4698'%20cy='39.9781'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='31.6534'%20cy='37.7207'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='37.7203'%20cy='31.795'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='9.08012'%20cy='31.795'%20r='2.82182'%20fill='black'/%3e%3ccircle%20cx='16.2749'%20cy='27.5621'%20r='2.82182'%20fill='%23FEBE00'/%3e%3ccircle%20cx='31.6534'%20cy='9.07914'%20r='2.82182'%20fill='%2355D4B9'/%3e%3ccircle%20cx='37.8619'%20cy='15.0049'%20r='2.82182'%20fill='%23FF6832'/%3e%3cpath%20d='M60.112%2033V16.2H63.76L72.568%2028.2L71.776%2028.08C71.696%2027.552%2071.632%2027.048%2071.584%2026.568C71.536%2026.088%2071.488%2025.616%2071.44%2025.152C71.408%2024.688%2071.376%2024.216%2071.344%2023.736C71.328%2023.256%2071.312%2022.736%2071.296%2022.176C71.296%2021.616%2071.296%2021.008%2071.296%2020.352V16.2H75.256V33H71.56L62.368%2020.616L63.592%2020.784C63.672%2021.552%2063.736%2022.208%2063.784%2022.752C63.848%2023.28%2063.896%2023.752%2063.928%2024.168C63.976%2024.584%2064.008%2024.96%2064.024%2025.296C64.04%2025.632%2064.048%2025.968%2064.048%2026.304C64.064%2026.624%2064.072%2026.984%2064.072%2027.384V33H60.112ZM85.1354%2033.24C83.7274%2033.24%2082.5034%2032.96%2081.4634%2032.4C80.4234%2031.824%2079.6154%2031.048%2079.0394%2030.072C78.4634%2029.08%2078.1754%2027.952%2078.1754%2026.688C78.1754%2025.712%2078.3354%2024.816%2078.6554%2024C78.9754%2023.184%2079.4234%2022.48%2079.9994%2021.888C80.5754%2021.28%2081.2554%2020.816%2082.0394%2020.496C82.8394%2020.16%2083.7114%2019.992%2084.6554%2019.992C85.5514%2019.992%2086.3674%2020.152%2087.1034%2020.472C87.8554%2020.792%2088.5034%2021.24%2089.0474%2021.816C89.5914%2022.392%2090.0074%2023.072%2090.2954%2023.856C90.5834%2024.64%2090.7114%2025.496%2090.6794%2026.424L90.6554%2027.456H80.5034L79.9514%2025.296H87.5354L87.1274%2025.752V25.272C87.0954%2024.872%2086.9674%2024.52%2086.7434%2024.216C86.5354%2023.896%2086.2554%2023.648%2085.9034%2023.472C85.5514%2023.296%2085.1514%2023.208%2084.7034%2023.208C84.0794%2023.208%2083.5434%2023.336%2083.0954%2023.592C82.6634%2023.832%2082.3354%2024.192%2082.1114%2024.672C81.8874%2025.136%2081.7754%2025.712%2081.7754%2026.4C81.7754%2027.104%2081.9194%2027.72%2082.2074%2028.248C82.5114%2028.76%2082.9434%2029.16%2083.5034%2029.448C84.0794%2029.736%2084.7594%2029.88%2085.5434%2029.88C86.0874%2029.88%2086.5674%2029.8%2086.9834%2029.64C87.4154%2029.48%2087.8794%2029.208%2088.3754%2028.824L90.1754%2031.368C89.6794%2031.8%2089.1514%2032.152%2088.5914%2032.424C88.0314%2032.696%2087.4554%2032.896%2086.8634%2033.024C86.2874%2033.168%2085.7114%2033.24%2085.1354%2033.24ZM93.1019%2033V20.256H96.7499L96.8699%2022.56L96.3659%2022.584C96.5579%2022.168%2096.7979%2021.8%2097.0859%2021.48C97.3899%2021.16%2097.7259%2020.896%2098.0939%2020.688C98.4779%2020.464%2098.8699%2020.296%2099.2699%2020.184C99.6859%2020.072%20100.102%2020.016%20100.518%2020.016C101.142%2020.016%20101.71%2020.112%20102.222%2020.304C102.734%2020.496%20103.182%2020.808%20103.566%2021.24C103.95%2021.656%20104.254%2022.224%20104.478%2022.944L103.878%2022.896L104.07%2022.512C104.278%2022.128%20104.542%2021.784%20104.862%2021.48C105.198%2021.16%20105.566%2020.896%20105.966%2020.688C106.366%2020.464%20106.782%2020.296%20107.214%2020.184C107.646%2020.072%20108.062%2020.016%20108.462%2020.016C109.47%2020.016%20110.31%2020.216%20110.982%2020.616C111.654%2021%20112.158%2021.584%20112.494%2022.368C112.846%2023.152%20113.022%2024.104%20113.022%2025.224V33H109.158V25.536C109.158%2025.024%20109.086%2024.6%20108.942%2024.264C108.798%2023.928%20108.582%2023.68%20108.294%2023.52C108.022%2023.344%20107.678%2023.256%20107.262%2023.256C106.926%2023.256%20106.614%2023.312%20106.326%2023.424C106.054%2023.536%20105.814%2023.688%20105.606%2023.88C105.414%2024.072%20105.262%2024.296%20105.15%2024.552C105.038%2024.808%20104.982%2025.096%20104.982%2025.416V33H101.118V25.512C101.118%2025.032%20101.046%2024.624%20100.902%2024.288C100.758%2023.952%20100.542%2023.696%20100.254%2023.52C99.9659%2023.344%2099.6299%2023.256%2099.2459%2023.256C98.9099%2023.256%2098.5979%2023.312%2098.3099%2023.424C98.0379%2023.536%2097.7979%2023.688%2097.5899%2023.88C97.3979%2024.072%2097.2459%2024.296%2097.1339%2024.552C97.0219%2024.808%2096.9659%2025.088%2096.9659%2025.392V33H93.1019ZM116.188%2033V20.256H119.836L119.956%2022.56L119.452%2022.584C119.644%2022.168%20119.884%2021.8%20120.172%2021.48C120.476%2021.16%20120.812%2020.896%20121.18%2020.688C121.564%2020.464%20121.956%2020.296%20122.356%2020.184C122.772%2020.072%20123.188%2020.016%20123.604%2020.016C124.228%2020.016%20124.796%2020.112%20125.308%2020.304C125.82%2020.496%20126.268%2020.808%20126.652%2021.24C127.036%2021.656%20127.34%2022.224%20127.564%2022.944L126.964%2022.896L127.156%2022.512C127.364%2022.128%20127.628%2021.784%20127.948%2021.48C128.284%2021.16%20128.652%2020.896%20129.052%2020.688C129.452%2020.464%20129.868%2020.296%20130.3%2020.184C130.732%2020.072%20131.148%2020.016%20131.548%2020.016C132.556%2020.016%20133.396%2020.216%20134.068%2020.616C134.74%2021%20135.244%2021.584%20135.58%2022.368C135.932%2023.152%20136.108%2024.104%20136.108%2025.224V33H132.244V25.536C132.244%2025.024%20132.172%2024.6%20132.028%2024.264C131.884%2023.928%20131.668%2023.68%20131.38%2023.52C131.108%2023.344%20130.764%2023.256%20130.348%2023.256C130.012%2023.256%20129.7%2023.312%20129.412%2023.424C129.14%2023.536%20128.9%2023.688%20128.692%2023.88C128.5%2024.072%20128.348%2024.296%20128.236%2024.552C128.124%2024.808%20128.068%2025.096%20128.068%2025.416V33H124.204V25.512C124.204%2025.032%20124.132%2024.624%20123.988%2024.288C123.844%2023.952%20123.628%2023.696%20123.34%2023.52C123.052%2023.344%20122.716%2023.256%20122.332%2023.256C121.996%2023.256%20121.684%2023.312%20121.396%2023.424C121.124%2023.536%20120.884%2023.688%20120.676%2023.88C120.484%2024.072%20120.332%2024.296%20120.22%2024.552C120.108%2024.808%20120.052%2025.088%20120.052%2025.392V33H116.188ZM145.37%2033.24C143.962%2033.24%20142.738%2032.96%20141.698%2032.4C140.658%2031.824%20139.85%2031.048%20139.274%2030.072C138.698%2029.08%20138.41%2027.952%20138.41%2026.688C138.41%2025.712%20138.57%2024.816%20138.89%2024C139.21%2023.184%20139.658%2022.48%20140.234%2021.888C140.81%2021.28%20141.49%2020.816%20142.274%2020.496C143.074%2020.16%20143.946%2019.992%20144.89%2019.992C145.786%2019.992%20146.602%2020.152%20147.338%2020.472C148.09%2020.792%20148.738%2021.24%20149.282%2021.816C149.826%2022.392%20150.242%2023.072%20150.53%2023.856C150.818%2024.64%20150.946%2025.496%20150.914%2026.424L150.89%2027.456H140.738L140.186%2025.296H147.77L147.362%2025.752V25.272C147.33%2024.872%20147.202%2024.52%20146.978%2024.216C146.77%2023.896%20146.49%2023.648%20146.138%2023.472C145.786%2023.296%20145.386%2023.208%20144.938%2023.208C144.314%2023.208%20143.778%2023.336%20143.33%2023.592C142.898%2023.832%20142.57%2024.192%20142.346%2024.672C142.122%2025.136%20142.01%2025.712%20142.01%2026.4C142.01%2027.104%20142.154%2027.72%20142.442%2028.248C142.746%2028.76%20143.178%2029.16%20143.738%2029.448C144.314%2029.736%20144.994%2029.88%20145.778%2029.88C146.322%2029.88%20146.802%2029.8%20147.218%2029.64C147.65%2029.48%20148.114%2029.208%20148.61%2028.824L150.41%2031.368C149.914%2031.8%20149.386%2032.152%20148.826%2032.424C148.266%2032.696%20147.69%2032.896%20147.098%2033.024C146.522%2033.168%20145.946%2033.24%20145.37%2033.24Z'%20fill='black'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_8_6077'%3e%3crect%20width='152'%20height='48'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e\", ye = \"data:image/svg+xml,%3csvg%20width='413'%20height='413'%20viewBox='0%200%20413%20413'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_1096_218)'%3e%3ccircle%20cx='207'%20cy='206'%20r='20'%20fill='black'/%3e%3ccircle%20cx='324'%20cy='207'%20r='20'%20fill='black'/%3e%3ccircle%20cx='258'%20cy='236'%20r='20'%20fill='black'/%3e%3ccircle%20cx='258'%20cy='177'%20r='20'%20fill='black'/%3e%3ccircle%20cx='156'%20cy='177'%20r='20'%20fill='black'/%3e%3ccircle%20cx='207'%20cy='266'%20r='20'%20fill='black'/%3e%3ccircle%20cx='207'%20cy='147'%20r='20'%20fill='black'/%3e%3ccircle%20cx='207'%20cy='89'%20r='20'%20fill='black'/%3e%3ccircle%20cx='148'%20cy='105'%20r='20'%20fill='black'/%3e%3ccircle%20cx='105'%20cy='147'%20r='20'%20fill='black'/%3e%3ccircle%20cx='89'%20cy='206'%20r='20'%20fill='black'/%3e%3ccircle%20cx='148'%20cy='308'%20r='20'%20fill='black'/%3e%3ccircle%20cx='207'%20cy='324'%20r='20'%20fill='black'/%3e%3ccircle%20cx='265'%20cy='308'%20r='20'%20fill='black'/%3e%3ccircle%20cx='308'%20cy='266'%20r='20'%20fill='black'/%3e%3ccircle%20cx='105'%20cy='266'%20r='20'%20fill='black'/%3e%3ccircle%20cx='156'%20cy='236'%20r='20'%20fill='%23FEBE00'/%3e%3ccircle%20cx='265'%20cy='105'%20r='20'%20fill='%2355D4B9'/%3e%3ccircle%20cx='309'%20cy='147'%20r='20'%20fill='%23FF6832'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_1096_218'%3e%3crect%20width='275'%20height='275'%20fill='white'%20transform='translate(69%2069)'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e\", l = {\n transparent: \"#00000000\",\n grey: {\n 0: \"#FFFFFF\",\n 5: \"#FBFBFD\",\n 10: \"#F2F2F7\",\n 50: \"#E5E5EA\",\n 75: \"#DEDEE1\",\n 100: \"#D1D1D6\",\n 200: \"#C7C7CC\",\n 300: \"#AEAEB2\",\n 400: \"#8E8E93\",\n 500: \"#636366\",\n 600: \"#48484A\",\n 700: \"#3A3A3C\",\n 800: \"#2C2C2E\",\n 900: \"#242426\",\n 950: \"#1C1C1E\",\n 990: \"#101011\",\n 995: \"#090909\",\n 1e3: \"#000000\"\n },\n \"strong-blue\": {\n 50: \"#A8C7FA\",\n 100: \"#6598EC\",\n 300: \"#1C73E8\",\n 400: \"#3461DA\",\n 500: \"#325FCB\",\n 600: \"#2C4DB9\",\n 950: \"#001833\"\n },\n \"banana-yellow\": {\n 50: \"#FEE085\",\n 100: \"#FECB33\",\n 400: \"#FEBE00\"\n },\n \"bright-coral\": {\n 50: \"#FFD2C1\",\n 100: \"#FF865B\",\n 400: \"#FF6832\"\n },\n \"minty-blue\": {\n 50: \"#99E5D5\",\n 100: \"#77DDC7\",\n 400: \"#55D4B9\"\n },\n red: {\n 10: \"#FEF1F2\",\n 75: \"#FF8680\",\n 100: \"#FF6861\",\n 300: \"#FF453A\",\n 400: \"#FF3B2F\",\n 600: \"#D70015\",\n 800: \"#A10010\"\n },\n orange: {\n 100: \"#FFB33F\",\n 300: \"#FF9F0B\",\n 400: \"#FF9500\",\n 600: \"#C93400\"\n },\n yellow: {\n 10: \"#FFF8EB\",\n 75: \"#FFE372\",\n 100: \"#FFD426\",\n 300: \"#FED709\",\n 400: \"#FFCC02\",\n 600: \"#B25001\",\n 800: \"#873C00\"\n },\n green: {\n 10: \"#EDFDF8\",\n 75: \"#7AF299\",\n 100: \"#30DB5B\",\n 300: \"#31D158\",\n 400: \"#35C759\",\n 600: \"#248A3D\",\n 800: \"#0D5C20\"\n },\n mint: {\n 100: \"#66D5CF\",\n 300: \"#67D3CF\",\n 400: \"#04C7BE\",\n 600: \"#0D817C\"\n },\n teal: {\n 100: \"#5DE6FF\",\n 300: \"#40C8E0\",\n 400: \"#30B0C7\",\n 600: \"#008299\"\n },\n cyan: {\n 100: \"#70D7FF\",\n 300: \"#64D3FF\",\n 400: \"#31ADE6\",\n 600: \"#0171A4\"\n },\n blue: {\n 100: \"#419CFF\",\n 300: \"#0B84FF\",\n 400: \"#007AFF\",\n 600: \"#0040DD\"\n },\n indigo: {\n 100: \"#7E7AFF\",\n 300: \"#5E5CE6\",\n 400: \"#5856D7\",\n 600: \"#3634A3\"\n },\n purple: {\n 100: \"#DA8FFF\",\n 300: \"#BF5AF2\",\n 400: \"#AF52DE\",\n 600: \"#8944AB\"\n },\n pink: {\n 100: \"#FF6482\",\n 300: \"#FF375F\",\n 400: \"#FF2C55\",\n 600: \"#D20F44\"\n },\n brown: {\n 100: \"#B59469\",\n 300: \"#AC8E68\",\n 400: \"#A2845E\",\n 600: \"#7F6545\"\n }\n}, Ce = {\n background: {\n primary: {\n light: l.grey[5],\n dark: l.grey[990]\n },\n secondary: {\n light: l.grey[10],\n dark: l.grey[950]\n },\n tertiary: {\n light: l.grey[50],\n dark: l.grey[900]\n },\n \"grouped-primary\": {\n light: l.grey[50],\n dark: l.grey[990]\n },\n \"grouped-secondary\": {\n light: l.grey[5],\n dark: l.grey[950]\n },\n \"grouped-tertiary\": {\n light: l.grey[10],\n dark: l.grey[900]\n },\n \"primary-hover\": {\n light: l.grey[10],\n dark: l.grey[900]\n },\n \"secondary-hover\": {\n light: l.grey[50],\n dark: l.grey[900]\n },\n \"tertiary-hover\": {\n light: l.grey[100],\n dark: l.grey[800]\n },\n \"universal-overlay\": {\n light: l.grey[1e3].concat(\"12\"),\n // 7% opacity\n dark: l.grey[0].concat(\"0F\")\n // 6% opacity\n }\n },\n overlay: {\n \"fill-default\": {\n light: l.grey[1e3].concat(\"12\"),\n // 7% opacity\n dark: l.grey[0].concat(\"0F\")\n // 6% opacity\n },\n \"fill-alternative\": {\n light: l.grey[1e3].concat(\"24\"),\n // 14% opacity\n dark: l.grey[0].concat(\"24\")\n // 14% opacity\n },\n \"background-default\": {\n light: l.grey[1e3].concat(\"33\"),\n // 20% opacity\n dark: l.grey[1e3].concat(\"80\")\n // 50% opacity\n }\n },\n label: {\n primary: {\n light: l.grey[1e3],\n dark: l.grey[0]\n },\n secondary: {\n light: l.grey[500],\n dark: l.grey[400]\n },\n tertiary: {\n light: l.grey[400],\n dark: l.grey[500]\n },\n placeholder: {\n light: l.grey[400],\n dark: l.grey[400]\n },\n quaternary: {\n light: l.grey[0],\n dark: l.grey[1e3]\n },\n disabled: {\n light: l.grey[100],\n dark: l.grey[700]\n }\n },\n \"primary-action\": {\n graphical: {\n light: l[\"strong-blue\"][600],\n dark: l[\"strong-blue\"][300]\n },\n button: {\n light: l[\"strong-blue\"][400],\n dark: l[\"strong-blue\"][500]\n },\n \"button-hover\": {\n light: l[\"strong-blue\"][600],\n dark: l[\"strong-blue\"][600]\n },\n background: {\n light: l[\"strong-blue\"][50],\n dark: l[\"strong-blue\"][950]\n },\n \"background-2\": {\n light: l[\"strong-blue\"][950],\n dark: l[\"strong-blue\"][50]\n },\n disabled: {\n light: l.grey[100],\n dark: l.grey[700]\n }\n },\n \"secondary-action\": {\n base: {\n light: l.grey[1e3],\n dark: l.grey[0]\n },\n complementary: {\n light: l.grey[0],\n dark: l.grey[1e3]\n },\n alternative: {\n light: l.grey[1e3].concat(\"24\"),\n // HEX 24 = 14% opacity\n dark: l.grey[0].concat(\"24\")\n // HEX 24 = 14% opacity\n },\n disabled: {\n light: l.grey[100],\n dark: l.grey[700]\n }\n },\n \"brand-yellow\": {\n default: {\n light: l[\"banana-yellow\"][400],\n dark: l[\"banana-yellow\"][400]\n },\n alternative: {\n light: l[\"banana-yellow\"][100],\n dark: l[\"banana-yellow\"][100]\n },\n light: {\n light: l[\"banana-yellow\"][50],\n dark: l[\"banana-yellow\"][50]\n }\n },\n \"brand-coral\": {\n default: {\n light: l[\"bright-coral\"][400],\n dark: l[\"bright-coral\"][400]\n },\n alternative: {\n light: l[\"bright-coral\"][100],\n dark: l[\"bright-coral\"][100]\n },\n light: {\n light: l[\"bright-coral\"][50],\n dark: l[\"bright-coral\"][50]\n }\n },\n \"brand-mint\": {\n default: {\n light: l[\"minty-blue\"][400],\n dark: l[\"minty-blue\"][400]\n },\n alternative: {\n light: l[\"minty-blue\"][100],\n dark: l[\"minty-blue\"][100]\n },\n light: {\n light: l[\"minty-blue\"][50],\n dark: l[\"minty-blue\"][50]\n }\n },\n separator: {\n regular: {\n light: l.grey[300],\n dark: l.grey[600]\n },\n opaque: {\n light: l.grey[50],\n dark: l.grey[900]\n },\n \"opaque-alternative\": {\n light: l.grey[100],\n dark: l.grey[800]\n }\n },\n \"system-fill\": {\n primary: {\n light: l.grey[100],\n dark: l.grey[700]\n },\n secondary: {\n light: l.grey[10],\n dark: l.grey[900]\n },\n tertiary: {\n light: l.grey[5],\n dark: l.grey[990]\n }\n },\n \"nonadaptable-text\": {\n light: l.grey[0],\n dark: l.grey[1e3]\n },\n success: {\n background: {\n light: l.green[10],\n dark: l.green[800]\n },\n default: {\n light: l.green[400],\n dark: l.green[300]\n },\n hover: {\n light: l.green[600],\n dark: l.green[75]\n },\n accessible: {\n light: l.green[800],\n dark: l.green[10]\n }\n },\n warning: {\n background: {\n light: l.yellow[10],\n dark: l.yellow[800]\n },\n default: {\n light: l.yellow[400],\n dark: l.yellow[300]\n },\n hover: {\n light: l.yellow[600],\n dark: l.yellow[75]\n },\n accessible: {\n light: l.yellow[800],\n dark: l.yellow[10]\n }\n },\n danger: {\n background: {\n light: l.red[10],\n dark: l.red[800]\n },\n default: {\n light: l.red[400],\n dark: l.red[300]\n },\n hover: {\n light: l.red[600],\n dark: l.red[75]\n },\n accessible: {\n light: l.red[800],\n dark: l.red[10]\n }\n },\n \"system-neutral\": {\n \"grey-0\": {\n light: l.grey[0],\n dark: l.grey[1e3]\n },\n \"grey-1\": {\n light: l.grey[10],\n dark: l.grey[950]\n },\n \"grey-2\": {\n light: l.grey[100],\n dark: l.grey[900]\n },\n \"grey-3\": {\n light: l.grey[300],\n dark: l.grey[800]\n },\n \"grey-4\": {\n light: l.grey[400],\n dark: l.grey[700]\n },\n \"grey-5\": {\n light: l.grey[600],\n dark: l.grey[600]\n },\n \"grey-6\": {\n light: l.grey[700],\n dark: l.grey[400]\n },\n \"grey-7\": {\n light: l.grey[800],\n dark: l.grey[300]\n },\n \"grey-8\": {\n light: l.grey[900],\n dark: l.grey[100]\n },\n \"grey-9\": {\n light: l.grey[950],\n dark: l.grey[10]\n },\n \"grey-10\": {\n light: l.grey[1e3],\n dark: l.grey[0]\n }\n },\n red: {\n default: {\n light: l.red[400],\n dark: l.red[300]\n },\n accessible: {\n light: l.red[600],\n dark: l.red[100]\n }\n },\n orange: {\n default: {\n light: l.orange[400],\n dark: l.orange[300]\n },\n accessible: {\n light: l.orange[600],\n dark: l.orange[100]\n }\n },\n yellow: {\n default: {\n light: l.yellow[400],\n dark: l.yellow[300]\n },\n accessible: {\n light: l.yellow[600],\n dark: l.yellow[100]\n }\n },\n green: {\n default: {\n light: l.green[400],\n dark: l.green[300]\n },\n accessible: {\n light: l.green[600],\n dark: l.green[100]\n }\n },\n mint: {\n default: {\n light: l.mint[400],\n dark: l.mint[300]\n },\n accessible: {\n light: l.mint[600],\n dark: l.mint[100]\n }\n },\n teal: {\n default: {\n light: l.teal[400],\n dark: l.teal[300]\n },\n accessible: {\n light: l.teal[600],\n dark: l.teal[100]\n }\n },\n cyan: {\n default: {\n light: l.cyan[400],\n dark: l.cyan[300]\n },\n accessible: {\n light: l.cyan[600],\n dark: l.cyan[100]\n }\n },\n blue: {\n default: {\n light: l.blue[400],\n dark: l.blue[300]\n },\n accessible: {\n light: l.blue[600],\n dark: l.blue[100]\n }\n },\n indigo: {\n default: {\n light: l.indigo[400],\n dark: l.indigo[300]\n },\n accessible: {\n light: l.indigo[600],\n dark: l.indigo[100]\n }\n },\n purple: {\n default: {\n light: l.purple[400],\n dark: l.purple[300]\n },\n accessible: {\n light: l.purple[600],\n dark: l.purple[100]\n }\n },\n pink: {\n default: {\n light: l.pink[400],\n dark: l.pink[300]\n },\n accessible: {\n light: l.pink[600],\n dark: l.pink[100]\n }\n },\n brown: {\n default: {\n light: l.brown[400],\n dark: l.brown[300]\n },\n accessible: {\n light: l.brown[600],\n dark: l.brown[100]\n }\n }\n}, be = () => {\n}, ke = (a, t) => [...Array(t + 1 - a)].map((i, n) => n + a), ve = (a) => a.charAt(0).toUpperCase() + a.slice(1), me = (a) => a.split(new RegExp(\"(?<=\\\\.) \"));\nfunction h2({\n isActive: a,\n onDismiss: t,\n includeEscape: i = !0,\n extraRefs: n = []\n}) {\n const u = p2(null);\n return t2(() => {\n if (!a) return;\n const x = (d) => [u, ...n].some((k) => k.current && k.current.contains(d)), o = (d) => {\n const E = d.target;\n E && (x(E) || (d.stopPropagation(), d.preventDefault(), d.stopImmediatePropagation(), t()));\n }, g = (d) => {\n i && d.key === \"Escape\" && t();\n };\n return document.addEventListener(\"mousedown\", o), document.addEventListener(\"touchstart\", o, { passive: !0 }), document.addEventListener(\"keydown\", g), () => {\n document.removeEventListener(\"mousedown\", o), document.removeEventListener(\"touchstart\", o), document.removeEventListener(\"keydown\", g);\n };\n }, [a, i, t, n]), { ref: u };\n}\nexport {\n G2 as Button,\n W2 as CText,\n oe as CodeBlock,\n ee as Dropdown,\n de as FullScreenModal,\n ue as InfoBox,\n le as InplaceInput,\n xe as Loader,\n z0 as Logo,\n ge as LogoText,\n re as MCText,\n se as MenuGroupModal,\n T as NText,\n $2 as NavPill,\n N0 as NavTab,\n ae as Search,\n te as Select,\n G0 as Separator,\n Q0 as SignalButton,\n ie as TextInput,\n ce as Toggle,\n ne as TwoLevelSelector,\n ve as capitalize,\n l as colors,\n b as cx,\n be as includeGlobalStyles,\n pe as nemmeDark,\n fe as nemmeDarkText,\n ye as nemmeLight,\n he as nemmeLightText,\n ke as range,\n Ce as semanticColors,\n me as splitDotSpaceKeepDot,\n h2 as useDismissable,\n U as variantToClassName\n};\n//# sourceMappingURL=index.es.js.map\n","import { Button, cx, NText } from '@nemme/ui-kit';\nimport { CaretLeftIcon, CaretRightIcon, XIcon } from '@phosphor-icons/react';\nimport { FC, ReactNode } from 'react';\nimport { useTranslation } from 'react-i18next';\n\ntype Props = {\n title: string;\n icon?: string;\n description?: string;\n image?: string;\n children: ReactNode;\n onPrevious?: () => void;\n onNext?: () => void;\n onQuit?: () => void;\n isValid?: boolean;\n};\nexport const QuestionWrapper: FC<Props> = ({\n title,\n icon,\n description,\n image,\n children,\n onPrevious,\n onNext,\n onQuit,\n isValid\n}) => {\n const { t } = useTranslation();\n return (\n <div\n className={cx(\n 'grid mx-4 my-8 rounded-xl border relative',\n 'grid-cols-1 p-4 pt-10',\n 'md:p-8 md:gap-16 md:max-w-[960px] md:min-w-[660px]',\n !image ? 'md:grid-cols-1' : 'md:grid-cols-2',\n 'border-separator-opaque-light dark:border-separator-opaque-dark material-ultra-thick'\n )}\n >\n <div className=\"flex flex-col justify-between order-2 md:order-1\">\n <div className=\"flex flex-col\">\n <div className=\"flex flex-col gap-1 md:gap-2 pb-3\">\n {icon && (\n <div\n className={cx('h-8 w-8 rounded-lg overflow-hidden mb-1 md:mb-2', !image ? 'block' : 'hidden md:block')}\n >\n <img className=\"w-full h-full object-cover\" src={icon} alt=\"icon\" />\n </div>\n )}\n <NText variant=\"H2\">{title}</NText>\n {description &&\n description\n .trim()\n .replace(/\\n{3,}/g, '\\n\\n')\n .split('\\n\\n')\n .map((text, index) => (\n <NText significance=\"secondary\" key={index}>\n {text.trim()}\n </NText>\n ))}\n </div>\n {children}\n </div>\n <div className=\"flex justify-end pt-4 gap-2\">\n <Button\n variant=\"subtle\"\n onClick={onPrevious}\n iconBefore={<CaretLeftIcon />}\n disabled={!onPrevious}\n text={t('Previous')}\n />\n <Button\n variant=\"subtle\"\n onClick={onNext}\n iconAfter={<CaretRightIcon />}\n disabled={!onNext || !isValid}\n text={t('Next')}\n />\n </div>\n {onQuit && (\n <Button\n className=\"absolute top-0 right-1 md:top-1\"\n variant=\"subtle\"\n size=\"small\"\n onClick={onQuit}\n iconAfter={<XIcon />}\n aria-label=\"quit\"\n />\n )}\n </div>\n {image && (\n <div className=\"flex flex-col justify-center order-1 md:order-2\">\n <div className=\"rounded-lg overflow-hidden mb-6 md:mb-0\">\n <img className=\"w-full h-full object-cover aspect-video md:aspect-square\" src={image} alt=\"image\" />\n </div>\n </div>\n )}\n </div>\n );\n};\n","import { cx, NText } from '@nemme/ui-kit';\nimport { FC } from 'react';\nimport { QuestionWrapper } from '../question-wrapper';\n\nexport type Alternatives = {\n id: number;\n text: string;\n};\n\nexport type Props = {\n title: string;\n icon?: string;\n description?: string;\n image?: string;\n onPrevious?: () => void;\n onNext?: () => void;\n onQuit?: () => void;\n alternatives: Alternatives[];\n onAlternativeSelect: (id: number) => void;\n selectedAlternatives: number[];\n maxAlternatives?: number;\n isValid?: boolean;\n};\n\nexport const QuestionChoice: FC<Props> = ({\n title,\n icon,\n description,\n image,\n onPrevious,\n onNext,\n onQuit,\n alternatives = [],\n onAlternativeSelect,\n selectedAlternatives,\n maxAlternatives,\n isValid\n}) => {\n return (\n <QuestionWrapper\n title={title}\n icon={icon}\n description={description}\n image={image}\n onPrevious={onPrevious}\n onNext={onNext}\n onQuit={onQuit}\n isValid={isValid}\n >\n <div className=\"flex flex-col max-h-[272px] md:max-h-full overflow-y-auto\">\n {maxAlternatives === 1 ? (\n <div className=\"flex flex-col py-3 md:py-4 gap-2 items-end md:items-start\">\n {alternatives.map(alternative => (\n <button\n key={alternative.id}\n onClick={() => onAlternativeSelect(alternative.id)}\n className=\"flex items-center gap-2 p-3 justify-end rounded-lg border text-label-primary-light dark:text-label-primary-dark border-separator-regular-light dark:border-separator-regular-dark\"\n >\n <NText variant=\"B1Button\">{alternative.text}</NText>\n <Option size={20} selected={selectedAlternatives.includes(alternative.id)} />\n </button>\n ))}\n </div>\n ) : (\n <div className=\"flex py-3 md:py-4 gap-2 justify-end md:justify-start flex-wrap\">\n {alternatives.map(alternative => (\n <button\n key={alternative.id}\n onClick={() => onAlternativeSelect(alternative.id)}\n className={cx(\n 'flex items-center gap-2 p-3 justify-end rounded-lg border',\n selectedAlternatives.includes(alternative.id)\n ? 'text-label-quaternary-light dark:text-label-quaternary-dark border-label-quaternary-light dark:border-label-quaternary-dark bg-secondary-action-base-light dark:bg-secondary-action-base-dark'\n : 'text-label-primary-light dark:text-label-primary-dark border-separator-regular-light dark:border-separator-regular-dark'\n )}\n >\n <NText\n variant=\"B1Button\"\n significance={selectedAlternatives.includes(alternative.id) ? 'quaternary' : 'primary'}\n >\n {alternative.text}\n </NText>\n </button>\n ))}\n </div>\n )}\n </div>\n </QuestionWrapper>\n );\n};\n\ntype OptionProps = {\n size?: number;\n strokeColor?: string;\n fillColor?: string;\n selected?: boolean;\n};\n\nconst Option: FC<OptionProps> = ({ size = 16, strokeColor = 'currentColor', fillColor = 'none', selected = false }) => {\n const viewBoxSize = size + 1; // Adding 1 for padding\n const center = viewBoxSize / 2;\n const radius = (size - 2) / 2; // Slightly smaller to account for stroke\n\n return (\n <svg\n width={size}\n height={size}\n viewBox={`0 0 ${viewBoxSize} ${viewBoxSize}`}\n fill={selected ? fillColor : 'none'}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n cx={center}\n cy={center}\n r={radius}\n stroke={strokeColor}\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n {selected && (\n <circle\n cx={center}\n cy={center}\n r={radius - 3} // Inner circle for selected state\n fill={strokeColor}\n />\n )}\n </svg>\n );\n};\n","import { cx, NText, variantToClassName } from '@nemme/ui-kit';\nimport { FC } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { QuestionWrapper } from '../question-wrapper';\n\nexport type Props = {\n title: string;\n icon?: string;\n description?: string;\n image?: string;\n onPrevious?: () => void;\n onNext?: () => void;\n onQuit?: () => void;\n\n inputText: string;\n setInputText: (text: string) => void;\n maxCharacters?: number;\n isValid?: boolean;\n};\n\nexport const QuestionText: FC<Props> = ({\n title,\n icon,\n description,\n image,\n onPrevious,\n onNext,\n onQuit,\n inputText,\n setInputText,\n maxCharacters,\n isValid\n}) => {\n const { t } = useTranslation();\n return (\n <QuestionWrapper\n title={title}\n icon={icon}\n description={description}\n image={image}\n onPrevious={onPrevious}\n onNext={onNext}\n onQuit={onQuit}\n isValid={isValid}\n >\n <div className=\"flex flex-col py-3 gap-2\">\n {maxCharacters && (\n <div className=\"flex items-center justify-between\">\n <NText significance=\"secondary\">{t('Max {{maxCharacters}} characters', { maxCharacters })}</NText>\n <NText significance=\"secondary\">{`${inputText.length}/${maxCharacters}`}</NText>\n </div>\n )}\n <div className=\"flex flex-col relative\">\n <NText\n as=\"div\"\n className={cx(\n 'overflow-y-hidden whitespace-pre-wrap invisible break-words rounded-lg py-3 px-4 min-h-20 border-separator-opaque-light dark:border-separator-opaque-dark'\n )}\n >\n {inputText}\n </NText>\n <textarea\n id=\"primary\"\n placeholder={t('Type your answer here')}\n className={cx(\n 'absolute inset-0 resize-none',\n 'overflow-hidden break-words outline-none resize-none material-medium',\n 'rounded-lg py-3 px-4 min-h-20 border border-separator-opaque-light dark:border-separator-opaque-dark',\n `text-label-primary-light dark:text-label-primary-dark`,\n variantToClassName['B1']\n )}\n value={inputText}\n onChange={e => setInputText(e.target.value)}\n />\n </div>\n </div>\n </QuestionWrapper>\n );\n};\n","import { cx, NText } from '@nemme/ui-kit';\nimport { FC, ReactNode } from 'react';\n\ntype Props = {\n title: string;\n icon?: string;\n description?: string;\n image?: string;\n /** This is the button section and the absolute exit button in top right. */\n children: ReactNode;\n wrapperClassName?: string;\n};\nexport const TransitionWrapper: FC<Props> = ({ title, icon, description, image, children, wrapperClassName }) => {\n return (\n <div\n className={cx(\n 'grid mx-4 my-8 rounded-xl border',\n 'grid-cols-1 p-4 pt-10',\n 'md:p-8 md:gap-16 md:max-w-[960px] md:min-w-[660px]',\n !image ? 'md:grid-cols-1' : 'md:grid-cols-2',\n 'border-separator-opaque-light dark:border-separator-opaque-dark material-ultra-thick',\n wrapperClassName\n )}\n >\n <div className=\"flex flex-col justify-between gap-6 md:gap-8 order-2 md:order-1\">\n <div className=\"flex flex-col gap-6 md:gap-8\">\n <div className=\"flex flex-col gap-2 md:gap-4\">\n {icon && (\n <div className={cx('h-8 w-8 rounded-lg overflow-hidden', !image ? 'block' : 'hidden md:block')}>\n <img className=\"w-full h-full object-cover\" src={icon} alt=\"icon\" />\n </div>\n )}\n <NText variant=\"H2\">{title}</NText>\n </div>\n {description &&\n description\n .trim()\n .replace(/\\n{3,}/g, '\\n\\n')\n .split('\\n\\n')\n .map((text, index) => <NText key={index}>{text.trim()}</NText>)}\n </div>\n {children}\n </div>\n {image && (\n <div className=\"flex flex-col justify-center order-1 md:order-2\">\n <div className=\"rounded-lg overflow-hidden mb-6 md:mb-0\">\n <img className=\"w-full h-full object-cover aspect-video md:aspect-square\" src={image} alt=\"image\" />\n </div>\n </div>\n )}\n </div>\n );\n};\n","import { Button } from '@nemme/ui-kit';\nimport { ArrowSquareOutIcon, XIcon } from '@phosphor-icons/react';\nimport { FC } from 'react';\nimport { TransitionWrapper } from '../transition-wrapper';\n\nexport type Props = {\n title: string;\n icon?: string;\n description?: string;\n image?: string;\n quitText?: string;\n onQuit?: () => void;\n externalLink?: string;\n};\n\nexport const TransitionEnd: FC<Props> = ({ title, icon, description, image, quitText, onQuit, externalLink }) => {\n return (\n <TransitionWrapper title={title} icon={icon} description={description} image={image}>\n <div className=\"flex justify-end gap-2\">\n {externalLink ? (\n <Button\n variant=\"secondary\"\n text={quitText}\n iconAfter={<ArrowSquareOutIcon />}\n onClick={() => {\n window.open(externalLink, '_blank');\n onQuit?.();\n }}\n />\n ) : (\n <Button variant=\"secondary\" onClick={onQuit} text={quitText} />\n )}\n </div>\n {onQuit && (\n <Button\n className=\"absolute -top-2 -right-2 md:-top-4 md:-right-4\"\n variant=\"secondary\"\n size=\"small\"\n onClick={onQuit}\n iconAfter={<XIcon />}\n aria-label=\"quit\"\n />\n )}\n </TransitionWrapper>\n );\n};\n","import { Button } from '@nemme/ui-kit';\nimport { XIcon } from '@phosphor-icons/react';\nimport { FC } from 'react';\nimport { TransitionWrapper } from '../transition-wrapper';\n\nexport type Props = {\n title: string;\n icon?: string;\n description?: string;\n image?: string;\n quitText?: string;\n onQuit?: () => void;\n startText?: string;\n onStart?: () => void;\n};\n\nexport const TransitionStart: FC<Props> = ({\n title,\n icon,\n description,\n image,\n quitText,\n onQuit,\n startText,\n onStart\n}) => {\n return (\n <TransitionWrapper title={title} icon={icon} description={description} image={image} wrapperClassName=\"relative\">\n <div className=\"flex justify-end gap-2\">\n {onQuit && quitText && <Button variant=\"subtle\" text={quitText} onClick={onQuit} />}\n <Button variant=\"secondary\" text={startText} onClick={onStart} />\n </div>\n {onQuit && (\n <Button\n className=\"absolute top-0 right-1 md:top-1\"\n variant=\"subtle\"\n size=\"small\"\n onClick={onQuit}\n iconAfter={<XIcon />}\n aria-label=\"quit\"\n />\n )}\n </TransitionWrapper>\n );\n};\n","let defaultOptions = {};\n\nexport function getDefaultOptions() {\n return defaultOptions;\n}\n\nexport function setDefaultOptions(newOptions) {\n defaultOptions = newOptions;\n}\n","const formatDistanceLocale = {\n lessThanXSeconds: {\n one: \"less than a second\",\n other: \"less than {{count}} seconds\",\n },\n\n xSeconds: {\n one: \"1 second\",\n other: \"{{count}} seconds\",\n },\n\n halfAMinute: \"half a minute\",\n\n lessThanXMinutes: {\n one: \"less than a minute\",\n other: \"less than {{count}} minutes\",\n },\n\n xMinutes: {\n one: \"1 minute\",\n other: \"{{count}} minutes\",\n },\n\n aboutXHours: {\n one: \"about 1 hour\",\n other: \"about {{count}} hours\",\n },\n\n xHours: {\n one: \"1 hour\",\n other: \"{{count}} hours\",\n },\n\n xDays: {\n one: \"1 day\",\n other: \"{{count}} days\",\n },\n\n aboutXWeeks: {\n one: \"about 1 week\",\n other: \"about {{count}} weeks\",\n },\n\n xWeeks: {\n one: \"1 week\",\n other: \"{{count}} weeks\",\n },\n\n aboutXMonths: {\n one: \"about 1 month\",\n other: \"about {{count}} months\",\n },\n\n xMonths: {\n one: \"1 month\",\n other: \"{{count}} months\",\n },\n\n aboutXYears: {\n one: \"about 1 year\",\n other: \"about {{count}} years\",\n },\n\n xYears: {\n one: \"1 year\",\n other: \"{{count}} years\",\n },\n\n overXYears: {\n one: \"over 1 year\",\n other: \"over {{count}} years\",\n },\n\n almostXYears: {\n one: \"almost 1 year\",\n other: \"almost {{count}} years\",\n },\n};\n\nexport const formatDistance = (token, count, options) => {\n let result;\n\n const tokenValue = formatDistanceLocale[token];\n if (typeof tokenValue === \"string\") {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace(\"{{count}}\", count.toString());\n }\n\n if (options?.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return \"in \" + result;\n } else {\n return result + \" ago\";\n }\n }\n\n return result;\n};\n","export function buildFormatLongFn(args) {\n return (options = {}) => {\n // TODO: Remove String()\n const width = options.width ? String(options.width) : args.defaultWidth;\n const format = args.formats[width] || args.formats[args.defaultWidth];\n return format;\n };\n}\n","const formatRelativeLocale = {\n lastWeek: \"'last' eeee 'at' p\",\n yesterday: \"'yesterday at' p\",\n today: \"'today at' p\",\n tomorrow: \"'tomorrow at' p\",\n nextWeek: \"eeee 'at' p\",\n other: \"P\",\n};\n\nexport const formatRelative = (token, _date, _baseDate, _options) =>\n formatRelativeLocale[token];\n","/**\n * The localize function argument callback which allows to convert raw value to\n * the actual type.\n *\n * @param value - The value to convert\n *\n * @returns The converted value\n */\n\n/**\n * The map of localized values for each width.\n */\n\n/**\n * The index type of the locale unit value. It types conversion of units of\n * values that don't start at 0 (i.e. quarters).\n */\n\n/**\n * Converts the unit value to the tuple of values.\n */\n\n/**\n * The tuple of localized era values. The first element represents BC,\n * the second element represents AD.\n */\n\n/**\n * The tuple of localized quarter values. The first element represents Q1.\n */\n\n/**\n * The tuple of localized day values. The first element represents Sunday.\n */\n\n/**\n * The tuple of localized month values. The first element represents January.\n */\n\nexport function buildLocalizeFn(args) {\n return (value, options) => {\n const context = options?.context ? String(options.context) : \"standalone\";\n\n let valuesArray;\n if (context === \"formatting\" && args.formattingValues) {\n const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;\n const width = options?.width ? String(options.width) : defaultWidth;\n\n valuesArray =\n args.formattingValues[width] || args.formattingValues[defaultWidth];\n } else {\n const defaultWidth = args.defaultWidth;\n const width = options?.width ? String(options.width) : args.defaultWidth;\n\n valuesArray = args.values[width] || args.values[defaultWidth];\n }\n const index = args.argumentCallback ? args.argumentCallback(value) : value;\n\n // @ts-expect-error - For some reason TypeScript just don't want to match it, no matter how hard we try. I challenge you to try to remove it!\n return valuesArray[index];\n };\n}\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.js\";\n\nconst eraValues = {\n narrow: [\"B\", \"A\"],\n abbreviated: [\"BC\", \"AD\"],\n wide: [\"Before Christ\", \"Anno Domini\"],\n};\n\nconst quarterValues = {\n narrow: [\"1\", \"2\", \"3\", \"4\"],\n abbreviated: [\"Q1\", \"Q2\", \"Q3\", \"Q4\"],\n wide: [\"1st quarter\", \"2nd quarter\", \"3rd quarter\", \"4th quarter\"],\n};\n\n// Note: in English, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\nconst monthValues = {\n narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n abbreviated: [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\",\n ],\n\n wide: [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\",\n ],\n};\n\nconst dayValues = {\n narrow: [\"S\", \"M\", \"T\", \"W\", \"T\", \"F\", \"S\"],\n short: [\"Su\", \"Mo\", \"Tu\", \"We\", \"Th\", \"Fr\", \"Sa\"],\n abbreviated: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n wide: [\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\",\n ],\n};\n\nconst dayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n};\n\nconst formattingDayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n};\n\nconst ordinalNumber = (dirtyNumber, _options) => {\n const number = Number(dirtyNumber);\n\n // If ordinal numbers depend on context, for example,\n // if they are different for different grammatical genders,\n // use `options.unit`.\n //\n // `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',\n // 'day', 'hour', 'minute', 'second'.\n\n const rem100 = number % 100;\n if (rem100 > 20 || rem100 < 10) {\n switch (rem100 % 10) {\n case 1:\n return number + \"st\";\n case 2:\n return number + \"nd\";\n case 3:\n return number + \"rd\";\n }\n }\n return number + \"th\";\n};\n\nexport const localize = {\n ordinalNumber,\n\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: \"wide\",\n }),\n\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: \"wide\",\n argumentCallback: (quarter) => quarter - 1,\n }),\n\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: \"wide\",\n }),\n\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: \"wide\",\n }),\n\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: \"wide\",\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: \"wide\",\n }),\n};\n","export function buildMatchFn(args) {\n return (string, options = {}) => {\n const width = options.width;\n\n const matchPattern =\n (width && args.matchPatterns[width]) ||\n args.matchPatterns[args.defaultMatchWidth];\n const matchResult = string.match(matchPattern);\n\n if (!matchResult) {\n return null;\n }\n const matchedString = matchResult[0];\n\n const parsePatterns =\n (width && args.parsePatterns[width]) ||\n args.parsePatterns[args.defaultParseWidth];\n\n const key = Array.isArray(parsePatterns)\n ? findIndex(parsePatterns, (pattern) => pattern.test(matchedString))\n : // [TODO] -- I challenge you to fix the type\n findKey(parsePatterns, (pattern) => pattern.test(matchedString));\n\n let value;\n\n value = args.valueCallback ? args.valueCallback(key) : key;\n value = options.valueCallback\n ? // [TODO] -- I challenge you to fix the type\n options.valueCallback(value)\n : value;\n\n const rest = string.slice(matchedString.length);\n\n return { value, rest };\n };\n}\n\nfunction findKey(object, predicate) {\n for (const key in object) {\n if (\n Object.prototype.hasOwnProperty.call(object, key) &&\n predicate(object[key])\n ) {\n return key;\n }\n }\n return undefined;\n}\n\nfunction findIndex(array, predicate) {\n for (let key = 0; key < array.length; key++) {\n if (predicate(array[key])) {\n return key;\n }\n }\n return undefined;\n}\n","export function buildMatchPatternFn(args) {\n return (string, options = {}) => {\n const matchResult = string.match(args.matchPattern);\n if (!matchResult) return null;\n const matchedString = matchResult[0];\n\n const parseResult = string.match(args.parsePattern);\n if (!parseResult) return null;\n let value = args.valueCallback\n ? args.valueCallback(parseResult[0])\n : parseResult[0];\n\n // [TODO] I challenge you to fix the type\n value = options.valueCallback ? options.valueCallback(value) : value;\n\n const rest = string.slice(matchedString.length);\n\n return { value, rest };\n };\n}\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.js\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.js\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n narrow: /^(b|a)/i,\n abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n wide: /^(before christ|before common era|anno domini|common era)/i,\n};\nconst parseEraPatterns = {\n any: [/^b/i, /^(a|c)/i],\n};\n\nconst matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](th|st|nd|rd)? quarter/i,\n};\nconst parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i,\n};\nconst parseMonthPatterns = {\n narrow: [\n /^j/i,\n /^f/i,\n /^m/i,\n /^a/i,\n /^m/i,\n /^j/i,\n /^j/i,\n /^a/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n\n any: [\n /^ja/i,\n /^f/i,\n /^mar/i,\n /^ap/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^au/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n};\n\nconst matchDayPatterns = {\n narrow: /^[smtwf]/i,\n short: /^(su|mo|tu|we|th|fr|sa)/i,\n abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i,\n};\nconst parseDayPatterns = {\n narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i],\n};\n\nconst matchDayPeriodPatterns = {\n narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i,\n};\nconst parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mi/i,\n noon: /^no/i,\n morning: /morning/i,\n afternoon: /afternoon/i,\n evening: /evening/i,\n night: /night/i,\n },\n};\n\nexport const match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: (value) => parseInt(value, 10),\n }),\n\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseEraPatterns,\n defaultParseWidth: \"any\",\n }),\n\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: \"any\",\n valueCallback: (index) => index + 1,\n }),\n\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: \"any\",\n }),\n\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseDayPatterns,\n defaultParseWidth: \"any\",\n }),\n\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: \"any\",\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: \"any\",\n }),\n};\n","import {\n getDefaultOptions,\n setDefaultOptions as setInternalDefaultOptions,\n} from \"./_lib/defaultOptions.js\";\n\n/**\n * @name setDefaultOptions\n * @category Common Helpers\n * @summary Set default options including locale.\n * @pure false\n *\n * @description\n * Sets the defaults for\n * `options.locale`, `options.weekStartsOn` and `options.firstWeekContainsDate`\n * arguments for all functions.\n *\n * @param options - An object with options\n *\n * @example\n * // Set global locale:\n * import { es } from 'date-fns/locale'\n * setDefaultOptions({ locale: es })\n * const result = format(new Date(2014, 8, 2), 'PPPP')\n * //=> 'martes, 2 de septiembre de 2014'\n *\n * @example\n * // Start of the week for 2 September 2014:\n * const result = startOfWeek(new Date(2014, 8, 2))\n * //=> Sun Aug 31 2014 00:00:00\n *\n * @example\n * // Start of the week for 2 September 2014,\n * // when we set that week starts on Monday by default:\n * setDefaultOptions({ weekStartsOn: 1 })\n * const result = startOfWeek(new Date(2014, 8, 2))\n * //=> Mon Sep 01 2014 00:00:00\n *\n * @example\n * // Manually set options take priority over default options:\n * setDefaultOptions({ weekStartsOn: 1 })\n * const result = startOfWeek(new Date(2014, 8, 2), { weekStartsOn: 0 })\n * //=> Sun Aug 31 2014 00:00:00\n *\n * @example\n * // Remove the option by setting it to `undefined`:\n * setDefaultOptions({ weekStartsOn: 1 })\n * setDefaultOptions({ weekStartsOn: undefined })\n * const result = startOfWeek(new Date(2014, 8, 2))\n * //=> Sun Aug 31 2014 00:00:00\n */\nexport function setDefaultOptions(options) {\n const result = {};\n const defaultOptions = getDefaultOptions();\n\n for (const property in defaultOptions) {\n if (Object.prototype.hasOwnProperty.call(defaultOptions, property)) {\n // [TODO] I challenge you to fix the type\n result[property] = defaultOptions[property];\n }\n }\n\n for (const property in options) {\n if (Object.prototype.hasOwnProperty.call(options, property)) {\n if (options[property] === undefined) {\n // [TODO] I challenge you to fix the type\n delete result[property];\n } else {\n // [TODO] I challenge you to fix the type\n result[property] = options[property];\n }\n }\n }\n\n setInternalDefaultOptions(result);\n}\n\n// Fallback for modularized imports:\nexport default setDefaultOptions;\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.js\";\n\nconst dateFormats = {\n full: \"EEEE, d MMMM yyyy\",\n long: \"d MMMM yyyy\",\n medium: \"d MMM yyyy\",\n short: \"dd/MM/yyyy\",\n};\n\nconst timeFormats = {\n full: \"HH:mm:ss zzzz\",\n long: \"HH:mm:ss z\",\n medium: \"HH:mm:ss\",\n short: \"HH:mm\",\n};\n\nconst dateTimeFormats = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: \"{{date}}, {{time}}\",\n short: \"{{date}}, {{time}}\",\n};\n\nexport const formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: \"full\",\n }),\n\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: \"full\",\n }),\n\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: \"full\",\n }),\n};\n","import { formatDistance } from \"./en-US/_lib/formatDistance.js\";\nimport { formatRelative } from \"./en-US/_lib/formatRelative.js\";\nimport { localize } from \"./en-US/_lib/localize.js\";\nimport { match } from \"./en-US/_lib/match.js\";\n\nimport { formatLong } from \"./en-GB/_lib/formatLong.js\";\n\n/**\n * @category Locales\n * @summary English locale (United Kingdom).\n * @language English\n * @iso-639-2 eng\n * @author Alex [@glintik](https://github.com/glintik)\n */\nexport const enGB = {\n code: \"en-GB\",\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 1 /* Monday */,\n firstWeekContainsDate: 4,\n },\n};\n\n// Fallback for modularized imports:\nexport default enGB;\n","const isString = obj => typeof obj === 'string';\nconst defer = () => {\n let res;\n let rej;\n const promise = new Promise((resolve, reject) => {\n res = resolve;\n rej = reject;\n });\n promise.resolve = res;\n promise.reject = rej;\n return promise;\n};\nconst makeString = object => {\n if (object == null) return '';\n return '' + object;\n};\nconst copy = (a, s, t) => {\n a.forEach(m => {\n if (s[m]) t[m] = s[m];\n });\n};\nconst lastOfPathSeparatorRegExp = /###/g;\nconst cleanKey = key => key && key.indexOf('###') > -1 ? key.replace(lastOfPathSeparatorRegExp, '.') : key;\nconst canNotTraverseDeeper = object => !object || isString(object);\nconst getLastOfPath = (object, path, Empty) => {\n const stack = !isString(path) ? path : path.split('.');\n let stackIndex = 0;\n while (stackIndex < stack.length - 1) {\n if (canNotTraverseDeeper(object)) return {};\n const key = cleanKey(stack[stackIndex]);\n if (!object[key] && Empty) object[key] = new Empty();\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n ++stackIndex;\n }\n if (canNotTraverseDeeper(object)) return {};\n return {\n obj: object,\n k: cleanKey(stack[stackIndex])\n };\n};\nconst setPath = (object, path, newValue) => {\n const {\n obj,\n k\n } = getLastOfPath(object, path, Object);\n if (obj !== undefined || path.length === 1) {\n obj[k] = newValue;\n return;\n }\n let e = path[path.length - 1];\n let p = path.slice(0, path.length - 1);\n let last = getLastOfPath(object, p, Object);\n while (last.obj === undefined && p.length) {\n e = `${p[p.length - 1]}.${e}`;\n p = p.slice(0, p.length - 1);\n last = getLastOfPath(object, p, Object);\n if (last?.obj && typeof last.obj[`${last.k}.${e}`] !== 'undefined') {\n last.obj = undefined;\n }\n }\n last.obj[`${last.k}.${e}`] = newValue;\n};\nconst pushPath = (object, path, newValue, concat) => {\n const {\n obj,\n k\n } = getLastOfPath(object, path, Object);\n obj[k] = obj[k] || [];\n obj[k].push(newValue);\n};\nconst getPath = (object, path) => {\n const {\n obj,\n k\n } = getLastOfPath(object, path);\n if (!obj) return undefined;\n if (!Object.prototype.hasOwnProperty.call(obj, k)) return undefined;\n return obj[k];\n};\nconst getPathWithDefaults = (data, defaultData, key) => {\n const value = getPath(data, key);\n if (value !== undefined) {\n return value;\n }\n return getPath(defaultData, key);\n};\nconst deepExtend = (target, source, overwrite) => {\n for (const prop in source) {\n if (prop !== '__proto__' && prop !== 'constructor') {\n if (prop in target) {\n if (isString(target[prop]) || target[prop] instanceof String || isString(source[prop]) || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n }\n return target;\n};\nconst regexEscape = str => str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\nvar _entityMap = {\n '&': '&amp;',\n '<': '&lt;',\n '>': '&gt;',\n '\"': '&quot;',\n \"'\": '&#39;',\n '/': '&#x2F;'\n};\nconst escape = data => {\n if (isString(data)) {\n return data.replace(/[&<>\"'\\/]/g, s => _entityMap[s]);\n }\n return data;\n};\nclass RegExpCache {\n constructor(capacity) {\n this.capacity = capacity;\n this.regExpMap = new Map();\n this.regExpQueue = [];\n }\n getRegExp(pattern) {\n const regExpFromCache = this.regExpMap.get(pattern);\n if (regExpFromCache !== undefined) {\n return regExpFromCache;\n }\n const regExpNew = new RegExp(pattern);\n if (this.regExpQueue.length === this.capacity) {\n this.regExpMap.delete(this.regExpQueue.shift());\n }\n this.regExpMap.set(pattern, regExpNew);\n this.regExpQueue.push(pattern);\n return regExpNew;\n }\n}\nconst chars = [' ', ',', '?', '!', ';'];\nconst looksLikeObjectPathRegExpCache = new RegExpCache(20);\nconst looksLikeObjectPath = (key, nsSeparator, keySeparator) => {\n nsSeparator = nsSeparator || '';\n keySeparator = keySeparator || '';\n const possibleChars = chars.filter(c => nsSeparator.indexOf(c) < 0 && keySeparator.indexOf(c) < 0);\n if (possibleChars.length === 0) return true;\n const r = looksLikeObjectPathRegExpCache.getRegExp(`(${possibleChars.map(c => c === '?' ? '\\\\?' : c).join('|')})`);\n let matched = !r.test(key);\n if (!matched) {\n const ki = key.indexOf(keySeparator);\n if (ki > 0 && !r.test(key.substring(0, ki))) {\n matched = true;\n }\n }\n return matched;\n};\nconst deepFind = (obj, path, keySeparator = '.') => {\n if (!obj) return undefined;\n if (obj[path]) {\n if (!Object.prototype.hasOwnProperty.call(obj, path)) return undefined;\n return obj[path];\n }\n const tokens = path.split(keySeparator);\n let current = obj;\n for (let i = 0; i < tokens.length;) {\n if (!current || typeof current !== 'object') {\n return undefined;\n }\n let next;\n let nextPath = '';\n for (let j = i; j < tokens.length; ++j) {\n if (j !== i) {\n nextPath += keySeparator;\n }\n nextPath += tokens[j];\n next = current[nextPath];\n if (next !== undefined) {\n if (['string', 'number', 'boolean'].indexOf(typeof next) > -1 && j < tokens.length - 1) {\n continue;\n }\n i += j - i + 1;\n break;\n }\n }\n current = next;\n }\n return current;\n};\nconst getCleanedCode = code => code?.replace('_', '-');\n\nconst consoleLogger = {\n type: 'logger',\n log(args) {\n this.output('log', args);\n },\n warn(args) {\n this.output('warn', args);\n },\n error(args) {\n this.output('error', args);\n },\n output(type, args) {\n console?.[type]?.apply?.(console, args);\n }\n};\nclass Logger {\n constructor(concreteLogger, options = {}) {\n this.init(concreteLogger, options);\n }\n init(concreteLogger, options = {}) {\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n }\n log(...args) {\n return this.forward(args, 'log', '', true);\n }\n warn(...args) {\n return this.forward(args, 'warn', '', true);\n }\n error(...args) {\n return this.forward(args, 'error', '');\n }\n deprecate(...args) {\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n }\n forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (isString(args[0])) args[0] = `${prefix}${this.prefix} ${args[0]}`;\n return this.logger[lvl](args);\n }\n create(moduleName) {\n return new Logger(this.logger, {\n ...{\n prefix: `${this.prefix}:${moduleName}:`\n },\n ...this.options\n });\n }\n clone(options) {\n options = options || this.options;\n options.prefix = options.prefix || this.prefix;\n return new Logger(this.logger, options);\n }\n}\nvar baseLogger = new Logger();\n\nclass EventEmitter {\n constructor() {\n this.observers = {};\n }\n on(events, listener) {\n events.split(' ').forEach(event => {\n if (!this.observers[event]) this.observers[event] = new Map();\n const numListeners = this.observers[event].get(listener) || 0;\n this.observers[event].set(listener, numListeners + 1);\n });\n return this;\n }\n off(event, listener) {\n if (!this.observers[event]) return;\n if (!listener) {\n delete this.observers[event];\n return;\n }\n this.observers[event].delete(listener);\n }\n emit(event, ...args) {\n if (this.observers[event]) {\n const cloned = Array.from(this.observers[event].entries());\n cloned.forEach(([observer, numTimesAdded]) => {\n for (let i = 0; i < numTimesAdded; i++) {\n observer(...args);\n }\n });\n }\n if (this.observers['*']) {\n const cloned = Array.from(this.observers['*'].entries());\n cloned.forEach(([observer, numTimesAdded]) => {\n for (let i = 0; i < numTimesAdded; i++) {\n observer.apply(observer, [event, ...args]);\n }\n });\n }\n }\n}\n\nclass ResourceStore extends EventEmitter {\n constructor(data, options = {\n ns: ['translation'],\n defaultNS: 'translation'\n }) {\n super();\n this.data = data || {};\n this.options = options;\n if (this.options.keySeparator === undefined) {\n this.options.keySeparator = '.';\n }\n if (this.options.ignoreJSONStructure === undefined) {\n this.options.ignoreJSONStructure = true;\n }\n }\n addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n }\n removeNamespaces(ns) {\n const index = this.options.ns.indexOf(ns);\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n }\n getResource(lng, ns, key, options = {}) {\n const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n const ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure;\n let path;\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n } else {\n path = [lng, ns];\n if (key) {\n if (Array.isArray(key)) {\n path.push(...key);\n } else if (isString(key) && keySeparator) {\n path.push(...key.split(keySeparator));\n } else {\n path.push(key);\n }\n }\n }\n const result = getPath(this.data, path);\n if (!result && !ns && !key && lng.indexOf('.') > -1) {\n lng = path[0];\n ns = path[1];\n key = path.slice(2).join('.');\n }\n if (result || !ignoreJSONStructure || !isString(key)) return result;\n return deepFind(this.data?.[lng]?.[ns], key, keySeparator);\n }\n addResource(lng, ns, key, value, options = {\n silent: false\n }) {\n const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n let path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n addResources(lng, ns, resources, options = {\n silent: false\n }) {\n for (const m in resources) {\n if (isString(resources[m]) || Array.isArray(resources[m])) this.addResource(lng, ns, m, resources[m], {\n silent: true\n });\n }\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n addResourceBundle(lng, ns, resources, deep, overwrite, options = {\n silent: false,\n skipCopy: false\n }) {\n let path = [lng, ns];\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n let pack = getPath(this.data, path) || {};\n if (!options.skipCopy) resources = JSON.parse(JSON.stringify(resources));\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = {\n ...pack,\n ...resources\n };\n }\n setPath(this.data, path, pack);\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n }\n hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n }\n getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n return this.getResource(lng, ns);\n }\n getDataByLanguage(lng) {\n return this.data[lng];\n }\n hasLanguageSomeTranslations(lng) {\n const data = this.getDataByLanguage(lng);\n const n = data && Object.keys(data) || [];\n return !!n.find(v => data[v] && Object.keys(data[v]).length > 0);\n }\n toJSON() {\n return this.data;\n }\n}\n\nvar postProcessor = {\n processors: {},\n addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle(processors, value, key, options, translator) {\n processors.forEach(processor => {\n value = this.processors[processor]?.process(value, key, options, translator) ?? value;\n });\n return value;\n }\n};\n\nconst PATH_KEY = Symbol('i18next/PATH_KEY');\nfunction createProxy() {\n const state = [];\n const handler = Object.create(null);\n let proxy;\n handler.get = (target, key) => {\n proxy?.revoke?.();\n if (key === PATH_KEY) return state;\n state.push(key);\n proxy = Proxy.revocable(target, handler);\n return proxy.proxy;\n };\n return Proxy.revocable(Object.create(null), handler).proxy;\n}\nfunction keysFromSelector(selector, opts) {\n const {\n [PATH_KEY]: path\n } = selector(createProxy());\n return path.join(opts?.keySeparator ?? '.');\n}\n\nconst checkedLoadedFor = {};\nconst shouldHandleAsObject = res => !isString(res) && typeof res !== 'boolean' && typeof res !== 'number';\nclass Translator extends EventEmitter {\n constructor(services, options = {}) {\n super();\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, this);\n this.options = options;\n if (this.options.keySeparator === undefined) {\n this.options.keySeparator = '.';\n }\n this.logger = baseLogger.create('translator');\n }\n changeLanguage(lng) {\n if (lng) this.language = lng;\n }\n exists(key, o = {\n interpolation: {}\n }) {\n const opt = {\n ...o\n };\n if (key == null) return false;\n const resolved = this.resolve(key, opt);\n return resolved?.res !== undefined;\n }\n extractFromKey(key, opt) {\n let nsSeparator = opt.nsSeparator !== undefined ? opt.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n const keySeparator = opt.keySeparator !== undefined ? opt.keySeparator : this.options.keySeparator;\n let namespaces = opt.ns || this.options.defaultNS || [];\n const wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1;\n const seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !opt.keySeparator && !this.options.userDefinedNsSeparator && !opt.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator);\n if (wouldCheckForNsInKey && !seemsNaturalLanguage) {\n const m = key.match(this.interpolator.nestingRegexp);\n if (m && m.length > 0) {\n return {\n key,\n namespaces: isString(namespaces) ? [namespaces] : namespaces\n };\n }\n const parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n return {\n key,\n namespaces: isString(namespaces) ? [namespaces] : namespaces\n };\n }\n translate(keys, o, lastKey) {\n let opt = typeof o === 'object' ? {\n ...o\n } : o;\n if (typeof opt !== 'object' && this.options.overloadTranslationOptionHandler) {\n opt = this.options.overloadTranslationOptionHandler(arguments);\n }\n if (typeof opt === 'object') opt = {\n ...opt\n };\n if (!opt) opt = {};\n if (keys == null) return '';\n if (typeof keys === 'function') keys = keysFromSelector(keys, {\n ...this.options,\n ...opt\n });\n if (!Array.isArray(keys)) keys = [String(keys)];\n const returnDetails = opt.returnDetails !== undefined ? opt.returnDetails : this.options.returnDetails;\n const keySeparator = opt.keySeparator !== undefined ? opt.keySeparator : this.options.keySeparator;\n const {\n key,\n namespaces\n } = this.extractFromKey(keys[keys.length - 1], opt);\n const namespace = namespaces[namespaces.length - 1];\n let nsSeparator = opt.nsSeparator !== undefined ? opt.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n const lng = opt.lng || this.language;\n const appendNamespaceToCIMode = opt.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n if (lng?.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n if (returnDetails) {\n return {\n res: `${namespace}${nsSeparator}${key}`,\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace,\n usedParams: this.getUsedParamsDetails(opt)\n };\n }\n return `${namespace}${nsSeparator}${key}`;\n }\n if (returnDetails) {\n return {\n res: key,\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace,\n usedParams: this.getUsedParamsDetails(opt)\n };\n }\n return key;\n }\n const resolved = this.resolve(keys, opt);\n let res = resolved?.res;\n const resUsedKey = resolved?.usedKey || key;\n const resExactUsedKey = resolved?.exactUsedKey || key;\n const noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n const joinArrays = opt.joinArrays !== undefined ? opt.joinArrays : this.options.joinArrays;\n const handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n const needsPluralHandling = opt.count !== undefined && !isString(opt.count);\n const hasDefaultValue = Translator.hasDefaultValue(opt);\n const defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, opt.count, opt) : '';\n const defaultValueSuffixOrdinalFallback = opt.ordinal && needsPluralHandling ? this.pluralResolver.getSuffix(lng, opt.count, {\n ordinal: false\n }) : '';\n const needsZeroSuffixLookup = needsPluralHandling && !opt.ordinal && opt.count === 0;\n const defaultValue = needsZeroSuffixLookup && opt[`defaultValue${this.options.pluralSeparator}zero`] || opt[`defaultValue${defaultValueSuffix}`] || opt[`defaultValue${defaultValueSuffixOrdinalFallback}`] || opt.defaultValue;\n let resForObjHndl = res;\n if (handleAsObjectInI18nFormat && !res && hasDefaultValue) {\n resForObjHndl = defaultValue;\n }\n const handleAsObject = shouldHandleAsObject(resForObjHndl);\n const resType = Object.prototype.toString.apply(resForObjHndl);\n if (handleAsObjectInI18nFormat && resForObjHndl && handleAsObject && noObject.indexOf(resType) < 0 && !(isString(joinArrays) && Array.isArray(resForObjHndl))) {\n if (!opt.returnObjects && !this.options.returnObjects) {\n if (!this.options.returnedObjectHandler) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n }\n const r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, resForObjHndl, {\n ...opt,\n ns: namespaces\n }) : `key '${key} (${this.language})' returned an object instead of string.`;\n if (returnDetails) {\n resolved.res = r;\n resolved.usedParams = this.getUsedParamsDetails(opt);\n return resolved;\n }\n return r;\n }\n if (keySeparator) {\n const resTypeIsArray = Array.isArray(resForObjHndl);\n const copy = resTypeIsArray ? [] : {};\n const newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n for (const m in resForObjHndl) {\n if (Object.prototype.hasOwnProperty.call(resForObjHndl, m)) {\n const deepKey = `${newKeyToUse}${keySeparator}${m}`;\n if (hasDefaultValue && !res) {\n copy[m] = this.translate(deepKey, {\n ...opt,\n defaultValue: shouldHandleAsObject(defaultValue) ? defaultValue[m] : undefined,\n ...{\n joinArrays: false,\n ns: namespaces\n }\n });\n } else {\n copy[m] = this.translate(deepKey, {\n ...opt,\n ...{\n joinArrays: false,\n ns: namespaces\n }\n });\n }\n if (copy[m] === deepKey) copy[m] = resForObjHndl[m];\n }\n }\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && isString(joinArrays) && Array.isArray(res)) {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, opt, lastKey);\n } else {\n let usedDefault = false;\n let usedKey = false;\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n const missingKeyNoValueFallbackToKey = opt.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey;\n const resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res;\n const updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n if (keySeparator) {\n const fk = this.resolve(key, {\n ...opt,\n keySeparator: false\n });\n if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.');\n }\n let lngs = [];\n const fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, opt.lng || this.language);\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (let i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(opt.lng || this.language);\n } else {\n lngs.push(opt.lng || this.language);\n }\n const send = (l, k, specificDefaultValue) => {\n const defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing;\n if (this.options.missingKeyHandler) {\n this.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, opt);\n } else if (this.backendConnector?.saveMissing) {\n this.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, opt);\n }\n this.emit('missingKey', l, namespace, k, res);\n };\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(language => {\n const suffixes = this.pluralResolver.getSuffixes(language, opt);\n if (needsZeroSuffixLookup && opt[`defaultValue${this.options.pluralSeparator}zero`] && suffixes.indexOf(`${this.options.pluralSeparator}zero`) < 0) {\n suffixes.push(`${this.options.pluralSeparator}zero`);\n }\n suffixes.forEach(suffix => {\n send([language], key + suffix, opt[`defaultValue${suffix}`] || defaultValue);\n });\n });\n } else {\n send(lngs, key, defaultValue);\n }\n }\n }\n res = this.extendTranslation(res, keys, opt, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) {\n res = `${namespace}${nsSeparator}${key}`;\n }\n if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) {\n res = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? `${namespace}${nsSeparator}${key}` : key, usedDefault ? res : undefined, opt);\n }\n }\n if (returnDetails) {\n resolved.res = res;\n resolved.usedParams = this.getUsedParamsDetails(opt);\n return resolved;\n }\n return res;\n }\n extendTranslation(res, key, opt, resolved, lastKey) {\n if (this.i18nFormat?.parse) {\n res = this.i18nFormat.parse(res, {\n ...this.options.interpolation.defaultVariables,\n ...opt\n }, opt.lng || this.language || resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved\n });\n } else if (!opt.skipInterpolation) {\n if (opt.interpolation) this.interpolator.init({\n ...opt,\n ...{\n interpolation: {\n ...this.options.interpolation,\n ...opt.interpolation\n }\n }\n });\n const skipOnVariables = isString(res) && (opt?.interpolation?.skipOnVariables !== undefined ? opt.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables);\n let nestBef;\n if (skipOnVariables) {\n const nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n let data = opt.replace && !isString(opt.replace) ? opt.replace : opt;\n if (this.options.interpolation.defaultVariables) data = {\n ...this.options.interpolation.defaultVariables,\n ...data\n };\n res = this.interpolator.interpolate(res, data, opt.lng || this.language || resolved.usedLng, opt);\n if (skipOnVariables) {\n const na = res.match(this.interpolator.nestingRegexp);\n const nestAft = na && na.length;\n if (nestBef < nestAft) opt.nest = false;\n }\n if (!opt.lng && resolved && resolved.res) opt.lng = this.language || resolved.usedLng;\n if (opt.nest !== false) res = this.interpolator.nest(res, (...args) => {\n if (lastKey?.[0] === args[0] && !opt.context) {\n this.logger.warn(`It seems you are nesting recursively key: ${args[0]} in key: ${key[0]}`);\n return null;\n }\n return this.translate(...args, key);\n }, opt);\n if (opt.interpolation) this.interpolator.reset();\n }\n const postProcess = opt.postProcess || this.options.postProcess;\n const postProcessorNames = isString(postProcess) ? [postProcess] : postProcess;\n if (res != null && postProcessorNames?.length && opt.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? {\n i18nResolved: {\n ...resolved,\n usedParams: this.getUsedParamsDetails(opt)\n },\n ...opt\n } : opt, this);\n }\n return res;\n }\n resolve(keys, opt = {}) {\n let found;\n let usedKey;\n let exactUsedKey;\n let usedLng;\n let usedNS;\n if (isString(keys)) keys = [keys];\n keys.forEach(k => {\n if (this.isValidLookup(found)) return;\n const extracted = this.extractFromKey(k, opt);\n const key = extracted.key;\n usedKey = key;\n let namespaces = extracted.namespaces;\n if (this.options.fallbackNS) namespaces = namespaces.concat(this.options.fallbackNS);\n const needsPluralHandling = opt.count !== undefined && !isString(opt.count);\n const needsZeroSuffixLookup = needsPluralHandling && !opt.ordinal && opt.count === 0;\n const needsContextHandling = opt.context !== undefined && (isString(opt.context) || typeof opt.context === 'number') && opt.context !== '';\n const codes = opt.lngs ? opt.lngs : this.languageUtils.toResolveHierarchy(opt.lng || this.language, opt.fallbackLng);\n namespaces.forEach(ns => {\n if (this.isValidLookup(found)) return;\n usedNS = ns;\n if (!checkedLoadedFor[`${codes[0]}-${ns}`] && this.utils?.hasLoadedNamespace && !this.utils?.hasLoadedNamespace(usedNS)) {\n checkedLoadedFor[`${codes[0]}-${ns}`] = true;\n this.logger.warn(`key \"${usedKey}\" for languages \"${codes.join(', ')}\" won't get resolved as namespace \"${usedNS}\" was not yet loaded`, 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n }\n codes.forEach(code => {\n if (this.isValidLookup(found)) return;\n usedLng = code;\n const finalKeys = [key];\n if (this.i18nFormat?.addLookupKeys) {\n this.i18nFormat.addLookupKeys(finalKeys, key, code, ns, opt);\n } else {\n let pluralSuffix;\n if (needsPluralHandling) pluralSuffix = this.pluralResolver.getSuffix(code, opt.count, opt);\n const zeroSuffix = `${this.options.pluralSeparator}zero`;\n const ordinalPrefix = `${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;\n if (needsPluralHandling) {\n if (opt.ordinal && pluralSuffix.indexOf(ordinalPrefix) === 0) {\n finalKeys.push(key + pluralSuffix.replace(ordinalPrefix, this.options.pluralSeparator));\n }\n finalKeys.push(key + pluralSuffix);\n if (needsZeroSuffixLookup) {\n finalKeys.push(key + zeroSuffix);\n }\n }\n if (needsContextHandling) {\n const contextKey = `${key}${this.options.contextSeparator || '_'}${opt.context}`;\n finalKeys.push(contextKey);\n if (needsPluralHandling) {\n if (opt.ordinal && pluralSuffix.indexOf(ordinalPrefix) === 0) {\n finalKeys.push(contextKey + pluralSuffix.replace(ordinalPrefix, this.options.pluralSeparator));\n }\n finalKeys.push(contextKey + pluralSuffix);\n if (needsZeroSuffixLookup) {\n finalKeys.push(contextKey + zeroSuffix);\n }\n }\n }\n }\n let possibleKey;\n while (possibleKey = finalKeys.pop()) {\n if (!this.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = this.getResource(code, ns, possibleKey, opt);\n }\n }\n });\n });\n });\n return {\n res: found,\n usedKey,\n exactUsedKey,\n usedLng,\n usedNS\n };\n }\n isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n }\n getResource(code, ns, key, options = {}) {\n if (this.i18nFormat?.getResource) return this.i18nFormat.getResource(code, ns, key, options);\n return this.resourceStore.getResource(code, ns, key, options);\n }\n getUsedParamsDetails(options = {}) {\n const optionsKeys = ['defaultValue', 'ordinal', 'context', 'replace', 'lng', 'lngs', 'fallbackLng', 'ns', 'keySeparator', 'nsSeparator', 'returnObjects', 'returnDetails', 'joinArrays', 'postProcess', 'interpolation'];\n const useOptionsReplaceForData = options.replace && !isString(options.replace);\n let data = useOptionsReplaceForData ? options.replace : options;\n if (useOptionsReplaceForData && typeof options.count !== 'undefined') {\n data.count = options.count;\n }\n if (this.options.interpolation.defaultVariables) {\n data = {\n ...this.options.interpolation.defaultVariables,\n ...data\n };\n }\n if (!useOptionsReplaceForData) {\n data = {\n ...data\n };\n for (const key of optionsKeys) {\n delete data[key];\n }\n }\n return data;\n }\n static hasDefaultValue(options) {\n const prefix = 'defaultValue';\n for (const option in options) {\n if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) {\n return true;\n }\n }\n return false;\n }\n}\n\nclass LanguageUtil {\n constructor(options) {\n this.options = options;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\n getScriptPartFromCode(code) {\n code = getCleanedCode(code);\n if (!code || code.indexOf('-') < 0) return null;\n const p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n if (p[p.length - 1].toLowerCase() === 'x') return null;\n return this.formatLanguageCode(p.join('-'));\n }\n getLanguagePartFromCode(code) {\n code = getCleanedCode(code);\n if (!code || code.indexOf('-') < 0) return code;\n const p = code.split('-');\n return this.formatLanguageCode(p[0]);\n }\n formatLanguageCode(code) {\n if (isString(code) && code.indexOf('-') > -1) {\n let formattedCode;\n try {\n formattedCode = Intl.getCanonicalLocales(code)[0];\n } catch (e) {}\n if (formattedCode && this.options.lowerCaseLng) {\n formattedCode = formattedCode.toLowerCase();\n }\n if (formattedCode) return formattedCode;\n if (this.options.lowerCaseLng) {\n return code.toLowerCase();\n }\n return code;\n }\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n isSupportedCode(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) {\n code = this.getLanguagePartFromCode(code);\n }\n return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1;\n }\n getBestMatchFromCodes(codes) {\n if (!codes) return null;\n let found;\n codes.forEach(code => {\n if (found) return;\n const cleanedLng = this.formatLanguageCode(code);\n if (!this.options.supportedLngs || this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n if (!found && this.options.supportedLngs) {\n codes.forEach(code => {\n if (found) return;\n const lngScOnly = this.getScriptPartFromCode(code);\n if (this.isSupportedCode(lngScOnly)) return found = lngScOnly;\n const lngOnly = this.getLanguagePartFromCode(code);\n if (this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = this.options.supportedLngs.find(supportedLng => {\n if (supportedLng === lngOnly) return supportedLng;\n if (supportedLng.indexOf('-') < 0 && lngOnly.indexOf('-') < 0) return;\n if (supportedLng.indexOf('-') > 0 && lngOnly.indexOf('-') < 0 && supportedLng.substring(0, supportedLng.indexOf('-')) === lngOnly) return supportedLng;\n if (supportedLng.indexOf(lngOnly) === 0 && lngOnly.length > 1) return supportedLng;\n });\n });\n }\n if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0];\n return found;\n }\n getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'function') fallbacks = fallbacks(code);\n if (isString(fallbacks)) fallbacks = [fallbacks];\n if (Array.isArray(fallbacks)) return fallbacks;\n if (!code) return fallbacks.default || [];\n let found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks[this.getLanguagePartFromCode(code)];\n if (!found) found = fallbacks.default;\n return found || [];\n }\n toResolveHierarchy(code, fallbackCode) {\n const fallbackCodes = this.getFallbackCodes((fallbackCode === false ? [] : fallbackCode) || this.options.fallbackLng || [], code);\n const codes = [];\n const addCode = c => {\n if (!c) return;\n if (this.isSupportedCode(c)) {\n codes.push(c);\n } else {\n this.logger.warn(`rejecting language code not found in supportedLngs: ${c}`);\n }\n };\n if (isString(code) && (code.indexOf('-') > -1 || code.indexOf('_') > -1)) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (isString(code)) {\n addCode(this.formatLanguageCode(code));\n }\n fallbackCodes.forEach(fc => {\n if (codes.indexOf(fc) < 0) addCode(this.formatLanguageCode(fc));\n });\n return codes;\n }\n}\n\nconst suffixesOrder = {\n zero: 0,\n one: 1,\n two: 2,\n few: 3,\n many: 4,\n other: 5\n};\nconst dummyRule = {\n select: count => count === 1 ? 'one' : 'other',\n resolvedOptions: () => ({\n pluralCategories: ['one', 'other']\n })\n};\nclass PluralResolver {\n constructor(languageUtils, options = {}) {\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n this.pluralRulesCache = {};\n }\n addRule(lng, obj) {\n this.rules[lng] = obj;\n }\n clearCache() {\n this.pluralRulesCache = {};\n }\n getRule(code, options = {}) {\n const cleanedCode = getCleanedCode(code === 'dev' ? 'en' : code);\n const type = options.ordinal ? 'ordinal' : 'cardinal';\n const cacheKey = JSON.stringify({\n cleanedCode,\n type\n });\n if (cacheKey in this.pluralRulesCache) {\n return this.pluralRulesCache[cacheKey];\n }\n let rule;\n try {\n rule = new Intl.PluralRules(cleanedCode, {\n type\n });\n } catch (err) {\n if (!Intl) {\n this.logger.error('No Intl support, please use an Intl polyfill!');\n return dummyRule;\n }\n if (!code.match(/-|_/)) return dummyRule;\n const lngPart = this.languageUtils.getLanguagePartFromCode(code);\n rule = this.getRule(lngPart, options);\n }\n this.pluralRulesCache[cacheKey] = rule;\n return rule;\n }\n needsPlural(code, options = {}) {\n let rule = this.getRule(code, options);\n if (!rule) rule = this.getRule('dev', options);\n return rule?.resolvedOptions().pluralCategories.length > 1;\n }\n getPluralFormsOfKey(code, key, options = {}) {\n return this.getSuffixes(code, options).map(suffix => `${key}${suffix}`);\n }\n getSuffixes(code, options = {}) {\n let rule = this.getRule(code, options);\n if (!rule) rule = this.getRule('dev', options);\n if (!rule) return [];\n return rule.resolvedOptions().pluralCategories.sort((pluralCategory1, pluralCategory2) => suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2]).map(pluralCategory => `${this.options.prepend}${options.ordinal ? `ordinal${this.options.prepend}` : ''}${pluralCategory}`);\n }\n getSuffix(code, count, options = {}) {\n const rule = this.getRule(code, options);\n if (rule) {\n return `${this.options.prepend}${options.ordinal ? `ordinal${this.options.prepend}` : ''}${rule.select(count)}`;\n }\n this.logger.warn(`no plural rule found for: ${code}`);\n return this.getSuffix('dev', count, options);\n }\n}\n\nconst deepFindWithDefaults = (data, defaultData, key, keySeparator = '.', ignoreJSONStructure = true) => {\n let path = getPathWithDefaults(data, defaultData, key);\n if (!path && ignoreJSONStructure && isString(key)) {\n path = deepFind(data, key, keySeparator);\n if (path === undefined) path = deepFind(defaultData, key, keySeparator);\n }\n return path;\n};\nconst regexSafe = val => val.replace(/\\$/g, '$$$$');\nclass Interpolator {\n constructor(options = {}) {\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n this.format = options?.interpolation?.format || (value => value);\n this.init(options);\n }\n init(options = {}) {\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n const {\n escape: escape$1,\n escapeValue,\n useRawValueToEscape,\n prefix,\n prefixEscaped,\n suffix,\n suffixEscaped,\n formatSeparator,\n unescapeSuffix,\n unescapePrefix,\n nestingPrefix,\n nestingPrefixEscaped,\n nestingSuffix,\n nestingSuffixEscaped,\n nestingOptionsSeparator,\n maxReplaces,\n alwaysFormat\n } = options.interpolation;\n this.escape = escape$1 !== undefined ? escape$1 : escape;\n this.escapeValue = escapeValue !== undefined ? escapeValue : true;\n this.useRawValueToEscape = useRawValueToEscape !== undefined ? useRawValueToEscape : false;\n this.prefix = prefix ? regexEscape(prefix) : prefixEscaped || '{{';\n this.suffix = suffix ? regexEscape(suffix) : suffixEscaped || '}}';\n this.formatSeparator = formatSeparator || ',';\n this.unescapePrefix = unescapeSuffix ? '' : unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : unescapeSuffix || '';\n this.nestingPrefix = nestingPrefix ? regexEscape(nestingPrefix) : nestingPrefixEscaped || regexEscape('$t(');\n this.nestingSuffix = nestingSuffix ? regexEscape(nestingSuffix) : nestingSuffixEscaped || regexEscape(')');\n this.nestingOptionsSeparator = nestingOptionsSeparator || ',';\n this.maxReplaces = maxReplaces || 1000;\n this.alwaysFormat = alwaysFormat !== undefined ? alwaysFormat : false;\n this.resetRegExp();\n }\n reset() {\n if (this.options) this.init(this.options);\n }\n resetRegExp() {\n const getOrResetRegExp = (existingRegExp, pattern) => {\n if (existingRegExp?.source === pattern) {\n existingRegExp.lastIndex = 0;\n return existingRegExp;\n }\n return new RegExp(pattern, 'g');\n };\n this.regexp = getOrResetRegExp(this.regexp, `${this.prefix}(.+?)${this.suffix}`);\n this.regexpUnescape = getOrResetRegExp(this.regexpUnescape, `${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`);\n this.nestingRegexp = getOrResetRegExp(this.nestingRegexp, `${this.nestingPrefix}((?:[^()\"']+|\"[^\"]*\"|'[^']*'|\\\\((?:[^()]|\"[^\"]*\"|'[^']*')*\\\\))*?)${this.nestingSuffix}`);\n }\n interpolate(str, data, lng, options) {\n let match;\n let value;\n let replaces;\n const defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n const handleFormat = key => {\n if (key.indexOf(this.formatSeparator) < 0) {\n const path = deepFindWithDefaults(data, defaultData, key, this.options.keySeparator, this.options.ignoreJSONStructure);\n return this.alwaysFormat ? this.format(path, undefined, lng, {\n ...options,\n ...data,\n interpolationkey: key\n }) : path;\n }\n const p = key.split(this.formatSeparator);\n const k = p.shift().trim();\n const f = p.join(this.formatSeparator).trim();\n return this.format(deepFindWithDefaults(data, defaultData, k, this.options.keySeparator, this.options.ignoreJSONStructure), f, lng, {\n ...options,\n ...data,\n interpolationkey: k\n });\n };\n this.resetRegExp();\n const missingInterpolationHandler = options?.missingInterpolationHandler || this.options.missingInterpolationHandler;\n const skipOnVariables = options?.interpolation?.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables;\n const todos = [{\n regex: this.regexpUnescape,\n safeValue: val => regexSafe(val)\n }, {\n regex: this.regexp,\n safeValue: val => this.escapeValue ? regexSafe(this.escape(val)) : regexSafe(val)\n }];\n todos.forEach(todo => {\n replaces = 0;\n while (match = todo.regex.exec(str)) {\n const matchedVar = match[1].trim();\n value = handleFormat(matchedVar);\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n const temp = missingInterpolationHandler(str, match, options);\n value = isString(temp) ? temp : '';\n } else if (options && Object.prototype.hasOwnProperty.call(options, matchedVar)) {\n value = '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n this.logger.warn(`missed to pass in variable ${matchedVar} for interpolating ${str}`);\n value = '';\n }\n } else if (!isString(value) && !this.useRawValueToEscape) {\n value = makeString(value);\n }\n const safeValue = todo.safeValue(value);\n str = str.replace(match[0], safeValue);\n if (skipOnVariables) {\n todo.regex.lastIndex += value.length;\n todo.regex.lastIndex -= match[0].length;\n } else {\n todo.regex.lastIndex = 0;\n }\n replaces++;\n if (replaces >= this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n nest(str, fc, options = {}) {\n let match;\n let value;\n let clonedOptions;\n const handleHasOptions = (key, inheritedOptions) => {\n const sep = this.nestingOptionsSeparator;\n if (key.indexOf(sep) < 0) return key;\n const c = key.split(new RegExp(`${sep}[ ]*{`));\n let optionsString = `{${c[1]}`;\n key = c[0];\n optionsString = this.interpolate(optionsString, clonedOptions);\n const matchedSingleQuotes = optionsString.match(/'/g);\n const matchedDoubleQuotes = optionsString.match(/\"/g);\n if ((matchedSingleQuotes?.length ?? 0) % 2 === 0 && !matchedDoubleQuotes || matchedDoubleQuotes.length % 2 !== 0) {\n optionsString = optionsString.replace(/'/g, '\"');\n }\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = {\n ...inheritedOptions,\n ...clonedOptions\n };\n } catch (e) {\n this.logger.warn(`failed parsing options string in nesting for key ${key}`, e);\n return `${key}${sep}${optionsString}`;\n }\n if (clonedOptions.defaultValue && clonedOptions.defaultValue.indexOf(this.prefix) > -1) delete clonedOptions.defaultValue;\n return key;\n };\n while (match = this.nestingRegexp.exec(str)) {\n let formatters = [];\n clonedOptions = {\n ...options\n };\n clonedOptions = clonedOptions.replace && !isString(clonedOptions.replace) ? clonedOptions.replace : clonedOptions;\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n const keyEndIndex = /{.*}/.test(match[1]) ? match[1].lastIndexOf('}') + 1 : match[1].indexOf(this.formatSeparator);\n if (keyEndIndex !== -1) {\n formatters = match[1].slice(keyEndIndex).split(this.formatSeparator).map(elem => elem.trim()).filter(Boolean);\n match[1] = match[1].slice(0, keyEndIndex);\n }\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && !isString(value)) return value;\n if (!isString(value)) value = makeString(value);\n if (!value) {\n this.logger.warn(`missed to resolve ${match[1]} for nesting ${str}`);\n value = '';\n }\n if (formatters.length) {\n value = formatters.reduce((v, f) => this.format(v, f, options.lng, {\n ...options,\n interpolationkey: match[1].trim()\n }), value.trim());\n }\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n return str;\n }\n}\n\nconst parseFormatStr = formatStr => {\n let formatName = formatStr.toLowerCase().trim();\n const formatOptions = {};\n if (formatStr.indexOf('(') > -1) {\n const p = formatStr.split('(');\n formatName = p[0].toLowerCase().trim();\n const optStr = p[1].substring(0, p[1].length - 1);\n if (formatName === 'currency' && optStr.indexOf(':') < 0) {\n if (!formatOptions.currency) formatOptions.currency = optStr.trim();\n } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) {\n if (!formatOptions.range) formatOptions.range = optStr.trim();\n } else {\n const opts = optStr.split(';');\n opts.forEach(opt => {\n if (opt) {\n const [key, ...rest] = opt.split(':');\n const val = rest.join(':').trim().replace(/^'+|'+$/g, '');\n const trimmedKey = key.trim();\n if (!formatOptions[trimmedKey]) formatOptions[trimmedKey] = val;\n if (val === 'false') formatOptions[trimmedKey] = false;\n if (val === 'true') formatOptions[trimmedKey] = true;\n if (!isNaN(val)) formatOptions[trimmedKey] = parseInt(val, 10);\n }\n });\n }\n }\n return {\n formatName,\n formatOptions\n };\n};\nconst createCachedFormatter = fn => {\n const cache = {};\n return (v, l, o) => {\n let optForCache = o;\n if (o && o.interpolationkey && o.formatParams && o.formatParams[o.interpolationkey] && o[o.interpolationkey]) {\n optForCache = {\n ...optForCache,\n [o.interpolationkey]: undefined\n };\n }\n const key = l + JSON.stringify(optForCache);\n let frm = cache[key];\n if (!frm) {\n frm = fn(getCleanedCode(l), o);\n cache[key] = frm;\n }\n return frm(v);\n };\n};\nconst createNonCachedFormatter = fn => (v, l, o) => fn(getCleanedCode(l), o)(v);\nclass Formatter {\n constructor(options = {}) {\n this.logger = baseLogger.create('formatter');\n this.options = options;\n this.init(options);\n }\n init(services, options = {\n interpolation: {}\n }) {\n this.formatSeparator = options.interpolation.formatSeparator || ',';\n const cf = options.cacheInBuiltFormats ? createCachedFormatter : createNonCachedFormatter;\n this.formats = {\n number: cf((lng, opt) => {\n const formatter = new Intl.NumberFormat(lng, {\n ...opt\n });\n return val => formatter.format(val);\n }),\n currency: cf((lng, opt) => {\n const formatter = new Intl.NumberFormat(lng, {\n ...opt,\n style: 'currency'\n });\n return val => formatter.format(val);\n }),\n datetime: cf((lng, opt) => {\n const formatter = new Intl.DateTimeFormat(lng, {\n ...opt\n });\n return val => formatter.format(val);\n }),\n relativetime: cf((lng, opt) => {\n const formatter = new Intl.RelativeTimeFormat(lng, {\n ...opt\n });\n return val => formatter.format(val, opt.range || 'day');\n }),\n list: cf((lng, opt) => {\n const formatter = new Intl.ListFormat(lng, {\n ...opt\n });\n return val => formatter.format(val);\n })\n };\n }\n add(name, fc) {\n this.formats[name.toLowerCase().trim()] = fc;\n }\n addCached(name, fc) {\n this.formats[name.toLowerCase().trim()] = createCachedFormatter(fc);\n }\n format(value, format, lng, options = {}) {\n const formats = format.split(this.formatSeparator);\n if (formats.length > 1 && formats[0].indexOf('(') > 1 && formats[0].indexOf(')') < 0 && formats.find(f => f.indexOf(')') > -1)) {\n const lastIndex = formats.findIndex(f => f.indexOf(')') > -1);\n formats[0] = [formats[0], ...formats.splice(1, lastIndex)].join(this.formatSeparator);\n }\n const result = formats.reduce((mem, f) => {\n const {\n formatName,\n formatOptions\n } = parseFormatStr(f);\n if (this.formats[formatName]) {\n let formatted = mem;\n try {\n const valOptions = options?.formatParams?.[options.interpolationkey] || {};\n const l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng;\n formatted = this.formats[formatName](mem, l, {\n ...formatOptions,\n ...options,\n ...valOptions\n });\n } catch (error) {\n this.logger.warn(error);\n }\n return formatted;\n } else {\n this.logger.warn(`there was no format function for ${formatName}`);\n }\n return mem;\n }, value);\n return result;\n }\n}\n\nconst removePending = (q, name) => {\n if (q.pending[name] !== undefined) {\n delete q.pending[name];\n q.pendingCount--;\n }\n};\nclass Connector extends EventEmitter {\n constructor(backend, store, services, options = {}) {\n super();\n this.backend = backend;\n this.store = store;\n this.services = services;\n this.languageUtils = services.languageUtils;\n this.options = options;\n this.logger = baseLogger.create('backendConnector');\n this.waitingReads = [];\n this.maxParallelReads = options.maxParallelReads || 10;\n this.readingCalls = 0;\n this.maxRetries = options.maxRetries >= 0 ? options.maxRetries : 5;\n this.retryTimeout = options.retryTimeout >= 1 ? options.retryTimeout : 350;\n this.state = {};\n this.queue = [];\n this.backend?.init?.(services, options.backend, options);\n }\n queueLoad(languages, namespaces, options, callback) {\n const toLoad = {};\n const pending = {};\n const toLoadLanguages = {};\n const toLoadNamespaces = {};\n languages.forEach(lng => {\n let hasAllNamespaces = true;\n namespaces.forEach(ns => {\n const name = `${lng}|${ns}`;\n if (!options.reload && this.store.hasResourceBundle(lng, ns)) {\n this.state[name] = 2;\n } else if (this.state[name] < 0) ; else if (this.state[name] === 1) {\n if (pending[name] === undefined) pending[name] = true;\n } else {\n this.state[name] = 1;\n hasAllNamespaces = false;\n if (pending[name] === undefined) pending[name] = true;\n if (toLoad[name] === undefined) toLoad[name] = true;\n if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true;\n }\n });\n if (!hasAllNamespaces) toLoadLanguages[lng] = true;\n });\n if (Object.keys(toLoad).length || Object.keys(pending).length) {\n this.queue.push({\n pending,\n pendingCount: Object.keys(pending).length,\n loaded: {},\n errors: [],\n callback\n });\n }\n return {\n toLoad: Object.keys(toLoad),\n pending: Object.keys(pending),\n toLoadLanguages: Object.keys(toLoadLanguages),\n toLoadNamespaces: Object.keys(toLoadNamespaces)\n };\n }\n loaded(name, err, data) {\n const s = name.split('|');\n const lng = s[0];\n const ns = s[1];\n if (err) this.emit('failedLoading', lng, ns, err);\n if (!err && data) {\n this.store.addResourceBundle(lng, ns, data, undefined, undefined, {\n skipCopy: true\n });\n }\n this.state[name] = err ? -1 : 2;\n if (err && data) this.state[name] = 0;\n const loaded = {};\n this.queue.forEach(q => {\n pushPath(q.loaded, [lng], ns);\n removePending(q, name);\n if (err) q.errors.push(err);\n if (q.pendingCount === 0 && !q.done) {\n Object.keys(q.loaded).forEach(l => {\n if (!loaded[l]) loaded[l] = {};\n const loadedKeys = q.loaded[l];\n if (loadedKeys.length) {\n loadedKeys.forEach(n => {\n if (loaded[l][n] === undefined) loaded[l][n] = true;\n });\n }\n });\n q.done = true;\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n this.emit('loaded', loaded);\n this.queue = this.queue.filter(q => !q.done);\n }\n read(lng, ns, fcName, tried = 0, wait = this.retryTimeout, callback) {\n if (!lng.length) return callback(null, {});\n if (this.readingCalls >= this.maxParallelReads) {\n this.waitingReads.push({\n lng,\n ns,\n fcName,\n tried,\n wait,\n callback\n });\n return;\n }\n this.readingCalls++;\n const resolver = (err, data) => {\n this.readingCalls--;\n if (this.waitingReads.length > 0) {\n const next = this.waitingReads.shift();\n this.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback);\n }\n if (err && data && tried < this.maxRetries) {\n setTimeout(() => {\n this.read.call(this, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n callback(err, data);\n };\n const fc = this.backend[fcName].bind(this.backend);\n if (fc.length === 2) {\n try {\n const r = fc(lng, ns);\n if (r && typeof r.then === 'function') {\n r.then(data => resolver(null, data)).catch(resolver);\n } else {\n resolver(null, r);\n }\n } catch (err) {\n resolver(err);\n }\n return;\n }\n return fc(lng, ns, resolver);\n }\n prepareLoading(languages, namespaces, options = {}, callback) {\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n if (isString(languages)) languages = this.languageUtils.toResolveHierarchy(languages);\n if (isString(namespaces)) namespaces = [namespaces];\n const toLoad = this.queueLoad(languages, namespaces, options, callback);\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n toLoad.toLoad.forEach(name => {\n this.loadOne(name);\n });\n }\n load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n }\n reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {\n reload: true\n }, callback);\n }\n loadOne(name, prefix = '') {\n const s = name.split('|');\n const lng = s[0];\n const ns = s[1];\n this.read(lng, ns, 'read', undefined, undefined, (err, data) => {\n if (err) this.logger.warn(`${prefix}loading namespace ${ns} for language ${lng} failed`, err);\n if (!err && data) this.logger.log(`${prefix}loaded namespace ${ns} for language ${lng}`, data);\n this.loaded(name, err, data);\n });\n }\n saveMissing(languages, namespace, key, fallbackValue, isUpdate, options = {}, clb = () => {}) {\n if (this.services?.utils?.hasLoadedNamespace && !this.services?.utils?.hasLoadedNamespace(namespace)) {\n this.logger.warn(`did not save key \"${key}\" as the namespace \"${namespace}\" was not yet loaded`, 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n return;\n }\n if (key === undefined || key === null || key === '') return;\n if (this.backend?.create) {\n const opts = {\n ...options,\n isUpdate\n };\n const fc = this.backend.create.bind(this.backend);\n if (fc.length < 6) {\n try {\n let r;\n if (fc.length === 5) {\n r = fc(languages, namespace, key, fallbackValue, opts);\n } else {\n r = fc(languages, namespace, key, fallbackValue);\n }\n if (r && typeof r.then === 'function') {\n r.then(data => clb(null, data)).catch(clb);\n } else {\n clb(null, r);\n }\n } catch (err) {\n clb(err);\n }\n } else {\n fc(languages, namespace, key, fallbackValue, clb, opts);\n }\n }\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n}\n\nconst get = () => ({\n debug: false,\n initAsync: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n supportedLngs: false,\n nonExplicitSupportedLngs: false,\n load: 'all',\n preload: false,\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n partialBundledLanguages: false,\n saveMissing: false,\n updateMissing: false,\n saveMissingTo: 'fallback',\n saveMissingPlurals: true,\n missingKeyHandler: false,\n missingInterpolationHandler: false,\n postProcess: false,\n postProcessPassResolved: false,\n returnNull: false,\n returnEmptyString: true,\n returnObjects: false,\n joinArrays: false,\n returnedObjectHandler: false,\n parseMissingKeyHandler: false,\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: args => {\n let ret = {};\n if (typeof args[1] === 'object') ret = args[1];\n if (isString(args[1])) ret.defaultValue = args[1];\n if (isString(args[2])) ret.tDescription = args[2];\n if (typeof args[2] === 'object' || typeof args[3] === 'object') {\n const options = args[3] || args[2];\n Object.keys(options).forEach(key => {\n ret[key] = options[key];\n });\n }\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: value => value,\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n nestingOptionsSeparator: ',',\n maxReplaces: 1000,\n skipOnVariables: true\n },\n cacheInBuiltFormats: true\n});\nconst transformOptions = options => {\n if (isString(options.ns)) options.ns = [options.ns];\n if (isString(options.fallbackLng)) options.fallbackLng = [options.fallbackLng];\n if (isString(options.fallbackNS)) options.fallbackNS = [options.fallbackNS];\n if (options.supportedLngs?.indexOf?.('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n if (typeof options.initImmediate === 'boolean') options.initAsync = options.initImmediate;\n return options;\n};\n\nconst noop = () => {};\nconst bindMemberFunctions = inst => {\n const mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst));\n mems.forEach(mem => {\n if (typeof inst[mem] === 'function') {\n inst[mem] = inst[mem].bind(inst);\n }\n });\n};\nclass I18n extends EventEmitter {\n constructor(options = {}, callback) {\n super();\n this.options = transformOptions(options);\n this.services = {};\n this.logger = baseLogger;\n this.modules = {\n external: []\n };\n bindMemberFunctions(this);\n if (callback && !this.isInitialized && !options.isClone) {\n if (!this.options.initAsync) {\n this.init(options, callback);\n return this;\n }\n setTimeout(() => {\n this.init(options, callback);\n }, 0);\n }\n }\n init(options = {}, callback) {\n this.isInitializing = true;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n if (options.defaultNS == null && options.ns) {\n if (isString(options.ns)) {\n options.defaultNS = options.ns;\n } else if (options.ns.indexOf('translation') < 0) {\n options.defaultNS = options.ns[0];\n }\n }\n const defOpts = get();\n this.options = {\n ...defOpts,\n ...this.options,\n ...transformOptions(options)\n };\n this.options.interpolation = {\n ...defOpts.interpolation,\n ...this.options.interpolation\n };\n if (options.keySeparator !== undefined) {\n this.options.userDefinedKeySeparator = options.keySeparator;\n }\n if (options.nsSeparator !== undefined) {\n this.options.userDefinedNsSeparator = options.nsSeparator;\n }\n const createClassOnDemand = ClassOrObject => {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n };\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n let formatter;\n if (this.modules.formatter) {\n formatter = this.modules.formatter;\n } else {\n formatter = Formatter;\n }\n const lu = new LanguageUtil(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n const s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, {\n prepend: this.options.pluralSeparator,\n simplifyPluralSuffix: this.options.simplifyPluralSuffix\n });\n const usingLegacyFormatFunction = this.options.interpolation.format && this.options.interpolation.format !== defOpts.interpolation.format;\n if (usingLegacyFormatFunction) {\n this.logger.deprecate(`init: you are still using the legacy format function, please use the new approach: https://www.i18next.com/translation-function/formatting`);\n }\n if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) {\n s.formatter = createClassOnDemand(formatter);\n if (s.formatter.init) s.formatter.init(s, this.options);\n this.options.interpolation.format = s.formatter.format.bind(s.formatter);\n }\n s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n s.backendConnector.on('*', (event, ...args) => {\n this.emit(event, ...args);\n });\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n if (s.languageDetector.init) s.languageDetector.init(s, this.options.detection, this.options);\n }\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n this.translator = new Translator(this.services, this.options);\n this.translator.on('*', (event, ...args) => {\n this.emit(event, ...args);\n });\n this.modules.external.forEach(m => {\n if (m.init) m.init(this);\n });\n }\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {\n const codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0];\n }\n if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n const storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(fcName => {\n this[fcName] = (...args) => this.store[fcName](...args);\n });\n const storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle'];\n storeApiChained.forEach(fcName => {\n this[fcName] = (...args) => {\n this.store[fcName](...args);\n return this;\n };\n });\n const deferred = defer();\n const load = () => {\n const finish = (err, t) => {\n this.isInitializing = false;\n if (this.isInitialized && !this.initializedStoreOnce) this.logger.warn('init: i18next is already initialized. You should call init just once!');\n this.isInitialized = true;\n if (!this.options.isClone) this.logger.log('initialized', this.options);\n this.emit('initialized', this.options);\n deferred.resolve(t);\n callback(err, t);\n };\n if (this.languages && !this.isInitialized) return finish(null, this.t.bind(this));\n this.changeLanguage(this.options.lng, finish);\n };\n if (this.options.resources || !this.options.initAsync) {\n load();\n } else {\n setTimeout(load, 0);\n }\n return deferred;\n }\n loadResources(language, callback = noop) {\n let usedCallback = callback;\n const usedLng = isString(language) ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng?.toLowerCase() === 'cimode' && (!this.options.preload || this.options.preload.length === 0)) return usedCallback();\n const toLoad = [];\n const append = lng => {\n if (!lng) return;\n if (lng === 'cimode') return;\n const lngs = this.services.languageUtils.toResolveHierarchy(lng);\n lngs.forEach(l => {\n if (l === 'cimode') return;\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n if (!usedLng) {\n const fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(l => append(l));\n } else {\n append(usedLng);\n }\n this.options.preload?.forEach?.(l => append(l));\n this.services.backendConnector.load(toLoad, this.options.ns, e => {\n if (!e && !this.resolvedLanguage && this.language) this.setResolvedLanguage(this.language);\n usedCallback(e);\n });\n } else {\n usedCallback(null);\n }\n }\n reloadResources(lngs, ns, callback) {\n const deferred = defer();\n if (typeof lngs === 'function') {\n callback = lngs;\n lngs = undefined;\n }\n if (typeof ns === 'function') {\n callback = ns;\n ns = undefined;\n }\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n if (!callback) callback = noop;\n this.services.backendConnector.reload(lngs, ns, err => {\n deferred.resolve();\n callback(err);\n });\n return deferred;\n }\n use(module) {\n if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()');\n if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()');\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n if (module.type === 'formatter') {\n this.modules.formatter = module;\n }\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n return this;\n }\n setResolvedLanguage(l) {\n if (!l || !this.languages) return;\n if (['cimode', 'dev'].indexOf(l) > -1) return;\n for (let li = 0; li < this.languages.length; li++) {\n const lngInLngs = this.languages[li];\n if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue;\n if (this.store.hasLanguageSomeTranslations(lngInLngs)) {\n this.resolvedLanguage = lngInLngs;\n break;\n }\n }\n if (!this.resolvedLanguage && this.languages.indexOf(l) < 0 && this.store.hasLanguageSomeTranslations(l)) {\n this.resolvedLanguage = l;\n this.languages.unshift(l);\n }\n }\n changeLanguage(lng, callback) {\n this.isLanguageChangingTo = lng;\n const deferred = defer();\n this.emit('languageChanging', lng);\n const setLngProps = l => {\n this.language = l;\n this.languages = this.services.languageUtils.toResolveHierarchy(l);\n this.resolvedLanguage = undefined;\n this.setResolvedLanguage(l);\n };\n const done = (err, l) => {\n if (l) {\n if (this.isLanguageChangingTo === lng) {\n setLngProps(l);\n this.translator.changeLanguage(l);\n this.isLanguageChangingTo = undefined;\n this.emit('languageChanged', l);\n this.logger.log('languageChanged', l);\n }\n } else {\n this.isLanguageChangingTo = undefined;\n }\n deferred.resolve((...args) => this.t(...args));\n if (callback) callback(err, (...args) => this.t(...args));\n };\n const setLng = lngs => {\n if (!lng && !lngs && this.services.languageDetector) lngs = [];\n const fl = isString(lngs) ? lngs : lngs && lngs[0];\n const l = this.store.hasLanguageSomeTranslations(fl) ? fl : this.services.languageUtils.getBestMatchFromCodes(isString(lngs) ? [lngs] : lngs);\n if (l) {\n if (!this.language) {\n setLngProps(l);\n }\n if (!this.translator.language) this.translator.changeLanguage(l);\n this.services.languageDetector?.cacheUserLanguage?.(l);\n }\n this.loadResources(l, err => {\n done(err, l);\n });\n };\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n if (this.services.languageDetector.detect.length === 0) {\n this.services.languageDetector.detect().then(setLng);\n } else {\n this.services.languageDetector.detect(setLng);\n }\n } else {\n setLng(lng);\n }\n return deferred;\n }\n getFixedT(lng, ns, keyPrefix) {\n const fixedT = (key, opts, ...rest) => {\n let o;\n if (typeof opts !== 'object') {\n o = this.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n o = {\n ...opts\n };\n }\n o.lng = o.lng || fixedT.lng;\n o.lngs = o.lngs || fixedT.lngs;\n o.ns = o.ns || fixedT.ns;\n if (o.keyPrefix !== '') o.keyPrefix = o.keyPrefix || keyPrefix || fixedT.keyPrefix;\n const keySeparator = this.options.keySeparator || '.';\n let resultKey;\n if (o.keyPrefix && Array.isArray(key)) {\n resultKey = key.map(k => {\n if (typeof k === 'function') k = keysFromSelector(k, {\n ...this.options,\n ...opts\n });\n return `${o.keyPrefix}${keySeparator}${k}`;\n });\n } else {\n if (typeof key === 'function') key = keysFromSelector(key, {\n ...this.options,\n ...opts\n });\n resultKey = o.keyPrefix ? `${o.keyPrefix}${keySeparator}${key}` : key;\n }\n return this.t(resultKey, o);\n };\n if (isString(lng)) {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n fixedT.ns = ns;\n fixedT.keyPrefix = keyPrefix;\n return fixedT;\n }\n t(...args) {\n return this.translator?.translate(...args);\n }\n exists(...args) {\n return this.translator?.exists(...args);\n }\n setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n hasLoadedNamespace(ns, options = {}) {\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n const lng = options.lng || this.resolvedLanguage || this.languages[0];\n const fallbackLng = this.options ? this.options.fallbackLng : false;\n const lastLng = this.languages[this.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n const loadNotPending = (l, n) => {\n const loadState = this.services.backendConnector.state[`${l}|${n}`];\n return loadState === -1 || loadState === 0 || loadState === 2;\n };\n if (options.precheck) {\n const preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n loadNamespaces(ns, callback) {\n const deferred = defer();\n if (!this.options.ns) {\n if (callback) callback();\n return Promise.resolve();\n }\n if (isString(ns)) ns = [ns];\n ns.forEach(n => {\n if (this.options.ns.indexOf(n) < 0) this.options.ns.push(n);\n });\n this.loadResources(err => {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n loadLanguages(lngs, callback) {\n const deferred = defer();\n if (isString(lngs)) lngs = [lngs];\n const preloaded = this.options.preload || [];\n const newLngs = lngs.filter(lng => preloaded.indexOf(lng) < 0 && this.services.languageUtils.isSupportedCode(lng));\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(err => {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n dir(lng) {\n if (!lng) lng = this.resolvedLanguage || (this.languages?.length > 0 ? this.languages[0] : this.language);\n if (!lng) return 'rtl';\n try {\n const l = new Intl.Locale(lng);\n if (l && l.getTextInfo) {\n const ti = l.getTextInfo();\n if (ti && ti.direction) return ti.direction;\n }\n } catch (e) {}\n const rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam', 'ckb'];\n const languageUtils = this.services?.languageUtils || new LanguageUtil(get());\n if (lng.toLowerCase().indexOf('-latn') > 1) return 'ltr';\n return rtlLngs.indexOf(languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr';\n }\n static createInstance(options = {}, callback) {\n return new I18n(options, callback);\n }\n cloneInstance(options = {}, callback = noop) {\n const forkResourceStore = options.forkResourceStore;\n if (forkResourceStore) delete options.forkResourceStore;\n const mergedOptions = {\n ...this.options,\n ...options,\n ...{\n isClone: true\n }\n };\n const clone = new I18n(mergedOptions);\n if (options.debug !== undefined || options.prefix !== undefined) {\n clone.logger = clone.logger.clone(options);\n }\n const membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(m => {\n clone[m] = this[m];\n });\n clone.services = {\n ...this.services\n };\n clone.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n if (forkResourceStore) {\n const clonedData = Object.keys(this.store.data).reduce((prev, l) => {\n prev[l] = {\n ...this.store.data[l]\n };\n prev[l] = Object.keys(prev[l]).reduce((acc, n) => {\n acc[n] = {\n ...prev[l][n]\n };\n return acc;\n }, prev[l]);\n return prev;\n }, {});\n clone.store = new ResourceStore(clonedData, mergedOptions);\n clone.services.resourceStore = clone.store;\n }\n clone.translator = new Translator(clone.services, mergedOptions);\n clone.translator.on('*', (event, ...args) => {\n clone.emit(event, ...args);\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = mergedOptions;\n clone.translator.backendConnector.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n return clone;\n }\n toJSON() {\n return {\n options: this.options,\n store: this.store,\n language: this.language,\n languages: this.languages,\n resolvedLanguage: this.resolvedLanguage\n };\n }\n}\nconst instance = I18n.createInstance();\ninstance.createInstance = I18n.createInstance;\n\nconst createInstance = instance.createInstance;\nconst dir = instance.dir;\nconst init = instance.init;\nconst loadResources = instance.loadResources;\nconst reloadResources = instance.reloadResources;\nconst use = instance.use;\nconst changeLanguage = instance.changeLanguage;\nconst getFixedT = instance.getFixedT;\nconst t = instance.t;\nconst exists = instance.exists;\nconst setDefaultNamespace = instance.setDefaultNamespace;\nconst hasLoadedNamespace = instance.hasLoadedNamespace;\nconst loadNamespaces = instance.loadNamespaces;\nconst loadLanguages = instance.loadLanguages;\n\nexport { changeLanguage, createInstance, instance as default, dir, exists, getFixedT, hasLoadedNamespace, init, loadLanguages, loadNamespaces, loadResources, reloadResources, setDefaultNamespace, t, use };\n","const {\n slice,\n forEach\n} = [];\nfunction defaults(obj) {\n forEach.call(slice.call(arguments, 1), source => {\n if (source) {\n for (const prop in source) {\n if (obj[prop] === undefined) obj[prop] = source[prop];\n }\n }\n });\n return obj;\n}\nfunction hasXSS(input) {\n if (typeof input !== 'string') return false;\n\n // Common XSS attack patterns\n const xssPatterns = [/<\\s*script.*?>/i, /<\\s*\\/\\s*script\\s*>/i, /<\\s*img.*?on\\w+\\s*=/i, /<\\s*\\w+\\s*on\\w+\\s*=.*?>/i, /javascript\\s*:/i, /vbscript\\s*:/i, /expression\\s*\\(/i, /eval\\s*\\(/i, /alert\\s*\\(/i, /document\\.cookie/i, /document\\.write\\s*\\(/i, /window\\.location/i, /innerHTML/i];\n return xssPatterns.some(pattern => pattern.test(input));\n}\n\n// eslint-disable-next-line no-control-regex\nconst fieldContentRegExp = /^[\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+$/;\nconst serializeCookie = function (name, val) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {\n path: '/'\n };\n const opt = options;\n const value = encodeURIComponent(val);\n let str = `${name}=${value}`;\n if (opt.maxAge > 0) {\n const maxAge = opt.maxAge - 0;\n if (Number.isNaN(maxAge)) throw new Error('maxAge should be a Number');\n str += `; Max-Age=${Math.floor(maxAge)}`;\n }\n if (opt.domain) {\n if (!fieldContentRegExp.test(opt.domain)) {\n throw new TypeError('option domain is invalid');\n }\n str += `; Domain=${opt.domain}`;\n }\n if (opt.path) {\n if (!fieldContentRegExp.test(opt.path)) {\n throw new TypeError('option path is invalid');\n }\n str += `; Path=${opt.path}`;\n }\n if (opt.expires) {\n if (typeof opt.expires.toUTCString !== 'function') {\n throw new TypeError('option expires is invalid');\n }\n str += `; Expires=${opt.expires.toUTCString()}`;\n }\n if (opt.httpOnly) str += '; HttpOnly';\n if (opt.secure) str += '; Secure';\n if (opt.sameSite) {\n const sameSite = typeof opt.sameSite === 'string' ? opt.sameSite.toLowerCase() : opt.sameSite;\n switch (sameSite) {\n case true:\n str += '; SameSite=Strict';\n break;\n case 'lax':\n str += '; SameSite=Lax';\n break;\n case 'strict':\n str += '; SameSite=Strict';\n break;\n case 'none':\n str += '; SameSite=None';\n break;\n default:\n throw new TypeError('option sameSite is invalid');\n }\n }\n if (opt.partitioned) str += '; Partitioned';\n return str;\n};\nconst cookie = {\n create(name, value, minutes, domain) {\n let cookieOptions = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n path: '/',\n sameSite: 'strict'\n };\n if (minutes) {\n cookieOptions.expires = new Date();\n cookieOptions.expires.setTime(cookieOptions.expires.getTime() + minutes * 60 * 1000);\n }\n if (domain) cookieOptions.domain = domain;\n document.cookie = serializeCookie(name, value, cookieOptions);\n },\n read(name) {\n const nameEQ = `${name}=`;\n const ca = document.cookie.split(';');\n for (let i = 0; i < ca.length; i++) {\n let c = ca[i];\n while (c.charAt(0) === ' ') c = c.substring(1, c.length);\n if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length);\n }\n return null;\n },\n remove(name, domain) {\n this.create(name, '', -1, domain);\n }\n};\nvar cookie$1 = {\n name: 'cookie',\n // Deconstruct the options object and extract the lookupCookie property\n lookup(_ref) {\n let {\n lookupCookie\n } = _ref;\n if (lookupCookie && typeof document !== 'undefined') {\n return cookie.read(lookupCookie) || undefined;\n }\n return undefined;\n },\n // Deconstruct the options object and extract the lookupCookie, cookieMinutes, cookieDomain, and cookieOptions properties\n cacheUserLanguage(lng, _ref2) {\n let {\n lookupCookie,\n cookieMinutes,\n cookieDomain,\n cookieOptions\n } = _ref2;\n if (lookupCookie && typeof document !== 'undefined') {\n cookie.create(lookupCookie, lng, cookieMinutes, cookieDomain, cookieOptions);\n }\n }\n};\n\nvar querystring = {\n name: 'querystring',\n // Deconstruct the options object and extract the lookupQuerystring property\n lookup(_ref) {\n let {\n lookupQuerystring\n } = _ref;\n let found;\n if (typeof window !== 'undefined') {\n let {\n search\n } = window.location;\n if (!window.location.search && window.location.hash?.indexOf('?') > -1) {\n search = window.location.hash.substring(window.location.hash.indexOf('?'));\n }\n const query = search.substring(1);\n const params = query.split('&');\n for (let i = 0; i < params.length; i++) {\n const pos = params[i].indexOf('=');\n if (pos > 0) {\n const key = params[i].substring(0, pos);\n if (key === lookupQuerystring) {\n found = params[i].substring(pos + 1);\n }\n }\n }\n }\n return found;\n }\n};\n\nvar hash = {\n name: 'hash',\n // Deconstruct the options object and extract the lookupHash property and the lookupFromHashIndex property\n lookup(_ref) {\n let {\n lookupHash,\n lookupFromHashIndex\n } = _ref;\n let found;\n if (typeof window !== 'undefined') {\n const {\n hash\n } = window.location;\n if (hash && hash.length > 2) {\n const query = hash.substring(1);\n if (lookupHash) {\n const params = query.split('&');\n for (let i = 0; i < params.length; i++) {\n const pos = params[i].indexOf('=');\n if (pos > 0) {\n const key = params[i].substring(0, pos);\n if (key === lookupHash) {\n found = params[i].substring(pos + 1);\n }\n }\n }\n }\n if (found) return found;\n if (!found && lookupFromHashIndex > -1) {\n const language = hash.match(/\\/([a-zA-Z-]*)/g);\n if (!Array.isArray(language)) return undefined;\n const index = typeof lookupFromHashIndex === 'number' ? lookupFromHashIndex : 0;\n return language[index]?.replace('/', '');\n }\n }\n }\n return found;\n }\n};\n\nlet hasLocalStorageSupport = null;\nconst localStorageAvailable = () => {\n if (hasLocalStorageSupport !== null) return hasLocalStorageSupport;\n try {\n hasLocalStorageSupport = typeof window !== 'undefined' && window.localStorage !== null;\n if (!hasLocalStorageSupport) {\n return false;\n }\n const testKey = 'i18next.translate.boo';\n window.localStorage.setItem(testKey, 'foo');\n window.localStorage.removeItem(testKey);\n } catch (e) {\n hasLocalStorageSupport = false;\n }\n return hasLocalStorageSupport;\n};\nvar localStorage = {\n name: 'localStorage',\n // Deconstruct the options object and extract the lookupLocalStorage property\n lookup(_ref) {\n let {\n lookupLocalStorage\n } = _ref;\n if (lookupLocalStorage && localStorageAvailable()) {\n return window.localStorage.getItem(lookupLocalStorage) || undefined; // Undefined ensures type consistency with the previous version of this function\n }\n return undefined;\n },\n // Deconstruct the options object and extract the lookupLocalStorage property\n cacheUserLanguage(lng, _ref2) {\n let {\n lookupLocalStorage\n } = _ref2;\n if (lookupLocalStorage && localStorageAvailable()) {\n window.localStorage.setItem(lookupLocalStorage, lng);\n }\n }\n};\n\nlet hasSessionStorageSupport = null;\nconst sessionStorageAvailable = () => {\n if (hasSessionStorageSupport !== null) return hasSessionStorageSupport;\n try {\n hasSessionStorageSupport = typeof window !== 'undefined' && window.sessionStorage !== null;\n if (!hasSessionStorageSupport) {\n return false;\n }\n const testKey = 'i18next.translate.boo';\n window.sessionStorage.setItem(testKey, 'foo');\n window.sessionStorage.removeItem(testKey);\n } catch (e) {\n hasSessionStorageSupport = false;\n }\n return hasSessionStorageSupport;\n};\nvar sessionStorage = {\n name: 'sessionStorage',\n lookup(_ref) {\n let {\n lookupSessionStorage\n } = _ref;\n if (lookupSessionStorage && sessionStorageAvailable()) {\n return window.sessionStorage.getItem(lookupSessionStorage) || undefined;\n }\n return undefined;\n },\n cacheUserLanguage(lng, _ref2) {\n let {\n lookupSessionStorage\n } = _ref2;\n if (lookupSessionStorage && sessionStorageAvailable()) {\n window.sessionStorage.setItem(lookupSessionStorage, lng);\n }\n }\n};\n\nvar navigator$1 = {\n name: 'navigator',\n lookup(options) {\n const found = [];\n if (typeof navigator !== 'undefined') {\n const {\n languages,\n userLanguage,\n language\n } = navigator;\n if (languages) {\n // chrome only; not an array, so can't use .push.apply instead of iterating\n for (let i = 0; i < languages.length; i++) {\n found.push(languages[i]);\n }\n }\n if (userLanguage) {\n found.push(userLanguage);\n }\n if (language) {\n found.push(language);\n }\n }\n return found.length > 0 ? found : undefined;\n }\n};\n\nvar htmlTag = {\n name: 'htmlTag',\n // Deconstruct the options object and extract the htmlTag property\n lookup(_ref) {\n let {\n htmlTag\n } = _ref;\n let found;\n const internalHtmlTag = htmlTag || (typeof document !== 'undefined' ? document.documentElement : null);\n if (internalHtmlTag && typeof internalHtmlTag.getAttribute === 'function') {\n found = internalHtmlTag.getAttribute('lang');\n }\n return found;\n }\n};\n\nvar path = {\n name: 'path',\n // Deconstruct the options object and extract the lookupFromPathIndex property\n lookup(_ref) {\n let {\n lookupFromPathIndex\n } = _ref;\n if (typeof window === 'undefined') return undefined;\n const language = window.location.pathname.match(/\\/([a-zA-Z-]*)/g);\n if (!Array.isArray(language)) return undefined;\n const index = typeof lookupFromPathIndex === 'number' ? lookupFromPathIndex : 0;\n return language[index]?.replace('/', '');\n }\n};\n\nvar subdomain = {\n name: 'subdomain',\n lookup(_ref) {\n let {\n lookupFromSubdomainIndex\n } = _ref;\n // If given get the subdomain index else 1\n const internalLookupFromSubdomainIndex = typeof lookupFromSubdomainIndex === 'number' ? lookupFromSubdomainIndex + 1 : 1;\n // get all matches if window.location. is existing\n // first item of match is the match itself and the second is the first group match which should be the first subdomain match\n // is the hostname no public domain get the or option of localhost\n const language = typeof window !== 'undefined' && window.location?.hostname?.match(/^(\\w{2,5})\\.(([a-z0-9-]{1,63}\\.[a-z]{2,6})|localhost)/i);\n\n // if there is no match (null) return undefined\n if (!language) return undefined;\n // return the given group match\n return language[internalLookupFromSubdomainIndex];\n }\n};\n\n// some environments, throws when accessing document.cookie\nlet canCookies = false;\ntry {\n // eslint-disable-next-line no-unused-expressions\n document.cookie;\n canCookies = true;\n // eslint-disable-next-line no-empty\n} catch (e) {}\nconst order = ['querystring', 'cookie', 'localStorage', 'sessionStorage', 'navigator', 'htmlTag'];\nif (!canCookies) order.splice(1, 1);\nconst getDefaults = () => ({\n order,\n lookupQuerystring: 'lng',\n lookupCookie: 'i18next',\n lookupLocalStorage: 'i18nextLng',\n lookupSessionStorage: 'i18nextLng',\n // cache user language\n caches: ['localStorage'],\n excludeCacheFor: ['cimode'],\n // cookieMinutes: 10,\n // cookieDomain: 'myDomain'\n\n convertDetectedLanguage: l => l\n});\nclass Browser {\n constructor(services) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.type = 'languageDetector';\n this.detectors = {};\n this.init(services, options);\n }\n init() {\n let services = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n languageUtils: {}\n };\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n let i18nOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n this.services = services;\n this.options = defaults(options, this.options || {}, getDefaults());\n if (typeof this.options.convertDetectedLanguage === 'string' && this.options.convertDetectedLanguage.indexOf('15897') > -1) {\n this.options.convertDetectedLanguage = l => l.replace('-', '_');\n }\n\n // backwards compatibility\n if (this.options.lookupFromUrlIndex) this.options.lookupFromPathIndex = this.options.lookupFromUrlIndex;\n this.i18nOptions = i18nOptions;\n this.addDetector(cookie$1);\n this.addDetector(querystring);\n this.addDetector(localStorage);\n this.addDetector(sessionStorage);\n this.addDetector(navigator$1);\n this.addDetector(htmlTag);\n this.addDetector(path);\n this.addDetector(subdomain);\n this.addDetector(hash);\n }\n addDetector(detector) {\n this.detectors[detector.name] = detector;\n return this;\n }\n detect() {\n let detectionOrder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.options.order;\n let detected = [];\n detectionOrder.forEach(detectorName => {\n if (this.detectors[detectorName]) {\n let lookup = this.detectors[detectorName].lookup(this.options);\n if (lookup && typeof lookup === 'string') lookup = [lookup];\n if (lookup) detected = detected.concat(lookup);\n }\n });\n detected = detected.filter(d => d !== undefined && d !== null && !hasXSS(d)).map(d => this.options.convertDetectedLanguage(d));\n if (this.services && this.services.languageUtils && this.services.languageUtils.getBestMatchFromCodes) return detected; // new i18next v19.5.0\n return detected.length > 0 ? detected[0] : null; // a little backward compatibility\n }\n cacheUserLanguage(lng) {\n let caches = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.options.caches;\n if (!caches) return;\n if (this.options.excludeCacheFor && this.options.excludeCacheFor.indexOf(lng) > -1) return;\n caches.forEach(cacheName => {\n if (this.detectors[cacheName]) this.detectors[cacheName].cacheUserLanguage(lng, this.options);\n });\n }\n}\nBrowser.type = 'languageDetector';\n\nexport { Browser as default };\n","export const config = {\n apiBaseUrl: import.meta.env['VITE_API_BASE_URL'],\n debug: import.meta.env.DEV\n};\n","import { setDefaultOptions } from 'date-fns';\nimport { enGB } from 'date-fns/locale';\nimport i18n from 'i18next';\nimport LanguageDetector from 'i18next-browser-languagedetector';\nimport { initReactI18next } from 'react-i18next';\nimport { config } from './config';\nimport en from './translations/en.json';\nimport nb from './translations/nb.json';\nsetDefaultOptions({ locale: enGB });\n\ni18n\n // detect user language\n // learn more: https://github.com/i18next/i18next-browser-languageDetector\n .use(LanguageDetector)\n // pass the i18n instance to react-i18next.\n .use(initReactI18next)\n // init i18next\n // for all options read: https://www.i18next.com/overview/configuration-options\n .init({\n debug: config.debug,\n fallbackLng: 'en',\n interpolation: {\n escapeValue: false // not needed for react as it escapes by default\n },\n resources: {\n en: {\n translation: en\n },\n nb: {\n tranlation: nb\n }\n }\n });\n\nexport default i18n;\n","/**\n * Logger utility for the SDK\n * Provides consistent logging across the SDK with different log levels\n */\n\nexport type LogLevel = 'debug' | 'info' | 'warn' | 'error';\n\ninterface LoggerOptions {\n prefix?: string;\n enabled?: boolean;\n level?: LogLevel;\n}\n\nconst LOG_LEVELS: Record<LogLevel, number> = {\n debug: 0,\n info: 1,\n warn: 2,\n error: 3\n};\n\nexport class Logger {\n private prefix: string;\n private enabled: boolean;\n private level: LogLevel;\n\n constructor(options: LoggerOptions = {}) {\n this.prefix = options.prefix || 'Nemme SDK';\n this.enabled = options.enabled !== undefined ? options.enabled : true;\n this.level = options.level || 'info';\n }\n\n private shouldLog(level: LogLevel): boolean {\n return this.enabled && LOG_LEVELS[level] >= LOG_LEVELS[this.level];\n }\n\n private formatMessage(message: string): string {\n return `[${this.prefix}] ${message}`;\n }\n\n debug(message: string, ...args: unknown[]): void {\n if (this.shouldLog('debug')) {\n console.debug(this.formatMessage(message), ...args);\n }\n }\n\n info(message: string, ...args: unknown[]): void {\n if (this.shouldLog('info')) {\n console.info(this.formatMessage(message), ...args);\n }\n }\n\n warn(message: string, ...args: unknown[]): void {\n if (this.shouldLog('warn')) {\n console.warn(this.formatMessage(message), ...args);\n }\n }\n\n error(message: string, ...args: unknown[]): void {\n if (this.shouldLog('error')) {\n console.error(this.formatMessage(message), ...args);\n }\n }\n\n // Create a child logger with a new prefix\n child(prefix: string): Logger {\n return new Logger({\n prefix: `${this.prefix}:${prefix}`,\n enabled: this.enabled,\n level: this.level\n });\n }\n\n // Configure logger settings\n configure(options: LoggerOptions): void {\n if (options.prefix !== undefined) {\n this.prefix = options.prefix;\n }\n if (options.enabled !== undefined) {\n this.enabled = options.enabled;\n }\n if (options.level !== undefined) {\n this.level = options.level;\n }\n }\n}\n\n// Create and export a default logger instance\nexport const logger = new Logger();\n","import { config } from '../config';\nimport { logger } from '../utils';\n\n// Create a network-specific logger\nconst networkLogger = logger.child('network');\n\nexport type HttpMethod = 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';\n\nexport interface RequestOptions {\n method?: HttpMethod;\n headers?: Record<string, string>;\n body?: unknown;\n params?: Record<string, string | number | boolean>;\n timeout?: number;\n}\n\nexport interface HttpResponse<T = unknown> {\n data: T;\n status: number;\n statusText: string;\n headers: Headers;\n ok: boolean;\n error?: {\n message: string;\n details?: unknown;\n };\n}\n\nconst DEFAULT_TIMEOUT = 30000; // 30 seconds\n\n/**\n * Creates a URL with query parameters\n */\nconst createUrl = (endpoint: string, params?: Record<string, string | number | boolean>): string => {\n const url = new URL(endpoint, config.apiBaseUrl);\n\n if (params) {\n Object.entries(params).forEach(([key, value]) => {\n if (value !== undefined && value !== null) {\n url.searchParams.append(key, String(value));\n }\n });\n }\n\n return url.toString();\n};\n\n/**\n * Global HTTP client for making API requests\n */\nexport const httpClient = {\n /**\n * Make an HTTP request\n */\n async request<T = unknown>(endpoint: string, options: RequestOptions = {}): Promise<HttpResponse<T>> {\n const { method = 'GET', headers = {}, body, params, timeout = DEFAULT_TIMEOUT } = options;\n\n const url = createUrl(endpoint, params);\n\n // Prepare headers with defaults\n const requestHeaders: Record<string, string> = {\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n ...headers\n };\n\n // Prepare request options\n const requestOptions: RequestInit = {\n method,\n headers: requestHeaders,\n body: body ? JSON.stringify(body) : undefined\n };\n\n // Create abort controller for timeout\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), timeout);\n requestOptions.signal = controller.signal;\n\n try {\n const response = await fetch(url, requestOptions);\n\n // Parse response data\n let data: T;\n const contentType = response.headers.get('content-type');\n\n if (contentType && contentType.includes('application/json')) {\n data = await response.json();\n } else {\n const text = await response.text();\n try {\n data = JSON.parse(text) as T;\n } catch {\n data = text as unknown as T;\n }\n }\n\n const result: HttpResponse<T> = {\n data,\n status: response.status,\n statusText: response.statusText,\n headers: response.headers,\n ok: response.ok\n };\n\n // Handle error responses but don't throw\n if (!response.ok) {\n const errorMessage = `Request failed with status ${response.status}: ${response.statusText}`;\n networkLogger.error(errorMessage, {\n url,\n method,\n status: response.status,\n data: result.data\n });\n\n result.ok = false;\n result.error = {\n message: errorMessage,\n details: result.data\n };\n } else {\n result.ok = true;\n }\n\n return result;\n } catch (error) {\n // Log the error but don't throw\n let errorMessage = 'Network request failed';\n let errorDetails = {};\n\n if (error instanceof DOMException && error.name === 'AbortError') {\n errorMessage = `Request timeout after ${timeout}ms`;\n errorDetails = { timeout, url };\n } else {\n errorDetails = {\n message: error instanceof Error ? error.message : String(error),\n url,\n method\n };\n }\n\n networkLogger.error(errorMessage, errorDetails);\n\n // Return an error response instead of throwing\n const errorResponse: HttpResponse<T> = {\n data: {} as T,\n status: 0,\n statusText: errorMessage,\n headers: new Headers(),\n ok: false,\n error: {\n message: errorMessage,\n details: errorDetails\n }\n };\n\n return errorResponse;\n } finally {\n clearTimeout(timeoutId);\n }\n },\n\n /**\n * Convenience methods for common HTTP methods\n */\n async get<T = unknown>(endpoint: string, options: Omit<RequestOptions, 'method'> = {}): Promise<HttpResponse<T>> {\n return this.request<T>(endpoint, { ...options, method: 'GET' });\n },\n\n async post<T = unknown>(\n endpoint: string,\n data?: unknown,\n options: Omit<RequestOptions, 'method' | 'body'> = {}\n ): Promise<HttpResponse<T>> {\n return this.request<T>(endpoint, { ...options, method: 'POST', body: data });\n },\n\n async put<T = unknown>(\n endpoint: string,\n data?: unknown,\n options: Omit<RequestOptions, 'method' | 'body'> = {}\n ): Promise<HttpResponse<T>> {\n return this.request<T>(endpoint, { ...options, method: 'PUT', body: data });\n },\n\n async patch<T = unknown>(\n endpoint: string,\n data?: unknown,\n options: Omit<RequestOptions, 'method' | 'body'> = {}\n ): Promise<HttpResponse<T>> {\n return this.request<T>(endpoint, { ...options, method: 'PATCH', body: data });\n },\n\n async delete<T = unknown>(endpoint: string, options: Omit<RequestOptions, 'method'> = {}): Promise<HttpResponse<T>> {\n return this.request<T>(endpoint, { ...options, method: 'DELETE' });\n }\n};\n","import { createElement } from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { I18nextProvider } from 'react-i18next';\nimport { FormWrapper } from '.';\nimport i18n from '../i18n';\nimport { httpClient } from '../networking';\nimport { Logger } from '../utils';\nimport { FormState } from './form-wrapper/form-wrapper';\n\nexport type FormConfig = {\n zIndex?: number;\n};\n\nexport type FormResponse = {\n id: number;\n questions: QuestionResponse[];\n};\n\ntype QuestionResponse = {\n id: number;\n answer: string | number | number[];\n};\n\nexport class FormManager {\n private logger: Logger;\n private headers: Record<string, string>;\n private config: FormConfig;\n\n constructor(logger: Logger, headers: Record<string, string>, config: FormConfig = {}) {\n this.logger = logger;\n this.headers = headers;\n this.config = config;\n }\n\n public async fetchAndDisplayForm(\n productSlug: string,\n onDismiss: () => Promise<void>,\n onComplete: (formState?: FormState) => Promise<void>\n ): Promise<void> {\n this.logger.debug(`Fetching form config for: ${productSlug}`);\n\n try {\n const response = await httpClient.get<Form>(`/external/forms/${productSlug}`, {\n headers: this.headers\n });\n\n if (response.ok && response.data) {\n this.logger.info(`Form config loaded for: ${productSlug}`, response.data);\n this.displayForm(response.data, onDismiss, onComplete);\n } else {\n this.logger.warn(`No form config found for: ${productSlug}`);\n }\n } catch (error) {\n this.logger.error(`Failed to fetch form config for: ${productSlug}`, error);\n }\n }\n\n private displayForm(form: Form, onDismiss: () => Promise<void>, onComplete: () => Promise<void>) {\n // Create a container div for the form\n const container = document.createElement('div');\n container.id = 'nm';\n document.body.appendChild(container);\n\n // Create React root and render the component\n const root = createRoot(container);\n const formElement = createElement(\n I18nextProvider,\n { i18n },\n createElement(FormWrapper, {\n form,\n onDismiss: async (formState: FormState) => {\n await onDismiss();\n root.unmount();\n container.remove();\n this.logger.info('Form dismissed', formState);\n },\n onComplete: async (formState: FormState) => {\n await onComplete();\n await this.postFormResponse(form, formState);\n root.unmount();\n container.remove();\n this.logger.info('Form completed', formState);\n },\n zIndex: this.config.zIndex\n })\n );\n\n root.render(formElement);\n }\n\n private async postFormResponse(form: Form, formState: FormState) {\n this.logger.info('Posting form response', formState);\n const response = await httpClient.post<FormResponse>(`/external/forms/${form.slug}`, formState, {\n headers: this.headers\n });\n this.logger.info('Form response posted', response.data);\n }\n}\n","import { FormConfig, FormManager } from '../forms/form-manager';\nimport { httpClient } from '../networking';\nimport { Logger } from '../utils';\n\nexport type ProductType = 'FRM' | 'TRK';\n\nexport type Trigger = {\n triggerType: 'page_url' | 'custom_event';\n urlPattern?: string;\n eventKey?: string;\n};\n\nexport type Channel = {\n channelType: string;\n channelStyle: string;\n};\n\nexport type Audience = {\n audienceType: string;\n};\n\nexport type Frequency = {\n frequencyType: string;\n};\n\nexport type Delivery = {\n id: number;\n productSlug: string;\n productType: ProductType;\n triggers: Trigger[];\n // channels: Channel[];\n // audiences: Audience[];\n // frequency: Frequency| null;\n};\n\nexport type DeliveryResponse = {\n id: number;\n shownAt: string;\n wasDismissed: boolean;\n wasCompleted: boolean;\n userId: string;\n respondedAt: string;\n};\n\nexport type TriggerContext = {\n url: string;\n eventKey?: string;\n eventData?: Record<string, unknown>;\n};\n\nexport class DeliveryManager {\n private logger: Logger;\n private headers: Record<string, string>;\n private formManager: FormManager;\n private deliveries: Delivery[] = [];\n\n constructor(logger: Logger, headers: Record<string, string>, formConfig?: FormConfig) {\n this.logger = logger;\n this.headers = headers;\n this.formManager = new FormManager(logger, headers, formConfig);\n }\n\n public async loadDeliveries(): Promise<void> {\n try {\n this.logger.debug('Loading deliveries');\n const response = await httpClient.get<Delivery[]>('/external/deliveries', { headers: this.headers });\n this.deliveries = response.data;\n this.logger.info(`Loaded ${this.deliveries.length} deliveries`);\n } catch (error) {\n this.logger.error('Failed to load deliveries', error);\n // Keep deliveries as empty array on failure\n this.deliveries = [];\n }\n }\n\n public async evaluateDeliveryTriggers(context: TriggerContext): Promise<void> {\n for (const delivery of this.deliveries) {\n for (const trigger of delivery.triggers) {\n if (this.shouldTriggerDelivery(trigger, context)) {\n const deliveryValid = await this.isDeliveryValid(delivery);\n if (!deliveryValid) {\n this.logger.debug(`Delivery ${delivery.id} is not valid, skipping`);\n continue;\n }\n await this.executeDelivery(delivery, trigger);\n return; // Stop after first match\n }\n }\n }\n }\n\n private shouldTriggerDelivery(trigger: Trigger, context: TriggerContext): boolean {\n if (this.hasActiveDelivery()) {\n return false;\n }\n switch (trigger.triggerType) {\n case 'page_url':\n return trigger.urlPattern ? this.matchesUrlPattern(context.url, trigger.urlPattern) : true;\n case 'custom_event':\n return trigger.eventKey ? context.eventKey === trigger.eventKey : false;\n default:\n return false;\n }\n }\n\n private hasActiveDelivery(): boolean {\n return document.getElementById('nm') !== null;\n }\n\n private async executeDelivery(delivery: Delivery, trigger: Trigger): Promise<void> {\n const productType = delivery.productType;\n if (productType === 'FRM') {\n this.logger.debug(`Triggering form delivery: ${delivery.productSlug}`, {\n triggerType: trigger.triggerType,\n urlPattern: trigger.urlPattern,\n eventKey: trigger.eventKey\n });\n\n try {\n const deliveryResponse = await this.createDeliveryResponse(delivery);\n await this.formManager.fetchAndDisplayForm(\n delivery.productSlug,\n async () => {\n this.logger.debug(`Form for delivery: ${delivery.productSlug} was cancelled`);\n if (deliveryResponse) await this.updateDeliveryResponse(delivery.id, deliveryResponse.id, true);\n },\n async () => {\n this.logger.debug(`Form for delivery: ${delivery.productSlug} was completed`);\n if (deliveryResponse) await this.updateDeliveryResponse(delivery.id, deliveryResponse.id, false, true);\n }\n );\n } catch (error) {\n this.logger.error(`Failed to load form for delivery: ${delivery.productSlug}`, error);\n }\n }\n }\n\n private matchesUrlPattern(url: string, pattern: string): boolean {\n // Extract pathname from URL (remove protocol, host, query params, etc.)\n let pathname: string;\n try {\n const urlObj = new URL(url);\n pathname = urlObj.pathname;\n } catch {\n // If URL parsing fails, assume it's already a pathname\n pathname = url.startsWith('/') ? url : `/${url}`;\n }\n\n // Normalize paths: remove trailing slash (except for root) and ensure leading slash\n const normalizePath = (p: string): string => {\n if (!p) return '/';\n let s = p.startsWith('/') ? p : `/${p}`;\n if (s.length > 1 && s.endsWith('/')) s = s.slice(0, -1);\n return s;\n };\n\n const normalizedPathname = normalizePath(pathname);\n const normalizedPattern = normalizePath(pattern);\n\n // Convert glob pattern to regex\n // * matches any characters except /\n // ** matches any characters including /\n const regexPattern = normalizedPattern\n .replace(/\\*\\*/g, '§DOUBLE_STAR§') // Temporary placeholder\n .replace(/\\*/g, '[^/]*') // Single * matches anything except /\n .replace(/§DOUBLE_STAR§/g, '.*') // ** matches anything including /\n .replace(/\\?/g, '.'); // ? matches single character\n\n const regex = new RegExp(`^${regexPattern}$`);\n const result = regex.test(normalizedPathname);\n\n this.logger.debug(`URL pattern matching`, {\n originalUrl: url,\n pathname,\n normalizedPathname,\n pattern,\n normalizedPattern,\n regexPattern,\n matches: result\n });\n\n return result;\n }\n\n private async createDeliveryResponse(delivery: Delivery): Promise<DeliveryResponse | undefined> {\n try {\n const response = await httpClient.post<DeliveryResponse>(\n `/external/deliveries/${delivery.id}/responses`,\n {},\n { headers: this.headers }\n );\n return response.data;\n } catch (error) {\n this.logger.error(`Failed to create delivery response for delivery: ${delivery.id}`, error);\n }\n }\n\n private async updateDeliveryResponse(\n deliveryId: number,\n deliveryResponseId: number,\n dismissed: boolean = false,\n completed: boolean = false\n ): Promise<void> {\n try {\n await httpClient.patch(\n `/external/deliveries/${deliveryId}/responses/${deliveryResponseId}`,\n { wasDismissed: dismissed, wasCompleted: completed },\n { headers: this.headers }\n );\n } catch (error) {\n this.logger.error(`Failed to update delivery response: ${deliveryResponseId} for delivery: ${deliveryId}`, error);\n }\n }\n\n private async isDeliveryValid(delivery: Delivery): Promise<boolean> {\n try {\n const response = await httpClient.get<boolean>(`/external/deliveries/${delivery.id}/should-deliver`, {\n headers: this.headers\n });\n return response.data;\n } catch (error) {\n this.logger.error(`Failed to get delivery should-deliver for delivery: ${delivery.id}`, error);\n return false;\n }\n }\n}\n","import { httpClient } from '../networking';\nimport { Logger } from '../utils';\n\nexport type Config = {\n logger: Logger;\n headers: Record<string, string>;\n sessionId: number;\n eventDefinitions: EventDefinition[];\n batchConfig?: boolean | BatchConfig;\n onPageView?: (url: string) => Promise<void>;\n onEvent?: (event: TrackEventOptions, url: string) => Promise<void>;\n};\n\nexport type BatchConfig = {\n enabled?: boolean;\n size?: number;\n delayMs?: number;\n sendOnUnload?: boolean;\n};\n\nexport type TrackEventOptions<T extends string = string> = {\n eventKey: T;\n data?: Record<string, unknown>;\n};\n\ntype HistoryParams = Parameters<typeof history.pushState>;\n\ntype EventOptions = TrackEventOptions & {\n sessionId: number;\n timestamp: string;\n page: string;\n};\n\ntype EventProperties = {\n name: string;\n type: string;\n};\n\nexport type EventDefinition = {\n properties: EventProperties[];\n eventKey: string;\n};\n\n/**\n * Manages event tracking, batching, and page view tracking\n */\nexport class TrackingManager {\n private logger: Logger;\n private headers: Record<string, string>;\n private sessionId?: number;\n private eventDefinitions: EventDefinition[] = [];\n private onPageView?: (url: string) => Promise<void>;\n private onEvent?: (event: TrackEventOptions, url: string) => Promise<void>;\n\n // Batching\n private backlog: Array<EventOptions> = [];\n private flushTimeout: number | null = null;\n private batchConfig: Required<BatchConfig> = {\n enabled: true,\n size: 10,\n delayMs: 10000, // 10 seconds\n sendOnUnload: true\n };\n\n // Page view tracking\n private originalHistoryMethods: {\n pushState: typeof history.pushState;\n replaceState: typeof history.replaceState;\n } | null = null;\n\n private readonly EVENT_PAGE_VIEW = 'page_view';\n\n constructor({ logger, headers, sessionId, eventDefinitions, batchConfig, onPageView, onEvent }: Config) {\n this.logger = logger;\n this.headers = headers;\n this.sessionId = sessionId;\n this.eventDefinitions = eventDefinitions;\n this.onPageView = onPageView;\n this.onEvent = onEvent;\n\n // Bind methods before setting up event listeners\n this.flushEvents = this.flushEvents.bind(this);\n this.handlePopState = this.handlePopState.bind(this);\n this.handleVisibilityChange = this.handleVisibilityChange.bind(this);\n\n this.setupBatching(batchConfig);\n }\n\n private setupBatching(batchConfig?: boolean | BatchConfig): void {\n if (typeof batchConfig === 'boolean') {\n this.batchConfig.enabled = batchConfig;\n } else if (batchConfig) {\n this.batchConfig = {\n ...this.batchConfig,\n ...batchConfig\n };\n }\n\n // Setup unload handler if batching is enabled\n if (this.batchConfig.enabled && this.batchConfig.sendOnUnload && typeof window !== 'undefined') {\n window.addEventListener('beforeunload', this.flushEvents);\n window.addEventListener('pagehide', this.flushEvents);\n }\n }\n\n public async setupPageViewTracking(): Promise<void> {\n if (typeof window === 'undefined') return;\n\n this.originalHistoryMethods = {\n pushState: history.pushState,\n replaceState: history.replaceState\n };\n\n const originalPushState = history.pushState;\n history.pushState = async (...args: HistoryParams) => {\n originalPushState.apply(history, args);\n await this.trackPageView();\n };\n\n const originalReplaceState = history.replaceState;\n history.replaceState = async (...args: HistoryParams) => {\n originalReplaceState.apply(history, args);\n await this.trackPageView();\n };\n\n window.addEventListener('popstate', this.handlePopState);\n document.addEventListener('visibilitychange', this.handleVisibilityChange);\n }\n\n public async track<T extends TrackEventOptions>(options: T): Promise<void> {\n if (!this.sessionId) {\n this.logger.warn('Tracking manager not initialized, cannot track event');\n return;\n }\n\n const { eventKey, data = {} } = options;\n this.logger.debug('Tracking event', { eventKey, data });\n const url = window.location.href;\n const event: EventOptions = {\n sessionId: this.sessionId,\n eventKey,\n data: data || {},\n timestamp: new Date().toISOString(),\n page: url\n };\n\n this.validateEvent(event);\n\n if (this.batchConfig.enabled) {\n this.backlog.push(event);\n this.scheduleFlush();\n } else {\n await this.sendEvents([event]);\n }\n\n if (eventKey === this.EVENT_PAGE_VIEW) {\n this.onPageView?.(window.location.href);\n } else {\n this.onEvent?.(event, url);\n }\n }\n\n public async trackPageView(): Promise<void> {\n if (typeof window === 'undefined') return;\n\n await this.track({\n eventKey: this.EVENT_PAGE_VIEW,\n data: {\n title: document.title\n }\n });\n }\n\n /**\n * Manually flush any pending events\n */\n public async flush(): Promise<void> {\n return this.flushEvents();\n }\n\n /**\n * Clean up event listeners and restore original history methods\n */\n public destroy(): void {\n if (this.originalHistoryMethods) {\n history.pushState = this.originalHistoryMethods.pushState;\n history.replaceState = this.originalHistoryMethods.replaceState;\n this.originalHistoryMethods = null;\n }\n\n if (typeof window !== 'undefined') {\n window.removeEventListener('popstate', this.handlePopState);\n document.removeEventListener('visibilitychange', this.handleVisibilityChange);\n window.removeEventListener('beforeunload', this.flushEvents);\n window.removeEventListener('pagehide', this.flushEvents);\n }\n\n // Clear any pending flush timeout\n if (this.flushTimeout) {\n clearTimeout(this.flushTimeout);\n this.flushTimeout = null;\n }\n }\n\n private validateEvent(event: EventOptions): void {\n if (event.eventKey === this.EVENT_PAGE_VIEW) return;\n\n const eventDefinition = this.eventDefinitions.find(def => def.eventKey === event.eventKey);\n if (!eventDefinition) {\n this.logger.warn(`Event ${event.eventKey} is not registered`);\n return;\n }\n\n const definedProperties = eventDefinition.properties;\n const eventProperties = event.data;\n if (!eventProperties) return;\n\n for (const eventPropertyKey of Object.keys(eventProperties)) {\n const eventProperty = eventProperties[eventPropertyKey];\n const definedProperty = definedProperties.find(prop => prop.name === eventPropertyKey);\n\n if (!definedProperty) {\n this.logger.warn(`Property ${eventPropertyKey} is not registered for event ${event.eventKey}`);\n return;\n }\n\n if (definedProperty.type === 'string' && typeof eventProperty !== 'string') {\n this.logger.warn(\n `Property ${definedProperty.name} has type ${definedProperty.type} but value is of type ${typeof eventProperty}`\n );\n }\n\n if (definedProperty.type === 'boolean' && typeof eventProperty !== 'boolean') {\n this.logger.warn(\n `Property ${definedProperty.name} has type ${definedProperty.type} but value is of type ${typeof eventProperty}`\n );\n }\n\n if (definedProperty.type === 'number' && typeof eventProperty !== 'number') {\n this.logger.warn(\n `Property ${definedProperty.name} has type ${definedProperty.type} but value is of type ${typeof eventProperty}`\n );\n }\n }\n }\n\n private async handlePopState(): Promise<void> {\n await this.trackPageView();\n }\n\n private async handleVisibilityChange(): Promise<void> {\n if (document.visibilityState === 'visible') {\n await this.trackPageView();\n }\n }\n\n private scheduleFlush(): void {\n if (this.backlog.length >= this.batchConfig.size) {\n this.flushEvents();\n return;\n }\n\n if (!this.flushTimeout) {\n this.flushTimeout = window.setTimeout(() => {\n this.flushEvents();\n }, this.batchConfig.delayMs);\n }\n }\n\n private async flushEvents(): Promise<void> {\n if (this.flushTimeout) {\n clearTimeout(this.flushTimeout);\n this.flushTimeout = null;\n }\n\n if (this.backlog.length === 0) return;\n\n const eventsToSend = [...this.backlog];\n this.backlog = [];\n\n try {\n await this.sendEvents(eventsToSend);\n } catch (error) {\n this.backlog.unshift(...eventsToSend);\n this.logger.error('Failed to send batched events', error);\n }\n }\n\n private async sendEvents(events: Array<EventOptions>): Promise<void> {\n if (events.length === 0) return;\n\n if (events.length === 1) {\n const event = events[0];\n await httpClient.post('/external/trackings/track', event, { headers: this.headers });\n } else {\n await httpClient.post('/external/trackings/batch', events, { headers: this.headers });\n }\n }\n}\n","import { DeliveryManager } from './deliveries/delivery-manager';\nimport { FormConfig } from './forms/form-manager';\nimport { httpClient, HttpResponse } from './networking';\nimport { BatchConfig, EventDefinition, TrackEventOptions, TrackingManager } from './tracking/tracking-manager';\nimport { Logger, logger } from './utils';\n\nexport type ClientConfigType = {\n userIdentifier: string;\n debug?: boolean;\n batch?: boolean | BatchConfig;\n formConfig?: FormConfig;\n};\n\n// Re-export types for backward compatibility\nexport type { BatchConfig, TrackEventOptions } from './tracking/tracking-manager';\n\ntype InitializeResponse = {\n sessionId: number;\n eventDefinitions: EventDefinition[];\n};\n\n/**\n * Main client class for the Nemme SDK\n * Coordinates initialization, tracking, and form management\n */\nexport class NemmeClient {\n clientKey: string;\n userIdentifier?: string;\n initialized = false;\n clientLogger: Logger = logger.child('client');\n headers: Record<string, string> = {};\n formConfig?: FormConfig;\n\n constructor(clientKey: string) {\n this.clientKey = clientKey;\n }\n\n // Module managers\n private trackingManager?: TrackingManager;\n\n /**\n * Create a new Nemme SDK client instance\n */\n public async init({ userIdentifier, debug = false, batch, formConfig }: ClientConfigType): Promise<NemmeClient> {\n if (!userIdentifier) throw new Error('userIdentifier is required parameter');\n this.userIdentifier = userIdentifier;\n\n // Configure logger based on debug setting\n this.clientLogger.configure({\n enabled: debug,\n level: debug ? 'debug' : 'info'\n });\n\n this.headers = {\n 'X-Client-Key': this.clientKey,\n 'X-User-Id': this.userIdentifier\n };\n\n this.formConfig = formConfig;\n\n try {\n const session = await this.initializeSession();\n await this.initializeManagers(session, batch);\n this.initialized = true;\n this.clientLogger.info('Nemme client initialized', {\n clientKey: this.clientKey,\n userIdentifier: this.userIdentifier\n });\n } catch (error) {\n this.clientLogger.error('Error during initialization:', error);\n }\n\n return this;\n }\n\n public async flush(): Promise<void> {\n return this.trackingManager?.flush();\n }\n\n public destroy(): void {\n this.trackingManager?.destroy();\n }\n\n public async track<T extends TrackEventOptions>(options: T): Promise<void> {\n if (!this.initialized || !this.trackingManager) {\n this.clientLogger.warn('Nemme client not initialized, some operations may fail');\n return;\n }\n\n return this.trackingManager.track(options);\n }\n\n private async initializeSession(): Promise<InitializeResponse> {\n try {\n const response: HttpResponse<InitializeResponse> = await httpClient.post(\n '/external/trackings/initialize',\n {},\n { headers: this.headers }\n );\n if (!response.ok) {\n throw new Error(response.error?.message || 'Request for initialising session failed');\n }\n return response.data;\n } catch (error) {\n this.clientLogger.error('Error during initialization', error);\n throw error;\n }\n }\n\n private async initializeManagers(session: InitializeResponse, batchConfig?: boolean | BatchConfig): Promise<void> {\n const deliveryManager = new DeliveryManager(this.clientLogger, this.headers, this.formConfig);\n const trackingManager = new TrackingManager({\n logger: this.clientLogger,\n headers: this.headers,\n sessionId: session.sessionId,\n eventDefinitions: session.eventDefinitions,\n batchConfig,\n onPageView: async (url: string) => {\n await deliveryManager.evaluateDeliveryTriggers({ url });\n },\n onEvent: async (event: TrackEventOptions, url: string) => {\n await deliveryManager.evaluateDeliveryTriggers({ eventKey: event.eventKey, eventData: event.data, url });\n }\n });\n\n await deliveryManager.loadDeliveries();\n\n if (typeof window !== 'undefined') {\n await trackingManager.setupPageViewTracking();\n await trackingManager.trackPageView();\n await trackingManager.flush();\n }\n\n this.trackingManager = trackingManager;\n }\n}\n\nexport const initAsModule = (clientKey: string) => new NemmeClient(clientKey);\n","import { createContext } from 'react';\nimport { NemmeClient } from '../client';\n\nexport interface NemmeContextType {\n client: NemmeClient | null;\n isInitialized: boolean;\n error: string | null;\n}\n\nexport const NemmeContext = createContext<NemmeContextType | undefined>(undefined);\n","import React, { useEffect, useState, ReactNode } from 'react';\nimport { NemmeClient, ClientConfigType } from '../client';\nimport { NemmeContext, NemmeContextType } from './context';\n\ninterface NemmeProviderProps {\n clientKey: string;\n config: ClientConfigType;\n children: ReactNode;\n}\n\nexport const NemmeProvider: React.FC<NemmeProviderProps> = ({ clientKey, config, children }) => {\n const [client, setClient] = useState<NemmeClient | null>(null);\n const [isInitialized, setIsInitialized] = useState(false);\n const [error, setError] = useState<string | null>(null);\n\n useEffect(() => {\n let currentClient: NemmeClient | null = null;\n let isCancelled = false;\n\n const initializeClient = async () => {\n try {\n const nemmeClient = new NemmeClient(clientKey);\n await nemmeClient.init(config);\n\n // Check if effect was cancelled during async operation\n if (isCancelled) {\n nemmeClient.destroy();\n return;\n }\n\n currentClient = nemmeClient;\n setClient(nemmeClient);\n setIsInitialized(true);\n setError(null);\n } catch (err) {\n if (!isCancelled) {\n setError(err instanceof Error ? err.message : 'Failed to initialize Nemme client');\n setIsInitialized(false);\n }\n }\n };\n\n // Reset state when starting new initialization\n setClient(null);\n setIsInitialized(false);\n setError(null);\n\n initializeClient();\n\n return () => {\n isCancelled = true;\n if (currentClient) {\n currentClient.destroy();\n }\n };\n }, [clientKey, config]);\n\n const value: NemmeContextType = {\n client,\n isInitialized,\n error\n };\n\n return <NemmeContext.Provider value={value}>{children}</NemmeContext.Provider>;\n};\n","import { useContext } from 'react';\nimport { NemmeContext } from './context';\n\nexport const useNemmeContext = () => {\n const context = useContext(NemmeContext);\n if (context === undefined) {\n throw new Error('useNemmeContext must be used within a NemmeProvider');\n }\n return context;\n};\n","import { useCallback } from 'react';\nimport { useNemmeContext } from './useNemmeContext';\nimport { TrackEventOptions } from '../client';\n\nexport const useNemme = () => {\n const { client, isInitialized, error } = useNemmeContext();\n\n const track = useCallback(\n async <T extends TrackEventOptions>(options: T) => {\n if (!client || !isInitialized) {\n console.warn('Nemme client not initialized');\n return;\n }\n return client.track(options);\n },\n [client, isInitialized]\n );\n\n const flush = useCallback(async () => {\n if (!client || !isInitialized) {\n console.warn('Nemme client not initialized');\n return;\n }\n return client.flush();\n }, [client, isInitialized]);\n\n return {\n track,\n flush,\n isInitialized,\n error,\n client\n };\n};\n","import { NemmeClient, initAsModule, type ClientConfigType } from './client';\nimport './i18n';\nimport './index.css';\n\ndeclare global {\n interface Window {\n NemmeSDK: ((clientKey: string) => NemmeClient) & {\n NemmeClient: typeof NemmeClient;\n init: (config: ClientConfigType & { clientKey: string }) => Promise<NemmeClient>;\n };\n }\n}\n\n// Create a default instance factory for global usage\nconst nemme = (clientKey: string) => initAsModule(clientKey);\n\n// Create init function that matches the expected signature\nconst init = async (config: ClientConfigType & { clientKey: string }): Promise<NemmeClient> => {\n const { clientKey, ...clientConfig } = config;\n const client = initAsModule(clientKey);\n return await client.init(clientConfig);\n};\n\n// Create a callable object that also exposes helpers\nconst NemmeSDKCallable = Object.assign((clientKey: string) => nemme(clientKey), {\n NemmeClient,\n init\n});\n\n// Expose to browser globals\nif (typeof window !== 'undefined') {\n window.NemmeSDK = NemmeSDKCallable;\n}\n\nexport { NemmeClient, NemmeSDKCallable as default, NemmeSDKCallable as NemmeSDK };\n\n// Re-export React components for browser usage\nexport { NemmeProvider, useNemme, useNemmeContext } from './react';\n\n// Re-export types for package consumers\nexport type { ClientConfigType, TrackEventOptions } from './client';\n"],"names":["warn","i18n","code","msg","rest","args","_b","_a","isString","_d","_c","alreadyWarned","warnOnce","loadedClb","cb","initialized","loadNamespaces","ns","loadLanguages","lng","n","hasLoadedNamespace","options","i18nInstance","loadNotPending","obj","isObject","matchHtmlEntity","htmlEntities","unescapeHtmlEntity","m","unescape","text","defaultOptions","setDefaults","getDefaults","setI18n","instance","getI18n","initReactI18next","I18nContext","createContext","ReportNamespaces","namespaces","usePrevious","value","ignore","ref","useRef","useEffect","alwaysNewT","language","namespace","keyPrefix","useMemoizedT","useCallback","useTranslation","props","i18nFromProps","i18nFromContext","defaultNSFromContext","useContext","notReadyT","k","optsOrDefaultValue","retNotReady","i18nOptions","useSuspense","ready","memoGetT","getT","getNewT","t","setT","useState","joinedNS","previousJoinedNS","isMounted","bindI18n","bindI18nStore","boundReset","e","ret","resolve","I18nextProvider","defaultNS","children","useMemo","createElement","f","require$$0","l","p","q","c","a","g","b","d","h","reactJsxRuntime_production_min","jsxRuntimeModule","Step","step","form","formState","onDismiss","onNextStep","onPreviousStep","onUpdateResponse","stepInfo","stepOrder","currentOrder","questionIndex","title","description","image","includeOptOut","customStartButton","startButtonText","customOptOutButton","optOutButtonText","jsx","TransitionStart","customEndButton","endButtonText","customEndButtonLink","endButtonLink","TransitionEnd","question","alternatives","maxSelections","required","selectedAlternatives","isValid","QuestionChoice","alternativeIndex","current","updated","i","maxChars","limited","inputText","QuestionText","FormWrapper","onComplete","zIndex","lastStepIndex","setFormState","updateResponse","questionId","answer","prev","navigateToStep","nextStep","completedFormState","previousStep","o","r","s","x","w","a2","Y","S2","D0","Z2","u","E","_","H","M2","H0","G2","P0","V0","z","q2","A0","J2","I0","T","M0","U","q0","QuestionWrapper","icon","onPrevious","onNext","onQuit","jsxs","cx","NText","index","Button","CaretLeftIcon","CaretRightIcon","XIcon","onAlternativeSelect","maxAlternatives","alternative","Option","size","strokeColor","fillColor","selected","viewBoxSize","center","radius","setInputText","maxCharacters","variantToClassName","TransitionWrapper","wrapperClassName","quitText","externalLink","ArrowSquareOutIcon","startText","onStart","getDefaultOptions","setDefaultOptions","newOptions","formatDistanceLocale","formatDistance","token","count","result","tokenValue","buildFormatLongFn","width","formatRelativeLocale","formatRelative","_date","_baseDate","_options","buildLocalizeFn","context","valuesArray","defaultWidth","eraValues","quarterValues","monthValues","dayValues","dayPeriodValues","formattingDayPeriodValues","ordinalNumber","dirtyNumber","number","rem100","localize","quarter","buildMatchFn","string","matchPattern","matchResult","matchedString","parsePatterns","key","findIndex","pattern","findKey","object","predicate","array","buildMatchPatternFn","parseResult","matchOrdinalNumberPattern","parseOrdinalNumberPattern","matchEraPatterns","parseEraPatterns","matchQuarterPatterns","parseQuarterPatterns","matchMonthPatterns","parseMonthPatterns","matchDayPatterns","parseDayPatterns","matchDayPeriodPatterns","parseDayPeriodPatterns","match","property","setInternalDefaultOptions","dateFormats","timeFormats","dateTimeFormats","formatLong","enGB","defer","res","rej","promise","reject","makeString","copy","lastOfPathSeparatorRegExp","cleanKey","canNotTraverseDeeper","getLastOfPath","path","Empty","stack","stackIndex","setPath","newValue","last","pushPath","concat","getPath","getPathWithDefaults","data","defaultData","deepExtend","target","source","overwrite","prop","regexEscape","str","_entityMap","escape","RegExpCache","capacity","regExpFromCache","regExpNew","chars","looksLikeObjectPathRegExpCache","looksLikeObjectPath","nsSeparator","keySeparator","possibleChars","matched","ki","deepFind","tokens","next","nextPath","j","getCleanedCode","consoleLogger","type","Logger$1","Logger","concreteLogger","lvl","prefix","debugOnly","moduleName","baseLogger","EventEmitter","events","listener","event","numListeners","observer","numTimesAdded","ResourceStore","ignoreJSONStructure","resources","deep","pack","v","postProcessor","module","processors","translator","processor","PATH_KEY","createProxy","state","handler","proxy","keysFromSelector","selector","opts","checkedLoadedFor","shouldHandleAsObject","Translator","services","opt","resolved","wouldCheckForNsInKey","seemsNaturalLanguage","parts","keys","lastKey","returnDetails","appendNamespaceToCIMode","resUsedKey","resExactUsedKey","noObject","joinArrays","handleAsObjectInI18nFormat","needsPluralHandling","hasDefaultValue","defaultValueSuffix","defaultValueSuffixOrdinalFallback","needsZeroSuffixLookup","defaultValue","resForObjHndl","handleAsObject","resType","resTypeIsArray","newKeyToUse","deepKey","usedDefault","usedKey","resForMissing","updateMissing","fk","lngs","fallbackLngs","send","specificDefaultValue","defaultForMissing","suffixes","suffix","skipOnVariables","nestBef","nb","na","nestAft","postProcess","postProcessorNames","found","exactUsedKey","usedLng","usedNS","extracted","needsContextHandling","codes","finalKeys","pluralSuffix","zeroSuffix","ordinalPrefix","contextKey","possibleKey","optionsKeys","useOptionsReplaceForData","option","LanguageUtil","formattedCode","cleanedLng","lngScOnly","lngOnly","supportedLng","fallbacks","fallbackCode","fallbackCodes","addCode","fc","suffixesOrder","dummyRule","PluralResolver","languageUtils","cleanedCode","cacheKey","rule","lngPart","pluralCategory1","pluralCategory2","pluralCategory","deepFindWithDefaults","regexSafe","val","Interpolator","escape$1","escapeValue","useRawValueToEscape","prefixEscaped","suffixEscaped","formatSeparator","unescapeSuffix","unescapePrefix","nestingPrefix","nestingPrefixEscaped","nestingSuffix","nestingSuffixEscaped","nestingOptionsSeparator","maxReplaces","alwaysFormat","getOrResetRegExp","existingRegExp","replaces","handleFormat","missingInterpolationHandler","todo","matchedVar","temp","safeValue","clonedOptions","handleHasOptions","inheritedOptions","sep","optionsString","matchedSingleQuotes","matchedDoubleQuotes","formatters","keyEndIndex","elem","parseFormatStr","formatStr","formatName","formatOptions","optStr","trimmedKey","createCachedFormatter","fn","cache","optForCache","frm","createNonCachedFormatter","Formatter","cf","formatter","name","format","formats","lastIndex","mem","formatted","valOptions","error","removePending","Connector","backend","store","languages","callback","toLoad","pending","toLoadLanguages","toLoadNamespaces","hasAllNamespaces","err","loaded","loadedKeys","fcName","tried","wait","resolver","fallbackValue","isUpdate","clb","_e","get","transformOptions","noop","bindMemberFunctions","inst","I18n","defOpts","createClassOnDemand","ClassOrObject","lu","deferred","load","finish","usedCallback","append","li","lngInLngs","setLngProps","done","setLng","fl","fixedT","resultKey","fallbackLng","lastLng","loadState","preResult","preloaded","newLngs","ti","rtlLngs","forkResourceStore","mergedOptions","clone","clonedData","acc","slice","forEach","defaults","hasXSS","input","fieldContentRegExp","serializeCookie","maxAge","cookie","minutes","domain","cookieOptions","nameEQ","ca","cookie$1","_ref","lookupCookie","_ref2","cookieMinutes","cookieDomain","querystring","lookupQuerystring","search","params","pos","hash","lookupHash","lookupFromHashIndex","query","hasLocalStorageSupport","localStorageAvailable","testKey","localStorage","lookupLocalStorage","hasSessionStorageSupport","sessionStorageAvailable","sessionStorage","lookupSessionStorage","navigator$1","userLanguage","htmlTag","internalHtmlTag","lookupFromPathIndex","subdomain","lookupFromSubdomainIndex","internalLookupFromSubdomainIndex","canCookies","order","Browser","detector","detectionOrder","detected","detectorName","lookup","caches","cacheName","config","LanguageDetector","en","LOG_LEVELS","__publicField","level","message","logger","networkLogger","DEFAULT_TIMEOUT","createUrl","endpoint","url","httpClient","method","headers","body","timeout","requestHeaders","requestOptions","controller","timeoutId","response","contentType","errorMessage","errorDetails","FormManager","productSlug","container","root","createRoot","formElement","DeliveryManager","formConfig","delivery","trigger","deliveryResponse","pathname","normalizePath","normalizedPathname","normalizedPattern","regexPattern","deliveryId","deliveryResponseId","dismissed","completed","TrackingManager","sessionId","eventDefinitions","batchConfig","onPageView","onEvent","originalPushState","originalReplaceState","eventKey","eventDefinition","def","definedProperties","eventProperties","eventPropertyKey","eventProperty","definedProperty","eventsToSend","NemmeClient","clientKey","userIdentifier","debug","batch","session","deliveryManager","trackingManager","initAsModule","NemmeContext","NemmeProvider","client","setClient","isInitialized","setIsInitialized","setError","currentClient","isCancelled","initializeClient","nemmeClient","useNemmeContext","useNemme","track","flush","nemme","init","clientConfig","NemmeSDKCallable"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,29,30,31,32,33,34,35,36,37,38,39,40,41,42]}