@nemme/js-sdk 0.3.3 → 0.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/js-sdk.css +1 -1
- package/dist/client.d.ts +2 -1
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.esm.js +13 -5
- package/dist/index.esm.js.map +1 -1
- package/dist/nemme-sdk.umd.js +1 -1
- package/dist/nemme-sdk.umd.js.map +1 -1
- package/package.json +1 -1
package/dist/assets/js-sdk.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
/*! tailwindcss v4.1.13 | MIT License | https://tailwindcss.com */@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){#nm *,#nm :before,#nm :after,#nm ::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}#nm,#nm :host{--font-sans:Inter,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-xl:24px;--aspect-video:16/9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-grey-0:#fff;--color-grey-1000:#000;--color-background-primary-light:#fbfbfd;--color-background-primary-dark:#101011;--color-background-secondary-light:#f2f2f7;--color-background-secondary-dark:#1c1c1e;--color-background-grouped-primary-light:#e5e5ea;--color-background-grouped-primary-dark:#101011;--color-background-grouped-secondary-light:#fbfbfd;--color-background-grouped-secondary-dark:#1c1c1e;--color-background-universal-overlay-light:#00000012;--color-background-universal-overlay-dark:#ffffff0f;--color-overlay-fill-default-light:#00000012;--color-overlay-fill-default-dark:#ffffff0f;--color-overlay-fill-alternative-light:#00000024;--color-overlay-fill-alternative-dark:#ffffff24;--color-overlay-background-default-light:#0003;--color-overlay-background-default-dark:#00000080;--color-label-primary-light:#000;--color-label-primary-dark:#fff;--color-label-secondary-light:#636366;--color-label-secondary-dark:#8e8e93;--color-label-tertiary-light:#8e8e93;--color-label-tertiary-dark:#636366;--color-label-placeholder-light:#8e8e93;--color-label-placeholder-dark:#8e8e93;--color-label-quaternary-light:#fff;--color-label-quaternary-dark:#000;--color-primary-action-button-light:#3461da;--color-primary-action-button-dark:#325fcb;--color-primary-action-button-hover-light:#2c4db9;--color-primary-action-button-hover-dark:#2c4db9;--color-primary-action-disabled-light:#d1d1d6;--color-primary-action-disabled-dark:#3a3a3c;--color-secondary-action-base-light:#000;--color-secondary-action-base-dark:#fff;--color-secondary-action-disabled-light:#d1d1d6;--color-secondary-action-disabled-dark:#3a3a3c;--color-separator-regular-light:#aeaeb2;--color-separator-regular-dark:#48484a;--color-separator-opaque-light:#e5e5ea;--color-separator-opaque-dark:#242426;--color-separator-opaque-alternative-light:#d1d1d6;--color-separator-opaque-alternative-dark:#2c2c2e;--color-nonadaptable-text-light:#fff;--color-nonadaptable-text-dark:#000;--color-success-default-light:#35c759;--color-success-default-dark:#31d158;--color-danger-background-light:#fef1f2;--color-danger-background-dark:#a10010;--color-danger-default-light:#ff3b2f;--color-danger-default-dark:#ff453a;--color-danger-hover-light:#d70015;--color-danger-hover-dark:#ff8680;--color-danger-accessible-light:#a10010;--color-danger-accessible-dark:#fef1f2;--color-system-neutral-grey-8-light:#242426;--color-system-neutral-grey-8-dark:#d1d1d6;--font-mc:Plus Jakarta Sans,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-code:Fira Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){#nm ::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){#nm ::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}#nm *,#nm :after,#nm :before,#nm ::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}#nm ::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}#nm,#nm :host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}#nm hr{height:0;color:inherit;border-top-width:1px}#nm abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}#nm h1,#nm h2,#nm h3,#nm h4,#nm h5,#nm h6{font-size:inherit;font-weight:inherit}#nm a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}#nm b,#nm strong{font-weight:bolder}#nm code,#nm kbd,#nm samp,#nm pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}#nm small{font-size:80%}#nm sub,#nm sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}#nm sub{bottom:-.25em}#nm sup{top:-.5em}#nm table{text-indent:0;border-color:inherit;border-collapse:collapse}#nm :-moz-focusring{outline:auto}#nm progress{vertical-align:baseline}#nm summary{display:list-item}#nm ol,#nm ul,#nm menu{list-style:none}#nm img,#nm svg,#nm video,#nm canvas,#nm audio,#nm iframe,#nm embed,#nm object{vertical-align:middle;display:block}#nm img,#nm video{max-width:100%;height:auto}#nm button,#nm input,#nm select,#nm optgroup,#nm textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}#nm ::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}#nm :where(select:is([multiple],[size])) optgroup{font-weight:bolder}#nm :where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}#nm ::file-selector-button{margin-inline-end:4px}#nm ::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){#nm ::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){#nm ::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){#nm ::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}}#nm textarea{resize:vertical}#nm ::-webkit-search-decoration{-webkit-appearance:none}#nm ::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}#nm ::-webkit-datetime-edit{display:inline-flex}#nm ::-webkit-datetime-edit-fields-wrapper{padding:0}#nm ::-webkit-datetime-edit{padding-block:0}#nm ::-webkit-datetime-edit-year-field{padding-block:0}#nm ::-webkit-datetime-edit-month-field{padding-block:0}#nm ::-webkit-datetime-edit-day-field{padding-block:0}#nm ::-webkit-datetime-edit-hour-field{padding-block:0}#nm ::-webkit-datetime-edit-minute-field{padding-block:0}#nm ::-webkit-datetime-edit-second-field{padding-block:0}#nm ::-webkit-datetime-edit-millisecond-field{padding-block:0}#nm ::-webkit-datetime-edit-meridiem-field{padding-block:0}#nm ::-webkit-calendar-picker-indicator{line-height:1}#nm :-moz-ui-invalid{box-shadow:none}#nm button,#nm input:where([type=button],[type=reset],[type=submit]){appearance:button}#nm ::file-selector-button{appearance:button}#nm ::-webkit-inner-spin-button{height:auto}#nm ::-webkit-outer-spin-button{height:auto}#nm [hidden]:where(:not([hidden=until-found])){display:none!important}#nm *,#nm :after,#nm :before,#nm ::backdrop{border-color:var(--color-gray-200,currentcolor)}#nm ::file-selector-button{border-color:var(--color-gray-200,currentcolor)}#nm .visible{visibility:visible}#nm .-top-2{top:calc(var(--spacing)*-2)}#nm .top-0{top:calc(var(--spacing)*0)}#nm .-right-2{right:calc(var(--spacing)*-2)}#nm .right-1{right:calc(var(--spacing)*1)}#nm .order-1{order:1}#nm .order-2{order:2}#nm .mx-4{margin-inline:calc(var(--spacing)*4)}#nm .my-8{margin-block:calc(var(--spacing)*8)}#nm .mb-1{margin-bottom:calc(var(--spacing)*1)}#nm .mb-6{margin-bottom:calc(var(--spacing)*6)}#nm .grid{display:grid}#nm .hidden{display:none}#nm .aspect-video{aspect-ratio:var(--aspect-video)}#nm .h-\[1200px\]{height:1200px}#nm .max-h-\[272px\]{max-height:272px}#nm .min-h-20{min-height:calc(var(--spacing)*20)}#nm .w-8{width:calc(var(--spacing)*8)}#nm .resize-none{resize:none}#nm .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}#nm .flex-wrap{flex-wrap:wrap}#nm .items-end{align-items:flex-end}#nm .justify-end{justify-content:flex-end}#nm .overflow-hidden{overflow:hidden}#nm .overflow-y-auto{overflow-y:auto}#nm .overflow-y-hidden{overflow-y:hidden}#nm .rounded-xl{border-radius:var(--radius-xl)}#nm .border-label-quaternary-light{border-color:var(--color-label-quaternary-light)}#nm .material-medium{background-color:#fff9}@supports (color:color-mix(in lab,red,red)){#nm .material-medium{background-color:color-mix(in oklab,var(--color-grey-0)60%,transparent)}}#nm .material-medium{--tw-backdrop-blur:blur(30px);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}@media (prefers-color-scheme:dark){#nm .material-medium{background-color:#0000004d}@supports (color:color-mix(in lab,red,red)){#nm .material-medium{background-color:color-mix(in oklab,var(--color-grey-1000)30%,transparent)}}}#nm .material-ultra-thick{background-color:#ffffffd9}@supports (color:color-mix(in lab,red,red)){#nm .material-ultra-thick{background-color:color-mix(in oklab,var(--color-grey-0)85%,transparent)}}#nm .material-ultra-thick{--tw-backdrop-blur:blur(30px);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}@media (prefers-color-scheme:dark){#nm .material-ultra-thick{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){#nm .material-ultra-thick{background-color:color-mix(in oklab,var(--color-grey-1000)50%,transparent)}}}#nm .bg-background-secondary-light{background-color:var(--color-background-secondary-light)}#nm .object-cover{object-fit:cover}#nm .pt-10{padding-top:calc(var(--spacing)*10)}#nm .pb-3{padding-bottom:calc(var(--spacing)*3)}#nm .break-words{overflow-wrap:break-word}#nm .whitespace-pre-wrap{white-space:pre-wrap}#nm .transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (min-width:48rem){#nm .md\:-top-4{top:calc(var(--spacing)*-4)}#nm .md\:top-1{top:calc(var(--spacing)*1)}#nm .md\:-right-4{right:calc(var(--spacing)*-4)}#nm .md\:order-1{order:1}#nm .md\:order-2{order:2}#nm .md\:mb-0{margin-bottom:calc(var(--spacing)*0)}#nm .md\:mb-2{margin-bottom:calc(var(--spacing)*2)}#nm .md\:block{display:block}#nm .md\:aspect-square{aspect-ratio:1}#nm .md\:max-h-full{max-height:100%}#nm .md\:max-w-\[960px\]{max-width:960px}#nm .md\:min-w-\[660px\]{min-width:660px}#nm .md\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}#nm .md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}#nm .md\:items-start{align-items:flex-start}#nm .md\:justify-start{justify-content:flex-start}#nm .md\:gap-2{gap:calc(var(--spacing)*2)}#nm .md\:gap-4{gap:calc(var(--spacing)*4)}#nm .md\:gap-8{gap:calc(var(--spacing)*8)}#nm .md\:gap-16{gap:calc(var(--spacing)*16)}#nm .md\:p-8{padding:calc(var(--spacing)*8)}#nm .md\:py-4{padding-block:calc(var(--spacing)*4)}}@media (prefers-color-scheme:dark){#nm .dark\:border-label-quaternary-dark{border-color:var(--color-label-quaternary-dark)}#nm .dark\:border-separator-opaque-dark{border-color:var(--color-separator-opaque-dark)}#nm .dark\:border-separator-regular-dark{border-color:var(--color-separator-regular-dark)}#nm .dark\:bg-background-primary-dark{background-color:var(--color-background-primary-dark)}#nm .dark\:bg-background-secondary-dark{background-color:var(--color-background-secondary-dark)}#nm .dark\:bg-overlay-background-default-dark{background-color:var(--color-overlay-background-default-dark)}#nm .dark\:bg-secondary-action-base-dark{background-color:var(--color-secondary-action-base-dark)}#nm .dark\:text-label-primary-dark{color:var(--color-label-primary-dark)}#nm .dark\:text-label-quaternary-dark{color:var(--color-label-quaternary-dark)}}#nm .invisible{visibility:hidden}#nm .sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}#nm .absolute{position:absolute}#nm .fixed{position:fixed}#nm .relative{position:relative}#nm .static{position:static}#nm .inset-0{inset:calc(var(--spacing)*0)}#nm .top-1{top:calc(var(--spacing)*1)}#nm .top-2{top:calc(var(--spacing)*2)}#nm .right-0{right:calc(var(--spacing)*0)}#nm .right-2{right:calc(var(--spacing)*2)}#nm .left-0{left:calc(var(--spacing)*0)}#nm .z-10{z-index:10}#nm .container{width:100%}@media (min-width:40rem){#nm .container{max-width:40rem}}@media (min-width:48rem){#nm .container{max-width:48rem}}@media (min-width:64rem){#nm .container{max-width:64rem}}@media (min-width:80rem){#nm .container{max-width:80rem}}@media (min-width:96rem){#nm .container{max-width:96rem}}#nm .m-10{margin:calc(var(--spacing)*10)}#nm .block{display:block}#nm .flex{display:flex}#nm .h-8{height:calc(var(--spacing)*8)}#nm .h-96{height:calc(var(--spacing)*96)}#nm .h-\[17\.5px\]{height:17.5px}#nm .h-\[20px\]{height:20px}#nm .h-\[21px\]{height:21px}#nm .h-\[24px\]{height:24px}#nm .h-\[28px\]{height:28px}#nm .h-\[32px\]{height:32px}#nm .h-\[35px\]{height:35px}#nm .h-\[40px\]{height:40px}#nm .h-full{height:100%}#nm .h-px{height:1px}#nm .w-4{width:calc(var(--spacing)*4)}#nm .w-\[17\.5px\]{width:17.5px}#nm .w-\[21px\]{width:21px}#nm .w-\[28px\]{width:28px}#nm .w-\[32\.5px\]{width:32.5px}#nm .w-\[35px\]{width:35px}#nm .w-\[39px\]{width:39px}#nm .w-\[52px\]{width:52px}#nm .w-\[65px\]{width:65px}#nm .w-full{width:100%}#nm .w-max{width:max-content}#nm .w-px{width:1px}#nm .flex-1{flex:1}#nm .shrink-0{flex-shrink:0}#nm .\!grow{flex-grow:1!important}#nm .grow{flex-grow:1}#nm .translate-x-\[12px\]{--tw-translate-x:12px;translate:var(--tw-translate-x)var(--tw-translate-y)}#nm .translate-x-\[15px\]{--tw-translate-x:15px;translate:var(--tw-translate-x)var(--tw-translate-y)}#nm .translate-x-\[20px\]{--tw-translate-x:20px;translate:var(--tw-translate-x)var(--tw-translate-y)}#nm .translate-x-\[25px\]{--tw-translate-x:25px;translate:var(--tw-translate-x)var(--tw-translate-y)}#nm .transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}#nm .animate-pulse{animation:var(--animate-pulse)}#nm .animate-spin{animation:var(--animate-spin)}#nm .cursor-pointer{cursor:pointer}#nm .flex-col{flex-direction:column}#nm .flex-row{flex-direction:row}#nm .items-center{align-items:center}#nm .justify-between{justify-content:space-between}#nm .justify-center{justify-content:center}#nm .justify-start{justify-content:flex-start}#nm .gap-1{gap:calc(var(--spacing)*1)}#nm .gap-2{gap:calc(var(--spacing)*2)}#nm .gap-3{gap:calc(var(--spacing)*3)}#nm .gap-4{gap:calc(var(--spacing)*4)}#nm .gap-6{gap:calc(var(--spacing)*6)}#nm .overflow-x-auto{overflow-x:auto}#nm .rounded-\[3\.75px\]{border-radius:3.75px}#nm .rounded-\[4\.5px\]{border-radius:4.5px}#nm .rounded-\[5px\]{border-radius:5px}#nm .rounded-\[6px\]{border-radius:6px}#nm .rounded-\[7\.5px\]{border-radius:7.5px}#nm .rounded-\[8px\]{border-radius:8px}#nm .rounded-\[10px\]{border-radius:10px}#nm .rounded-full{border-radius:3.40282e38px}#nm .rounded-lg{border-radius:var(--radius-lg)}#nm .rounded-md{border-radius:var(--radius-md)}#nm .rounded-sm{border-radius:var(--radius-sm)}#nm .border{border-style:var(--tw-border-style);border-width:1px}#nm .border-solid{--tw-border-style:solid;border-style:solid}#nm .border-\[rgba\(255\,255\,255\,0\.0\)\]{border-color:#fff0}#nm .border-danger-default-light{border-color:var(--color-danger-default-light)}#nm .border-grey-0\/0{border-color:#0000}@supports (color:color-mix(in lab,red,red)){#nm .border-grey-0\/0{border-color:color-mix(in srgb,#ffffff0%,transparent)}@supports (color:color-mix(in lab,red,red)){#nm .border-grey-0\/0{border-color:color-mix(in oklab,var(--color-grey-0)0%,transparent)}}}#nm .border-separator-opaque-light{border-color:var(--color-separator-opaque-light)}#nm .border-separator-regular-light{border-color:var(--color-separator-regular-light)}#nm .border-b-label-primary-light{border-bottom-color:var(--color-label-primary-light)}#nm .bg-background-grouped-primary-light{background-color:var(--color-background-grouped-primary-light)}#nm .bg-background-grouped-secondary-light{background-color:var(--color-background-grouped-secondary-light)}#nm .bg-background-primary-dark{background-color:var(--color-background-primary-dark)}#nm .bg-background-primary-light{background-color:var(--color-background-primary-light)}#nm .bg-background-universal-overlay-light{background-color:var(--color-background-universal-overlay-light)}#nm .bg-danger-background-light{background-color:var(--color-danger-background-light)}#nm .bg-nonadaptable-text-light{background-color:var(--color-nonadaptable-text-light)}#nm .bg-overlay-background-default-light{background-color:var(--color-overlay-background-default-light)}#nm .bg-overlay-fill-alternative-light{background-color:var(--color-overlay-fill-alternative-light)}#nm .bg-overlay-fill-default-light{background-color:var(--color-overlay-fill-default-light)}#nm .bg-primary-action-button-light{background-color:var(--color-primary-action-button-light)}#nm .bg-secondary-action-base-light{background-color:var(--color-secondary-action-base-light)}#nm .bg-separator-opaque-alternative-light{background-color:var(--color-separator-opaque-alternative-light)}#nm .bg-separator-opaque-light{background-color:var(--color-separator-opaque-light)}#nm .bg-separator-regular-light{background-color:var(--color-separator-regular-light)}#nm .bg-success-default-light{background-color:var(--color-success-default-light)}#nm .bg-transparent{background-color:#0000}#nm .p-1{padding:calc(var(--spacing)*1)}#nm .p-2{padding:calc(var(--spacing)*2)}#nm .p-3{padding:calc(var(--spacing)*3)}#nm .p-4{padding:calc(var(--spacing)*4)}#nm .p-10{padding:calc(var(--spacing)*10)}#nm .p-\[1\.5px\]{padding:1.5px}#nm .p-\[1\.25px\]{padding:1.25px}#nm .p-\[2\.5px\]{padding:2.5px}#nm .p-\[2px\]{padding:2px}#nm .px-2{padding-inline:calc(var(--spacing)*2)}#nm .px-3{padding-inline:calc(var(--spacing)*3)}#nm .px-4{padding-inline:calc(var(--spacing)*4)}#nm .py-1{padding-block:calc(var(--spacing)*1)}#nm .py-2{padding-block:calc(var(--spacing)*2)}#nm .py-3{padding-block:calc(var(--spacing)*3)}#nm .pt-4{padding-top:calc(var(--spacing)*4)}#nm .pb-6{padding-bottom:calc(var(--spacing)*6)}#nm .font-code{font-family:var(--font-code)}#nm .font-mc{font-family:var(--font-mc)}#nm .font-sans{font-family:var(--font-sans)}#nm .text-\[10px\]{font-size:10px}#nm .text-\[12px\]{font-size:12px}#nm .text-\[13px\]{font-size:13px}#nm .text-\[15px\]{font-size:15px}#nm .text-\[20px\]{font-size:20px}#nm .text-\[24px\]{font-size:24px}#nm .text-\[32px\]{font-size:32px}#nm .text-\[40px\]{font-size:40px}#nm .text-\[48px\]{font-size:48px}#nm .text-\[60px\]{font-size:60px}#nm .text-\[72px\]{font-size:72px}#nm .leading-\[14px\]{--tw-leading:14px;line-height:14px}#nm .leading-\[16px\]{--tw-leading:16px;line-height:16px}#nm .leading-\[20px\]{--tw-leading:20px;line-height:20px}#nm .leading-\[24px\]{--tw-leading:24px;line-height:24px}#nm .leading-\[32px\]{--tw-leading:32px;line-height:32px}#nm .leading-\[40px\]{--tw-leading:40px;line-height:40px}#nm .leading-\[48px\]{--tw-leading:48px;line-height:48px}#nm .leading-\[60px\]{--tw-leading:60px;line-height:60px}#nm .leading-\[72px\]{--tw-leading:72px;line-height:72px}#nm .leading-\[90px\]{--tw-leading:90px;line-height:90px}#nm .font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}#nm .font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}#nm .font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}#nm .text-label-placeholder-light{color:var(--color-label-placeholder-light)}#nm .text-label-primary-light{color:var(--color-label-primary-light)}#nm .text-label-quaternary-light{color:var(--color-label-quaternary-light)}#nm .text-label-secondary-light{color:var(--color-label-secondary-light)}#nm .text-label-tertiary-light{color:var(--color-label-tertiary-light)}#nm .text-nonadaptable-text-dark{color:var(--color-nonadaptable-text-dark)}#nm .text-nonadaptable-text-light{color:var(--color-nonadaptable-text-light)}#nm .text-primary-action-disabled-light{color:var(--color-primary-action-disabled-light)}#nm .capitalize{text-transform:capitalize}#nm .shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}#nm .outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){#nm .outline-hidden{outline-offset:2px;outline:2px solid #0000}}#nm .backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}#nm .transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}#nm .transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}#nm .duration-300{--tw-duration:.3s;transition-duration:.3s}#nm .ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}@media (hover:hover){#nm .group-hover\:visible:is(:where(.group):hover *){visibility:visible}#nm .group-hover\:text-label-quaternary-light:is(:where(.group):hover *){color:var(--color-label-quaternary-light)}}#nm .placeholder\:text-label-placeholder-light::placeholder{color:var(--color-label-placeholder-light)}@media (hover:hover){#nm .hover\:border-danger-accessible-light:hover{border-color:var(--color-danger-accessible-light)}#nm .hover\:bg-background-universal-overlay-light:hover{background-color:var(--color-background-universal-overlay-light)}#nm .hover\:bg-danger-background-light:hover{background-color:var(--color-danger-background-light)}#nm .hover\:bg-danger-hover-light:hover{background-color:var(--color-danger-hover-light)}#nm .hover\:bg-overlay-fill-default-light:hover{background-color:var(--color-overlay-fill-default-light)}#nm .hover\:bg-primary-action-button-hover-light:hover{background-color:var(--color-primary-action-button-hover-light)}#nm .hover\:bg-system-neutral-grey-8-light:hover{background-color:var(--color-system-neutral-grey-8-light)}}#nm .focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){#nm .focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}#nm .disabled\:pointer-events-none:disabled{pointer-events:none}#nm .disabled\:border:disabled{border-style:var(--tw-border-style);border-width:1px}#nm .disabled\:border-separator-opaque-light:disabled{border-color:var(--color-separator-opaque-light)}#nm .disabled\:bg-primary-action-disabled-light:disabled{background-color:var(--color-primary-action-disabled-light)}#nm .disabled\:bg-secondary-action-disabled-light:disabled{background-color:var(--color-secondary-action-disabled-light)}#nm .disabled\:text-primary-action-disabled-light:disabled{color:var(--color-primary-action-disabled-light)}@media (prefers-color-scheme:dark){#nm .dark\:border-danger-default-dark{border-color:var(--color-danger-default-dark)}#nm .dark\:border-separator-opaque-dark{border-color:var(--color-separator-opaque-dark)}#nm .dark\:border-separator-regular-dark{border-color:var(--color-separator-regular-dark)}#nm .dark\:border-b-label-primary-dark{border-bottom-color:var(--color-label-primary-dark)}#nm .dark\:bg-background-grouped-primary-dark{background-color:var(--color-background-grouped-primary-dark)}#nm .dark\:bg-background-grouped-secondary-dark{background-color:var(--color-background-grouped-secondary-dark)}#nm .dark\:bg-background-primary-dark{background-color:var(--color-background-primary-dark)}#nm .dark\:bg-background-universal-overlay-dark{background-color:var(--color-background-universal-overlay-dark)}#nm .dark\:bg-danger-background-dark{background-color:var(--color-danger-background-dark)}#nm .dark\:bg-overlay-background-default-dark{background-color:var(--color-overlay-background-default-dark)}#nm .dark\:bg-overlay-fill-alternative-dark{background-color:var(--color-overlay-fill-alternative-dark)}#nm .dark\:bg-overlay-fill-default-dark{background-color:var(--color-overlay-fill-default-dark)}#nm .dark\:bg-primary-action-button-dark{background-color:var(--color-primary-action-button-dark)}#nm .dark\:bg-secondary-action-base-dark{background-color:var(--color-secondary-action-base-dark)}#nm .dark\:bg-separator-opaque-alternative-dark{background-color:var(--color-separator-opaque-alternative-dark)}#nm .dark\:bg-separator-opaque-dark{background-color:var(--color-separator-opaque-dark)}#nm .dark\:bg-separator-regular-dark{background-color:var(--color-separator-regular-dark)}#nm .dark\:bg-success-default-dark{background-color:var(--color-success-default-dark)}#nm .dark\:text-label-placeholder-dark{color:var(--color-label-placeholder-dark)}#nm .dark\:text-label-primary-dark{color:var(--color-label-primary-dark)}#nm .dark\:text-label-quaternary-dark{color:var(--color-label-quaternary-dark)}#nm .dark\:text-label-secondary-dark{color:var(--color-label-secondary-dark)}#nm .dark\:text-label-tertiary-dark{color:var(--color-label-tertiary-dark)}#nm .dark\:text-nonadaptable-text-dark{color:var(--color-nonadaptable-text-dark)}#nm .dark\:text-primary-action-disabled-dark{color:var(--color-primary-action-disabled-dark)}@media (hover:hover){#nm .dark\:group-hover\:text-label-quaternary-dark:is(:where(.group):hover *){color:var(--color-label-quaternary-dark)}}#nm .dark\:placeholder\:text-label-placeholder-dark::placeholder{color:var(--color-label-placeholder-dark)}@media (hover:hover){#nm .dark\:hover\:border-danger-accessible-dark:hover{border-color:var(--color-danger-accessible-dark)}#nm .dark\:hover\:bg-background-universal-overlay-dark:hover{background-color:var(--color-background-universal-overlay-dark)}#nm .dark\:hover\:bg-danger-background-dark:hover{background-color:var(--color-danger-background-dark)}#nm .dark\:hover\:bg-danger-hover-dark:hover{background-color:var(--color-danger-hover-dark)}#nm .dark\:hover\:bg-overlay-fill-default-dark:hover{background-color:var(--color-overlay-fill-default-dark)}#nm .dark\:hover\:bg-primary-action-button-hover-dark:hover{background-color:var(--color-primary-action-button-hover-dark)}#nm .dark\:hover\:bg-system-neutral-grey-8-dark:hover{background-color:var(--color-system-neutral-grey-8-dark)}}#nm .dark\:disabled\:border-separator-opaque-dark:disabled{border-color:var(--color-separator-opaque-dark)}#nm .dark\:disabled\:bg-primary-action-disabled-dark:disabled{background-color:var(--color-primary-action-disabled-dark)}#nm .dark\:disabled\:bg-secondary-action-disabled-dark:disabled{background-color:var(--color-secondary-action-disabled-dark)}#nm .dark\:disabled\:text-primary-action-disabled-dark:disabled{color:var(--color-primary-action-disabled-dark)}}#nm .\[\&\]\:text-danger-accessible-light{color:var(--color-danger-accessible-light)}#nm .\[\&\]\:text-label-tertiary-light{color:var(--color-label-tertiary-light)}@media (hover:hover){#nm .group-hover\:\[\&\]\:text-label-tertiary-light:is(:where(.group):hover *){color:var(--color-label-tertiary-light)}}@media (prefers-color-scheme:dark){#nm .dark\:\[\&\]\:text-danger-accessible-dark{color:var(--color-danger-accessible-dark)}#nm .dark\:\[\&\]\:text-label-tertiary-dark{color:var(--color-label-tertiary-dark)}@media (hover:hover){#nm .dark\:group-hover\:\[\&\]\:text-label-tertiary-dark:is(:where(.group):hover *){color:var(--color-label-tertiary-dark)}}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}
|
|
1
|
+
/*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){#nm *,#nm :before,#nm :after,#nm ::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}#nm,#nm :host{--font-sans:Inter,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-xl:24px;--aspect-video:16/9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-grey-0:#fff;--color-grey-1000:#000;--color-background-primary-light:#fbfbfd;--color-background-primary-dark:#101011;--color-background-secondary-light:#f2f2f7;--color-background-secondary-dark:#1c1c1e;--color-background-grouped-primary-light:#e5e5ea;--color-background-grouped-primary-dark:#101011;--color-background-grouped-secondary-light:#fbfbfd;--color-background-grouped-secondary-dark:#1c1c1e;--color-background-universal-overlay-light:#00000012;--color-background-universal-overlay-dark:#ffffff0f;--color-overlay-fill-default-light:#00000012;--color-overlay-fill-default-dark:#ffffff0f;--color-overlay-fill-alternative-light:#00000024;--color-overlay-fill-alternative-dark:#ffffff24;--color-overlay-background-default-light:#0003;--color-overlay-background-default-dark:#00000080;--color-label-primary-light:#000;--color-label-primary-dark:#fff;--color-label-secondary-light:#636366;--color-label-secondary-dark:#8e8e93;--color-label-tertiary-light:#8e8e93;--color-label-tertiary-dark:#636366;--color-label-placeholder-light:#8e8e93;--color-label-placeholder-dark:#8e8e93;--color-label-quaternary-light:#fff;--color-label-quaternary-dark:#000;--color-primary-action-button-light:#3461da;--color-primary-action-button-dark:#325fcb;--color-primary-action-button-hover-light:#2c4db9;--color-primary-action-button-hover-dark:#2c4db9;--color-primary-action-disabled-light:#d1d1d6;--color-primary-action-disabled-dark:#3a3a3c;--color-secondary-action-base-light:#000;--color-secondary-action-base-dark:#fff;--color-secondary-action-disabled-light:#d1d1d6;--color-secondary-action-disabled-dark:#3a3a3c;--color-separator-regular-light:#aeaeb2;--color-separator-regular-dark:#48484a;--color-separator-opaque-light:#e5e5ea;--color-separator-opaque-dark:#242426;--color-separator-opaque-alternative-light:#d1d1d6;--color-separator-opaque-alternative-dark:#2c2c2e;--color-system-fill-primary-dark:#3a3a3c;--color-nonadaptable-text-light:#fff;--color-nonadaptable-text-dark:#000;--color-success-default-light:#35c759;--color-success-default-dark:#31d158;--color-danger-background-light:#fef1f2;--color-danger-background-dark:#a10010;--color-danger-default-light:#ff3b2f;--color-danger-default-dark:#ff453a;--color-danger-hover-light:#d70015;--color-danger-hover-dark:#ff8680;--color-danger-accessible-light:#a10010;--color-danger-accessible-dark:#fef1f2;--color-system-neutral-grey-8-light:#242426;--color-system-neutral-grey-8-dark:#d1d1d6;--font-mc:Plus Jakarta Sans,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-code:Fira Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){#nm ::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){#nm ::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}#nm *,#nm :after,#nm :before,#nm ::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}#nm ::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}#nm,#nm :host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}#nm hr{height:0;color:inherit;border-top-width:1px}#nm abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}#nm h1,#nm h2,#nm h3,#nm h4,#nm h5,#nm h6{font-size:inherit;font-weight:inherit}#nm a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}#nm b,#nm strong{font-weight:bolder}#nm code,#nm kbd,#nm samp,#nm pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}#nm small{font-size:80%}#nm sub,#nm sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}#nm sub{bottom:-.25em}#nm sup{top:-.5em}#nm table{text-indent:0;border-color:inherit;border-collapse:collapse}#nm :-moz-focusring{outline:auto}#nm progress{vertical-align:baseline}#nm summary{display:list-item}#nm ol,#nm ul,#nm menu{list-style:none}#nm img,#nm svg,#nm video,#nm canvas,#nm audio,#nm iframe,#nm embed,#nm object{vertical-align:middle;display:block}#nm img,#nm video{max-width:100%;height:auto}#nm button,#nm input,#nm select,#nm optgroup,#nm textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}#nm ::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}#nm :where(select:is([multiple],[size])) optgroup{font-weight:bolder}#nm :where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}#nm ::file-selector-button{margin-inline-end:4px}#nm ::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){#nm ::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){#nm ::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){#nm ::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}}#nm textarea{resize:vertical}#nm ::-webkit-search-decoration{-webkit-appearance:none}#nm ::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}#nm ::-webkit-datetime-edit{display:inline-flex}#nm ::-webkit-datetime-edit-fields-wrapper{padding:0}#nm ::-webkit-datetime-edit{padding-block:0}#nm ::-webkit-datetime-edit-year-field{padding-block:0}#nm ::-webkit-datetime-edit-month-field{padding-block:0}#nm ::-webkit-datetime-edit-day-field{padding-block:0}#nm ::-webkit-datetime-edit-hour-field{padding-block:0}#nm ::-webkit-datetime-edit-minute-field{padding-block:0}#nm ::-webkit-datetime-edit-second-field{padding-block:0}#nm ::-webkit-datetime-edit-millisecond-field{padding-block:0}#nm ::-webkit-datetime-edit-meridiem-field{padding-block:0}#nm ::-webkit-calendar-picker-indicator{line-height:1}#nm :-moz-ui-invalid{box-shadow:none}#nm button,#nm input:where([type=button],[type=reset],[type=submit]){appearance:button}#nm ::file-selector-button{appearance:button}#nm ::-webkit-inner-spin-button{height:auto}#nm ::-webkit-outer-spin-button{height:auto}#nm [hidden]:where(:not([hidden=until-found])){display:none!important}#nm *,#nm :after,#nm :before,#nm ::backdrop{border-color:var(--color-gray-200,currentcolor)}#nm ::file-selector-button{border-color:var(--color-gray-200,currentcolor)}#nm .visible{visibility:visible}#nm .-top-2{top:calc(var(--spacing)*-2)}#nm .top-0{top:calc(var(--spacing)*0)}#nm .-right-2{right:calc(var(--spacing)*-2)}#nm .right-1{right:calc(var(--spacing)*1)}#nm .order-1{order:1}#nm .order-2{order:2}#nm .mx-4{margin-inline:calc(var(--spacing)*4)}#nm .my-8{margin-block:calc(var(--spacing)*8)}#nm .mb-1{margin-bottom:calc(var(--spacing)*1)}#nm .mb-6{margin-bottom:calc(var(--spacing)*6)}#nm .grid{display:grid}#nm .hidden{display:none}#nm .aspect-video{aspect-ratio:var(--aspect-video)}#nm .h-\[1200px\]{height:1200px}#nm .max-h-\[272px\]{max-height:272px}#nm .min-h-20{min-height:calc(var(--spacing)*20)}#nm .w-8{width:calc(var(--spacing)*8)}#nm .resize-none{resize:none}#nm .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}#nm .flex-wrap{flex-wrap:wrap}#nm .items-end{align-items:flex-end}#nm .justify-end{justify-content:flex-end}#nm .overflow-hidden{overflow:hidden}#nm .overflow-y-auto{overflow-y:auto}#nm .overflow-y-hidden{overflow-y:hidden}#nm .rounded-xl{border-radius:var(--radius-xl)}#nm .border-label-quaternary-light{border-color:var(--color-label-quaternary-light)}#nm .material-medium{background-color:#fff9}@supports (color:color-mix(in lab,red,red)){#nm .material-medium{background-color:color-mix(in oklab,var(--color-grey-0)60%,transparent)}}#nm .material-medium{--tw-backdrop-blur:blur(30px);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}@media (prefers-color-scheme:dark){#nm .material-medium{background-color:#0000004d}@supports (color:color-mix(in lab,red,red)){#nm .material-medium{background-color:color-mix(in oklab,var(--color-grey-1000)30%,transparent)}}}#nm .material-ultra-thick{background-color:#ffffffd9}@supports (color:color-mix(in lab,red,red)){#nm .material-ultra-thick{background-color:color-mix(in oklab,var(--color-grey-0)85%,transparent)}}#nm .material-ultra-thick{--tw-backdrop-blur:blur(30px);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}@media (prefers-color-scheme:dark){#nm .material-ultra-thick{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){#nm .material-ultra-thick{background-color:color-mix(in oklab,var(--color-grey-1000)50%,transparent)}}}#nm .bg-background-secondary-light{background-color:var(--color-background-secondary-light)}#nm .object-cover{object-fit:cover}#nm .pt-10{padding-top:calc(var(--spacing)*10)}#nm .pb-3{padding-bottom:calc(var(--spacing)*3)}#nm .break-words{overflow-wrap:break-word}#nm .whitespace-pre-wrap{white-space:pre-wrap}#nm .transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (min-width:48rem){#nm .md\:-top-4{top:calc(var(--spacing)*-4)}#nm .md\:top-1{top:calc(var(--spacing)*1)}#nm .md\:-right-4{right:calc(var(--spacing)*-4)}#nm .md\:order-1{order:1}#nm .md\:order-2{order:2}#nm .md\:mb-0{margin-bottom:calc(var(--spacing)*0)}#nm .md\:mb-2{margin-bottom:calc(var(--spacing)*2)}#nm .md\:block{display:block}#nm .md\:aspect-square{aspect-ratio:1}#nm .md\:max-h-full{max-height:100%}#nm .md\:max-w-\[960px\]{max-width:960px}#nm .md\:min-w-\[660px\]{min-width:660px}#nm .md\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}#nm .md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}#nm .md\:items-start{align-items:flex-start}#nm .md\:justify-start{justify-content:flex-start}#nm .md\:gap-2{gap:calc(var(--spacing)*2)}#nm .md\:gap-4{gap:calc(var(--spacing)*4)}#nm .md\:gap-8{gap:calc(var(--spacing)*8)}#nm .md\:gap-16{gap:calc(var(--spacing)*16)}#nm .md\:p-8{padding:calc(var(--spacing)*8)}#nm .md\:py-4{padding-block:calc(var(--spacing)*4)}}@media (prefers-color-scheme:dark){#nm .dark\:border-label-quaternary-dark{border-color:var(--color-label-quaternary-dark)}#nm .dark\:border-separator-opaque-dark{border-color:var(--color-separator-opaque-dark)}#nm .dark\:border-separator-regular-dark{border-color:var(--color-separator-regular-dark)}#nm .dark\:bg-background-primary-dark{background-color:var(--color-background-primary-dark)}#nm .dark\:bg-background-secondary-dark{background-color:var(--color-background-secondary-dark)}#nm .dark\:bg-overlay-background-default-dark{background-color:var(--color-overlay-background-default-dark)}#nm .dark\:bg-secondary-action-base-dark{background-color:var(--color-secondary-action-base-dark)}#nm .dark\:text-label-primary-dark{color:var(--color-label-primary-dark)}#nm .dark\:text-label-quaternary-dark{color:var(--color-label-quaternary-dark)}}#nm .invisible{visibility:hidden}#nm .sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}#nm .absolute{position:absolute}#nm .fixed{position:fixed}#nm .relative{position:relative}#nm .static{position:static}#nm .inset-0{inset:calc(var(--spacing)*0)}#nm .top-1{top:calc(var(--spacing)*1)}#nm .top-2{top:calc(var(--spacing)*2)}#nm .right-0{right:calc(var(--spacing)*0)}#nm .right-2{right:calc(var(--spacing)*2)}#nm .left-0{left:calc(var(--spacing)*0)}#nm .z-10{z-index:10}#nm .container{width:100%}@media (min-width:40rem){#nm .container{max-width:40rem}}@media (min-width:48rem){#nm .container{max-width:48rem}}@media (min-width:64rem){#nm .container{max-width:64rem}}@media (min-width:80rem){#nm .container{max-width:80rem}}@media (min-width:96rem){#nm .container{max-width:96rem}}#nm .m-10{margin:calc(var(--spacing)*10)}#nm .block{display:block}#nm .flex{display:flex}#nm .h-8{height:calc(var(--spacing)*8)}#nm .h-96{height:calc(var(--spacing)*96)}#nm .h-\[17\.5px\]{height:17.5px}#nm .h-\[20px\]{height:20px}#nm .h-\[21px\]{height:21px}#nm .h-\[24px\]{height:24px}#nm .h-\[28px\]{height:28px}#nm .h-\[32px\]{height:32px}#nm .h-\[35px\]{height:35px}#nm .h-\[40px\]{height:40px}#nm .h-full{height:100%}#nm .h-px{height:1px}#nm .w-4{width:calc(var(--spacing)*4)}#nm .w-\[17\.5px\]{width:17.5px}#nm .w-\[21px\]{width:21px}#nm .w-\[28px\]{width:28px}#nm .w-\[32\.5px\]{width:32.5px}#nm .w-\[35px\]{width:35px}#nm .w-\[39px\]{width:39px}#nm .w-\[52px\]{width:52px}#nm .w-\[65px\]{width:65px}#nm .w-full{width:100%}#nm .w-max{width:max-content}#nm .w-px{width:1px}#nm .flex-1{flex:1}#nm .shrink-0{flex-shrink:0}#nm .\!grow{flex-grow:1!important}#nm .grow{flex-grow:1}#nm .translate-x-\[12px\]{--tw-translate-x:12px;translate:var(--tw-translate-x)var(--tw-translate-y)}#nm .translate-x-\[15px\]{--tw-translate-x:15px;translate:var(--tw-translate-x)var(--tw-translate-y)}#nm .translate-x-\[20px\]{--tw-translate-x:20px;translate:var(--tw-translate-x)var(--tw-translate-y)}#nm .translate-x-\[25px\]{--tw-translate-x:25px;translate:var(--tw-translate-x)var(--tw-translate-y)}#nm .transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}#nm .animate-pulse{animation:var(--animate-pulse)}#nm .animate-spin{animation:var(--animate-spin)}#nm .cursor-pointer{cursor:pointer}#nm .flex-col{flex-direction:column}#nm .flex-row{flex-direction:row}#nm .items-center{align-items:center}#nm .justify-between{justify-content:space-between}#nm .justify-center{justify-content:center}#nm .justify-start{justify-content:flex-start}#nm .gap-1{gap:calc(var(--spacing)*1)}#nm .gap-2{gap:calc(var(--spacing)*2)}#nm .gap-3{gap:calc(var(--spacing)*3)}#nm .gap-4{gap:calc(var(--spacing)*4)}#nm .gap-6{gap:calc(var(--spacing)*6)}#nm .overflow-x-auto{overflow-x:auto}#nm .rounded-\[3\.75px\]{border-radius:3.75px}#nm .rounded-\[4\.5px\]{border-radius:4.5px}#nm .rounded-\[5px\]{border-radius:5px}#nm .rounded-\[6px\]{border-radius:6px}#nm .rounded-\[7\.5px\]{border-radius:7.5px}#nm .rounded-\[8px\]{border-radius:8px}#nm .rounded-\[10px\]{border-radius:10px}#nm .rounded-full{border-radius:3.40282e38px}#nm .rounded-lg{border-radius:var(--radius-lg)}#nm .rounded-md{border-radius:var(--radius-md)}#nm .rounded-sm{border-radius:var(--radius-sm)}#nm .border{border-style:var(--tw-border-style);border-width:1px}#nm .border-solid{--tw-border-style:solid;border-style:solid}#nm .border-\[rgba\(255\,255\,255\,0\.0\)\]{border-color:#fff0}#nm .border-danger-default-light{border-color:var(--color-danger-default-light)}#nm .border-grey-0\/0{border-color:#0000}@supports (color:color-mix(in lab,red,red)){#nm .border-grey-0\/0{border-color:color-mix(in srgb,#ffffff0%,transparent)}@supports (color:color-mix(in lab,red,red)){#nm .border-grey-0\/0{border-color:color-mix(in oklab,var(--color-grey-0)0%,transparent)}}}#nm .border-separator-opaque-light{border-color:var(--color-separator-opaque-light)}#nm .border-separator-regular-light{border-color:var(--color-separator-regular-light)}#nm .border-b-label-primary-light{border-bottom-color:var(--color-label-primary-light)}#nm .bg-background-grouped-primary-light{background-color:var(--color-background-grouped-primary-light)}#nm .bg-background-grouped-secondary-light{background-color:var(--color-background-grouped-secondary-light)}#nm .bg-background-primary-dark{background-color:var(--color-background-primary-dark)}#nm .bg-background-primary-light{background-color:var(--color-background-primary-light)}#nm .bg-background-universal-overlay-light{background-color:var(--color-background-universal-overlay-light)}#nm .bg-danger-background-light{background-color:var(--color-danger-background-light)}#nm .bg-nonadaptable-text-light{background-color:var(--color-nonadaptable-text-light)}#nm .bg-overlay-background-default-light{background-color:var(--color-overlay-background-default-light)}#nm .bg-overlay-fill-alternative-light{background-color:var(--color-overlay-fill-alternative-light)}#nm .bg-overlay-fill-default-light{background-color:var(--color-overlay-fill-default-light)}#nm .bg-primary-action-button-light{background-color:var(--color-primary-action-button-light)}#nm .bg-secondary-action-base-light{background-color:var(--color-secondary-action-base-light)}#nm .bg-separator-opaque-alternative-light{background-color:var(--color-separator-opaque-alternative-light)}#nm .bg-separator-opaque-light{background-color:var(--color-separator-opaque-light)}#nm .bg-separator-regular-light{background-color:var(--color-separator-regular-light)}#nm .bg-success-default-light{background-color:var(--color-success-default-light)}#nm .bg-system-fill-primary-dark{background-color:var(--color-system-fill-primary-dark)}#nm .bg-transparent{background-color:#0000}#nm .p-1{padding:calc(var(--spacing)*1)}#nm .p-2{padding:calc(var(--spacing)*2)}#nm .p-3{padding:calc(var(--spacing)*3)}#nm .p-4{padding:calc(var(--spacing)*4)}#nm .p-10{padding:calc(var(--spacing)*10)}#nm .p-\[1\.5px\]{padding:1.5px}#nm .p-\[1\.25px\]{padding:1.25px}#nm .p-\[2\.5px\]{padding:2.5px}#nm .p-\[2px\]{padding:2px}#nm .px-1{padding-inline:calc(var(--spacing)*1)}#nm .px-2{padding-inline:calc(var(--spacing)*2)}#nm .px-3{padding-inline:calc(var(--spacing)*3)}#nm .px-4{padding-inline:calc(var(--spacing)*4)}#nm .py-0\.5{padding-block:calc(var(--spacing)*.5)}#nm .py-1{padding-block:calc(var(--spacing)*1)}#nm .py-2{padding-block:calc(var(--spacing)*2)}#nm .py-3{padding-block:calc(var(--spacing)*3)}#nm .pt-4{padding-top:calc(var(--spacing)*4)}#nm .pb-6{padding-bottom:calc(var(--spacing)*6)}#nm .font-code{font-family:var(--font-code)}#nm .font-mc{font-family:var(--font-mc)}#nm .font-sans{font-family:var(--font-sans)}#nm .text-\[10px\]{font-size:10px}#nm .text-\[12px\]{font-size:12px}#nm .text-\[13px\]{font-size:13px}#nm .text-\[15px\]{font-size:15px}#nm .text-\[20px\]{font-size:20px}#nm .text-\[24px\]{font-size:24px}#nm .text-\[32px\]{font-size:32px}#nm .text-\[40px\]{font-size:40px}#nm .text-\[48px\]{font-size:48px}#nm .text-\[60px\]{font-size:60px}#nm .text-\[72px\]{font-size:72px}#nm .leading-\[14px\]{--tw-leading:14px;line-height:14px}#nm .leading-\[16px\]{--tw-leading:16px;line-height:16px}#nm .leading-\[20px\]{--tw-leading:20px;line-height:20px}#nm .leading-\[24px\]{--tw-leading:24px;line-height:24px}#nm .leading-\[32px\]{--tw-leading:32px;line-height:32px}#nm .leading-\[40px\]{--tw-leading:40px;line-height:40px}#nm .leading-\[48px\]{--tw-leading:48px;line-height:48px}#nm .leading-\[60px\]{--tw-leading:60px;line-height:60px}#nm .leading-\[72px\]{--tw-leading:72px;line-height:72px}#nm .leading-\[90px\]{--tw-leading:90px;line-height:90px}#nm .font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}#nm .font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}#nm .font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}#nm .text-label-placeholder-light{color:var(--color-label-placeholder-light)}#nm .text-label-primary-light{color:var(--color-label-primary-light)}#nm .text-label-quaternary-light{color:var(--color-label-quaternary-light)}#nm .text-label-secondary-light{color:var(--color-label-secondary-light)}#nm .text-label-tertiary-light{color:var(--color-label-tertiary-light)}#nm .text-nonadaptable-text-dark{color:var(--color-nonadaptable-text-dark)}#nm .text-nonadaptable-text-light{color:var(--color-nonadaptable-text-light)}#nm .text-primary-action-disabled-light{color:var(--color-primary-action-disabled-light)}#nm .capitalize{text-transform:capitalize}#nm .shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}#nm .outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){#nm .outline-hidden{outline-offset:2px;outline:2px solid #0000}}#nm .backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}#nm .transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}#nm .transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}#nm .duration-300{--tw-duration:.3s;transition-duration:.3s}#nm .ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}@media (hover:hover){#nm .group-hover\:visible:is(:where(.group):hover *){visibility:visible}#nm .group-hover\:text-label-quaternary-light:is(:where(.group):hover *){color:var(--color-label-quaternary-light)}}#nm .placeholder\:text-label-placeholder-light::placeholder{color:var(--color-label-placeholder-light)}@media (hover:hover){#nm .hover\:border-danger-accessible-light:hover{border-color:var(--color-danger-accessible-light)}#nm .hover\:bg-background-universal-overlay-light:hover{background-color:var(--color-background-universal-overlay-light)}#nm .hover\:bg-danger-background-light:hover{background-color:var(--color-danger-background-light)}#nm .hover\:bg-danger-hover-light:hover{background-color:var(--color-danger-hover-light)}#nm .hover\:bg-overlay-fill-default-light:hover{background-color:var(--color-overlay-fill-default-light)}#nm .hover\:bg-primary-action-button-hover-light:hover{background-color:var(--color-primary-action-button-hover-light)}#nm .hover\:bg-system-neutral-grey-8-light:hover{background-color:var(--color-system-neutral-grey-8-light)}}#nm .focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){#nm .focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}#nm .disabled\:pointer-events-none:disabled{pointer-events:none}#nm .disabled\:border:disabled{border-style:var(--tw-border-style);border-width:1px}#nm .disabled\:border-separator-opaque-light:disabled{border-color:var(--color-separator-opaque-light)}#nm .disabled\:bg-primary-action-disabled-light:disabled{background-color:var(--color-primary-action-disabled-light)}#nm .disabled\:bg-secondary-action-disabled-light:disabled{background-color:var(--color-secondary-action-disabled-light)}#nm .disabled\:text-primary-action-disabled-light:disabled{color:var(--color-primary-action-disabled-light)}@media (prefers-color-scheme:dark){#nm .dark\:border-danger-default-dark{border-color:var(--color-danger-default-dark)}#nm .dark\:border-separator-opaque-dark{border-color:var(--color-separator-opaque-dark)}#nm .dark\:border-separator-regular-dark{border-color:var(--color-separator-regular-dark)}#nm .dark\:border-b-label-primary-dark{border-bottom-color:var(--color-label-primary-dark)}#nm .dark\:bg-background-grouped-primary-dark{background-color:var(--color-background-grouped-primary-dark)}#nm .dark\:bg-background-grouped-secondary-dark{background-color:var(--color-background-grouped-secondary-dark)}#nm .dark\:bg-background-primary-dark{background-color:var(--color-background-primary-dark)}#nm .dark\:bg-background-universal-overlay-dark{background-color:var(--color-background-universal-overlay-dark)}#nm .dark\:bg-danger-background-dark{background-color:var(--color-danger-background-dark)}#nm .dark\:bg-overlay-background-default-dark{background-color:var(--color-overlay-background-default-dark)}#nm .dark\:bg-overlay-fill-alternative-dark{background-color:var(--color-overlay-fill-alternative-dark)}#nm .dark\:bg-overlay-fill-default-dark{background-color:var(--color-overlay-fill-default-dark)}#nm .dark\:bg-primary-action-button-dark{background-color:var(--color-primary-action-button-dark)}#nm .dark\:bg-secondary-action-base-dark{background-color:var(--color-secondary-action-base-dark)}#nm .dark\:bg-separator-opaque-alternative-dark{background-color:var(--color-separator-opaque-alternative-dark)}#nm .dark\:bg-separator-opaque-dark{background-color:var(--color-separator-opaque-dark)}#nm .dark\:bg-separator-regular-dark{background-color:var(--color-separator-regular-dark)}#nm .dark\:bg-success-default-dark{background-color:var(--color-success-default-dark)}#nm .dark\:text-label-placeholder-dark{color:var(--color-label-placeholder-dark)}#nm .dark\:text-label-primary-dark{color:var(--color-label-primary-dark)}#nm .dark\:text-label-quaternary-dark{color:var(--color-label-quaternary-dark)}#nm .dark\:text-label-secondary-dark{color:var(--color-label-secondary-dark)}#nm .dark\:text-label-tertiary-dark{color:var(--color-label-tertiary-dark)}#nm .dark\:text-nonadaptable-text-dark{color:var(--color-nonadaptable-text-dark)}#nm .dark\:text-primary-action-disabled-dark{color:var(--color-primary-action-disabled-dark)}@media (hover:hover){#nm .dark\:group-hover\:text-label-quaternary-dark:is(:where(.group):hover *){color:var(--color-label-quaternary-dark)}}#nm .dark\:placeholder\:text-label-placeholder-dark::placeholder{color:var(--color-label-placeholder-dark)}@media (hover:hover){#nm .dark\:hover\:border-danger-accessible-dark:hover{border-color:var(--color-danger-accessible-dark)}#nm .dark\:hover\:bg-background-universal-overlay-dark:hover{background-color:var(--color-background-universal-overlay-dark)}#nm .dark\:hover\:bg-danger-background-dark:hover{background-color:var(--color-danger-background-dark)}#nm .dark\:hover\:bg-danger-hover-dark:hover{background-color:var(--color-danger-hover-dark)}#nm .dark\:hover\:bg-overlay-fill-default-dark:hover{background-color:var(--color-overlay-fill-default-dark)}#nm .dark\:hover\:bg-primary-action-button-hover-dark:hover{background-color:var(--color-primary-action-button-hover-dark)}#nm .dark\:hover\:bg-system-neutral-grey-8-dark:hover{background-color:var(--color-system-neutral-grey-8-dark)}}#nm .dark\:disabled\:border-separator-opaque-dark:disabled{border-color:var(--color-separator-opaque-dark)}#nm .dark\:disabled\:bg-primary-action-disabled-dark:disabled{background-color:var(--color-primary-action-disabled-dark)}#nm .dark\:disabled\:bg-secondary-action-disabled-dark:disabled{background-color:var(--color-secondary-action-disabled-dark)}#nm .dark\:disabled\:text-primary-action-disabled-dark:disabled{color:var(--color-primary-action-disabled-dark)}}#nm .\[\&\]\:text-danger-accessible-light{color:var(--color-danger-accessible-light)}#nm .\[\&\]\:text-label-tertiary-light{color:var(--color-label-tertiary-light)}@media (hover:hover){#nm .group-hover\:\[\&\]\:text-label-tertiary-light:is(:where(.group):hover *){color:var(--color-label-tertiary-light)}}@media (prefers-color-scheme:dark){#nm .dark\:\[\&\]\:text-danger-accessible-dark{color:var(--color-danger-accessible-dark)}#nm .dark\:\[\&\]\:text-label-tertiary-dark{color:var(--color-label-tertiary-dark)}@media (hover:hover){#nm .dark\:group-hover\:\[\&\]\:text-label-tertiary-dark:is(:where(.group):hover *){color:var(--color-label-tertiary-dark)}}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}
|
package/dist/client.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ export type ClientConfigType = {
|
|
|
6
6
|
debug?: boolean;
|
|
7
7
|
batch?: boolean | BatchConfig;
|
|
8
8
|
formConfig?: FormConfig;
|
|
9
|
+
deactivate?: boolean;
|
|
9
10
|
};
|
|
10
11
|
export type { BatchConfig, TrackEventOptions } from './tracking/tracking-manager';
|
|
11
12
|
/**
|
|
@@ -24,7 +25,7 @@ export declare class NemmeClient {
|
|
|
24
25
|
/**
|
|
25
26
|
* Create a new Nemme SDK client instance
|
|
26
27
|
*/
|
|
27
|
-
init({ userIdentifier, debug, batch, formConfig }: ClientConfigType): Promise<NemmeClient>;
|
|
28
|
+
init({ userIdentifier, debug, batch, formConfig, deactivate }: ClientConfigType): Promise<NemmeClient>;
|
|
28
29
|
flush(): Promise<void>;
|
|
29
30
|
destroy(): void;
|
|
30
31
|
track<T extends TrackEventOptions>(options: T): Promise<void>;
|
package/dist/index.cjs
CHANGED
|
@@ -35,5 +35,5 @@ prismjs/prism.js:
|
|
|
35
35
|
|
|
36
36
|
`).split(`
|
|
37
37
|
|
|
38
|
-
`).map((i,o)=>k.jsx(X,{children:i.trim()},o))]}),a]}),r&&k.jsx("div",{className:"flex flex-col justify-center order-1 md:order-2",children:k.jsx("div",{className:"rounded-lg overflow-hidden mb-6 md:mb-0",children:k.jsx("img",{className:"w-full h-full object-cover aspect-video md:aspect-square",src:r,alt:"image"})})})]}),Gr=({title:n,icon:e,description:t,image:r,quitText:a,onQuit:s,externalLink:i})=>k.jsxs(Mt,{title:n,icon:e,description:t,image:r,children:[k.jsx("div",{className:"flex justify-end gap-2",children:i?k.jsx(J,{variant:"secondary",text:a,iconAfter:k.jsx(Ft,{}),onClick:()=>{window.open(i,"_blank"),s()}}):k.jsx(J,{variant:"secondary",onClick:s,text:a})}),i&&k.jsx(J,{className:"absolute -top-2 -right-2 md:-top-4 md:-right-4",variant:"secondary",size:"small",onClick:s,iconAfter:k.jsx(xe,{}),"aria-label":"quit"})]}),Yr=({title:n,icon:e,description:t,image:r,quitText:a,onQuit:s,startText:i,onStart:o})=>k.jsxs(Mt,{title:n,icon:e,description:t,image:r,wrapperClassName:"relative",children:[k.jsxs("div",{className:"flex justify-end gap-2",children:[s&&a&&k.jsx(J,{variant:"subtle",text:a,onClick:s}),k.jsx(J,{variant:"secondary",text:i,onClick:o})]}),s&&k.jsx(J,{className:"absolute top-0 right-1 md:top-1",variant:"subtle",size:"small",onClick:s,iconAfter:k.jsx(xe,{}),"aria-label":"quit"})]});let Bt={};function Jr(){return Bt}function Xr(n){Bt=n}const Qr={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},ea=(n,e,t)=>{let r;const a=Qr[n];return typeof a=="string"?r=a:e===1?r=a.one:r=a.other.replace("{{count}}",e.toString()),t?.addSuffix?t.comparison&&t.comparison>0?"in "+r:r+" ago":r};function Oe(n){return(e={})=>{const t=e.width?String(e.width):n.defaultWidth;return n.formats[t]||n.formats[n.defaultWidth]}}const ta={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},na=(n,e,t,r)=>ta[n];function oe(n){return(e,t)=>{const r=t?.context?String(t.context):"standalone";let a;if(r==="formatting"&&n.formattingValues){const i=n.defaultFormattingWidth||n.defaultWidth,o=t?.width?String(t.width):i;a=n.formattingValues[o]||n.formattingValues[i]}else{const i=n.defaultWidth,o=t?.width?String(t.width):n.defaultWidth;a=n.values[o]||n.values[i]}const s=n.argumentCallback?n.argumentCallback(e):e;return a[s]}}const ra={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},aa={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},sa={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},ia={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},oa={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},la={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},ca=(n,e)=>{const t=Number(n),r=t%100;if(r>20||r<10)switch(r%10){case 1:return t+"st";case 2:return t+"nd";case 3:return t+"rd"}return t+"th"},ua={ordinalNumber:ca,era:oe({values:ra,defaultWidth:"wide"}),quarter:oe({values:aa,defaultWidth:"wide",argumentCallback:n=>n-1}),month:oe({values:sa,defaultWidth:"wide"}),day:oe({values:ia,defaultWidth:"wide"}),dayPeriod:oe({values:oa,defaultWidth:"wide",formattingValues:la,defaultFormattingWidth:"wide"})};function le(n){return(e,t={})=>{const r=t.width,a=r&&n.matchPatterns[r]||n.matchPatterns[n.defaultMatchWidth],s=e.match(a);if(!s)return null;const i=s[0],o=r&&n.parsePatterns[r]||n.parsePatterns[n.defaultParseWidth],c=Array.isArray(o)?pa(o,d=>d.test(i)):da(o,d=>d.test(i));let l;l=n.valueCallback?n.valueCallback(c):c,l=t.valueCallback?t.valueCallback(l):l;const u=e.slice(i.length);return{value:l,rest:u}}}function da(n,e){for(const t in n)if(Object.prototype.hasOwnProperty.call(n,t)&&e(n[t]))return t}function pa(n,e){for(let t=0;t<n.length;t++)if(e(n[t]))return t}function ga(n){return(e,t={})=>{const r=e.match(n.matchPattern);if(!r)return null;const a=r[0],s=e.match(n.parsePattern);if(!s)return null;let i=n.valueCallback?n.valueCallback(s[0]):s[0];i=t.valueCallback?t.valueCallback(i):i;const o=e.slice(a.length);return{value:i,rest:o}}}const fa=/^(\d+)(th|st|nd|rd)?/i,ha=/\d+/i,ya={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},ma={any:[/^b/i,/^(a|c)/i]},ba={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},xa={any:[/1/i,/2/i,/3/i,/4/i]},wa={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},va={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},ka={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},Sa={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},Ea={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},La={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},Fa={ordinalNumber:ga({matchPattern:fa,parsePattern:ha,valueCallback:n=>parseInt(n,10)}),era:le({matchPatterns:ya,defaultMatchWidth:"wide",parsePatterns:ma,defaultParseWidth:"any"}),quarter:le({matchPatterns:ba,defaultMatchWidth:"wide",parsePatterns:xa,defaultParseWidth:"any",valueCallback:n=>n+1}),month:le({matchPatterns:wa,defaultMatchWidth:"wide",parsePatterns:va,defaultParseWidth:"any"}),day:le({matchPatterns:ka,defaultMatchWidth:"wide",parsePatterns:Sa,defaultParseWidth:"any"}),dayPeriod:le({matchPatterns:Ea,defaultMatchWidth:"any",parsePatterns:La,defaultParseWidth:"any"})};function Aa(n){const e={},t=Jr();for(const r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);for(const r in n)Object.prototype.hasOwnProperty.call(n,r)&&(n[r]===void 0?delete e[r]:e[r]=n[r]);Xr(e)}const Oa={full:"EEEE, d MMMM yyyy",long:"d MMMM yyyy",medium:"d MMM yyyy",short:"dd/MM/yyyy"},Na={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},Ta={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},Ra={date:Oe({formats:Oa,defaultWidth:"full"}),time:Oe({formats:Na,defaultWidth:"full"}),dateTime:Oe({formats:Ta,defaultWidth:"full"})},Ca={code:"en-GB",formatDistance:ea,formatLong:Ra,formatRelative:na,localize:ua,match:Fa,options:{weekStartsOn:1,firstWeekContainsDate:4}},L=n=>typeof n=="string",ce=()=>{let n,e;const t=new Promise((r,a)=>{n=r,e=a});return t.resolve=n,t.reject=e,t},tt=n=>n==null?"":""+n,Pa=(n,e,t)=>{n.forEach(r=>{e[r]&&(t[r]=e[r])})},$a=/###/g,nt=n=>n&&n.indexOf("###")>-1?n.replace($a,"."):n,rt=n=>!n||L(n),ue=(n,e,t)=>{const r=L(e)?e.split("."):e;let a=0;for(;a<r.length-1;){if(rt(n))return{};const s=nt(r[a]);!n[s]&&t&&(n[s]=new t),Object.prototype.hasOwnProperty.call(n,s)?n=n[s]:n={},++a}return rt(n)?{}:{obj:n,k:nt(r[a])}},at=(n,e,t)=>{const{obj:r,k:a}=ue(n,e,Object);if(r!==void 0||e.length===1){r[a]=t;return}let s=e[e.length-1],i=e.slice(0,e.length-1),o=ue(n,i,Object);for(;o.obj===void 0&&i.length;)s=`${i[i.length-1]}.${s}`,i=i.slice(0,i.length-1),o=ue(n,i,Object),o?.obj&&typeof o.obj[`${o.k}.${s}`]<"u"&&(o.obj=void 0);o.obj[`${o.k}.${s}`]=t},ja=(n,e,t,r)=>{const{obj:a,k:s}=ue(n,e,Object);a[s]=a[s]||[],a[s].push(t)},me=(n,e)=>{const{obj:t,k:r}=ue(n,e);if(t&&Object.prototype.hasOwnProperty.call(t,r))return t[r]},Ia=(n,e,t)=>{const r=me(n,t);return r!==void 0?r:me(e,t)},zt=(n,e,t)=>{for(const r in e)r!=="__proto__"&&r!=="constructor"&&(r in n?L(n[r])||n[r]instanceof String||L(e[r])||e[r]instanceof String?t&&(n[r]=e[r]):zt(n[r],e[r],t):n[r]=e[r]);return n},ne=n=>n.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");var Da={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};const _a=n=>L(n)?n.replace(/[&<>"'\/]/g,e=>Da[e]):n;class Ma{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){const t=this.regExpMap.get(e);if(t!==void 0)return t;const r=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,r),this.regExpQueue.push(e),r}}const Ba=[" ",",","?","!",";"],za=new Ma(20),Ua=(n,e,t)=>{e=e||"",t=t||"";const r=Ba.filter(i=>e.indexOf(i)<0&&t.indexOf(i)<0);if(r.length===0)return!0;const a=za.getRegExp(`(${r.map(i=>i==="?"?"\\?":i).join("|")})`);let s=!a.test(n);if(!s){const i=n.indexOf(t);i>0&&!a.test(n.substring(0,i))&&(s=!0)}return s},Pe=(n,e,t=".")=>{if(!n)return;if(n[e])return Object.prototype.hasOwnProperty.call(n,e)?n[e]:void 0;const r=e.split(t);let a=n;for(let s=0;s<r.length;){if(!a||typeof a!="object")return;let i,o="";for(let c=s;c<r.length;++c)if(c!==s&&(o+=t),o+=r[c],i=a[o],i!==void 0){if(["string","number","boolean"].indexOf(typeof i)>-1&&c<r.length-1)continue;s+=c-s+1;break}a=i}return a},de=n=>n?.replace("_","-"),Va={type:"logger",log(n){this.output("log",n)},warn(n){this.output("warn",n)},error(n){this.output("error",n)},output(n,e){console?.[n]?.apply?.(console,e)}};let Ha=class $e{constructor(e,t={}){this.init(e,t)}init(e,t={}){this.prefix=t.prefix||"i18next:",this.logger=e||Va,this.options=t,this.debug=t.debug}log(...e){return this.forward(e,"log","",!0)}warn(...e){return this.forward(e,"warn","",!0)}error(...e){return this.forward(e,"error","")}deprecate(...e){return this.forward(e,"warn","WARNING DEPRECATED: ",!0)}forward(e,t,r,a){return a&&!this.debug?null:(L(e[0])&&(e[0]=`${r}${this.prefix} ${e[0]}`),this.logger[t](e))}create(e){return new $e(this.logger,{prefix:`${this.prefix}:${e}:`,...this.options})}clone(e){return e=e||this.options,e.prefix=e.prefix||this.prefix,new $e(this.logger,e)}};var Z=new Ha;class Se{constructor(){this.observers={}}on(e,t){return e.split(" ").forEach(r=>{this.observers[r]||(this.observers[r]=new Map);const a=this.observers[r].get(t)||0;this.observers[r].set(t,a+1)}),this}off(e,t){if(this.observers[e]){if(!t){delete this.observers[e];return}this.observers[e].delete(t)}}emit(e,...t){this.observers[e]&&Array.from(this.observers[e].entries()).forEach(([a,s])=>{for(let i=0;i<s;i++)a(...t)}),this.observers["*"]&&Array.from(this.observers["*"].entries()).forEach(([a,s])=>{for(let i=0;i<s;i++)a.apply(a,[e,...t])})}}class st extends Se{constructor(e,t={ns:["translation"],defaultNS:"translation"}){super(),this.data=e||{},this.options=t,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(e){this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}removeNamespaces(e){const t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}getResource(e,t,r,a={}){const s=a.keySeparator!==void 0?a.keySeparator:this.options.keySeparator,i=a.ignoreJSONStructure!==void 0?a.ignoreJSONStructure:this.options.ignoreJSONStructure;let o;e.indexOf(".")>-1?o=e.split("."):(o=[e,t],r&&(Array.isArray(r)?o.push(...r):L(r)&&s?o.push(...r.split(s)):o.push(r)));const c=me(this.data,o);return!c&&!t&&!r&&e.indexOf(".")>-1&&(e=o[0],t=o[1],r=o.slice(2).join(".")),c||!i||!L(r)?c:Pe(this.data?.[e]?.[t],r,s)}addResource(e,t,r,a,s={silent:!1}){const i=s.keySeparator!==void 0?s.keySeparator:this.options.keySeparator;let o=[e,t];r&&(o=o.concat(i?r.split(i):r)),e.indexOf(".")>-1&&(o=e.split("."),a=t,t=o[1]),this.addNamespaces(t),at(this.data,o,a),s.silent||this.emit("added",e,t,r,a)}addResources(e,t,r,a={silent:!1}){for(const s in r)(L(r[s])||Array.isArray(r[s]))&&this.addResource(e,t,s,r[s],{silent:!0});a.silent||this.emit("added",e,t,r)}addResourceBundle(e,t,r,a,s,i={silent:!1,skipCopy:!1}){let o=[e,t];e.indexOf(".")>-1&&(o=e.split("."),a=r,r=t,t=o[1]),this.addNamespaces(t);let c=me(this.data,o)||{};i.skipCopy||(r=JSON.parse(JSON.stringify(r))),a?zt(c,r,s):c={...c,...r},at(this.data,o,c),i.silent||this.emit("added",e,t,r)}removeResourceBundle(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit("removed",e,t)}hasResourceBundle(e,t){return this.getResource(e,t)!==void 0}getResourceBundle(e,t){return t||(t=this.options.defaultNS),this.getResource(e,t)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){const t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find(a=>t[a]&&Object.keys(t[a]).length>0)}toJSON(){return this.data}}var Ut={processors:{},addPostProcessor(n){this.processors[n.name]=n},handle(n,e,t,r,a){return n.forEach(s=>{e=this.processors[s]?.process(e,t,r,a)??e}),e}};const Vt=Symbol("i18next/PATH_KEY");function qa(){const n=[],e=Object.create(null);let t;return e.get=(r,a)=>(t?.revoke?.(),a===Vt?n:(n.push(a),t=Proxy.revocable(r,e),t.proxy)),Proxy.revocable(Object.create(null),e).proxy}function je(n,e){const{[Vt]:t}=n(qa());return t.join(e?.keySeparator??".")}const it={},ot=n=>!L(n)&&typeof n!="boolean"&&typeof n!="number";class be extends Se{constructor(e,t={}){super(),Pa(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,this),this.options=t,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=Z.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e,t={interpolation:{}}){const r={...t};return e==null?!1:this.resolve(e,r)?.res!==void 0}extractFromKey(e,t){let r=t.nsSeparator!==void 0?t.nsSeparator:this.options.nsSeparator;r===void 0&&(r=":");const a=t.keySeparator!==void 0?t.keySeparator:this.options.keySeparator;let s=t.ns||this.options.defaultNS||[];const i=r&&e.indexOf(r)>-1,o=!this.options.userDefinedKeySeparator&&!t.keySeparator&&!this.options.userDefinedNsSeparator&&!t.nsSeparator&&!Ua(e,r,a);if(i&&!o){const c=e.match(this.interpolator.nestingRegexp);if(c&&c.length>0)return{key:e,namespaces:L(s)?[s]:s};const l=e.split(r);(r!==a||r===a&&this.options.ns.indexOf(l[0])>-1)&&(s=l.shift()),e=l.join(a)}return{key:e,namespaces:L(s)?[s]:s}}translate(e,t,r){let a=typeof t=="object"?{...t}:t;if(typeof a!="object"&&this.options.overloadTranslationOptionHandler&&(a=this.options.overloadTranslationOptionHandler(arguments)),typeof a=="object"&&(a={...a}),a||(a={}),e==null)return"";typeof e=="function"&&(e=je(e,{...this.options,...a})),Array.isArray(e)||(e=[String(e)]);const s=a.returnDetails!==void 0?a.returnDetails:this.options.returnDetails,i=a.keySeparator!==void 0?a.keySeparator:this.options.keySeparator,{key:o,namespaces:c}=this.extractFromKey(e[e.length-1],a),l=c[c.length-1];let u=a.nsSeparator!==void 0?a.nsSeparator:this.options.nsSeparator;u===void 0&&(u=":");const d=a.lng||this.language,h=a.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(d?.toLowerCase()==="cimode")return h?s?{res:`${l}${u}${o}`,usedKey:o,exactUsedKey:o,usedLng:d,usedNS:l,usedParams:this.getUsedParamsDetails(a)}:`${l}${u}${o}`:s?{res:o,usedKey:o,exactUsedKey:o,usedLng:d,usedNS:l,usedParams:this.getUsedParamsDetails(a)}:o;const y=this.resolve(e,a);let p=y?.res;const g=y?.usedKey||o,f=y?.exactUsedKey||o,x=["[object Number]","[object Function]","[object RegExp]"],b=a.joinArrays!==void 0?a.joinArrays:this.options.joinArrays,w=!this.i18nFormat||this.i18nFormat.handleAsObject,S=a.count!==void 0&&!L(a.count),E=be.hasDefaultValue(a),O=S?this.pluralResolver.getSuffix(d,a.count,a):"",A=a.ordinal&&S?this.pluralResolver.getSuffix(d,a.count,{ordinal:!1}):"",P=S&&!a.ordinal&&a.count===0,T=P&&a[`defaultValue${this.options.pluralSeparator}zero`]||a[`defaultValue${O}`]||a[`defaultValue${A}`]||a.defaultValue;let R=p;w&&!p&&E&&(R=T);const H=ot(R),U=Object.prototype.toString.apply(R);if(w&&R&&H&&x.indexOf(U)<0&&!(L(b)&&Array.isArray(R))){if(!a.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const _=this.options.returnedObjectHandler?this.options.returnedObjectHandler(g,R,{...a,ns:c}):`key '${o} (${this.language})' returned an object instead of string.`;return s?(y.res=_,y.usedParams=this.getUsedParamsDetails(a),y):_}if(i){const _=Array.isArray(R),N=_?[]:{},M=_?f:g;for(const $ in R)if(Object.prototype.hasOwnProperty.call(R,$)){const D=`${M}${i}${$}`;E&&!p?N[$]=this.translate(D,{...a,defaultValue:ot(T)?T[$]:void 0,joinArrays:!1,ns:c}):N[$]=this.translate(D,{...a,joinArrays:!1,ns:c}),N[$]===D&&(N[$]=R[$])}p=N}}else if(w&&L(b)&&Array.isArray(p))p=p.join(b),p&&(p=this.extendTranslation(p,e,a,r));else{let _=!1,N=!1;!this.isValidLookup(p)&&E&&(_=!0,p=T),this.isValidLookup(p)||(N=!0,p=o);const $=(a.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&N?void 0:p,D=E&&T!==p&&this.options.updateMissing;if(N||_||D){if(this.logger.log(D?"updateKey":"missingKey",d,l,o,D?T:p),i){const C=this.resolve(o,{...a,keySeparator:!1});C&&C.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.")}let j=[];const ee=this.languageUtils.getFallbackCodes(this.options.fallbackLng,a.lng||this.language);if(this.options.saveMissingTo==="fallback"&&ee&&ee[0])for(let C=0;C<ee.length;C++)j.push(ee[C]);else this.options.saveMissingTo==="all"?j=this.languageUtils.toResolveHierarchy(a.lng||this.language):j.push(a.lng||this.language);const q=(C,V,W)=>{const te=E&&W!==p?W:$;this.options.missingKeyHandler?this.options.missingKeyHandler(C,l,V,te,D,a):this.backendConnector?.saveMissing&&this.backendConnector.saveMissing(C,l,V,te,D,a),this.emit("missingKey",C,l,V,p)};this.options.saveMissing&&(this.options.saveMissingPlurals&&S?j.forEach(C=>{const V=this.pluralResolver.getSuffixes(C,a);P&&a[`defaultValue${this.options.pluralSeparator}zero`]&&V.indexOf(`${this.options.pluralSeparator}zero`)<0&&V.push(`${this.options.pluralSeparator}zero`),V.forEach(W=>{q([C],o+W,a[`defaultValue${W}`]||T)})}):q(j,o,T))}p=this.extendTranslation(p,e,a,y,r),N&&p===o&&this.options.appendNamespaceToMissingKey&&(p=`${l}${u}${o}`),(N||_)&&this.options.parseMissingKeyHandler&&(p=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}${u}${o}`:o,_?p:void 0,a))}return s?(y.res=p,y.usedParams=this.getUsedParamsDetails(a),y):p}extendTranslation(e,t,r,a,s){if(this.i18nFormat?.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...r},r.lng||this.language||a.usedLng,a.usedNS,a.usedKey,{resolved:a});else if(!r.skipInterpolation){r.interpolation&&this.interpolator.init({...r,interpolation:{...this.options.interpolation,...r.interpolation}});const c=L(e)&&(r?.interpolation?.skipOnVariables!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let l;if(c){const d=e.match(this.interpolator.nestingRegexp);l=d&&d.length}let u=r.replace&&!L(r.replace)?r.replace:r;if(this.options.interpolation.defaultVariables&&(u={...this.options.interpolation.defaultVariables,...u}),e=this.interpolator.interpolate(e,u,r.lng||this.language||a.usedLng,r),c){const d=e.match(this.interpolator.nestingRegexp),h=d&&d.length;l<h&&(r.nest=!1)}!r.lng&&a&&a.res&&(r.lng=this.language||a.usedLng),r.nest!==!1&&(e=this.interpolator.nest(e,(...d)=>s?.[0]===d[0]&&!r.context?(this.logger.warn(`It seems you are nesting recursively key: ${d[0]} in key: ${t[0]}`),null):this.translate(...d,t),r)),r.interpolation&&this.interpolator.reset()}const i=r.postProcess||this.options.postProcess,o=L(i)?[i]:i;return e!=null&&o?.length&&r.applyPostProcessor!==!1&&(e=Ut.handle(o,e,t,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...a,usedParams:this.getUsedParamsDetails(r)},...r}:r,this)),e}resolve(e,t={}){let r,a,s,i,o;return L(e)&&(e=[e]),e.forEach(c=>{if(this.isValidLookup(r))return;const l=this.extractFromKey(c,t),u=l.key;a=u;let d=l.namespaces;this.options.fallbackNS&&(d=d.concat(this.options.fallbackNS));const h=t.count!==void 0&&!L(t.count),y=h&&!t.ordinal&&t.count===0,p=t.context!==void 0&&(L(t.context)||typeof t.context=="number")&&t.context!=="",g=t.lngs?t.lngs:this.languageUtils.toResolveHierarchy(t.lng||this.language,t.fallbackLng);d.forEach(f=>{this.isValidLookup(r)||(o=f,!it[`${g[0]}-${f}`]&&this.utils?.hasLoadedNamespace&&!this.utils?.hasLoadedNamespace(o)&&(it[`${g[0]}-${f}`]=!0,this.logger.warn(`key "${a}" for languages "${g.join(", ")}" won't get resolved as namespace "${o}" 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!!!")),g.forEach(x=>{if(this.isValidLookup(r))return;i=x;const b=[u];if(this.i18nFormat?.addLookupKeys)this.i18nFormat.addLookupKeys(b,u,x,f,t);else{let S;h&&(S=this.pluralResolver.getSuffix(x,t.count,t));const E=`${this.options.pluralSeparator}zero`,O=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(h&&(t.ordinal&&S.indexOf(O)===0&&b.push(u+S.replace(O,this.options.pluralSeparator)),b.push(u+S),y&&b.push(u+E)),p){const A=`${u}${this.options.contextSeparator||"_"}${t.context}`;b.push(A),h&&(t.ordinal&&S.indexOf(O)===0&&b.push(A+S.replace(O,this.options.pluralSeparator)),b.push(A+S),y&&b.push(A+E))}}let w;for(;w=b.pop();)this.isValidLookup(r)||(s=w,r=this.getResource(x,f,w,t))}))})}),{res:r,usedKey:a,exactUsedKey:s,usedLng:i,usedNS:o}}isValidLookup(e){return e!==void 0&&!(!this.options.returnNull&&e===null)&&!(!this.options.returnEmptyString&&e==="")}getResource(e,t,r,a={}){return this.i18nFormat?.getResource?this.i18nFormat.getResource(e,t,r,a):this.resourceStore.getResource(e,t,r,a)}getUsedParamsDetails(e={}){const t=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],r=e.replace&&!L(e.replace);let a=r?e.replace:e;if(r&&typeof e.count<"u"&&(a.count=e.count),this.options.interpolation.defaultVariables&&(a={...this.options.interpolation.defaultVariables,...a}),!r){a={...a};for(const s of t)delete a[s]}return a}static hasDefaultValue(e){const t="defaultValue";for(const r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&t===r.substring(0,t.length)&&e[r]!==void 0)return!0;return!1}}class lt{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=Z.create("languageUtils")}getScriptPartFromCode(e){if(e=de(e),!e||e.indexOf("-")<0)return null;const t=e.split("-");return t.length===2||(t.pop(),t[t.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(t.join("-"))}getLanguagePartFromCode(e){if(e=de(e),!e||e.indexOf("-")<0)return e;const t=e.split("-");return this.formatLanguageCode(t[0])}formatLanguageCode(e){if(L(e)&&e.indexOf("-")>-1){let t;try{t=Intl.getCanonicalLocales(e)[0]}catch{}return t&&this.options.lowerCaseLng&&(t=t.toLowerCase()),t||(this.options.lowerCaseLng?e.toLowerCase():e)}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}isSupportedCode(e){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}getBestMatchFromCodes(e){if(!e)return null;let t;return e.forEach(r=>{if(t)return;const a=this.formatLanguageCode(r);(!this.options.supportedLngs||this.isSupportedCode(a))&&(t=a)}),!t&&this.options.supportedLngs&&e.forEach(r=>{if(t)return;const a=this.getScriptPartFromCode(r);if(this.isSupportedCode(a))return t=a;const s=this.getLanguagePartFromCode(r);if(this.isSupportedCode(s))return t=s;t=this.options.supportedLngs.find(i=>{if(i===s)return i;if(!(i.indexOf("-")<0&&s.indexOf("-")<0)&&(i.indexOf("-")>0&&s.indexOf("-")<0&&i.substring(0,i.indexOf("-"))===s||i.indexOf(s)===0&&s.length>1))return i})}),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t}getFallbackCodes(e,t){if(!e)return[];if(typeof e=="function"&&(e=e(t)),L(e)&&(e=[e]),Array.isArray(e))return e;if(!t)return e.default||[];let r=e[t];return r||(r=e[this.getScriptPartFromCode(t)]),r||(r=e[this.formatLanguageCode(t)]),r||(r=e[this.getLanguagePartFromCode(t)]),r||(r=e.default),r||[]}toResolveHierarchy(e,t){const r=this.getFallbackCodes((t===!1?[]:t)||this.options.fallbackLng||[],e),a=[],s=i=>{i&&(this.isSupportedCode(i)?a.push(i):this.logger.warn(`rejecting language code not found in supportedLngs: ${i}`))};return L(e)&&(e.indexOf("-")>-1||e.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&s(this.formatLanguageCode(e)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&s(this.getScriptPartFromCode(e)),this.options.load!=="currentOnly"&&s(this.getLanguagePartFromCode(e))):L(e)&&s(this.formatLanguageCode(e)),r.forEach(i=>{a.indexOf(i)<0&&s(this.formatLanguageCode(i))}),a}}const ct={zero:0,one:1,two:2,few:3,many:4,other:5},ut={select:n=>n===1?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})};class Ka{constructor(e,t={}){this.languageUtils=e,this.options=t,this.logger=Z.create("pluralResolver"),this.pluralRulesCache={}}addRule(e,t){this.rules[e]=t}clearCache(){this.pluralRulesCache={}}getRule(e,t={}){const r=de(e==="dev"?"en":e),a=t.ordinal?"ordinal":"cardinal",s=JSON.stringify({cleanedCode:r,type:a});if(s in this.pluralRulesCache)return this.pluralRulesCache[s];let i;try{i=new Intl.PluralRules(r,{type:a})}catch{if(!Intl)return this.logger.error("No Intl support, please use an Intl polyfill!"),ut;if(!e.match(/-|_/))return ut;const c=this.languageUtils.getLanguagePartFromCode(e);i=this.getRule(c,t)}return this.pluralRulesCache[s]=i,i}needsPlural(e,t={}){let r=this.getRule(e,t);return r||(r=this.getRule("dev",t)),r?.resolvedOptions().pluralCategories.length>1}getPluralFormsOfKey(e,t,r={}){return this.getSuffixes(e,r).map(a=>`${t}${a}`)}getSuffixes(e,t={}){let r=this.getRule(e,t);return r||(r=this.getRule("dev",t)),r?r.resolvedOptions().pluralCategories.sort((a,s)=>ct[a]-ct[s]).map(a=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:""}${a}`):[]}getSuffix(e,t,r={}){const a=this.getRule(e,r);return a?`${this.options.prepend}${r.ordinal?`ordinal${this.options.prepend}`:""}${a.select(t)}`:(this.logger.warn(`no plural rule found for: ${e}`),this.getSuffix("dev",t,r))}}const dt=(n,e,t,r=".",a=!0)=>{let s=Ia(n,e,t);return!s&&a&&L(t)&&(s=Pe(n,t,r),s===void 0&&(s=Pe(e,t,r))),s},Ne=n=>n.replace(/\$/g,"$$$$");class Wa{constructor(e={}){this.logger=Z.create("interpolator"),this.options=e,this.format=e?.interpolation?.format||(t=>t),this.init(e)}init(e={}){e.interpolation||(e.interpolation={escapeValue:!0});const{escape:t,escapeValue:r,useRawValueToEscape:a,prefix:s,prefixEscaped:i,suffix:o,suffixEscaped:c,formatSeparator:l,unescapeSuffix:u,unescapePrefix:d,nestingPrefix:h,nestingPrefixEscaped:y,nestingSuffix:p,nestingSuffixEscaped:g,nestingOptionsSeparator:f,maxReplaces:x,alwaysFormat:b}=e.interpolation;this.escape=t!==void 0?t:_a,this.escapeValue=r!==void 0?r:!0,this.useRawValueToEscape=a!==void 0?a:!1,this.prefix=s?ne(s):i||"{{",this.suffix=o?ne(o):c||"}}",this.formatSeparator=l||",",this.unescapePrefix=u?"":d||"-",this.unescapeSuffix=this.unescapePrefix?"":u||"",this.nestingPrefix=h?ne(h):y||ne("$t("),this.nestingSuffix=p?ne(p):g||ne(")"),this.nestingOptionsSeparator=f||",",this.maxReplaces=x||1e3,this.alwaysFormat=b!==void 0?b:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const e=(t,r)=>t?.source===r?(t.lastIndex=0,t):new RegExp(r,"g");this.regexp=e(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=e(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=e(this.nestingRegexp,`${this.nestingPrefix}((?:[^()"']+|"[^"]*"|'[^']*'|\\((?:[^()]|"[^"]*"|'[^']*')*\\))*?)${this.nestingSuffix}`)}interpolate(e,t,r,a){let s,i,o;const c=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},l=y=>{if(y.indexOf(this.formatSeparator)<0){const x=dt(t,c,y,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(x,void 0,r,{...a,...t,interpolationkey:y}):x}const p=y.split(this.formatSeparator),g=p.shift().trim(),f=p.join(this.formatSeparator).trim();return this.format(dt(t,c,g,this.options.keySeparator,this.options.ignoreJSONStructure),f,r,{...a,...t,interpolationkey:g})};this.resetRegExp();const u=a?.missingInterpolationHandler||this.options.missingInterpolationHandler,d=a?.interpolation?.skipOnVariables!==void 0?a.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:y=>Ne(y)},{regex:this.regexp,safeValue:y=>this.escapeValue?Ne(this.escape(y)):Ne(y)}].forEach(y=>{for(o=0;s=y.regex.exec(e);){const p=s[1].trim();if(i=l(p),i===void 0)if(typeof u=="function"){const f=u(e,s,a);i=L(f)?f:""}else if(a&&Object.prototype.hasOwnProperty.call(a,p))i="";else if(d){i=s[0];continue}else this.logger.warn(`missed to pass in variable ${p} for interpolating ${e}`),i="";else!L(i)&&!this.useRawValueToEscape&&(i=tt(i));const g=y.safeValue(i);if(e=e.replace(s[0],g),d?(y.regex.lastIndex+=i.length,y.regex.lastIndex-=s[0].length):y.regex.lastIndex=0,o++,o>=this.maxReplaces)break}}),e}nest(e,t,r={}){let a,s,i;const o=(c,l)=>{const u=this.nestingOptionsSeparator;if(c.indexOf(u)<0)return c;const d=c.split(new RegExp(`${u}[ ]*{`));let h=`{${d[1]}`;c=d[0],h=this.interpolate(h,i);const y=h.match(/'/g),p=h.match(/"/g);((y?.length??0)%2===0&&!p||p.length%2!==0)&&(h=h.replace(/'/g,'"'));try{i=JSON.parse(h),l&&(i={...l,...i})}catch(g){return this.logger.warn(`failed parsing options string in nesting for key ${c}`,g),`${c}${u}${h}`}return i.defaultValue&&i.defaultValue.indexOf(this.prefix)>-1&&delete i.defaultValue,c};for(;a=this.nestingRegexp.exec(e);){let c=[];i={...r},i=i.replace&&!L(i.replace)?i.replace:i,i.applyPostProcessor=!1,delete i.defaultValue;const l=/{.*}/.test(a[1])?a[1].lastIndexOf("}")+1:a[1].indexOf(this.formatSeparator);if(l!==-1&&(c=a[1].slice(l).split(this.formatSeparator).map(u=>u.trim()).filter(Boolean),a[1]=a[1].slice(0,l)),s=t(o.call(this,a[1].trim(),i),i),s&&a[0]===e&&!L(s))return s;L(s)||(s=tt(s)),s||(this.logger.warn(`missed to resolve ${a[1]} for nesting ${e}`),s=""),c.length&&(s=c.reduce((u,d)=>this.format(u,d,r.lng,{...r,interpolationkey:a[1].trim()}),s.trim())),e=e.replace(a[0],s),this.regexp.lastIndex=0}return e}}const Za=n=>{let e=n.toLowerCase().trim();const t={};if(n.indexOf("(")>-1){const r=n.split("(");e=r[0].toLowerCase().trim();const a=r[1].substring(0,r[1].length-1);e==="currency"&&a.indexOf(":")<0?t.currency||(t.currency=a.trim()):e==="relativetime"&&a.indexOf(":")<0?t.range||(t.range=a.trim()):a.split(";").forEach(i=>{if(i){const[o,...c]=i.split(":"),l=c.join(":").trim().replace(/^'+|'+$/g,""),u=o.trim();t[u]||(t[u]=l),l==="false"&&(t[u]=!1),l==="true"&&(t[u]=!0),isNaN(l)||(t[u]=parseInt(l,10))}})}return{formatName:e,formatOptions:t}},pt=n=>{const e={};return(t,r,a)=>{let s=a;a&&a.interpolationkey&&a.formatParams&&a.formatParams[a.interpolationkey]&&a[a.interpolationkey]&&(s={...s,[a.interpolationkey]:void 0});const i=r+JSON.stringify(s);let o=e[i];return o||(o=n(de(r),a),e[i]=o),o(t)}},Ga=n=>(e,t,r)=>n(de(t),r)(e);class Ya{constructor(e={}){this.logger=Z.create("formatter"),this.options=e,this.init(e)}init(e,t={interpolation:{}}){this.formatSeparator=t.interpolation.formatSeparator||",";const r=t.cacheInBuiltFormats?pt:Ga;this.formats={number:r((a,s)=>{const i=new Intl.NumberFormat(a,{...s});return o=>i.format(o)}),currency:r((a,s)=>{const i=new Intl.NumberFormat(a,{...s,style:"currency"});return o=>i.format(o)}),datetime:r((a,s)=>{const i=new Intl.DateTimeFormat(a,{...s});return o=>i.format(o)}),relativetime:r((a,s)=>{const i=new Intl.RelativeTimeFormat(a,{...s});return o=>i.format(o,s.range||"day")}),list:r((a,s)=>{const i=new Intl.ListFormat(a,{...s});return o=>i.format(o)})}}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=pt(t)}format(e,t,r,a={}){const s=t.split(this.formatSeparator);if(s.length>1&&s[0].indexOf("(")>1&&s[0].indexOf(")")<0&&s.find(o=>o.indexOf(")")>-1)){const o=s.findIndex(c=>c.indexOf(")")>-1);s[0]=[s[0],...s.splice(1,o)].join(this.formatSeparator)}return s.reduce((o,c)=>{const{formatName:l,formatOptions:u}=Za(c);if(this.formats[l]){let d=o;try{const h=a?.formatParams?.[a.interpolationkey]||{},y=h.locale||h.lng||a.locale||a.lng||r;d=this.formats[l](o,y,{...u,...a,...h})}catch(h){this.logger.warn(h)}return d}else this.logger.warn(`there was no format function for ${l}`);return o},e)}}const Ja=(n,e)=>{n.pending[e]!==void 0&&(delete n.pending[e],n.pendingCount--)};class Xa extends Se{constructor(e,t,r,a={}){super(),this.backend=e,this.store=t,this.services=r,this.languageUtils=r.languageUtils,this.options=a,this.logger=Z.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=a.maxParallelReads||10,this.readingCalls=0,this.maxRetries=a.maxRetries>=0?a.maxRetries:5,this.retryTimeout=a.retryTimeout>=1?a.retryTimeout:350,this.state={},this.queue=[],this.backend?.init?.(r,a.backend,a)}queueLoad(e,t,r,a){const s={},i={},o={},c={};return e.forEach(l=>{let u=!0;t.forEach(d=>{const h=`${l}|${d}`;!r.reload&&this.store.hasResourceBundle(l,d)?this.state[h]=2:this.state[h]<0||(this.state[h]===1?i[h]===void 0&&(i[h]=!0):(this.state[h]=1,u=!1,i[h]===void 0&&(i[h]=!0),s[h]===void 0&&(s[h]=!0),c[d]===void 0&&(c[d]=!0)))}),u||(o[l]=!0)}),(Object.keys(s).length||Object.keys(i).length)&&this.queue.push({pending:i,pendingCount:Object.keys(i).length,loaded:{},errors:[],callback:a}),{toLoad:Object.keys(s),pending:Object.keys(i),toLoadLanguages:Object.keys(o),toLoadNamespaces:Object.keys(c)}}loaded(e,t,r){const a=e.split("|"),s=a[0],i=a[1];t&&this.emit("failedLoading",s,i,t),!t&&r&&this.store.addResourceBundle(s,i,r,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2,t&&r&&(this.state[e]=0);const o={};this.queue.forEach(c=>{ja(c.loaded,[s],i),Ja(c,e),t&&c.errors.push(t),c.pendingCount===0&&!c.done&&(Object.keys(c.loaded).forEach(l=>{o[l]||(o[l]={});const u=c.loaded[l];u.length&&u.forEach(d=>{o[l][d]===void 0&&(o[l][d]=!0)})}),c.done=!0,c.errors.length?c.callback(c.errors):c.callback())}),this.emit("loaded",o),this.queue=this.queue.filter(c=>!c.done)}read(e,t,r,a=0,s=this.retryTimeout,i){if(!e.length)return i(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:e,ns:t,fcName:r,tried:a,wait:s,callback:i});return}this.readingCalls++;const o=(l,u)=>{if(this.readingCalls--,this.waitingReads.length>0){const d=this.waitingReads.shift();this.read(d.lng,d.ns,d.fcName,d.tried,d.wait,d.callback)}if(l&&u&&a<this.maxRetries){setTimeout(()=>{this.read.call(this,e,t,r,a+1,s*2,i)},s);return}i(l,u)},c=this.backend[r].bind(this.backend);if(c.length===2){try{const l=c(e,t);l&&typeof l.then=="function"?l.then(u=>o(null,u)).catch(o):o(null,l)}catch(l){o(l)}return}return c(e,t,o)}prepareLoading(e,t,r={},a){if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),a&&a();L(e)&&(e=this.languageUtils.toResolveHierarchy(e)),L(t)&&(t=[t]);const s=this.queueLoad(e,t,r,a);if(!s.toLoad.length)return s.pending.length||a(),null;s.toLoad.forEach(i=>{this.loadOne(i)})}load(e,t,r){this.prepareLoading(e,t,{},r)}reload(e,t,r){this.prepareLoading(e,t,{reload:!0},r)}loadOne(e,t=""){const r=e.split("|"),a=r[0],s=r[1];this.read(a,s,"read",void 0,void 0,(i,o)=>{i&&this.logger.warn(`${t}loading namespace ${s} for language ${a} failed`,i),!i&&o&&this.logger.log(`${t}loaded namespace ${s} for language ${a}`,o),this.loaded(e,i,o)})}saveMissing(e,t,r,a,s,i={},o=()=>{}){if(this.services?.utils?.hasLoadedNamespace&&!this.services?.utils?.hasLoadedNamespace(t)){this.logger.warn(`did not save key "${r}" as the namespace "${t}" 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!!!");return}if(!(r==null||r==="")){if(this.backend?.create){const c={...i,isUpdate:s},l=this.backend.create.bind(this.backend);if(l.length<6)try{let u;l.length===5?u=l(e,t,r,a,c):u=l(e,t,r,a),u&&typeof u.then=="function"?u.then(d=>o(null,d)).catch(o):o(null,u)}catch(u){o(u)}else l(e,t,r,a,o,c)}!e||!e[0]||this.store.addResource(e[0],t,r,a)}}}const gt=()=>({debug:!1,initAsync:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:n=>{let e={};if(typeof n[1]=="object"&&(e=n[1]),L(n[1])&&(e.defaultValue=n[1]),L(n[2])&&(e.tDescription=n[2]),typeof n[2]=="object"||typeof n[3]=="object"){const t=n[3]||n[2];Object.keys(t).forEach(r=>{e[r]=t[r]})}return e},interpolation:{escapeValue:!0,format:n=>n,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0},cacheInBuiltFormats:!0}),ft=n=>(L(n.ns)&&(n.ns=[n.ns]),L(n.fallbackLng)&&(n.fallbackLng=[n.fallbackLng]),L(n.fallbackNS)&&(n.fallbackNS=[n.fallbackNS]),n.supportedLngs?.indexOf?.("cimode")<0&&(n.supportedLngs=n.supportedLngs.concat(["cimode"])),typeof n.initImmediate=="boolean"&&(n.initAsync=n.initImmediate),n),he=()=>{},Qa=n=>{Object.getOwnPropertyNames(Object.getPrototypeOf(n)).forEach(t=>{typeof n[t]=="function"&&(n[t]=n[t].bind(n))})};class pe extends Se{constructor(e={},t){if(super(),this.options=ft(e),this.services={},this.logger=Z,this.modules={external:[]},Qa(this),t&&!this.isInitialized&&!e.isClone){if(!this.options.initAsync)return this.init(e,t),this;setTimeout(()=>{this.init(e,t)},0)}}init(e={},t){this.isInitializing=!0,typeof e=="function"&&(t=e,e={}),e.defaultNS==null&&e.ns&&(L(e.ns)?e.defaultNS=e.ns:e.ns.indexOf("translation")<0&&(e.defaultNS=e.ns[0]));const r=gt();this.options={...r,...this.options,...ft(e)},this.options.interpolation={...r.interpolation,...this.options.interpolation},e.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=e.keySeparator),e.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=e.nsSeparator);const a=l=>l?typeof l=="function"?new l:l:null;if(!this.options.isClone){this.modules.logger?Z.init(a(this.modules.logger),this.options):Z.init(null,this.options);let l;this.modules.formatter?l=this.modules.formatter:l=Ya;const u=new lt(this.options);this.store=new st(this.options.resources,this.options);const d=this.services;d.logger=Z,d.resourceStore=this.store,d.languageUtils=u,d.pluralResolver=new Ka(u,{prepend:this.options.pluralSeparator,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),this.options.interpolation.format&&this.options.interpolation.format!==r.interpolation.format&&this.logger.deprecate("init: you are still using the legacy format function, please use the new approach: https://www.i18next.com/translation-function/formatting"),l&&(!this.options.interpolation.format||this.options.interpolation.format===r.interpolation.format)&&(d.formatter=a(l),d.formatter.init&&d.formatter.init(d,this.options),this.options.interpolation.format=d.formatter.format.bind(d.formatter)),d.interpolator=new Wa(this.options),d.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},d.backendConnector=new Xa(a(this.modules.backend),d.resourceStore,d,this.options),d.backendConnector.on("*",(y,...p)=>{this.emit(y,...p)}),this.modules.languageDetector&&(d.languageDetector=a(this.modules.languageDetector),d.languageDetector.init&&d.languageDetector.init(d,this.options.detection,this.options)),this.modules.i18nFormat&&(d.i18nFormat=a(this.modules.i18nFormat),d.i18nFormat.init&&d.i18nFormat.init(this)),this.translator=new be(this.services,this.options),this.translator.on("*",(y,...p)=>{this.emit(y,...p)}),this.modules.external.forEach(y=>{y.init&&y.init(this)})}if(this.format=this.options.interpolation.format,t||(t=he),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const l=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);l.length>0&&l[0]!=="dev"&&(this.options.lng=l[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(l=>{this[l]=(...u)=>this.store[l](...u)}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(l=>{this[l]=(...u)=>(this.store[l](...u),this)});const o=ce(),c=()=>{const l=(u,d)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),o.resolve(d),t(u,d)};if(this.languages&&!this.isInitialized)return l(null,this.t.bind(this));this.changeLanguage(this.options.lng,l)};return this.options.resources||!this.options.initAsync?c():setTimeout(c,0),o}loadResources(e,t=he){let r=t;const a=L(e)?e:this.language;if(typeof e=="function"&&(r=e),!this.options.resources||this.options.partialBundledLanguages){if(a?.toLowerCase()==="cimode"&&(!this.options.preload||this.options.preload.length===0))return r();const s=[],i=o=>{if(!o||o==="cimode")return;this.services.languageUtils.toResolveHierarchy(o).forEach(l=>{l!=="cimode"&&s.indexOf(l)<0&&s.push(l)})};a?i(a):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(c=>i(c)),this.options.preload?.forEach?.(o=>i(o)),this.services.backendConnector.load(s,this.options.ns,o=>{!o&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),r(o)})}else r(null)}reloadResources(e,t,r){const a=ce();return typeof e=="function"&&(r=e,e=void 0),typeof t=="function"&&(r=t,t=void 0),e||(e=this.languages),t||(t=this.options.ns),r||(r=he),this.services.backendConnector.reload(e,t,s=>{a.resolve(),r(s)}),a}use(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return e.type==="backend"&&(this.modules.backend=e),(e.type==="logger"||e.log&&e.warn&&e.error)&&(this.modules.logger=e),e.type==="languageDetector"&&(this.modules.languageDetector=e),e.type==="i18nFormat"&&(this.modules.i18nFormat=e),e.type==="postProcessor"&&Ut.addPostProcessor(e),e.type==="formatter"&&(this.modules.formatter=e),e.type==="3rdParty"&&this.modules.external.push(e),this}setResolvedLanguage(e){if(!(!e||!this.languages)&&!(["cimode","dev"].indexOf(e)>-1)){for(let t=0;t<this.languages.length;t++){const r=this.languages[t];if(!(["cimode","dev"].indexOf(r)>-1)&&this.store.hasLanguageSomeTranslations(r)){this.resolvedLanguage=r;break}}!this.resolvedLanguage&&this.languages.indexOf(e)<0&&this.store.hasLanguageSomeTranslations(e)&&(this.resolvedLanguage=e,this.languages.unshift(e))}}changeLanguage(e,t){this.isLanguageChangingTo=e;const r=ce();this.emit("languageChanging",e);const a=o=>{this.language=o,this.languages=this.services.languageUtils.toResolveHierarchy(o),this.resolvedLanguage=void 0,this.setResolvedLanguage(o)},s=(o,c)=>{c?this.isLanguageChangingTo===e&&(a(c),this.translator.changeLanguage(c),this.isLanguageChangingTo=void 0,this.emit("languageChanged",c),this.logger.log("languageChanged",c)):this.isLanguageChangingTo=void 0,r.resolve((...l)=>this.t(...l)),t&&t(o,(...l)=>this.t(...l))},i=o=>{!e&&!o&&this.services.languageDetector&&(o=[]);const c=L(o)?o:o&&o[0],l=this.store.hasLanguageSomeTranslations(c)?c:this.services.languageUtils.getBestMatchFromCodes(L(o)?[o]:o);l&&(this.language||a(l),this.translator.language||this.translator.changeLanguage(l),this.services.languageDetector?.cacheUserLanguage?.(l)),this.loadResources(l,u=>{s(u,l)})};return!e&&this.services.languageDetector&&!this.services.languageDetector.async?i(this.services.languageDetector.detect()):!e&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(i):this.services.languageDetector.detect(i):i(e),r}getFixedT(e,t,r){const a=(s,i,...o)=>{let c;typeof i!="object"?c=this.options.overloadTranslationOptionHandler([s,i].concat(o)):c={...i},c.lng=c.lng||a.lng,c.lngs=c.lngs||a.lngs,c.ns=c.ns||a.ns,c.keyPrefix!==""&&(c.keyPrefix=c.keyPrefix||r||a.keyPrefix);const l=this.options.keySeparator||".";let u;return c.keyPrefix&&Array.isArray(s)?u=s.map(d=>(typeof d=="function"&&(d=je(d,{...this.options,...i})),`${c.keyPrefix}${l}${d}`)):(typeof s=="function"&&(s=je(s,{...this.options,...i})),u=c.keyPrefix?`${c.keyPrefix}${l}${s}`:s),this.t(u,c)};return L(e)?a.lng=e:a.lngs=e,a.ns=t,a.keyPrefix=r,a}t(...e){return this.translator?.translate(...e)}exists(...e){return this.translator?.exists(...e)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e,t={}){if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const r=t.lng||this.resolvedLanguage||this.languages[0],a=this.options?this.options.fallbackLng:!1,s=this.languages[this.languages.length-1];if(r.toLowerCase()==="cimode")return!0;const i=(o,c)=>{const l=this.services.backendConnector.state[`${o}|${c}`];return l===-1||l===0||l===2};if(t.precheck){const o=t.precheck(this,i);if(o!==void 0)return o}return!!(this.hasResourceBundle(r,e)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||i(r,e)&&(!a||i(s,e)))}loadNamespaces(e,t){const r=ce();return this.options.ns?(L(e)&&(e=[e]),e.forEach(a=>{this.options.ns.indexOf(a)<0&&this.options.ns.push(a)}),this.loadResources(a=>{r.resolve(),t&&t(a)}),r):(t&&t(),Promise.resolve())}loadLanguages(e,t){const r=ce();L(e)&&(e=[e]);const a=this.options.preload||[],s=e.filter(i=>a.indexOf(i)<0&&this.services.languageUtils.isSupportedCode(i));return s.length?(this.options.preload=a.concat(s),this.loadResources(i=>{r.resolve(),t&&t(i)}),r):(t&&t(),Promise.resolve())}dir(e){if(e||(e=this.resolvedLanguage||(this.languages?.length>0?this.languages[0]:this.language)),!e)return"rtl";try{const a=new Intl.Locale(e);if(a&&a.getTextInfo){const s=a.getTextInfo();if(s&&s.direction)return s.direction}}catch{}const t=["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"],r=this.services?.languageUtils||new lt(gt());return e.toLowerCase().indexOf("-latn")>1?"ltr":t.indexOf(r.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(e={},t){return new pe(e,t)}cloneInstance(e={},t=he){const r=e.forkResourceStore;r&&delete e.forkResourceStore;const a={...this.options,...e,isClone:!0},s=new pe(a);if((e.debug!==void 0||e.prefix!==void 0)&&(s.logger=s.logger.clone(e)),["store","services","language"].forEach(o=>{s[o]=this[o]}),s.services={...this.services},s.services.utils={hasLoadedNamespace:s.hasLoadedNamespace.bind(s)},r){const o=Object.keys(this.store.data).reduce((c,l)=>(c[l]={...this.store.data[l]},c[l]=Object.keys(c[l]).reduce((u,d)=>(u[d]={...c[l][d]},u),c[l]),c),{});s.store=new st(o,a),s.services.resourceStore=s.store}return s.translator=new be(s.services,a),s.translator.on("*",(o,...c)=>{s.emit(o,...c)}),s.init(a,t),s.translator.options=a,s.translator.backendConnector.services.utils={hasLoadedNamespace:s.hasLoadedNamespace.bind(s)},s}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}const I=pe.createInstance();I.createInstance=pe.createInstance;I.createInstance;I.dir;I.init;I.loadResources;I.reloadResources;I.use;I.changeLanguage;I.getFixedT;I.t;I.exists;I.setDefaultNamespace;I.hasLoadedNamespace;I.loadNamespaces;I.loadLanguages;const{slice:es,forEach:ts}=[];function ns(n){return ts.call(es.call(arguments,1),e=>{if(e)for(const t in e)n[t]===void 0&&(n[t]=e[t])}),n}function rs(n){return typeof n!="string"?!1:[/<\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].some(t=>t.test(n))}const ht=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,as=function(n,e){const r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{path:"/"},a=encodeURIComponent(e);let s=`${n}=${a}`;if(r.maxAge>0){const i=r.maxAge-0;if(Number.isNaN(i))throw new Error("maxAge should be a Number");s+=`; Max-Age=${Math.floor(i)}`}if(r.domain){if(!ht.test(r.domain))throw new TypeError("option domain is invalid");s+=`; Domain=${r.domain}`}if(r.path){if(!ht.test(r.path))throw new TypeError("option path is invalid");s+=`; Path=${r.path}`}if(r.expires){if(typeof r.expires.toUTCString!="function")throw new TypeError("option expires is invalid");s+=`; Expires=${r.expires.toUTCString()}`}if(r.httpOnly&&(s+="; HttpOnly"),r.secure&&(s+="; Secure"),r.sameSite)switch(typeof r.sameSite=="string"?r.sameSite.toLowerCase():r.sameSite){case!0:s+="; SameSite=Strict";break;case"lax":s+="; SameSite=Lax";break;case"strict":s+="; SameSite=Strict";break;case"none":s+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}return r.partitioned&&(s+="; Partitioned"),s},yt={create(n,e,t,r){let a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{path:"/",sameSite:"strict"};t&&(a.expires=new Date,a.expires.setTime(a.expires.getTime()+t*60*1e3)),r&&(a.domain=r),document.cookie=as(n,e,a)},read(n){const e=`${n}=`,t=document.cookie.split(";");for(let r=0;r<t.length;r++){let a=t[r];for(;a.charAt(0)===" ";)a=a.substring(1,a.length);if(a.indexOf(e)===0)return a.substring(e.length,a.length)}return null},remove(n,e){this.create(n,"",-1,e)}};var ss={name:"cookie",lookup(n){let{lookupCookie:e}=n;if(e&&typeof document<"u")return yt.read(e)||void 0},cacheUserLanguage(n,e){let{lookupCookie:t,cookieMinutes:r,cookieDomain:a,cookieOptions:s}=e;t&&typeof document<"u"&&yt.create(t,n,r,a,s)}},is={name:"querystring",lookup(n){let{lookupQuerystring:e}=n,t;if(typeof window<"u"){let{search:r}=window.location;!window.location.search&&window.location.hash?.indexOf("?")>-1&&(r=window.location.hash.substring(window.location.hash.indexOf("?")));const s=r.substring(1).split("&");for(let i=0;i<s.length;i++){const o=s[i].indexOf("=");o>0&&s[i].substring(0,o)===e&&(t=s[i].substring(o+1))}}return t}},os={name:"hash",lookup(n){let{lookupHash:e,lookupFromHashIndex:t}=n,r;if(typeof window<"u"){const{hash:a}=window.location;if(a&&a.length>2){const s=a.substring(1);if(e){const i=s.split("&");for(let o=0;o<i.length;o++){const c=i[o].indexOf("=");c>0&&i[o].substring(0,c)===e&&(r=i[o].substring(c+1))}}if(r)return r;if(!r&&t>-1){const i=a.match(/\/([a-zA-Z-]*)/g);return Array.isArray(i)?i[typeof t=="number"?t:0]?.replace("/",""):void 0}}}return r}};let re=null;const mt=()=>{if(re!==null)return re;try{if(re=typeof window<"u"&&window.localStorage!==null,!re)return!1;const n="i18next.translate.boo";window.localStorage.setItem(n,"foo"),window.localStorage.removeItem(n)}catch{re=!1}return re};var ls={name:"localStorage",lookup(n){let{lookupLocalStorage:e}=n;if(e&&mt())return window.localStorage.getItem(e)||void 0},cacheUserLanguage(n,e){let{lookupLocalStorage:t}=e;t&&mt()&&window.localStorage.setItem(t,n)}};let ae=null;const bt=()=>{if(ae!==null)return ae;try{if(ae=typeof window<"u"&&window.sessionStorage!==null,!ae)return!1;const n="i18next.translate.boo";window.sessionStorage.setItem(n,"foo"),window.sessionStorage.removeItem(n)}catch{ae=!1}return ae};var cs={name:"sessionStorage",lookup(n){let{lookupSessionStorage:e}=n;if(e&&bt())return window.sessionStorage.getItem(e)||void 0},cacheUserLanguage(n,e){let{lookupSessionStorage:t}=e;t&&bt()&&window.sessionStorage.setItem(t,n)}},us={name:"navigator",lookup(n){const e=[];if(typeof navigator<"u"){const{languages:t,userLanguage:r,language:a}=navigator;if(t)for(let s=0;s<t.length;s++)e.push(t[s]);r&&e.push(r),a&&e.push(a)}return e.length>0?e:void 0}},ds={name:"htmlTag",lookup(n){let{htmlTag:e}=n,t;const r=e||(typeof document<"u"?document.documentElement:null);return r&&typeof r.getAttribute=="function"&&(t=r.getAttribute("lang")),t}},ps={name:"path",lookup(n){let{lookupFromPathIndex:e}=n;if(typeof window>"u")return;const t=window.location.pathname.match(/\/([a-zA-Z-]*)/g);return Array.isArray(t)?t[typeof e=="number"?e:0]?.replace("/",""):void 0}},gs={name:"subdomain",lookup(n){let{lookupFromSubdomainIndex:e}=n;const t=typeof e=="number"?e+1:1,r=typeof window<"u"&&window.location?.hostname?.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i);if(r)return r[t]}};let Ht=!1;try{document.cookie,Ht=!0}catch{}const qt=["querystring","cookie","localStorage","sessionStorage","navigator","htmlTag"];Ht||qt.splice(1,1);const fs=()=>({order:qt,lookupQuerystring:"lng",lookupCookie:"i18next",lookupLocalStorage:"i18nextLng",lookupSessionStorage:"i18nextLng",caches:["localStorage"],excludeCacheFor:["cimode"],convertDetectedLanguage:n=>n});class Kt{constructor(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.type="languageDetector",this.detectors={},this.init(e,t)}init(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{languageUtils:{}},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=e,this.options=ns(t,this.options||{},fs()),typeof this.options.convertDetectedLanguage=="string"&&this.options.convertDetectedLanguage.indexOf("15897")>-1&&(this.options.convertDetectedLanguage=a=>a.replace("-","_")),this.options.lookupFromUrlIndex&&(this.options.lookupFromPathIndex=this.options.lookupFromUrlIndex),this.i18nOptions=r,this.addDetector(ss),this.addDetector(is),this.addDetector(ls),this.addDetector(cs),this.addDetector(us),this.addDetector(ds),this.addDetector(ps),this.addDetector(gs),this.addDetector(os)}addDetector(e){return this.detectors[e.name]=e,this}detect(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.options.order,t=[];return e.forEach(r=>{if(this.detectors[r]){let a=this.detectors[r].lookup(this.options);a&&typeof a=="string"&&(a=[a]),a&&(t=t.concat(a))}}),t=t.filter(r=>r!=null&&!rs(r)).map(r=>this.options.convertDetectedLanguage(r)),this.services&&this.services.languageUtils&&this.services.languageUtils.getBestMatchFromCodes?t:t.length>0?t[0]:null}cacheUserLanguage(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.options.caches;t&&(this.options.excludeCacheFor&&this.options.excludeCacheFor.indexOf(e)>-1||t.forEach(r=>{this.detectors[r]&&this.detectors[r].cacheUserLanguage(e,this.options)}))}}Kt.type="languageDetector";const Wt={apiBaseUrl:"https://api.nemme.io",debug:!1},hs="Previous",ys="Next",ms="Done",bs="Submit",xs={Previous:hs,Next:ys,Done:ms,Submit:bs,"Type your answer here":"Type your answer here","Max {{maxCharacters}} characters":"Max {{maxCharacters}} characters"},ws={};Aa({locale:Ca});I.use(Kt).use(gn).init({debug:Wt.debug,fallbackLng:"en",interpolation:{escapeValue:!1},resources:{en:{translation:xs},nb:{tranlation:ws}}});const xt={debug:0,info:1,warn:2,error:3};class Be{prefix;enabled;level;constructor(e={}){this.prefix=e.prefix||"Nemme SDK",this.enabled=e.enabled!==void 0?e.enabled:!0,this.level=e.level||"info"}shouldLog(e){return this.enabled&&xt[e]>=xt[this.level]}formatMessage(e){return`[${this.prefix}] ${e}`}debug(e,...t){this.shouldLog("debug")&&console.debug(this.formatMessage(e),...t)}info(e,...t){this.shouldLog("info")&&console.info(this.formatMessage(e),...t)}warn(e,...t){this.shouldLog("warn")&&console.warn(this.formatMessage(e),...t)}error(e,...t){this.shouldLog("error")&&console.error(this.formatMessage(e),...t)}child(e){return new Be({prefix:`${this.prefix}:${e}`,enabled:this.enabled,level:this.level})}configure(e){e.prefix!==void 0&&(this.prefix=e.prefix),e.enabled!==void 0&&(this.enabled=e.enabled),e.level!==void 0&&(this.level=e.level)}}const Zt=new Be,wt=Zt.child("network"),vs=3e4,ks=(n,e)=>{const t=new URL(n,Wt.apiBaseUrl);return e&&Object.entries(e).forEach(([r,a])=>{a!=null&&t.searchParams.append(r,String(a))}),t.toString()},Y={async request(n,e={}){const{method:t="GET",headers:r={},body:a,params:s,timeout:i=vs}=e,o=ks(n,s),c={"Content-Type":"application/json",Accept:"application/json",...r},l={method:t,headers:c,body:a?JSON.stringify(a):void 0},u=new AbortController,d=setTimeout(()=>u.abort(),i);l.signal=u.signal;try{const h=await fetch(o,l);let y;const p=h.headers.get("content-type");if(p&&p.includes("application/json"))y=await h.json();else{const f=await h.text();try{y=JSON.parse(f)}catch{y=f}}const g={data:y,status:h.status,statusText:h.statusText,headers:h.headers,ok:h.ok};if(h.ok)g.ok=!0;else{const f=`Request failed with status ${h.status}: ${h.statusText}`;wt.error(f,{url:o,method:t,status:h.status,data:g.data}),g.ok=!1,g.error={message:f,details:g.data}}return g}catch(h){let y="Network request failed",p={};return h instanceof DOMException&&h.name==="AbortError"?(y=`Request timeout after ${i}ms`,p={timeout:i,url:o}):p={message:h instanceof Error?h.message:String(h),url:o,method:t},wt.error(y,p),{data:{},status:0,statusText:y,headers:new Headers,ok:!1,error:{message:y,details:p}}}finally{clearTimeout(d)}},async get(n,e={}){return this.request(n,{...e,method:"GET"})},async post(n,e,t={}){return this.request(n,{...t,method:"POST",body:e})},async put(n,e,t={}){return this.request(n,{...t,method:"PUT",body:e})},async patch(n,e,t={}){return this.request(n,{...t,method:"PATCH",body:e})},async delete(n,e={}){return this.request(n,{...e,method:"DELETE"})}};class Ss{logger;headers;config;constructor(e,t,r={}){this.logger=e,this.headers=t,this.config=r}async fetchAndDisplayForm(e,t,r){this.logger.debug(`Fetching form config for: ${e}`);try{const a=await Y.get(`/external/forms/${e}`,{headers:this.headers});a.ok&&a.data?(this.logger.info(`Form config loaded for: ${e}`,a.data),this.displayForm(a.data,t,r)):this.logger.warn(`No form config found for: ${e}`)}catch(a){this.logger.error(`Failed to fetch form config for: ${e}`,a)}}displayForm(e,t,r){const a=document.createElement("div");a.id="nm",document.body.appendChild(a);const s=Qt.createRoot(a),i=F.createElement(mn,{i18n:I},F.createElement(vn,{form:e,onDismiss:async o=>{await t(),s.unmount(),a.remove(),this.logger.info("Form dismissed",o)},onComplete:async o=>{await r(),await this.postFormResponse(e,o),s.unmount(),a.remove(),this.logger.info("Form completed",o)},zIndex:this.config.zIndex}));s.render(i)}async postFormResponse(e,t){this.logger.info("Posting form response",t);const r=await Y.post(`/external/forms/${e.slug}`,t,{headers:this.headers});this.logger.info("Form response posted",r.data)}}class Es{logger;headers;formManager;deliveries=[];constructor(e,t,r){this.logger=e,this.headers=t,this.formManager=new Ss(e,t,r)}async loadDeliveries(){try{this.logger.debug("Loading deliveries");const e=await Y.get("/external/deliveries",{headers:this.headers});this.deliveries=e.data,this.logger.info(`Loaded ${this.deliveries.length} deliveries`)}catch(e){this.logger.error("Failed to load deliveries",e),this.deliveries=[]}}async evaluateDeliveryTriggers(e){for(const t of this.deliveries)for(const r of t.triggers)if(this.shouldTriggerDelivery(r,e)){if(!await this.isDeliveryValid(t)){this.logger.debug(`Delivery ${t.id} is not valid, skipping`);continue}await this.executeDelivery(t,r);return}}shouldTriggerDelivery(e,t){if(this.hasActiveDelivery())return!1;switch(e.triggerType){case"page_url":return e.urlPattern?this.matchesUrlPattern(t.url,e.urlPattern):!0;case"custom_event":return e.eventKey?t.eventKey===e.eventKey:!1;default:return!1}}hasActiveDelivery(){return document.getElementById("nm")!==null}async executeDelivery(e,t){if(e.productType==="FRM"){this.logger.debug(`Triggering form delivery: ${e.productSlug}`,{triggerType:t.triggerType,urlPattern:t.urlPattern,eventKey:t.eventKey});try{const a=await this.createDeliveryResponse(e);await this.formManager.fetchAndDisplayForm(e.productSlug,async()=>{this.logger.debug(`Form for delivery: ${e.productSlug} was cancelled`),a&&await this.updateDeliveryResponse(e.id,a.id,!0)},async()=>{this.logger.debug(`Form for delivery: ${e.productSlug} was completed`),a&&await this.updateDeliveryResponse(e.id,a.id,!1,!0)})}catch(a){this.logger.error(`Failed to load form for delivery: ${e.productSlug}`,a)}}}matchesUrlPattern(e,t){let r;try{r=new URL(e).pathname}catch{r=e.startsWith("/")?e:`/${e}`}const a=u=>{if(!u)return"/";let d=u.startsWith("/")?u:`/${u}`;return d.length>1&&d.endsWith("/")&&(d=d.slice(0,-1)),d},s=a(r),i=a(t),o=i.replace(/\*\*/g,"§DOUBLE_STAR§").replace(/\*/g,"[^/]*").replace(/§DOUBLE_STAR§/g,".*").replace(/\?/g,"."),l=new RegExp(`^${o}$`).test(s);return this.logger.debug("URL pattern matching",{originalUrl:e,pathname:r,normalizedPathname:s,pattern:t,normalizedPattern:i,regexPattern:o,matches:l}),l}async createDeliveryResponse(e){try{return(await Y.post(`/external/deliveries/${e.id}/responses`,{},{headers:this.headers})).data}catch(t){this.logger.error(`Failed to create delivery response for delivery: ${e.id}`,t)}}async updateDeliveryResponse(e,t,r=!1,a=!1){try{await Y.patch(`/external/deliveries/${e}/responses/${t}`,{wasDismissed:r,wasCompleted:a},{headers:this.headers})}catch(s){this.logger.error(`Failed to update delivery response: ${t} for delivery: ${e}`,s)}}async isDeliveryValid(e){try{return(await Y.get(`/external/deliveries/${e.id}/should-deliver`,{headers:this.headers})).data}catch(t){return this.logger.error(`Failed to get delivery should-deliver for delivery: ${e.id}`,t),!1}}}class Ls{logger;headers;sessionId;eventDefinitions=[];onPageView;onEvent;backlog=[];flushTimeout=null;batchConfig={enabled:!0,size:10,delayMs:1e4,sendOnUnload:!0};originalHistoryMethods=null;EVENT_PAGE_VIEW="page_view";constructor({logger:e,headers:t,sessionId:r,eventDefinitions:a,batchConfig:s,onPageView:i,onEvent:o}){this.logger=e,this.headers=t,this.sessionId=r,this.eventDefinitions=a,this.onPageView=i,this.onEvent=o,this.flushEvents=this.flushEvents.bind(this),this.handlePopState=this.handlePopState.bind(this),this.handleVisibilityChange=this.handleVisibilityChange.bind(this),this.setupBatching(s)}setupBatching(e){typeof e=="boolean"?this.batchConfig.enabled=e:e&&(this.batchConfig={...this.batchConfig,...e}),this.batchConfig.enabled&&this.batchConfig.sendOnUnload&&typeof window<"u"&&(window.addEventListener("beforeunload",this.flushEvents),window.addEventListener("pagehide",this.flushEvents))}async setupPageViewTracking(){if(typeof window>"u")return;this.originalHistoryMethods={pushState:history.pushState,replaceState:history.replaceState};const e=history.pushState;history.pushState=async(...r)=>{e.apply(history,r),await this.trackPageView()};const t=history.replaceState;history.replaceState=async(...r)=>{t.apply(history,r),await this.trackPageView()},window.addEventListener("popstate",this.handlePopState),document.addEventListener("visibilitychange",this.handleVisibilityChange)}async track(e){if(!this.sessionId){this.logger.warn("Tracking manager not initialized, cannot track event");return}const{eventKey:t,data:r={}}=e;this.logger.debug("Tracking event",{eventKey:t,data:r});const a=window.location.href,s={sessionId:this.sessionId,eventKey:t,data:r||{},timestamp:new Date().toISOString(),page:a};this.validateEvent(s),this.batchConfig.enabled?(this.backlog.push(s),this.scheduleFlush()):await this.sendEvents([s]),t===this.EVENT_PAGE_VIEW?this.onPageView?.(window.location.href):this.onEvent?.(s,a)}async trackPageView(){typeof window>"u"||await this.track({eventKey:this.EVENT_PAGE_VIEW,data:{title:document.title}})}async flush(){return this.flushEvents()}destroy(){this.originalHistoryMethods&&(history.pushState=this.originalHistoryMethods.pushState,history.replaceState=this.originalHistoryMethods.replaceState,this.originalHistoryMethods=null),typeof window<"u"&&(window.removeEventListener("popstate",this.handlePopState),document.removeEventListener("visibilitychange",this.handleVisibilityChange),window.removeEventListener("beforeunload",this.flushEvents),window.removeEventListener("pagehide",this.flushEvents)),this.flushTimeout&&(clearTimeout(this.flushTimeout),this.flushTimeout=null)}validateEvent(e){if(e.eventKey===this.EVENT_PAGE_VIEW)return;const t=this.eventDefinitions.find(s=>s.eventKey===e.eventKey);if(!t){this.logger.warn(`Event ${e.eventKey} is not registered`);return}const r=t.properties,a=e.data;if(a)for(const s of Object.keys(a)){const i=a[s],o=r.find(c=>c.name===s);if(!o){this.logger.warn(`Property ${s} is not registered for event ${e.eventKey}`);return}o.type==="string"&&typeof i!="string"&&this.logger.warn(`Property ${o.name} has type ${o.type} but value is of type ${typeof i}`),o.type==="boolean"&&typeof i!="boolean"&&this.logger.warn(`Property ${o.name} has type ${o.type} but value is of type ${typeof i}`),o.type==="number"&&typeof i!="number"&&this.logger.warn(`Property ${o.name} has type ${o.type} but value is of type ${typeof i}`)}}async handlePopState(){await this.trackPageView()}async handleVisibilityChange(){document.visibilityState==="visible"&&await this.trackPageView()}scheduleFlush(){if(this.backlog.length>=this.batchConfig.size){this.flushEvents();return}this.flushTimeout||(this.flushTimeout=window.setTimeout(()=>{this.flushEvents()},this.batchConfig.delayMs))}async flushEvents(){if(this.flushTimeout&&(clearTimeout(this.flushTimeout),this.flushTimeout=null),this.backlog.length===0)return;const e=[...this.backlog];this.backlog=[];try{await this.sendEvents(e)}catch(t){this.backlog.unshift(...e),this.logger.error("Failed to send batched events",t)}}async sendEvents(e){if(e.length!==0)if(e.length===1){const t=e[0];await Y.post("/external/trackings/track",t,{headers:this.headers})}else await Y.post("/external/trackings/batch",e,{headers:this.headers})}}class Ee{clientKey;userIdentifier;initialized=!1;clientLogger=Zt.child("client");headers={};formConfig;constructor(e){this.clientKey=e}trackingManager;async init({userIdentifier:e,debug:t=!1,batch:r,formConfig:a}){if(!e)throw new Error("userIdentifier is required parameter");this.userIdentifier=e,this.clientLogger.configure({enabled:t,level:t?"debug":"info"}),this.headers={"X-Client-Key":this.clientKey,"X-User-Id":this.userIdentifier},this.formConfig=a;try{const s=await this.initializeSession();await this.initializeManagers(s,r),this.initialized=!0,this.clientLogger.info("Nemme client initialized",{clientKey:this.clientKey,userIdentifier:this.userIdentifier})}catch(s){this.clientLogger.error("Error during initialization:",s)}return this}async flush(){return this.trackingManager?.flush()}destroy(){this.trackingManager?.destroy()}async track(e){if(!this.initialized||!this.trackingManager){this.clientLogger.warn("Nemme client not initialized, some operations may fail");return}return this.trackingManager.track(e)}async initializeSession(){try{const e=await Y.post("/external/trackings/initialize",{},{headers:this.headers});if(!e.ok)throw new Error(e.error?.message||"Request for initialising session failed");return e.data}catch(e){throw this.clientLogger.error("Error during initialization",e),e}}async initializeManagers(e,t){const r=new Es(this.clientLogger,this.headers,this.formConfig),a=new Ls({logger:this.clientLogger,headers:this.headers,sessionId:e.sessionId,eventDefinitions:e.eventDefinitions,batchConfig:t,onPageView:async s=>{await r.evaluateDeliveryTriggers({url:s})},onEvent:async(s,i)=>{await r.evaluateDeliveryTriggers({eventKey:s.eventKey,eventData:s.data,url:i})}});await r.loadDeliveries(),typeof window<"u"&&(await a.setupPageViewTracking(),await a.trackPageView(),await a.flush()),this.trackingManager=a}}const Gt=n=>new Ee(n),Yt=F.createContext(void 0),Fs=({clientKey:n,config:e,children:t})=>{const[r,a]=F.useState(null),[s,i]=F.useState(!1),[o,c]=F.useState(null);F.useEffect(()=>{let u=null,d=!1;const h=async()=>{try{const y=new Ee(n);if(await y.init(e),d){y.destroy();return}u=y,a(y),i(!0),c(null)}catch(y){d||(c(y instanceof Error?y.message:"Failed to initialize Nemme client"),i(!1))}};return a(null),i(!1),c(null),h(),()=>{d=!0,u&&u.destroy()}},[n,e]);const l={client:r,isInitialized:s,error:o};return k.jsx(Yt.Provider,{value:l,children:t})},Jt=()=>{const n=F.useContext(Yt);if(n===void 0)throw new Error("useNemmeContext must be used within a NemmeProvider");return n},As=()=>{const{client:n,isInitialized:e,error:t}=Jt(),r=F.useCallback(async s=>{if(!n||!e){console.warn("Nemme client not initialized");return}return n.track(s)},[n,e]),a=F.useCallback(async()=>{if(!n||!e){console.warn("Nemme client not initialized");return}return n.flush()},[n,e]);return{track:r,flush:a,isInitialized:e,error:t,client:n}},Os=n=>Gt(n),Ns=async n=>{const{clientKey:e,...t}=n;return await Gt(e).init(t)},ze=Object.assign(n=>Os(n),{NemmeClient:Ee,init:Ns});typeof window<"u"&&(window.NemmeSDK=ze);exports.NemmeClient=Ee;exports.NemmeProvider=Fs;exports.NemmeSDK=ze;exports.default=ze;exports.useNemme=As;exports.useNemmeContext=Jt;
|
|
38
|
+
`).map((i,o)=>k.jsx(X,{children:i.trim()},o))]}),a]}),r&&k.jsx("div",{className:"flex flex-col justify-center order-1 md:order-2",children:k.jsx("div",{className:"rounded-lg overflow-hidden mb-6 md:mb-0",children:k.jsx("img",{className:"w-full h-full object-cover aspect-video md:aspect-square",src:r,alt:"image"})})})]}),Gr=({title:n,icon:e,description:t,image:r,quitText:a,onQuit:s,externalLink:i})=>k.jsxs(Mt,{title:n,icon:e,description:t,image:r,children:[k.jsx("div",{className:"flex justify-end gap-2",children:i?k.jsx(J,{variant:"secondary",text:a,iconAfter:k.jsx(Ft,{}),onClick:()=>{window.open(i,"_blank"),s()}}):k.jsx(J,{variant:"secondary",onClick:s,text:a})}),i&&k.jsx(J,{className:"absolute -top-2 -right-2 md:-top-4 md:-right-4",variant:"secondary",size:"small",onClick:s,iconAfter:k.jsx(xe,{}),"aria-label":"quit"})]}),Yr=({title:n,icon:e,description:t,image:r,quitText:a,onQuit:s,startText:i,onStart:o})=>k.jsxs(Mt,{title:n,icon:e,description:t,image:r,wrapperClassName:"relative",children:[k.jsxs("div",{className:"flex justify-end gap-2",children:[s&&a&&k.jsx(J,{variant:"subtle",text:a,onClick:s}),k.jsx(J,{variant:"secondary",text:i,onClick:o})]}),s&&k.jsx(J,{className:"absolute top-0 right-1 md:top-1",variant:"subtle",size:"small",onClick:s,iconAfter:k.jsx(xe,{}),"aria-label":"quit"})]});let Bt={};function Jr(){return Bt}function Xr(n){Bt=n}const Qr={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},ea=(n,e,t)=>{let r;const a=Qr[n];return typeof a=="string"?r=a:e===1?r=a.one:r=a.other.replace("{{count}}",e.toString()),t?.addSuffix?t.comparison&&t.comparison>0?"in "+r:r+" ago":r};function Oe(n){return(e={})=>{const t=e.width?String(e.width):n.defaultWidth;return n.formats[t]||n.formats[n.defaultWidth]}}const ta={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},na=(n,e,t,r)=>ta[n];function oe(n){return(e,t)=>{const r=t?.context?String(t.context):"standalone";let a;if(r==="formatting"&&n.formattingValues){const i=n.defaultFormattingWidth||n.defaultWidth,o=t?.width?String(t.width):i;a=n.formattingValues[o]||n.formattingValues[i]}else{const i=n.defaultWidth,o=t?.width?String(t.width):n.defaultWidth;a=n.values[o]||n.values[i]}const s=n.argumentCallback?n.argumentCallback(e):e;return a[s]}}const ra={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},aa={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},sa={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},ia={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},oa={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},la={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},ca=(n,e)=>{const t=Number(n),r=t%100;if(r>20||r<10)switch(r%10){case 1:return t+"st";case 2:return t+"nd";case 3:return t+"rd"}return t+"th"},ua={ordinalNumber:ca,era:oe({values:ra,defaultWidth:"wide"}),quarter:oe({values:aa,defaultWidth:"wide",argumentCallback:n=>n-1}),month:oe({values:sa,defaultWidth:"wide"}),day:oe({values:ia,defaultWidth:"wide"}),dayPeriod:oe({values:oa,defaultWidth:"wide",formattingValues:la,defaultFormattingWidth:"wide"})};function le(n){return(e,t={})=>{const r=t.width,a=r&&n.matchPatterns[r]||n.matchPatterns[n.defaultMatchWidth],s=e.match(a);if(!s)return null;const i=s[0],o=r&&n.parsePatterns[r]||n.parsePatterns[n.defaultParseWidth],c=Array.isArray(o)?pa(o,d=>d.test(i)):da(o,d=>d.test(i));let l;l=n.valueCallback?n.valueCallback(c):c,l=t.valueCallback?t.valueCallback(l):l;const u=e.slice(i.length);return{value:l,rest:u}}}function da(n,e){for(const t in n)if(Object.prototype.hasOwnProperty.call(n,t)&&e(n[t]))return t}function pa(n,e){for(let t=0;t<n.length;t++)if(e(n[t]))return t}function ga(n){return(e,t={})=>{const r=e.match(n.matchPattern);if(!r)return null;const a=r[0],s=e.match(n.parsePattern);if(!s)return null;let i=n.valueCallback?n.valueCallback(s[0]):s[0];i=t.valueCallback?t.valueCallback(i):i;const o=e.slice(a.length);return{value:i,rest:o}}}const fa=/^(\d+)(th|st|nd|rd)?/i,ha=/\d+/i,ya={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},ma={any:[/^b/i,/^(a|c)/i]},ba={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},xa={any:[/1/i,/2/i,/3/i,/4/i]},wa={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},va={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},ka={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},Sa={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},Ea={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},La={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},Fa={ordinalNumber:ga({matchPattern:fa,parsePattern:ha,valueCallback:n=>parseInt(n,10)}),era:le({matchPatterns:ya,defaultMatchWidth:"wide",parsePatterns:ma,defaultParseWidth:"any"}),quarter:le({matchPatterns:ba,defaultMatchWidth:"wide",parsePatterns:xa,defaultParseWidth:"any",valueCallback:n=>n+1}),month:le({matchPatterns:wa,defaultMatchWidth:"wide",parsePatterns:va,defaultParseWidth:"any"}),day:le({matchPatterns:ka,defaultMatchWidth:"wide",parsePatterns:Sa,defaultParseWidth:"any"}),dayPeriod:le({matchPatterns:Ea,defaultMatchWidth:"any",parsePatterns:La,defaultParseWidth:"any"})};function Aa(n){const e={},t=Jr();for(const r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);for(const r in n)Object.prototype.hasOwnProperty.call(n,r)&&(n[r]===void 0?delete e[r]:e[r]=n[r]);Xr(e)}const Oa={full:"EEEE, d MMMM yyyy",long:"d MMMM yyyy",medium:"d MMM yyyy",short:"dd/MM/yyyy"},Na={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},Ta={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},Ra={date:Oe({formats:Oa,defaultWidth:"full"}),time:Oe({formats:Na,defaultWidth:"full"}),dateTime:Oe({formats:Ta,defaultWidth:"full"})},Ca={code:"en-GB",formatDistance:ea,formatLong:Ra,formatRelative:na,localize:ua,match:Fa,options:{weekStartsOn:1,firstWeekContainsDate:4}},L=n=>typeof n=="string",ce=()=>{let n,e;const t=new Promise((r,a)=>{n=r,e=a});return t.resolve=n,t.reject=e,t},tt=n=>n==null?"":""+n,Pa=(n,e,t)=>{n.forEach(r=>{e[r]&&(t[r]=e[r])})},$a=/###/g,nt=n=>n&&n.indexOf("###")>-1?n.replace($a,"."):n,rt=n=>!n||L(n),ue=(n,e,t)=>{const r=L(e)?e.split("."):e;let a=0;for(;a<r.length-1;){if(rt(n))return{};const s=nt(r[a]);!n[s]&&t&&(n[s]=new t),Object.prototype.hasOwnProperty.call(n,s)?n=n[s]:n={},++a}return rt(n)?{}:{obj:n,k:nt(r[a])}},at=(n,e,t)=>{const{obj:r,k:a}=ue(n,e,Object);if(r!==void 0||e.length===1){r[a]=t;return}let s=e[e.length-1],i=e.slice(0,e.length-1),o=ue(n,i,Object);for(;o.obj===void 0&&i.length;)s=`${i[i.length-1]}.${s}`,i=i.slice(0,i.length-1),o=ue(n,i,Object),o?.obj&&typeof o.obj[`${o.k}.${s}`]<"u"&&(o.obj=void 0);o.obj[`${o.k}.${s}`]=t},ja=(n,e,t,r)=>{const{obj:a,k:s}=ue(n,e,Object);a[s]=a[s]||[],a[s].push(t)},me=(n,e)=>{const{obj:t,k:r}=ue(n,e);if(t&&Object.prototype.hasOwnProperty.call(t,r))return t[r]},Ia=(n,e,t)=>{const r=me(n,t);return r!==void 0?r:me(e,t)},zt=(n,e,t)=>{for(const r in e)r!=="__proto__"&&r!=="constructor"&&(r in n?L(n[r])||n[r]instanceof String||L(e[r])||e[r]instanceof String?t&&(n[r]=e[r]):zt(n[r],e[r],t):n[r]=e[r]);return n},ne=n=>n.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");var Da={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};const _a=n=>L(n)?n.replace(/[&<>"'\/]/g,e=>Da[e]):n;class Ma{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){const t=this.regExpMap.get(e);if(t!==void 0)return t;const r=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,r),this.regExpQueue.push(e),r}}const Ba=[" ",",","?","!",";"],za=new Ma(20),Ua=(n,e,t)=>{e=e||"",t=t||"";const r=Ba.filter(i=>e.indexOf(i)<0&&t.indexOf(i)<0);if(r.length===0)return!0;const a=za.getRegExp(`(${r.map(i=>i==="?"?"\\?":i).join("|")})`);let s=!a.test(n);if(!s){const i=n.indexOf(t);i>0&&!a.test(n.substring(0,i))&&(s=!0)}return s},Pe=(n,e,t=".")=>{if(!n)return;if(n[e])return Object.prototype.hasOwnProperty.call(n,e)?n[e]:void 0;const r=e.split(t);let a=n;for(let s=0;s<r.length;){if(!a||typeof a!="object")return;let i,o="";for(let c=s;c<r.length;++c)if(c!==s&&(o+=t),o+=r[c],i=a[o],i!==void 0){if(["string","number","boolean"].indexOf(typeof i)>-1&&c<r.length-1)continue;s+=c-s+1;break}a=i}return a},de=n=>n?.replace("_","-"),Va={type:"logger",log(n){this.output("log",n)},warn(n){this.output("warn",n)},error(n){this.output("error",n)},output(n,e){console?.[n]?.apply?.(console,e)}};let Ha=class $e{constructor(e,t={}){this.init(e,t)}init(e,t={}){this.prefix=t.prefix||"i18next:",this.logger=e||Va,this.options=t,this.debug=t.debug}log(...e){return this.forward(e,"log","",!0)}warn(...e){return this.forward(e,"warn","",!0)}error(...e){return this.forward(e,"error","")}deprecate(...e){return this.forward(e,"warn","WARNING DEPRECATED: ",!0)}forward(e,t,r,a){return a&&!this.debug?null:(L(e[0])&&(e[0]=`${r}${this.prefix} ${e[0]}`),this.logger[t](e))}create(e){return new $e(this.logger,{prefix:`${this.prefix}:${e}:`,...this.options})}clone(e){return e=e||this.options,e.prefix=e.prefix||this.prefix,new $e(this.logger,e)}};var Z=new Ha;class Se{constructor(){this.observers={}}on(e,t){return e.split(" ").forEach(r=>{this.observers[r]||(this.observers[r]=new Map);const a=this.observers[r].get(t)||0;this.observers[r].set(t,a+1)}),this}off(e,t){if(this.observers[e]){if(!t){delete this.observers[e];return}this.observers[e].delete(t)}}emit(e,...t){this.observers[e]&&Array.from(this.observers[e].entries()).forEach(([a,s])=>{for(let i=0;i<s;i++)a(...t)}),this.observers["*"]&&Array.from(this.observers["*"].entries()).forEach(([a,s])=>{for(let i=0;i<s;i++)a.apply(a,[e,...t])})}}class st extends Se{constructor(e,t={ns:["translation"],defaultNS:"translation"}){super(),this.data=e||{},this.options=t,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(e){this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}removeNamespaces(e){const t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}getResource(e,t,r,a={}){const s=a.keySeparator!==void 0?a.keySeparator:this.options.keySeparator,i=a.ignoreJSONStructure!==void 0?a.ignoreJSONStructure:this.options.ignoreJSONStructure;let o;e.indexOf(".")>-1?o=e.split("."):(o=[e,t],r&&(Array.isArray(r)?o.push(...r):L(r)&&s?o.push(...r.split(s)):o.push(r)));const c=me(this.data,o);return!c&&!t&&!r&&e.indexOf(".")>-1&&(e=o[0],t=o[1],r=o.slice(2).join(".")),c||!i||!L(r)?c:Pe(this.data?.[e]?.[t],r,s)}addResource(e,t,r,a,s={silent:!1}){const i=s.keySeparator!==void 0?s.keySeparator:this.options.keySeparator;let o=[e,t];r&&(o=o.concat(i?r.split(i):r)),e.indexOf(".")>-1&&(o=e.split("."),a=t,t=o[1]),this.addNamespaces(t),at(this.data,o,a),s.silent||this.emit("added",e,t,r,a)}addResources(e,t,r,a={silent:!1}){for(const s in r)(L(r[s])||Array.isArray(r[s]))&&this.addResource(e,t,s,r[s],{silent:!0});a.silent||this.emit("added",e,t,r)}addResourceBundle(e,t,r,a,s,i={silent:!1,skipCopy:!1}){let o=[e,t];e.indexOf(".")>-1&&(o=e.split("."),a=r,r=t,t=o[1]),this.addNamespaces(t);let c=me(this.data,o)||{};i.skipCopy||(r=JSON.parse(JSON.stringify(r))),a?zt(c,r,s):c={...c,...r},at(this.data,o,c),i.silent||this.emit("added",e,t,r)}removeResourceBundle(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit("removed",e,t)}hasResourceBundle(e,t){return this.getResource(e,t)!==void 0}getResourceBundle(e,t){return t||(t=this.options.defaultNS),this.getResource(e,t)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){const t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find(a=>t[a]&&Object.keys(t[a]).length>0)}toJSON(){return this.data}}var Ut={processors:{},addPostProcessor(n){this.processors[n.name]=n},handle(n,e,t,r,a){return n.forEach(s=>{e=this.processors[s]?.process(e,t,r,a)??e}),e}};const Vt=Symbol("i18next/PATH_KEY");function qa(){const n=[],e=Object.create(null);let t;return e.get=(r,a)=>(t?.revoke?.(),a===Vt?n:(n.push(a),t=Proxy.revocable(r,e),t.proxy)),Proxy.revocable(Object.create(null),e).proxy}function je(n,e){const{[Vt]:t}=n(qa());return t.join(e?.keySeparator??".")}const it={},ot=n=>!L(n)&&typeof n!="boolean"&&typeof n!="number";class be extends Se{constructor(e,t={}){super(),Pa(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,this),this.options=t,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=Z.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e,t={interpolation:{}}){const r={...t};return e==null?!1:this.resolve(e,r)?.res!==void 0}extractFromKey(e,t){let r=t.nsSeparator!==void 0?t.nsSeparator:this.options.nsSeparator;r===void 0&&(r=":");const a=t.keySeparator!==void 0?t.keySeparator:this.options.keySeparator;let s=t.ns||this.options.defaultNS||[];const i=r&&e.indexOf(r)>-1,o=!this.options.userDefinedKeySeparator&&!t.keySeparator&&!this.options.userDefinedNsSeparator&&!t.nsSeparator&&!Ua(e,r,a);if(i&&!o){const c=e.match(this.interpolator.nestingRegexp);if(c&&c.length>0)return{key:e,namespaces:L(s)?[s]:s};const l=e.split(r);(r!==a||r===a&&this.options.ns.indexOf(l[0])>-1)&&(s=l.shift()),e=l.join(a)}return{key:e,namespaces:L(s)?[s]:s}}translate(e,t,r){let a=typeof t=="object"?{...t}:t;if(typeof a!="object"&&this.options.overloadTranslationOptionHandler&&(a=this.options.overloadTranslationOptionHandler(arguments)),typeof a=="object"&&(a={...a}),a||(a={}),e==null)return"";typeof e=="function"&&(e=je(e,{...this.options,...a})),Array.isArray(e)||(e=[String(e)]);const s=a.returnDetails!==void 0?a.returnDetails:this.options.returnDetails,i=a.keySeparator!==void 0?a.keySeparator:this.options.keySeparator,{key:o,namespaces:c}=this.extractFromKey(e[e.length-1],a),l=c[c.length-1];let u=a.nsSeparator!==void 0?a.nsSeparator:this.options.nsSeparator;u===void 0&&(u=":");const d=a.lng||this.language,h=a.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(d?.toLowerCase()==="cimode")return h?s?{res:`${l}${u}${o}`,usedKey:o,exactUsedKey:o,usedLng:d,usedNS:l,usedParams:this.getUsedParamsDetails(a)}:`${l}${u}${o}`:s?{res:o,usedKey:o,exactUsedKey:o,usedLng:d,usedNS:l,usedParams:this.getUsedParamsDetails(a)}:o;const y=this.resolve(e,a);let p=y?.res;const g=y?.usedKey||o,f=y?.exactUsedKey||o,x=["[object Number]","[object Function]","[object RegExp]"],b=a.joinArrays!==void 0?a.joinArrays:this.options.joinArrays,w=!this.i18nFormat||this.i18nFormat.handleAsObject,S=a.count!==void 0&&!L(a.count),E=be.hasDefaultValue(a),O=S?this.pluralResolver.getSuffix(d,a.count,a):"",A=a.ordinal&&S?this.pluralResolver.getSuffix(d,a.count,{ordinal:!1}):"",P=S&&!a.ordinal&&a.count===0,T=P&&a[`defaultValue${this.options.pluralSeparator}zero`]||a[`defaultValue${O}`]||a[`defaultValue${A}`]||a.defaultValue;let R=p;w&&!p&&E&&(R=T);const H=ot(R),U=Object.prototype.toString.apply(R);if(w&&R&&H&&x.indexOf(U)<0&&!(L(b)&&Array.isArray(R))){if(!a.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const _=this.options.returnedObjectHandler?this.options.returnedObjectHandler(g,R,{...a,ns:c}):`key '${o} (${this.language})' returned an object instead of string.`;return s?(y.res=_,y.usedParams=this.getUsedParamsDetails(a),y):_}if(i){const _=Array.isArray(R),N=_?[]:{},M=_?f:g;for(const $ in R)if(Object.prototype.hasOwnProperty.call(R,$)){const D=`${M}${i}${$}`;E&&!p?N[$]=this.translate(D,{...a,defaultValue:ot(T)?T[$]:void 0,joinArrays:!1,ns:c}):N[$]=this.translate(D,{...a,joinArrays:!1,ns:c}),N[$]===D&&(N[$]=R[$])}p=N}}else if(w&&L(b)&&Array.isArray(p))p=p.join(b),p&&(p=this.extendTranslation(p,e,a,r));else{let _=!1,N=!1;!this.isValidLookup(p)&&E&&(_=!0,p=T),this.isValidLookup(p)||(N=!0,p=o);const $=(a.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&N?void 0:p,D=E&&T!==p&&this.options.updateMissing;if(N||_||D){if(this.logger.log(D?"updateKey":"missingKey",d,l,o,D?T:p),i){const C=this.resolve(o,{...a,keySeparator:!1});C&&C.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.")}let j=[];const ee=this.languageUtils.getFallbackCodes(this.options.fallbackLng,a.lng||this.language);if(this.options.saveMissingTo==="fallback"&&ee&&ee[0])for(let C=0;C<ee.length;C++)j.push(ee[C]);else this.options.saveMissingTo==="all"?j=this.languageUtils.toResolveHierarchy(a.lng||this.language):j.push(a.lng||this.language);const q=(C,V,W)=>{const te=E&&W!==p?W:$;this.options.missingKeyHandler?this.options.missingKeyHandler(C,l,V,te,D,a):this.backendConnector?.saveMissing&&this.backendConnector.saveMissing(C,l,V,te,D,a),this.emit("missingKey",C,l,V,p)};this.options.saveMissing&&(this.options.saveMissingPlurals&&S?j.forEach(C=>{const V=this.pluralResolver.getSuffixes(C,a);P&&a[`defaultValue${this.options.pluralSeparator}zero`]&&V.indexOf(`${this.options.pluralSeparator}zero`)<0&&V.push(`${this.options.pluralSeparator}zero`),V.forEach(W=>{q([C],o+W,a[`defaultValue${W}`]||T)})}):q(j,o,T))}p=this.extendTranslation(p,e,a,y,r),N&&p===o&&this.options.appendNamespaceToMissingKey&&(p=`${l}${u}${o}`),(N||_)&&this.options.parseMissingKeyHandler&&(p=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}${u}${o}`:o,_?p:void 0,a))}return s?(y.res=p,y.usedParams=this.getUsedParamsDetails(a),y):p}extendTranslation(e,t,r,a,s){if(this.i18nFormat?.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...r},r.lng||this.language||a.usedLng,a.usedNS,a.usedKey,{resolved:a});else if(!r.skipInterpolation){r.interpolation&&this.interpolator.init({...r,interpolation:{...this.options.interpolation,...r.interpolation}});const c=L(e)&&(r?.interpolation?.skipOnVariables!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let l;if(c){const d=e.match(this.interpolator.nestingRegexp);l=d&&d.length}let u=r.replace&&!L(r.replace)?r.replace:r;if(this.options.interpolation.defaultVariables&&(u={...this.options.interpolation.defaultVariables,...u}),e=this.interpolator.interpolate(e,u,r.lng||this.language||a.usedLng,r),c){const d=e.match(this.interpolator.nestingRegexp),h=d&&d.length;l<h&&(r.nest=!1)}!r.lng&&a&&a.res&&(r.lng=this.language||a.usedLng),r.nest!==!1&&(e=this.interpolator.nest(e,(...d)=>s?.[0]===d[0]&&!r.context?(this.logger.warn(`It seems you are nesting recursively key: ${d[0]} in key: ${t[0]}`),null):this.translate(...d,t),r)),r.interpolation&&this.interpolator.reset()}const i=r.postProcess||this.options.postProcess,o=L(i)?[i]:i;return e!=null&&o?.length&&r.applyPostProcessor!==!1&&(e=Ut.handle(o,e,t,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...a,usedParams:this.getUsedParamsDetails(r)},...r}:r,this)),e}resolve(e,t={}){let r,a,s,i,o;return L(e)&&(e=[e]),e.forEach(c=>{if(this.isValidLookup(r))return;const l=this.extractFromKey(c,t),u=l.key;a=u;let d=l.namespaces;this.options.fallbackNS&&(d=d.concat(this.options.fallbackNS));const h=t.count!==void 0&&!L(t.count),y=h&&!t.ordinal&&t.count===0,p=t.context!==void 0&&(L(t.context)||typeof t.context=="number")&&t.context!=="",g=t.lngs?t.lngs:this.languageUtils.toResolveHierarchy(t.lng||this.language,t.fallbackLng);d.forEach(f=>{this.isValidLookup(r)||(o=f,!it[`${g[0]}-${f}`]&&this.utils?.hasLoadedNamespace&&!this.utils?.hasLoadedNamespace(o)&&(it[`${g[0]}-${f}`]=!0,this.logger.warn(`key "${a}" for languages "${g.join(", ")}" won't get resolved as namespace "${o}" 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!!!")),g.forEach(x=>{if(this.isValidLookup(r))return;i=x;const b=[u];if(this.i18nFormat?.addLookupKeys)this.i18nFormat.addLookupKeys(b,u,x,f,t);else{let S;h&&(S=this.pluralResolver.getSuffix(x,t.count,t));const E=`${this.options.pluralSeparator}zero`,O=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(h&&(t.ordinal&&S.indexOf(O)===0&&b.push(u+S.replace(O,this.options.pluralSeparator)),b.push(u+S),y&&b.push(u+E)),p){const A=`${u}${this.options.contextSeparator||"_"}${t.context}`;b.push(A),h&&(t.ordinal&&S.indexOf(O)===0&&b.push(A+S.replace(O,this.options.pluralSeparator)),b.push(A+S),y&&b.push(A+E))}}let w;for(;w=b.pop();)this.isValidLookup(r)||(s=w,r=this.getResource(x,f,w,t))}))})}),{res:r,usedKey:a,exactUsedKey:s,usedLng:i,usedNS:o}}isValidLookup(e){return e!==void 0&&!(!this.options.returnNull&&e===null)&&!(!this.options.returnEmptyString&&e==="")}getResource(e,t,r,a={}){return this.i18nFormat?.getResource?this.i18nFormat.getResource(e,t,r,a):this.resourceStore.getResource(e,t,r,a)}getUsedParamsDetails(e={}){const t=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],r=e.replace&&!L(e.replace);let a=r?e.replace:e;if(r&&typeof e.count<"u"&&(a.count=e.count),this.options.interpolation.defaultVariables&&(a={...this.options.interpolation.defaultVariables,...a}),!r){a={...a};for(const s of t)delete a[s]}return a}static hasDefaultValue(e){const t="defaultValue";for(const r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&t===r.substring(0,t.length)&&e[r]!==void 0)return!0;return!1}}class lt{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=Z.create("languageUtils")}getScriptPartFromCode(e){if(e=de(e),!e||e.indexOf("-")<0)return null;const t=e.split("-");return t.length===2||(t.pop(),t[t.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(t.join("-"))}getLanguagePartFromCode(e){if(e=de(e),!e||e.indexOf("-")<0)return e;const t=e.split("-");return this.formatLanguageCode(t[0])}formatLanguageCode(e){if(L(e)&&e.indexOf("-")>-1){let t;try{t=Intl.getCanonicalLocales(e)[0]}catch{}return t&&this.options.lowerCaseLng&&(t=t.toLowerCase()),t||(this.options.lowerCaseLng?e.toLowerCase():e)}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}isSupportedCode(e){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}getBestMatchFromCodes(e){if(!e)return null;let t;return e.forEach(r=>{if(t)return;const a=this.formatLanguageCode(r);(!this.options.supportedLngs||this.isSupportedCode(a))&&(t=a)}),!t&&this.options.supportedLngs&&e.forEach(r=>{if(t)return;const a=this.getScriptPartFromCode(r);if(this.isSupportedCode(a))return t=a;const s=this.getLanguagePartFromCode(r);if(this.isSupportedCode(s))return t=s;t=this.options.supportedLngs.find(i=>{if(i===s)return i;if(!(i.indexOf("-")<0&&s.indexOf("-")<0)&&(i.indexOf("-")>0&&s.indexOf("-")<0&&i.substring(0,i.indexOf("-"))===s||i.indexOf(s)===0&&s.length>1))return i})}),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t}getFallbackCodes(e,t){if(!e)return[];if(typeof e=="function"&&(e=e(t)),L(e)&&(e=[e]),Array.isArray(e))return e;if(!t)return e.default||[];let r=e[t];return r||(r=e[this.getScriptPartFromCode(t)]),r||(r=e[this.formatLanguageCode(t)]),r||(r=e[this.getLanguagePartFromCode(t)]),r||(r=e.default),r||[]}toResolveHierarchy(e,t){const r=this.getFallbackCodes((t===!1?[]:t)||this.options.fallbackLng||[],e),a=[],s=i=>{i&&(this.isSupportedCode(i)?a.push(i):this.logger.warn(`rejecting language code not found in supportedLngs: ${i}`))};return L(e)&&(e.indexOf("-")>-1||e.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&s(this.formatLanguageCode(e)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&s(this.getScriptPartFromCode(e)),this.options.load!=="currentOnly"&&s(this.getLanguagePartFromCode(e))):L(e)&&s(this.formatLanguageCode(e)),r.forEach(i=>{a.indexOf(i)<0&&s(this.formatLanguageCode(i))}),a}}const ct={zero:0,one:1,two:2,few:3,many:4,other:5},ut={select:n=>n===1?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})};class Ka{constructor(e,t={}){this.languageUtils=e,this.options=t,this.logger=Z.create("pluralResolver"),this.pluralRulesCache={}}addRule(e,t){this.rules[e]=t}clearCache(){this.pluralRulesCache={}}getRule(e,t={}){const r=de(e==="dev"?"en":e),a=t.ordinal?"ordinal":"cardinal",s=JSON.stringify({cleanedCode:r,type:a});if(s in this.pluralRulesCache)return this.pluralRulesCache[s];let i;try{i=new Intl.PluralRules(r,{type:a})}catch{if(!Intl)return this.logger.error("No Intl support, please use an Intl polyfill!"),ut;if(!e.match(/-|_/))return ut;const c=this.languageUtils.getLanguagePartFromCode(e);i=this.getRule(c,t)}return this.pluralRulesCache[s]=i,i}needsPlural(e,t={}){let r=this.getRule(e,t);return r||(r=this.getRule("dev",t)),r?.resolvedOptions().pluralCategories.length>1}getPluralFormsOfKey(e,t,r={}){return this.getSuffixes(e,r).map(a=>`${t}${a}`)}getSuffixes(e,t={}){let r=this.getRule(e,t);return r||(r=this.getRule("dev",t)),r?r.resolvedOptions().pluralCategories.sort((a,s)=>ct[a]-ct[s]).map(a=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:""}${a}`):[]}getSuffix(e,t,r={}){const a=this.getRule(e,r);return a?`${this.options.prepend}${r.ordinal?`ordinal${this.options.prepend}`:""}${a.select(t)}`:(this.logger.warn(`no plural rule found for: ${e}`),this.getSuffix("dev",t,r))}}const dt=(n,e,t,r=".",a=!0)=>{let s=Ia(n,e,t);return!s&&a&&L(t)&&(s=Pe(n,t,r),s===void 0&&(s=Pe(e,t,r))),s},Ne=n=>n.replace(/\$/g,"$$$$");class Wa{constructor(e={}){this.logger=Z.create("interpolator"),this.options=e,this.format=e?.interpolation?.format||(t=>t),this.init(e)}init(e={}){e.interpolation||(e.interpolation={escapeValue:!0});const{escape:t,escapeValue:r,useRawValueToEscape:a,prefix:s,prefixEscaped:i,suffix:o,suffixEscaped:c,formatSeparator:l,unescapeSuffix:u,unescapePrefix:d,nestingPrefix:h,nestingPrefixEscaped:y,nestingSuffix:p,nestingSuffixEscaped:g,nestingOptionsSeparator:f,maxReplaces:x,alwaysFormat:b}=e.interpolation;this.escape=t!==void 0?t:_a,this.escapeValue=r!==void 0?r:!0,this.useRawValueToEscape=a!==void 0?a:!1,this.prefix=s?ne(s):i||"{{",this.suffix=o?ne(o):c||"}}",this.formatSeparator=l||",",this.unescapePrefix=u?"":d||"-",this.unescapeSuffix=this.unescapePrefix?"":u||"",this.nestingPrefix=h?ne(h):y||ne("$t("),this.nestingSuffix=p?ne(p):g||ne(")"),this.nestingOptionsSeparator=f||",",this.maxReplaces=x||1e3,this.alwaysFormat=b!==void 0?b:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const e=(t,r)=>t?.source===r?(t.lastIndex=0,t):new RegExp(r,"g");this.regexp=e(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=e(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=e(this.nestingRegexp,`${this.nestingPrefix}((?:[^()"']+|"[^"]*"|'[^']*'|\\((?:[^()]|"[^"]*"|'[^']*')*\\))*?)${this.nestingSuffix}`)}interpolate(e,t,r,a){let s,i,o;const c=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},l=y=>{if(y.indexOf(this.formatSeparator)<0){const x=dt(t,c,y,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(x,void 0,r,{...a,...t,interpolationkey:y}):x}const p=y.split(this.formatSeparator),g=p.shift().trim(),f=p.join(this.formatSeparator).trim();return this.format(dt(t,c,g,this.options.keySeparator,this.options.ignoreJSONStructure),f,r,{...a,...t,interpolationkey:g})};this.resetRegExp();const u=a?.missingInterpolationHandler||this.options.missingInterpolationHandler,d=a?.interpolation?.skipOnVariables!==void 0?a.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:y=>Ne(y)},{regex:this.regexp,safeValue:y=>this.escapeValue?Ne(this.escape(y)):Ne(y)}].forEach(y=>{for(o=0;s=y.regex.exec(e);){const p=s[1].trim();if(i=l(p),i===void 0)if(typeof u=="function"){const f=u(e,s,a);i=L(f)?f:""}else if(a&&Object.prototype.hasOwnProperty.call(a,p))i="";else if(d){i=s[0];continue}else this.logger.warn(`missed to pass in variable ${p} for interpolating ${e}`),i="";else!L(i)&&!this.useRawValueToEscape&&(i=tt(i));const g=y.safeValue(i);if(e=e.replace(s[0],g),d?(y.regex.lastIndex+=i.length,y.regex.lastIndex-=s[0].length):y.regex.lastIndex=0,o++,o>=this.maxReplaces)break}}),e}nest(e,t,r={}){let a,s,i;const o=(c,l)=>{const u=this.nestingOptionsSeparator;if(c.indexOf(u)<0)return c;const d=c.split(new RegExp(`${u}[ ]*{`));let h=`{${d[1]}`;c=d[0],h=this.interpolate(h,i);const y=h.match(/'/g),p=h.match(/"/g);((y?.length??0)%2===0&&!p||p.length%2!==0)&&(h=h.replace(/'/g,'"'));try{i=JSON.parse(h),l&&(i={...l,...i})}catch(g){return this.logger.warn(`failed parsing options string in nesting for key ${c}`,g),`${c}${u}${h}`}return i.defaultValue&&i.defaultValue.indexOf(this.prefix)>-1&&delete i.defaultValue,c};for(;a=this.nestingRegexp.exec(e);){let c=[];i={...r},i=i.replace&&!L(i.replace)?i.replace:i,i.applyPostProcessor=!1,delete i.defaultValue;const l=/{.*}/.test(a[1])?a[1].lastIndexOf("}")+1:a[1].indexOf(this.formatSeparator);if(l!==-1&&(c=a[1].slice(l).split(this.formatSeparator).map(u=>u.trim()).filter(Boolean),a[1]=a[1].slice(0,l)),s=t(o.call(this,a[1].trim(),i),i),s&&a[0]===e&&!L(s))return s;L(s)||(s=tt(s)),s||(this.logger.warn(`missed to resolve ${a[1]} for nesting ${e}`),s=""),c.length&&(s=c.reduce((u,d)=>this.format(u,d,r.lng,{...r,interpolationkey:a[1].trim()}),s.trim())),e=e.replace(a[0],s),this.regexp.lastIndex=0}return e}}const Za=n=>{let e=n.toLowerCase().trim();const t={};if(n.indexOf("(")>-1){const r=n.split("(");e=r[0].toLowerCase().trim();const a=r[1].substring(0,r[1].length-1);e==="currency"&&a.indexOf(":")<0?t.currency||(t.currency=a.trim()):e==="relativetime"&&a.indexOf(":")<0?t.range||(t.range=a.trim()):a.split(";").forEach(i=>{if(i){const[o,...c]=i.split(":"),l=c.join(":").trim().replace(/^'+|'+$/g,""),u=o.trim();t[u]||(t[u]=l),l==="false"&&(t[u]=!1),l==="true"&&(t[u]=!0),isNaN(l)||(t[u]=parseInt(l,10))}})}return{formatName:e,formatOptions:t}},pt=n=>{const e={};return(t,r,a)=>{let s=a;a&&a.interpolationkey&&a.formatParams&&a.formatParams[a.interpolationkey]&&a[a.interpolationkey]&&(s={...s,[a.interpolationkey]:void 0});const i=r+JSON.stringify(s);let o=e[i];return o||(o=n(de(r),a),e[i]=o),o(t)}},Ga=n=>(e,t,r)=>n(de(t),r)(e);class Ya{constructor(e={}){this.logger=Z.create("formatter"),this.options=e,this.init(e)}init(e,t={interpolation:{}}){this.formatSeparator=t.interpolation.formatSeparator||",";const r=t.cacheInBuiltFormats?pt:Ga;this.formats={number:r((a,s)=>{const i=new Intl.NumberFormat(a,{...s});return o=>i.format(o)}),currency:r((a,s)=>{const i=new Intl.NumberFormat(a,{...s,style:"currency"});return o=>i.format(o)}),datetime:r((a,s)=>{const i=new Intl.DateTimeFormat(a,{...s});return o=>i.format(o)}),relativetime:r((a,s)=>{const i=new Intl.RelativeTimeFormat(a,{...s});return o=>i.format(o,s.range||"day")}),list:r((a,s)=>{const i=new Intl.ListFormat(a,{...s});return o=>i.format(o)})}}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=pt(t)}format(e,t,r,a={}){const s=t.split(this.formatSeparator);if(s.length>1&&s[0].indexOf("(")>1&&s[0].indexOf(")")<0&&s.find(o=>o.indexOf(")")>-1)){const o=s.findIndex(c=>c.indexOf(")")>-1);s[0]=[s[0],...s.splice(1,o)].join(this.formatSeparator)}return s.reduce((o,c)=>{const{formatName:l,formatOptions:u}=Za(c);if(this.formats[l]){let d=o;try{const h=a?.formatParams?.[a.interpolationkey]||{},y=h.locale||h.lng||a.locale||a.lng||r;d=this.formats[l](o,y,{...u,...a,...h})}catch(h){this.logger.warn(h)}return d}else this.logger.warn(`there was no format function for ${l}`);return o},e)}}const Ja=(n,e)=>{n.pending[e]!==void 0&&(delete n.pending[e],n.pendingCount--)};class Xa extends Se{constructor(e,t,r,a={}){super(),this.backend=e,this.store=t,this.services=r,this.languageUtils=r.languageUtils,this.options=a,this.logger=Z.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=a.maxParallelReads||10,this.readingCalls=0,this.maxRetries=a.maxRetries>=0?a.maxRetries:5,this.retryTimeout=a.retryTimeout>=1?a.retryTimeout:350,this.state={},this.queue=[],this.backend?.init?.(r,a.backend,a)}queueLoad(e,t,r,a){const s={},i={},o={},c={};return e.forEach(l=>{let u=!0;t.forEach(d=>{const h=`${l}|${d}`;!r.reload&&this.store.hasResourceBundle(l,d)?this.state[h]=2:this.state[h]<0||(this.state[h]===1?i[h]===void 0&&(i[h]=!0):(this.state[h]=1,u=!1,i[h]===void 0&&(i[h]=!0),s[h]===void 0&&(s[h]=!0),c[d]===void 0&&(c[d]=!0)))}),u||(o[l]=!0)}),(Object.keys(s).length||Object.keys(i).length)&&this.queue.push({pending:i,pendingCount:Object.keys(i).length,loaded:{},errors:[],callback:a}),{toLoad:Object.keys(s),pending:Object.keys(i),toLoadLanguages:Object.keys(o),toLoadNamespaces:Object.keys(c)}}loaded(e,t,r){const a=e.split("|"),s=a[0],i=a[1];t&&this.emit("failedLoading",s,i,t),!t&&r&&this.store.addResourceBundle(s,i,r,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2,t&&r&&(this.state[e]=0);const o={};this.queue.forEach(c=>{ja(c.loaded,[s],i),Ja(c,e),t&&c.errors.push(t),c.pendingCount===0&&!c.done&&(Object.keys(c.loaded).forEach(l=>{o[l]||(o[l]={});const u=c.loaded[l];u.length&&u.forEach(d=>{o[l][d]===void 0&&(o[l][d]=!0)})}),c.done=!0,c.errors.length?c.callback(c.errors):c.callback())}),this.emit("loaded",o),this.queue=this.queue.filter(c=>!c.done)}read(e,t,r,a=0,s=this.retryTimeout,i){if(!e.length)return i(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:e,ns:t,fcName:r,tried:a,wait:s,callback:i});return}this.readingCalls++;const o=(l,u)=>{if(this.readingCalls--,this.waitingReads.length>0){const d=this.waitingReads.shift();this.read(d.lng,d.ns,d.fcName,d.tried,d.wait,d.callback)}if(l&&u&&a<this.maxRetries){setTimeout(()=>{this.read.call(this,e,t,r,a+1,s*2,i)},s);return}i(l,u)},c=this.backend[r].bind(this.backend);if(c.length===2){try{const l=c(e,t);l&&typeof l.then=="function"?l.then(u=>o(null,u)).catch(o):o(null,l)}catch(l){o(l)}return}return c(e,t,o)}prepareLoading(e,t,r={},a){if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),a&&a();L(e)&&(e=this.languageUtils.toResolveHierarchy(e)),L(t)&&(t=[t]);const s=this.queueLoad(e,t,r,a);if(!s.toLoad.length)return s.pending.length||a(),null;s.toLoad.forEach(i=>{this.loadOne(i)})}load(e,t,r){this.prepareLoading(e,t,{},r)}reload(e,t,r){this.prepareLoading(e,t,{reload:!0},r)}loadOne(e,t=""){const r=e.split("|"),a=r[0],s=r[1];this.read(a,s,"read",void 0,void 0,(i,o)=>{i&&this.logger.warn(`${t}loading namespace ${s} for language ${a} failed`,i),!i&&o&&this.logger.log(`${t}loaded namespace ${s} for language ${a}`,o),this.loaded(e,i,o)})}saveMissing(e,t,r,a,s,i={},o=()=>{}){if(this.services?.utils?.hasLoadedNamespace&&!this.services?.utils?.hasLoadedNamespace(t)){this.logger.warn(`did not save key "${r}" as the namespace "${t}" 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!!!");return}if(!(r==null||r==="")){if(this.backend?.create){const c={...i,isUpdate:s},l=this.backend.create.bind(this.backend);if(l.length<6)try{let u;l.length===5?u=l(e,t,r,a,c):u=l(e,t,r,a),u&&typeof u.then=="function"?u.then(d=>o(null,d)).catch(o):o(null,u)}catch(u){o(u)}else l(e,t,r,a,o,c)}!e||!e[0]||this.store.addResource(e[0],t,r,a)}}}const gt=()=>({debug:!1,initAsync:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:n=>{let e={};if(typeof n[1]=="object"&&(e=n[1]),L(n[1])&&(e.defaultValue=n[1]),L(n[2])&&(e.tDescription=n[2]),typeof n[2]=="object"||typeof n[3]=="object"){const t=n[3]||n[2];Object.keys(t).forEach(r=>{e[r]=t[r]})}return e},interpolation:{escapeValue:!0,format:n=>n,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0},cacheInBuiltFormats:!0}),ft=n=>(L(n.ns)&&(n.ns=[n.ns]),L(n.fallbackLng)&&(n.fallbackLng=[n.fallbackLng]),L(n.fallbackNS)&&(n.fallbackNS=[n.fallbackNS]),n.supportedLngs?.indexOf?.("cimode")<0&&(n.supportedLngs=n.supportedLngs.concat(["cimode"])),typeof n.initImmediate=="boolean"&&(n.initAsync=n.initImmediate),n),he=()=>{},Qa=n=>{Object.getOwnPropertyNames(Object.getPrototypeOf(n)).forEach(t=>{typeof n[t]=="function"&&(n[t]=n[t].bind(n))})};class pe extends Se{constructor(e={},t){if(super(),this.options=ft(e),this.services={},this.logger=Z,this.modules={external:[]},Qa(this),t&&!this.isInitialized&&!e.isClone){if(!this.options.initAsync)return this.init(e,t),this;setTimeout(()=>{this.init(e,t)},0)}}init(e={},t){this.isInitializing=!0,typeof e=="function"&&(t=e,e={}),e.defaultNS==null&&e.ns&&(L(e.ns)?e.defaultNS=e.ns:e.ns.indexOf("translation")<0&&(e.defaultNS=e.ns[0]));const r=gt();this.options={...r,...this.options,...ft(e)},this.options.interpolation={...r.interpolation,...this.options.interpolation},e.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=e.keySeparator),e.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=e.nsSeparator);const a=l=>l?typeof l=="function"?new l:l:null;if(!this.options.isClone){this.modules.logger?Z.init(a(this.modules.logger),this.options):Z.init(null,this.options);let l;this.modules.formatter?l=this.modules.formatter:l=Ya;const u=new lt(this.options);this.store=new st(this.options.resources,this.options);const d=this.services;d.logger=Z,d.resourceStore=this.store,d.languageUtils=u,d.pluralResolver=new Ka(u,{prepend:this.options.pluralSeparator,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),this.options.interpolation.format&&this.options.interpolation.format!==r.interpolation.format&&this.logger.deprecate("init: you are still using the legacy format function, please use the new approach: https://www.i18next.com/translation-function/formatting"),l&&(!this.options.interpolation.format||this.options.interpolation.format===r.interpolation.format)&&(d.formatter=a(l),d.formatter.init&&d.formatter.init(d,this.options),this.options.interpolation.format=d.formatter.format.bind(d.formatter)),d.interpolator=new Wa(this.options),d.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},d.backendConnector=new Xa(a(this.modules.backend),d.resourceStore,d,this.options),d.backendConnector.on("*",(y,...p)=>{this.emit(y,...p)}),this.modules.languageDetector&&(d.languageDetector=a(this.modules.languageDetector),d.languageDetector.init&&d.languageDetector.init(d,this.options.detection,this.options)),this.modules.i18nFormat&&(d.i18nFormat=a(this.modules.i18nFormat),d.i18nFormat.init&&d.i18nFormat.init(this)),this.translator=new be(this.services,this.options),this.translator.on("*",(y,...p)=>{this.emit(y,...p)}),this.modules.external.forEach(y=>{y.init&&y.init(this)})}if(this.format=this.options.interpolation.format,t||(t=he),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const l=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);l.length>0&&l[0]!=="dev"&&(this.options.lng=l[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(l=>{this[l]=(...u)=>this.store[l](...u)}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(l=>{this[l]=(...u)=>(this.store[l](...u),this)});const o=ce(),c=()=>{const l=(u,d)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),o.resolve(d),t(u,d)};if(this.languages&&!this.isInitialized)return l(null,this.t.bind(this));this.changeLanguage(this.options.lng,l)};return this.options.resources||!this.options.initAsync?c():setTimeout(c,0),o}loadResources(e,t=he){let r=t;const a=L(e)?e:this.language;if(typeof e=="function"&&(r=e),!this.options.resources||this.options.partialBundledLanguages){if(a?.toLowerCase()==="cimode"&&(!this.options.preload||this.options.preload.length===0))return r();const s=[],i=o=>{if(!o||o==="cimode")return;this.services.languageUtils.toResolveHierarchy(o).forEach(l=>{l!=="cimode"&&s.indexOf(l)<0&&s.push(l)})};a?i(a):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(c=>i(c)),this.options.preload?.forEach?.(o=>i(o)),this.services.backendConnector.load(s,this.options.ns,o=>{!o&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),r(o)})}else r(null)}reloadResources(e,t,r){const a=ce();return typeof e=="function"&&(r=e,e=void 0),typeof t=="function"&&(r=t,t=void 0),e||(e=this.languages),t||(t=this.options.ns),r||(r=he),this.services.backendConnector.reload(e,t,s=>{a.resolve(),r(s)}),a}use(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return e.type==="backend"&&(this.modules.backend=e),(e.type==="logger"||e.log&&e.warn&&e.error)&&(this.modules.logger=e),e.type==="languageDetector"&&(this.modules.languageDetector=e),e.type==="i18nFormat"&&(this.modules.i18nFormat=e),e.type==="postProcessor"&&Ut.addPostProcessor(e),e.type==="formatter"&&(this.modules.formatter=e),e.type==="3rdParty"&&this.modules.external.push(e),this}setResolvedLanguage(e){if(!(!e||!this.languages)&&!(["cimode","dev"].indexOf(e)>-1)){for(let t=0;t<this.languages.length;t++){const r=this.languages[t];if(!(["cimode","dev"].indexOf(r)>-1)&&this.store.hasLanguageSomeTranslations(r)){this.resolvedLanguage=r;break}}!this.resolvedLanguage&&this.languages.indexOf(e)<0&&this.store.hasLanguageSomeTranslations(e)&&(this.resolvedLanguage=e,this.languages.unshift(e))}}changeLanguage(e,t){this.isLanguageChangingTo=e;const r=ce();this.emit("languageChanging",e);const a=o=>{this.language=o,this.languages=this.services.languageUtils.toResolveHierarchy(o),this.resolvedLanguage=void 0,this.setResolvedLanguage(o)},s=(o,c)=>{c?this.isLanguageChangingTo===e&&(a(c),this.translator.changeLanguage(c),this.isLanguageChangingTo=void 0,this.emit("languageChanged",c),this.logger.log("languageChanged",c)):this.isLanguageChangingTo=void 0,r.resolve((...l)=>this.t(...l)),t&&t(o,(...l)=>this.t(...l))},i=o=>{!e&&!o&&this.services.languageDetector&&(o=[]);const c=L(o)?o:o&&o[0],l=this.store.hasLanguageSomeTranslations(c)?c:this.services.languageUtils.getBestMatchFromCodes(L(o)?[o]:o);l&&(this.language||a(l),this.translator.language||this.translator.changeLanguage(l),this.services.languageDetector?.cacheUserLanguage?.(l)),this.loadResources(l,u=>{s(u,l)})};return!e&&this.services.languageDetector&&!this.services.languageDetector.async?i(this.services.languageDetector.detect()):!e&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(i):this.services.languageDetector.detect(i):i(e),r}getFixedT(e,t,r){const a=(s,i,...o)=>{let c;typeof i!="object"?c=this.options.overloadTranslationOptionHandler([s,i].concat(o)):c={...i},c.lng=c.lng||a.lng,c.lngs=c.lngs||a.lngs,c.ns=c.ns||a.ns,c.keyPrefix!==""&&(c.keyPrefix=c.keyPrefix||r||a.keyPrefix);const l=this.options.keySeparator||".";let u;return c.keyPrefix&&Array.isArray(s)?u=s.map(d=>(typeof d=="function"&&(d=je(d,{...this.options,...i})),`${c.keyPrefix}${l}${d}`)):(typeof s=="function"&&(s=je(s,{...this.options,...i})),u=c.keyPrefix?`${c.keyPrefix}${l}${s}`:s),this.t(u,c)};return L(e)?a.lng=e:a.lngs=e,a.ns=t,a.keyPrefix=r,a}t(...e){return this.translator?.translate(...e)}exists(...e){return this.translator?.exists(...e)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e,t={}){if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const r=t.lng||this.resolvedLanguage||this.languages[0],a=this.options?this.options.fallbackLng:!1,s=this.languages[this.languages.length-1];if(r.toLowerCase()==="cimode")return!0;const i=(o,c)=>{const l=this.services.backendConnector.state[`${o}|${c}`];return l===-1||l===0||l===2};if(t.precheck){const o=t.precheck(this,i);if(o!==void 0)return o}return!!(this.hasResourceBundle(r,e)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||i(r,e)&&(!a||i(s,e)))}loadNamespaces(e,t){const r=ce();return this.options.ns?(L(e)&&(e=[e]),e.forEach(a=>{this.options.ns.indexOf(a)<0&&this.options.ns.push(a)}),this.loadResources(a=>{r.resolve(),t&&t(a)}),r):(t&&t(),Promise.resolve())}loadLanguages(e,t){const r=ce();L(e)&&(e=[e]);const a=this.options.preload||[],s=e.filter(i=>a.indexOf(i)<0&&this.services.languageUtils.isSupportedCode(i));return s.length?(this.options.preload=a.concat(s),this.loadResources(i=>{r.resolve(),t&&t(i)}),r):(t&&t(),Promise.resolve())}dir(e){if(e||(e=this.resolvedLanguage||(this.languages?.length>0?this.languages[0]:this.language)),!e)return"rtl";try{const a=new Intl.Locale(e);if(a&&a.getTextInfo){const s=a.getTextInfo();if(s&&s.direction)return s.direction}}catch{}const t=["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"],r=this.services?.languageUtils||new lt(gt());return e.toLowerCase().indexOf("-latn")>1?"ltr":t.indexOf(r.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(e={},t){return new pe(e,t)}cloneInstance(e={},t=he){const r=e.forkResourceStore;r&&delete e.forkResourceStore;const a={...this.options,...e,isClone:!0},s=new pe(a);if((e.debug!==void 0||e.prefix!==void 0)&&(s.logger=s.logger.clone(e)),["store","services","language"].forEach(o=>{s[o]=this[o]}),s.services={...this.services},s.services.utils={hasLoadedNamespace:s.hasLoadedNamespace.bind(s)},r){const o=Object.keys(this.store.data).reduce((c,l)=>(c[l]={...this.store.data[l]},c[l]=Object.keys(c[l]).reduce((u,d)=>(u[d]={...c[l][d]},u),c[l]),c),{});s.store=new st(o,a),s.services.resourceStore=s.store}return s.translator=new be(s.services,a),s.translator.on("*",(o,...c)=>{s.emit(o,...c)}),s.init(a,t),s.translator.options=a,s.translator.backendConnector.services.utils={hasLoadedNamespace:s.hasLoadedNamespace.bind(s)},s}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}const I=pe.createInstance();I.createInstance=pe.createInstance;I.createInstance;I.dir;I.init;I.loadResources;I.reloadResources;I.use;I.changeLanguage;I.getFixedT;I.t;I.exists;I.setDefaultNamespace;I.hasLoadedNamespace;I.loadNamespaces;I.loadLanguages;const{slice:es,forEach:ts}=[];function ns(n){return ts.call(es.call(arguments,1),e=>{if(e)for(const t in e)n[t]===void 0&&(n[t]=e[t])}),n}function rs(n){return typeof n!="string"?!1:[/<\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].some(t=>t.test(n))}const ht=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,as=function(n,e){const r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{path:"/"},a=encodeURIComponent(e);let s=`${n}=${a}`;if(r.maxAge>0){const i=r.maxAge-0;if(Number.isNaN(i))throw new Error("maxAge should be a Number");s+=`; Max-Age=${Math.floor(i)}`}if(r.domain){if(!ht.test(r.domain))throw new TypeError("option domain is invalid");s+=`; Domain=${r.domain}`}if(r.path){if(!ht.test(r.path))throw new TypeError("option path is invalid");s+=`; Path=${r.path}`}if(r.expires){if(typeof r.expires.toUTCString!="function")throw new TypeError("option expires is invalid");s+=`; Expires=${r.expires.toUTCString()}`}if(r.httpOnly&&(s+="; HttpOnly"),r.secure&&(s+="; Secure"),r.sameSite)switch(typeof r.sameSite=="string"?r.sameSite.toLowerCase():r.sameSite){case!0:s+="; SameSite=Strict";break;case"lax":s+="; SameSite=Lax";break;case"strict":s+="; SameSite=Strict";break;case"none":s+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}return r.partitioned&&(s+="; Partitioned"),s},yt={create(n,e,t,r){let a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{path:"/",sameSite:"strict"};t&&(a.expires=new Date,a.expires.setTime(a.expires.getTime()+t*60*1e3)),r&&(a.domain=r),document.cookie=as(n,e,a)},read(n){const e=`${n}=`,t=document.cookie.split(";");for(let r=0;r<t.length;r++){let a=t[r];for(;a.charAt(0)===" ";)a=a.substring(1,a.length);if(a.indexOf(e)===0)return a.substring(e.length,a.length)}return null},remove(n,e){this.create(n,"",-1,e)}};var ss={name:"cookie",lookup(n){let{lookupCookie:e}=n;if(e&&typeof document<"u")return yt.read(e)||void 0},cacheUserLanguage(n,e){let{lookupCookie:t,cookieMinutes:r,cookieDomain:a,cookieOptions:s}=e;t&&typeof document<"u"&&yt.create(t,n,r,a,s)}},is={name:"querystring",lookup(n){let{lookupQuerystring:e}=n,t;if(typeof window<"u"){let{search:r}=window.location;!window.location.search&&window.location.hash?.indexOf("?")>-1&&(r=window.location.hash.substring(window.location.hash.indexOf("?")));const s=r.substring(1).split("&");for(let i=0;i<s.length;i++){const o=s[i].indexOf("=");o>0&&s[i].substring(0,o)===e&&(t=s[i].substring(o+1))}}return t}},os={name:"hash",lookup(n){let{lookupHash:e,lookupFromHashIndex:t}=n,r;if(typeof window<"u"){const{hash:a}=window.location;if(a&&a.length>2){const s=a.substring(1);if(e){const i=s.split("&");for(let o=0;o<i.length;o++){const c=i[o].indexOf("=");c>0&&i[o].substring(0,c)===e&&(r=i[o].substring(c+1))}}if(r)return r;if(!r&&t>-1){const i=a.match(/\/([a-zA-Z-]*)/g);return Array.isArray(i)?i[typeof t=="number"?t:0]?.replace("/",""):void 0}}}return r}};let re=null;const mt=()=>{if(re!==null)return re;try{if(re=typeof window<"u"&&window.localStorage!==null,!re)return!1;const n="i18next.translate.boo";window.localStorage.setItem(n,"foo"),window.localStorage.removeItem(n)}catch{re=!1}return re};var ls={name:"localStorage",lookup(n){let{lookupLocalStorage:e}=n;if(e&&mt())return window.localStorage.getItem(e)||void 0},cacheUserLanguage(n,e){let{lookupLocalStorage:t}=e;t&&mt()&&window.localStorage.setItem(t,n)}};let ae=null;const bt=()=>{if(ae!==null)return ae;try{if(ae=typeof window<"u"&&window.sessionStorage!==null,!ae)return!1;const n="i18next.translate.boo";window.sessionStorage.setItem(n,"foo"),window.sessionStorage.removeItem(n)}catch{ae=!1}return ae};var cs={name:"sessionStorage",lookup(n){let{lookupSessionStorage:e}=n;if(e&&bt())return window.sessionStorage.getItem(e)||void 0},cacheUserLanguage(n,e){let{lookupSessionStorage:t}=e;t&&bt()&&window.sessionStorage.setItem(t,n)}},us={name:"navigator",lookup(n){const e=[];if(typeof navigator<"u"){const{languages:t,userLanguage:r,language:a}=navigator;if(t)for(let s=0;s<t.length;s++)e.push(t[s]);r&&e.push(r),a&&e.push(a)}return e.length>0?e:void 0}},ds={name:"htmlTag",lookup(n){let{htmlTag:e}=n,t;const r=e||(typeof document<"u"?document.documentElement:null);return r&&typeof r.getAttribute=="function"&&(t=r.getAttribute("lang")),t}},ps={name:"path",lookup(n){let{lookupFromPathIndex:e}=n;if(typeof window>"u")return;const t=window.location.pathname.match(/\/([a-zA-Z-]*)/g);return Array.isArray(t)?t[typeof e=="number"?e:0]?.replace("/",""):void 0}},gs={name:"subdomain",lookup(n){let{lookupFromSubdomainIndex:e}=n;const t=typeof e=="number"?e+1:1,r=typeof window<"u"&&window.location?.hostname?.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i);if(r)return r[t]}};let Ht=!1;try{document.cookie,Ht=!0}catch{}const qt=["querystring","cookie","localStorage","sessionStorage","navigator","htmlTag"];Ht||qt.splice(1,1);const fs=()=>({order:qt,lookupQuerystring:"lng",lookupCookie:"i18next",lookupLocalStorage:"i18nextLng",lookupSessionStorage:"i18nextLng",caches:["localStorage"],excludeCacheFor:["cimode"],convertDetectedLanguage:n=>n});class Kt{constructor(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.type="languageDetector",this.detectors={},this.init(e,t)}init(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{languageUtils:{}},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=e,this.options=ns(t,this.options||{},fs()),typeof this.options.convertDetectedLanguage=="string"&&this.options.convertDetectedLanguage.indexOf("15897")>-1&&(this.options.convertDetectedLanguage=a=>a.replace("-","_")),this.options.lookupFromUrlIndex&&(this.options.lookupFromPathIndex=this.options.lookupFromUrlIndex),this.i18nOptions=r,this.addDetector(ss),this.addDetector(is),this.addDetector(ls),this.addDetector(cs),this.addDetector(us),this.addDetector(ds),this.addDetector(ps),this.addDetector(gs),this.addDetector(os)}addDetector(e){return this.detectors[e.name]=e,this}detect(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.options.order,t=[];return e.forEach(r=>{if(this.detectors[r]){let a=this.detectors[r].lookup(this.options);a&&typeof a=="string"&&(a=[a]),a&&(t=t.concat(a))}}),t=t.filter(r=>r!=null&&!rs(r)).map(r=>this.options.convertDetectedLanguage(r)),this.services&&this.services.languageUtils&&this.services.languageUtils.getBestMatchFromCodes?t:t.length>0?t[0]:null}cacheUserLanguage(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.options.caches;t&&(this.options.excludeCacheFor&&this.options.excludeCacheFor.indexOf(e)>-1||t.forEach(r=>{this.detectors[r]&&this.detectors[r].cacheUserLanguage(e,this.options)}))}}Kt.type="languageDetector";const Wt={apiBaseUrl:"https://api.nemme.io",debug:!1},hs="Previous",ys="Next",ms="Done",bs="Submit",xs={Previous:hs,Next:ys,Done:ms,Submit:bs,"Type your answer here":"Type your answer here","Max {{maxCharacters}} characters":"Max {{maxCharacters}} characters"},ws={};Aa({locale:Ca});I.use(Kt).use(gn).init({debug:Wt.debug,fallbackLng:"en",interpolation:{escapeValue:!1},resources:{en:{translation:xs},nb:{tranlation:ws}}});const xt={debug:0,info:1,warn:2,error:3};class Be{prefix;enabled;level;constructor(e={}){this.prefix=e.prefix||"Nemme SDK",this.enabled=e.enabled!==void 0?e.enabled:!0,this.level=e.level||"info"}shouldLog(e){return this.enabled&&xt[e]>=xt[this.level]}formatMessage(e){return`[${this.prefix}] ${e}`}debug(e,...t){this.shouldLog("debug")&&console.debug(this.formatMessage(e),...t)}info(e,...t){this.shouldLog("info")&&console.info(this.formatMessage(e),...t)}warn(e,...t){this.shouldLog("warn")&&console.warn(this.formatMessage(e),...t)}error(e,...t){this.shouldLog("error")&&console.error(this.formatMessage(e),...t)}child(e){return new Be({prefix:`${this.prefix}:${e}`,enabled:this.enabled,level:this.level})}configure(e){e.prefix!==void 0&&(this.prefix=e.prefix),e.enabled!==void 0&&(this.enabled=e.enabled),e.level!==void 0&&(this.level=e.level)}}const Zt=new Be,wt=Zt.child("network"),vs=3e4,ks=(n,e)=>{const t=new URL(n,Wt.apiBaseUrl);return e&&Object.entries(e).forEach(([r,a])=>{a!=null&&t.searchParams.append(r,String(a))}),t.toString()},Y={async request(n,e={}){const{method:t="GET",headers:r={},body:a,params:s,timeout:i=vs}=e,o=ks(n,s),c={"Content-Type":"application/json",Accept:"application/json",...r},l={method:t,headers:c,body:a?JSON.stringify(a):void 0},u=new AbortController,d=setTimeout(()=>u.abort(),i);l.signal=u.signal;try{const h=await fetch(o,l);let y;const p=h.headers.get("content-type");if(p&&p.includes("application/json"))y=await h.json();else{const f=await h.text();try{y=JSON.parse(f)}catch{y=f}}const g={data:y,status:h.status,statusText:h.statusText,headers:h.headers,ok:h.ok};if(h.ok)g.ok=!0;else{const f=`Request failed with status ${h.status}: ${h.statusText}`;wt.error(f,{url:o,method:t,status:h.status,data:g.data}),g.ok=!1,g.error={message:f,details:g.data}}return g}catch(h){let y="Network request failed",p={};return h instanceof DOMException&&h.name==="AbortError"?(y=`Request timeout after ${i}ms`,p={timeout:i,url:o}):p={message:h instanceof Error?h.message:String(h),url:o,method:t},wt.error(y,p),{data:{},status:0,statusText:y,headers:new Headers,ok:!1,error:{message:y,details:p}}}finally{clearTimeout(d)}},async get(n,e={}){return this.request(n,{...e,method:"GET"})},async post(n,e,t={}){return this.request(n,{...t,method:"POST",body:e})},async put(n,e,t={}){return this.request(n,{...t,method:"PUT",body:e})},async patch(n,e,t={}){return this.request(n,{...t,method:"PATCH",body:e})},async delete(n,e={}){return this.request(n,{...e,method:"DELETE"})}};class Ss{logger;headers;config;constructor(e,t,r={}){this.logger=e,this.headers=t,this.config=r}async fetchAndDisplayForm(e,t,r){this.logger.debug(`Fetching form config for: ${e}`);try{const a=await Y.get(`/external/forms/${e}`,{headers:this.headers});a.ok&&a.data?(this.logger.info(`Form config loaded for: ${e}`,a.data),this.displayForm(a.data,t,r)):this.logger.warn(`No form config found for: ${e}`)}catch(a){this.logger.error(`Failed to fetch form config for: ${e}`,a)}}displayForm(e,t,r){const a=document.createElement("div");a.id="nm",document.body.appendChild(a);const s=Qt.createRoot(a),i=F.createElement(mn,{i18n:I},F.createElement(vn,{form:e,onDismiss:async o=>{await t(),s.unmount(),a.remove(),this.logger.info("Form dismissed",o)},onComplete:async o=>{await r(),await this.postFormResponse(e,o),s.unmount(),a.remove(),this.logger.info("Form completed",o)},zIndex:this.config.zIndex}));s.render(i)}async postFormResponse(e,t){this.logger.info("Posting form response",t);const r=await Y.post(`/external/forms/${e.slug}`,t,{headers:this.headers});this.logger.info("Form response posted",r.data)}}class Es{logger;headers;formManager;deliveries=[];constructor(e,t,r){this.logger=e,this.headers=t,this.formManager=new Ss(e,t,r)}async loadDeliveries(){try{this.logger.debug("Loading deliveries");const e=await Y.get("/external/deliveries",{headers:this.headers});this.deliveries=e.data,this.logger.info(`Loaded ${this.deliveries.length} deliveries`)}catch(e){this.logger.error("Failed to load deliveries",e),this.deliveries=[]}}async evaluateDeliveryTriggers(e){for(const t of this.deliveries)for(const r of t.triggers)if(this.shouldTriggerDelivery(r,e)){if(!await this.isDeliveryValid(t)){this.logger.debug(`Delivery ${t.id} is not valid, skipping`);continue}await this.executeDelivery(t,r);return}}shouldTriggerDelivery(e,t){if(this.hasActiveDelivery())return!1;switch(e.triggerType){case"page_url":return e.urlPattern?this.matchesUrlPattern(t.url,e.urlPattern):!0;case"custom_event":return e.eventKey?t.eventKey===e.eventKey:!1;default:return!1}}hasActiveDelivery(){return document.getElementById("nm")!==null}async executeDelivery(e,t){if(e.productType==="FRM"){this.logger.debug(`Triggering form delivery: ${e.productSlug}`,{triggerType:t.triggerType,urlPattern:t.urlPattern,eventKey:t.eventKey});try{const a=await this.createDeliveryResponse(e);await this.formManager.fetchAndDisplayForm(e.productSlug,async()=>{this.logger.debug(`Form for delivery: ${e.productSlug} was cancelled`),a&&await this.updateDeliveryResponse(e.id,a.id,!0)},async()=>{this.logger.debug(`Form for delivery: ${e.productSlug} was completed`),a&&await this.updateDeliveryResponse(e.id,a.id,!1,!0)})}catch(a){this.logger.error(`Failed to load form for delivery: ${e.productSlug}`,a)}}}matchesUrlPattern(e,t){let r;try{r=new URL(e).pathname}catch{r=e.startsWith("/")?e:`/${e}`}const a=u=>{if(!u)return"/";let d=u.startsWith("/")?u:`/${u}`;return d.length>1&&d.endsWith("/")&&(d=d.slice(0,-1)),d},s=a(r),i=a(t),o=i.replace(/\*\*/g,"§DOUBLE_STAR§").replace(/\*/g,"[^/]*").replace(/§DOUBLE_STAR§/g,".*").replace(/\?/g,"."),l=new RegExp(`^${o}$`).test(s);return this.logger.debug("URL pattern matching",{originalUrl:e,pathname:r,normalizedPathname:s,pattern:t,normalizedPattern:i,regexPattern:o,matches:l}),l}async createDeliveryResponse(e){try{return(await Y.post(`/external/deliveries/${e.id}/responses`,{},{headers:this.headers})).data}catch(t){this.logger.error(`Failed to create delivery response for delivery: ${e.id}`,t)}}async updateDeliveryResponse(e,t,r=!1,a=!1){try{await Y.patch(`/external/deliveries/${e}/responses/${t}`,{wasDismissed:r,wasCompleted:a},{headers:this.headers})}catch(s){this.logger.error(`Failed to update delivery response: ${t} for delivery: ${e}`,s)}}async isDeliveryValid(e){try{return(await Y.get(`/external/deliveries/${e.id}/should-deliver`,{headers:this.headers})).data}catch(t){return this.logger.error(`Failed to get delivery should-deliver for delivery: ${e.id}`,t),!1}}}class Ls{logger;headers;sessionId;eventDefinitions=[];onPageView;onEvent;backlog=[];flushTimeout=null;batchConfig={enabled:!0,size:10,delayMs:1e4,sendOnUnload:!0};originalHistoryMethods=null;EVENT_PAGE_VIEW="page_view";constructor({logger:e,headers:t,sessionId:r,eventDefinitions:a,batchConfig:s,onPageView:i,onEvent:o}){this.logger=e,this.headers=t,this.sessionId=r,this.eventDefinitions=a,this.onPageView=i,this.onEvent=o,this.flushEvents=this.flushEvents.bind(this),this.handlePopState=this.handlePopState.bind(this),this.handleVisibilityChange=this.handleVisibilityChange.bind(this),this.setupBatching(s)}setupBatching(e){typeof e=="boolean"?this.batchConfig.enabled=e:e&&(this.batchConfig={...this.batchConfig,...e}),this.batchConfig.enabled&&this.batchConfig.sendOnUnload&&typeof window<"u"&&(window.addEventListener("beforeunload",this.flushEvents),window.addEventListener("pagehide",this.flushEvents))}async setupPageViewTracking(){if(typeof window>"u")return;this.originalHistoryMethods={pushState:history.pushState,replaceState:history.replaceState};const e=history.pushState;history.pushState=async(...r)=>{e.apply(history,r),await this.trackPageView()};const t=history.replaceState;history.replaceState=async(...r)=>{t.apply(history,r),await this.trackPageView()},window.addEventListener("popstate",this.handlePopState),document.addEventListener("visibilitychange",this.handleVisibilityChange)}async track(e){if(!this.sessionId){this.logger.warn("Tracking manager not initialized, cannot track event");return}const{eventKey:t,data:r={}}=e;this.logger.debug("Tracking event",{eventKey:t,data:r});const a=window.location.href,s={sessionId:this.sessionId,eventKey:t,data:r||{},timestamp:new Date().toISOString(),page:a};this.validateEvent(s),this.batchConfig.enabled?(this.backlog.push(s),this.scheduleFlush()):await this.sendEvents([s]),t===this.EVENT_PAGE_VIEW?this.onPageView?.(window.location.href):this.onEvent?.(s,a)}async trackPageView(){typeof window>"u"||await this.track({eventKey:this.EVENT_PAGE_VIEW,data:{title:document.title}})}async flush(){return this.flushEvents()}destroy(){this.originalHistoryMethods&&(history.pushState=this.originalHistoryMethods.pushState,history.replaceState=this.originalHistoryMethods.replaceState,this.originalHistoryMethods=null),typeof window<"u"&&(window.removeEventListener("popstate",this.handlePopState),document.removeEventListener("visibilitychange",this.handleVisibilityChange),window.removeEventListener("beforeunload",this.flushEvents),window.removeEventListener("pagehide",this.flushEvents)),this.flushTimeout&&(clearTimeout(this.flushTimeout),this.flushTimeout=null)}validateEvent(e){if(e.eventKey===this.EVENT_PAGE_VIEW)return;const t=this.eventDefinitions.find(s=>s.eventKey===e.eventKey);if(!t){this.logger.warn(`Event ${e.eventKey} is not registered`);return}const r=t.properties,a=e.data;if(a)for(const s of Object.keys(a)){const i=a[s],o=r.find(c=>c.name===s);if(!o){this.logger.warn(`Property ${s} is not registered for event ${e.eventKey}`);return}o.type==="string"&&typeof i!="string"&&this.logger.warn(`Property ${o.name} has type ${o.type} but value is of type ${typeof i}`),o.type==="boolean"&&typeof i!="boolean"&&this.logger.warn(`Property ${o.name} has type ${o.type} but value is of type ${typeof i}`),o.type==="number"&&typeof i!="number"&&this.logger.warn(`Property ${o.name} has type ${o.type} but value is of type ${typeof i}`)}}async handlePopState(){await this.trackPageView()}async handleVisibilityChange(){document.visibilityState==="visible"&&await this.trackPageView()}scheduleFlush(){if(this.backlog.length>=this.batchConfig.size){this.flushEvents();return}this.flushTimeout||(this.flushTimeout=window.setTimeout(()=>{this.flushEvents()},this.batchConfig.delayMs))}async flushEvents(){if(this.flushTimeout&&(clearTimeout(this.flushTimeout),this.flushTimeout=null),this.backlog.length===0)return;const e=[...this.backlog];this.backlog=[];try{await this.sendEvents(e)}catch(t){this.backlog.unshift(...e),this.logger.error("Failed to send batched events",t)}}async sendEvents(e){if(e.length!==0)if(e.length===1){const t=e[0];await Y.post("/external/trackings/track",t,{headers:this.headers})}else await Y.post("/external/trackings/batch",e,{headers:this.headers})}}class Ee{clientKey;userIdentifier;initialized=!1;clientLogger=Zt.child("client");headers={};formConfig;constructor(e){this.clientKey=e}trackingManager;async init({userIdentifier:e,debug:t=!1,batch:r,formConfig:a,deactivate:s=!1}){if(s)return this.clientLogger.info("Nemme client deactivated and will stop initialization."),this.initialized=!0,this.clientLogger.configure({enabled:!1}),this;if(!e)throw new Error("userIdentifier is required parameter");this.userIdentifier=e,this.clientLogger.configure({enabled:t,level:t?"debug":"info"}),this.headers={"X-Client-Key":this.clientKey,"X-User-Id":this.userIdentifier},this.formConfig=a;try{const i=await this.initializeSession();await this.initializeManagers(i,r),this.initialized=!0,this.clientLogger.info("Nemme client initialized",{clientKey:this.clientKey,userIdentifier:this.userIdentifier})}catch(i){this.clientLogger.error("Error during initialization:",i)}return this}async flush(){return this.trackingManager?.flush()}destroy(){this.trackingManager?.destroy()}async track(e){if(!this.initialized||!this.trackingManager){this.clientLogger.warn("Nemme client not initialized, some operations may fail");return}return this.trackingManager.track(e)}async initializeSession(){try{const e=await Y.post("/external/trackings/initialize",{},{headers:this.headers});if(!e.ok)throw new Error(e.error?.message||"Request for initialising session failed");return e.data}catch(e){throw this.clientLogger.error("Error during initialization",e),e}}async initializeManagers(e,t){const r=new Es(this.clientLogger,this.headers,this.formConfig),a=new Ls({logger:this.clientLogger,headers:this.headers,sessionId:e.sessionId,eventDefinitions:e.eventDefinitions,batchConfig:t,onPageView:async s=>{await r.evaluateDeliveryTriggers({url:s})},onEvent:async(s,i)=>{await r.evaluateDeliveryTriggers({eventKey:s.eventKey,eventData:s.data,url:i})}});await r.loadDeliveries(),typeof window<"u"&&(await a.setupPageViewTracking(),await a.trackPageView(),await a.flush()),this.trackingManager=a}}const Gt=n=>new Ee(n),Yt=F.createContext(void 0),Fs=({clientKey:n,config:e,children:t})=>{const[r,a]=F.useState(null),[s,i]=F.useState(!1),[o,c]=F.useState(null);F.useEffect(()=>{let u=null,d=!1;const h=async()=>{try{const y=new Ee(n);if(await y.init(e),d){y.destroy();return}u=y,a(y),i(!0),c(null)}catch(y){d||(c(y instanceof Error?y.message:"Failed to initialize Nemme client"),i(!1))}};return a(null),i(!1),c(null),h(),()=>{d=!0,u&&u.destroy()}},[n,e]);const l={client:r,isInitialized:s,error:o};return k.jsx(Yt.Provider,{value:l,children:t})},Jt=()=>{const n=F.useContext(Yt);if(n===void 0)throw new Error("useNemmeContext must be used within a NemmeProvider");return n},As=()=>{const{client:n,isInitialized:e,error:t}=Jt(),r=F.useCallback(async s=>{if(!n||!e){console.warn("Nemme client not initialized");return}return n.track(s)},[n,e]),a=F.useCallback(async()=>{if(!n||!e){console.warn("Nemme client not initialized");return}return n.flush()},[n,e]);return{track:r,flush:a,isInitialized:e,error:t,client:n}},Os=n=>Gt(n),Ns=async n=>{const{clientKey:e,...t}=n;return await Gt(e).init(t)},ze=Object.assign(n=>Os(n),{NemmeClient:Ee,init:Ns});typeof window<"u"&&(window.NemmeSDK=ze);exports.NemmeClient=Ee;exports.NemmeProvider=Fs;exports.NemmeSDK=ze;exports.default=ze;exports.useNemme=As;exports.useNemmeContext=Jt;
|
|
39
39
|
//# sourceMappingURL=index.cjs.map
|